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