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
9allOf:
10  - $ref: "usb-hcd.yaml"
11
12maintainers:
13  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
14
15properties:
16  compatible:
17    oneOf:
18      - items:
19          - enum:
20              - allwinner,sun4i-a10-ohci
21              - allwinner,sun50i-a64-ohci
22              - allwinner,sun50i-h6-ohci
23              - allwinner,sun50i-h616-ohci
24              - allwinner,sun5i-a13-ohci
25              - allwinner,sun6i-a31-ohci
26              - allwinner,sun7i-a20-ohci
27              - allwinner,sun8i-a23-ohci
28              - allwinner,sun8i-a83t-ohci
29              - allwinner,sun8i-h3-ohci
30              - allwinner,sun8i-r40-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              - snps,hsdk-v1.0-ohci
51          - const: generic-ohci
52      - const: generic-ohci
53
54  reg:
55    maxItems: 1
56
57  interrupts:
58    maxItems: 1
59
60  resets:
61    minItems: 1
62    maxItems: 2
63
64  clocks:
65    minItems: 1
66    maxItems: 3
67    description: |
68      In case the Renesas R-Car Gen3 SoCs:
69        - if a host only channel: first clock should be host.
70        - if a USB DRD channel: first clock should be host and second
71          one should be peripheral
72
73  power-domains:
74    maxItems: 1
75
76  big-endian:
77    $ref: /schemas/types.yaml#/definitions/flag
78    description:
79      Set this flag for HCDs with big endian descriptors and big
80      endian registers.
81
82  big-endian-desc:
83    $ref: /schemas/types.yaml#/definitions/flag
84    description:
85      Set this flag for HCDs with big endian descriptors.
86
87  big-endian-regs:
88    $ref: /schemas/types.yaml#/definitions/flag
89    description:
90      Set this flag for HCDs with big endian registers.
91
92  remote-wakeup-connected:
93    $ref: /schemas/types.yaml#/definitions/flag
94    description:
95      Remote wakeup is wired on the platform.
96
97  no-big-frame-no:
98    $ref: /schemas/types.yaml#/definitions/flag
99    description:
100      Set if frame_no lives in bits [15:0] of HCCA
101
102  num-ports:
103    $ref: /schemas/types.yaml#/definitions/uint32
104    description:
105      Overrides the detected port count
106
107  phys:
108    minItems: 1
109    maxItems: 3
110
111  phy-names:
112    const: usb
113
114  iommus:
115    maxItems: 1
116
117  dr_mode:
118    enum:
119      - host
120      - otg
121
122required:
123  - compatible
124  - reg
125  - interrupts
126
127additionalProperties: false
128
129examples:
130  - |
131      ohci0: usb@1c14400 {
132          compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
133          reg = <0x01c14400 0x100>;
134          interrupts = <64>;
135          clocks = <&usb_clk 6>, <&ahb_gates 2>;
136          phys = <&usbphy 1>;
137          phy-names = "usb";
138      };
139
140...
141