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
7c3e2485dSMaxime Ripardtitle: USB EHCI Controller Device Tree Bindings
8c3e2485dSMaxime Ripard
9c3e2485dSMaxime Ripardmaintainers:
10c3e2485dSMaxime Ripard  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
11c3e2485dSMaxime Ripard
123c9ab53fSRob HerringallOf:
133c9ab53fSRob 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
335ae01e76SRob Herring              - allwinner,sun5i-a13-ehci
345ae01e76SRob Herring              - allwinner,sun6i-a31-ehci
355ae01e76SRob Herring              - allwinner,sun7i-a20-ehci
365ae01e76SRob Herring              - allwinner,sun8i-a23-ehci
375ae01e76SRob Herring              - allwinner,sun8i-h3-ehci
385ae01e76SRob Herring              - allwinner,sun8i-r40-ehci
395ae01e76SRob Herring              - allwinner,sun9i-a80-ehci
405ae01e76SRob Herring              - aspeed,ast2400-ehci
415ae01e76SRob Herring              - aspeed,ast2500-ehci
425ae01e76SRob Herring              - aspeed,ast2600-ehci
435ae01e76SRob Herring              - brcm,bcm3384-ehci
445ae01e76SRob Herring              - brcm,bcm63268-ehci
455ae01e76SRob Herring              - brcm,bcm6328-ehci
465ae01e76SRob Herring              - brcm,bcm6358-ehci
475ae01e76SRob Herring              - brcm,bcm6362-ehci
485ae01e76SRob Herring              - brcm,bcm6368-ehci
495ae01e76SRob Herring              - brcm,bcm7125-ehci
505ae01e76SRob Herring              - brcm,bcm7346-ehci
515ae01e76SRob Herring              - brcm,bcm7358-ehci
525ae01e76SRob Herring              - brcm,bcm7360-ehci
535ae01e76SRob Herring              - brcm,bcm7362-ehci
545ae01e76SRob Herring              - brcm,bcm7420-ehci
555ae01e76SRob Herring              - brcm,bcm7425-ehci
565ae01e76SRob Herring              - brcm,bcm7435-ehci
575ae01e76SRob Herring              - ibm,476gtr-ehci
585ae01e76SRob Herring              - nxp,lpc1850-ehci
595ae01e76SRob Herring              - qca,ar7100-ehci
605ae01e76SRob Herring              - snps,hsdk-v1.0-ehci
615ae01e76SRob Herring              - socionext,uniphier-ehci
625ae01e76SRob Herring          - const: generic-ehci
635ae01e76SRob Herring      - items:
645ae01e76SRob Herring          - enum:
655ae01e76SRob Herring              - cavium,octeon-6335-ehci
665ae01e76SRob Herring              - ibm,usb-ehci-440epx
675ae01e76SRob Herring              - ibm,usb-ehci-460ex
685ae01e76SRob Herring              - nintendo,hollywood-usb-ehci
695ae01e76SRob Herring              - st,spear600-ehci
705ae01e76SRob Herring          - const: usb-ehci
715ae01e76SRob Herring      - enum:
725ae01e76SRob Herring          - generic-ehci
735ae01e76SRob Herring          - usb-ehci
74c3e2485dSMaxime Ripard
75c3e2485dSMaxime Ripard  reg:
763c9ab53fSRob Herring    minItems: 1
773c9ab53fSRob Herring    maxItems: 2
78c3e2485dSMaxime Ripard
79c3e2485dSMaxime Ripard  interrupts:
80c3e2485dSMaxime Ripard    maxItems: 1
81c3e2485dSMaxime Ripard
82c3e2485dSMaxime Ripard  resets:
83c3e2485dSMaxime Ripard    minItems: 1
84c3e2485dSMaxime Ripard    maxItems: 4
85c3e2485dSMaxime Ripard
86c3e2485dSMaxime Ripard  clocks:
87c3e2485dSMaxime Ripard    minItems: 1
88c3e2485dSMaxime Ripard    maxItems: 4
89c3e2485dSMaxime Ripard    description: |
90c3e2485dSMaxime Ripard      In case the Renesas R-Car Gen3 SoCs:
91c3e2485dSMaxime Ripard        - if a host only channel: first clock should be host.
92c3e2485dSMaxime Ripard        - if a USB DRD channel: first clock should be host and second
93c3e2485dSMaxime Ripard          one should be peripheral
94c3e2485dSMaxime Ripard
95f98d7c3aSGeert Uytterhoeven  power-domains:
96f98d7c3aSGeert Uytterhoeven    maxItems: 1
97f98d7c3aSGeert Uytterhoeven
98c3e2485dSMaxime Ripard  big-endian:
99c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
100c3e2485dSMaxime Ripard    description:
101c3e2485dSMaxime Ripard      Set this flag for HCDs with big endian descriptors and big
102c3e2485dSMaxime Ripard      endian registers.
103c3e2485dSMaxime Ripard
104c3e2485dSMaxime Ripard  big-endian-desc:
105c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
106c3e2485dSMaxime Ripard    description:
107c3e2485dSMaxime Ripard      Set this flag for HCDs with big endian descriptors.
108c3e2485dSMaxime Ripard
109c3e2485dSMaxime Ripard  big-endian-regs:
110c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
111c3e2485dSMaxime Ripard    description:
112c3e2485dSMaxime Ripard      Set this flag for HCDs with big endian registers.
113c3e2485dSMaxime Ripard
114c3e2485dSMaxime Ripard  has-transaction-translator:
115c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
116c3e2485dSMaxime Ripard    description:
117c3e2485dSMaxime Ripard      Set this flag if EHCI has a Transaction Translator built into
118c3e2485dSMaxime Ripard      the root hub.
119c3e2485dSMaxime Ripard
120c3e2485dSMaxime Ripard  needs-reset-on-resume:
121c3e2485dSMaxime Ripard    $ref: /schemas/types.yaml#/definitions/flag
122c3e2485dSMaxime Ripard    description:
123c3e2485dSMaxime Ripard      Set this flag to force EHCI reset after resume.
124c3e2485dSMaxime Ripard
125*81d23855SÁlvaro Fernández Rojas  spurious-oc:
126*81d23855SÁlvaro Fernández Rojas    $ref: /schemas/types.yaml#/definitions/flag
127*81d23855SÁlvaro Fernández Rojas    description:
128*81d23855SÁlvaro Fernández Rojas      Set this flag to indicate that the hardware sometimes turns on
129*81d23855SÁlvaro Fernández Rojas      the OC bit when an over-current isn't actually present.
130*81d23855SÁlvaro Fernández Rojas
13102ceb12cSAlexandre Torgue  companion:
13202ceb12cSAlexandre Torgue    $ref: /schemas/types.yaml#/definitions/phandle
13302ceb12cSAlexandre Torgue    description:
13402ceb12cSAlexandre Torgue      Phandle of a companion.
13502ceb12cSAlexandre Torgue
1363aa3c66aSMaxime Ripard  phys:
1370499220dSRob Herring    maxItems: 1
1383aa3c66aSMaxime Ripard
1393aa3c66aSMaxime Ripard  phy-names:
1403aa3c66aSMaxime Ripard    const: usb
141c3e2485dSMaxime Ripard
14259ffe4edSAndre Przywara  iommus:
14359ffe4edSAndre Przywara    maxItems: 1
14459ffe4edSAndre Przywara
145c3e2485dSMaxime Ripardrequired:
146c3e2485dSMaxime Ripard  - compatible
147c3e2485dSMaxime Ripard  - reg
148c3e2485dSMaxime Ripard  - interrupts
149c3e2485dSMaxime Ripard
150c3e2485dSMaxime RipardadditionalProperties: false
151c3e2485dSMaxime Ripard
152c3e2485dSMaxime Ripardexamples:
153c3e2485dSMaxime Ripard  - |
1545ff88144SMaxime Ripard    usb@e0000300 {
1555ae01e76SRob Herring        compatible = "ibm,usb-ehci-440epx", "usb-ehci";
156c3e2485dSMaxime Ripard        interrupt-parent = <&UIC0>;
157c3e2485dSMaxime Ripard        interrupts = <0x1a 4>;
158fba56184SRob Herring        reg = <0xe0000300 90>, <0xe0000390 70>;
159c3e2485dSMaxime Ripard        big-endian;
160c3e2485dSMaxime Ripard    };
161c3e2485dSMaxime Ripard
162c3e2485dSMaxime Ripard  - |
163c3e2485dSMaxime Ripard    ehci0: usb@1c14000 {
164c3e2485dSMaxime Ripard        compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
165c3e2485dSMaxime Ripard        reg = <0x01c14000 0x100>;
166c3e2485dSMaxime Ripard        interrupts = <39>;
167c3e2485dSMaxime Ripard        clocks = <&ahb_gates 1>;
168c3e2485dSMaxime Ripard        phys = <&usbphy 1>;
1693aa3c66aSMaxime Ripard        phy-names = "usb";
170c3e2485dSMaxime Ripard    };
171c3e2485dSMaxime Ripard
172c3e2485dSMaxime Ripard...
173