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
66allOf:
67  - if:
68      properties:
69        compatible:
70          contains:
71            const: samsung,exynos4210-ohci
72    then:
73      properties:
74        samsung,vbus-gpio: false
75
76additionalProperties: false
77
78examples:
79  - |
80    #include <dt-bindings/clock/exynos5420.h>
81    #include <dt-bindings/interrupt-controller/arm-gic.h>
82
83    usb@12110000 {
84        compatible = "samsung,exynos4210-ehci";
85        reg = <0x12110000 0x100>;
86        interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
87        clocks = <&clock CLK_USBH20>;
88        clock-names = "usbhost";
89        phys = <&usb2_phy 0>;
90        phy-names = "host";
91
92        #address-cells = <1>;
93        #size-cells = <0>;
94
95        hub@1 {
96            compatible = "usb0424,9514";
97            reg = <1>;
98            #address-cells = <1>;
99            #size-cells = <0>;
100
101            usbether@1 {
102                compatible = "usb0424,ec00";
103                reg = <1>;
104                local-mac-address = [00 00 00 00 00 00];
105            };
106        };
107    };
108
109    usb@12120000 {
110        compatible = "samsung,exynos4210-ohci";
111        reg = <0x12120000 0x100>;
112        interrupts = <GIC_SPI 71 IRQ_TYPE_LEVEL_HIGH>;
113        clocks = <&clock CLK_USBH20>;
114        clock-names = "usbhost";
115        phys = <&usb2_phy 0>;
116        phy-names = "host";
117    };
118