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