Loading...
Note: File does not exist in v6.13.7.
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Samsung's Exynos3250 based ARTIK5 module device tree source
4 *
5 * Copyright (c) 2016 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 *
8 * Device tree source file for Samsung's ARTIK5 module which is based on
9 * Samsung Exynos3250 SoC.
10 */
11
12#include "exynos3250.dtsi"
13#include <dt-bindings/clock/samsung,s2mps11.h>
14#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/interrupt-controller/irq.h>
16
17/ {
18 compatible = "samsung,artik5", "samsung,exynos3250", "samsung,exynos3";
19
20 chosen {
21 stdout-path = &serial_2;
22 };
23
24 memory@40000000 {
25 device_type = "memory";
26 reg = <0x40000000 0x1ff00000>;
27 };
28
29 firmware@205f000 {
30 compatible = "samsung,secure-firmware";
31 reg = <0x0205f000 0x1000>;
32 };
33
34 thermal-zones {
35 cpu_thermal: cpu-thermal {
36 cooling-maps {
37 map0 {
38 /* Corresponds to 500MHz */
39 cooling-device = <&cpu0 5 5>;
40 };
41 map1 {
42 /* Corresponds to 200MHz */
43 cooling-device = <&cpu0 8 8>;
44 };
45 };
46 };
47 };
48};
49
50&adc {
51 vdd-supply = <&ldo7_reg>;
52 assigned-clocks = <&cmu CLK_SCLK_TSADC>;
53 assigned-clock-rates = <6000000>;
54};
55
56&cpu0 {
57 cpu0-supply = <&buck2_reg>;
58};
59
60&i2c_0 {
61 #address-cells = <1>;
62 #size-cells = <0>;
63 samsung,i2c-sda-delay = <100>;
64 samsung,i2c-slave-addr = <0x10>;
65 samsung,i2c-max-bus-freq = <100000>;
66 status = "okay";
67
68 s2mps14_pmic@66 {
69 compatible = "samsung,s2mps14-pmic";
70 interrupt-parent = <&gpx3>;
71 interrupts = <5 IRQ_TYPE_NONE>;
72 reg = <0x66>;
73
74 s2mps14_osc: clocks {
75 compatible = "samsung,s2mps14-clk";
76 #clock-cells = <1>;
77 clock-output-names = "s2mps14_ap", "unused",
78 "s2mps14_bt";
79 };
80
81 regulators {
82 ldo1_reg: LDO1 {
83 /* VDD_ALIVE15x */
84 regulator-name = "VLDO1_1.0V";
85 regulator-min-microvolt = <1000000>;
86 regulator-max-microvolt = <1000000>;
87 regulator-always-on;
88 };
89
90 ldo2_reg: LDO2 {
91 /* VDDQM176 ~ VDDQM185 */
92 regulator-name = "VLDO2_1.2V";
93 regulator-min-microvolt = <1200000>;
94 regulator-max-microvolt = <1200000>;
95 regulator-always-on;
96 };
97
98 ldo3_reg: LDO3 {
99 /*
100 * VDD1_E106 ~ VDD1_E111
101 * DVDD_RTC_AP, DVDD_MMC2_AP
102 */
103 regulator-name = "VLDO3_1.8V";
104 regulator-min-microvolt = <1800000>;
105 regulator-max-microvolt = <1800000>;
106 regulator-always-on;
107 };
108
109 ldo4_reg: LDO4 {
110 /* AVDD_PLL1120 ~ AVDD_PLL11201 */
111 regulator-name = "VLDO4_1.8V";
112 regulator-min-microvolt = <1800000>;
113 regulator-max-microvolt = <1800000>;
114 regulator-always-on;
115 };
116
117 ldo5_reg: LDO5 {
118 /* VDDI_PLL_ISO141 ~ VDDI_PLL_ISO142 */
119 regulator-name = "VLDO5_1.0V";
120 regulator-min-microvolt = <1000000>;
121 regulator-max-microvolt = <1000000>;
122 regulator-always-on;
123 };
124
125 ldo6_reg: LDO6 {
126 /* VDD_USB, VDD10_HSIC */
127 regulator-name = "VLDO6_1.0V";
128 regulator-min-microvolt = <1000000>;
129 regulator-max-microvolt = <1000000>;
130 regulator-always-on;
131 };
132
133 ldo7_reg: LDO7 {
134 /*
135 * VDD18P, AVDD18_TS, AVDD18_HSIC, AVDD_PLL2,
136 * AVDD_ADC, AVDD_ABB_0, M4S_VDD18
137 */
138 regulator-name = "VLDO7_1.8V";
139 regulator-min-microvolt = <1800000>;
140 regulator-max-microvolt = <1800000>;
141 regulator-always-on;
142 };
143
144 ldo8_reg: LDO8 {
145 /* AVDD33_UOTG */
146 regulator-name = "VLDO8_3.0V";
147 regulator-min-microvolt = <3000000>;
148 regulator-max-microvolt = <3000000>;
149 regulator-always-on;
150 };
151
152 ldo9_reg: LDO9 {
153 /* VDDQ_E86 ~ VDDQ_E105*/
154 regulator-name = "VLDO9_1.2V";
155 regulator-min-microvolt = <1200000>;
156 regulator-max-microvolt = <1200000>;
157 regulator-always-on;
158 };
159
160 ldo10_reg: LDO10 {
161 regulator-name = "VLDO10_1.0V";
162 regulator-min-microvolt = <1000000>;
163 regulator-max-microvolt = <1000000>;
164 };
165
166 ldo11_reg: LDO11 {
167 /* VDD74 ~ VDD75 */
168 regulator-name = "VLDO11_1.8V";
169 regulator-min-microvolt = <1800000>;
170 regulator-max-microvolt = <1800000>;
171 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
172 };
173
174 ldo12_reg: LDO12 {
175 /* VDD72 ~ VDD73 */
176 regulator-name = "VLDO12_2.8V";
177 regulator-min-microvolt = <2800000>;
178 regulator-max-microvolt = <2800000>;
179 samsung,ext-control-gpios = <&gpk0 2 GPIO_ACTIVE_HIGH>;
180 };
181
182 ldo13_reg: LDO13 {
183 regulator-name = "VLDO13_2.8V";
184 regulator-min-microvolt = <2800000>;
185 regulator-max-microvolt = <2800000>;
186 };
187
188 ldo14_reg: LDO14 {
189 regulator-name = "VLDO14_2.7V";
190 regulator-min-microvolt = <2700000>;
191 regulator-max-microvolt = <2700000>;
192 };
193
194 ldo15_reg: LDO15 {
195 regulator-name = "VLDO_3.3V";
196 regulator-min-microvolt = <3300000>;
197 regulator-max-microvolt = <3300000>;
198 };
199
200 ldo16_reg: LDO16 {
201 regulator-name = "VLDO16_3.3V";
202 regulator-min-microvolt = <3300000>;
203 regulator-max-microvolt = <3300000>;
204 };
205
206 ldo17_reg: LDO17 {
207 regulator-name = "VLDO17_3.0V";
208 regulator-min-microvolt = <3000000>;
209 regulator-max-microvolt = <3000000>;
210 };
211
212 ldo18_reg: LDO18 {
213 /* DVDD_MMC2_AP */
214 regulator-name = "VLDO18_2.8V";
215 regulator-min-microvolt = <2800000>;
216 regulator-max-microvolt = <2800000>;
217 };
218
219 ldo19_reg: LDO19 {
220 regulator-name = "VLDO19_1.8V";
221 regulator-min-microvolt = <1800000>;
222 regulator-max-microvolt = <1800000>;
223 };
224
225 ldo20_reg: LDO20 {
226 regulator-name = "VLDO20_1.8V";
227 regulator-min-microvolt = <1800000>;
228 regulator-max-microvolt = <1800000>;
229 };
230
231 ldo21_reg: LDO21 {
232 regulator-name = "VLDO21_1.25V";
233 regulator-min-microvolt = <1250000>;
234 regulator-max-microvolt = <1250000>;
235 };
236
237 ldo22_reg: LDO22 {
238 regulator-name = "VLDO22_1.2V";
239 regulator-min-microvolt = <1200000>;
240 regulator-max-microvolt = <1200000>;
241 };
242
243 ldo23_reg: LDO23 {
244 /* Xi2c3_SDA/SCL, Xi2c7_SDA/SCL, WLAN_SDIO */
245 regulator-name = "VLDO23_1.8V";
246 regulator-min-microvolt = <1800000>;
247 regulator-max-microvolt = <1800000>;
248 regulator-always-on;
249 };
250
251 ldo24_reg: LDO24 {
252 regulator-name = "VLDO24_3.0V";
253 regulator-min-microvolt = <3000000>;
254 regulator-max-microvolt = <3000000>;
255 };
256
257 ldo25_reg: LDO25 {
258 regulator-name = "VLDO25_3.0V";
259 regulator-min-microvolt = <3000000>;
260 regulator-max-microvolt = <3000000>;
261 };
262
263 buck1_reg: BUCK1 {
264 /* VDD_MIF */
265 regulator-name = "VBUCK1_1.0V";
266 regulator-min-microvolt = <800000>;
267 regulator-max-microvolt = <1000000>;
268 regulator-always-on;
269 };
270
271 buck2_reg: BUCK2 {
272 /* VDD_CPU */
273 regulator-name = "VBUCK2_1.2V";
274 regulator-min-microvolt = <850000>;
275 regulator-max-microvolt = <1200000>;
276 regulator-always-on;
277 };
278
279 buck3_reg: BUCK3 {
280 /* VDD_G3D */
281 regulator-name = "VBUCK3_1.0V";
282 regulator-min-microvolt = <850000>;
283 regulator-max-microvolt = <1000000>;
284 regulator-always-on;
285 };
286
287 buck4_reg: BUCK4 {
288 regulator-name = "VBUCK4_1.95V";
289 regulator-min-microvolt = <1950000>;
290 regulator-max-microvolt = <1950000>;
291 regulator-always-on;
292 };
293
294 buck5_reg: BUCK5 {
295 regulator-name = "VBUCK5_1.35V";
296 regulator-min-microvolt = <1350000>;
297 regulator-max-microvolt = <1350000>;
298 regulator-always-on;
299 };
300 };
301 };
302};
303
304&mshc_0 {
305 non-removable;
306 cap-mmc-highspeed;
307 card-detect-delay = <200>;
308 vmmc-supply = <&ldo12_reg>;
309 clock-frequency = <100000000>;
310 max-frequency = <100000000>;
311 samsung,dw-mshc-ciu-div = <1>;
312 samsung,dw-mshc-sdr-timing = <0 1>;
313 samsung,dw-mshc-ddr-timing = <1 2>;
314 pinctrl-names = "default";
315 pinctrl-0 = <&sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
316 bus-width = <8>;
317 status = "okay";
318};
319
320&mshc_1 {
321 cap-sd-highspeed;
322 cap-sdio-irq;
323 disable-wp;
324 non-removable;
325 keep-power-in-suspend;
326 fifo-depth = <0x40>;
327 vqmmc-supply = <&ldo11_reg>;
328 /*
329 * Voltage negotiation is broken for the SDIO periph so we
330 * can't actually set the voltage here.
331 * vmmc-supply = <&ldo23_reg>;
332 */
333 card-detect-delay = <500>;
334 clock-frequency = <100000000>;
335 max-frequency = <100000000>;
336 samsung,dw-mshc-ciu-div = <3>;
337 samsung,dw-mshc-sdr-timing = <0 1>;
338 samsung,dw-mshc-ddr-timing = <1 2>;
339 pinctrl-names = "default";
340 pinctrl-0 = <&sd1_cmd &sd1_clk &sd1_bus1 &sd1_bus4 &wlanen>;
341 bus-width = <4>;
342 status = "okay";
343};
344
345&pinctrl_1 {
346 wlanen: wlanen {
347 samsung,pins = "gpx2-3";
348 samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
349 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
350 samsung,pin-drv = <EXYNOS4_PIN_DRV_LV3>;
351 samsung,pin-val = <1>;
352 };
353};
354
355&rtc {
356 clocks = <&cmu CLK_RTC>, <&s2mps14_osc S2MPS11_CLK_AP>;
357 clock-names = "rtc", "rtc_src";
358 status = "okay";
359};
360
361&tmu {
362 status = "okay";
363};
364
365&xusbxti {
366 clock-frequency = <24000000>;
367};