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