1 // SPDX-License-Identifier: GPL-2.0
3 * Hardkernel Odroid XU3/XU3-Lite/XU4/HC1 boards core device tree source
5 * Copyright (c) 2017 Marek Szyprowski
6 * Copyright (c) 2013-2017 Samsung Electronics Co., Ltd.
7 * http://www.samsung.com
10 #include <dt-bindings/clock/samsung,s2mps11.h>
11 #include <dt-bindings/interrupt-controller/irq.h>
12 #include <dt-bindings/gpio/gpio.h>
13 #include "exynos5800.dtsi"
14 #include "exynos5422-cpus.dtsi"
18 device_type = "memory";
19 reg = <0x40000000 0x7ea00000>;
27 stdout-path = "serial2:115200n8";
31 compatible = "samsung,secure-firmware";
32 reg = <0x02073000 0x1000>;
37 compatible = "samsung,exynos5420-oscclk";
38 clock-frequency = <24000000>;
42 bus_wcore_opp_table: opp-table-2 {
43 compatible = "operating-points-v2";
45 /* derived from 532MHz MPLL */
47 opp-hz = /bits/ 64 <88700000>;
48 opp-microvolt = <925000 925000 1400000>;
51 opp-hz = /bits/ 64 <133000000>;
52 opp-microvolt = <950000 950000 1400000>;
55 opp-hz = /bits/ 64 <177400000>;
56 opp-microvolt = <950000 950000 1400000>;
59 opp-hz = /bits/ 64 <266000000>;
60 opp-microvolt = <950000 950000 1400000>;
63 opp-hz = /bits/ 64 <532000000>;
64 opp-microvolt = <1000000 1000000 1400000>;
68 bus_noc_opp_table: opp-table-3 {
69 compatible = "operating-points-v2";
71 /* derived from 666MHz CPLL */
73 opp-hz = /bits/ 64 <66600000>;
76 opp-hz = /bits/ 64 <74000000>;
79 opp-hz = /bits/ 64 <83250000>;
82 opp-hz = /bits/ 64 <111000000>;
86 bus_fsys_apb_opp_table: opp-table-4 {
87 compatible = "operating-points-v2";
89 /* derived from 666MHz CPLL */
91 opp-hz = /bits/ 64 <111000000>;
94 opp-hz = /bits/ 64 <222000000>;
98 bus_fsys2_opp_table: opp-table-5 {
99 compatible = "operating-points-v2";
101 /* derived from 600MHz DPLL */
103 opp-hz = /bits/ 64 <75000000>;
106 opp-hz = /bits/ 64 <120000000>;
109 opp-hz = /bits/ 64 <200000000>;
113 bus_mfc_opp_table: opp-table-6 {
114 compatible = "operating-points-v2";
116 /* derived from 666MHz CPLL */
118 opp-hz = /bits/ 64 <83250000>;
121 opp-hz = /bits/ 64 <111000000>;
124 opp-hz = /bits/ 64 <166500000>;
127 opp-hz = /bits/ 64 <222000000>;
130 opp-hz = /bits/ 64 <333000000>;
134 bus_gen_opp_table: opp-table-7 {
135 compatible = "operating-points-v2";
137 /* derived from 532MHz MPLL */
139 opp-hz = /bits/ 64 <88700000>;
142 opp-hz = /bits/ 64 <133000000>;
145 opp-hz = /bits/ 64 <178000000>;
148 opp-hz = /bits/ 64 <266000000>;
152 bus_peri_opp_table: opp-table-8 {
153 compatible = "operating-points-v2";
155 /* derived from 666MHz CPLL */
157 opp-hz = /bits/ 64 <66600000>;
161 bus_g2d_opp_table: opp-table-9 {
162 compatible = "operating-points-v2";
164 /* derived from 666MHz CPLL */
166 opp-hz = /bits/ 64 <83250000>;
169 opp-hz = /bits/ 64 <111000000>;
172 opp-hz = /bits/ 64 <166500000>;
175 opp-hz = /bits/ 64 <222000000>;
178 opp-hz = /bits/ 64 <333000000>;
182 bus_g2d_acp_opp_table: opp-table-10 {
183 compatible = "operating-points-v2";
185 /* derived from 532MHz MPLL */
187 opp-hz = /bits/ 64 <66500000>;
190 opp-hz = /bits/ 64 <133000000>;
193 opp-hz = /bits/ 64 <178000000>;
196 opp-hz = /bits/ 64 <266000000>;
200 bus_jpeg_opp_table: opp-table-11 {
201 compatible = "operating-points-v2";
203 /* derived from 600MHz DPLL */
205 opp-hz = /bits/ 64 <75000000>;
208 opp-hz = /bits/ 64 <150000000>;
211 opp-hz = /bits/ 64 <200000000>;
214 opp-hz = /bits/ 64 <300000000>;
218 bus_jpeg_apb_opp_table: opp-table-12 {
219 compatible = "operating-points-v2";
221 /* derived from 666MHz CPLL */
223 opp-hz = /bits/ 64 <83250000>;
226 opp-hz = /bits/ 64 <111000000>;
229 opp-hz = /bits/ 64 <133000000>;
232 opp-hz = /bits/ 64 <166500000>;
236 bus_disp1_fimd_opp_table: opp-table-13 {
237 compatible = "operating-points-v2";
239 /* derived from 600MHz DPLL */
241 opp-hz = /bits/ 64 <120000000>;
244 opp-hz = /bits/ 64 <200000000>;
248 bus_disp1_opp_table: opp-table-14 {
249 compatible = "operating-points-v2";
251 /* derived from 600MHz DPLL */
253 opp-hz = /bits/ 64 <120000000>;
256 opp-hz = /bits/ 64 <200000000>;
259 opp-hz = /bits/ 64 <300000000>;
263 bus_gscl_opp_table: opp-table-15 {
264 compatible = "operating-points-v2";
266 /* derived from 600MHz DPLL */
268 opp-hz = /bits/ 64 <150000000>;
271 opp-hz = /bits/ 64 <200000000>;
274 opp-hz = /bits/ 64 <300000000>;
278 bus_mscl_opp_table: opp-table-16 {
279 compatible = "operating-points-v2";
281 /* derived from 666MHz CPLL */
283 opp-hz = /bits/ 64 <84000000>;
286 opp-hz = /bits/ 64 <167000000>;
289 opp-hz = /bits/ 64 <222000000>;
292 opp-hz = /bits/ 64 <333000000>;
295 opp-hz = /bits/ 64 <666000000>;
299 dmc_opp_table: opp-table-17 {
300 compatible = "operating-points-v2";
303 opp-hz = /bits/ 64 <165000000>;
304 opp-microvolt = <875000>;
307 opp-hz = /bits/ 64 <206000000>;
308 opp-microvolt = <875000>;
311 opp-hz = /bits/ 64 <275000000>;
312 opp-microvolt = <875000>;
315 opp-hz = /bits/ 64 <413000000>;
316 opp-microvolt = <887500>;
319 opp-hz = /bits/ 64 <543000000>;
320 opp-microvolt = <937500>;
323 opp-hz = /bits/ 64 <633000000>;
324 opp-microvolt = <1012500>;
327 opp-hz = /bits/ 64 <728000000>;
328 opp-microvolt = <1037500>;
331 opp-hz = /bits/ 64 <825000000>;
332 opp-microvolt = <1050000>;
336 samsung_K3QF2F20DB: lpddr3 {
337 compatible = "samsung,K3QF2F20DB", "jedec,lpddr3";
351 tW2W-C2C-min-tck = <0>;
352 tR2R-C2C-min-tck = <0>;
354 tDQSCK-min-tck = <5>;
360 tCKESR-min-tck = <2>;
363 timings_samsung_K3QF2F20DB_800mhz: timings {
364 compatible = "jedec,lpddr3-timings";
365 max-freq = <800000000>;
366 min-freq = <100000000>;
390 vdd-supply = <&ldo4_reg>;
395 operating-points-v2 = <&bus_wcore_opp_table>;
396 devfreq-events = <&nocp_mem0_0>, <&nocp_mem0_1>,
397 <&nocp_mem1_0>, <&nocp_mem1_1>;
398 vdd-supply = <&buck3_reg>;
399 exynos,saturation-ratio = <100>;
404 operating-points-v2 = <&bus_noc_opp_table>;
405 devfreq = <&bus_wcore>;
410 operating-points-v2 = <&bus_fsys_apb_opp_table>;
411 devfreq = <&bus_wcore>;
416 operating-points-v2 = <&bus_fsys2_opp_table>;
417 devfreq = <&bus_wcore>;
422 operating-points-v2 = <&bus_mfc_opp_table>;
423 devfreq = <&bus_wcore>;
428 operating-points-v2 = <&bus_gen_opp_table>;
429 devfreq = <&bus_wcore>;
434 operating-points-v2 = <&bus_peri_opp_table>;
435 devfreq = <&bus_wcore>;
440 operating-points-v2 = <&bus_g2d_opp_table>;
441 devfreq = <&bus_wcore>;
446 operating-points-v2 = <&bus_g2d_acp_opp_table>;
447 devfreq = <&bus_wcore>;
452 operating-points-v2 = <&bus_jpeg_opp_table>;
453 devfreq = <&bus_wcore>;
458 operating-points-v2 = <&bus_jpeg_apb_opp_table>;
459 devfreq = <&bus_wcore>;
464 operating-points-v2 = <&bus_disp1_fimd_opp_table>;
465 devfreq = <&bus_wcore>;
470 operating-points-v2 = <&bus_disp1_opp_table>;
471 devfreq = <&bus_wcore>;
476 operating-points-v2 = <&bus_gscl_opp_table>;
477 devfreq = <&bus_wcore>;
482 operating-points-v2 = <&bus_mscl_opp_table>;
483 devfreq = <&bus_wcore>;
488 cpu-supply = <&buck6_reg>;
492 cpu-supply = <&buck2_reg>;
496 devfreq-events = <&ppmu_event3_dmc0_0>, <&ppmu_event3_dmc0_1>,
497 <&ppmu_event3_dmc1_0>, <&ppmu_event3_dmc1_1>;
498 device-handle = <&samsung_K3QF2F20DB>;
499 operating-points-v2 = <&dmc_opp_table>;
500 vdd-supply = <&buck1_reg>;
508 compatible = "samsung,s2mps11-pmic";
510 samsung,s2mps11-acokb-ground;
512 interrupt-parent = <&gpx0>;
513 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
514 pinctrl-names = "default";
515 pinctrl-0 = <&s2mps11_irq>;
518 s2mps11_osc: clocks {
519 compatible = "samsung,s2mps11-clk";
521 clock-output-names = "s2mps11_ap",
522 "s2mps11_cp", "s2mps11_bt";
527 regulator-name = "vdd_ldo1";
528 regulator-min-microvolt = <1000000>;
529 regulator-max-microvolt = <1000000>;
534 regulator-name = "vdd_ldo2";
535 regulator-min-microvolt = <1800000>;
536 regulator-max-microvolt = <1800000>;
541 regulator-name = "vddq_mmc0";
542 regulator-min-microvolt = <1800000>;
543 regulator-max-microvolt = <1800000>;
547 regulator-name = "vdd_adc";
548 regulator-min-microvolt = <1800000>;
549 regulator-max-microvolt = <1800000>;
551 regulator-state-mem {
552 regulator-off-in-suspend;
557 regulator-name = "vdd_ldo5";
558 regulator-min-microvolt = <1800000>;
559 regulator-max-microvolt = <1800000>;
562 regulator-state-mem {
563 regulator-off-in-suspend;
568 regulator-name = "vdd_ldo6";
569 regulator-min-microvolt = <1000000>;
570 regulator-max-microvolt = <1000000>;
573 regulator-state-mem {
574 regulator-off-in-suspend;
579 regulator-name = "vdd_ldo7";
580 regulator-min-microvolt = <1800000>;
581 regulator-max-microvolt = <1800000>;
584 regulator-state-mem {
585 regulator-off-in-suspend;
590 regulator-name = "vdd_ldo8";
591 regulator-min-microvolt = <1800000>;
592 regulator-max-microvolt = <1800000>;
595 regulator-state-mem {
596 regulator-off-in-suspend;
601 regulator-name = "vdd_ldo9";
602 regulator-min-microvolt = <3000000>;
603 regulator-max-microvolt = <3000000>;
606 regulator-state-mem {
607 regulator-off-in-suspend;
612 regulator-name = "vdd_ldo10";
613 regulator-min-microvolt = <1800000>;
614 regulator-max-microvolt = <1800000>;
617 regulator-state-mem {
618 regulator-off-in-suspend;
623 regulator-name = "vdd_ldo11";
624 regulator-min-microvolt = <1000000>;
625 regulator-max-microvolt = <1000000>;
628 regulator-state-mem {
629 regulator-off-in-suspend;
635 regulator-name = "vdd_ldo12";
636 regulator-min-microvolt = <800000>;
637 regulator-max-microvolt = <2375000>;
641 regulator-name = "vddq_mmc2";
642 regulator-min-microvolt = <1800000>;
643 regulator-max-microvolt = <2800000>;
645 regulator-state-mem {
646 regulator-off-in-suspend;
652 regulator-name = "vdd_ldo14";
653 regulator-min-microvolt = <800000>;
654 regulator-max-microvolt = <3950000>;
658 regulator-name = "vdd_ldo15";
659 regulator-min-microvolt = <3300000>;
660 regulator-max-microvolt = <3300000>;
663 regulator-state-mem {
664 regulator-off-in-suspend;
670 regulator-name = "vdd_ldo16";
671 regulator-min-microvolt = <800000>;
672 regulator-max-microvolt = <3950000>;
676 regulator-name = "vdd_ldo17";
677 regulator-min-microvolt = <3300000>;
678 regulator-max-microvolt = <3300000>;
681 regulator-state-mem {
682 regulator-off-in-suspend;
687 regulator-name = "vdd_emmc_1V8";
688 regulator-min-microvolt = <1800000>;
689 regulator-max-microvolt = <1800000>;
691 regulator-state-mem {
692 regulator-off-in-suspend;
697 regulator-name = "vdd_sd";
698 regulator-min-microvolt = <2800000>;
699 regulator-max-microvolt = <2800000>;
701 regulator-state-mem {
702 regulator-off-in-suspend;
708 regulator-name = "vdd_ldo20";
709 regulator-min-microvolt = <800000>;
710 regulator-max-microvolt = <3950000>;
715 regulator-name = "vdd_ldo21";
716 regulator-min-microvolt = <800000>;
717 regulator-max-microvolt = <3950000>;
722 regulator-name = "vdd_ldo22";
723 regulator-min-microvolt = <800000>;
724 regulator-max-microvolt = <2375000>;
728 regulator-name = "vdd_mifs";
729 regulator-min-microvolt = <1100000>;
730 regulator-max-microvolt = <1100000>;
733 regulator-state-mem {
734 regulator-off-in-suspend;
740 regulator-name = "vdd_ldo24";
741 regulator-min-microvolt = <800000>;
742 regulator-max-microvolt = <3950000>;
747 regulator-name = "vdd_ldo25";
748 regulator-min-microvolt = <800000>;
749 regulator-max-microvolt = <3950000>;
753 /* Used on XU3, XU3-Lite and XU4 */
754 regulator-name = "vdd_ldo26";
755 regulator-min-microvolt = <800000>;
756 regulator-max-microvolt = <3950000>;
758 regulator-state-mem {
759 regulator-off-in-suspend;
764 regulator-name = "vdd_g3ds";
765 regulator-min-microvolt = <1000000>;
766 regulator-max-microvolt = <1000000>;
769 regulator-state-mem {
770 regulator-off-in-suspend;
776 regulator-name = "vdd_ldo28";
777 regulator-min-microvolt = <800000>;
778 regulator-max-microvolt = <3950000>;
780 regulator-state-mem {
781 regulator-off-in-suspend;
787 regulator-name = "vdd_ldo29";
788 regulator-min-microvolt = <800000>;
789 regulator-max-microvolt = <3950000>;
794 regulator-name = "vdd_ldo30";
795 regulator-min-microvolt = <800000>;
796 regulator-max-microvolt = <3950000>;
801 regulator-name = "vdd_ldo31";
802 regulator-min-microvolt = <800000>;
803 regulator-max-microvolt = <3950000>;
808 regulator-name = "vdd_ldo32";
809 regulator-min-microvolt = <800000>;
810 regulator-max-microvolt = <3950000>;
815 regulator-name = "vdd_ldo33";
816 regulator-min-microvolt = <800000>;
817 regulator-max-microvolt = <3950000>;
822 regulator-name = "vdd_ldo34";
823 regulator-min-microvolt = <800000>;
824 regulator-max-microvolt = <3950000>;
829 regulator-name = "vdd_ldo35";
830 regulator-min-microvolt = <800000>;
831 regulator-max-microvolt = <2375000>;
836 regulator-name = "vdd_ldo36";
837 regulator-min-microvolt = <800000>;
838 regulator-max-microvolt = <3950000>;
843 regulator-name = "vdd_ldo37";
844 regulator-min-microvolt = <800000>;
845 regulator-max-microvolt = <3950000>;
850 regulator-name = "vdd_ldo38";
851 regulator-min-microvolt = <800000>;
852 regulator-max-microvolt = <3950000>;
856 regulator-name = "vdd_mif";
857 regulator-min-microvolt = <800000>;
858 regulator-max-microvolt = <1300000>;
862 regulator-state-mem {
863 regulator-off-in-suspend;
868 regulator-name = "vdd_arm";
869 regulator-min-microvolt = <800000>;
870 regulator-max-microvolt = <1500000>;
873 regulator-coupled-with = <&buck3_reg>;
874 regulator-coupled-max-spread = <300000>;
876 regulator-state-mem {
877 regulator-off-in-suspend;
882 regulator-name = "vdd_int";
883 regulator-min-microvolt = <800000>;
884 regulator-max-microvolt = <1400000>;
887 regulator-coupled-with = <&buck2_reg>;
888 regulator-coupled-max-spread = <300000>;
890 regulator-state-mem {
891 regulator-off-in-suspend;
896 regulator-name = "vdd_g3d";
897 regulator-min-microvolt = <800000>;
898 regulator-max-microvolt = <1400000>;
902 regulator-state-mem {
903 regulator-off-in-suspend;
908 regulator-name = "vdd_mem";
909 regulator-min-microvolt = <800000>;
910 regulator-max-microvolt = <1400000>;
916 regulator-name = "vdd_kfc";
917 regulator-min-microvolt = <800000>;
918 regulator-max-microvolt = <1500000>;
922 regulator-state-mem {
923 regulator-off-in-suspend;
928 regulator-name = "vdd_1.35v_ldo";
929 regulator-min-microvolt = <1200000>;
930 regulator-max-microvolt = <1500000>;
936 regulator-name = "vdd_2.0v_ldo";
937 regulator-min-microvolt = <1800000>;
938 regulator-max-microvolt = <2100000>;
944 regulator-name = "vdd_2.8v_ldo";
945 regulator-min-microvolt = <3000000>;
946 regulator-max-microvolt = <3750000>;
950 regulator-state-mem {
951 regulator-off-in-suspend;
956 regulator-name = "vdd_vmem";
957 regulator-min-microvolt = <2850000>;
958 regulator-max-microvolt = <2850000>;
960 regulator-state-mem {
961 regulator-off-in-suspend;
970 card-detect-delay = <200>;
971 samsung,dw-mshc-ciu-div = <3>;
972 samsung,dw-mshc-sdr-timing = <0 4>;
973 samsung,dw-mshc-ddr-timing = <0 2>;
974 pinctrl-names = "default";
975 pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_cd &sd2_wp &sd2_bus1 &sd2_bus4>;
978 max-frequency = <200000000>;
979 vmmc-supply = <&ldo19_reg>;
980 vqmmc-supply = <&ldo13_reg>;
1003 s2mps11_irq: s2mps11-irq-pins {
1004 samsung,pins = "gpx0-4";
1005 samsung,pin-function = <EXYNOS_PIN_FUNC_F>;
1006 samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
1007 samsung,pin-drv = <EXYNOS5420_PIN_DRV_LV1>;
1028 vtmu-supply = <&ldo7_reg>;
1032 vtmu-supply = <&ldo7_reg>;
1036 vtmu-supply = <&ldo7_reg>;
1040 vtmu-supply = <&ldo7_reg>;
1044 vtmu-supply = <&ldo7_reg>;
1048 mali-supply = <&buck4_reg>;
1054 clocks = <&clock CLK_RTC>, <&s2mps11_osc S2MPS11_CLK_AP>;
1055 clock-names = "rtc", "rtc_src";
1062 /* usbdrd_dwc3_1 mode customized in each board */
1065 vdd33-supply = <&ldo9_reg>;
1066 vdd10-supply = <&ldo11_reg>;
1070 vdd33-supply = <&ldo9_reg>;
1071 vdd10-supply = <&ldo11_reg>;