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
32 stdout-path = "serial2:115200n8";
36 device_type = "memory";
37 reg = <0x20000000 0xc0000000>;
41 compatible = "samsung,secure-firmware";
42 reg = <0x02073000 0x1000>;
47 compatible = "samsung,exynos5420-oscclk";
48 clock-frequency = <24000000>;
53 compatible = "gpio-keys";
54 pinctrl-names = "default";
57 debounce-interval = <10>;
58 gpios = <&gpx2 2 GPIO_ACTIVE_LOW>;
60 linux,code = <KEY_POWER>;
65 debounce-interval = <10>;
66 gpios = <&gpx0 5 GPIO_ACTIVE_LOW>;
68 linux,code = <KEY_HOME>;
73 debounce-interval = <10>;
74 gpios = <&gpx0 2 GPIO_ACTIVE_LOW>;
76 linux,code = <KEY_VOLUMEUP>;
80 debounce-interval = <10>;
81 gpios = <&gpx0 3 GPIO_ACTIVE_LOW>;
82 label = "Volume Down";
83 linux,code = <KEY_VOLUMEDOWN>;
89 /* CCI is disabled in hardware */
94 cpu-supply = <&buck2_reg>;
98 cpu-supply = <&buck6_reg>;
103 mali-supply = <&buck4_reg>;
110 compatible = "samsung,s2mps11-pmic";
113 interrupt-parent = <&gpx3>;
114 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
115 pinctrl-names = "default";
116 pinctrl-0 = <&s2mps11_irq>;
118 s2mps11_osc: clocks {
119 compatible = "samsung,s2mps11-clk";
121 clock-output-names = "s2mps11_ap", "s2mps11_cp",
127 regulator-name = "VDD_MIF_1V1";
128 regulator-min-microvolt = <700000>;
129 regulator-max-microvolt = <1300000>;
133 regulator-state-mem {
134 regulator-off-in-suspend;
139 regulator-name = "VDD_ARM_1V0";
140 regulator-min-microvolt = <800000>;
141 regulator-max-microvolt = <1500000>;
145 regulator-state-mem {
146 regulator-off-in-suspend;
151 regulator-name = "VDD_INT_1V0";
152 regulator-min-microvolt = <800000>;
153 regulator-max-microvolt = <1400000>;
157 regulator-state-mem {
158 regulator-off-in-suspend;
163 regulator-name = "VDD_G3D_1V0";
164 regulator-min-microvolt = <700000>;
165 regulator-max-microvolt = <1400000>;
169 regulator-state-mem {
170 regulator-off-in-suspend;
175 regulator-name = "VDD_MEM_1V2";
176 regulator-min-microvolt = <1200000>;
177 regulator-max-microvolt = <1200000>;
181 regulator-state-mem {
182 regulator-off-in-suspend;
188 regulator-name = "VDD_KFC_1V0";
189 regulator-min-microvolt = <800000>;
190 regulator-max-microvolt = <1500000>;
194 regulator-state-mem {
195 regulator-off-in-suspend;
200 regulator-name = "VIN_LLDO_1V4";
201 regulator-min-microvolt = <1200000>;
202 regulator-max-microvolt = <1500000>;
207 regulator-name = "VIN_MLDO_2V0";
208 regulator-min-microvolt = <1800000>;
209 regulator-max-microvolt = <2100000>;
214 regulator-name = "VIN_HLDO_3V5";
215 regulator-min-microvolt = <3000000>;
216 regulator-max-microvolt = <3500000>;
221 regulator-name = "VDD_CAM_ISP_1V0";
222 regulator-min-microvolt = <750000>;
223 regulator-max-microvolt = <3550000>;
227 regulator-name = "VDD_ALIVE_1.0V";
228 regulator-min-microvolt = <1000000>;
229 regulator-max-microvolt = <1000000>;
234 regulator-name = "VDD_APIO_1V8";
235 regulator-min-microvolt = <1800000>;
236 regulator-max-microvolt = <1800000>;
240 regulator-state-mem {
241 regulator-on-in-suspend;
246 regulator-name = "VDD_APIO_MMC01_1V8";
247 regulator-min-microvolt = <1800000>;
248 regulator-max-microvolt = <1800000>;
251 regulator-state-mem {
252 regulator-off-in-suspend;
257 regulator-name = "VDD_ADC_1V8";
258 regulator-min-microvolt = <1800000>;
259 regulator-max-microvolt = <1800000>;
263 regulator-state-mem {
264 regulator-on-in-suspend;
270 regulator-name = "VDD_LDO5";
271 regulator-min-microvolt = <1800000>;
272 regulator-max-microvolt = <1800000>;
276 regulator-name = "VDD_MIPI_1V0";
277 regulator-min-microvolt = <1000000>;
278 regulator-max-microvolt = <1000000>;
282 regulator-state-mem {
283 regulator-off-in-suspend;
288 regulator-name = "VDD_MIPI_PLL_ABB1_18V";
289 regulator-min-microvolt = <1800000>;
290 regulator-max-microvolt = <1800000>;
294 regulator-state-mem {
295 regulator-off-in-suspend;
301 regulator-name = "VDD_LDO8";
302 regulator-min-microvolt = <1800000>;
303 regulator-max-microvolt = <1800000>;
307 regulator-name = "VDD_UOTG_3V0";
308 regulator-min-microvolt = <3000000>;
309 regulator-max-microvolt = <3000000>;
313 regulator-state-mem {
314 regulator-on-in-suspend;
319 regulator-name = "VDDQ_PRE_1V8";
320 regulator-min-microvolt = <1800000>;
321 regulator-max-microvolt = <1800000>;
325 regulator-state-mem {
326 regulator-on-in-suspend;
331 regulator-name = "VDD_HSIC_1V0";
332 regulator-min-microvolt = <1000000>;
333 regulator-max-microvolt = <1000000>;
337 regulator-state-mem {
338 regulator-on-in-suspend;
343 regulator-name = "VDD_HSIC_1V8";
344 regulator-min-microvolt = <1800000>;
345 regulator-max-microvolt = <1800000>;
349 regulator-state-mem {
350 regulator-on-in-suspend;
355 regulator-name = "VDD_APIO_MMC2_2V8";
356 regulator-min-microvolt = <1800000>;
357 regulator-max-microvolt = <2800000>;
360 regulator-state-mem {
361 regulator-off-in-suspend;
366 regulator-name = "VDD_MOTOR_3V0";
367 regulator-min-microvolt = <3000000>;
368 regulator-max-microvolt = <3000000>;
370 regulator-state-mem {
371 regulator-off-in-suspend;
376 regulator-name = "VDD_LDO15";
378 * LDO15 varies between devices and is
379 * specified in the device dts
384 regulator-name = "VDD_AP_2V8";
385 regulator-min-microvolt = <2800000>;
386 regulator-max-microvolt = <2800000>;
390 regulator-state-mem {
391 regulator-on-in-suspend;
396 regulator-name = "VDD_LDO17";
398 * LDO17 varies between devices and is
399 * specified in the device dts
405 regulator-name = "VDD_LDO18";
406 regulator-min-microvolt = <1800000>;
407 regulator-max-microvolt = <1800000>;
411 regulator-name = "VDD_VTF_2V8";
412 regulator-min-microvolt = <2800000>;
413 regulator-max-microvolt = <2800000>;
415 regulator-state-mem {
416 regulator-off-in-suspend;
421 regulator-name = "VDD_CAM1_CAM_1V8";
422 regulator-min-microvolt = <1800000>;
423 regulator-max-microvolt = <1800000>;
425 regulator-state-mem {
426 regulator-off-in-suspend;
431 regulator-name = "VDD_CAM_IO_1V8";
432 regulator-min-microvolt = <1800000>;
433 regulator-max-microvolt = <1800000>;
435 regulator-state-mem {
436 regulator-off-in-suspend;
441 regulator-name = "VDD_CAM0_S_CORE_1V1";
442 regulator-min-microvolt = <1050000>;
443 regulator-max-microvolt = <1200000>;
445 regulator-state-mem {
446 regulator-off-in-suspend;
451 regulator-name = "VDD_MIFS_1V1";
452 regulator-min-microvolt = <800000>;
453 regulator-max-microvolt = <1100000>;
456 regulator-state-mem {
457 regulator-on-in-suspend;
462 regulator-name = "VDD_TSP_3V3";
463 regulator-min-microvolt = <3300000>;
464 regulator-max-microvolt = <3300000>;
466 regulator-state-mem {
467 regulator-off-in-suspend;
473 regulator-name = "VDD_LDO25";
474 regulator-min-microvolt = <800000>;
475 regulator-max-microvolt = <3950000>;
479 regulator-name = "VDD_CAM0_AF_2V8";
480 regulator-min-microvolt = <2800000>;
481 regulator-max-microvolt = <2800000>;
483 regulator-state-mem {
484 regulator-off-in-suspend;
489 regulator-name = "VDD_G3DS_1V0";
490 regulator-min-microvolt = <800000>;
491 regulator-max-microvolt = <1000000>;
494 regulator-state-mem {
495 regulator-on-in-suspend;
500 regulator-name = "VDD_LDO28";
502 * LDO28 varies between devices and is
503 * specified in the device dts
508 regulator-name = "VDD_LDO29";
510 * LDO29 varies between devices and is
511 * specified in the device dts
516 regulator-name = "VDD_TOUCH_1V8";
517 regulator-min-microvolt = <1900000>;
518 regulator-max-microvolt = <1900000>;
520 regulator-state-mem {
521 regulator-off-in-suspend;
526 regulator-name = "VDD_LDO31";
528 * LDO31 varies between devices and is
529 * specified in the device dts
534 regulator-name = "VDD_LDO32";
536 * LDO32 varies between devices and is
537 * specified in the device dts
542 regulator-name = "VDD_MHL_1V8";
543 regulator-min-microvolt = <1800000>;
544 regulator-max-microvolt = <1800000>;
546 regulator-state-mem {
547 regulator-off-in-suspend;
552 regulator-name = "VDD_MHL_3V3";
553 regulator-min-microvolt = <3300000>;
554 regulator-max-microvolt = <3300000>;
556 regulator-state-mem {
557 regulator-off-in-suspend;
562 regulator-name = "VDD_SIL_1V2";
563 regulator-min-microvolt = <1200000>;
564 regulator-max-microvolt = <1200000>;
566 regulator-state-mem {
567 regulator-off-in-suspend;
573 regulator-name = "VDD_LDO36";
574 regulator-min-microvolt = <800000>;
575 regulator-max-microvolt = <3950000>;
580 regulator-name = "VDD_LDO37";
581 regulator-min-microvolt = <800000>;
582 regulator-max-microvolt = <3950000>;
586 regulator-name = "VDD_KEY_LED_3V3";
587 regulator-min-microvolt = <2500000>;
588 regulator-max-microvolt = <3300000>;
590 regulator-state-mem {
591 regulator-off-in-suspend;
602 /* Internal storage */
607 card-detect-delay = <200>;
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>;
618 /* External sdcard */
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>;
631 vmmc-supply = <&ldo19_reg>;
632 vqmmc-supply = <&ldo13_reg>;
636 mmc2_cd: mmc2-cd-pins {
637 samsung,pins = "gpx2-4";
638 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
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>;
651 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
652 clock-names = "rtc", "rtc_src";
656 vtmu-supply = <&ldo10_reg>;
660 vtmu-supply = <&ldo10_reg>;
664 vtmu-supply = <&ldo10_reg>;
668 vtmu-supply = <&ldo10_reg>;
672 vtmu-supply = <&ldo10_reg>;
676 dr_mode = "peripheral";
680 dr_mode = "peripheral";
684 vdd33-supply = <&ldo9_reg>;
685 vdd10-supply = <&ldo11_reg>;
689 vdd33-supply = <&ldo9_reg>;
690 vdd10-supply = <&ldo11_reg>;