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