blob: 2b3430cebe99106f3b6201ab31d4d9e3fcc55627 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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-dwc3.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Samsung Exynos SoC USB 3.0 DWC3 Controller
8
9maintainers:
10 - Krzysztof Kozlowski <krzk@kernel.org>
11
12properties:
13 compatible:
14 enum:
Tom Rini762f85b2024-07-20 11:15:10 -060015 - google,gs101-dwusb3
Tom Rini53633a82024-02-29 12:33:36 -050016 - samsung,exynos5250-dwusb3
17 - samsung,exynos5433-dwusb3
18 - samsung,exynos7-dwusb3
19 - samsung,exynos850-dwusb3
20
21 '#address-cells':
22 const: 1
23
24 clocks:
25 minItems: 1
26 maxItems: 4
27
28 clock-names:
29 minItems: 1
30 maxItems: 4
31
32 ranges: true
33
34 '#size-cells':
35 const: 1
36
37 vdd10-supply:
38 description: 1.0V power supply
39
40 vdd33-supply:
41 description: 3.0V/3.3V power supply
42
43patternProperties:
44 "^usb@[0-9a-f]+$":
45 $ref: snps,dwc3.yaml#
46 description: Required child node
47
48required:
49 - compatible
50 - '#address-cells'
51 - clocks
52 - clock-names
53 - ranges
54 - '#size-cells'
55 - vdd10-supply
56 - vdd33-supply
57
58allOf:
59 - if:
60 properties:
61 compatible:
62 contains:
Tom Rini762f85b2024-07-20 11:15:10 -060063 const: google,gs101-dwusb3
64 then:
65 properties:
66 clocks:
67 minItems: 4
68 maxItems: 4
69 clock-names:
70 items:
71 - const: bus_early
72 - const: susp_clk
73 - const: link_aclk
74 - const: link_pclk
75
76 - if:
77 properties:
78 compatible:
79 contains:
Tom Rini53633a82024-02-29 12:33:36 -050080 const: samsung,exynos5250-dwusb3
81 then:
82 properties:
83 clocks:
84 minItems: 1
85 maxItems: 1
86 clock-names:
87 items:
88 - const: usbdrd30
89
90 - if:
91 properties:
92 compatible:
93 contains:
94 const: samsung,exynos5433-dwusb3
95 then:
96 properties:
97 clocks:
98 minItems: 4
99 maxItems: 4
100 clock-names:
101 items:
102 - const: aclk
103 - const: susp_clk
104 - const: phyclk
105 - const: pipe_pclk
106
107 - if:
108 properties:
109 compatible:
110 contains:
111 const: samsung,exynos7-dwusb3
112 then:
113 properties:
114 clocks:
115 minItems: 3
116 maxItems: 3
117 clock-names:
118 items:
119 - const: usbdrd30
120 - const: usbdrd30_susp_clk
121 - const: usbdrd30_axius_clk
122
123 - if:
124 properties:
125 compatible:
126 contains:
127 const: samsung,exynos850-dwusb3
128 then:
129 properties:
130 clocks:
131 minItems: 2
132 maxItems: 2
133 clock-names:
134 items:
135 - const: bus_early
136 - const: ref
137
138additionalProperties: false
139
140examples:
141 - |
142 #include <dt-bindings/clock/exynos5420.h>
143 #include <dt-bindings/interrupt-controller/arm-gic.h>
144
145 usb@12000000 {
146 compatible = "samsung,exynos5250-dwusb3";
147 #address-cells = <1>;
148 #size-cells = <1>;
149 ranges = <0x0 0x12000000 0x10000>;
150 clocks = <&clock CLK_USBD300>;
151 clock-names = "usbdrd30";
152 vdd33-supply = <&ldo9_reg>;
153 vdd10-supply = <&ldo11_reg>;
154
155 usb@0 {
156 compatible = "snps,dwc3";
157 reg = <0x0 0x10000>;
158 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
159 phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>;
160 phy-names = "usb2-phy", "usb3-phy";
161 snps,dis_u3_susphy_quirk;
162 };
163 };