Merge tag 'x86-urgent-2020-10-27' of git://git.kernel.org/pub/scm/linux/kernel/git...
[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,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
52
53   reg:
54     maxItems: 1
55
56   interrupts:
57     maxItems: 1
58
59   clocks:
60     maxItems: 1
61
62   clock-names:
63     items:
64       - const: otg
65
66   resets:
67     items:
68       - description: common reset
69       - description: ecc reset
70     minItems: 1
71
72   reset-names:
73     items:
74       - const: dwc2
75       - const: dwc2-ecc
76     minItems: 1
77
78   phys:
79     maxItems: 1
80
81   phy-names:
82     const: usb2-phy
83
84   power-domains:
85     maxItems: 1
86
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".
92
93   vusb_d-supply:
94     description: phandle to voltage regulator of digital section,
95
96   vusb_a-supply:
97     description: phandle to voltage regulator of analog section.
98
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.
102
103   dr_mode:
104     enum: [host, peripheral, otg]
105
106   usb-role-switch:
107     $ref: /schemas/types.yaml#/definitions/flag
108     description: Support role switch.
109
110   g-rx-fifo-size:
111     $ref: /schemas/types.yaml#/definitions/uint32
112     description: size of rx fifo size in gadget mode.
113
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.
117
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.
121
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.
126
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.
131
132 required:
133   - compatible
134   - reg
135   - interrupts
136   - clocks
137   - clock-names
138
139 additionalProperties: false
140
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       };
152
153 ...