[PATCH v10] dmaengine: Add MOXA ART DMA engine driver

Mark Rutland mark.rutland at arm.com
Mon Oct 7 11:12:13 EDT 2013


[adding devicetree]

On Mon, Oct 07, 2013 at 03:10:34PM +0100, Jonas Jensen wrote:
> The MOXA ART SoC has a DMA controller capable of offloading expensive
> memory operations, such as large copies. This patch adds support for
> the controller including four channels. Two of these are used to
> handle MMC copy on the UC-7112-LX hardware. The remaining two can be
> used in a future audio driver or client application.
> 
> Signed-off-by: Jonas Jensen <jonas.jensen at gmail.com>
> ---
> 
> Notes:
>     Changes since v9:
> 
>     1. reorder probe path, also move dma_async_device_register() to happen after devm_request_irq()
> 
>     Applies to next-20130927
> 
>  .../devicetree/bindings/dma/moxa,moxart-dma.txt    |  19 +
>  drivers/dma/Kconfig                                |   7 +
>  drivers/dma/Makefile                               |   1 +
>  drivers/dma/moxart-dma.c                           | 651 +++++++++++++++++++++
>  4 files changed, 678 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/dma/moxa,moxart-dma.txt
>  create mode 100644 drivers/dma/moxart-dma.c
> 
> diff --git a/Documentation/devicetree/bindings/dma/moxa,moxart-dma.txt b/Documentation/devicetree/bindings/dma/moxa,moxart-dma.txt
> new file mode 100644
> index 0000000..79facce
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/moxa,moxart-dma.txt
> @@ -0,0 +1,19 @@
> +MOXA ART DMA Controller
> +
> +See dma.txt first
> +
> +Required properties:
> +
> +- compatible : Must be "moxa,moxart-dma"

Sorry I didn't notice this previously, but "moxa" isn't in
Documentation/devicetree/bindings/vendor-prefixes.txt (despite several
bindings using it). Could you cook up a separate patch to add an entry
for Moxa, please?

Also, given the SoC is called "ART" it's a shame that we're calling this
"moxa,moxart-dma" rather than "moxa,art-dma". We already have precedent
for "moxart" in bindings though, so changing that's likely to lead to
more problems.

> +- reg :                Should contain registers location and length
> +- interrupts : Should contain the interrupt number

Sorry for yet more pendantry, but could we instead have:

 - interrupts: Should contain an interrupt-specifier for the sole
               interrupt generated by the device.

> +- #dma-cells : Should be 1, a single cell holding a line request number
> +
> +Example:
> +
> +       dma: dma at 90500000 {
> +               compatible = "moxa,moxart-dma";
> +               reg = <0x90500080 0x40>;
> +               interrupts = <24 0>;
> +               #dma-cells = <1>;
> +       };

Otherwise I think the binding looks OK.

Thanks,
Mark



More information about the linux-arm-kernel mailing list