1949ea75bSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2949ea75bSKrzysztof Kozlowski%YAML 1.2
3949ea75bSKrzysztof Kozlowski---
4949ea75bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/usb/samsung,exynos-dwc3.yaml#
5949ea75bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6949ea75bSKrzysztof Kozlowski
7949ea75bSKrzysztof Kozlowskititle: Samsung Exynos SoC USB 3.0 DWC3 Controller
8949ea75bSKrzysztof Kozlowski
9949ea75bSKrzysztof Kozlowskimaintainers:
10*8a1e6bb3SKrzysztof Kozlowski  - Krzysztof Kozlowski <krzk@kernel.org>
11949ea75bSKrzysztof Kozlowski
12949ea75bSKrzysztof Kozlowskiproperties:
13949ea75bSKrzysztof Kozlowski  compatible:
14949ea75bSKrzysztof Kozlowski    enum:
15949ea75bSKrzysztof Kozlowski      - samsung,exynos5250-dwusb3
16949ea75bSKrzysztof Kozlowski      - samsung,exynos5433-dwusb3
17949ea75bSKrzysztof Kozlowski      - samsung,exynos7-dwusb3
18949ea75bSKrzysztof Kozlowski
19949ea75bSKrzysztof Kozlowski  '#address-cells':
20949ea75bSKrzysztof Kozlowski    const: 1
21949ea75bSKrzysztof Kozlowski
22949ea75bSKrzysztof Kozlowski  clocks:
23949ea75bSKrzysztof Kozlowski    minItems: 1
24949ea75bSKrzysztof Kozlowski    maxItems: 4
25949ea75bSKrzysztof Kozlowski
26949ea75bSKrzysztof Kozlowski  clock-names:
27949ea75bSKrzysztof Kozlowski    minItems: 1
28949ea75bSKrzysztof Kozlowski    maxItems: 4
29949ea75bSKrzysztof Kozlowski
30949ea75bSKrzysztof Kozlowski  ranges: true
31949ea75bSKrzysztof Kozlowski
32949ea75bSKrzysztof Kozlowski  '#size-cells':
33949ea75bSKrzysztof Kozlowski    const: 1
34949ea75bSKrzysztof Kozlowski
35949ea75bSKrzysztof Kozlowski  vdd10-supply:
36949ea75bSKrzysztof Kozlowski    description: 1.0V power supply
37949ea75bSKrzysztof Kozlowski
38949ea75bSKrzysztof Kozlowski  vdd33-supply:
39949ea75bSKrzysztof Kozlowski    description: 3.0V/3.3V power supply
40949ea75bSKrzysztof Kozlowski
41949ea75bSKrzysztof KozlowskipatternProperties:
42949ea75bSKrzysztof Kozlowski  "^usb@[0-9a-f]+$":
43949ea75bSKrzysztof Kozlowski    $ref: snps,dwc3.yaml#
44949ea75bSKrzysztof Kozlowski    description: Required child node
45949ea75bSKrzysztof Kozlowski
46949ea75bSKrzysztof Kozlowskirequired:
47949ea75bSKrzysztof Kozlowski  - compatible
48949ea75bSKrzysztof Kozlowski  - '#address-cells'
49949ea75bSKrzysztof Kozlowski  - clocks
50949ea75bSKrzysztof Kozlowski  - clock-names
51949ea75bSKrzysztof Kozlowski  - ranges
52949ea75bSKrzysztof Kozlowski  - '#size-cells'
53949ea75bSKrzysztof Kozlowski  - vdd10-supply
54949ea75bSKrzysztof Kozlowski  - vdd33-supply
55949ea75bSKrzysztof Kozlowski
56949ea75bSKrzysztof KozlowskiallOf:
57949ea75bSKrzysztof Kozlowski  - if:
58949ea75bSKrzysztof Kozlowski      properties:
59949ea75bSKrzysztof Kozlowski        compatible:
60949ea75bSKrzysztof Kozlowski          contains:
61949ea75bSKrzysztof Kozlowski            const: samsung,exynos5250-dwusb3
62949ea75bSKrzysztof Kozlowski    then:
63949ea75bSKrzysztof Kozlowski      properties:
64949ea75bSKrzysztof Kozlowski        clocks:
65949ea75bSKrzysztof Kozlowski          minItems: 1
66949ea75bSKrzysztof Kozlowski          maxItems: 1
67949ea75bSKrzysztof Kozlowski        clock-names:
68949ea75bSKrzysztof Kozlowski          items:
69949ea75bSKrzysztof Kozlowski            - const: usbdrd30
70949ea75bSKrzysztof Kozlowski
71949ea75bSKrzysztof Kozlowski  - if:
72949ea75bSKrzysztof Kozlowski      properties:
73949ea75bSKrzysztof Kozlowski        compatible:
74949ea75bSKrzysztof Kozlowski          contains:
75949ea75bSKrzysztof Kozlowski            const: samsung,exynos54333-dwusb3
76949ea75bSKrzysztof Kozlowski    then:
77949ea75bSKrzysztof Kozlowski      properties:
78949ea75bSKrzysztof Kozlowski        clocks:
79949ea75bSKrzysztof Kozlowski          minItems: 4
80949ea75bSKrzysztof Kozlowski          maxItems: 4
81949ea75bSKrzysztof Kozlowski        clock-names:
82949ea75bSKrzysztof Kozlowski          items:
83949ea75bSKrzysztof Kozlowski            - const: aclk
84949ea75bSKrzysztof Kozlowski            - const: susp_clk
85949ea75bSKrzysztof Kozlowski            - const: pipe_pclk
86949ea75bSKrzysztof Kozlowski            - const: phyclk
87949ea75bSKrzysztof Kozlowski
88949ea75bSKrzysztof Kozlowski  - if:
89949ea75bSKrzysztof Kozlowski      properties:
90949ea75bSKrzysztof Kozlowski        compatible:
91949ea75bSKrzysztof Kozlowski          contains:
92949ea75bSKrzysztof Kozlowski            const: samsung,exynos7-dwusb3
93949ea75bSKrzysztof Kozlowski    then:
94949ea75bSKrzysztof Kozlowski      properties:
95949ea75bSKrzysztof Kozlowski        clocks:
96949ea75bSKrzysztof Kozlowski          minItems: 3
97949ea75bSKrzysztof Kozlowski          maxItems: 3
98949ea75bSKrzysztof Kozlowski        clock-names:
99949ea75bSKrzysztof Kozlowski          items:
100949ea75bSKrzysztof Kozlowski            - const: usbdrd30
101949ea75bSKrzysztof Kozlowski            - const: usbdrd30_susp_clk
102949ea75bSKrzysztof Kozlowski            - const: usbdrd30_axius_clk
103949ea75bSKrzysztof Kozlowski
104949ea75bSKrzysztof KozlowskiadditionalProperties: false
105949ea75bSKrzysztof Kozlowski
106949ea75bSKrzysztof Kozlowskiexamples:
107949ea75bSKrzysztof Kozlowski  - |
108949ea75bSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos5420.h>
109949ea75bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
110949ea75bSKrzysztof Kozlowski
111949ea75bSKrzysztof Kozlowski    usb {
112949ea75bSKrzysztof Kozlowski        compatible = "samsung,exynos5250-dwusb3";
113949ea75bSKrzysztof Kozlowski        #address-cells = <1>;
114949ea75bSKrzysztof Kozlowski        #size-cells = <1>;
115949ea75bSKrzysztof Kozlowski        ranges;
116949ea75bSKrzysztof Kozlowski        clocks = <&clock CLK_USBD300>;
117949ea75bSKrzysztof Kozlowski        clock-names = "usbdrd30";
118949ea75bSKrzysztof Kozlowski        vdd33-supply = <&ldo9_reg>;
119949ea75bSKrzysztof Kozlowski        vdd10-supply = <&ldo11_reg>;
120949ea75bSKrzysztof Kozlowski
121949ea75bSKrzysztof Kozlowski        usb@12000000 {
122949ea75bSKrzysztof Kozlowski            compatible = "snps,dwc3";
123949ea75bSKrzysztof Kozlowski            reg = <0x12000000 0x10000>;
124949ea75bSKrzysztof Kozlowski            interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
125949ea75bSKrzysztof Kozlowski            phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>;
126949ea75bSKrzysztof Kozlowski            phy-names = "usb2-phy", "usb3-phy";
127949ea75bSKrzysztof Kozlowski            snps,dis_u3_susphy_quirk;
128949ea75bSKrzysztof Kozlowski        };
129949ea75bSKrzysztof Kozlowski    };
130