mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2] dt-bindings: dma: Convert hisilicon,k3-dma-1.0 to DT schema
@ 2026-09-28 12:44 Rob Herring (Arm)
  2026-09-30  7:22 ` Wei Xu
  2026-09-30 19:30 ` Frank Li
  0 siblings, 2 replies; 3+ messages in thread
From: Rob Herring (Arm) @ 2026-09-28 12:44 UTC (permalink / raw)
  To: Vinod Koul, Frank Li, Krzysztof Kozlowski, Conor Dooley, Wei Xu
  Cc: dmaengine, devicetree, linux-kernel

Convert the hisilicon,k3-dma-1.0 binding to DT schema format.

Add dma-channel-mask, dma-no-cci, dma-type and interrupt-names
properties which were not documented.

The "hisilicon,hisi-pcm-asp-dma-1.0" doesn't have clocks, so make it
optional.

Assisted-by: LLM
Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
---
v2:
 - Fix example node name to 'dma-controller'
---
 .../bindings/dma/hisilicon,k3-dma-1.0.yaml    | 87 +++++++++++++++++++
 .../devicetree/bindings/dma/k3dma.txt         | 47 ----------
 2 files changed, 87 insertions(+), 47 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/dma/hisilicon,k3-dma-1.0.yaml
 delete mode 100644 Documentation/devicetree/bindings/dma/k3dma.txt

diff --git a/Documentation/devicetree/bindings/dma/hisilicon,k3-dma-1.0.yaml b/Documentation/devicetree/bindings/dma/hisilicon,k3-dma-1.0.yaml
new file mode 100644
index 000000000000..e60f2a572272
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/hisilicon,k3-dma-1.0.yaml
@@ -0,0 +1,87 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/hisilicon,k3-dma-1.0.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Hisilicon K3 DMA controller
+
+maintainers:
+  - Wei Xu <xuwei5@hisilicon.com>
+
+properties:
+  compatible:
+    items:
+      - enum:
+          - hisilicon,k3-dma-1.0
+          - hisilicon,hisi-pcm-asp-dma-1.0
+
+  reg:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  '#dma-cells':
+    const: 1
+
+  dma-channels:
+    description: Number of physical DMA channels supported.
+    maximum: 32
+
+  dma-requests:
+    description: Number of virtual DMA request lines supported.
+    maximum: 32
+
+  dma-channel-mask:
+    description: Bitmask of usable DMA channels.
+
+  dma-no-cci:
+    type: boolean
+    description: DMA is not coherent with the CCI.
+
+  dma-type:
+    $ref: /schemas/types.yaml#/definitions/string
+    description: SoC-specific DMA type name.
+    enum:
+      - hi3660_dma
+      - hi6220_dma
+
+  interrupt-names:
+    maxItems: 1
+
+required:
+  - compatible
+  - reg
+  - interrupts
+  - '#dma-cells'
+  - dma-channels
+  - dma-requests
+
+allOf:
+  - $ref: dma-controller.yaml#
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: hisilicon,k3-dma-1.0
+    then:
+      required:
+        - clocks
+
+additionalProperties: false
+
+examples:
+  - |
+    dma-controller@fcd02000 {
+        compatible = "hisilicon,k3-dma-1.0";
+        reg = <0xfcd02000 0x1000>;
+        #dma-cells = <1>;
+        dma-channels = <16>;
+        dma-requests = <27>;
+        interrupts = <0 12 4>;
+        clocks = <&pclk>;
+    };
diff --git a/Documentation/devicetree/bindings/dma/k3dma.txt b/Documentation/devicetree/bindings/dma/k3dma.txt
deleted file mode 100644
index 10a2f15b08a3..000000000000
--- a/Documentation/devicetree/bindings/dma/k3dma.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-* Hisilicon K3 DMA controller
-
-See dma.txt first
-
-Required properties:
-- compatible: Must be one of
--              "hisilicon,k3-dma-1.0"
--              "hisilicon,hisi-pcm-asp-dma-1.0"
-- reg: Should contain DMA registers location and length.
-- interrupts: Should contain one interrupt shared by all channel
-- #dma-cells: see dma.txt, should be 1, para number
-- dma-channels: physical channels supported
-- dma-requests: virtual channels supported, each virtual channel
-		have specific request line
-- clocks: clock required
-
-Example:
-
-Controller:
-		dma0: dma@fcd02000 {
-			compatible = "hisilicon,k3-dma-1.0";
-			reg = <0xfcd02000 0x1000>;
-			#dma-cells = <1>;
-			dma-channels = <16>;
-			dma-requests = <27>;
-			interrupts = <0 12 4>;
-			clocks = <&pclk>;
-		};
-
-Client:
-Use specific request line passing from dmax
-For example, i2c0 read channel request line is 18, while write channel use 19
-
-		i2c0: i2c@fcb08000 {
-			compatible = "snps,designware-i2c";
-			dmas =	<&dma0 18          /* read channel */
-				 &dma0 19>;        /* write channel */
-			dma-names = "rx", "tx";
-		};
-
-		i2c1: i2c@fcb09000 {
-			compatible = "snps,designware-i2c";
-			dmas =	<&dma0 20          /* read channel */
-				 &dma0 21>;        /* write channel */
-			dma-names = "rx", "tx";
-		};
-
-- 
2.53.0


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] dt-bindings: dma: Convert hisilicon,k3-dma-1.0 to DT schema
  2026-09-28 12:44 [PATCH v2] dt-bindings: dma: Convert hisilicon,k3-dma-1.0 to DT schema Rob Herring (Arm)
@ 2026-09-30  7:22 ` Wei Xu
  2026-09-30 19:30 ` Frank Li
  1 sibling, 0 replies; 3+ messages in thread
From: Wei Xu @ 2026-09-30  7:22 UTC (permalink / raw)
  To: Rob Herring (Arm),
	Vinod Koul, Frank Li, Krzysztof Kozlowski, Conor Dooley
  Cc: dmaengine, devicetree, linux-kernel

Hi Rob,

On 2026/9/28 20:44, Rob Herring (Arm) wrote:
> Convert the hisilicon,k3-dma-1.0 binding to DT schema format.
> 
> Add dma-channel-mask, dma-no-cci, dma-type and interrupt-names
> properties which were not documented.
> 
> The "hisilicon,hisi-pcm-asp-dma-1.0" doesn't have clocks, so make it
> optional.
> 
> Assisted-by: LLM
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>

Acked-by: Wei Xu <xuwei5@hisilicon.com>

Thanks!

Best Regards,
Wei

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH v2] dt-bindings: dma: Convert hisilicon,k3-dma-1.0 to DT schema
  2026-09-28 12:44 [PATCH v2] dt-bindings: dma: Convert hisilicon,k3-dma-1.0 to DT schema Rob Herring (Arm)
  2026-09-30  7:22 ` Wei Xu
@ 2026-09-30 19:30 ` Frank Li
  1 sibling, 0 replies; 3+ messages in thread
From: Frank Li @ 2026-09-30 19:30 UTC (permalink / raw)
  To: Rob Herring (Arm)
  Cc: Vinod Koul, Frank Li, Krzysztof Kozlowski, Conor Dooley, Wei Xu,
	dmaengine, devicetree, linux-kernel

On Mon, Sep 28, 2026 at 07:44:46AM -0500, Rob Herring (Arm) wrote:
> Convert the hisilicon,k3-dma-1.0 binding to DT schema format.
>
> Add dma-channel-mask, dma-no-cci, dma-type and interrupt-names
> properties which were not documented.
>
> The "hisilicon,hisi-pcm-asp-dma-1.0" doesn't have clocks, so make it
> optional.
>
> Assisted-by: LLM
> Signed-off-by: Rob Herring (Arm) <robh@kernel.org>
> ---
> v2:
>  - Fix example node name to 'dma-controller'
> ---
>  .../bindings/dma/hisilicon,k3-dma-1.0.yaml    | 87 +++++++++++++++++++
>  .../devicetree/bindings/dma/k3dma.txt         | 47 ----------
>  2 files changed, 87 insertions(+), 47 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/dma/hisilicon,k3-dma-1.0.yaml
>  delete mode 100644 Documentation/devicetree/bindings/dma/k3dma.txt
>
> diff --git a/Documentation/devicetree/bindings/dma/hisilicon,k3-dma-1.0.yaml b/Documentation/devicetree/bindings/dma/hisilicon,k3-dma-1.0.yaml
> new file mode 100644
> index 000000000000..e60f2a572272
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/hisilicon,k3-dma-1.0.yaml
> @@ -0,0 +1,87 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/dma/hisilicon,k3-dma-1.0.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: Hisilicon K3 DMA controller
> +
> +maintainers:
> +  - Wei Xu <xuwei5@hisilicon.com>
> +
> +properties:
> +  compatible:
> +    items:
> +      - enum:
> +          - hisilicon,k3-dma-1.0
> +          - hisilicon,hisi-pcm-asp-dma-1.0
> +
> +  reg:
> +    maxItems: 1
> +
> +  clocks:
> +    maxItems: 1
> +
> +  interrupts:
> +    maxItems: 1
> +
> +  '#dma-cells':
> +    const: 1
> +
> +  dma-channels:
> +    description: Number of physical DMA channels supported.
> +    maximum: 32
> +
> +  dma-requests:
> +    description: Number of virtual DMA request lines supported.
> +    maximum: 32
> +
> +  dma-channel-mask:
> +    description: Bitmask of usable DMA channels.
> +
> +  dma-no-cci:
> +    type: boolean
> +    description: DMA is not coherent with the CCI.
> +
> +  dma-type:
> +    $ref: /schemas/types.yaml#/definitions/string
> +    description: SoC-specific DMA type name.
> +    enum:
> +      - hi3660_dma
> +      - hi6220_dma
> +
> +  interrupt-names:
> +    maxItems: 1

It'd better move interrupt-names after interrupts property.

> +
> +required:
> +  - compatible
> +  - reg
> +  - interrupts
> +  - '#dma-cells'
> +  - dma-channels
> +  - dma-requests
> +
> +allOf:
> +  - $ref: dma-controller.yaml#
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: hisilicon,k3-dma-1.0
> +    then:
> +      required:
> +        - clocks
> +
> +additionalProperties: false

there are $ref, should be unevaluatedProperties?

Frank

> +
> +examples:
> +  - |
> +    dma-controller@fcd02000 {
> +        compatible = "hisilicon,k3-dma-1.0";
> +        reg = <0xfcd02000 0x1000>;
> +        #dma-cells = <1>;
> +        dma-channels = <16>;
> +        dma-requests = <27>;
> +        interrupts = <0 12 4>;
> +        clocks = <&pclk>;
> +    };
> diff --git a/Documentation/devicetree/bindings/dma/k3dma.txt b/Documentation/devicetree/bindings/dma/k3dma.txt
> deleted file mode 100644
> index 10a2f15b08a3..000000000000
> --- a/Documentation/devicetree/bindings/dma/k3dma.txt
> +++ /dev/null
> @@ -1,47 +0,0 @@
> -* Hisilicon K3 DMA controller
> -
> -See dma.txt first
> -
> -Required properties:
> -- compatible: Must be one of
> --              "hisilicon,k3-dma-1.0"
> --              "hisilicon,hisi-pcm-asp-dma-1.0"
> -- reg: Should contain DMA registers location and length.
> -- interrupts: Should contain one interrupt shared by all channel
> -- #dma-cells: see dma.txt, should be 1, para number
> -- dma-channels: physical channels supported
> -- dma-requests: virtual channels supported, each virtual channel
> -		have specific request line
> -- clocks: clock required
> -
> -Example:
> -
> -Controller:
> -		dma0: dma@fcd02000 {
> -			compatible = "hisilicon,k3-dma-1.0";
> -			reg = <0xfcd02000 0x1000>;
> -			#dma-cells = <1>;
> -			dma-channels = <16>;
> -			dma-requests = <27>;
> -			interrupts = <0 12 4>;
> -			clocks = <&pclk>;
> -		};
> -
> -Client:
> -Use specific request line passing from dmax
> -For example, i2c0 read channel request line is 18, while write channel use 19
> -
> -		i2c0: i2c@fcb08000 {
> -			compatible = "snps,designware-i2c";
> -			dmas =	<&dma0 18          /* read channel */
> -				 &dma0 19>;        /* write channel */
> -			dma-names = "rx", "tx";
> -		};
> -
> -		i2c1: i2c@fcb09000 {
> -			compatible = "snps,designware-i2c";
> -			dmas =	<&dma0 20          /* read channel */
> -				 &dma0 21>;        /* write channel */
> -			dma-names = "rx", "tx";
> -		};
> -
> --
> 2.53.0
>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2026-09-30 19:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-09-28 12:44 [PATCH v2] dt-bindings: dma: Convert hisilicon,k3-dma-1.0 to DT schema Rob Herring (Arm)
2026-09-30  7:22 ` Wei Xu
2026-09-30 19:30 ` Frank Li

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®