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