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