Linux 6.9-rc1
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / usb / generic-ohci.yaml
1 # SPDX-License-Identifier: GPL-2.0
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/usb/generic-ohci.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: USB OHCI Controller
8
9 maintainers:
10   - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11
12 properties:
13   compatible:
14     oneOf:
15       - items:
16           - enum:
17               - allwinner,sun4i-a10-ohci
18               - allwinner,sun50i-a64-ohci
19               - allwinner,sun50i-h6-ohci
20               - allwinner,sun50i-h616-ohci
21               - allwinner,sun5i-a13-ohci
22               - allwinner,sun6i-a31-ohci
23               - allwinner,sun7i-a20-ohci
24               - allwinner,sun8i-a23-ohci
25               - allwinner,sun8i-a83t-ohci
26               - allwinner,sun8i-h3-ohci
27               - allwinner,sun8i-r40-ohci
28               - allwinner,sun8i-v3s-ohci
29               - allwinner,sun9i-a80-ohci
30               - allwinner,sun20i-d1-ohci
31               - brcm,bcm3384-ohci
32               - brcm,bcm63268-ohci
33               - brcm,bcm6328-ohci
34               - brcm,bcm6358-ohci
35               - brcm,bcm6362-ohci
36               - brcm,bcm6368-ohci
37               - brcm,bcm7125-ohci
38               - brcm,bcm7346-ohci
39               - brcm,bcm7358-ohci
40               - brcm,bcm7360-ohci
41               - brcm,bcm7362-ohci
42               - brcm,bcm7420-ohci
43               - brcm,bcm7425-ohci
44               - brcm,bcm7435-ohci
45               - hpe,gxp-ohci
46               - ibm,476gtr-ohci
47               - ingenic,jz4740-ohci
48               - rockchip,rk3588-ohci
49               - snps,hsdk-v1.0-ohci
50           - const: generic-ohci
51       - enum:
52           - generic-ohci
53           - ti,ohci-omap3
54       - items:
55           - enum:
56               - cavium,octeon-6335-ohci
57               - nintendo,hollywood-usb-ohci
58               - nxp,ohci-nxp
59               - st,spear600-ohci
60           - const: usb-ohci
61
62   reg:
63     maxItems: 1
64
65   interrupts:
66     maxItems: 1
67
68   resets:
69     minItems: 1
70     maxItems: 2
71
72   clocks:
73     minItems: 1
74     maxItems: 4
75     description: |
76       In case the Renesas R-Car Gen3 SoCs:
77         - if a host only channel: first clock should be host.
78         - if a USB DRD channel: first clock should be host and second
79           one should be peripheral
80
81   power-domains:
82     maxItems: 1
83
84   big-endian:
85     $ref: /schemas/types.yaml#/definitions/flag
86     description:
87       Set this flag for HCDs with big endian descriptors and big
88       endian registers.
89
90   big-endian-desc:
91     $ref: /schemas/types.yaml#/definitions/flag
92     description:
93       Set this flag for HCDs with big endian descriptors.
94
95   big-endian-regs:
96     $ref: /schemas/types.yaml#/definitions/flag
97     description:
98       Set this flag for HCDs with big endian registers.
99
100   remote-wakeup-connected:
101     $ref: /schemas/types.yaml#/definitions/flag
102     description:
103       Remote wakeup is wired on the platform.
104
105   no-big-frame-no:
106     $ref: /schemas/types.yaml#/definitions/flag
107     description:
108       Set if frame_no lives in bits [15:0] of HCCA
109
110   num-ports:
111     $ref: /schemas/types.yaml#/definitions/uint32
112     description:
113       Overrides the detected port count
114
115   phys:
116     minItems: 1
117     maxItems: 3
118
119   phy-names:
120     const: usb
121
122   iommus:
123     maxItems: 1
124
125   dr_mode:
126     enum:
127       - host
128       - otg
129
130   transceiver:
131     $ref: /schemas/types.yaml#/definitions/phandle
132     description:
133       The associated ISP1301 device. Necessary for the UDC controller for
134       connecting to the USB physical layer.
135
136 required:
137   - compatible
138   - reg
139   - interrupts
140
141 allOf:
142   - $ref: usb-hcd.yaml
143   - if:
144       not:
145         properties:
146           compatible:
147             contains:
148               const: nxp,ohci-nxp
149     then:
150       properties:
151         transceiver: false
152   - if:
153       properties:
154         compatible:
155           contains:
156             const: rockchip,rk3588-ohci
157     then:
158       properties:
159         clocks:
160           minItems: 4
161     else:
162       properties:
163         clocks:
164           minItems: 1
165           maxItems: 3
166
167 unevaluatedProperties: false
168
169 examples:
170   - |
171       ohci0: usb@1c14400 {
172           compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
173           reg = <0x01c14400 0x100>;
174           interrupts = <64>;
175           clocks = <&usb_clk 6>, <&ahb_gates 2>;
176           phys = <&usbphy 1>;
177           phy-names = "usb";
178       };
179
180 ...