1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/usb/dwc2.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: DesignWare HS OTG USB 2.0 controller 8 9maintainers: 10 - Rob Herring <robh@kernel.org> 11 12allOf: 13 - $ref: usb-drd.yaml# 14 - $ref: usb-hcd.yaml# 15 16properties: 17 compatible: 18 oneOf: 19 - const: brcm,bcm2835-usb 20 - const: hisilicon,hi6220-usb 21 - const: ingenic,jz4775-otg 22 - const: ingenic,jz4780-otg 23 - const: ingenic,x1000-otg 24 - const: ingenic,x1600-otg 25 - const: ingenic,x1700-otg 26 - const: ingenic,x1830-otg 27 - const: ingenic,x2000-otg 28 - items: 29 - const: rockchip,rk3066-usb 30 - const: snps,dwc2 31 - items: 32 - enum: 33 - rockchip,px30-usb 34 - rockchip,rk3036-usb 35 - rockchip,rk3128-usb 36 - rockchip,rk3188-usb 37 - rockchip,rk3228-usb 38 - rockchip,rk3288-usb 39 - rockchip,rk3308-usb 40 - rockchip,rk3328-usb 41 - rockchip,rk3368-usb 42 - rockchip,rv1108-usb 43 - const: rockchip,rk3066-usb 44 - const: snps,dwc2 45 - const: lantiq,arx100-usb 46 - const: lantiq,ase-usb 47 - const: lantiq,danube-usb 48 - const: lantiq,xrx200-usb 49 - const: lantiq,xrx300-usb 50 - items: 51 - enum: 52 - amlogic,meson8-usb 53 - amlogic,meson8b-usb 54 - amlogic,meson-gxbb-usb 55 - amlogic,meson-g12a-usb 56 - amlogic,meson-a1-usb 57 - intel,socfpga-agilex-hsotg 58 - const: snps,dwc2 59 - const: amcc,dwc-otg 60 - const: apm,apm82181-dwc-otg 61 - const: snps,dwc2 62 - const: sophgo,cv1800-usb 63 - const: st,stm32f4x9-fsotg 64 - const: st,stm32f4x9-hsotg 65 - const: st,stm32f7-hsotg 66 - const: st,stm32mp15-fsotg 67 - items: 68 - const: st,stm32mp15-hsotg 69 - const: snps,dwc2 70 - const: samsung,s3c6400-hsotg 71 - const: intel,socfpga-agilex-hsotg 72 73 reg: 74 maxItems: 1 75 76 interrupts: 77 maxItems: 1 78 79 clocks: 80 minItems: 1 81 maxItems: 2 82 83 clock-names: 84 items: 85 - const: otg 86 - const: utmi 87 minItems: 1 88 89 disable-over-current: 90 type: boolean 91 description: whether to disable detection of over-current condition. 92 93 iommus: 94 maxItems: 1 95 96 resets: 97 items: 98 - description: common reset 99 - description: ecc reset 100 minItems: 1 101 102 reset-names: 103 items: 104 - const: dwc2 105 - const: dwc2-ecc 106 minItems: 1 107 108 phys: 109 maxItems: 1 110 111 phy-names: 112 const: usb2-phy 113 114 power-domains: 115 maxItems: 1 116 117 vbus-supply: 118 description: reference to the VBUS regulator. Depending on the current mode 119 this is enabled (in "host" mode") or disabled (in "peripheral" mode). The 120 regulator is updated if the controller is configured in "otg" mode and the 121 status changes between "host" and "peripheral". 122 123 vusb_d-supply: 124 description: phandle to voltage regulator of digital section, 125 126 vusb_a-supply: 127 description: phandle to voltage regulator of analog section. 128 129 usb33d-supply: 130 description: reference to the VBUS and ID sensing comparators supply, in 131 order to perform OTG operation, used on STM32MP15 SoCs. 132 133 dr_mode: true 134 135 otg-rev: true 136 137 hnp-disable: true 138 139 srp-disable: true 140 141 usb-role-switch: true 142 143 role-switch-default-mode: true 144 145 g-rx-fifo-size: 146 $ref: /schemas/types.yaml#/definitions/uint32 147 description: size of rx fifo size in gadget mode. 148 149 g-np-tx-fifo-size: 150 $ref: /schemas/types.yaml#/definitions/uint32 151 description: size of non-periodic tx fifo size in gadget mode. 152 153 g-tx-fifo-size: 154 $ref: /schemas/types.yaml#/definitions/uint32-array 155 description: size of periodic tx fifo per endpoint (except ep0) in gadget mode. 156 157 snps,need-phy-for-wake: 158 $ref: /schemas/types.yaml#/definitions/flag 159 description: If present indicates that the phy needs to be left on for 160 remote wakeup during suspend. 161 162 snps,reset-phy-on-wake: 163 $ref: /schemas/types.yaml#/definitions/flag 164 description: If present indicates that we need to reset the PHY when we 165 detect a wakeup. This is due to a hardware errata. 166 167 port: 168 description: 169 Any connector to the data bus of this controller should be modelled 170 using the OF graph bindings specified, if the "usb-role-switch" 171 property is used. 172 $ref: /schemas/graph.yaml#/properties/port 173 174 tpl-support: true 175 176 access-controllers: 177 minItems: 1 178 maxItems: 2 179 180dependencies: 181 port: [ usb-role-switch ] 182 role-switch-default-mode: [ usb-role-switch ] 183 184required: 185 - compatible 186 - reg 187 - interrupts 188 - clocks 189 - clock-names 190 191unevaluatedProperties: false 192 193examples: 194 - | 195 usb@101c0000 { 196 compatible = "rockchip,rk3066-usb", "snps,dwc2"; 197 reg = <0x10180000 0x40000>; 198 interrupts = <18>; 199 clocks = <&usb_otg_ahb_clk>; 200 clock-names = "otg"; 201 phys = <&usbphy>; 202 phy-names = "usb2-phy"; 203 }; 204 205... 206