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