1c3e2485dSMaxime Ripard# SPDX-License-Identifier: GPL-2.0
2c3e2485dSMaxime Ripard%YAML 1.2
3c3e2485dSMaxime Ripard---
4c3e2485dSMaxime Ripard$id: http://devicetree.org/schemas/usb/generic-ehci.yaml#
5c3e2485dSMaxime Ripard$schema: http://devicetree.org/meta-schemas/core.yaml#
6c3e2485dSMaxime Ripard
7dd3cb467SAndrew Lunntitle: USB EHCI Controller
8c3e2485dSMaxime Ripard
9c3e2485dSMaxime Ripardmaintainers:
10c3e2485dSMaxime Ripard  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11c3e2485dSMaxime Ripard
123c9ab53fSRob HerringallOf:
13653b131aSRob Herring  - $ref: usb-hcd.yaml
143c9ab53fSRob Herring  - if:
153c9ab53fSRob Herring      properties:
163c9ab53fSRob Herring        compatible:
173c9ab53fSRob Herring          not:
183c9ab53fSRob Herring            contains:
193c9ab53fSRob Herring              const: ibm,usb-ehci-440epx
203c9ab53fSRob Herring    then:
213c9ab53fSRob Herring      properties:
223c9ab53fSRob Herring        reg:
233c9ab53fSRob Herring          maxItems: 1
243c9ab53fSRob Herring
25c3e2485dSMaxime Ripardproperties:
26c3e2485dSMaxime Ripard  compatible:
275ae01e76SRob Herring    oneOf:
285ae01e76SRob Herring      - items:
295ae01e76SRob Herring          - enum:
305ae01e76SRob Herring              - allwinner,sun4i-a10-ehci
315ae01e76SRob Herring              - allwinner,sun50i-a64-ehci
325ae01e76SRob Herring              - allwinner,sun50i-h6-ehci
3328a1a647SAndre Przywara              - allwinner,sun50i-h616-ehci
345ae01e76SRob Herring              - allwinner,sun5i-a13-ehci
355ae01e76SRob Herring              - allwinner,sun6i-a31-ehci
365ae01e76SRob Herring              - allwinner,sun7i-a20-ehci
375ae01e76SRob Herring              - allwinner,sun8i-a23-ehci
3839c0bf56SMaxime Ripard              - allwinner,sun8i-a83t-ehci
395ae01e76SRob Herring              - allwinner,sun8i-h3-ehci
405ae01e76SRob Herring              - allwinner,sun8i-r40-ehci
41*1ce486baSChris Morgan              - allwinner,sun8i-v3s-ehci
425ae01e76SRob Herring              - allwinner,sun9i-a80-ehci
43821d83c2SSamuel Holland              - allwinner,sun20i-d1-ehci
445ae01e76SRob Herring              - aspeed,ast2400-ehci
455ae01e76SRob Herring              - aspeed,ast2500-ehci
465ae01e76SRob Herring              - aspeed,ast2600-ehci
475ae01e76SRob Herring              - brcm,bcm3384-ehci
485ae01e76SRob Herring              - brcm,bcm63268-ehci
495ae01e76SRob Herring              - brcm,bcm6328-ehci
505ae01e76SRob Herring              - brcm,bcm6358-ehci
515ae01e76SRob Herring              - brcm,bcm6362-ehci
525ae01e76SRob Herring              - brcm,bcm6368-ehci
535ae01e76SRob Herring              - brcm,bcm7125-ehci
545ae01e76SRob Herring              - brcm,bcm7346-ehci
555ae01e76SRob Herring              - brcm,bcm7358-ehci
565ae01e76SRob Herring              - brcm,bcm7360-ehci
575ae01e76SRob Herring              - brcm,bcm7362-ehci
585ae01e76SRob Herring              - brcm,bcm7420-ehci
595ae01e76SRob Herring              - brcm,bcm7425-ehci
605ae01e76SRob Herring              - brcm,bcm7435-ehci
61501c12a6SNick Hawkins              - hpe,gxp-ehci
625ae01e76SRob Herring              - ibm,476gtr-ehci
635ae01e76SRob Herring              - nxp,lpc1850-ehci
645ae01e76SRob Herring              - qca,ar7100-ehci
6506abc973SSebastian Reichel              - rockchip,rk3588-ehci
665ae01e76SRob Herring              - snps,hsdk-v1.0-ehci
675ae01e76SRob Herring              - socionext,uniphier-ehci
685ae01e76SRob Herring          - const: generic-ehci
695ae01e76SRob Herring      - items:
705ae01e76SRob Herring          - enum:
715ae01e76SRob Herring              - atmel,at91sam9g45-ehci
725ae01e76SRob Herring              - cavium,octeon-6335-ehci
735ae01e76SRob Herring              - ibm,usb-ehci-440epx
745ae01e76SRob Herring              - ibm,usb-ehci-460ex
755ae01e76SRob Herring              - nintendo,hollywood-usb-ehci
765ae01e76SRob Herring              - st,spear600-ehci
775ae01e76SRob Herring          - const: usb-ehci
785ae01e76SRob Herring      - enum:
79c1140ebfSRob Herring          - generic-ehci
80c1140ebfSRob Herring          - marvell,armada-3700-ehci
81ec13100fSRob Herring          - marvell,orion-ehci
82ec13100fSRob Herring          - nuvoton,npcm750-ehci
8376ea4926SRob Herring          - nuvoton,npcm845-ehci
845ae01e76SRob Herring          - ti,ehci-omap
85c3e2485dSMaxime Ripard          - usb-ehci
86c3e2485dSMaxime Ripard
873c9ab53fSRob Herring  reg:
883c9ab53fSRob Herring    minItems: 1
89c3e2485dSMaxime Ripard    maxItems: 2
90c3e2485dSMaxime Ripard
91c3e2485dSMaxime Ripard  interrupts:
92c3e2485dSMaxime Ripard    maxItems: 1
93c3e2485dSMaxime Ripard
94c3e2485dSMaxime Ripard  resets:
95c3e2485dSMaxime Ripard    minItems: 1
96c3e2485dSMaxime Ripard    maxItems: 4
97c3e2485dSMaxime Ripard
98c3e2485dSMaxime Ripard  clocks:
99c3e2485dSMaxime Ripard    minItems: 1
100c3e2485dSMaxime Ripard    maxItems: 4
101c3e2485dSMaxime Ripard    description: |
102c3e2485dSMaxime Ripard      In case the Renesas R-Car Gen3 SoCs:
103c3e2485dSMaxime Ripard        - if a host only channel: first clock should be host.
104c3e2485dSMaxime Ripard        - if a USB DRD channel: first clock should be host and second
105c3e2485dSMaxime Ripard          one should be peripheral
106f98d7c3aSGeert Uytterhoeven
107f98d7c3aSGeert Uytterhoeven  power-domains:
108f98d7c3aSGeert Uytterhoeven    maxItems: 1
109c3e2485dSMaxime Ripard
110c3e2485dSMaxime Ripard  big-endian:
111c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
112c3e2485dSMaxime Ripard    description:
113c3e2485dSMaxime Ripard      Set this flag for HCDs with big endian descriptors and big
114c3e2485dSMaxime Ripard      endian registers.
115c3e2485dSMaxime Ripard
116c3e2485dSMaxime Ripard  big-endian-desc:
117c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
118c3e2485dSMaxime Ripard    description:
119c3e2485dSMaxime Ripard      Set this flag for HCDs with big endian descriptors.
120c3e2485dSMaxime Ripard
121c3e2485dSMaxime Ripard  big-endian-regs:
122c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
123c3e2485dSMaxime Ripard    description:
124c3e2485dSMaxime Ripard      Set this flag for HCDs with big endian registers.
125c3e2485dSMaxime Ripard
126c3e2485dSMaxime Ripard  has-transaction-translator:
127c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
128c3e2485dSMaxime Ripard    description:
129c3e2485dSMaxime Ripard      Set this flag if EHCI has a Transaction Translator built into
130c3e2485dSMaxime Ripard      the root hub.
131c3e2485dSMaxime Ripard
132c3e2485dSMaxime Ripard  needs-reset-on-resume:
133c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
134c3e2485dSMaxime Ripard    description:
135c3e2485dSMaxime Ripard      Set this flag to force EHCI reset after resume.
13681d23855SÁlvaro Fernández Rojas
13781d23855SÁlvaro Fernández Rojas  spurious-oc:
13881d23855SÁlvaro Fernández Rojas    $ref: /schemas/types.yaml#/definitions/flag
13981d23855SÁlvaro Fernández Rojas    description:
14081d23855SÁlvaro Fernández Rojas      Set this flag to indicate that the hardware sometimes turns on
14181d23855SÁlvaro Fernández Rojas      the OC bit when an over-current isn't actually present.
1423aa3c66aSMaxime Ripard
1439faa1c8fSGeert Uytterhoeven  phys:
1449faa1c8fSGeert Uytterhoeven    minItems: 1
1453aa3c66aSMaxime Ripard    maxItems: 3
1463aa3c66aSMaxime Ripard
1473aa3c66aSMaxime Ripard  phy-names:
148c3e2485dSMaxime Ripard    const: usb
14959ffe4edSAndre Przywara
15059ffe4edSAndre Przywara  iommus:
15159ffe4edSAndre Przywara    maxItems: 1
15231f21e2aSBiju Das
15331f21e2aSBiju Das  dr_mode:
15431f21e2aSBiju Das    enum:
15531f21e2aSBiju Das      - host
15631f21e2aSBiju Das      - otg
157c3e2485dSMaxime Ripard
158c3e2485dSMaxime Ripardrequired:
159c3e2485dSMaxime Ripard  - compatible
160c3e2485dSMaxime Ripard  - reg
161c3e2485dSMaxime Ripard  - interrupts
162817f9ee0SFabrice Gasnier
163c3e2485dSMaxime RipardunevaluatedProperties: false
164c3e2485dSMaxime Ripard
165c3e2485dSMaxime Ripardexamples:
1665ff88144SMaxime Ripard  - |
1675ae01e76SRob Herring    usb@e0000300 {
168c3e2485dSMaxime Ripard        compatible = "ibm,usb-ehci-440epx", "usb-ehci";
169c3e2485dSMaxime Ripard        interrupt-parent = <&UIC0>;
170fba56184SRob Herring        interrupts = <0x1a 4>;
171c3e2485dSMaxime Ripard        reg = <0xe0000300 90>, <0xe0000390 70>;
172c3e2485dSMaxime Ripard        big-endian;
173c3e2485dSMaxime Ripard    };
174c3e2485dSMaxime Ripard
175c3e2485dSMaxime Ripard  - |
176c3e2485dSMaxime Ripard    ehci0: usb@1c14000 {
177c3e2485dSMaxime Ripard        compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
178c3e2485dSMaxime Ripard        reg = <0x01c14000 0x100>;
179c3e2485dSMaxime Ripard        interrupts = <39>;
180c3e2485dSMaxime Ripard        clocks = <&ahb_gates 1>;
1813aa3c66aSMaxime Ripard        phys = <&usbphy 1>;
182c3e2485dSMaxime Ripard        phy-names = "usb";
183c3e2485dSMaxime Ripard    };
184c3e2485dSMaxime Ripard
185...
186