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>;
589 regulator-state-mem {
590 regulator-on-in-suspend;
595 regulator-name = "PVDD_TSP_3V3";
596 regulator-min-microvolt = <3300000>;
597 regulator-max-microvolt = <3300000>;
601 regulator-name = "PVDD_AUDIO_1V8";
602 regulator-min-microvolt = <1800000>;
603 regulator-max-microvolt = <1800000>;
608 regulator-name = "PVDD_LDO30";
609 regulator-min-microvolt = <800000>;
610 regulator-max-microvolt = <3950000>;
614 regulator-name = "PVDD_PERI_1V8";
615 regulator-min-microvolt = <1800000>;
616 regulator-max-microvolt = <1800000>;
620 regulator-name = "PVDD_LCD_1V8";
621 regulator-min-microvolt = <1800000>;
622 regulator-max-microvolt = <1800000>;
626 regulator-name = "PVDD_CAM0IO_1V8";
627 regulator-min-microvolt = <1800000>;
628 regulator-max-microvolt = <1800000>;
633 regulator-name = "PVDD_LDO34";
634 regulator-min-microvolt = <800000>;
635 regulator-max-microvolt = <3950000>;
639 regulator-name = "PVDD_CAM0_DVDD_1V2";
640 regulator-min-microvolt = <1200000>;
641 regulator-max-microvolt = <1200000>;
646 regulator-name = "PVDD_LDO36";
647 regulator-min-microvolt = <800000>;
648 regulator-max-microvolt = <3950000>;
653 regulator-name = "PVDD_LDO37";
654 regulator-min-microvolt = <800000>;
655 regulator-max-microvolt = <3950000>;
659 regulator-name = "PVDD_CAM0_AVDD_2V8";
660 regulator-min-microvolt = <2800000>;
661 regulator-max-microvolt = <2800000>;
665 regulator-name = "PVDD_MIF_1V1";
666 regulator-min-microvolt = <800000>;
667 regulator-max-microvolt = <1300000>;
670 regulator-state-mem {
671 regulator-off-in-suspend;
676 regulator-name = "PVDD_ARM_1V0";
677 regulator-min-microvolt = <800000>;
678 regulator-max-microvolt = <1500000>;
681 regulator-state-mem {
682 regulator-off-in-suspend;
687 regulator-name = "PVDD_INT_1V0";
688 regulator-min-microvolt = <800000>;
689 regulator-max-microvolt = <1400000>;
692 regulator-state-mem {
693 regulator-off-in-suspend;
698 regulator-name = "PVDD_G3D_1V0";
699 regulator-min-microvolt = <800000>;
700 regulator-max-microvolt = <1400000>;
703 regulator-state-mem {
704 regulator-off-in-suspend;
709 regulator-name = "PVDD_LPDDR3_1V2";
710 regulator-min-microvolt = <800000>;
711 regulator-max-microvolt = <1400000>;
716 regulator-name = "PVDD_KFC_1V0";
717 regulator-min-microvolt = <800000>;
718 regulator-max-microvolt = <1500000>;
721 regulator-state-mem {
722 regulator-off-in-suspend;
727 regulator-name = "VIN_LLDO_1V4";
728 regulator-min-microvolt = <1200000>;
729 regulator-max-microvolt = <1500000>;
734 regulator-name = "VIN_MLDO_2V0";
735 regulator-min-microvolt = <1800000>;
736 regulator-max-microvolt = <2100000>;
741 regulator-name = "VIN_HLDO_3V5";
742 regulator-min-microvolt = <3000000>;
743 regulator-max-microvolt = <3500000>;
748 regulator-name = "PVDD_EMMCF_2V8";
749 regulator-min-microvolt = <2800000>;
750 regulator-max-microvolt = <2800000>;
752 * Must stay in "off" mode during shutdown for
753 * proper eMMC reset. The "off" mode is in
754 * fact controlled by BUCK10EN. The eMMC does
755 * not have reset pin connected so the reset
756 * will be triggered by falling edge of
760 regulator-state-mem {
761 regulator-off-in-suspend;
779 card-detect-delay = <200>;
780 samsung,dw-mshc-ciu-div = <3>;
781 samsung,dw-mshc-sdr-timing = <0 4>;
782 samsung,dw-mshc-ddr-timing = <0 2>;
783 pinctrl-names = "default";
784 pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_bus1 &sd0_bus4 &sd0_bus8>;
785 vmmc-supply = <&ldo18_reg>;
786 vqmmc-supply = <&ldo3_reg>;
794 card-detect-delay = <200>;
795 samsung,dw-mshc-ciu-div = <3>;
796 samsung,dw-mshc-sdr-timing = <0 4>;
797 samsung,dw-mshc-ddr-timing = <0 2>;
798 pinctrl-names = "default";
799 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_bus1 &sd2_bus4>;
800 vmmc-supply = <&ldo19_reg>;
801 vqmmc-supply = <&ldo13_reg>;
810 s2mps11_irq: s2mps11-irq {
811 samsung,pins = "gpx3-2";
812 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
813 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
814 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
820 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
821 clock-names = "rtc", "rtc_src";