1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0 2*4882a593Smuzhiyun%YAML 1.2 3*4882a593Smuzhiyun--- 4*4882a593Smuzhiyun$id: http://devicetree.org/schemas/usb/dwc2.yaml# 5*4882a593Smuzhiyun$schema: http://devicetree.org/meta-schemas/core.yaml# 6*4882a593Smuzhiyun 7*4882a593Smuzhiyuntitle: DesignWare HS OTG USB 2.0 controller Bindings 8*4882a593Smuzhiyun 9*4882a593Smuzhiyunmaintainers: 10*4882a593Smuzhiyun - Rob Herring <robh@kernel.org> 11*4882a593Smuzhiyun 12*4882a593Smuzhiyunproperties: 13*4882a593Smuzhiyun compatible: 14*4882a593Smuzhiyun oneOf: 15*4882a593Smuzhiyun - const: brcm,bcm2835-usb 16*4882a593Smuzhiyun - const: hisilicon,hi6220-usb 17*4882a593Smuzhiyun - items: 18*4882a593Smuzhiyun - const: rockchip,rk3066-usb 19*4882a593Smuzhiyun - const: snps,dwc2 20*4882a593Smuzhiyun - items: 21*4882a593Smuzhiyun - enum: 22*4882a593Smuzhiyun - rockchip,px30-usb 23*4882a593Smuzhiyun - rockchip,rk3036-usb 24*4882a593Smuzhiyun - rockchip,rk3188-usb 25*4882a593Smuzhiyun - rockchip,rk3228-usb 26*4882a593Smuzhiyun - rockchip,rk3288-usb 27*4882a593Smuzhiyun - rockchip,rk3328-usb 28*4882a593Smuzhiyun - rockchip,rk3368-usb 29*4882a593Smuzhiyun - rockchip,rv1108-usb 30*4882a593Smuzhiyun - const: rockchip,rk3066-usb 31*4882a593Smuzhiyun - const: snps,dwc2 32*4882a593Smuzhiyun - const: lantiq,arx100-usb 33*4882a593Smuzhiyun - const: lantiq,xrx200-usb 34*4882a593Smuzhiyun - items: 35*4882a593Smuzhiyun - enum: 36*4882a593Smuzhiyun - amlogic,meson8-usb 37*4882a593Smuzhiyun - amlogic,meson8b-usb 38*4882a593Smuzhiyun - amlogic,meson-gxbb-usb 39*4882a593Smuzhiyun - amlogic,meson-g12a-usb 40*4882a593Smuzhiyun - const: snps,dwc2 41*4882a593Smuzhiyun - const: amcc,dwc-otg 42*4882a593Smuzhiyun - const: apm,apm82181-dwc-otg 43*4882a593Smuzhiyun - const: snps,dwc2 44*4882a593Smuzhiyun - const: st,stm32f4x9-fsotg 45*4882a593Smuzhiyun - const: st,stm32f4x9-hsotg 46*4882a593Smuzhiyun - const: st,stm32f7-hsotg 47*4882a593Smuzhiyun - const: st,stm32mp15-fsotg 48*4882a593Smuzhiyun - items: 49*4882a593Smuzhiyun - const: st,stm32mp15-hsotg 50*4882a593Smuzhiyun - const: snps,dwc2 51*4882a593Smuzhiyun - const: samsung,s3c6400-hsotg 52*4882a593Smuzhiyun 53*4882a593Smuzhiyun reg: 54*4882a593Smuzhiyun maxItems: 1 55*4882a593Smuzhiyun 56*4882a593Smuzhiyun interrupts: 57*4882a593Smuzhiyun maxItems: 1 58*4882a593Smuzhiyun 59*4882a593Smuzhiyun clocks: 60*4882a593Smuzhiyun maxItems: 1 61*4882a593Smuzhiyun 62*4882a593Smuzhiyun clock-names: 63*4882a593Smuzhiyun items: 64*4882a593Smuzhiyun - const: otg 65*4882a593Smuzhiyun 66*4882a593Smuzhiyun resets: 67*4882a593Smuzhiyun items: 68*4882a593Smuzhiyun - description: common reset 69*4882a593Smuzhiyun - description: ecc reset 70*4882a593Smuzhiyun minItems: 1 71*4882a593Smuzhiyun 72*4882a593Smuzhiyun reset-names: 73*4882a593Smuzhiyun items: 74*4882a593Smuzhiyun - const: dwc2 75*4882a593Smuzhiyun - const: dwc2-ecc 76*4882a593Smuzhiyun minItems: 1 77*4882a593Smuzhiyun 78*4882a593Smuzhiyun phys: 79*4882a593Smuzhiyun maxItems: 1 80*4882a593Smuzhiyun 81*4882a593Smuzhiyun phy-names: 82*4882a593Smuzhiyun const: usb2-phy 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun power-domains: 85*4882a593Smuzhiyun maxItems: 1 86*4882a593Smuzhiyun 87*4882a593Smuzhiyun vbus-supply: 88*4882a593Smuzhiyun description: reference to the VBUS regulator. Depending on the current mode 89*4882a593Smuzhiyun this is enabled (in "host" mode") or disabled (in "peripheral" mode). The 90*4882a593Smuzhiyun regulator is updated if the controller is configured in "otg" mode and the 91*4882a593Smuzhiyun status changes between "host" and "peripheral". 92*4882a593Smuzhiyun 93*4882a593Smuzhiyun vusb_d-supply: 94*4882a593Smuzhiyun description: phandle to voltage regulator of digital section, 95*4882a593Smuzhiyun 96*4882a593Smuzhiyun vusb_a-supply: 97*4882a593Smuzhiyun description: phandle to voltage regulator of analog section. 98*4882a593Smuzhiyun 99*4882a593Smuzhiyun usb33d-supply: 100*4882a593Smuzhiyun description: reference to the VBUS and ID sensing comparators supply, in 101*4882a593Smuzhiyun order to perform OTG operation, used on STM32MP15 SoCs. 102*4882a593Smuzhiyun 103*4882a593Smuzhiyun dr_mode: 104*4882a593Smuzhiyun enum: [host, peripheral, otg] 105*4882a593Smuzhiyun 106*4882a593Smuzhiyun usb-role-switch: 107*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/flag 108*4882a593Smuzhiyun description: Support role switch. 109*4882a593Smuzhiyun 110*4882a593Smuzhiyun g-rx-fifo-size: 111*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/uint32 112*4882a593Smuzhiyun description: size of rx fifo size in gadget mode. 113*4882a593Smuzhiyun 114*4882a593Smuzhiyun g-np-tx-fifo-size: 115*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/uint32 116*4882a593Smuzhiyun description: size of non-periodic tx fifo size in gadget mode. 117*4882a593Smuzhiyun 118*4882a593Smuzhiyun g-tx-fifo-size: 119*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/uint32-array 120*4882a593Smuzhiyun description: size of periodic tx fifo per endpoint (except ep0) in gadget mode. 121*4882a593Smuzhiyun 122*4882a593Smuzhiyun snps,need-phy-for-wake: 123*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/flag 124*4882a593Smuzhiyun description: If present indicates that the phy needs to be left on for 125*4882a593Smuzhiyun remote wakeup during suspend. 126*4882a593Smuzhiyun 127*4882a593Smuzhiyun snps,reset-phy-on-wake: 128*4882a593Smuzhiyun $ref: /schemas/types.yaml#/definitions/flag 129*4882a593Smuzhiyun description: If present indicates that we need to reset the PHY when we 130*4882a593Smuzhiyun detect a wakeup. This is due to a hardware errata. 131*4882a593Smuzhiyun 132*4882a593Smuzhiyunrequired: 133*4882a593Smuzhiyun - compatible 134*4882a593Smuzhiyun - reg 135*4882a593Smuzhiyun - interrupts 136*4882a593Smuzhiyun - clocks 137*4882a593Smuzhiyun - clock-names 138*4882a593Smuzhiyun 139*4882a593SmuzhiyunadditionalProperties: false 140*4882a593Smuzhiyun 141*4882a593Smuzhiyunexamples: 142*4882a593Smuzhiyun - | 143*4882a593Smuzhiyun usb@101c0000 { 144*4882a593Smuzhiyun compatible = "rockchip,rk3066-usb", "snps,dwc2"; 145*4882a593Smuzhiyun reg = <0x10180000 0x40000>; 146*4882a593Smuzhiyun interrupts = <18>; 147*4882a593Smuzhiyun clocks = <&usb_otg_ahb_clk>; 148*4882a593Smuzhiyun clock-names = "otg"; 149*4882a593Smuzhiyun phys = <&usbphy>; 150*4882a593Smuzhiyun phy-names = "usb2-phy"; 151*4882a593Smuzhiyun }; 152*4882a593Smuzhiyun 153*4882a593Smuzhiyun... 154