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