Merge tag 'firewire-fixes-6.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git...
[sfrench/cifs-2.6.git] / Documentation / devicetree / bindings / usb / generic-ehci.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/usb/generic-ehci.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: USB EHCI Controller
8
9 maintainers:
10   - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11
12 allOf:
13   - $ref: usb-hcd.yaml
14   - if:
15       properties:
16         compatible:
17           not:
18             contains:
19               const: ibm,usb-ehci-440epx
20     then:
21       properties:
22         reg:
23           maxItems: 1
24
25 properties:
26   compatible:
27     oneOf:
28       - items:
29           - enum:
30               - allwinner,sun4i-a10-ehci
31               - allwinner,sun50i-a64-ehci
32               - allwinner,sun50i-h6-ehci
33               - allwinner,sun50i-h616-ehci
34               - allwinner,sun5i-a13-ehci
35               - allwinner,sun6i-a31-ehci
36               - allwinner,sun7i-a20-ehci
37               - allwinner,sun8i-a23-ehci
38               - allwinner,sun8i-a83t-ehci
39               - allwinner,sun8i-h3-ehci
40               - allwinner,sun8i-r40-ehci
41               - allwinner,sun8i-v3s-ehci
42               - allwinner,sun9i-a80-ehci
43               - allwinner,sun20i-d1-ehci
44               - aspeed,ast2400-ehci
45               - aspeed,ast2500-ehci
46               - aspeed,ast2600-ehci
47               - brcm,bcm3384-ehci
48               - brcm,bcm63268-ehci
49               - brcm,bcm6328-ehci
50               - brcm,bcm6358-ehci
51               - brcm,bcm6362-ehci
52               - brcm,bcm6368-ehci
53               - brcm,bcm7125-ehci
54               - brcm,bcm7346-ehci
55               - brcm,bcm7358-ehci
56               - brcm,bcm7360-ehci
57               - brcm,bcm7362-ehci
58               - brcm,bcm7420-ehci
59               - brcm,bcm7425-ehci
60               - brcm,bcm7435-ehci
61               - hpe,gxp-ehci
62               - ibm,476gtr-ehci
63               - nxp,lpc1850-ehci
64               - qca,ar7100-ehci
65               - rockchip,rk3588-ehci
66               - snps,hsdk-v1.0-ehci
67               - socionext,uniphier-ehci
68           - const: generic-ehci
69       - items:
70           - enum:
71               - atmel,at91sam9g45-ehci
72               - cavium,octeon-6335-ehci
73               - ibm,usb-ehci-440epx
74               - ibm,usb-ehci-460ex
75               - nintendo,hollywood-usb-ehci
76               - st,spear600-ehci
77           - const: usb-ehci
78       - enum:
79           - generic-ehci
80           - marvell,ac5-ehci
81           - marvell,armada-3700-ehci
82           - marvell,orion-ehci
83           - nuvoton,npcm750-ehci
84           - nuvoton,npcm845-ehci
85           - ti,ehci-omap
86           - usb-ehci
87
88   reg:
89     minItems: 1
90     maxItems: 2
91
92   interrupts:
93     maxItems: 1
94
95   resets:
96     minItems: 1
97     maxItems: 4
98
99   clocks:
100     minItems: 1
101     maxItems: 4
102     description: |
103       In case the Renesas R-Car Gen3 SoCs:
104         - if a host only channel: first clock should be host.
105         - if a USB DRD channel: first clock should be host and second
106           one should be peripheral
107
108   power-domains:
109     maxItems: 1
110
111   big-endian:
112     $ref: /schemas/types.yaml#/definitions/flag
113     description:
114       Set this flag for HCDs with big endian descriptors and big
115       endian registers.
116
117   big-endian-desc:
118     $ref: /schemas/types.yaml#/definitions/flag
119     description:
120       Set this flag for HCDs with big endian descriptors.
121
122   big-endian-regs:
123     $ref: /schemas/types.yaml#/definitions/flag
124     description:
125       Set this flag for HCDs with big endian registers.
126
127   has-transaction-translator:
128     $ref: /schemas/types.yaml#/definitions/flag
129     description:
130       Set this flag if EHCI has a Transaction Translator built into
131       the root hub.
132
133   needs-reset-on-resume:
134     $ref: /schemas/types.yaml#/definitions/flag
135     description:
136       Set this flag to force EHCI reset after resume.
137
138   spurious-oc:
139     $ref: /schemas/types.yaml#/definitions/flag
140     description:
141       Set this flag to indicate that the hardware sometimes turns on
142       the OC bit when an over-current isn't actually present.
143
144   phys:
145     minItems: 1
146     maxItems: 3
147
148   phy-names:
149     const: usb
150
151   iommus:
152     maxItems: 1
153
154   dr_mode:
155     enum:
156       - host
157       - otg
158
159 required:
160   - compatible
161   - reg
162   - interrupts
163
164 unevaluatedProperties: false
165
166 examples:
167   - |
168     usb@e0000300 {
169         compatible = "ibm,usb-ehci-440epx", "usb-ehci";
170         interrupt-parent = <&UIC0>;
171         interrupts = <0x1a 4>;
172         reg = <0xe0000300 90>, <0xe0000390 70>;
173         big-endian;
174     };
175
176   - |
177     ehci0: usb@1c14000 {
178         compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
179         reg = <0x01c14000 0x100>;
180         interrupts = <39>;
181         clocks = <&ahb_gates 1>;
182         phys = <&usbphy 1>;
183         phy-names = "usb";
184     };
185
186 ...