dt-bindings: dma: ingenic: Support #dma-cells = <3>
authorPaul Cercueil <paul@crapouillou.net>
Mon, 6 Dec 2021 17:42:55 +0000 (17:42 +0000)
committerVinod Koul <vkoul@kernel.org>
Fri, 17 Dec 2021 16:09:27 +0000 (21:39 +0530)
Extend the binding to support specifying a different request type for
each direction.

Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Link: https://lore.kernel.org/r/20211206174259.68133-3-paul@crapouillou.net
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Documentation/devicetree/bindings/dma/ingenic,dma.yaml

index 2607b403277e6a9bb316dd15e5539c1a9c8a3bd5..3b0b3b919af8c2f2b42e5ca0774891baba42cce2 100644 (file)
@@ -44,13 +44,19 @@ properties:
     maxItems: 1
 
   "#dma-cells":
-    const: 2
+    enum: [2, 3]
     description: >
       DMA clients must use the format described in dma.txt, giving a phandle
-      to the DMA controller plus the following 2 integer cells:
-
-      - Request type: The DMA request type for transfers to/from the
-        device on the allocated channel, as defined in the SoC documentation.
+      to the DMA controller plus the following integer cells:
+
+      - Request type: The DMA request type specifies the device endpoint that
+        will be the source or destination of the DMA transfer.
+        If "#dma-cells" is 2, the request type is a single cell, and the
+        direction will be unidirectional (either RX or TX but not both).
+        If "#dma-cells" is 3, the request type has two cells; the first
+        one corresponds to the host to device direction (TX), the second one
+        corresponds to the device to host direction (RX). The DMA channel is
+        then bidirectional.
 
       - Channel: If set to 0xffffffff, any available channel will be allocated
         for the client. Otherwise, the exact channel specified will be used.