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