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 - intel,socfpga-agilex-hsotg 57 - const: snps,dwc2 58 - const: amcc,dwc-otg 59 - const: apm,apm82181-dwc-otg 60 - const: snps,dwc2 61 - const: st,stm32f4x9-fsotg 62 - const: st,stm32f4x9-hsotg 63 - const: st,stm32f7-hsotg 64 - const: st,stm32mp15-fsotg 65 - items: 66 - const: st,stm32mp15-hsotg 67 - const: snps,dwc2 68 - const: samsung,s3c6400-hsotg 69 - const: intel,socfpga-agilex-hsotg 70 71 reg: 72 maxItems: 1 73 74 interrupts: 75 maxItems: 1 76 77 clocks: 78 minItems: 1 79 maxItems: 2 80 81 clock-names: 82 items: 83 - const: otg 84 - const: utmi 85 minItems: 1 86 87 disable-over-current: 88 type: boolean 89 description: whether to disable detection of over-current condition. 90 91 iommus: 92 maxItems: 1 93 94 resets: 95 items: 96 - description: common reset 97 - description: ecc reset 98 minItems: 1 99 100 reset-names: 101 items: 102 - const: dwc2 103 - const: dwc2-ecc 104 minItems: 1 105 106 phys: 107 maxItems: 1 108 109 phy-names: 110 const: usb2-phy 111 112 power-domains: 113 maxItems: 1 114 115 vbus-supply: 116 description: reference to the VBUS regulator. Depending on the current mode 117 this is enabled (in "host" mode") or disabled (in "peripheral" mode). The 118 regulator is updated if the controller is configured in "otg" mode and the 119 status changes between "host" and "peripheral". 120 121 vusb_d-supply: 122 description: phandle to voltage regulator of digital section, 123 124 vusb_a-supply: 125 description: phandle to voltage regulator of analog section. 126 127 usb33d-supply: 128 description: reference to the VBUS and ID sensing comparators supply, in 129 order to perform OTG operation, used on STM32MP15 SoCs. 130 131 dr_mode: true 132 133 otg-rev: true 134 135 hnp-disable: true 136 137 srp-disable: true 138 139 usb-role-switch: true 140 141 role-switch-default-mode: true 142 143 g-rx-fifo-size: 144 $ref: /schemas/types.yaml#/definitions/uint32 145 description: size of rx fifo size in gadget mode. 146 147 g-np-tx-fifo-size: 148 $ref: /schemas/types.yaml#/definitions/uint32 149 description: size of non-periodic tx fifo size in gadget mode. 150 151 g-tx-fifo-size: 152 $ref: /schemas/types.yaml#/definitions/uint32-array 153 description: size of periodic tx fifo per endpoint (except ep0) in gadget mode. 154 155 snps,need-phy-for-wake: 156 $ref: /schemas/types.yaml#/definitions/flag 157 description: If present indicates that the phy needs to be left on for 158 remote wakeup during suspend. 159 160 snps,reset-phy-on-wake: 161 $ref: /schemas/types.yaml#/definitions/flag 162 description: If present indicates that we need to reset the PHY when we 163 detect a wakeup. This is due to a hardware errata. 164 165 port: 166 description: 167 Any connector to the data bus of this controller should be modelled 168 using the OF graph bindings specified, if the "usb-role-switch" 169 property is used. 170 $ref: /schemas/graph.yaml#/properties/port 171 172 tpl-support: true 173 174dependencies: 175 port: [ usb-role-switch ] 176 role-switch-default-mode: [ usb-role-switch ] 177 178required: 179 - compatible 180 - reg 181 - interrupts 182 - clocks 183 - clock-names 184 185additionalProperties: false 186 187examples: 188 - | 189 usb@101c0000 { 190 compatible = "rockchip,rk3066-usb", "snps,dwc2"; 191 reg = <0x10180000 0x40000>; 192 interrupts = <18>; 193 clocks = <&usb_otg_ahb_clk>; 194 clock-names = "otg"; 195 phys = <&usbphy>; 196 phy-names = "usb2-phy"; 197 }; 198 199... 200