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
415ae01e76SRob Herring              - allwinner,sun9i-a80-ehci
42821d83c2SSamuel Holland              - allwinner,sun20i-d1-ehci
435ae01e76SRob Herring              - aspeed,ast2400-ehci
445ae01e76SRob Herring              - aspeed,ast2500-ehci
455ae01e76SRob Herring              - aspeed,ast2600-ehci
465ae01e76SRob Herring              - brcm,bcm3384-ehci
475ae01e76SRob Herring              - brcm,bcm63268-ehci
485ae01e76SRob Herring              - brcm,bcm6328-ehci
495ae01e76SRob Herring              - brcm,bcm6358-ehci
505ae01e76SRob Herring              - brcm,bcm6362-ehci
515ae01e76SRob Herring              - brcm,bcm6368-ehci
525ae01e76SRob Herring              - brcm,bcm7125-ehci
535ae01e76SRob Herring              - brcm,bcm7346-ehci
545ae01e76SRob Herring              - brcm,bcm7358-ehci
555ae01e76SRob Herring              - brcm,bcm7360-ehci
565ae01e76SRob Herring              - brcm,bcm7362-ehci
575ae01e76SRob Herring              - brcm,bcm7420-ehci
585ae01e76SRob Herring              - brcm,bcm7425-ehci
595ae01e76SRob Herring              - brcm,bcm7435-ehci
60501c12a6SNick Hawkins              - hpe,gxp-ehci
615ae01e76SRob Herring              - ibm,476gtr-ehci
625ae01e76SRob Herring              - nxp,lpc1850-ehci
635ae01e76SRob Herring              - qca,ar7100-ehci
64*06abc973SSebastian Reichel              - rockchip,rk3588-ehci
655ae01e76SRob Herring              - snps,hsdk-v1.0-ehci
665ae01e76SRob Herring              - socionext,uniphier-ehci
675ae01e76SRob Herring          - const: generic-ehci
685ae01e76SRob Herring      - items:
695ae01e76SRob Herring          - enum:
705ae01e76SRob Herring              - cavium,octeon-6335-ehci
715ae01e76SRob Herring              - ibm,usb-ehci-440epx
725ae01e76SRob Herring              - ibm,usb-ehci-460ex
735ae01e76SRob Herring              - nintendo,hollywood-usb-ehci
745ae01e76SRob Herring              - st,spear600-ehci
755ae01e76SRob Herring          - const: usb-ehci
765ae01e76SRob Herring      - enum:
775ae01e76SRob Herring          - generic-ehci
78c1140ebfSRob Herring          - marvell,armada-3700-ehci
79c1140ebfSRob Herring          - marvell,orion-ehci
80ec13100fSRob Herring          - nuvoton,npcm750-ehci
81ec13100fSRob Herring          - nuvoton,npcm845-ehci
8276ea4926SRob Herring          - ti,ehci-omap
835ae01e76SRob Herring          - usb-ehci
84c3e2485dSMaxime Ripard
85c3e2485dSMaxime Ripard  reg:
863c9ab53fSRob Herring    minItems: 1
873c9ab53fSRob Herring    maxItems: 2
88c3e2485dSMaxime Ripard
89c3e2485dSMaxime Ripard  interrupts:
90c3e2485dSMaxime Ripard    maxItems: 1
91c3e2485dSMaxime Ripard
92c3e2485dSMaxime Ripard  resets:
93c3e2485dSMaxime Ripard    minItems: 1
94c3e2485dSMaxime Ripard    maxItems: 4
95c3e2485dSMaxime Ripard
96c3e2485dSMaxime Ripard  clocks:
97c3e2485dSMaxime Ripard    minItems: 1
98c3e2485dSMaxime Ripard    maxItems: 4
99c3e2485dSMaxime Ripard    description: |
100c3e2485dSMaxime Ripard      In case the Renesas R-Car Gen3 SoCs:
101c3e2485dSMaxime Ripard        - if a host only channel: first clock should be host.
102c3e2485dSMaxime Ripard        - if a USB DRD channel: first clock should be host and second
103c3e2485dSMaxime Ripard          one should be peripheral
104c3e2485dSMaxime Ripard
105f98d7c3aSGeert Uytterhoeven  power-domains:
106f98d7c3aSGeert Uytterhoeven    maxItems: 1
107f98d7c3aSGeert Uytterhoeven
108c3e2485dSMaxime Ripard  big-endian:
109c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
110c3e2485dSMaxime Ripard    description:
111c3e2485dSMaxime Ripard      Set this flag for HCDs with big endian descriptors and big
112c3e2485dSMaxime Ripard      endian registers.
113c3e2485dSMaxime Ripard
114c3e2485dSMaxime Ripard  big-endian-desc:
115c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
116c3e2485dSMaxime Ripard    description:
117c3e2485dSMaxime Ripard      Set this flag for HCDs with big endian descriptors.
118c3e2485dSMaxime Ripard
119c3e2485dSMaxime Ripard  big-endian-regs:
120c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
121c3e2485dSMaxime Ripard    description:
122c3e2485dSMaxime Ripard      Set this flag for HCDs with big endian registers.
123c3e2485dSMaxime Ripard
124c3e2485dSMaxime Ripard  has-transaction-translator:
125c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
126c3e2485dSMaxime Ripard    description:
127c3e2485dSMaxime Ripard      Set this flag if EHCI has a Transaction Translator built into
128c3e2485dSMaxime Ripard      the root hub.
129c3e2485dSMaxime Ripard
130c3e2485dSMaxime Ripard  needs-reset-on-resume:
131c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
132c3e2485dSMaxime Ripard    description:
133c3e2485dSMaxime Ripard      Set this flag to force EHCI reset after resume.
134c3e2485dSMaxime Ripard
13581d23855SÁlvaro Fernández Rojas  spurious-oc:
13681d23855SÁlvaro Fernández Rojas    $ref: /schemas/types.yaml#/definitions/flag
13781d23855SÁlvaro Fernández Rojas    description:
13881d23855SÁlvaro Fernández Rojas      Set this flag to indicate that the hardware sometimes turns on
13981d23855SÁlvaro Fernández Rojas      the OC bit when an over-current isn't actually present.
14081d23855SÁlvaro Fernández Rojas
1413aa3c66aSMaxime Ripard  phys:
1429faa1c8fSGeert Uytterhoeven    minItems: 1
1439faa1c8fSGeert Uytterhoeven    maxItems: 3
1443aa3c66aSMaxime Ripard
1453aa3c66aSMaxime Ripard  phy-names:
1463aa3c66aSMaxime Ripard    const: usb
147c3e2485dSMaxime Ripard
14859ffe4edSAndre Przywara  iommus:
14959ffe4edSAndre Przywara    maxItems: 1
15059ffe4edSAndre Przywara
15131f21e2aSBiju Das  dr_mode:
15231f21e2aSBiju Das    enum:
15331f21e2aSBiju Das      - host
15431f21e2aSBiju Das      - otg
15531f21e2aSBiju Das
156c3e2485dSMaxime Ripardrequired:
157c3e2485dSMaxime Ripard  - compatible
158c3e2485dSMaxime Ripard  - reg
159c3e2485dSMaxime Ripard  - interrupts
160c3e2485dSMaxime Ripard
161817f9ee0SFabrice GasnierunevaluatedProperties: false
162c3e2485dSMaxime Ripard
163c3e2485dSMaxime Ripardexamples:
164c3e2485dSMaxime Ripard  - |
1655ff88144SMaxime Ripard    usb@e0000300 {
1665ae01e76SRob Herring        compatible = "ibm,usb-ehci-440epx", "usb-ehci";
167c3e2485dSMaxime Ripard        interrupt-parent = <&UIC0>;
168c3e2485dSMaxime Ripard        interrupts = <0x1a 4>;
169fba56184SRob Herring        reg = <0xe0000300 90>, <0xe0000390 70>;
170c3e2485dSMaxime Ripard        big-endian;
171c3e2485dSMaxime Ripard    };
172c3e2485dSMaxime Ripard
173c3e2485dSMaxime Ripard  - |
174c3e2485dSMaxime Ripard    ehci0: usb@1c14000 {
175c3e2485dSMaxime Ripard        compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
176c3e2485dSMaxime Ripard        reg = <0x01c14000 0x100>;
177c3e2485dSMaxime Ripard        interrupts = <39>;
178c3e2485dSMaxime Ripard        clocks = <&ahb_gates 1>;
179c3e2485dSMaxime Ripard        phys = <&usbphy 1>;
1803aa3c66aSMaxime Ripard        phy-names = "usb";
181c3e2485dSMaxime Ripard    };
182c3e2485dSMaxime Ripard
183c3e2485dSMaxime Ripard...
184