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
7title: USB OHCI Controller
8
9maintainers:
10  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11
12properties:
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
136required:
137  - compatible
138  - reg
139  - interrupts
140
141allOf:
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
167unevaluatedProperties: false
168
169examples:
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...
181