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_EDGE_FALLING>;
353 pinctrl-names = "default";
354 pinctrl-0 = <&s2mps11_irq>;
356 s2mps11_osc: clocks {
357 compatible = "samsung,s2mps11-clk";
359 clock-output-names = "s2mps11_ap",
360 "s2mps11_cp", "s2mps11_bt";
365 regulator-name = "PVDD_ALIVE_1V0";
366 regulator-min-microvolt = <1000000>;
367 regulator-max-microvolt = <1000000>;
372 regulator-name = "PVDD_APIO_1V8";
373 regulator-min-microvolt = <1800000>;
374 regulator-max-microvolt = <1800000>;
379 regulator-name = "PVDD_APIO_MMCON_1V8";
380 regulator-min-microvolt = <1800000>;
381 regulator-max-microvolt = <1800000>;
383 * Must be always on, even though there is
384 * a consumer (mmc_0). Otherwise the board
385 * does not reboot with vendor U-Boot
386 * (Linaro for Arndale Octa, v2012.07).
390 regulator-state-mem {
391 regulator-off-in-suspend;
396 regulator-name = "PVDD_ADC_1V8";
397 regulator-min-microvolt = <1800000>;
398 regulator-max-microvolt = <1800000>;
402 regulator-name = "PVDD_PLL_1V8";
403 regulator-min-microvolt = <1800000>;
404 regulator-max-microvolt = <1800000>;
409 regulator-name = "PVDD_ANAIP_1V0";
410 regulator-min-microvolt = <1000000>;
411 regulator-max-microvolt = <1000000>;
415 regulator-name = "PVDD_ANAIP_1V8";
416 regulator-min-microvolt = <1800000>;
417 regulator-max-microvolt = <1800000>;
419 regulator-state-mem {
420 regulator-off-in-suspend;
425 regulator-name = "PVDD_ABB_1V8";
426 regulator-min-microvolt = <1800000>;
427 regulator-max-microvolt = <1800000>;
432 regulator-name = "PVDD_USB_3V3";
433 regulator-min-microvolt = <3000000>;
434 regulator-max-microvolt = <3000000>;
439 regulator-name = "PVDD_PRE_1V8";
440 regulator-min-microvolt = <1800000>;
441 regulator-max-microvolt = <1800000>;
446 regulator-name = "PVDD_USB_1V0";
447 regulator-min-microvolt = <1000000>;
448 regulator-max-microvolt = <1000000>;
453 regulator-name = "PVDD_HSIC_1V8";
454 regulator-min-microvolt = <1800000>;
455 regulator-max-microvolt = <1800000>;
459 regulator-name = "PVDD_APIO_MMCOFF_2V8";
460 regulator-min-microvolt = <1800000>;
461 regulator-max-microvolt = <2800000>;
463 regulator-state-mem {
464 regulator-off-in-suspend;
470 regulator-name = "PVDD_LDO14";
471 regulator-min-microvolt = <800000>;
472 regulator-max-microvolt = <3950000>;
476 regulator-name = "PVDD_PERI_2V8";
477 regulator-min-microvolt = <3300000>;
478 regulator-max-microvolt = <3300000>;
480 regulator-state-mem {
481 regulator-on-in-suspend;
486 regulator-name = "PVDD_PERI_3V3";
487 regulator-min-microvolt = <2200000>;
488 regulator-max-microvolt = <2200000>;
490 regulator-state-mem {
491 regulator-on-in-suspend;
497 regulator-name = "PVDD_LDO17";
498 regulator-min-microvolt = <800000>;
499 regulator-max-microvolt = <3950000>;
503 regulator-name = "PVDD_EMMC_1V8";
504 regulator-min-microvolt = <1800000>;
505 regulator-max-microvolt = <1800000>;
507 * Must stay in "off" mode during shutdown for
508 * proper eMMC reset. The "off" mode is in
509 * fact controlled by LDO18EN. The eMMC does
510 * not have reset pin connected so the reset
511 * will be triggered by falling edge of
515 regulator-state-mem {
516 regulator-off-in-suspend;
521 regulator-name = "PVDD_TFLASH_2V8";
522 regulator-min-microvolt = <2800000>;
523 regulator-max-microvolt = <2800000>;
525 regulator-state-mem {
526 regulator-off-in-suspend;
531 regulator-name = "PVDD_BTWIFI_1V8";
532 regulator-min-microvolt = <1800000>;
533 regulator-max-microvolt = <1800000>;
537 regulator-name = "PVDD_CAM1IO_1V8";
538 regulator-min-microvolt = <1800000>;
539 regulator-max-microvolt = <1800000>;
544 regulator-name = "PVDD_LDO22";
545 regulator-min-microvolt = <800000>;
546 regulator-max-microvolt = <2375000>;
550 regulator-name = "PVDD_MIFS_1V1";
551 regulator-min-microvolt = <800000>;
552 regulator-max-microvolt = <1100000>;
555 regulator-state-mem {
556 regulator-on-in-suspend;
561 regulator-name = "PVDD_CAM1_AVDD_2V8";
562 regulator-min-microvolt = <2800000>;
563 regulator-max-microvolt = <2800000>;
565 regulator-state-mem {
566 regulator-on-in-suspend;
572 regulator-name = "PVDD_LDO25";
573 regulator-min-microvolt = <800000>;
574 regulator-max-microvolt = <3950000>;
578 regulator-name = "PVDD_CAM0_AF_2V8";
579 regulator-min-microvolt = <3000000>;
580 regulator-max-microvolt = <3000000>;
584 regulator-name = "PVDD_G3DS_1V0";
585 regulator-min-microvolt = <800000>;
586 regulator-max-microvolt = <1100000>;
588 regulator-state-mem {
589 regulator-on-in-suspend;
594 regulator-name = "PVDD_TSP_3V3";
595 regulator-min-microvolt = <3300000>;
596 regulator-max-microvolt = <3300000>;
600 regulator-name = "PVDD_AUDIO_1V8";
601 regulator-min-microvolt = <1800000>;
602 regulator-max-microvolt = <1800000>;
607 regulator-name = "PVDD_LDO30";
608 regulator-min-microvolt = <800000>;
609 regulator-max-microvolt = <3950000>;
613 regulator-name = "PVDD_PERI_1V8";
614 regulator-min-microvolt = <1800000>;
615 regulator-max-microvolt = <1800000>;
619 regulator-name = "PVDD_LCD_1V8";
620 regulator-min-microvolt = <1800000>;
621 regulator-max-microvolt = <1800000>;
625 regulator-name = "PVDD_CAM0IO_1V8";
626 regulator-min-microvolt = <1800000>;
627 regulator-max-microvolt = <1800000>;
632 regulator-name = "PVDD_LDO34";
633 regulator-min-microvolt = <800000>;
634 regulator-max-microvolt = <3950000>;
638 regulator-name = "PVDD_CAM0_DVDD_1V2";
639 regulator-min-microvolt = <1200000>;
640 regulator-max-microvolt = <1200000>;
645 regulator-name = "PVDD_LDO36";
646 regulator-min-microvolt = <800000>;
647 regulator-max-microvolt = <3950000>;
652 regulator-name = "PVDD_LDO37";
653 regulator-min-microvolt = <800000>;
654 regulator-max-microvolt = <3950000>;
658 regulator-name = "PVDD_CAM0_AVDD_2V8";
659 regulator-min-microvolt = <2800000>;
660 regulator-max-microvolt = <2800000>;
664 regulator-name = "PVDD_MIF_1V1";
665 regulator-min-microvolt = <800000>;
666 regulator-max-microvolt = <1300000>;
669 regulator-state-mem {
670 regulator-off-in-suspend;
675 regulator-name = "vdd_arm";
676 regulator-min-microvolt = <800000>;
677 regulator-max-microvolt = <1500000>;
680 regulator-state-mem {
681 regulator-off-in-suspend;
686 regulator-name = "PVDD_INT_1V0";
687 regulator-min-microvolt = <800000>;
688 regulator-max-microvolt = <1400000>;
691 regulator-state-mem {
692 regulator-off-in-suspend;
697 regulator-name = "PVDD_G3D_1V0";
698 regulator-min-microvolt = <800000>;
699 regulator-max-microvolt = <1400000>;
701 regulator-state-mem {
702 regulator-off-in-suspend;
707 regulator-name = "PVDD_LPDDR3_1V2";
708 regulator-min-microvolt = <800000>;
709 regulator-max-microvolt = <1400000>;
714 regulator-name = "PVDD_KFC_1V0";
715 regulator-min-microvolt = <800000>;
716 regulator-max-microvolt = <1500000>;
719 regulator-state-mem {
720 regulator-off-in-suspend;
725 regulator-name = "VIN_LLDO_1V4";
726 regulator-min-microvolt = <1200000>;
727 regulator-max-microvolt = <1500000>;
732 regulator-name = "VIN_MLDO_2V0";
733 regulator-min-microvolt = <1800000>;
734 regulator-max-microvolt = <2100000>;
739 regulator-name = "VIN_HLDO_3V5";
740 regulator-min-microvolt = <3000000>;
741 regulator-max-microvolt = <3500000>;
746 regulator-name = "PVDD_EMMCF_2V8";
747 regulator-min-microvolt = <2800000>;
748 regulator-max-microvolt = <2800000>;
750 * Must stay in "off" mode during shutdown for
751 * proper eMMC reset. The "off" mode is in
752 * fact controlled by BUCK10EN. The eMMC does
753 * not have reset pin connected so the reset
754 * will be triggered by falling edge of
758 regulator-state-mem {
759 regulator-off-in-suspend;
777 card-detect-delay = <200>;
778 samsung,dw-mshc-ciu-div = <3>;
779 samsung,dw-mshc-sdr-timing = <0 4>;
780 samsung,dw-mshc-ddr-timing = <0 2>;
781 pinctrl-names = "default";
782 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
783 vmmc-supply = <&ldo18_reg>;
784 vqmmc-supply = <&ldo3_reg>;
792 card-detect-delay = <200>;
793 samsung,dw-mshc-ciu-div = <3>;
794 samsung,dw-mshc-sdr-timing = <0 4>;
795 samsung,dw-mshc-ddr-timing = <0 2>;
796 pinctrl-names = "default";
797 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
798 vmmc-supply = <&ldo19_reg>;
799 vqmmc-supply = <&ldo13_reg>;
808 s2mps11_irq: s2mps11-irq {
809 samsung,pins = "gpx3-2";
810 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
811 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
812 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
818 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
819 clock-names = "rtc", "rtc_src";