0001 # SPDX-License-Identifier: GPL-2.0
0002 %YAML 1.2
0003 ---
0004 $id: http://devicetree.org/schemas/usb/dwc2.yaml#
0005 $schema: http://devicetree.org/meta-schemas/core.yaml#
0006
0007 title: DesignWare HS OTG USB 2.0 controller Bindings
0008
0009 maintainers:
0010 - Rob Herring <robh@kernel.org>
0011
0012 allOf:
0013 - $ref: usb-drd.yaml#
0014 - $ref: usb-hcd.yaml#
0015
0016 properties:
0017 compatible:
0018 oneOf:
0019 - const: brcm,bcm2835-usb
0020 - const: hisilicon,hi6220-usb
0021 - const: ingenic,jz4775-otg
0022 - const: ingenic,jz4780-otg
0023 - const: ingenic,x1000-otg
0024 - const: ingenic,x1600-otg
0025 - const: ingenic,x1700-otg
0026 - const: ingenic,x1830-otg
0027 - const: ingenic,x2000-otg
0028 - items:
0029 - const: rockchip,rk3066-usb
0030 - const: snps,dwc2
0031 - items:
0032 - enum:
0033 - rockchip,px30-usb
0034 - rockchip,rk3036-usb
0035 - rockchip,rk3188-usb
0036 - rockchip,rk3228-usb
0037 - rockchip,rk3288-usb
0038 - rockchip,rk3308-usb
0039 - rockchip,rk3328-usb
0040 - rockchip,rk3368-usb
0041 - rockchip,rv1108-usb
0042 - const: rockchip,rk3066-usb
0043 - const: snps,dwc2
0044 - const: lantiq,arx100-usb
0045 - const: lantiq,xrx200-usb
0046 - items:
0047 - enum:
0048 - amlogic,meson8-usb
0049 - amlogic,meson8b-usb
0050 - amlogic,meson-gxbb-usb
0051 - amlogic,meson-g12a-usb
0052 - intel,socfpga-agilex-hsotg
0053 - const: snps,dwc2
0054 - const: amcc,dwc-otg
0055 - const: apm,apm82181-dwc-otg
0056 - const: snps,dwc2
0057 - const: st,stm32f4x9-fsotg
0058 - const: st,stm32f4x9-hsotg
0059 - const: st,stm32f7-hsotg
0060 - const: st,stm32mp15-fsotg
0061 - items:
0062 - const: st,stm32mp15-hsotg
0063 - const: snps,dwc2
0064 - const: samsung,s3c6400-hsotg
0065 - const: intel,socfpga-agilex-hsotg
0066
0067 reg:
0068 maxItems: 1
0069
0070 interrupts:
0071 maxItems: 1
0072
0073 clocks:
0074 maxItems: 1
0075
0076 clock-names:
0077 items:
0078 - const: otg
0079
0080 disable-over-current:
0081 type: boolean
0082 description: whether to disable detection of over-current condition.
0083
0084 iommus:
0085 maxItems: 1
0086
0087 resets:
0088 items:
0089 - description: common reset
0090 - description: ecc reset
0091 minItems: 1
0092
0093 reset-names:
0094 items:
0095 - const: dwc2
0096 - const: dwc2-ecc
0097 minItems: 1
0098
0099 phys:
0100 maxItems: 1
0101
0102 phy-names:
0103 const: usb2-phy
0104
0105 power-domains:
0106 maxItems: 1
0107
0108 vbus-supply:
0109 description: reference to the VBUS regulator. Depending on the current mode
0110 this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
0111 regulator is updated if the controller is configured in "otg" mode and the
0112 status changes between "host" and "peripheral".
0113
0114 vusb_d-supply:
0115 description: phandle to voltage regulator of digital section,
0116
0117 vusb_a-supply:
0118 description: phandle to voltage regulator of analog section.
0119
0120 usb33d-supply:
0121 description: reference to the VBUS and ID sensing comparators supply, in
0122 order to perform OTG operation, used on STM32MP15 SoCs.
0123
0124 dr_mode: true
0125
0126 otg-rev: true
0127
0128 hnp-disable: true
0129
0130 srp-disable: true
0131
0132 usb-role-switch: true
0133
0134 role-switch-default-mode: true
0135
0136 g-rx-fifo-size:
0137 $ref: /schemas/types.yaml#/definitions/uint32
0138 description: size of rx fifo size in gadget mode.
0139
0140 g-np-tx-fifo-size:
0141 $ref: /schemas/types.yaml#/definitions/uint32
0142 description: size of non-periodic tx fifo size in gadget mode.
0143
0144 g-tx-fifo-size:
0145 $ref: /schemas/types.yaml#/definitions/uint32-array
0146 description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
0147
0148 snps,need-phy-for-wake:
0149 $ref: /schemas/types.yaml#/definitions/flag
0150 description: If present indicates that the phy needs to be left on for
0151 remote wakeup during suspend.
0152
0153 snps,reset-phy-on-wake:
0154 $ref: /schemas/types.yaml#/definitions/flag
0155 description: If present indicates that we need to reset the PHY when we
0156 detect a wakeup. This is due to a hardware errata.
0157
0158 port:
0159 description:
0160 Any connector to the data bus of this controller should be modelled
0161 using the OF graph bindings specified, if the "usb-role-switch"
0162 property is used.
0163 $ref: /schemas/graph.yaml#/properties/port
0164
0165 tpl-support: true
0166
0167 dependencies:
0168 port: [ usb-role-switch ]
0169 role-switch-default-mode: [ usb-role-switch ]
0170
0171 required:
0172 - compatible
0173 - reg
0174 - interrupts
0175 - clocks
0176 - clock-names
0177
0178 additionalProperties: false
0179
0180 examples:
0181 - |
0182 usb@101c0000 {
0183 compatible = "rockchip,rk3066-usb", "snps,dwc2";
0184 reg = <0x10180000 0x40000>;
0185 interrupts = <18>;
0186 clocks = <&usb_otg_ahb_clk>;
0187 clock-names = "otg";
0188 phys = <&usbphy>;
0189 phy-names = "usb2-phy";
0190 };
0191
0192 ...