blob: 0a5c98ea711d489cf6b8e81b1c2697e11ee98bc4 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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: 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
175dependencies:
176 port: [ usb-role-switch ]
177 role-switch-default-mode: [ usb-role-switch ]
178
179required:
180 - compatible
181 - reg
182 - interrupts
183 - clocks
184 - clock-names
185
186additionalProperties: false
187
188examples:
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...