1 // SPDX-License-Identifier: GPL-2.0
3 * Base DT for Samsung's family of tablets based on Exynos5420.
5 * Copyright (c) 2012-2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
7 * Copyright (c) 2022 Henrik Grimler
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>
18 chassis-type = "tablet";
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
27 * https://lore.kernel.org/all/1355276466-18295-1-git-send-email-arve@android.com
37 stdout-path = "serial2:115200n8";
41 device_type = "memory";
42 reg = <0x20000000 0xc0000000>;
46 compatible = "samsung,secure-firmware";
47 reg = <0x02073000 0x1000>;
52 compatible = "samsung,exynos5420-oscclk";
53 clock-frequency = <24000000>;
58 compatible = "gpio-keys";
61 debounce-interval = <10>;
62 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
64 linux,code = <KEY_POWER>;
69 debounce-interval = <10>;
70 gpios = <&gpx0 5 GPIO_ACTIVE_LOW>;
72 linux,code = <KEY_HOME>;
77 debounce-interval = <10>;
78 gpios = <&gpx0 2 GPIO_ACTIVE_LOW>;
80 linux,code = <KEY_VOLUMEUP>;
84 debounce-interval = <10>;
85 gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
86 label = "Volume Down";
87 linux,code = <KEY_VOLUMEDOWN>;
93 /* CCI is disabled in hardware */
98 cpu-supply = <&buck2_reg>;
102 cpu-supply = <&buck6_reg>;
107 mali-supply = <&buck4_reg>;
114 compatible = "samsung,s2mps11-pmic";
117 interrupt-parent = <&gpx3>;
118 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
119 pinctrl-names = "default";
120 pinctrl-0 = <&s2mps11_irq>;
122 s2mps11_osc: clocks {
123 compatible = "samsung,s2mps11-clk";
125 clock-output-names = "s2mps11_ap", "s2mps11_cp",
131 regulator-name = "VDD_MIF_1V1";
132 regulator-min-microvolt = <700000>;
133 regulator-max-microvolt = <1300000>;
137 regulator-state-mem {
138 regulator-off-in-suspend;
143 regulator-name = "VDD_ARM_1V0";
144 regulator-min-microvolt = <800000>;
145 regulator-max-microvolt = <1500000>;
149 regulator-state-mem {
150 regulator-off-in-suspend;
155 regulator-name = "VDD_INT_1V0";
156 regulator-min-microvolt = <800000>;
157 regulator-max-microvolt = <1400000>;
161 regulator-state-mem {
162 regulator-off-in-suspend;
167 regulator-name = "VDD_G3D_1V0";
168 regulator-min-microvolt = <700000>;
169 regulator-max-microvolt = <1400000>;
173 regulator-state-mem {
174 regulator-off-in-suspend;
179 regulator-name = "VDD_MEM_1V2";
180 regulator-min-microvolt = <1200000>;
181 regulator-max-microvolt = <1200000>;
185 regulator-state-mem {
186 regulator-off-in-suspend;
192 regulator-name = "VDD_KFC_1V0";
193 regulator-min-microvolt = <800000>;
194 regulator-max-microvolt = <1500000>;
198 regulator-state-mem {
199 regulator-off-in-suspend;
204 regulator-name = "VIN_LLDO_1V4";
205 regulator-min-microvolt = <1200000>;
206 regulator-max-microvolt = <1500000>;
211 regulator-name = "VIN_MLDO_2V0";
212 regulator-min-microvolt = <1800000>;
213 regulator-max-microvolt = <2100000>;
218 regulator-name = "VIN_HLDO_3V5";
219 regulator-min-microvolt = <3000000>;
220 regulator-max-microvolt = <3500000>;
225 regulator-name = "VDD_CAM_ISP_1V0";
226 regulator-min-microvolt = <750000>;
227 regulator-max-microvolt = <3550000>;
231 regulator-name = "VDD_ALIVE_1.0V";
232 regulator-min-microvolt = <1000000>;
233 regulator-max-microvolt = <1000000>;
238 regulator-name = "VDD_APIO_1V8";
239 regulator-min-microvolt = <1800000>;
240 regulator-max-microvolt = <1800000>;
244 regulator-state-mem {
245 regulator-on-in-suspend;
250 regulator-name = "VDD_APIO_MMC01_1V8";
251 regulator-min-microvolt = <1800000>;
252 regulator-max-microvolt = <1800000>;
255 regulator-state-mem {
256 regulator-off-in-suspend;
261 regulator-name = "VDD_ADC_1V8";
262 regulator-min-microvolt = <1800000>;
263 regulator-max-microvolt = <1800000>;
267 regulator-state-mem {
268 regulator-on-in-suspend;
274 regulator-name = "VDD_LDO5";
275 regulator-min-microvolt = <1800000>;
276 regulator-max-microvolt = <1800000>;
280 regulator-name = "VDD_MIPI_1V0";
281 regulator-min-microvolt = <1000000>;
282 regulator-max-microvolt = <1000000>;
286 regulator-state-mem {
287 regulator-off-in-suspend;
292 regulator-name = "VDD_MIPI_PLL_ABB1_18V";
293 regulator-min-microvolt = <1800000>;
294 regulator-max-microvolt = <1800000>;
298 regulator-state-mem {
299 regulator-off-in-suspend;
305 regulator-name = "VDD_LDO8";
306 regulator-min-microvolt = <1800000>;
307 regulator-max-microvolt = <1800000>;
311 regulator-name = "VDD_UOTG_3V0";
312 regulator-min-microvolt = <3000000>;
313 regulator-max-microvolt = <3000000>;
317 regulator-state-mem {
318 regulator-on-in-suspend;
323 regulator-name = "VDDQ_PRE_1V8";
324 regulator-min-microvolt = <1800000>;
325 regulator-max-microvolt = <1800000>;
329 regulator-state-mem {
330 regulator-on-in-suspend;
335 regulator-name = "VDD_HSIC_1V0";
336 regulator-min-microvolt = <1000000>;
337 regulator-max-microvolt = <1000000>;
341 regulator-state-mem {
342 regulator-on-in-suspend;
347 regulator-name = "VDD_HSIC_1V8";
348 regulator-min-microvolt = <1800000>;
349 regulator-max-microvolt = <1800000>;
353 regulator-state-mem {
354 regulator-on-in-suspend;
359 regulator-name = "VDD_APIO_MMC2_2V8";
360 regulator-min-microvolt = <1800000>;
361 regulator-max-microvolt = <2800000>;
364 regulator-state-mem {
365 regulator-off-in-suspend;
370 regulator-name = "VDD_MOTOR_3V0";
371 regulator-min-microvolt = <3000000>;
372 regulator-max-microvolt = <3000000>;
374 regulator-state-mem {
375 regulator-off-in-suspend;
380 regulator-name = "VDD_LDO15";
382 * LDO15 varies between devices and is
383 * specified in the device dts
388 regulator-name = "VDD_AP_2V8";
389 regulator-min-microvolt = <2800000>;
390 regulator-max-microvolt = <2800000>;
394 regulator-state-mem {
395 regulator-on-in-suspend;
400 regulator-name = "VDD_LDO17";
402 * LDO17 varies between devices and is
403 * specified in the device dts
409 regulator-name = "VDD_LDO18";
410 regulator-min-microvolt = <1800000>;
411 regulator-max-microvolt = <1800000>;
415 regulator-name = "VDD_VTF_2V8";
416 regulator-min-microvolt = <2800000>;
417 regulator-max-microvolt = <2800000>;
419 regulator-state-mem {
420 regulator-off-in-suspend;
425 regulator-name = "VDD_CAM1_CAM_1V8";
426 regulator-min-microvolt = <1800000>;
427 regulator-max-microvolt = <1800000>;
429 regulator-state-mem {
430 regulator-off-in-suspend;
435 regulator-name = "VDD_CAM_IO_1V8";
436 regulator-min-microvolt = <1800000>;
437 regulator-max-microvolt = <1800000>;
439 regulator-state-mem {
440 regulator-off-in-suspend;
445 regulator-name = "VDD_CAM0_S_CORE_1V1";
446 regulator-min-microvolt = <1050000>;
447 regulator-max-microvolt = <1200000>;
449 regulator-state-mem {
450 regulator-off-in-suspend;
455 regulator-name = "VDD_MIFS_1V1";
456 regulator-min-microvolt = <800000>;
457 regulator-max-microvolt = <1100000>;
460 regulator-state-mem {
461 regulator-on-in-suspend;
466 regulator-name = "VDD_TSP_3V3";
467 regulator-min-microvolt = <3300000>;
468 regulator-max-microvolt = <3300000>;
470 regulator-state-mem {
471 regulator-off-in-suspend;
477 regulator-name = "VDD_LDO25";
478 regulator-min-microvolt = <800000>;
479 regulator-max-microvolt = <3950000>;
483 regulator-name = "VDD_CAM0_AF_2V8";
484 regulator-min-microvolt = <2800000>;
485 regulator-max-microvolt = <2800000>;
487 regulator-state-mem {
488 regulator-off-in-suspend;
493 regulator-name = "VDD_G3DS_1V0";
494 regulator-min-microvolt = <800000>;
495 regulator-max-microvolt = <1000000>;
498 regulator-state-mem {
499 regulator-on-in-suspend;
504 regulator-name = "VDD_LDO28";
506 * LDO28 varies between devices and is
507 * specified in the device dts
512 regulator-name = "VDD_LDO29";
514 * LDO29 varies between devices and is
515 * specified in the device dts
520 regulator-name = "VDD_TOUCH_1V8";
521 regulator-min-microvolt = <1900000>;
522 regulator-max-microvolt = <1900000>;
524 regulator-state-mem {
525 regulator-off-in-suspend;
530 regulator-name = "VDD_LDO31";
532 * LDO31 varies between devices and is
533 * specified in the device dts
538 regulator-name = "VDD_LDO32";
540 * LDO32 varies between devices and is
541 * specified in the device dts
546 regulator-name = "VDD_MHL_1V8";
547 regulator-min-microvolt = <1800000>;
548 regulator-max-microvolt = <1800000>;
550 regulator-state-mem {
551 regulator-off-in-suspend;
556 regulator-name = "VDD_MHL_3V3";
557 regulator-min-microvolt = <3300000>;
558 regulator-max-microvolt = <3300000>;
560 regulator-state-mem {
561 regulator-off-in-suspend;
566 regulator-name = "VDD_SIL_1V2";
567 regulator-min-microvolt = <1200000>;
568 regulator-max-microvolt = <1200000>;
570 regulator-state-mem {
571 regulator-off-in-suspend;
577 regulator-name = "VDD_LDO36";
578 regulator-min-microvolt = <800000>;
579 regulator-max-microvolt = <3950000>;
584 regulator-name = "VDD_LDO37";
585 regulator-min-microvolt = <800000>;
586 regulator-max-microvolt = <3950000>;
590 regulator-name = "VDD_KEY_LED_3V3";
591 regulator-min-microvolt = <2500000>;
592 regulator-max-microvolt = <3300000>;
594 regulator-state-mem {
595 regulator-off-in-suspend;
606 /* Internal storage */
611 card-detect-delay = <200>;
615 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
616 pinctrl-names = "default";
617 samsung,dw-mshc-ciu-div = <3>;
618 samsung,dw-mshc-ddr-timing = <0 2>;
619 samsung,dw-mshc-sdr-timing = <0 4>;
620 vqmmc-supply = <&ldo3_reg>;
623 /* External sdcard */
628 card-detect-delay = <200>;
629 cd-gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
630 pinctrl-0 = <&sd2_clk &sd2_cmd &mmc2_cd &sd2_bus1 &sd2_bus4>;
631 pinctrl-names = "default";
632 samsung,dw-mshc-ciu-div = <3>;
633 samsung,dw-mshc-ddr-timing = <0 2>;
634 samsung,dw-mshc-sdr-timing = <0 4>;
636 vmmc-supply = <&ldo19_reg>;
637 vqmmc-supply = <&ldo13_reg>;
641 mmc2_cd: mmc2-cd-pins {
642 samsung,pins = "gpx2-4";
643 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
646 s2mps11_irq: s2mps11-irq-pins {
647 samsung,pins = "gpx3-0";
648 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
649 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
650 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
656 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
657 clock-names = "rtc", "rtc_src";
661 vtmu-supply = <&ldo10_reg>;
665 vtmu-supply = <&ldo10_reg>;
669 vtmu-supply = <&ldo10_reg>;
673 vtmu-supply = <&ldo10_reg>;
677 vtmu-supply = <&ldo10_reg>;
681 dr_mode = "peripheral";
685 dr_mode = "peripheral";
689 vdd33-supply = <&ldo9_reg>;
690 vdd10-supply = <&ldo11_reg>;
694 vdd33-supply = <&ldo9_reg>;
695 vdd10-supply = <&ldo11_reg>;