1 // SPDX-License-Identifier: GPL-2.0
3 * Samsung's Exynos5420 based Arndale Octa board device tree source
5 * Copyright (c) 2013 Samsung Electronics Co., Ltd.
6 * http://www.samsung.com
10 #include "exynos5420.dtsi"
11 #include "exynos5420-cpus.dtsi"
12 #include <dt-bindings/gpio/gpio.h>
13 #include <dt-bindings/interrupt-controller/irq.h>
14 #include <dt-bindings/input/input.h>
15 #include <dt-bindings/clock/samsung,s2mps11.h>
18 model = "Insignal Arndale Octa evaluation board based on Exynos5420";
19 compatible = "insignal,arndale-octa", "samsung,exynos5420", "samsung,exynos5";
22 device_type = "memory";
23 reg = <0x20000000 0x80000000>;
27 stdout-path = "serial3:115200n8";
31 compatible = "samsung,secure-firmware";
32 reg = <0x02073000 0x1000>;
37 compatible = "samsung,exynos5420-oscclk";
38 clock-frequency = <24000000>;
43 compatible = "gpio-keys";
47 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
48 linux,code = <KEY_WAKEUP>;
55 vdd-supply = <&ldo4_reg>;
64 cpu-supply = <&buck2_reg>;
68 cpu-supply = <&buck6_reg>;
73 cpu0_alert0: cpu-alert-0 {
74 temperature = <60000>; /* millicelsius */
75 hysteresis = <5000>; /* millicelsius */
78 cpu0_alert1: cpu-alert-1 {
79 temperature = <80000>; /* millicelsius */
80 hysteresis = <10000>; /* millicelsius */
83 cpu0_alert2: cpu-alert-2 {
84 temperature = <110000>; /* millicelsius */
85 hysteresis = <10000>; /* millicelsius */
88 cpu0_crit0: cpu-crit-0 {
89 temperature = <120000>; /* millicelsius */
90 hysteresis = <0>; /* millicelsius */
97 * Reduce the CPU speed by 2 steps, down to: 1600 MHz
101 trip = <&cpu0_alert0>;
102 cooling-device = <&cpu0 0 2>,
113 * Reduce the CPU speed down to 1200 MHz big (6 steps)
114 * and 800 MHz LITTLE (5 steps).
117 trip = <&cpu0_alert1>;
118 cooling-device = <&cpu0 3 6>,
129 * Reduce the CPU speed as much as possible, down to 700 MHz
130 * big (11 steps) and 600 MHz LITTLE (7 steps).
133 trip = <&cpu0_alert2>;
134 cooling-device = <&cpu0 6 11>,
148 cpu1_alert0: cpu-alert-0 {
149 temperature = <60000>; /* millicelsius */
150 hysteresis = <5000>; /* millicelsius */
153 cpu1_alert1: cpu-alert-1 {
154 temperature = <80000>; /* millicelsius */
155 hysteresis = <10000>; /* millicelsius */
158 cpu1_alert2: cpu-alert-2 {
159 temperature = <110000>; /* millicelsius */
160 hysteresis = <10000>; /* millicelsius */
163 cpu1_crit0: cpu-crit-0 {
164 temperature = <120000>; /* millicelsius */
165 hysteresis = <0>; /* millicelsius */
172 trip = <&cpu1_alert0>;
173 cooling-device = <&cpu0 0 2>,
184 trip = <&cpu1_alert1>;
185 cooling-device = <&cpu0 3 6>,
196 trip = <&cpu1_alert2>;
197 cooling-device = <&cpu0 6 11>,
211 cpu2_alert0: cpu-alert-0 {
212 temperature = <60000>; /* millicelsius */
213 hysteresis = <5000>; /* millicelsius */
216 cpu2_alert1: cpu-alert-1 {
217 temperature = <80000>; /* millicelsius */
218 hysteresis = <10000>; /* millicelsius */
221 cpu2_alert2: cpu-alert-2 {
222 temperature = <110000>; /* millicelsius */
223 hysteresis = <10000>; /* millicelsius */
226 cpu2_crit0: cpu-crit-0 {
227 temperature = <120000>; /* millicelsius */
228 hysteresis = <0>; /* millicelsius */
235 trip = <&cpu2_alert0>;
236 cooling-device = <&cpu0 0 2>,
247 trip = <&cpu2_alert1>;
248 cooling-device = <&cpu0 3 6>,
259 trip = <&cpu2_alert2>;
260 cooling-device = <&cpu0 6 11>,
274 cpu3_alert0: cpu-alert-0 {
275 temperature = <60000>; /* millicelsius */
276 hysteresis = <5000>; /* millicelsius */
279 cpu3_alert1: cpu-alert-1 {
280 temperature = <80000>; /* millicelsius */
281 hysteresis = <10000>; /* millicelsius */
284 cpu3_alert2: cpu-alert-2 {
285 temperature = <110000>; /* millicelsius */
286 hysteresis = <10000>; /* millicelsius */
289 cpu3_crit0: cpu-crit-0 {
290 temperature = <120000>; /* millicelsius */
291 hysteresis = <0>; /* millicelsius */
298 trip = <&cpu3_alert0>;
299 cooling-device = <&cpu0 0 2>,
310 trip = <&cpu3_alert1>;
311 cooling-device = <&cpu0 3 6>,
322 trip = <&cpu3_alert2>;
323 cooling-device = <&cpu0 6 11>,
336 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
337 vdd_osc-supply = <&ldo7_reg>;
338 vdd_pll-supply = <&ldo6_reg>;
339 vdd-supply = <&ldo6_reg>;
348 compatible = "samsung,s2mps11-pmic";
351 interrupt-parent = <&gpx3>;
352 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
353 pinctrl-names = "default";
354 pinctrl-0 = <&s2mps11_irq>;
357 s2mps11_osc: clocks {
358 compatible = "samsung,s2mps11-clk";
360 clock-output-names = "s2mps11_ap",
361 "s2mps11_cp", "s2mps11_bt";
366 regulator-name = "PVDD_ALIVE_1V0";
367 regulator-min-microvolt = <1000000>;
368 regulator-max-microvolt = <1000000>;
373 regulator-name = "PVDD_APIO_1V8";
374 regulator-min-microvolt = <1800000>;
375 regulator-max-microvolt = <1800000>;
380 regulator-name = "PVDD_APIO_MMCON_1V8";
381 regulator-min-microvolt = <1800000>;
382 regulator-max-microvolt = <1800000>;
384 * Must be always on, even though there is
385 * a consumer (mmc_0). Otherwise the board
386 * does not reboot with vendor U-Boot
387 * (Linaro for Arndale Octa, v2012.07).
391 regulator-state-mem {
392 regulator-off-in-suspend;
397 regulator-name = "PVDD_ADC_1V8";
398 regulator-min-microvolt = <1800000>;
399 regulator-max-microvolt = <1800000>;
403 regulator-name = "PVDD_PLL_1V8";
404 regulator-min-microvolt = <1800000>;
405 regulator-max-microvolt = <1800000>;
410 regulator-name = "PVDD_ANAIP_1V0";
411 regulator-min-microvolt = <1000000>;
412 regulator-max-microvolt = <1000000>;
416 regulator-name = "PVDD_ANAIP_1V8";
417 regulator-min-microvolt = <1800000>;
418 regulator-max-microvolt = <1800000>;
420 regulator-state-mem {
421 regulator-off-in-suspend;
426 regulator-name = "PVDD_ABB_1V8";
427 regulator-min-microvolt = <1800000>;
428 regulator-max-microvolt = <1800000>;
433 regulator-name = "PVDD_USB_3V3";
434 regulator-min-microvolt = <3000000>;
435 regulator-max-microvolt = <3000000>;
440 regulator-name = "PVDD_PRE_1V8";
441 regulator-min-microvolt = <1800000>;
442 regulator-max-microvolt = <1800000>;
447 regulator-name = "PVDD_USB_1V0";
448 regulator-min-microvolt = <1000000>;
449 regulator-max-microvolt = <1000000>;
454 regulator-name = "PVDD_HSIC_1V8";
455 regulator-min-microvolt = <1800000>;
456 regulator-max-microvolt = <1800000>;
460 regulator-name = "PVDD_APIO_MMCOFF_2V8";
461 regulator-min-microvolt = <1800000>;
462 regulator-max-microvolt = <2800000>;
464 regulator-state-mem {
465 regulator-off-in-suspend;
471 regulator-name = "PVDD_LDO14";
472 regulator-min-microvolt = <800000>;
473 regulator-max-microvolt = <3950000>;
477 regulator-name = "PVDD_PERI_2V8";
478 regulator-min-microvolt = <3300000>;
479 regulator-max-microvolt = <3300000>;
481 regulator-state-mem {
482 regulator-on-in-suspend;
487 regulator-name = "PVDD_PERI_3V3";
488 regulator-min-microvolt = <2200000>;
489 regulator-max-microvolt = <2200000>;
491 regulator-state-mem {
492 regulator-on-in-suspend;
498 regulator-name = "PVDD_LDO17";
499 regulator-min-microvolt = <800000>;
500 regulator-max-microvolt = <3950000>;
504 regulator-name = "PVDD_EMMC_1V8";
505 regulator-min-microvolt = <1800000>;
506 regulator-max-microvolt = <1800000>;
508 * Must stay in "off" mode during shutdown for
509 * proper eMMC reset. The "off" mode is in
510 * fact controlled by LDO18EN. The eMMC does
511 * not have reset pin connected so the reset
512 * will be triggered by falling edge of
516 regulator-state-mem {
517 regulator-off-in-suspend;
522 regulator-name = "PVDD_TFLASH_2V8";
523 regulator-min-microvolt = <2800000>;
524 regulator-max-microvolt = <2800000>;
526 regulator-state-mem {
527 regulator-off-in-suspend;
532 regulator-name = "PVDD_BTWIFI_1V8";
533 regulator-min-microvolt = <1800000>;
534 regulator-max-microvolt = <1800000>;
538 regulator-name = "PVDD_CAM1IO_1V8";
539 regulator-min-microvolt = <1800000>;
540 regulator-max-microvolt = <1800000>;
545 regulator-name = "PVDD_LDO22";
546 regulator-min-microvolt = <800000>;
547 regulator-max-microvolt = <2375000>;
551 regulator-name = "PVDD_MIFS_1V1";
552 regulator-min-microvolt = <800000>;
553 regulator-max-microvolt = <1100000>;
556 regulator-state-mem {
557 regulator-on-in-suspend;
562 regulator-name = "PVDD_CAM1_AVDD_2V8";
563 regulator-min-microvolt = <2800000>;
564 regulator-max-microvolt = <2800000>;
566 regulator-state-mem {
567 regulator-on-in-suspend;
573 regulator-name = "PVDD_LDO25";
574 regulator-min-microvolt = <800000>;
575 regulator-max-microvolt = <3950000>;
579 regulator-name = "PVDD_CAM0_AF_2V8";
580 regulator-min-microvolt = <3000000>;
581 regulator-max-microvolt = <3000000>;
585 regulator-name = "PVDD_G3DS_1V0";
586 regulator-min-microvolt = <800000>;
587 regulator-max-microvolt = <1100000>;
590 regulator-state-mem {
591 regulator-on-in-suspend;
596 regulator-name = "PVDD_TSP_3V3";
597 regulator-min-microvolt = <3300000>;
598 regulator-max-microvolt = <3300000>;
602 regulator-name = "PVDD_AUDIO_1V8";
603 regulator-min-microvolt = <1800000>;
604 regulator-max-microvolt = <1800000>;
609 regulator-name = "PVDD_LDO30";
610 regulator-min-microvolt = <800000>;
611 regulator-max-microvolt = <3950000>;
615 regulator-name = "PVDD_PERI_1V8";
616 regulator-min-microvolt = <1800000>;
617 regulator-max-microvolt = <1800000>;
621 regulator-name = "PVDD_LCD_1V8";
622 regulator-min-microvolt = <1800000>;
623 regulator-max-microvolt = <1800000>;
627 regulator-name = "PVDD_CAM0IO_1V8";
628 regulator-min-microvolt = <1800000>;
629 regulator-max-microvolt = <1800000>;
634 regulator-name = "PVDD_LDO34";
635 regulator-min-microvolt = <800000>;
636 regulator-max-microvolt = <3950000>;
640 regulator-name = "PVDD_CAM0_DVDD_1V2";
641 regulator-min-microvolt = <1200000>;
642 regulator-max-microvolt = <1200000>;
647 regulator-name = "PVDD_LDO36";
648 regulator-min-microvolt = <800000>;
649 regulator-max-microvolt = <3950000>;
654 regulator-name = "PVDD_LDO37";
655 regulator-min-microvolt = <800000>;
656 regulator-max-microvolt = <3950000>;
660 regulator-name = "PVDD_CAM0_AVDD_2V8";
661 regulator-min-microvolt = <2800000>;
662 regulator-max-microvolt = <2800000>;
666 regulator-name = "PVDD_MIF_1V1";
667 regulator-min-microvolt = <800000>;
668 regulator-max-microvolt = <1300000>;
671 regulator-state-mem {
672 regulator-off-in-suspend;
677 regulator-name = "PVDD_ARM_1V0";
678 regulator-min-microvolt = <800000>;
679 regulator-max-microvolt = <1500000>;
682 regulator-state-mem {
683 regulator-off-in-suspend;
688 regulator-name = "PVDD_INT_1V0";
689 regulator-min-microvolt = <800000>;
690 regulator-max-microvolt = <1400000>;
693 regulator-state-mem {
694 regulator-off-in-suspend;
699 regulator-name = "PVDD_G3D_1V0";
700 regulator-min-microvolt = <800000>;
701 regulator-max-microvolt = <1400000>;
704 regulator-state-mem {
705 regulator-off-in-suspend;
710 regulator-name = "PVDD_LPDDR3_1V2";
711 regulator-min-microvolt = <800000>;
712 regulator-max-microvolt = <1400000>;
717 regulator-name = "PVDD_KFC_1V0";
718 regulator-min-microvolt = <800000>;
719 regulator-max-microvolt = <1500000>;
722 regulator-state-mem {
723 regulator-off-in-suspend;
728 regulator-name = "VIN_LLDO_1V4";
729 regulator-min-microvolt = <1200000>;
730 regulator-max-microvolt = <1500000>;
735 regulator-name = "VIN_MLDO_2V0";
736 regulator-min-microvolt = <1800000>;
737 regulator-max-microvolt = <2100000>;
742 regulator-name = "VIN_HLDO_3V5";
743 regulator-min-microvolt = <3000000>;
744 regulator-max-microvolt = <3500000>;
749 regulator-name = "PVDD_EMMCF_2V8";
750 regulator-min-microvolt = <2800000>;
751 regulator-max-microvolt = <2800000>;
753 * Must stay in "off" mode during shutdown for
754 * proper eMMC reset. The "off" mode is in
755 * fact controlled by BUCK10EN. The eMMC does
756 * not have reset pin connected so the reset
757 * will be triggered by falling edge of
761 regulator-state-mem {
762 regulator-off-in-suspend;
780 card-detect-delay = <200>;
781 samsung,dw-mshc-ciu-div = <3>;
782 samsung,dw-mshc-sdr-timing = <0 4>;
783 samsung,dw-mshc-ddr-timing = <0 2>;
784 pinctrl-names = "default";
785 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
786 vmmc-supply = <&ldo18_reg>;
787 vqmmc-supply = <&ldo3_reg>;
795 card-detect-delay = <200>;
796 samsung,dw-mshc-ciu-div = <3>;
797 samsung,dw-mshc-sdr-timing = <0 4>;
798 samsung,dw-mshc-ddr-timing = <0 2>;
799 pinctrl-names = "default";
800 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
801 vmmc-supply = <&ldo19_reg>;
802 vqmmc-supply = <&ldo13_reg>;
811 s2mps11_irq: s2mps11-irq {
812 samsung,pins = "gpx3-2";
813 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
814 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
815 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
821 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
822 clock-names = "rtc", "rtc_src";