lkml.org 
[lkml]   [2020]   [Jan]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH 1/2] dt-bindings: dmaengine: Add UniPhier external DMA controller bindings
On Wed, Dec 18, 2019 at 09:56:59AM +0900, Kunihiko Hayashi wrote:
> Add external DMA controller bindings implemented in Socionext UniPhier
> SoCs.
>
> Signed-off-by: Kunihiko Hayashi <hayashi.kunihiko@socionext.com>
> ---
> .../devicetree/bindings/dma/uniphier-xdmac.txt | 86 ++++++++++++++++++++++
> 1 file changed, 86 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/dma/uniphier-xdmac.txt

Please make this a DT schema. See
Documentation/devicetree/writing-schema.rst.

>
> diff --git a/Documentation/devicetree/bindings/dma/uniphier-xdmac.txt b/Documentation/devicetree/bindings/dma/uniphier-xdmac.txt
> new file mode 100644
> index 00000000..4e3927f
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/uniphier-xdmac.txt
> @@ -0,0 +1,86 @@
> +Socionext UniPhier external DMA controller bindings
> +
> +This describes the devicetree bindings for an external DMA engine to perform
> +memory-to-memory or peripheral-to-memory data transfer, implemented in
> +Socionext UniPhier SoCs.
> +
> +* DMA controller
> +
> +Required properties:
> +- compatible: Should be "socionext,uniphier-xdmac".
> +- reg: Specifies offset and length of the register set for the device.
> +- interrupts: An interrupt specifier associated with the DMA controller.
> +- #dma-cells: Must be <2>. The first cell represents the channel index.
> + The second cell represents the factor for transfer request.
> + This is mentioned in DMA client section.
> +- dma-channels : Number of DMA channels supported. Should be 16.

If always 16, then why do you need this?

> +
> +Example:
> + xdmac: dma-controller@5fc10000 {
> + compatible = "socionext,uniphier-xdmac";
> + reg = <0x5fc10000 0x1000>, <0x5fc20000 0x800>;
> + interrupts = <0 188 4>;
> + #dma-cells = <2>;
> + dma-channels = <16>;
> + };
> +
> +* DMA client
> +
> +Required properties:
> +- dmas: A list of DMA channel requests.
> +- dma-names: Names of the requested channels corresponding to dmas.
> +
> +DMA clients must use the format described in the dma.txt file, using a two cell
> +specifier for each channel.

No need to redefine the client binding here. Just need the cell format
as below.

> +
> +Each DMA request consists of 3 cells:
> + 1. A phandle pointing to the DMA controller
> + 2. Channel index
> + 3. Transfer request factor number, If no transfer factor, use 0.
> + The number is SoC-specific, and this should be specified with relation
> + to the device to use the DMA controller. The list of the factor number
> + can be found below.
> +
> + 0x0 none
> + 0x8 UART ch0 Rx
> + 0x9 UART ch0 Tx
> + 0xa UART ch1 Rx
> + 0xb UART ch1 Tx
> + 0xc UART ch2 Rx
> + 0xd UART ch2 Tx
> + 0xe UART ch3 Rx
> + 0xf UART ch3 Tx
> + 0x14 SCSSI ch1 Rx
> + 0x15 SCSSI ch1 Tx
> + 0x16 SCSSI ch0 Rx
> + 0x17 SCSSI ch0 Tx
> + 0x18 SCSSI ch2 Rx
> + 0x19 SCSSI ch2 Tx
> + 0x1a SCSSI ch3 Rx
> + 0x1b SCSSI ch3 Tx
> + 0x21 I2C ch0 Rx
> + 0x22 I2C ch0 Tx
> + 0x23 I2C ch1 Rx
> + 0x24 I2C ch1 Tx
> + 0x25 I2C ch2 Rx
> + 0x26 I2C ch2 Tx
> + 0x27 I2C ch3 Rx
> + 0x28 I2C ch3 Tx
> + 0x29 I2C ch4 Rx
> + 0x2a I2C ch4 Tx
> + 0x2b I2C ch5 Rx
> + 0x2c I2C ch5 Tx
> + 0x2d I2C ch6 Rx
> + 0x2e I2C ch6 Tx
> +
> +Example:
> + spi3: spi@54006300 {
> + compatible = "socionext,uniphier-scssi";
> + reg = <0x54006300 0x100>;
> + interrupts = <0 39 4>;
> + clocks = <&peri_clk 14>;
> + resets = <&peri_rst 14>;
> +
> + dmas = <&xdmac 0 0x1a>, <&xdmac 1 0x1b>;
> + dma-names = "rx", "tx";
> + };
> --
> 2.7.4
>

\
 
 \ /
  Last update: 2020-01-08 04:56    [W:0.149 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site