]> git.ipfire.org Git - thirdparty/u-boot.git/blob - Bindings/usb/generic-ehci.yaml
Squashed 'dts/upstream/' content from commit aaba2d45dc2a
[thirdparty/u-boot.git] / 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,armada-3700-ehci
81 - marvell,orion-ehci
82 - nuvoton,npcm750-ehci
83 - nuvoton,npcm845-ehci
84 - ti,ehci-omap
85 - usb-ehci
86
87 reg:
88 minItems: 1
89 maxItems: 2
90
91 interrupts:
92 maxItems: 1
93
94 resets:
95 minItems: 1
96 maxItems: 4
97
98 clocks:
99 minItems: 1
100 maxItems: 4
101 description: |
102 In case the Renesas R-Car Gen3 SoCs:
103 - if a host only channel: first clock should be host.
104 - if a USB DRD channel: first clock should be host and second
105 one should be peripheral
106
107 power-domains:
108 maxItems: 1
109
110 big-endian:
111 $ref: /schemas/types.yaml#/definitions/flag
112 description:
113 Set this flag for HCDs with big endian descriptors and big
114 endian registers.
115
116 big-endian-desc:
117 $ref: /schemas/types.yaml#/definitions/flag
118 description:
119 Set this flag for HCDs with big endian descriptors.
120
121 big-endian-regs:
122 $ref: /schemas/types.yaml#/definitions/flag
123 description:
124 Set this flag for HCDs with big endian registers.
125
126 has-transaction-translator:
127 $ref: /schemas/types.yaml#/definitions/flag
128 description:
129 Set this flag if EHCI has a Transaction Translator built into
130 the root hub.
131
132 needs-reset-on-resume:
133 $ref: /schemas/types.yaml#/definitions/flag
134 description:
135 Set this flag to force EHCI reset after resume.
136
137 spurious-oc:
138 $ref: /schemas/types.yaml#/definitions/flag
139 description:
140 Set this flag to indicate that the hardware sometimes turns on
141 the OC bit when an over-current isn't actually present.
142
143 phys:
144 minItems: 1
145 maxItems: 3
146
147 phy-names:
148 const: usb
149
150 iommus:
151 maxItems: 1
152
153 dr_mode:
154 enum:
155 - host
156 - otg
157
158 required:
159 - compatible
160 - reg
161 - interrupts
162
163 unevaluatedProperties: false
164
165 examples:
166 - |
167 usb@e0000300 {
168 compatible = "ibm,usb-ehci-440epx", "usb-ehci";
169 interrupt-parent = <&UIC0>;
170 interrupts = <0x1a 4>;
171 reg = <0xe0000300 90>, <0xe0000390 70>;
172 big-endian;
173 };
174
175 - |
176 ehci0: usb@1c14000 {
177 compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
178 reg = <0x01c14000 0x100>;
179 interrupts = <39>;
180 clocks = <&ahb_gates 1>;
181 phys = <&usbphy 1>;
182 phy-names = "usb";
183 };
184
185 ...