1*949ea75bSKrzysztof Kozlowski# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2*949ea75bSKrzysztof Kozlowski%YAML 1.2
3*949ea75bSKrzysztof Kozlowski---
4*949ea75bSKrzysztof Kozlowski$id: http://devicetree.org/schemas/usb/samsung,exynos-dwc3.yaml#
5*949ea75bSKrzysztof Kozlowski$schema: http://devicetree.org/meta-schemas/core.yaml#
6*949ea75bSKrzysztof Kozlowski
7*949ea75bSKrzysztof Kozlowskititle: Samsung Exynos SoC USB 3.0 DWC3 Controller
8*949ea75bSKrzysztof Kozlowski
9*949ea75bSKrzysztof Kozlowskimaintainers:
10*949ea75bSKrzysztof Kozlowski  - Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
11*949ea75bSKrzysztof Kozlowski
12*949ea75bSKrzysztof Kozlowskiproperties:
13*949ea75bSKrzysztof Kozlowski  compatible:
14*949ea75bSKrzysztof Kozlowski    enum:
15*949ea75bSKrzysztof Kozlowski      - samsung,exynos5250-dwusb3
16*949ea75bSKrzysztof Kozlowski      - samsung,exynos5433-dwusb3
17*949ea75bSKrzysztof Kozlowski      - samsung,exynos7-dwusb3
18*949ea75bSKrzysztof Kozlowski
19*949ea75bSKrzysztof Kozlowski  '#address-cells':
20*949ea75bSKrzysztof Kozlowski    const: 1
21*949ea75bSKrzysztof Kozlowski
22*949ea75bSKrzysztof Kozlowski  clocks:
23*949ea75bSKrzysztof Kozlowski    minItems: 1
24*949ea75bSKrzysztof Kozlowski    maxItems: 4
25*949ea75bSKrzysztof Kozlowski
26*949ea75bSKrzysztof Kozlowski  clock-names:
27*949ea75bSKrzysztof Kozlowski    minItems: 1
28*949ea75bSKrzysztof Kozlowski    maxItems: 4
29*949ea75bSKrzysztof Kozlowski
30*949ea75bSKrzysztof Kozlowski  ranges: true
31*949ea75bSKrzysztof Kozlowski
32*949ea75bSKrzysztof Kozlowski  '#size-cells':
33*949ea75bSKrzysztof Kozlowski    const: 1
34*949ea75bSKrzysztof Kozlowski
35*949ea75bSKrzysztof Kozlowski  vdd10-supply:
36*949ea75bSKrzysztof Kozlowski    description: 1.0V power supply
37*949ea75bSKrzysztof Kozlowski
38*949ea75bSKrzysztof Kozlowski  vdd33-supply:
39*949ea75bSKrzysztof Kozlowski    description: 3.0V/3.3V power supply
40*949ea75bSKrzysztof Kozlowski
41*949ea75bSKrzysztof KozlowskipatternProperties:
42*949ea75bSKrzysztof Kozlowski  "^usb@[0-9a-f]+$":
43*949ea75bSKrzysztof Kozlowski    $ref: snps,dwc3.yaml#
44*949ea75bSKrzysztof Kozlowski    description: Required child node
45*949ea75bSKrzysztof Kozlowski
46*949ea75bSKrzysztof Kozlowskirequired:
47*949ea75bSKrzysztof Kozlowski  - compatible
48*949ea75bSKrzysztof Kozlowski  - '#address-cells'
49*949ea75bSKrzysztof Kozlowski  - clocks
50*949ea75bSKrzysztof Kozlowski  - clock-names
51*949ea75bSKrzysztof Kozlowski  - ranges
52*949ea75bSKrzysztof Kozlowski  - '#size-cells'
53*949ea75bSKrzysztof Kozlowski  - vdd10-supply
54*949ea75bSKrzysztof Kozlowski  - vdd33-supply
55*949ea75bSKrzysztof Kozlowski
56*949ea75bSKrzysztof KozlowskiallOf:
57*949ea75bSKrzysztof Kozlowski  - if:
58*949ea75bSKrzysztof Kozlowski      properties:
59*949ea75bSKrzysztof Kozlowski        compatible:
60*949ea75bSKrzysztof Kozlowski          contains:
61*949ea75bSKrzysztof Kozlowski            const: samsung,exynos5250-dwusb3
62*949ea75bSKrzysztof Kozlowski    then:
63*949ea75bSKrzysztof Kozlowski      properties:
64*949ea75bSKrzysztof Kozlowski        clocks:
65*949ea75bSKrzysztof Kozlowski          minItems: 1
66*949ea75bSKrzysztof Kozlowski          maxItems: 1
67*949ea75bSKrzysztof Kozlowski        clock-names:
68*949ea75bSKrzysztof Kozlowski          items:
69*949ea75bSKrzysztof Kozlowski            - const: usbdrd30
70*949ea75bSKrzysztof Kozlowski
71*949ea75bSKrzysztof Kozlowski  - if:
72*949ea75bSKrzysztof Kozlowski      properties:
73*949ea75bSKrzysztof Kozlowski        compatible:
74*949ea75bSKrzysztof Kozlowski          contains:
75*949ea75bSKrzysztof Kozlowski            const: samsung,exynos54333-dwusb3
76*949ea75bSKrzysztof Kozlowski    then:
77*949ea75bSKrzysztof Kozlowski      properties:
78*949ea75bSKrzysztof Kozlowski        clocks:
79*949ea75bSKrzysztof Kozlowski          minItems: 4
80*949ea75bSKrzysztof Kozlowski          maxItems: 4
81*949ea75bSKrzysztof Kozlowski        clock-names:
82*949ea75bSKrzysztof Kozlowski          items:
83*949ea75bSKrzysztof Kozlowski            - const: aclk
84*949ea75bSKrzysztof Kozlowski            - const: susp_clk
85*949ea75bSKrzysztof Kozlowski            - const: pipe_pclk
86*949ea75bSKrzysztof Kozlowski            - const: phyclk
87*949ea75bSKrzysztof Kozlowski
88*949ea75bSKrzysztof Kozlowski  - if:
89*949ea75bSKrzysztof Kozlowski      properties:
90*949ea75bSKrzysztof Kozlowski        compatible:
91*949ea75bSKrzysztof Kozlowski          contains:
92*949ea75bSKrzysztof Kozlowski            const: samsung,exynos7-dwusb3
93*949ea75bSKrzysztof Kozlowski    then:
94*949ea75bSKrzysztof Kozlowski      properties:
95*949ea75bSKrzysztof Kozlowski        clocks:
96*949ea75bSKrzysztof Kozlowski          minItems: 3
97*949ea75bSKrzysztof Kozlowski          maxItems: 3
98*949ea75bSKrzysztof Kozlowski        clock-names:
99*949ea75bSKrzysztof Kozlowski          items:
100*949ea75bSKrzysztof Kozlowski            - const: usbdrd30
101*949ea75bSKrzysztof Kozlowski            - const: usbdrd30_susp_clk
102*949ea75bSKrzysztof Kozlowski            - const: usbdrd30_axius_clk
103*949ea75bSKrzysztof Kozlowski
104*949ea75bSKrzysztof KozlowskiadditionalProperties: false
105*949ea75bSKrzysztof Kozlowski
106*949ea75bSKrzysztof Kozlowskiexamples:
107*949ea75bSKrzysztof Kozlowski  - |
108*949ea75bSKrzysztof Kozlowski    #include <dt-bindings/clock/exynos5420.h>
109*949ea75bSKrzysztof Kozlowski    #include <dt-bindings/interrupt-controller/arm-gic.h>
110*949ea75bSKrzysztof Kozlowski
111*949ea75bSKrzysztof Kozlowski    usb {
112*949ea75bSKrzysztof Kozlowski        compatible = "samsung,exynos5250-dwusb3";
113*949ea75bSKrzysztof Kozlowski        #address-cells = <1>;
114*949ea75bSKrzysztof Kozlowski        #size-cells = <1>;
115*949ea75bSKrzysztof Kozlowski        ranges;
116*949ea75bSKrzysztof Kozlowski        clocks = <&clock CLK_USBD300>;
117*949ea75bSKrzysztof Kozlowski        clock-names = "usbdrd30";
118*949ea75bSKrzysztof Kozlowski        vdd33-supply = <&ldo9_reg>;
119*949ea75bSKrzysztof Kozlowski        vdd10-supply = <&ldo11_reg>;
120*949ea75bSKrzysztof Kozlowski
121*949ea75bSKrzysztof Kozlowski        usb@12000000 {
122*949ea75bSKrzysztof Kozlowski            compatible = "snps,dwc3";
123*949ea75bSKrzysztof Kozlowski            reg = <0x12000000 0x10000>;
124*949ea75bSKrzysztof Kozlowski            interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
125*949ea75bSKrzysztof Kozlowski            phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>;
126*949ea75bSKrzysztof Kozlowski            phy-names = "usb2-phy", "usb3-phy";
127*949ea75bSKrzysztof Kozlowski            snps,dis_u3_susphy_quirk;
128*949ea75bSKrzysztof Kozlowski        };
129*949ea75bSKrzysztof Kozlowski    };
130