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  big-endian:
40    $ref: /schemas/types.yaml#/definitions/flag
41    description:
42      Set this flag for HCDs with big endian descriptors and big
43      endian registers.
44
45  big-endian-desc:
46    $ref: /schemas/types.yaml#/definitions/flag
47    description:
48      Set this flag for HCDs with big endian descriptors.
49
50  big-endian-regs:
51    $ref: /schemas/types.yaml#/definitions/flag
52    description:
53      Set this flag for HCDs with big endian registers.
54
55  has-transaction-translator:
56    $ref: /schemas/types.yaml#/definitions/flag
57    description:
58      Set this flag if EHCI has a Transaction Translator built into
59      the root hub.
60
61  needs-reset-on-resume:
62    $ref: /schemas/types.yaml#/definitions/flag
63    description:
64      Set this flag to force EHCI reset after resume.
65
66  companion:
67    $ref: /schemas/types.yaml#/definitions/phandle
68    description:
69     Phandle of a companion.
70
71  phys:
72    description: PHY specifier for the USB PHY
73
74  phy-names:
75    const: usb
76
77required:
78  - compatible
79  - reg
80  - interrupts
81
82additionalProperties: false
83
84examples:
85  - |
86    usb@e0000300 {
87        compatible = "ibm,usb-ehci-440epx", "generic-ehci";
88        interrupt-parent = <&UIC0>;
89        interrupts = <0x1a 4>;
90        reg = <0 0xe0000300 90 0 0xe0000390 70>;
91        big-endian;
92    };
93
94  - |
95    ehci0: usb@1c14000 {
96        compatible = "allwinner,sun4i-a10-ehci", "generic-ehci";
97        reg = <0x01c14000 0x100>;
98        interrupts = <39>;
99        clocks = <&ahb_gates 1>;
100        phys = <&usbphy 1>;
101        phy-names = "usb";
102    };
103
104...
105