blob: 1ade99e85ba8f5078239ccb8bf9110b4f323cf11 [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:
15 - samsung,exynos5250-dwusb3
16 - samsung,exynos5433-dwusb3
17 - samsung,exynos7-dwusb3
18 - samsung,exynos850-dwusb3
19
20 '#address-cells':
21 const: 1
22
23 clocks:
24 minItems: 1
25 maxItems: 4
26
27 clock-names:
28 minItems: 1
29 maxItems: 4
30
31 ranges: true
32
33 '#size-cells':
34 const: 1
35
36 vdd10-supply:
37 description: 1.0V power supply
38
39 vdd33-supply:
40 description: 3.0V/3.3V power supply
41
42patternProperties:
43 "^usb@[0-9a-f]+$":
44 $ref: snps,dwc3.yaml#
45 description: Required child node
46
47required:
48 - compatible
49 - '#address-cells'
50 - clocks
51 - clock-names
52 - ranges
53 - '#size-cells'
54 - vdd10-supply
55 - vdd33-supply
56
57allOf:
58 - if:
59 properties:
60 compatible:
61 contains:
62 const: samsung,exynos5250-dwusb3
63 then:
64 properties:
65 clocks:
66 minItems: 1
67 maxItems: 1
68 clock-names:
69 items:
70 - const: usbdrd30
71
72 - if:
73 properties:
74 compatible:
75 contains:
76 const: samsung,exynos5433-dwusb3
77 then:
78 properties:
79 clocks:
80 minItems: 4
81 maxItems: 4
82 clock-names:
83 items:
84 - const: aclk
85 - const: susp_clk
86 - const: phyclk
87 - const: pipe_pclk
88
89 - if:
90 properties:
91 compatible:
92 contains:
93 const: samsung,exynos7-dwusb3
94 then:
95 properties:
96 clocks:
97 minItems: 3
98 maxItems: 3
99 clock-names:
100 items:
101 - const: usbdrd30
102 - const: usbdrd30_susp_clk
103 - const: usbdrd30_axius_clk
104
105 - if:
106 properties:
107 compatible:
108 contains:
109 const: samsung,exynos850-dwusb3
110 then:
111 properties:
112 clocks:
113 minItems: 2
114 maxItems: 2
115 clock-names:
116 items:
117 - const: bus_early
118 - const: ref
119
120additionalProperties: false
121
122examples:
123 - |
124 #include <dt-bindings/clock/exynos5420.h>
125 #include <dt-bindings/interrupt-controller/arm-gic.h>
126
127 usb@12000000 {
128 compatible = "samsung,exynos5250-dwusb3";
129 #address-cells = <1>;
130 #size-cells = <1>;
131 ranges = <0x0 0x12000000 0x10000>;
132 clocks = <&clock CLK_USBD300>;
133 clock-names = "usbdrd30";
134 vdd33-supply = <&ldo9_reg>;
135 vdd10-supply = <&ldo11_reg>;
136
137 usb@0 {
138 compatible = "snps,dwc3";
139 reg = <0x0 0x10000>;
140 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
141 phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>;
142 phy-names = "usb2-phy", "usb3-phy";
143 snps,dis_u3_susphy_quirk;
144 };
145 };