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