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
38 stdout-path = "serial2:115200n8";
42 device_type = "memory";
43 reg = <0x20000000 0xbfa00000>;
47 compatible = "samsung,secure-firmware";
48 reg = <0x02073000 0x1000>;
53 compatible = "samsung,exynos5420-oscclk";
54 clock-frequency = <24000000>;
59 compatible = "gpio-keys";
62 debounce-interval = <10>;
63 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
65 linux,code = <KEY_POWER>;
70 debounce-interval = <10>;
71 gpios = <&gpx0 5 GPIO_ACTIVE_LOW>;
73 linux,code = <KEY_HOME>;
78 debounce-interval = <10>;
79 gpios = <&gpx0 2 GPIO_ACTIVE_LOW>;
81 linux,code = <KEY_VOLUMEUP>;
85 debounce-interval = <10>;
86 gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
87 label = "Volume Down";
88 linux,code = <KEY_VOLUMEDOWN>;
93 compatible = "mmc-pwrseq-simple";
94 reset-gpios = <&gpy7 7 GPIO_ACTIVE_LOW>;
95 clocks = <&s2mps11_osc S2MPS11_CLK_BT>;
96 clock-names = "ext_clock";
101 /* CCI is disabled in hardware */
106 cpu-supply = <&buck2_reg>;
110 cpu-supply = <&buck6_reg>;
115 mali-supply = <&buck4_reg>;
122 compatible = "samsung,s2mps11-pmic";
125 interrupt-parent = <&gpx3>;
126 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
127 pinctrl-names = "default";
128 pinctrl-0 = <&s2mps11_irq>;
130 s2mps11_osc: clocks {
131 compatible = "samsung,s2mps11-clk";
133 clock-output-names = "s2mps11_ap", "s2mps11_cp",
139 regulator-name = "VDD_MIF_1V1";
140 regulator-min-microvolt = <700000>;
141 regulator-max-microvolt = <1300000>;
145 regulator-state-mem {
146 regulator-off-in-suspend;
151 regulator-name = "VDD_ARM_1V0";
152 regulator-min-microvolt = <800000>;
153 regulator-max-microvolt = <1500000>;
157 regulator-state-mem {
158 regulator-off-in-suspend;
163 regulator-name = "VDD_INT_1V0";
164 regulator-min-microvolt = <800000>;
165 regulator-max-microvolt = <1400000>;
169 regulator-state-mem {
170 regulator-off-in-suspend;
175 regulator-name = "VDD_G3D_1V0";
176 regulator-min-microvolt = <700000>;
177 regulator-max-microvolt = <1400000>;
181 regulator-state-mem {
182 regulator-off-in-suspend;
187 regulator-name = "VDD_MEM_1V2";
188 regulator-min-microvolt = <1200000>;
189 regulator-max-microvolt = <1200000>;
193 regulator-state-mem {
194 regulator-off-in-suspend;
200 regulator-name = "VDD_KFC_1V0";
201 regulator-min-microvolt = <800000>;
202 regulator-max-microvolt = <1500000>;
206 regulator-state-mem {
207 regulator-off-in-suspend;
212 regulator-name = "VIN_LLDO_1V4";
213 regulator-min-microvolt = <1200000>;
214 regulator-max-microvolt = <1500000>;
219 regulator-name = "VIN_MLDO_2V0";
220 regulator-min-microvolt = <1800000>;
221 regulator-max-microvolt = <2100000>;
226 regulator-name = "VIN_HLDO_3V5";
227 regulator-min-microvolt = <3000000>;
228 regulator-max-microvolt = <3500000>;
233 regulator-name = "VDD_CAM_ISP_1V0";
234 regulator-min-microvolt = <750000>;
235 regulator-max-microvolt = <3550000>;
239 regulator-name = "VDD_ALIVE_1.0V";
240 regulator-min-microvolt = <1000000>;
241 regulator-max-microvolt = <1000000>;
246 regulator-name = "VDD_APIO_1V8";
247 regulator-min-microvolt = <1800000>;
248 regulator-max-microvolt = <1800000>;
252 regulator-state-mem {
253 regulator-on-in-suspend;
258 regulator-name = "VDD_APIO_MMC01_1V8";
259 regulator-min-microvolt = <1800000>;
260 regulator-max-microvolt = <1800000>;
263 regulator-state-mem {
264 regulator-off-in-suspend;
269 regulator-name = "VDD_ADC_1V8";
270 regulator-min-microvolt = <1800000>;
271 regulator-max-microvolt = <1800000>;
275 regulator-state-mem {
276 regulator-on-in-suspend;
282 regulator-name = "VDD_LDO5";
283 regulator-min-microvolt = <1800000>;
284 regulator-max-microvolt = <1800000>;
288 regulator-name = "VDD_MIPI_1V0";
289 regulator-min-microvolt = <1000000>;
290 regulator-max-microvolt = <1000000>;
294 regulator-state-mem {
295 regulator-off-in-suspend;
300 regulator-name = "VDD_MIPI_PLL_ABB1_18V";
301 regulator-min-microvolt = <1800000>;
302 regulator-max-microvolt = <1800000>;
306 regulator-state-mem {
307 regulator-off-in-suspend;
313 regulator-name = "VDD_LDO8";
314 regulator-min-microvolt = <1800000>;
315 regulator-max-microvolt = <1800000>;
319 regulator-name = "VDD_UOTG_3V0";
320 regulator-min-microvolt = <3000000>;
321 regulator-max-microvolt = <3000000>;
325 regulator-state-mem {
326 regulator-on-in-suspend;
331 regulator-name = "VDDQ_PRE_1V8";
332 regulator-min-microvolt = <1800000>;
333 regulator-max-microvolt = <1800000>;
337 regulator-state-mem {
338 regulator-on-in-suspend;
343 regulator-name = "VDD_HSIC_1V0";
344 regulator-min-microvolt = <1000000>;
345 regulator-max-microvolt = <1000000>;
349 regulator-state-mem {
350 regulator-on-in-suspend;
355 regulator-name = "VDD_HSIC_1V8";
356 regulator-min-microvolt = <1800000>;
357 regulator-max-microvolt = <1800000>;
361 regulator-state-mem {
362 regulator-on-in-suspend;
367 regulator-name = "VDD_APIO_MMC2_2V8";
368 regulator-min-microvolt = <1800000>;
369 regulator-max-microvolt = <2800000>;
372 regulator-state-mem {
373 regulator-off-in-suspend;
378 regulator-name = "VDD_MOTOR_3V0";
379 regulator-min-microvolt = <3000000>;
380 regulator-max-microvolt = <3000000>;
382 regulator-state-mem {
383 regulator-off-in-suspend;
388 regulator-name = "VDD_LDO15";
390 * LDO15 varies between devices and is
391 * specified in the device dts
396 regulator-name = "VDD_AP_2V8";
397 regulator-min-microvolt = <2800000>;
398 regulator-max-microvolt = <2800000>;
402 regulator-state-mem {
403 regulator-on-in-suspend;
408 regulator-name = "VDD_LDO17";
410 * LDO17 varies between devices and is
411 * specified in the device dts
417 regulator-name = "VDD_LDO18";
418 regulator-min-microvolt = <1800000>;
419 regulator-max-microvolt = <1800000>;
423 regulator-name = "VDD_VTF_2V8";
424 regulator-min-microvolt = <2800000>;
425 regulator-max-microvolt = <2800000>;
427 regulator-state-mem {
428 regulator-off-in-suspend;
433 regulator-name = "VDD_CAM1_CAM_1V8";
434 regulator-min-microvolt = <1800000>;
435 regulator-max-microvolt = <1800000>;
437 regulator-state-mem {
438 regulator-off-in-suspend;
443 regulator-name = "VDD_CAM_IO_1V8";
444 regulator-min-microvolt = <1800000>;
445 regulator-max-microvolt = <1800000>;
447 regulator-state-mem {
448 regulator-off-in-suspend;
453 regulator-name = "VDD_CAM0_S_CORE_1V1";
454 regulator-min-microvolt = <1050000>;
455 regulator-max-microvolt = <1200000>;
457 regulator-state-mem {
458 regulator-off-in-suspend;
463 regulator-name = "VDD_MIFS_1V1";
464 regulator-min-microvolt = <800000>;
465 regulator-max-microvolt = <1100000>;
468 regulator-state-mem {
469 regulator-on-in-suspend;
474 regulator-name = "VDD_TSP_3V3";
475 regulator-min-microvolt = <3300000>;
476 regulator-max-microvolt = <3300000>;
478 regulator-state-mem {
479 regulator-off-in-suspend;
485 regulator-name = "VDD_LDO25";
486 regulator-min-microvolt = <800000>;
487 regulator-max-microvolt = <3950000>;
491 regulator-name = "VDD_CAM0_AF_2V8";
492 regulator-min-microvolt = <2800000>;
493 regulator-max-microvolt = <2800000>;
495 regulator-state-mem {
496 regulator-off-in-suspend;
501 regulator-name = "VDD_G3DS_1V0";
502 regulator-min-microvolt = <800000>;
503 regulator-max-microvolt = <1000000>;
506 regulator-state-mem {
507 regulator-on-in-suspend;
512 regulator-name = "VDD_LDO28";
514 * LDO28 varies between devices and is
515 * specified in the device dts
520 regulator-name = "VDD_LDO29";
522 * LDO29 varies between devices and is
523 * specified in the device dts
528 regulator-name = "VDD_TOUCH_1V8";
529 regulator-min-microvolt = <1900000>;
530 regulator-max-microvolt = <1900000>;
532 regulator-state-mem {
533 regulator-off-in-suspend;
538 regulator-name = "VDD_LDO31";
540 * LDO31 varies between devices and is
541 * specified in the device dts
546 regulator-name = "VDD_LDO32";
548 * LDO32 varies between devices and is
549 * specified in the device dts
554 regulator-name = "VDD_MHL_1V8";
555 regulator-min-microvolt = <1800000>;
556 regulator-max-microvolt = <1800000>;
558 regulator-state-mem {
559 regulator-off-in-suspend;
564 regulator-name = "VDD_MHL_3V3";
565 regulator-min-microvolt = <3300000>;
566 regulator-max-microvolt = <3300000>;
568 regulator-state-mem {
569 regulator-off-in-suspend;
574 regulator-name = "VDD_SIL_1V2";
575 regulator-min-microvolt = <1200000>;
576 regulator-max-microvolt = <1200000>;
578 regulator-state-mem {
579 regulator-off-in-suspend;
585 regulator-name = "VDD_LDO36";
586 regulator-min-microvolt = <800000>;
587 regulator-max-microvolt = <3950000>;
592 regulator-name = "VDD_LDO37";
593 regulator-min-microvolt = <800000>;
594 regulator-max-microvolt = <3950000>;
598 regulator-name = "VDD_KEY_LED_3V3";
599 regulator-min-microvolt = <2500000>;
600 regulator-max-microvolt = <3300000>;
602 regulator-state-mem {
603 regulator-off-in-suspend;
614 /* Internal storage */
619 card-detect-delay = <200>;
623 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
624 pinctrl-names = "default";
625 samsung,dw-mshc-ciu-div = <3>;
626 samsung,dw-mshc-ddr-timing = <0 2>;
627 samsung,dw-mshc-sdr-timing = <0 4>;
628 vqmmc-supply = <&ldo3_reg>;
636 card-detect-delay = <200>;
637 keep-power-in-suspend;
638 mmc-pwrseq = <&mmc1_pwrseq>;
640 pinctrl-0 = <&sd1_clk>, <&sd1_cmd>, <&sd1_int>, <&sd1_bus1>,
641 <&sd1_bus4>, <&wifi_en>;
642 pinctrl-names = "default";
643 vqmmc-supply = <&ldo2_reg>;
644 samsung,dw-mshc-ciu-div = <1>;
645 samsung,dw-mshc-ddr-timing = <0 2>;
646 samsung,dw-mshc-sdr-timing = <0 1>;
650 /* External sdcard */
655 card-detect-delay = <200>;
656 cd-gpios = <&gpx2 4 GPIO_ACTIVE_LOW>;
657 pinctrl-0 = <&sd2_clk &sd2_cmd &mmc2_cd &sd2_bus1 &sd2_bus4>;
658 pinctrl-names = "default";
659 samsung,dw-mshc-ciu-div = <3>;
660 samsung,dw-mshc-ddr-timing = <0 2>;
661 samsung,dw-mshc-sdr-timing = <0 4>;
663 vmmc-supply = <&ldo19_reg>;
664 vqmmc-supply = <&ldo13_reg>;
668 mmc2_cd: mmc2-cd-pins {
669 samsung,pins = "gpx2-4";
670 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
673 s2mps11_irq: s2mps11-irq-pins {
674 samsung,pins = "gpx3-0";
675 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
676 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
677 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
680 wifi_en: wifi-en-pins {
681 samsung,pins = "gpy7-7";
682 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
688 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
689 clock-names = "rtc", "rtc_src";
693 vtmu-supply = <&ldo10_reg>;
697 vtmu-supply = <&ldo10_reg>;
701 vtmu-supply = <&ldo10_reg>;
705 vtmu-supply = <&ldo10_reg>;
709 vtmu-supply = <&ldo10_reg>;
713 dr_mode = "peripheral";
717 dr_mode = "peripheral";
721 vdd33-supply = <&ldo9_reg>;
722 vdd10-supply = <&ldo11_reg>;
726 vdd33-supply = <&ldo9_reg>;
727 vdd10-supply = <&ldo11_reg>;