1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/rockchip,dwc3.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Rockchip SuperSpeed DWC3 USB SoC controller 8 9maintainers: 10 - Heiko Stuebner <heiko@sntech.de> 11 12description: 13 The common content of the node is defined in snps,dwc3.yaml. 14 15 Phy documentation is provided in the following places. 16 17 USB2.0 PHY 18 Documentation/devicetree/bindings/phy/rockchip,inno-usb2phy.yaml 19 20 Type-C PHY 21 Documentation/devicetree/bindings/phy/rockchip,rk3399-typec-phy.yaml 22 23select: 24 properties: 25 compatible: 26 contains: 27 enum: 28 - rockchip,rk3328-dwc3 29 - rockchip,rk3528-dwc3 30 - rockchip,rk3562-dwc3 31 - rockchip,rk3568-dwc3 32 - rockchip,rk3576-dwc3 33 - rockchip,rk3588-dwc3 34 required: 35 - compatible 36 37properties: 38 compatible: 39 items: 40 - enum: 41 - rockchip,rk3328-dwc3 42 - rockchip,rk3528-dwc3 43 - rockchip,rk3562-dwc3 44 - rockchip,rk3568-dwc3 45 - rockchip,rk3576-dwc3 46 - rockchip,rk3588-dwc3 47 - const: snps,dwc3 48 49 reg: 50 maxItems: 1 51 52 interrupts: 53 maxItems: 1 54 55 clocks: 56 minItems: 3 57 items: 58 - description: 59 Controller reference clock, must to be 24 MHz 60 - description: 61 Controller suspend clock, must to be 24 MHz or 32 KHz 62 - description: 63 Master/Core clock, must to be >= 62.5 MHz for SS 64 operation and >= 30MHz for HS operation 65 - description: 66 Controller grf clock OR UTMI clock 67 - description: 68 PIPE clock 69 70 clock-names: 71 minItems: 3 72 items: 73 - const: ref_clk 74 - const: suspend_clk 75 - const: bus_clk 76 - enum: 77 - grf_clk 78 - utmi 79 - pipe 80 - const: pipe 81 82 power-domains: 83 maxItems: 1 84 85 resets: 86 maxItems: 1 87 88 reset-names: 89 const: usb3-otg 90 91unevaluatedProperties: false 92 93required: 94 - compatible 95 - reg 96 - interrupts 97 - clocks 98 - clock-names 99 100allOf: 101 - $ref: snps,dwc3.yaml# 102 - if: 103 properties: 104 compatible: 105 contains: 106 const: rockchip,rk3328-dwc3 107 then: 108 properties: 109 clocks: 110 minItems: 3 111 maxItems: 4 112 clock-names: 113 minItems: 3 114 items: 115 - const: ref_clk 116 - const: suspend_clk 117 - const: bus_clk 118 - const: grf_clk 119 - if: 120 properties: 121 compatible: 122 contains: 123 const: rockchip,rk3562-dwc3 124 then: 125 properties: 126 clocks: 127 minItems: 4 128 maxItems: 4 129 clock-names: 130 items: 131 - const: ref_clk 132 - const: suspend_clk 133 - const: bus_clk 134 - const: pipe 135 - if: 136 properties: 137 compatible: 138 contains: 139 enum: 140 - rockchip,rk3528-dwc3 141 - rockchip,rk3568-dwc3 142 - rockchip,rk3576-dwc3 143 then: 144 properties: 145 clocks: 146 maxItems: 3 147 clock-names: 148 maxItems: 3 149 - if: 150 properties: 151 compatible: 152 contains: 153 const: rockchip,rk3588-dwc3 154 then: 155 properties: 156 clock-names: 157 minItems: 3 158 items: 159 - const: ref_clk 160 - const: suspend_clk 161 - const: bus_clk 162 - const: utmi 163 - const: pipe 164 165examples: 166 - | 167 #include <dt-bindings/clock/rk3328-cru.h> 168 #include <dt-bindings/interrupt-controller/arm-gic.h> 169 170 bus { 171 #address-cells = <2>; 172 #size-cells = <2>; 173 174 usbdrd3_0: usb@fe800000 { 175 compatible = "rockchip,rk3328-dwc3", "snps,dwc3"; 176 reg = <0x0 0xfe800000 0x0 0x100000>; 177 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 178 clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, 179 <&cru ACLK_USB3OTG>; 180 clock-names = "ref_clk", "suspend_clk", 181 "bus_clk", "grf_clk"; 182 dr_mode = "otg"; 183 }; 184 }; 185