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