Merge tag 'samsung-dt-4.21-2' of https://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6-block.git] / arch / arm / boot / dts / exynos5422-odroid-core.dtsi
CommitLineData
cc4637f7 1// SPDX-License-Identifier: GPL-2.0
1ac49427 2/*
6e2422ff 3 * Hardkernel Odroid XU3/XU3-Lite/XU4/HC1 boards core device tree source
1ac49427
MS
4 *
5 * Copyright (c) 2017 Marek Szyprowski
6 * Copyright (c) 2013-2017 Samsung Electronics Co., Ltd.
7 * http://www.samsung.com
cc4637f7 8 */
1ac49427
MS
9
10#include <dt-bindings/clock/samsung,s2mps11.h>
11#include <dt-bindings/interrupt-controller/irq.h>
12#include <dt-bindings/gpio/gpio.h>
13#include "exynos5800.dtsi"
14#include "exynos5422-cpus.dtsi"
15
16/ {
17 memory@40000000 {
18 device_type = "memory";
19 reg = <0x40000000 0x7EA00000>;
20 };
21
22 chosen {
23 stdout-path = "serial2:115200n8";
24 };
25
edef4285 26 firmware@2073000 {
1ac49427
MS
27 compatible = "samsung,secure-firmware";
28 reg = <0x02073000 0x1000>;
29 };
30
31 fixed-rate-clocks {
32 oscclk {
33 compatible = "samsung,exynos5420-oscclk";
34 clock-frequency = <24000000>;
35 };
36 };
37};
38
39&bus_wcore {
40 devfreq-events = <&nocp_mem0_0>, <&nocp_mem0_1>,
41 <&nocp_mem1_0>, <&nocp_mem1_1>;
42 vdd-supply = <&buck3_reg>;
43 exynos,saturation-ratio = <100>;
44 status = "okay";
45};
46
47&bus_noc {
48 devfreq = <&bus_wcore>;
49 status = "okay";
50};
51
52&bus_fsys_apb {
53 devfreq = <&bus_wcore>;
54 status = "okay";
55};
56
57&bus_fsys {
58 devfreq = <&bus_wcore>;
59 status = "okay";
60};
61
62&bus_fsys2 {
63 devfreq = <&bus_wcore>;
64 status = "okay";
65};
66
67&bus_mfc {
68 devfreq = <&bus_wcore>;
69 status = "okay";
70};
71
72&bus_gen {
73 devfreq = <&bus_wcore>;
74 status = "okay";
75};
76
77&bus_peri {
78 devfreq = <&bus_wcore>;
79 status = "okay";
80};
81
82&bus_g2d {
83 devfreq = <&bus_wcore>;
84 status = "okay";
85};
86
87&bus_g2d_acp {
88 devfreq = <&bus_wcore>;
89 status = "okay";
90};
91
92&bus_jpeg {
93 devfreq = <&bus_wcore>;
94 status = "okay";
95};
96
97&bus_jpeg_apb {
98 devfreq = <&bus_wcore>;
99 status = "okay";
100};
101
102&bus_disp1_fimd {
103 devfreq = <&bus_wcore>;
104 status = "okay";
105};
106
107&bus_disp1 {
108 devfreq = <&bus_wcore>;
109 status = "okay";
110};
111
112&bus_gscl_scaler {
113 devfreq = <&bus_wcore>;
114 status = "okay";
115};
116
117&bus_mscl {
118 devfreq = <&bus_wcore>;
119 status = "okay";
120};
121
122&cpu0 {
123 cpu-supply = <&buck6_reg>;
124};
125
126&cpu4 {
127 cpu-supply = <&buck2_reg>;
128};
129
130&hsi2c_4 {
131 status = "okay";
132
133 s2mps11_pmic@66 {
134 compatible = "samsung,s2mps11-pmic";
135 reg = <0x66>;
136 samsung,s2mps11-acokb-ground;
137
138 interrupt-parent = <&gpx0>;
139 interrupts = <4 IRQ_TYPE_EDGE_FALLING>;
140 pinctrl-names = "default";
141 pinctrl-0 = <&s2mps11_irq>;
142
143 s2mps11_osc: clocks {
3f9d8677 144 compatible = "samsung,s2mps11-clk";
1ac49427
MS
145 #clock-cells = <1>;
146 clock-output-names = "s2mps11_ap",
147 "s2mps11_cp", "s2mps11_bt";
148 };
149
150 regulators {
151 ldo1_reg: LDO1 {
152 regulator-name = "vdd_ldo1";
153 regulator-min-microvolt = <1000000>;
154 regulator-max-microvolt = <1000000>;
155 regulator-always-on;
156 };
157
95ac2262
KK
158 ldo2_reg: LDO2 {
159 regulator-name = "vdd_ldo2";
160 regulator-min-microvolt = <1800000>;
161 regulator-max-microvolt = <1800000>;
162 regulator-always-on;
163 };
164
1ac49427
MS
165 ldo3_reg: LDO3 {
166 regulator-name = "vddq_mmc0";
167 regulator-min-microvolt = <1800000>;
168 regulator-max-microvolt = <1800000>;
169 };
170
171 ldo4_reg: LDO4 {
172 regulator-name = "vdd_adc";
173 regulator-min-microvolt = <1800000>;
174 regulator-max-microvolt = <1800000>;
175 };
176
177 ldo5_reg: LDO5 {
178 regulator-name = "vdd_ldo5";
179 regulator-min-microvolt = <1800000>;
180 regulator-max-microvolt = <1800000>;
181 regulator-always-on;
182 };
183
184 ldo6_reg: LDO6 {
185 regulator-name = "vdd_ldo6";
186 regulator-min-microvolt = <1000000>;
187 regulator-max-microvolt = <1000000>;
188 regulator-always-on;
189 };
190
191 ldo7_reg: LDO7 {
192 regulator-name = "vdd_ldo7";
193 regulator-min-microvolt = <1800000>;
194 regulator-max-microvolt = <1800000>;
195 regulator-always-on;
196 };
197
198 ldo8_reg: LDO8 {
199 regulator-name = "vdd_ldo8";
200 regulator-min-microvolt = <1800000>;
201 regulator-max-microvolt = <1800000>;
202 regulator-always-on;
203 };
204
205 ldo9_reg: LDO9 {
206 regulator-name = "vdd_ldo9";
207 regulator-min-microvolt = <3000000>;
208 regulator-max-microvolt = <3000000>;
209 regulator-always-on;
210 };
211
212 ldo10_reg: LDO10 {
213 regulator-name = "vdd_ldo10";
214 regulator-min-microvolt = <1800000>;
215 regulator-max-microvolt = <1800000>;
216 regulator-always-on;
217 };
218
219 ldo11_reg: LDO11 {
220 regulator-name = "vdd_ldo11";
221 regulator-min-microvolt = <1000000>;
222 regulator-max-microvolt = <1000000>;
223 regulator-always-on;
224 };
225
226 ldo12_reg: LDO12 {
b5124e45 227 /* Unused */
1ac49427 228 regulator-name = "vdd_ldo12";
b5124e45
KK
229 regulator-min-microvolt = <800000>;
230 regulator-max-microvolt = <2375000>;
1ac49427
MS
231 };
232
233 ldo13_reg: LDO13 {
234 regulator-name = "vddq_mmc2";
8fe325fa 235 regulator-min-microvolt = <1800000>;
1ac49427
MS
236 regulator-max-microvolt = <2800000>;
237 };
238
8e829549
KK
239 ldo14_reg: LDO14 {
240 /* Unused */
241 regulator-name = "vdd_ldo14";
242 regulator-min-microvolt = <800000>;
243 regulator-max-microvolt = <3950000>;
244 };
245
1ac49427
MS
246 ldo15_reg: LDO15 {
247 regulator-name = "vdd_ldo15";
e4c1ea7b
DK
248 regulator-min-microvolt = <3300000>;
249 regulator-max-microvolt = <3300000>;
1ac49427
MS
250 regulator-always-on;
251 };
252
253 ldo16_reg: LDO16 {
b5124e45 254 /* Unused */
1ac49427 255 regulator-name = "vdd_ldo16";
b5124e45
KK
256 regulator-min-microvolt = <800000>;
257 regulator-max-microvolt = <3950000>;
1ac49427
MS
258 };
259
260 ldo17_reg: LDO17 {
e4c1ea7b 261 regulator-name = "vdd_ldo17";
1ac49427
MS
262 regulator-min-microvolt = <3300000>;
263 regulator-max-microvolt = <3300000>;
264 regulator-always-on;
265 };
266
267 ldo18_reg: LDO18 {
268 regulator-name = "vdd_emmc_1V8";
269 regulator-min-microvolt = <1800000>;
270 regulator-max-microvolt = <1800000>;
271 };
272
273 ldo19_reg: LDO19 {
274 regulator-name = "vdd_sd";
275 regulator-min-microvolt = <2800000>;
276 regulator-max-microvolt = <2800000>;
277 };
278
8e829549
KK
279 ldo20_reg: LDO20 {
280 /* Unused */
281 regulator-name = "vdd_ldo20";
282 regulator-min-microvolt = <800000>;
283 regulator-max-microvolt = <3950000>;
284 };
285
286 ldo21_reg: LDO21 {
287 /* Unused */
288 regulator-name = "vdd_ldo21";
289 regulator-min-microvolt = <800000>;
290 regulator-max-microvolt = <3950000>;
291 };
292
293 ldo22_reg: LDO22 {
294 /* Unused */
295 regulator-name = "vdd_ldo22";
296 regulator-min-microvolt = <800000>;
297 regulator-max-microvolt = <2375000>;
298 };
299
95ac2262
KK
300 ldo23_reg: LDO23 {
301 regulator-name = "vdd_mifs";
302 regulator-min-microvolt = <1100000>;
303 regulator-max-microvolt = <1100000>;
304 regulator-always-on;
305 };
306
1ac49427 307 ldo24_reg: LDO24 {
b5124e45
KK
308 /* Unused */
309 regulator-name = "vdd_ldo24";
310 regulator-min-microvolt = <800000>;
311 regulator-max-microvolt = <3950000>;
1ac49427
MS
312 };
313
8e829549
KK
314 ldo25_reg: LDO25 {
315 /* Unused */
316 regulator-name = "vdd_ldo25";
317 regulator-min-microvolt = <800000>;
318 regulator-max-microvolt = <3950000>;
319 };
320
1ac49427 321 ldo26_reg: LDO26 {
b5124e45 322 /* Used on XU3, XU3-Lite and XU4 */
1ac49427 323 regulator-name = "vdd_ldo26";
b5124e45
KK
324 regulator-min-microvolt = <800000>;
325 regulator-max-microvolt = <3950000>;
1ac49427
MS
326 };
327
95ac2262
KK
328 ldo27_reg: LDO27 {
329 regulator-name = "vdd_g3ds";
330 regulator-min-microvolt = <1000000>;
331 regulator-max-microvolt = <1000000>;
332 regulator-always-on;
333 };
334
8be3e7f0
KK
335 ldo28_reg: LDO28 {
336 /* Used on XU3 */
337 regulator-name = "vdd_ldo28";
338 regulator-min-microvolt = <800000>;
339 regulator-max-microvolt = <3950000>;
340 };
341
8e829549
KK
342 ldo29_reg: LDO29 {
343 /* Unused */
344 regulator-name = "vdd_ldo29";
345 regulator-min-microvolt = <800000>;
346 regulator-max-microvolt = <3950000>;
347 };
348
349 ldo30_reg: LDO30 {
350 /* Unused */
351 regulator-name = "vdd_ldo30";
352 regulator-min-microvolt = <800000>;
353 regulator-max-microvolt = <3950000>;
354 };
355
356 ldo31_reg: LDO31 {
357 /* Unused */
358 regulator-name = "vdd_ldo31";
359 regulator-min-microvolt = <800000>;
360 regulator-max-microvolt = <3950000>;
361 };
362
363 ldo32_reg: LDO32 {
364 /* Unused */
365 regulator-name = "vdd_ldo32";
366 regulator-min-microvolt = <800000>;
367 regulator-max-microvolt = <3950000>;
368 };
369
370 ldo33_reg: LDO33 {
371 /* Unused */
372 regulator-name = "vdd_ldo33";
373 regulator-min-microvolt = <800000>;
374 regulator-max-microvolt = <3950000>;
375 };
376
377 ldo34_reg: LDO34 {
378 /* Unused */
379 regulator-name = "vdd_ldo34";
380 regulator-min-microvolt = <800000>;
381 regulator-max-microvolt = <3950000>;
382 };
383
384 ldo35_reg: LDO35 {
385 /* Unused */
386 regulator-name = "vdd_ldo35";
387 regulator-min-microvolt = <800000>;
388 regulator-max-microvolt = <2375000>;
389 };
390
391 ldo36_reg: LDO36 {
392 /* Unused */
393 regulator-name = "vdd_ldo36";
394 regulator-min-microvolt = <800000>;
395 regulator-max-microvolt = <3950000>;
396 };
397
398 ldo37_reg: LDO37 {
399 /* Unused */
400 regulator-name = "vdd_ldo37";
401 regulator-min-microvolt = <800000>;
402 regulator-max-microvolt = <3950000>;
403 };
404
405 ldo38_reg: LDO38 {
406 /* Unused */
407 regulator-name = "vdd_ldo38";
408 regulator-min-microvolt = <800000>;
409 regulator-max-microvolt = <3950000>;
410 };
411
1ac49427
MS
412 buck1_reg: BUCK1 {
413 regulator-name = "vdd_mif";
414 regulator-min-microvolt = <800000>;
415 regulator-max-microvolt = <1300000>;
416 regulator-always-on;
417 regulator-boot-on;
418 };
419
420 buck2_reg: BUCK2 {
421 regulator-name = "vdd_arm";
422 regulator-min-microvolt = <800000>;
423 regulator-max-microvolt = <1500000>;
424 regulator-always-on;
425 regulator-boot-on;
426 };
427
428 buck3_reg: BUCK3 {
429 regulator-name = "vdd_int";
430 regulator-min-microvolt = <800000>;
431 regulator-max-microvolt = <1400000>;
432 regulator-always-on;
433 regulator-boot-on;
434 };
435
436 buck4_reg: BUCK4 {
437 regulator-name = "vdd_g3d";
438 regulator-min-microvolt = <800000>;
439 regulator-max-microvolt = <1400000>;
440 regulator-always-on;
441 regulator-boot-on;
442 };
443
444 buck5_reg: BUCK5 {
445 regulator-name = "vdd_mem";
446 regulator-min-microvolt = <800000>;
447 regulator-max-microvolt = <1400000>;
448 regulator-always-on;
449 regulator-boot-on;
450 };
451
452 buck6_reg: BUCK6 {
453 regulator-name = "vdd_kfc";
454 regulator-min-microvolt = <800000>;
455 regulator-max-microvolt = <1500000>;
456 regulator-always-on;
457 regulator-boot-on;
458 };
459
460 buck7_reg: BUCK7 {
461 regulator-name = "vdd_1.0v_ldo";
462 regulator-min-microvolt = <800000>;
463 regulator-max-microvolt = <1500000>;
464 regulator-always-on;
465 regulator-boot-on;
466 };
467
468 buck8_reg: BUCK8 {
469 regulator-name = "vdd_1.8v_ldo";
470 regulator-min-microvolt = <800000>;
471 regulator-max-microvolt = <1500000>;
472 regulator-always-on;
473 regulator-boot-on;
474 };
475
476 buck9_reg: BUCK9 {
477 regulator-name = "vdd_2.8v_ldo";
478 regulator-min-microvolt = <3000000>;
479 regulator-max-microvolt = <3750000>;
480 regulator-always-on;
481 regulator-boot-on;
482 };
483
484 buck10_reg: BUCK10 {
485 regulator-name = "vdd_vmem";
486 regulator-min-microvolt = <2850000>;
487 regulator-max-microvolt = <2850000>;
488 regulator-always-on;
489 regulator-boot-on;
490 };
491 };
492 };
493};
494
495&mmc_2 {
496 status = "okay";
497 card-detect-delay = <200>;
498 samsung,dw-mshc-ciu-div = <3>;
499 samsung,dw-mshc-sdr-timing = <0 4>;
500 samsung,dw-mshc-ddr-timing = <0 2>;
501 pinctrl-names = "default";
6135ee70 502 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_wp &sd2_bus1 &sd2_bus4>;
1ac49427
MS
503 bus-width = <4>;
504 cap-sd-highspeed;
c60b3f77 505 max-frequency = <200000000>;
1ac49427
MS
506 vmmc-supply = <&ldo19_reg>;
507 vqmmc-supply = <&ldo13_reg>;
25e5566e
AM
508 sd-uhs-sdr50;
509 sd-uhs-sdr104;
510 sd-uhs-ddr50;
1ac49427
MS
511};
512
513&nocp_mem0_0 {
514 status = "okay";
515};
516
517&nocp_mem0_1 {
518 status = "okay";
519};
520
521&nocp_mem1_0 {
522 status = "okay";
523};
524
525&nocp_mem1_1 {
526 status = "okay";
527};
528
529&pinctrl_0 {
530 s2mps11_irq: s2mps11-irq {
531 samsung,pins = "gpx0-4";
532 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
533 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
534 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
535 };
536};
537
538&tmu_cpu0 {
539 vtmu-supply = <&ldo7_reg>;
540};
541
542&tmu_cpu1 {
543 vtmu-supply = <&ldo7_reg>;
544};
545
546&tmu_cpu2 {
547 vtmu-supply = <&ldo7_reg>;
548};
549
550&tmu_cpu3 {
551 vtmu-supply = <&ldo7_reg>;
552};
553
554&tmu_gpu {
555 vtmu-supply = <&ldo7_reg>;
556};
557
558&rtc {
559 status = "okay";
560 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
561 clock-names = "rtc", "rtc_src";
562};
563
564&usbdrd_dwc3_0 {
565 dr_mode = "host";
566};
567
568/* usbdrd_dwc3_1 mode customized in each board */
569
570&usbdrd3_0 {
571 vdd33-supply = <&ldo9_reg>;
572 vdd10-supply = <&ldo11_reg>;
573};
574
575&usbdrd3_1 {
576 vdd33-supply = <&ldo9_reg>;
577 vdd10-supply = <&ldo11_reg>;
578};