1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/usb/samsung,exynos-usb2.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung Exynos SoC USB 2.0 EHCI/OHCI Controller
8
9maintainers:
10  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
11
12properties:
13  compatible:
14    enum:
15      - samsung,exynos4210-ehci
16      - samsung,exynos4210-ohci
17
18  '#address-cells':
19    const: 1
20
21  clocks:
22    maxItems: 1
23
24  clock-names:
25    items:
26      - const: usbhost
27
28  interrupts:
29    maxItems: 1
30
31  phys:
32    minItems: 1
33    maxItems: 3
34
35  phy-names:
36    items:
37      enum: [host, hsic0, hsic1]
38    minItems: 1
39    maxItems: 3
40
41  reg:
42    maxItems: 1
43
44  samsung,vbus-gpio:
45    description:
46      Only for controller in EHCI mode, if present, specifies the GPIO that
47      needs to be pulled up for the bus to be powered.
48
49  '#size-cells':
50    const: 0
51
52patternProperties:
53  "^.*@[0-9a-f]{1,2}$":
54    description: The hard wired USB devices
55    type: object
56    $ref: /usb/usb-device.yaml
57
58required:
59  - compatible
60  - clocks
61  - clock-names
62  - interrupts
63  - phys
64  - phy-names
65  - reg
66
67allOf:
68  - if:
69      properties:
70        compatible:
71          contains:
72            const: samsung,exynos4210-ohci
73    then:
74      properties:
75        samsung,vbus-gpio: false
76
77additionalProperties: false
78
79examples:
80  - |
81    #include <dt-bindings/clock/exynos5420.h>
82    #include <dt-bindings/interrupt-controller/arm-gic.h>
83
84    usb@12110000 {
85        compatible = "samsung,exynos4210-ehci";
86        reg = <0x12110000 0x100>;
87        interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
88        clocks = <&clock CLK_USBH20>;
89        clock-names = "usbhost";
90        phys = <&usb2_phy 0>;
91        phy-names = "host";
92
93        #address-cells = <1>;
94        #size-cells = <0>;
95
96        hub@1 {
97            compatible = "usb0424,9514";
98            reg = <1>;
99            #address-cells = <1>;
100            #size-cells = <0>;
101
102            usbether@1 {
103                compatible = "usb0424,ec00";
104                reg = <1>;
105                local-mac-address = [00 00 00 00 00 00];
106            };
107        };
108    };
109
110    usb@12120000 {
111        compatible = "samsung,exynos4210-ohci";
112        reg = <0x12120000 0x100>;
113        interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
114        clocks = <&clock CLK_USBH20>;
115        clock-names = "usbhost";
116        phys = <&usb2_phy 0>;
117        phy-names = "host";
118    };
119