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>;
32 stdout-path = "serial3:115200n8";
36 compatible = "samsung,secure-firmware";
37 reg = <0x02073000 0x1000>;
42 compatible = "samsung,exynos5420-oscclk";
43 clock-frequency = <24000000>;
48 compatible = "gpio-keys";
52 gpios = <&gpx2 7 GPIO_ACTIVE_LOW>;
53 linux,code = <KEY_WAKEUP>;
60 vdd-supply = <&ldo4_reg>;
69 cpu-supply = <&buck2_reg>;
73 cpu-supply = <&buck6_reg>;
78 cpu0_alert0: cpu-alert-0 {
79 temperature = <60000>; /* millicelsius */
80 hysteresis = <5000>; /* millicelsius */
83 cpu0_alert1: cpu-alert-1 {
84 temperature = <80000>; /* millicelsius */
85 hysteresis = <10000>; /* millicelsius */
88 cpu0_alert2: cpu-alert-2 {
89 temperature = <110000>; /* millicelsius */
90 hysteresis = <10000>; /* millicelsius */
93 cpu0_crit0: cpu-crit-0 {
94 temperature = <120000>; /* millicelsius */
95 hysteresis = <0>; /* millicelsius */
102 * Reduce the CPU speed by 2 steps, down to: 1600 MHz
106 trip = <&cpu0_alert0>;
107 cooling-device = <&cpu0 0 2>,
118 * Reduce the CPU speed down to 1200 MHz big (6 steps)
119 * and 800 MHz LITTLE (5 steps).
122 trip = <&cpu0_alert1>;
123 cooling-device = <&cpu0 3 6>,
134 * Reduce the CPU speed as much as possible, down to 700 MHz
135 * big (11 steps) and 600 MHz LITTLE (7 steps).
138 trip = <&cpu0_alert2>;
139 cooling-device = <&cpu0 6 11>,
153 cpu1_alert0: cpu-alert-0 {
154 temperature = <60000>; /* millicelsius */
155 hysteresis = <5000>; /* millicelsius */
158 cpu1_alert1: cpu-alert-1 {
159 temperature = <80000>; /* millicelsius */
160 hysteresis = <10000>; /* millicelsius */
163 cpu1_alert2: cpu-alert-2 {
164 temperature = <110000>; /* millicelsius */
165 hysteresis = <10000>; /* millicelsius */
168 cpu1_crit0: cpu-crit-0 {
169 temperature = <120000>; /* millicelsius */
170 hysteresis = <0>; /* millicelsius */
177 trip = <&cpu1_alert0>;
178 cooling-device = <&cpu0 0 2>,
189 trip = <&cpu1_alert1>;
190 cooling-device = <&cpu0 3 6>,
201 trip = <&cpu1_alert2>;
202 cooling-device = <&cpu0 6 11>,
216 cpu2_alert0: cpu-alert-0 {
217 temperature = <60000>; /* millicelsius */
218 hysteresis = <5000>; /* millicelsius */
221 cpu2_alert1: cpu-alert-1 {
222 temperature = <80000>; /* millicelsius */
223 hysteresis = <10000>; /* millicelsius */
226 cpu2_alert2: cpu-alert-2 {
227 temperature = <110000>; /* millicelsius */
228 hysteresis = <10000>; /* millicelsius */
231 cpu2_crit0: cpu-crit-0 {
232 temperature = <120000>; /* millicelsius */
233 hysteresis = <0>; /* millicelsius */
240 trip = <&cpu2_alert0>;
241 cooling-device = <&cpu0 0 2>,
252 trip = <&cpu2_alert1>;
253 cooling-device = <&cpu0 3 6>,
264 trip = <&cpu2_alert2>;
265 cooling-device = <&cpu0 6 11>,
279 cpu3_alert0: cpu-alert-0 {
280 temperature = <60000>; /* millicelsius */
281 hysteresis = <5000>; /* millicelsius */
284 cpu3_alert1: cpu-alert-1 {
285 temperature = <80000>; /* millicelsius */
286 hysteresis = <10000>; /* millicelsius */
289 cpu3_alert2: cpu-alert-2 {
290 temperature = <110000>; /* millicelsius */
291 hysteresis = <10000>; /* millicelsius */
294 cpu3_crit0: cpu-crit-0 {
295 temperature = <120000>; /* millicelsius */
296 hysteresis = <0>; /* millicelsius */
303 trip = <&cpu3_alert0>;
304 cooling-device = <&cpu0 0 2>,
315 trip = <&cpu3_alert1>;
316 cooling-device = <&cpu0 3 6>,
327 trip = <&cpu3_alert2>;
328 cooling-device = <&cpu0 6 11>,
341 hpd-gpios = <&gpx3 7 GPIO_ACTIVE_HIGH>;
342 vdd_osc-supply = <&ldo7_reg>;
343 vdd_pll-supply = <&ldo6_reg>;
344 vdd-supply = <&ldo6_reg>;
353 compatible = "samsung,s2mps11-pmic";
356 interrupt-parent = <&gpx3>;
357 interrupts = <2 IRQ_TYPE_LEVEL_LOW>;
358 pinctrl-names = "default";
359 pinctrl-0 = <&s2mps11_irq>;
362 s2mps11_osc: clocks {
363 compatible = "samsung,s2mps11-clk";
365 clock-output-names = "s2mps11_ap",
366 "s2mps11_cp", "s2mps11_bt";
371 regulator-name = "PVDD_ALIVE_1V0";
372 regulator-min-microvolt = <1000000>;
373 regulator-max-microvolt = <1000000>;
378 regulator-name = "PVDD_APIO_1V8";
379 regulator-min-microvolt = <1800000>;
380 regulator-max-microvolt = <1800000>;
385 regulator-name = "PVDD_APIO_MMCON_1V8";
386 regulator-min-microvolt = <1800000>;
387 regulator-max-microvolt = <1800000>;
389 * Must be always on, even though there is
390 * a consumer (mmc_0). Otherwise the board
391 * does not reboot with vendor U-Boot
392 * (Linaro for Arndale Octa, v2012.07).
396 regulator-state-mem {
397 regulator-off-in-suspend;
402 regulator-name = "PVDD_ADC_1V8";
403 regulator-min-microvolt = <1800000>;
404 regulator-max-microvolt = <1800000>;
408 regulator-name = "PVDD_PLL_1V8";
409 regulator-min-microvolt = <1800000>;
410 regulator-max-microvolt = <1800000>;
415 regulator-name = "PVDD_ANAIP_1V0";
416 regulator-min-microvolt = <1000000>;
417 regulator-max-microvolt = <1000000>;
421 regulator-name = "PVDD_ANAIP_1V8";
422 regulator-min-microvolt = <1800000>;
423 regulator-max-microvolt = <1800000>;
425 regulator-state-mem {
426 regulator-off-in-suspend;
431 regulator-name = "PVDD_ABB_1V8";
432 regulator-min-microvolt = <1800000>;
433 regulator-max-microvolt = <1800000>;
438 regulator-name = "PVDD_USB_3V3";
439 regulator-min-microvolt = <3000000>;
440 regulator-max-microvolt = <3000000>;
445 regulator-name = "PVDD_PRE_1V8";
446 regulator-min-microvolt = <1800000>;
447 regulator-max-microvolt = <1800000>;
452 regulator-name = "PVDD_USB_1V0";
453 regulator-min-microvolt = <1000000>;
454 regulator-max-microvolt = <1000000>;
459 regulator-name = "PVDD_HSIC_1V8";
460 regulator-min-microvolt = <1800000>;
461 regulator-max-microvolt = <1800000>;
465 regulator-name = "PVDD_APIO_MMCOFF_2V8";
466 regulator-min-microvolt = <1800000>;
467 regulator-max-microvolt = <2800000>;
469 regulator-state-mem {
470 regulator-off-in-suspend;
476 regulator-name = "PVDD_LDO14";
477 regulator-min-microvolt = <800000>;
478 regulator-max-microvolt = <3950000>;
482 regulator-name = "PVDD_PERI_2V8";
483 regulator-min-microvolt = <3300000>;
484 regulator-max-microvolt = <3300000>;
486 regulator-state-mem {
487 regulator-on-in-suspend;
492 regulator-name = "PVDD_PERI_3V3";
493 regulator-min-microvolt = <2200000>;
494 regulator-max-microvolt = <2200000>;
496 regulator-state-mem {
497 regulator-on-in-suspend;
503 regulator-name = "PVDD_LDO17";
504 regulator-min-microvolt = <800000>;
505 regulator-max-microvolt = <3950000>;
509 regulator-name = "PVDD_EMMC_1V8";
510 regulator-min-microvolt = <1800000>;
511 regulator-max-microvolt = <1800000>;
513 * Must stay in "off" mode during shutdown for
514 * proper eMMC reset. The "off" mode is in
515 * fact controlled by LDO18EN. The eMMC does
516 * not have reset pin connected so the reset
517 * will be triggered by falling edge of
521 regulator-state-mem {
522 regulator-off-in-suspend;
527 regulator-name = "PVDD_TFLASH_2V8";
528 regulator-min-microvolt = <2800000>;
529 regulator-max-microvolt = <2800000>;
531 regulator-state-mem {
532 regulator-off-in-suspend;
537 regulator-name = "PVDD_BTWIFI_1V8";
538 regulator-min-microvolt = <1800000>;
539 regulator-max-microvolt = <1800000>;
543 regulator-name = "PVDD_CAM1IO_1V8";
544 regulator-min-microvolt = <1800000>;
545 regulator-max-microvolt = <1800000>;
550 regulator-name = "PVDD_LDO22";
551 regulator-min-microvolt = <800000>;
552 regulator-max-microvolt = <2375000>;
556 regulator-name = "PVDD_MIFS_1V1";
557 regulator-min-microvolt = <800000>;
558 regulator-max-microvolt = <1100000>;
561 regulator-state-mem {
562 regulator-on-in-suspend;
567 regulator-name = "PVDD_CAM1_AVDD_2V8";
568 regulator-min-microvolt = <2800000>;
569 regulator-max-microvolt = <2800000>;
571 regulator-state-mem {
572 regulator-on-in-suspend;
578 regulator-name = "PVDD_LDO25";
579 regulator-min-microvolt = <800000>;
580 regulator-max-microvolt = <3950000>;
584 regulator-name = "PVDD_CAM0_AF_2V8";
585 regulator-min-microvolt = <3000000>;
586 regulator-max-microvolt = <3000000>;
590 regulator-name = "PVDD_G3DS_1V0";
591 regulator-min-microvolt = <800000>;
592 regulator-max-microvolt = <1100000>;
595 regulator-state-mem {
596 regulator-on-in-suspend;
601 regulator-name = "PVDD_TSP_3V3";
602 regulator-min-microvolt = <3300000>;
603 regulator-max-microvolt = <3300000>;
607 regulator-name = "PVDD_AUDIO_1V8";
608 regulator-min-microvolt = <1800000>;
609 regulator-max-microvolt = <1800000>;
614 regulator-name = "PVDD_LDO30";
615 regulator-min-microvolt = <800000>;
616 regulator-max-microvolt = <3950000>;
620 regulator-name = "PVDD_PERI_1V8";
621 regulator-min-microvolt = <1800000>;
622 regulator-max-microvolt = <1800000>;
626 regulator-name = "PVDD_LCD_1V8";
627 regulator-min-microvolt = <1800000>;
628 regulator-max-microvolt = <1800000>;
632 regulator-name = "PVDD_CAM0IO_1V8";
633 regulator-min-microvolt = <1800000>;
634 regulator-max-microvolt = <1800000>;
639 regulator-name = "PVDD_LDO34";
640 regulator-min-microvolt = <800000>;
641 regulator-max-microvolt = <3950000>;
645 regulator-name = "PVDD_CAM0_DVDD_1V2";
646 regulator-min-microvolt = <1200000>;
647 regulator-max-microvolt = <1200000>;
652 regulator-name = "PVDD_LDO36";
653 regulator-min-microvolt = <800000>;
654 regulator-max-microvolt = <3950000>;
659 regulator-name = "PVDD_LDO37";
660 regulator-min-microvolt = <800000>;
661 regulator-max-microvolt = <3950000>;
665 regulator-name = "PVDD_CAM0_AVDD_2V8";
666 regulator-min-microvolt = <2800000>;
667 regulator-max-microvolt = <2800000>;
671 regulator-name = "PVDD_MIF_1V1";
672 regulator-min-microvolt = <800000>;
673 regulator-max-microvolt = <1300000>;
676 regulator-state-mem {
677 regulator-off-in-suspend;
682 regulator-name = "PVDD_ARM_1V0";
683 regulator-min-microvolt = <800000>;
684 regulator-max-microvolt = <1500000>;
687 regulator-state-mem {
688 regulator-off-in-suspend;
693 regulator-name = "PVDD_INT_1V0";
694 regulator-min-microvolt = <800000>;
695 regulator-max-microvolt = <1400000>;
698 regulator-state-mem {
699 regulator-off-in-suspend;
704 regulator-name = "PVDD_G3D_1V0";
705 regulator-min-microvolt = <800000>;
706 regulator-max-microvolt = <1400000>;
709 regulator-state-mem {
710 regulator-off-in-suspend;
715 regulator-name = "PVDD_LPDDR3_1V2";
716 regulator-min-microvolt = <800000>;
717 regulator-max-microvolt = <1400000>;
722 regulator-name = "PVDD_KFC_1V0";
723 regulator-min-microvolt = <800000>;
724 regulator-max-microvolt = <1500000>;
727 regulator-state-mem {
728 regulator-off-in-suspend;
733 regulator-name = "VIN_LLDO_1V4";
734 regulator-min-microvolt = <1200000>;
735 regulator-max-microvolt = <1500000>;
740 regulator-name = "VIN_MLDO_2V0";
741 regulator-min-microvolt = <1800000>;
742 regulator-max-microvolt = <2100000>;
747 regulator-name = "VIN_HLDO_3V5";
748 regulator-min-microvolt = <3000000>;
749 regulator-max-microvolt = <3500000>;
754 regulator-name = "PVDD_EMMCF_2V8";
755 regulator-min-microvolt = <2800000>;
756 regulator-max-microvolt = <2800000>;
758 * Must stay in "off" mode during shutdown for
759 * proper eMMC reset. The "off" mode is in
760 * fact controlled by BUCK10EN. The eMMC does
761 * not have reset pin connected so the reset
762 * will be triggered by falling edge of
766 regulator-state-mem {
767 regulator-off-in-suspend;
785 card-detect-delay = <200>;
787 samsung,dw-mshc-ciu-div = <3>;
788 samsung,dw-mshc-sdr-timing = <0 4>;
789 samsung,dw-mshc-ddr-timing = <0 2>;
790 pinctrl-names = "default";
791 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
792 vmmc-supply = <&ldo18_reg>;
793 vqmmc-supply = <&ldo3_reg>;
801 card-detect-delay = <200>;
802 samsung,dw-mshc-ciu-div = <3>;
803 samsung,dw-mshc-sdr-timing = <0 4>;
804 samsung,dw-mshc-ddr-timing = <0 2>;
805 pinctrl-names = "default";
806 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
807 vmmc-supply = <&ldo19_reg>;
808 vqmmc-supply = <&ldo13_reg>;
817 s2mps11_irq: s2mps11-irq-pins {
818 samsung,pins = "gpx3-2";
819 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
820 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
821 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
827 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
828 clock-names = "rtc", "rtc_src";
836 vdd10-supply = <&ldo11_reg>;
837 vdd33-supply = <&ldo9_reg>;
841 vdd10-supply = <&ldo11_reg>;
842 vdd33-supply = <&ldo9_reg>;