arm64: dts: qcom: sm8550: add TRNG node
[linux-modified.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
8
9 maintainers:
10   - Rob Herring <robh@kernel.org>
11
12 allOf:
13   - $ref: usb-drd.yaml#
14   - $ref: usb-hcd.yaml#
15
16 properties:
17   compatible:
18     oneOf:
19       - const: brcm,bcm2835-usb
20       - const: hisilicon,hi6220-usb
21       - const: ingenic,jz4775-otg
22       - const: ingenic,jz4780-otg
23       - const: ingenic,x1000-otg
24       - const: ingenic,x1600-otg
25       - const: ingenic,x1700-otg
26       - const: ingenic,x1830-otg
27       - const: ingenic,x2000-otg
28       - items:
29           - const: rockchip,rk3066-usb
30           - const: snps,dwc2
31       - items:
32           - enum:
33               - rockchip,px30-usb
34               - rockchip,rk3036-usb
35               - rockchip,rk3128-usb
36               - rockchip,rk3188-usb
37               - rockchip,rk3228-usb
38               - rockchip,rk3288-usb
39               - rockchip,rk3308-usb
40               - rockchip,rk3328-usb
41               - rockchip,rk3368-usb
42               - rockchip,rv1108-usb
43           - const: rockchip,rk3066-usb
44           - const: snps,dwc2
45       - const: lantiq,arx100-usb
46       - const: lantiq,ase-usb
47       - const: lantiq,danube-usb
48       - const: lantiq,xrx200-usb
49       - const: lantiq,xrx300-usb
50       - items:
51           - enum:
52               - amlogic,meson8-usb
53               - amlogic,meson8b-usb
54               - amlogic,meson-gxbb-usb
55               - amlogic,meson-g12a-usb
56               - amlogic,meson-a1-usb
57               - intel,socfpga-agilex-hsotg
58           - const: snps,dwc2
59       - const: amcc,dwc-otg
60       - const: apm,apm82181-dwc-otg
61       - const: snps,dwc2
62       - const: st,stm32f4x9-fsotg
63       - const: st,stm32f4x9-hsotg
64       - const: st,stm32f7-hsotg
65       - const: st,stm32mp15-fsotg
66       - items:
67           - const: st,stm32mp15-hsotg
68           - const: snps,dwc2
69       - const: samsung,s3c6400-hsotg
70       - const: intel,socfpga-agilex-hsotg
71
72   reg:
73     maxItems: 1
74
75   interrupts:
76     maxItems: 1
77
78   clocks:
79     minItems: 1
80     maxItems: 2
81
82   clock-names:
83     items:
84       - const: otg
85       - const: utmi
86     minItems: 1
87
88   disable-over-current:
89     type: boolean
90     description: whether to disable detection of over-current condition.
91
92   iommus:
93     maxItems: 1
94
95   resets:
96     items:
97       - description: common reset
98       - description: ecc reset
99     minItems: 1
100
101   reset-names:
102     items:
103       - const: dwc2
104       - const: dwc2-ecc
105     minItems: 1
106
107   phys:
108     maxItems: 1
109
110   phy-names:
111     const: usb2-phy
112
113   power-domains:
114     maxItems: 1
115
116   vbus-supply:
117     description: reference to the VBUS regulator. Depending on the current mode
118       this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
119       regulator is updated if the controller is configured in "otg" mode and the
120       status changes between "host" and "peripheral".
121
122   vusb_d-supply:
123     description: phandle to voltage regulator of digital section,
124
125   vusb_a-supply:
126     description: phandle to voltage regulator of analog section.
127
128   usb33d-supply:
129     description: reference to the VBUS and ID sensing comparators supply, in
130       order to perform OTG operation, used on STM32MP15 SoCs.
131
132   dr_mode: true
133
134   otg-rev: true
135
136   hnp-disable: true
137
138   srp-disable: true
139
140   usb-role-switch: true
141
142   role-switch-default-mode: true
143
144   g-rx-fifo-size:
145     $ref: /schemas/types.yaml#/definitions/uint32
146     description: size of rx fifo size in gadget mode.
147
148   g-np-tx-fifo-size:
149     $ref: /schemas/types.yaml#/definitions/uint32
150     description: size of non-periodic tx fifo size in gadget mode.
151
152   g-tx-fifo-size:
153     $ref: /schemas/types.yaml#/definitions/uint32-array
154     description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
155
156   snps,need-phy-for-wake:
157     $ref: /schemas/types.yaml#/definitions/flag
158     description: If present indicates that the phy needs to be left on for
159       remote wakeup during suspend.
160
161   snps,reset-phy-on-wake:
162     $ref: /schemas/types.yaml#/definitions/flag
163     description: If present indicates that we need to reset the PHY when we
164       detect a wakeup. This is due to a hardware errata.
165
166   port:
167     description:
168       Any connector to the data bus of this controller should be modelled
169       using the OF graph bindings specified, if the "usb-role-switch"
170       property is used.
171     $ref: /schemas/graph.yaml#/properties/port
172
173   tpl-support: true
174
175 dependencies:
176   port: [ usb-role-switch ]
177   role-switch-default-mode: [ usb-role-switch ]
178
179 required:
180   - compatible
181   - reg
182   - interrupts
183   - clocks
184   - clock-names
185
186 additionalProperties: false
187
188 examples:
189   - |
190       usb@101c0000 {
191         compatible = "rockchip,rk3066-usb", "snps,dwc2";
192         reg = <0x10180000 0x40000>;
193         interrupts = <18>;
194         clocks = <&usb_otg_ahb_clk>;
195         clock-names = "otg";
196         phys = <&usbphy>;
197         phy-names = "usb2-phy";
198       };
199
200 ...