[PATCH v2 1/2] dt-bindings: usb: add hisilicon,hi3798mv200-dwc3

Yang Xiwen via B4 Relay posted 2 patches 1 year, 11 months ago
There is a newer version of this series
[PATCH v2 1/2] dt-bindings: usb: add hisilicon,hi3798mv200-dwc3
Posted by Yang Xiwen via B4 Relay 1 year, 11 months ago
From: Yang Xiwen <forbidden405@outlook.com>

Document the DWC3 controller used by Hi3798MV200.

Signed-off-by: Yang Xiwen <forbidden405@outlook.com>
---
 .../bindings/usb/hisilicon,hi3798mv200-dwc3.yaml   | 103 +++++++++++++++++++++
 1 file changed, 103 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/hisilicon,hi3798mv200-dwc3.yaml b/Documentation/devicetree/bindings/usb/hisilicon,hi3798mv200-dwc3.yaml
new file mode 100644
index 000000000000..2a93d659414d
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/hisilicon,hi3798mv200-dwc3.yaml
@@ -0,0 +1,103 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/hisilicon,hi3798mv200-dwc3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: HiSilicon Hi3798MV200 DWC3 USB SoC controller
+
+maintainers:
+  - Yang Xiwen <forbidden405@foxmail.com>
+
+properties:
+  compatible:
+    const: hisilicon,hi3798mv200-dwc3
+
+  '#address-cells':
+    const: 1
+
+  '#size-cells':
+    const: 1
+
+  reg: true
+
+  ranges: true
+
+  clocks:
+    items:
+      - description: Controller bus clock
+      - description: Controller suspend clock
+      - description: Controller reference clock
+      - description: Controller gm clock
+      - description: Controller gs clock
+      - description: Controller utmi clock
+      - description: Controller pipe clock
+
+  clock-names:
+    items:
+      - const: bus
+      - const: suspend
+      - const: ref
+      - const: gm
+      - const: gs
+      - const: utmi
+      - const: pipe
+
+  resets:
+    maxItems: 1
+
+  reset-names:
+    const: soft
+
+patternProperties:
+  '^usb@[0-9a-z]+$':
+    $ref: snps,dwc3.yaml#
+
+additionalProperties: false
+
+required:
+  - compatible
+  - '#address-cells'
+  - '#size-cells'
+  - ranges
+  - reg
+  - clocks
+  - clock-names
+  - resets
+  - reset-names
+
+examples:
+  - |
+    #include <dt-bindings/interrupt-controller/arm-gic.h>
+
+    usb@98a0000 {
+            compatible = "hisilicon,hi3798mv200-dwc3";
+            #address-cells = <1>;
+            #size-cells = <1>;
+            reg = <0x98a0000 0x10000>;
+            ranges;
+            clocks = <&clk_bus>,
+                     <&clk_suspend>,
+                     <&clk_ref>,
+                     <&clk_gm>,
+                     <&clk_gs>,
+                     <&clk_utmi>,
+                     <&clk_pipe>;
+            clock-names = "bus", "suspend", "ref", "gm", "gs", "utmi", "pipe";
+            resets = <&crg 0xb0 12>;
+            reset-names = "soft";
+
+            usb@98a0000 {
+                    compatible = "snps,dwc3";
+                    reg = <0x98a0000 0x10000>;
+                    interrupts = <GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
+                    clocks = <&clk_bus>,
+                             <&clk_suspend>,
+                             <&clk_ref>;
+                    clock-names = "bus_early", "suspend", "ref";
+                    phys = <&usb2_phy1_port2>, <&combphy0 0>;
+                    phy-names = "usb2-phy", "usb3-phy";
+                    maximum-speed = "super-speed";
+                    dr_mode = "host";
+            };
+    };

-- 
2.43.0
Re: [PATCH v2 1/2] dt-bindings: usb: add hisilicon,hi3798mv200-dwc3
Posted by Krzysztof Kozlowski 1 year, 11 months ago
On 23/02/2024 22:43, Yang Xiwen via B4 Relay wrote:
> From: Yang Xiwen <forbidden405@outlook.com>
> 
> Document the DWC3 controller used by Hi3798MV200.
> 
> Signed-off-by: Yang Xiwen <forbidden405@outlook.com>


> +
> +properties:
> +  compatible:
> +    const: hisilicon,hi3798mv200-dwc3
> +
> +  '#address-cells':
> +    const: 1
> +
> +  '#size-cells':
> +    const: 1
> +
> +  reg: true

Constraints. maxItems: X

> +
> +  ranges: true
> +
> +  clocks:
> +    items:
> +      - description: Controller bus clock
> +      - description: Controller suspend clock
> +      - description: Controller reference clock
> +      - description: Controller gm clock
> +      - description: Controller gs clock
> +      - description: Controller utmi clock
> +      - description: Controller pipe clock
> +
> +  clock-names:
> +    items:
> +      - const: bus
> +      - const: suspend
> +      - const: ref
> +      - const: gm
> +      - const: gs
> +      - const: utmi
> +      - const: pipe
> +
> +  resets:
> +    maxItems: 1
> +
> +  reset-names:
> +    const: soft
> +
> +patternProperties:
> +  '^usb@[0-9a-z]+$':

unit addresses are in hex, so a-f

Open existing bindings and look how it is done there. There are no
bindings for DWC3 glue/wrapper device having a-z.


> +    $ref: snps,dwc3.yaml#
> +
> +additionalProperties: false

Same comments: open existing bindings and take a look how it is there.
This goes after 'required:' block.

> +
> +required:
> +  - compatible
> +  - '#address-cells'
> +  - '#size-cells'
> +  - ranges
> +  - reg
> +  - clocks
> +  - clock-names
> +  - resets
> +  - reset-names
> +
> +examples:
> +  - |
> +    #include <dt-bindings/interrupt-controller/arm-gic.h>
> +
> +    usb@98a0000 {
> +            compatible = "hisilicon,hi3798mv200-dwc3";

reg is always the second property. ranges is third.


> +            #address-cells = <1>;
> +            #size-cells = <1>;

Use 4 spaces for example indentation.



Best regards,
Krzysztof