Loading...
Note: File does not exist in v6.13.7.
1// SPDX-License-Identifier: GPL-2.0
2/*
3 * Base DT for Samsung's family of tablets based on Exynos5420.
4 *
5 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 * Copyright (c) 2022 Henrik Grimler
8 */
9
10/dts-v1/;
11#include "exynos5420.dtsi"
12#include "exynos5420-cpus.dtsi"
13#include <dt-bindings/input/input.h>
14#include <dt-bindings/gpio/gpio.h>
15#include <dt-bindings/clock/samsung,s2mps11.h>
16
17/ {
18 chassis-type = "tablet";
19
20 /*
21 * To successfully boot the mainline kernel with the stock
22 * bootloader (SBOOT), the tlb needs to be flushed after the
23 * page table pointer has been updated in __common_mmu_cache_on.
24 * The same hack is also needed to boot exynos4412-i9300 with
25 * stock bootloader, and probably other Samsung devices of
26 * similar age. See
27 * https://lore.kernel.org/all/1355276466-18295-1-git-send-email-arve@android.com
28 * for more details.
29 */
30
31 chosen {
32 stdout-path = "serial2:115200n8";
33 };
34
35 memory@20000000 {
36 device_type = "memory";
37 reg = <0x20000000 0xc0000000>;
38 };
39
40 firmware@2073000 {
41 compatible = "samsung,secure-firmware";
42 reg = <0x02073000 0x1000>;
43 };
44
45 fixed-rate-clocks {
46 oscclk {
47 compatible = "samsung,exynos5420-oscclk";
48 clock-frequency = <24000000>;
49 };
50 };
51
52 gpio-keys {
53 compatible = "gpio-keys";
54 pinctrl-names = "default";
55
56 key-power {
57 debounce-interval = <10>;
58 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
59 label = "Power";
60 linux,code = <KEY_POWER>;
61 wakeup-source;
62 };
63
64 key-home {
65 debounce-interval = <10>;
66 gpios = <&gpx0 5 GPIO_ACTIVE_LOW>;
67 label = "Home";
68 linux,code = <KEY_HOME>;
69 wakeup-source;
70 };
71
72 key-volume-up {
73 debounce-interval = <10>;
74 gpios = <&gpx0 2 GPIO_ACTIVE_LOW>;
75 label = "Volume Up";
76 linux,code = <KEY_VOLUMEUP>;
77 };
78
79 key-volume-down {
80 debounce-interval = <10>;
81 gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
82 label = "Volume Down";
83 linux,code = <KEY_VOLUMEDOWN>;
84 };
85 };
86};
87
88&cci {
89 /* CCI is disabled in hardware */
90 status = "disabled";
91};
92
93&cpu0 {
94 cpu-supply = <&buck2_reg>;
95};
96
97&cpu4 {
98 cpu-supply = <&buck6_reg>;
99};
100
101&gpu {
102 status = "okay";
103 mali-supply = <&buck4_reg>;
104};
105
106&hsi2c_7 {
107 status = "okay";
108
109 pmic@66 {
110 compatible = "samsung,s2mps11-pmic";
111 reg = <0x66>;
112
113 interrupt-parent = <&gpx3>;
114 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
115 pinctrl-names = "default";
116 pinctrl-0 = <&s2mps11_irq>;
117
118 s2mps11_osc: clocks {
119 compatible = "samsung,s2mps11-clk";
120 #clock-cells = <1>;
121 clock-output-names = "s2mps11_ap", "s2mps11_cp",
122 "s2mps11_bt";
123 };
124
125 regulators {
126 buck1_reg: BUCK1 {
127 regulator-name = "VDD_MIF_1V1";
128 regulator-min-microvolt = <700000>;
129 regulator-max-microvolt = <1300000>;
130 regulator-always-on;
131 regulator-boot-on;
132
133 regulator-state-mem {
134 regulator-off-in-suspend;
135 };
136 };
137
138 buck2_reg: BUCK2 {
139 regulator-name = "VDD_ARM_1V0";
140 regulator-min-microvolt = <800000>;
141 regulator-max-microvolt = <1500000>;
142 regulator-always-on;
143 regulator-boot-on;
144
145 regulator-state-mem {
146 regulator-off-in-suspend;
147 };
148 };
149
150 buck3_reg: BUCK3 {
151 regulator-name = "VDD_INT_1V0";
152 regulator-min-microvolt = <800000>;
153 regulator-max-microvolt = <1400000>;
154 regulator-always-on;
155 regulator-boot-on;
156
157 regulator-state-mem {
158 regulator-off-in-suspend;
159 };
160 };
161
162 buck4_reg: BUCK4 {
163 regulator-name = "VDD_G3D_1V0";
164 regulator-min-microvolt = <700000>;
165 regulator-max-microvolt = <1400000>;
166 regulator-always-on;
167 regulator-boot-on;
168
169 regulator-state-mem {
170 regulator-off-in-suspend;
171 };
172 };
173
174 buck5_reg: BUCK5 {
175 regulator-name = "VDD_MEM_1V2";
176 regulator-min-microvolt = <1200000>;
177 regulator-max-microvolt = <1200000>;
178 regulator-always-on;
179 regulator-boot-on;
180
181 regulator-state-mem {
182 regulator-off-in-suspend;
183 };
184
185 };
186
187 buck6_reg: BUCK6 {
188 regulator-name = "VDD_KFC_1V0";
189 regulator-min-microvolt = <800000>;
190 regulator-max-microvolt = <1500000>;
191 regulator-always-on;
192 regulator-boot-on;
193
194 regulator-state-mem {
195 regulator-off-in-suspend;
196 };
197 };
198
199 buck7_reg: BUCK7 {
200 regulator-name = "VIN_LLDO_1V4";
201 regulator-min-microvolt = <1200000>;
202 regulator-max-microvolt = <1500000>;
203 regulator-always-on;
204 };
205
206 buck8_reg: BUCK8 {
207 regulator-name = "VIN_MLDO_2V0";
208 regulator-min-microvolt = <1800000>;
209 regulator-max-microvolt = <2100000>;
210 regulator-always-on;
211 };
212
213 buck9_reg: BUCK9 {
214 regulator-name = "VIN_HLDO_3V5";
215 regulator-min-microvolt = <3000000>;
216 regulator-max-microvolt = <3500000>;
217 regulator-always-on;
218 };
219
220 buck10_reg: BUCK10 {
221 regulator-name = "VDD_CAM_ISP_1V0";
222 regulator-min-microvolt = <750000>;
223 regulator-max-microvolt = <3550000>;
224 };
225
226 ldo1_reg: LDO1 {
227 regulator-name = "VDD_ALIVE_1.0V";
228 regulator-min-microvolt = <1000000>;
229 regulator-max-microvolt = <1000000>;
230 regulator-always-on;
231 };
232
233 ldo2_reg: LDO2 {
234 regulator-name = "VDD_APIO_1V8";
235 regulator-min-microvolt = <1800000>;
236 regulator-max-microvolt = <1800000>;
237 regulator-always-on;
238 regulator-boot-on;
239
240 regulator-state-mem {
241 regulator-on-in-suspend;
242 };
243 };
244
245 ldo3_reg: LDO3 {
246 regulator-name = "VDD_APIO_MMC01_1V8";
247 regulator-min-microvolt = <1800000>;
248 regulator-max-microvolt = <1800000>;
249 regulator-always-on;
250
251 regulator-state-mem {
252 regulator-off-in-suspend;
253 };
254 };
255
256 ldo4_reg: LDO4 {
257 regulator-name = "VDD_ADC_1V8";
258 regulator-min-microvolt = <1800000>;
259 regulator-max-microvolt = <1800000>;
260 regulator-always-on;
261 regulator-boot-on;
262
263 regulator-state-mem {
264 regulator-on-in-suspend;
265 };
266 };
267
268 ldo5_reg: LDO5 {
269 /* Unused */
270 regulator-name = "VDD_LDO5";
271 regulator-min-microvolt = <1800000>;
272 regulator-max-microvolt = <1800000>;
273 };
274
275 ldo6_reg: LDO6 {
276 regulator-name = "VDD_MIPI_1V0";
277 regulator-min-microvolt = <1000000>;
278 regulator-max-microvolt = <1000000>;
279 regulator-always-on;
280 regulator-boot-on;
281
282 regulator-state-mem {
283 regulator-off-in-suspend;
284 };
285 };
286
287 ldo7_reg: LDO7 {
288 regulator-name = "VDD_MIPI_PLL_ABB1_18V";
289 regulator-min-microvolt = <1800000>;
290 regulator-max-microvolt = <1800000>;
291 regulator-always-on;
292 regulator-boot-on;
293
294 regulator-state-mem {
295 regulator-off-in-suspend;
296 };
297 };
298
299 ldo8_reg: LDO8 {
300 /* Unused */
301 regulator-name = "VDD_LDO8";
302 regulator-min-microvolt = <1800000>;
303 regulator-max-microvolt = <1800000>;
304 };
305
306 ldo9_reg: LDO9 {
307 regulator-name = "VDD_UOTG_3V0";
308 regulator-min-microvolt = <3000000>;
309 regulator-max-microvolt = <3000000>;
310 regulator-always-on;
311 regulator-boot-on;
312
313 regulator-state-mem {
314 regulator-on-in-suspend;
315 };
316 };
317
318 ldo10_reg: LDO10 {
319 regulator-name = "VDDQ_PRE_1V8";
320 regulator-min-microvolt = <1800000>;
321 regulator-max-microvolt = <1800000>;
322 regulator-always-on;
323 regulator-boot-on;
324
325 regulator-state-mem {
326 regulator-on-in-suspend;
327 };
328 };
329
330 ldo11_reg: LDO11 {
331 regulator-name = "VDD_HSIC_1V0";
332 regulator-min-microvolt = <1000000>;
333 regulator-max-microvolt = <1000000>;
334 regulator-always-on;
335 regulator-boot-on;
336
337 regulator-state-mem {
338 regulator-on-in-suspend;
339 };
340 };
341
342 ldo12_reg: LDO12 {
343 regulator-name = "VDD_HSIC_1V8";
344 regulator-min-microvolt = <1800000>;
345 regulator-max-microvolt = <1800000>;
346 regulator-always-on;
347 regulator-boot-on;
348
349 regulator-state-mem {
350 regulator-on-in-suspend;
351 };
352 };
353
354 ldo13_reg: LDO13 {
355 regulator-name = "VDD_APIO_MMC2_2V8";
356 regulator-min-microvolt = <1800000>;
357 regulator-max-microvolt = <2800000>;
358 regulator-boot-on;
359
360 regulator-state-mem {
361 regulator-off-in-suspend;
362 };
363 };
364
365 ldo14_reg: LDO14 {
366 regulator-name = "VDD_MOTOR_3V0";
367 regulator-min-microvolt = <3000000>;
368 regulator-max-microvolt = <3000000>;
369
370 regulator-state-mem {
371 regulator-off-in-suspend;
372 };
373 };
374
375 ldo15_reg: LDO15 {
376 regulator-name = "VDD_LDO15";
377 /*
378 * LDO15 varies between devices and is
379 * specified in the device dts
380 */
381 };
382
383 ldo16_reg: LDO16 {
384 regulator-name = "VDD_AP_2V8";
385 regulator-min-microvolt = <2800000>;
386 regulator-max-microvolt = <2800000>;
387 regulator-always-on;
388 regulator-boot-on;
389
390 regulator-state-mem {
391 regulator-on-in-suspend;
392 };
393 };
394
395 ldo17_reg: LDO17 {
396 regulator-name = "VDD_LDO17";
397 /*
398 * LDO17 varies between devices and is
399 * specified in the device dts
400 */
401 };
402
403 ldo18_reg: LDO18 {
404 /* Unused */
405 regulator-name = "VDD_LDO18";
406 regulator-min-microvolt = <1800000>;
407 regulator-max-microvolt = <1800000>;
408 };
409
410 ldo19_reg: LDO19 {
411 regulator-name = "VDD_VTF_2V8";
412 regulator-min-microvolt = <2800000>;
413 regulator-max-microvolt = <2800000>;
414
415 regulator-state-mem {
416 regulator-off-in-suspend;
417 };
418 };
419
420 ldo20_reg: LDO20 {
421 regulator-name = "VDD_CAM1_CAM_1V8";
422 regulator-min-microvolt = <1800000>;
423 regulator-max-microvolt = <1800000>;
424
425 regulator-state-mem {
426 regulator-off-in-suspend;
427 };
428 };
429
430 ldo21_reg: LDO21 {
431 regulator-name = "VDD_CAM_IO_1V8";
432 regulator-min-microvolt = <1800000>;
433 regulator-max-microvolt = <1800000>;
434
435 regulator-state-mem {
436 regulator-off-in-suspend;
437 };
438 };
439
440 ldo22_reg: LDO22 {
441 regulator-name = "VDD_CAM0_S_CORE_1V1";
442 regulator-min-microvolt = <1050000>;
443 regulator-max-microvolt = <1200000>;
444
445 regulator-state-mem {
446 regulator-off-in-suspend;
447 };
448 };
449
450 ldo23_reg: LDO23 {
451 regulator-name = "VDD_MIFS_1V1";
452 regulator-min-microvolt = <800000>;
453 regulator-max-microvolt = <1100000>;
454 regulator-always-on;
455
456 regulator-state-mem {
457 regulator-on-in-suspend;
458 };
459 };
460
461 ldo24_reg: LDO24 {
462 regulator-name = "VDD_TSP_3V3";
463 regulator-min-microvolt = <3300000>;
464 regulator-max-microvolt = <3300000>;
465
466 regulator-state-mem {
467 regulator-off-in-suspend;
468 };
469 };
470
471 ldo25_reg: LDO25 {
472 /* Unused */
473 regulator-name = "VDD_LDO25";
474 regulator-min-microvolt = <800000>;
475 regulator-max-microvolt = <3950000>;
476 };
477
478 ldo26_reg: LDO26 {
479 regulator-name = "VDD_CAM0_AF_2V8";
480 regulator-min-microvolt = <2800000>;
481 regulator-max-microvolt = <2800000>;
482
483 regulator-state-mem {
484 regulator-off-in-suspend;
485 };
486 };
487
488 ldo27_reg: LDO27 {
489 regulator-name = "VDD_G3DS_1V0";
490 regulator-min-microvolt = <800000>;
491 regulator-max-microvolt = <1000000>;
492 regulator-always-on;
493
494 regulator-state-mem {
495 regulator-on-in-suspend;
496 };
497 };
498
499 ldo28_reg: LDO28 {
500 regulator-name = "VDD_LDO28";
501 /*
502 * LDO28 varies between devices and is
503 * specified in the device dts
504 */
505 };
506
507 ldo29_reg: LDO29 {
508 regulator-name = "VDD_LDO29";
509 /*
510 * LDO29 varies between devices and is
511 * specified in the device dts
512 */
513 };
514
515 ldo30_reg: LDO30 {
516 regulator-name = "VDD_TOUCH_1V8";
517 regulator-min-microvolt = <1900000>;
518 regulator-max-microvolt = <1900000>;
519
520 regulator-state-mem {
521 regulator-off-in-suspend;
522 };
523 };
524
525 ldo31_reg: LDO31 {
526 regulator-name = "VDD_LDO31";
527 /*
528 * LDO31 varies between devices and is
529 * specified in the device dts
530 */
531 };
532
533 ldo32_reg: LDO32 {
534 regulator-name = "VDD_LDO32";
535 /*
536 * LDO32 varies between devices and is
537 * specified in the device dts
538 */
539 };
540
541 ldo33_reg: LDO33 {
542 regulator-name = "VDD_MHL_1V8";
543 regulator-min-microvolt = <1800000>;
544 regulator-max-microvolt = <1800000>;
545
546 regulator-state-mem {
547 regulator-off-in-suspend;
548 };
549 };
550
551 ldo34_reg: LDO34 {
552 regulator-name = "VDD_MHL_3V3";
553 regulator-min-microvolt = <3300000>;
554 regulator-max-microvolt = <3300000>;
555
556 regulator-state-mem {
557 regulator-off-in-suspend;
558 };
559 };
560
561 ldo35_reg: LDO35 {
562 regulator-name = "VDD_SIL_1V2";
563 regulator-min-microvolt = <1200000>;
564 regulator-max-microvolt = <1200000>;
565
566 regulator-state-mem {
567 regulator-off-in-suspend;
568 };
569 };
570
571 ldo36_reg: LDO36 {
572 /* Unused */
573 regulator-name = "VDD_LDO36";
574 regulator-min-microvolt = <800000>;
575 regulator-max-microvolt = <3950000>;
576 };
577
578 ldo37_reg: LDO37 {
579 /* Unused */
580 regulator-name = "VDD_LDO37";
581 regulator-min-microvolt = <800000>;
582 regulator-max-microvolt = <3950000>;
583 };
584
585 ldo38_reg: LDO38 {
586 regulator-name = "VDD_KEY_LED_3V3";
587 regulator-min-microvolt = <2500000>;
588 regulator-max-microvolt = <3300000>;
589
590 regulator-state-mem {
591 regulator-off-in-suspend;
592 };
593 };
594 };
595 };
596};
597
598&mixer {
599 status = "okay";
600};
601
602/* Internal storage */
603&mmc_0 {
604 status = "okay";
605 bus-width = <8>;
606 cap-mmc-highspeed;
607 card-detect-delay = <200>;
608 mmc-hs200-1_8v;
609 non-removable;
610 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
611 pinctrl-names = "default";
612 samsung,dw-mshc-ciu-div = <3>;
613 samsung,dw-mshc-ddr-timing = <0 2>;
614 samsung,dw-mshc-sdr-timing = <0 4>;
615 vqmmc-supply = <&ldo3_reg>;
616};
617
618/* External sdcard */
619&mmc_2 {
620 status = "okay";
621 bus-width = <4>;
622 cap-sd-highspeed;
623 card-detect-delay = <200>;
624 cd-gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
625 pinctrl-0 = <&sd2_clk &sd2_cmd &mmc2_cd &sd2_bus1 &sd2_bus4>;
626 pinctrl-names = "default";
627 samsung,dw-mshc-ciu-div = <3>;
628 samsung,dw-mshc-ddr-timing = <0 2>;
629 samsung,dw-mshc-sdr-timing = <0 4>;
630 sd-uhs-sdr50;
631 vmmc-supply = <&ldo19_reg>;
632 vqmmc-supply = <&ldo13_reg>;
633};
634
635&pinctrl_0 {
636 mmc2_cd: mmc2-cd-pins {
637 samsung,pins = "gpx2-4";
638 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
639 };
640
641 s2mps11_irq: s2mps11-irq-pins {
642 samsung,pins = "gpx3-0";
643 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
644 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
645 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
646 };
647};
648
649&rtc {
650 status = "okay";
651 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
652 clock-names = "rtc", "rtc_src";
653};
654
655&tmu_cpu0 {
656 vtmu-supply = <&ldo10_reg>;
657};
658
659&tmu_cpu1 {
660 vtmu-supply = <&ldo10_reg>;
661};
662
663&tmu_cpu2 {
664 vtmu-supply = <&ldo10_reg>;
665};
666
667&tmu_cpu3 {
668 vtmu-supply = <&ldo10_reg>;
669};
670
671&tmu_gpu {
672 vtmu-supply = <&ldo10_reg>;
673};
674
675&usbdrd_dwc3_0 {
676 dr_mode = "peripheral";
677};
678
679&usbdrd_dwc3_1 {
680 dr_mode = "peripheral";
681};
682
683&usbdrd3_0 {
684 vdd33-supply = <&ldo9_reg>;
685 vdd10-supply = <&ldo11_reg>;
686};
687
688&usbdrd3_1 {
689 vdd33-supply = <&ldo9_reg>;
690 vdd10-supply = <&ldo11_reg>;
691};