1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/generic-ehci.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: USB EHCI Controller Device Tree Bindings
8
9allOf:
10  - $ref: "usb-hcd.yaml"
11
12maintainers:
13  - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
14
15properties:
16  compatible:
17    contains:
18      const: generic-ehci
19
20  reg:
21    maxItems: 1
22
23  interrupts:
24    maxItems: 1
25
26  resets:
27    minItems: 1
28    maxItems: 4
29
30  clocks:
31    minItems: 1
32    maxItems: 4
33    description: |
34      In case the Renesas R-Car Gen3 SoCs:
35        - if a host only channel: first clock should be host.
36        - if a USB DRD channel: first clock should be host and second
37          one should be peripheral
38
39  power-domains:
40    maxItems: 1
41
42  big-endian:
43    $ref: /schemas/types.yaml#/definitions/flag
44    description:
45      Set this flag for HCDs with big endian descriptors and big
46      endian registers.
47
48  big-endian-desc:
49    $ref: /schemas/types.yaml#/definitions/flag
50    description:
51      Set this flag for HCDs with big endian descriptors.
52
53  big-endian-regs:
54    $ref: /schemas/types.yaml#/definitions/flag
55    description:
56      Set this flag for HCDs with big endian registers.
57
58  has-transaction-translator:
59    $ref: /schemas/types.yaml#/definitions/flag
60    description:
61      Set this flag if EHCI has a Transaction Translator built into
62      the root hub.
63
64  needs-reset-on-resume:
65    $ref: /schemas/types.yaml#/definitions/flag
66    description:
67      Set this flag to force EHCI reset after resume.
68
69  companion:
70    $ref: /schemas/types.yaml#/definitions/phandle
71    description:
72     Phandle of a companion.
73
74  phys:
75    description: PHY specifier for the USB PHY
76
77  phy-names:
78    const: usb
79
80required:
81  - compatible
82  - reg
83  - interrupts
84
85additionalProperties: false
86
87examples:
88  - |
89    usb@e0000300 {
90        compatible = "ibm,usb-ehci-440epx", "generic-ehci";
91        interrupt-parent = <&UIC0>;
92        interrupts = <0x1a 4>;
93        reg = <0 0xe0000300 90 0 0xe0000390 70>;
94        big-endian;
95    };
96
97  - |
98    ehci0: usb@1c14000 {
99        compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
100        reg = <0x01c14000 0x100>;
101        interrupts = <39>;
102        clocks = <&ahb_gates 1>;
103        phys = <&usbphy 1>;
104        phy-names = "usb";
105    };
106
107...
108