1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/spacemit,k1-dwc3.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: SpacemiT K1 SuperSpeed DWC3 USB SoC Controller 8 9maintainers: 10 - Ze Huang <huang.ze@linux.dev> 11 12description: | 13 The SpacemiT K1 embeds a DWC3 USB IP Core which supports Host functions 14 for USB 3.0 and DRD for USB 2.0. 15 16 Key features: 17 - USB3.0 SuperSpeed and USB2.0 High/Full/Low-Speed support 18 - Supports low-power modes (USB2.0 suspend, USB3.0 U1/U2/U3) 19 - Internal DMA controller and flexible endpoint FIFO sizing 20 21 Communication Interface: 22 - Use of PIPE3 (125MHz) interface for USB3.0 PHY 23 - Use of UTMI+ (30/60MHz) interface for USB2.0 PHY 24 25allOf: 26 - $ref: snps,dwc3-common.yaml# 27 28properties: 29 compatible: 30 const: spacemit,k1-dwc3 31 32 reg: 33 maxItems: 1 34 35 clocks: 36 maxItems: 1 37 38 clock-names: 39 const: usbdrd30 40 41 interrupts: 42 maxItems: 1 43 44 phys: 45 items: 46 - description: phandle to USB2/HS PHY 47 - description: phandle to USB3/SS PHY 48 49 phy-names: 50 items: 51 - const: usb2-phy 52 - const: usb3-phy 53 54 resets: 55 items: 56 - description: USB3.0 AHB reset 57 - description: USB3.0 VCC reset 58 - description: USB3.0 PHY reset 59 60 reset-names: 61 items: 62 - const: ahb 63 - const: vcc 64 - const: phy 65 66 reset-delay: 67 $ref: /schemas/types.yaml#/definitions/uint32 68 default: 2 69 description: delay after reset sequence [us] 70 71 vbus-supply: 72 description: A phandle to the regulator supplying the VBUS voltage. 73 74required: 75 - compatible 76 - reg 77 - clocks 78 - clock-names 79 - interrupts 80 - phys 81 - phy-names 82 - resets 83 - reset-names 84 85unevaluatedProperties: false 86 87examples: 88 - | 89 usb@c0a00000 { 90 compatible = "spacemit,k1-dwc3"; 91 reg = <0xc0a00000 0x10000>; 92 clocks = <&syscon_apmu 16>; 93 clock-names = "usbdrd30"; 94 interrupts = <125>; 95 phys = <&usb2phy>, <&usb3phy>; 96 phy-names = "usb2-phy", "usb3-phy"; 97 resets = <&syscon_apmu 8>, 98 <&syscon_apmu 9>, 99 <&syscon_apmu 10>; 100 reset-names = "ahb", "vcc", "phy"; 101 reset-delay = <2>; 102 vbus-supply = <&usb3_vbus>; 103 #address-cells = <1>; 104 #size-cells = <0>; 105 106 hub_2_0: hub@1 { 107 compatible = "usb2109,2817"; 108 reg = <1>; 109 vdd-supply = <&usb3_vhub>; 110 peer-hub = <&hub_3_0>; 111 reset-gpios = <&gpio 3 28 1>; 112 }; 113 114 hub_3_0: hub@2 { 115 compatible = "usb2109,817"; 116 reg = <2>; 117 vdd-supply = <&usb3_vhub>; 118 peer-hub = <&hub_2_0>; 119 reset-gpios = <&gpio 3 28 1>; 120 }; 121 }; 122