xref: /freebsd-src/sys/contrib/device-tree/Bindings/usb/generic-ohci.yaml (revision aa1a8ff2d6dbc51ef058f46f3db5a8bb77967145)
1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: GPL-2.0
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/usb/generic-ohci.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: USB OHCI Controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
10c66ec88fSEmmanuel Vadot  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11c66ec88fSEmmanuel Vadot
12c66ec88fSEmmanuel Vadotproperties:
13c66ec88fSEmmanuel Vadot  compatible:
145def4c47SEmmanuel Vadot    oneOf:
155def4c47SEmmanuel Vadot      - items:
165def4c47SEmmanuel Vadot          - enum:
175def4c47SEmmanuel Vadot              - allwinner,sun4i-a10-ohci
185def4c47SEmmanuel Vadot              - allwinner,sun50i-a64-ohci
195def4c47SEmmanuel Vadot              - allwinner,sun50i-h6-ohci
208bab661aSEmmanuel Vadot              - allwinner,sun50i-h616-ohci
215def4c47SEmmanuel Vadot              - allwinner,sun5i-a13-ohci
225def4c47SEmmanuel Vadot              - allwinner,sun6i-a31-ohci
235def4c47SEmmanuel Vadot              - allwinner,sun7i-a20-ohci
245def4c47SEmmanuel Vadot              - allwinner,sun8i-a23-ohci
25354d7675SEmmanuel Vadot              - allwinner,sun8i-a83t-ohci
265def4c47SEmmanuel Vadot              - allwinner,sun8i-h3-ohci
275def4c47SEmmanuel Vadot              - allwinner,sun8i-r40-ohci
28*aa1a8ff2SEmmanuel Vadot              - allwinner,sun8i-v3s-ohci
295def4c47SEmmanuel Vadot              - allwinner,sun9i-a80-ohci
30b97ee269SEmmanuel Vadot              - allwinner,sun20i-d1-ohci
315def4c47SEmmanuel Vadot              - brcm,bcm3384-ohci
325def4c47SEmmanuel Vadot              - brcm,bcm63268-ohci
335def4c47SEmmanuel Vadot              - brcm,bcm6328-ohci
345def4c47SEmmanuel Vadot              - brcm,bcm6358-ohci
355def4c47SEmmanuel Vadot              - brcm,bcm6362-ohci
365def4c47SEmmanuel Vadot              - brcm,bcm6368-ohci
375def4c47SEmmanuel Vadot              - brcm,bcm7125-ohci
385def4c47SEmmanuel Vadot              - brcm,bcm7346-ohci
395def4c47SEmmanuel Vadot              - brcm,bcm7358-ohci
405def4c47SEmmanuel Vadot              - brcm,bcm7360-ohci
415def4c47SEmmanuel Vadot              - brcm,bcm7362-ohci
425def4c47SEmmanuel Vadot              - brcm,bcm7420-ohci
435def4c47SEmmanuel Vadot              - brcm,bcm7425-ohci
445def4c47SEmmanuel Vadot              - brcm,bcm7435-ohci
45d5b0e70fSEmmanuel Vadot              - hpe,gxp-ohci
465def4c47SEmmanuel Vadot              - ibm,476gtr-ohci
475def4c47SEmmanuel Vadot              - ingenic,jz4740-ohci
48f126890aSEmmanuel Vadot              - rockchip,rk3588-ohci
495def4c47SEmmanuel Vadot              - snps,hsdk-v1.0-ohci
505def4c47SEmmanuel Vadot          - const: generic-ohci
51cb7aa33aSEmmanuel Vadot      - enum:
52cb7aa33aSEmmanuel Vadot          - generic-ohci
53cb7aa33aSEmmanuel Vadot          - ti,ohci-omap3
54cb7aa33aSEmmanuel Vadot      - items:
55cb7aa33aSEmmanuel Vadot          - enum:
56cb7aa33aSEmmanuel Vadot              - cavium,octeon-6335-ohci
57cb7aa33aSEmmanuel Vadot              - nintendo,hollywood-usb-ohci
58cb7aa33aSEmmanuel Vadot              - nxp,ohci-nxp
59cb7aa33aSEmmanuel Vadot              - st,spear600-ohci
60cb7aa33aSEmmanuel Vadot          - const: usb-ohci
61c66ec88fSEmmanuel Vadot
62c66ec88fSEmmanuel Vadot  reg:
63c66ec88fSEmmanuel Vadot    maxItems: 1
64c66ec88fSEmmanuel Vadot
65c66ec88fSEmmanuel Vadot  interrupts:
66c66ec88fSEmmanuel Vadot    maxItems: 1
67c66ec88fSEmmanuel Vadot
68c66ec88fSEmmanuel Vadot  resets:
69c66ec88fSEmmanuel Vadot    minItems: 1
70c66ec88fSEmmanuel Vadot    maxItems: 2
71c66ec88fSEmmanuel Vadot
72c66ec88fSEmmanuel Vadot  clocks:
73c66ec88fSEmmanuel Vadot    minItems: 1
74f126890aSEmmanuel Vadot    maxItems: 4
75c66ec88fSEmmanuel Vadot    description: |
76c66ec88fSEmmanuel Vadot      In case the Renesas R-Car Gen3 SoCs:
77c66ec88fSEmmanuel Vadot        - if a host only channel: first clock should be host.
78c66ec88fSEmmanuel Vadot        - if a USB DRD channel: first clock should be host and second
79c66ec88fSEmmanuel Vadot          one should be peripheral
80c66ec88fSEmmanuel Vadot
81c66ec88fSEmmanuel Vadot  power-domains:
82c66ec88fSEmmanuel Vadot    maxItems: 1
83c66ec88fSEmmanuel Vadot
84c66ec88fSEmmanuel Vadot  big-endian:
85c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
86c66ec88fSEmmanuel Vadot    description:
87c66ec88fSEmmanuel Vadot      Set this flag for HCDs with big endian descriptors and big
88c66ec88fSEmmanuel Vadot      endian registers.
89c66ec88fSEmmanuel Vadot
90c66ec88fSEmmanuel Vadot  big-endian-desc:
91c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
92c66ec88fSEmmanuel Vadot    description:
93c66ec88fSEmmanuel Vadot      Set this flag for HCDs with big endian descriptors.
94c66ec88fSEmmanuel Vadot
95c66ec88fSEmmanuel Vadot  big-endian-regs:
96c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
97c66ec88fSEmmanuel Vadot    description:
98c66ec88fSEmmanuel Vadot      Set this flag for HCDs with big endian registers.
99c66ec88fSEmmanuel Vadot
100c66ec88fSEmmanuel Vadot  remote-wakeup-connected:
101c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
102c66ec88fSEmmanuel Vadot    description:
103c66ec88fSEmmanuel Vadot      Remote wakeup is wired on the platform.
104c66ec88fSEmmanuel Vadot
105c66ec88fSEmmanuel Vadot  no-big-frame-no:
106c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/flag
107c66ec88fSEmmanuel Vadot    description:
108c66ec88fSEmmanuel Vadot      Set if frame_no lives in bits [15:0] of HCCA
109c66ec88fSEmmanuel Vadot
110c66ec88fSEmmanuel Vadot  num-ports:
111c66ec88fSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/uint32
112c66ec88fSEmmanuel Vadot    description:
113c66ec88fSEmmanuel Vadot      Overrides the detected port count
114c66ec88fSEmmanuel Vadot
115c66ec88fSEmmanuel Vadot  phys:
116d5b0e70fSEmmanuel Vadot    minItems: 1
117d5b0e70fSEmmanuel Vadot    maxItems: 3
118c66ec88fSEmmanuel Vadot
119c66ec88fSEmmanuel Vadot  phy-names:
120c66ec88fSEmmanuel Vadot    const: usb
121c66ec88fSEmmanuel Vadot
122c66ec88fSEmmanuel Vadot  iommus:
123c66ec88fSEmmanuel Vadot    maxItems: 1
124c66ec88fSEmmanuel Vadot
125354d7675SEmmanuel Vadot  dr_mode:
126354d7675SEmmanuel Vadot    enum:
127354d7675SEmmanuel Vadot      - host
128354d7675SEmmanuel Vadot      - otg
129354d7675SEmmanuel Vadot
130cb7aa33aSEmmanuel Vadot  transceiver:
131cb7aa33aSEmmanuel Vadot    $ref: /schemas/types.yaml#/definitions/phandle
132cb7aa33aSEmmanuel Vadot    description:
133cb7aa33aSEmmanuel Vadot      The associated ISP1301 device. Necessary for the UDC controller for
134cb7aa33aSEmmanuel Vadot      connecting to the USB physical layer.
135cb7aa33aSEmmanuel Vadot
136c66ec88fSEmmanuel Vadotrequired:
137c66ec88fSEmmanuel Vadot  - compatible
138c66ec88fSEmmanuel Vadot  - reg
139c66ec88fSEmmanuel Vadot  - interrupts
140c66ec88fSEmmanuel Vadot
141cb7aa33aSEmmanuel VadotallOf:
142cb7aa33aSEmmanuel Vadot  - $ref: usb-hcd.yaml
143cb7aa33aSEmmanuel Vadot  - if:
144cb7aa33aSEmmanuel Vadot      not:
145cb7aa33aSEmmanuel Vadot        properties:
146cb7aa33aSEmmanuel Vadot          compatible:
147cb7aa33aSEmmanuel Vadot            contains:
148cb7aa33aSEmmanuel Vadot              const: nxp,ohci-nxp
149cb7aa33aSEmmanuel Vadot    then:
150cb7aa33aSEmmanuel Vadot      properties:
151cb7aa33aSEmmanuel Vadot        transceiver: false
152f126890aSEmmanuel Vadot  - if:
153f126890aSEmmanuel Vadot      properties:
154f126890aSEmmanuel Vadot        compatible:
155f126890aSEmmanuel Vadot          contains:
156f126890aSEmmanuel Vadot            const: rockchip,rk3588-ohci
157f126890aSEmmanuel Vadot    then:
158f126890aSEmmanuel Vadot      properties:
159f126890aSEmmanuel Vadot        clocks:
160f126890aSEmmanuel Vadot          minItems: 4
161f126890aSEmmanuel Vadot    else:
162f126890aSEmmanuel Vadot      properties:
163f126890aSEmmanuel Vadot        clocks:
164f126890aSEmmanuel Vadot          minItems: 1
165f126890aSEmmanuel Vadot          maxItems: 3
166cb7aa33aSEmmanuel Vadot
167fac71e4eSEmmanuel VadotunevaluatedProperties: false
168c66ec88fSEmmanuel Vadot
169c66ec88fSEmmanuel Vadotexamples:
170c66ec88fSEmmanuel Vadot  - |
171c66ec88fSEmmanuel Vadot      ohci0: usb@1c14400 {
172c66ec88fSEmmanuel Vadot          compatible = "allwinner,sun4i-a10-ohci", "generic-ohci";
173c66ec88fSEmmanuel Vadot          reg = <0x01c14400 0x100>;
174c66ec88fSEmmanuel Vadot          interrupts = <64>;
175c66ec88fSEmmanuel Vadot          clocks = <&usb_clk 6>, <&ahb_gates 2>;
176c66ec88fSEmmanuel Vadot          phys = <&usbphy 1>;
177c66ec88fSEmmanuel Vadot          phy-names = "usb";
178c66ec88fSEmmanuel Vadot      };
179c66ec88fSEmmanuel Vadot
180c66ec88fSEmmanuel Vadot...
181