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/phy-rockchip-typec.txt 22 23select: 24 properties: 25 compatible: 26 contains: 27 enum: 28 - rockchip,rk3328-dwc3 29 - rockchip,rk3568-dwc3 30 - rockchip,rk3588-dwc3 31 required: 32 - compatible 33 34properties: 35 compatible: 36 items: 37 - enum: 38 - rockchip,rk3328-dwc3 39 - rockchip,rk3568-dwc3 40 - rockchip,rk3588-dwc3 41 - const: snps,dwc3 42 43 reg: 44 maxItems: 1 45 46 interrupts: 47 maxItems: 1 48 49 clocks: 50 minItems: 3 51 items: 52 - description: 53 Controller reference clock, must to be 24 MHz 54 - description: 55 Controller suspend clock, must to be 24 MHz or 32 KHz 56 - description: 57 Master/Core clock, must to be >= 62.5 MHz for SS 58 operation and >= 30MHz for HS operation 59 - description: 60 Controller grf clock OR UTMI clock 61 - description: 62 PIPE clock 63 64 clock-names: 65 minItems: 3 66 items: 67 - const: ref_clk 68 - const: suspend_clk 69 - const: bus_clk 70 - enum: 71 - grf_clk 72 - utmi 73 - const: pipe 74 75 power-domains: 76 maxItems: 1 77 78 resets: 79 maxItems: 1 80 81 reset-names: 82 const: usb3-otg 83 84unevaluatedProperties: false 85 86required: 87 - compatible 88 - reg 89 - interrupts 90 - clocks 91 - clock-names 92 93allOf: 94 - $ref: snps,dwc3.yaml# 95 - if: 96 properties: 97 compatible: 98 contains: 99 const: rockchip,rk3328-dwc3 100 then: 101 properties: 102 clocks: 103 minItems: 3 104 maxItems: 4 105 clock-names: 106 minItems: 3 107 items: 108 - const: ref_clk 109 - const: suspend_clk 110 - const: bus_clk 111 - const: grf_clk 112 - if: 113 properties: 114 compatible: 115 contains: 116 const: rockchip,rk3568-dwc3 117 then: 118 properties: 119 clocks: 120 maxItems: 3 121 clock-names: 122 maxItems: 3 123 - if: 124 properties: 125 compatible: 126 contains: 127 const: rockchip,rk3588-dwc3 128 then: 129 properties: 130 clock-names: 131 minItems: 3 132 items: 133 - const: ref_clk 134 - const: suspend_clk 135 - const: bus_clk 136 - const: utmi 137 - const: pipe 138 139examples: 140 - | 141 #include <dt-bindings/clock/rk3328-cru.h> 142 #include <dt-bindings/interrupt-controller/arm-gic.h> 143 144 bus { 145 #address-cells = <2>; 146 #size-cells = <2>; 147 148 usbdrd3_0: usb@fe800000 { 149 compatible = "rockchip,rk3328-dwc3", "snps,dwc3"; 150 reg = <0x0 0xfe800000 0x0 0x100000>; 151 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>; 152 clocks = <&cru SCLK_USB3OTG_REF>, <&cru SCLK_USB3OTG_SUSPEND>, 153 <&cru ACLK_USB3OTG>; 154 clock-names = "ref_clk", "suspend_clk", 155 "bus_clk", "grf_clk"; 156 dr_mode = "otg"; 157 }; 158 }; 159