diff mbox series

[2/2] dt-bindings: dma: hisi: Add bindings for Hisi Ascend sdma

Message ID 20230811034822.107229-3-guomengqi3@huawei.com
State Superseded, archived
Headers show
Series Add sdma driver for HiSilicon Ascend platform | expand

Checks

Context Check Description
robh/checkpatch success
robh/patch-applied success
robh/dtbs-check warning build log
robh/dt-meta-schema success

Commit Message

Guo Mengqi Aug. 11, 2023, 3:48 a.m. UTC
Add device-tree binding documentation for the Hisi Ascend sdma
controller.

Signed-off-by: Guo Mengqi <guomengqi3@huawei.com>
---
 .../bindings/dma/hisi,ascend-sdma.yaml        | 82 +++++++++++++++++++
 1 file changed, 82 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/dma/hisi,ascend-sdma.yaml

Comments

Krzysztof Kozlowski Aug. 14, 2023, 8:51 a.m. UTC | #1
On 11/08/2023 05:48, Guo Mengqi wrote:
> Add device-tree binding documentation for the Hisi Ascend sdma
> controller.
> 
> Signed-off-by: Guo Mengqi <guomengqi3@huawei.com>
> ---
>  .../bindings/dma/hisi,ascend-sdma.yaml        | 82 +++++++++++++++++++
>  1 file changed, 82 insertions(+)
>  create mode 100644 Documentation/devicetree/bindings/dma/hisi,ascend-sdma.yaml
> 
> diff --git a/Documentation/devicetree/bindings/dma/hisi,ascend-sdma.yaml b/Documentation/devicetree/bindings/dma/hisi,ascend-sdma.yaml
> new file mode 100644
> index 000000000000..beb2b3597f4d
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/dma/hisi,ascend-sdma.yaml
> @@ -0,0 +1,82 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/dma/hisi,ascend-sdma.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: HISI Ascend System DMA (SDMA) controller
> +
> +description: |
> +  The Ascend SDMA controller is used for transferring data

What is Ascend? SoC? Family? Model?

> +  in system memory. It utilizes IOMMU SVA feature and accepts
> +  virtual address from user process.
> +
> +maintainers:
> +  - Guo Mengqi <guomengqi3@huawei.com>
> +
> +allOf:
> +  - $ref: dma-controller.yaml#
> +
> +properties:
> +  compatible:
> +    const: hisilicon,sdma

Way too generic compatible. It must be *model specific*.

> +
> +  reg:
> +    maxItems: 1
> +
> +  '#dma-cells':
> +    const: 1
> +    description:
> +      Clients specify a single cell with channel number.
> +
> +  ascend_sdma_channel_map:

Missing vendor prefix, no underscores in property names, missing type/$ref.


I doubt this was ever tested.

> +    description: |
> +      bitmap, each bit stands for a channel that is allowed to
> +      use by this system. Maximum 32 bits.
> +    maximum: 0xffffffff
> +
> +  ascend_sdma_channel_iomem_size:
> +    description: |
> +      depends on different platforms to be released. There are

Ah, so compatible is not specific enough? No, please make compatibles
specific and drop this property.

> +      currently two possible values. A default value is used if
> +      the property is not set.
> +      - enum:
> +        - 0x400
> +        - 0x1000
> +
> +  iommus:
> +    maxItems: 1
> +
> +  pasid-num-bits:
> +    description: |
> +      sdma utilizes iommu sva feature to transfer user space data.
> +      It act as a basic dma controller if not bound to user space.
> +    const: 0x10
> +
> +  dma-coherent: true
> +
> +  dma-can-stall: true
> +
> +required:
> +  - compatible
> +  - reg
> +  - ascend_sdma_channel_map
> +  - '#dma-cells'
> +  - iommus
> +
> +additionalProperties: false
> +
> +examples:
> +  - |
> +    sdma: dma-controller@880E0000 {

Use lowercase hex and drop unused label.

> +      compatible = "hisilicon,sdma";
> +        reg = <0x880e0000 0x10000>;

Broken indentation.




Best regards,
Krzysztof
diff mbox series

Patch

diff --git a/Documentation/devicetree/bindings/dma/hisi,ascend-sdma.yaml b/Documentation/devicetree/bindings/dma/hisi,ascend-sdma.yaml
new file mode 100644
index 000000000000..beb2b3597f4d
--- /dev/null
+++ b/Documentation/devicetree/bindings/dma/hisi,ascend-sdma.yaml
@@ -0,0 +1,82 @@ 
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/dma/hisi,ascend-sdma.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: HISI Ascend System DMA (SDMA) controller
+
+description: |
+  The Ascend SDMA controller is used for transferring data
+  in system memory. It utilizes IOMMU SVA feature and accepts
+  virtual address from user process.
+
+maintainers:
+  - Guo Mengqi <guomengqi3@huawei.com>
+
+allOf:
+  - $ref: dma-controller.yaml#
+
+properties:
+  compatible:
+    const: hisilicon,sdma
+
+  reg:
+    maxItems: 1
+
+  '#dma-cells':
+    const: 1
+    description:
+      Clients specify a single cell with channel number.
+
+  ascend_sdma_channel_map:
+    description: |
+      bitmap, each bit stands for a channel that is allowed to
+      use by this system. Maximum 32 bits.
+    maximum: 0xffffffff
+
+  ascend_sdma_channel_iomem_size:
+    description: |
+      depends on different platforms to be released. There are
+      currently two possible values. A default value is used if
+      the property is not set.
+      - enum:
+        - 0x400
+        - 0x1000
+
+  iommus:
+    maxItems: 1
+
+  pasid-num-bits:
+    description: |
+      sdma utilizes iommu sva feature to transfer user space data.
+      It act as a basic dma controller if not bound to user space.
+    const: 0x10
+
+  dma-coherent: true
+
+  dma-can-stall: true
+
+required:
+  - compatible
+  - reg
+  - ascend_sdma_channel_map
+  - '#dma-cells'
+  - iommus
+
+additionalProperties: false
+
+examples:
+  - |
+    sdma: dma-controller@880E0000 {
+      compatible = "hisilicon,sdma";
+        reg = <0x880e0000 0x10000>;
+        ascend_sdma_channel_map = <0xff00>;
+        iommus = <&smmu 0x7f46>;
+        pasid-num-bits = <0x10>;
+        dma-coherent;
+        dma-can-stall;
+        #dma-cells = <1>;
+    };
+
+...