Linux kernel mirror (for testing)
git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel
os
linux
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
7title: DesignWare HS OTG USB 2.0 controller
8
9maintainers:
10 - Rob Herring <robh@kernel.org>
11
12allOf:
13 - $ref: usb-drd.yaml#
14 - $ref: usb-hcd.yaml#
15
16properties:
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: sophgo,cv1800b-usb
63 - const: st,stm32f4x9-fsotg
64 - const: st,stm32f4x9-hsotg
65 - const: st,stm32f7-hsotg
66 - const: st,stm32mp15-fsotg
67 - items:
68 - const: st,stm32mp15-hsotg
69 - const: snps,dwc2
70 - const: samsung,s3c6400-hsotg
71 - const: intel,socfpga-agilex-hsotg
72
73 reg:
74 maxItems: 1
75
76 interrupts:
77 maxItems: 1
78
79 clocks:
80 minItems: 1
81 maxItems: 2
82
83 clock-names:
84 items:
85 - const: otg
86 - const: utmi
87 minItems: 1
88
89 disable-over-current:
90 type: boolean
91 description: whether to disable detection of over-current condition.
92
93 iommus:
94 maxItems: 1
95
96 resets:
97 items:
98 - description: common reset
99 - description: ecc reset
100 minItems: 1
101
102 reset-names:
103 items:
104 - const: dwc2
105 - const: dwc2-ecc
106 minItems: 1
107
108 phys:
109 maxItems: 1
110
111 phy-names:
112 const: usb2-phy
113
114 power-domains:
115 maxItems: 1
116
117 vbus-supply:
118 description: reference to the VBUS regulator. Depending on the current mode
119 this is enabled (in "host" mode") or disabled (in "peripheral" mode). The
120 regulator is updated if the controller is configured in "otg" mode and the
121 status changes between "host" and "peripheral".
122
123 vusb_d-supply:
124 description: phandle to voltage regulator of digital section,
125
126 vusb_a-supply:
127 description: phandle to voltage regulator of analog section.
128
129 usb33d-supply:
130 description: reference to the VBUS and ID sensing comparators supply, in
131 order to perform OTG operation, used on STM32MP15 SoCs.
132
133 dr_mode: true
134
135 otg-rev: true
136
137 hnp-disable: true
138
139 srp-disable: true
140
141 usb-role-switch: true
142
143 role-switch-default-mode: true
144
145 g-rx-fifo-size:
146 $ref: /schemas/types.yaml#/definitions/uint32
147 description: size of rx fifo size in gadget mode.
148
149 g-np-tx-fifo-size:
150 $ref: /schemas/types.yaml#/definitions/uint32
151 description: size of non-periodic tx fifo size in gadget mode.
152
153 g-tx-fifo-size:
154 $ref: /schemas/types.yaml#/definitions/uint32-array
155 description: size of periodic tx fifo per endpoint (except ep0) in gadget mode.
156
157 snps,need-phy-for-wake:
158 $ref: /schemas/types.yaml#/definitions/flag
159 description: If present indicates that the phy needs to be left on for
160 remote wakeup during suspend.
161
162 snps,reset-phy-on-wake:
163 $ref: /schemas/types.yaml#/definitions/flag
164 description: If present indicates that we need to reset the PHY when we
165 detect a wakeup. This is due to a hardware errata.
166
167 port:
168 description:
169 Any connector to the data bus of this controller should be modelled
170 using the OF graph bindings specified, if the "usb-role-switch"
171 property is used.
172 $ref: /schemas/graph.yaml#/properties/port
173
174 tpl-support: true
175
176 access-controllers:
177 minItems: 1
178 maxItems: 2
179
180dependencies:
181 port: [ usb-role-switch ]
182 role-switch-default-mode: [ usb-role-switch ]
183
184required:
185 - compatible
186 - reg
187 - interrupts
188 - clocks
189 - clock-names
190
191unevaluatedProperties: false
192
193examples:
194 - |
195 usb@101c0000 {
196 compatible = "rockchip,rk3066-usb", "snps,dwc2";
197 reg = <0x10180000 0x40000>;
198 interrupts = <18>;
199 clocks = <&usb_otg_ahb_clk>;
200 clock-names = "otg";
201 phys = <&usbphy>;
202 phy-names = "usb2-phy";
203 };
204
205...