[PATCH 3/7] dt-bindings: usb: add SpacemiT K1 DWC3 glue

Ze Huang huangze at whut.edu.cn
Mon Apr 7 05:38:48 PDT 2025


Add support for SpacemiT DWC3 glue driver, which manages interrupt,
reset and clock resource.

Signed-off-by: Ze Huang <huangze at whut.edu.cn>
---
 .../devicetree/bindings/usb/spacemit,k1-dwc3.yaml  | 78 ++++++++++++++++++++++
 1 file changed, 78 insertions(+)

diff --git a/Documentation/devicetree/bindings/usb/spacemit,k1-dwc3.yaml b/Documentation/devicetree/bindings/usb/spacemit,k1-dwc3.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..40ce3fd1330d5f371ec69155c237e10a65a9d8f4
--- /dev/null
+++ b/Documentation/devicetree/bindings/usb/spacemit,k1-dwc3.yaml
@@ -0,0 +1,78 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/usb/spacemit,k1-dwc3.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: SpacemiT K1 SuperSpeed DWC3 USB SoC Controller Glue
+
+maintainers:
+  - Ze Huang <huangze at whut.edu.cn>
+
+properties:
+  compatible:
+    const: spacemit,k1-dwc3
+
+  ranges:
+    maxItems: 1
+
+  clocks:
+    maxItems: 1
+
+  resets:
+    maxItems: 1
+
+  interrupts:
+    maxItems: 1
+
+  interconnects:
+    description:
+      On SpacemiT K1, USB performs DMA through bus other than parent DT node.
+      The 'interconnects' property explicitly describes this path, ensuring
+      correct address translation.
+
+  interconnect-names:
+    const: dma-mem
+
+  # optional
+  vbus-supply:
+    description: A phandle to the regulator supplying the VBUS voltage.
+
+patternProperties:
+  '^usb@':
+    $ref: snps,dwc3.yaml#
+
+additionalProperties: false
+
+required:
+  - compatible
+  - ranges
+  - clocks
+  - resets
+  - interrupts
+  - interconnects
+  - interconnect-names
+
+examples:
+  - |
+    usb at c0a00000 {
+        compatible = "spacemit,k1-dwc3";
+        clocks = <&syscon_apmu 16>;
+        interrupts = <149>;
+        interconnects = <&dram_range0>;
+        interconnect-names = "dma-mem";
+        ranges = <0x0 0xc0a00000 0x10000>;
+        resets = <&syscon_apmu 8>;
+        #address-cells = <1>;
+        #size-cells = <1>;
+        status = "disabled";
+
+        usb at 0 {
+            compatible = "snps,dwc3";
+            reg = <0x0 0x0 0x0 0x10000>;
+            interrupt-parent = <&plic>;
+            interrupts = <125>;
+            phys = <&usb_phy2>, <&usb_phy3 2>;
+            phy-names = "usb2-phy", "usb3-phy";
+        };
+    };

-- 
2.49.0




More information about the linux-riscv mailing list