2 * Samsung's Exynos4412 SoC device tree source
4 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 * http://www.samsung.com
7 * Samsung's Exynos4412 SoC device nodes are listed in this file. Exynos4412
8 * based board files can include this file and provide values for board specfic
11 * Note: This file does not include device nodes for all the controllers in
12 * Exynos4412 SoC. As device tree coverage for Exynos4412 increases, additional
13 * nodes can be added to this file.
15 * This program is free software; you can redistribute it and/or modify
16 * it under the terms of the GNU General Public License version 2 as
17 * published by the Free Software Foundation.
20 #include "exynos4.dtsi"
21 #include "exynos4412-pinctrl.dtsi"
22 #include "exynos4-cpu-thermal.dtsi"
25 compatible = "samsung,exynos4412", "samsung,exynos4";
28 pinctrl0 = &pinctrl_0;
29 pinctrl1 = &pinctrl_1;
30 pinctrl2 = &pinctrl_2;
31 pinctrl3 = &pinctrl_3;
32 fimc-lite0 = &fimc_lite_0;
33 fimc-lite1 = &fimc_lite_1;
43 compatible = "arm,cortex-a9";
45 clocks = <&clock CLK_ARM_CLK>;
47 operating-points-v2 = <&cpu0_opp_table>;
48 cooling-min-level = <13>;
49 cooling-max-level = <7>;
50 #cooling-cells = <2>; /* min followed by max */
55 compatible = "arm,cortex-a9";
57 operating-points-v2 = <&cpu0_opp_table>;
62 compatible = "arm,cortex-a9";
64 operating-points-v2 = <&cpu0_opp_table>;
69 compatible = "arm,cortex-a9";
71 operating-points-v2 = <&cpu0_opp_table>;
75 cpu0_opp_table: opp_table0 {
76 compatible = "operating-points-v2";
80 opp-hz = /bits/ 64 <200000000>;
81 opp-microvolt = <900000>;
82 clock-latency-ns = <200000>;
85 opp-hz = /bits/ 64 <300000000>;
86 opp-microvolt = <900000>;
87 clock-latency-ns = <200000>;
90 opp-hz = /bits/ 64 <400000000>;
91 opp-microvolt = <925000>;
92 clock-latency-ns = <200000>;
95 opp-hz = /bits/ 64 <500000000>;
96 opp-microvolt = <950000>;
97 clock-latency-ns = <200000>;
100 opp-hz = /bits/ 64 <600000000>;
101 opp-microvolt = <975000>;
102 clock-latency-ns = <200000>;
105 opp-hz = /bits/ 64 <700000000>;
106 opp-microvolt = <987500>;
107 clock-latency-ns = <200000>;
110 opp-hz = /bits/ 64 <800000000>;
111 opp-microvolt = <1000000>;
112 clock-latency-ns = <200000>;
116 opp-hz = /bits/ 64 <900000000>;
117 opp-microvolt = <1037500>;
118 clock-latency-ns = <200000>;
121 opp-hz = /bits/ 64 <1000000000>;
122 opp-microvolt = <1087500>;
123 clock-latency-ns = <200000>;
126 opp-hz = /bits/ 64 <1100000000>;
127 opp-microvolt = <1137500>;
128 clock-latency-ns = <200000>;
131 opp-hz = /bits/ 64 <1200000000>;
132 opp-microvolt = <1187500>;
133 clock-latency-ns = <200000>;
136 opp-hz = /bits/ 64 <1300000000>;
137 opp-microvolt = <1250000>;
138 clock-latency-ns = <200000>;
141 opp-hz = /bits/ 64 <1400000000>;
142 opp-microvolt = <1287500>;
143 clock-latency-ns = <200000>;
145 cpu0_opp_1500: opp@1500000000 {
146 opp-hz = /bits/ 64 <1500000000>;
147 opp-microvolt = <1350000>;
148 clock-latency-ns = <200000>;
154 compatible = "mmio-sram";
155 reg = <0x02020000 0x40000>;
156 #address-cells = <1>;
158 ranges = <0 0x02020000 0x40000>;
161 compatible = "samsung,exynos4210-sysram";
166 compatible = "samsung,exynos4210-sysram-ns";
167 reg = <0x2f000 0x1000>;
171 pd_isp: isp-power-domain@10023CA0 {
172 compatible = "samsung,exynos4210-pd";
173 reg = <0x10023CA0 0x20>;
174 #power-domain-cells = <0>;
178 l2c: l2-cache-controller@10502000 {
179 compatible = "arm,pl310-cache";
180 reg = <0x10502000 0x1000>;
183 arm,tag-latency = <2 2 1>;
184 arm,data-latency = <3 2 1>;
185 arm,double-linefill = <1>;
186 arm,double-linefill-incr = <0>;
187 arm,double-linefill-wrap = <1>;
188 arm,prefetch-drop = <1>;
189 arm,prefetch-offset = <7>;
192 clock: clock-controller@10030000 {
193 compatible = "samsung,exynos4412-clock";
194 reg = <0x10030000 0x20000>;
199 compatible = "samsung,exynos4412-mct";
200 reg = <0x10050000 0x800>;
201 interrupt-parent = <&mct_map>;
202 interrupts = <0>, <1>, <2>, <3>, <4>;
203 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
204 clock-names = "fin_pll", "mct";
207 #interrupt-cells = <1>;
208 #address-cells = <0>;
210 interrupt-map = <0 &gic 0 57 IRQ_TYPE_LEVEL_HIGH>,
214 <4 &gic 1 12 IRQ_TYPE_LEVEL_HIGH>;
219 compatible = "samsung,exynos-adc-v1";
220 reg = <0x126C0000 0x100>;
221 interrupt-parent = <&combiner>;
223 clocks = <&clock CLK_TSADC>;
225 #io-channel-cells = <1>;
227 samsung,syscon-phandle = <&pmu_system_controller>;
232 compatible = "samsung,exynos4212-g2d";
233 reg = <0x10800000 0x1000>;
234 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
235 clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>;
236 clock-names = "sclk_fimg2d", "fimg2d";
237 iommus = <&sysmmu_g2d>;
241 clocks = <&clock CLK_SCLK_CAM0>, <&clock CLK_SCLK_CAM1>,
242 <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
243 clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
245 /* fimc_[0-3] are configured outside, under phandles */
246 fimc_lite_0: fimc-lite@12390000 {
247 compatible = "samsung,exynos4212-fimc-lite";
248 reg = <0x12390000 0x1000>;
249 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
250 power-domains = <&pd_isp>;
251 clocks = <&clock CLK_FIMC_LITE0>;
252 clock-names = "flite";
253 iommus = <&sysmmu_fimc_lite0>;
257 fimc_lite_1: fimc-lite@123A0000 {
258 compatible = "samsung,exynos4212-fimc-lite";
259 reg = <0x123A0000 0x1000>;
260 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
261 power-domains = <&pd_isp>;
262 clocks = <&clock CLK_FIMC_LITE1>;
263 clock-names = "flite";
264 iommus = <&sysmmu_fimc_lite1>;
268 fimc_is: fimc-is@12000000 {
269 compatible = "samsung,exynos4212-fimc-is";
270 reg = <0x12000000 0x260000>;
271 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
272 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
273 power-domains = <&pd_isp>;
274 clocks = <&clock CLK_FIMC_LITE0>,
275 <&clock CLK_FIMC_LITE1>, <&clock CLK_PPMUISPX>,
276 <&clock CLK_PPMUISPMX>,
277 <&clock CLK_MOUT_MPLL_USER_T>,
278 <&clock CLK_FIMC_ISP>, <&clock CLK_FIMC_DRC>,
279 <&clock CLK_FIMC_FD>, <&clock CLK_MCUISP>,
280 <&clock CLK_GICISP>, <&clock CLK_MCUCTL_ISP>,
281 <&clock CLK_PWM_ISP>,
282 <&clock CLK_DIV_ISP0>, <&clock CLK_DIV_ISP1>,
283 <&clock CLK_DIV_MCUISP0>,
284 <&clock CLK_DIV_MCUISP1>,
285 <&clock CLK_UART_ISP_SCLK>,
286 <&clock CLK_ACLK200>, <&clock CLK_DIV_ACLK200>,
287 <&clock CLK_ACLK400_MCUISP>,
288 <&clock CLK_DIV_ACLK400_MCUISP>;
289 clock-names = "lite0", "lite1", "ppmuispx",
290 "ppmuispmx", "mpll", "isp",
291 "drc", "fd", "mcuisp",
292 "gicisp", "mcuctl_isp", "pwm_isp",
293 "ispdiv0", "ispdiv1", "mcuispdiv0",
294 "mcuispdiv1", "uart", "aclk200",
295 "div_aclk200", "aclk400mcuisp",
297 iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>,
298 <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>;
299 iommu-names = "isp", "drc", "fd", "mcuctl";
300 #address-cells = <1>;
306 reg = <0x10020000 0x3000>;
309 i2c1_isp: i2c-isp@12140000 {
310 compatible = "samsung,exynos4212-i2c-isp";
311 reg = <0x12140000 0x100>;
312 clocks = <&clock CLK_I2C1_ISP>;
313 clock-names = "i2c_isp";
314 #address-cells = <1>;
320 mshc_0: mmc@12550000 {
321 compatible = "samsung,exynos4412-dw-mshc";
322 reg = <0x12550000 0x1000>;
323 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
324 #address-cells = <1>;
327 clocks = <&clock CLK_SDMMC4>, <&clock CLK_SCLK_MMC4>;
328 clock-names = "biu", "ciu";
332 sysmmu_g2d: sysmmu@10A40000{
333 compatible = "samsung,exynos-sysmmu";
334 reg = <0x10A40000 0x1000>;
335 interrupt-parent = <&combiner>;
337 clock-names = "sysmmu", "master";
338 clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
342 sysmmu_fimc_isp: sysmmu@12260000 {
343 compatible = "samsung,exynos-sysmmu";
344 reg = <0x12260000 0x1000>;
345 interrupt-parent = <&combiner>;
347 power-domains = <&pd_isp>;
348 clock-names = "sysmmu";
349 clocks = <&clock CLK_SMMU_ISP>;
353 sysmmu_fimc_drc: sysmmu@12270000 {
354 compatible = "samsung,exynos-sysmmu";
355 reg = <0x12270000 0x1000>;
356 interrupt-parent = <&combiner>;
358 power-domains = <&pd_isp>;
359 clock-names = "sysmmu";
360 clocks = <&clock CLK_SMMU_DRC>;
364 sysmmu_fimc_fd: sysmmu@122A0000 {
365 compatible = "samsung,exynos-sysmmu";
366 reg = <0x122A0000 0x1000>;
367 interrupt-parent = <&combiner>;
369 power-domains = <&pd_isp>;
370 clock-names = "sysmmu";
371 clocks = <&clock CLK_SMMU_FD>;
375 sysmmu_fimc_mcuctl: sysmmu@122B0000 {
376 compatible = "samsung,exynos-sysmmu";
377 reg = <0x122B0000 0x1000>;
378 interrupt-parent = <&combiner>;
380 power-domains = <&pd_isp>;
381 clock-names = "sysmmu";
382 clocks = <&clock CLK_SMMU_ISPCX>;
386 sysmmu_fimc_lite0: sysmmu@123B0000 {
387 compatible = "samsung,exynos-sysmmu";
388 reg = <0x123B0000 0x1000>;
389 interrupt-parent = <&combiner>;
391 power-domains = <&pd_isp>;
392 clock-names = "sysmmu", "master";
393 clocks = <&clock CLK_SMMU_LITE0>, <&clock CLK_FIMC_LITE0>;
397 sysmmu_fimc_lite1: sysmmu@123C0000 {
398 compatible = "samsung,exynos-sysmmu";
399 reg = <0x123C0000 0x1000>;
400 interrupt-parent = <&combiner>;
402 power-domains = <&pd_isp>;
403 clock-names = "sysmmu", "master";
404 clocks = <&clock CLK_SMMU_LITE1>, <&clock CLK_FIMC_LITE1>;
409 compatible = "samsung,exynos-bus";
410 clocks = <&clock CLK_DIV_DMC>;
412 operating-points-v2 = <&bus_dmc_opp_table>;
417 compatible = "samsung,exynos-bus";
418 clocks = <&clock CLK_DIV_ACP>;
420 operating-points-v2 = <&bus_acp_opp_table>;
425 compatible = "samsung,exynos-bus";
426 clocks = <&clock CLK_DIV_C2C>;
428 operating-points-v2 = <&bus_dmc_opp_table>;
432 bus_dmc_opp_table: opp_table1 {
433 compatible = "operating-points-v2";
437 opp-hz = /bits/ 64 <100000000>;
438 opp-microvolt = <900000>;
441 opp-hz = /bits/ 64 <134000000>;
442 opp-microvolt = <900000>;
445 opp-hz = /bits/ 64 <160000000>;
446 opp-microvolt = <900000>;
449 opp-hz = /bits/ 64 <267000000>;
450 opp-microvolt = <950000>;
453 opp-hz = /bits/ 64 <400000000>;
454 opp-microvolt = <1050000>;
458 bus_acp_opp_table: opp_table2 {
459 compatible = "operating-points-v2";
463 opp-hz = /bits/ 64 <100000000>;
466 opp-hz = /bits/ 64 <134000000>;
469 opp-hz = /bits/ 64 <160000000>;
472 opp-hz = /bits/ 64 <267000000>;
476 bus_leftbus: bus_leftbus {
477 compatible = "samsung,exynos-bus";
478 clocks = <&clock CLK_DIV_GDL>;
480 operating-points-v2 = <&bus_leftbus_opp_table>;
484 bus_rightbus: bus_rightbus {
485 compatible = "samsung,exynos-bus";
486 clocks = <&clock CLK_DIV_GDR>;
488 operating-points-v2 = <&bus_leftbus_opp_table>;
492 bus_display: bus_display {
493 compatible = "samsung,exynos-bus";
494 clocks = <&clock CLK_ACLK160>;
496 operating-points-v2 = <&bus_display_opp_table>;
501 compatible = "samsung,exynos-bus";
502 clocks = <&clock CLK_ACLK133>;
504 operating-points-v2 = <&bus_fsys_opp_table>;
509 compatible = "samsung,exynos-bus";
510 clocks = <&clock CLK_ACLK100>;
512 operating-points-v2 = <&bus_peri_opp_table>;
517 compatible = "samsung,exynos-bus";
518 clocks = <&clock CLK_SCLK_MFC>;
520 operating-points-v2 = <&bus_leftbus_opp_table>;
524 bus_leftbus_opp_table: opp_table3 {
525 compatible = "operating-points-v2";
529 opp-hz = /bits/ 64 <100000000>;
530 opp-microvolt = <900000>;
533 opp-hz = /bits/ 64 <134000000>;
534 opp-microvolt = <925000>;
537 opp-hz = /bits/ 64 <160000000>;
538 opp-microvolt = <950000>;
541 opp-hz = /bits/ 64 <200000000>;
542 opp-microvolt = <1000000>;
546 bus_display_opp_table: opp_table4 {
547 compatible = "operating-points-v2";
551 opp-hz = /bits/ 64 <160000000>;
554 opp-hz = /bits/ 64 <200000000>;
558 bus_fsys_opp_table: opp_table5 {
559 compatible = "operating-points-v2";
563 opp-hz = /bits/ 64 <100000000>;
566 opp-hz = /bits/ 64 <134000000>;
570 bus_peri_opp_table: opp_table6 {
571 compatible = "operating-points-v2";
575 opp-hz = /bits/ 64 <50000000>;
578 opp-hz = /bits/ 64 <100000000>;
583 interrupts = <2 2>, <3 2>, <18 2>, <19 2>;
588 samsung,combiner-nr = <20>;
589 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
590 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
591 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
592 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
593 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
594 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
595 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
596 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
597 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
598 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
599 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
600 <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
601 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
602 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
603 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
604 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
605 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
606 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
607 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
608 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
612 compatible = "samsung,exynos4x12-usb2-phy";
613 samsung,sysreg-phandle = <&sys_reg>;
617 compatible = "samsung,exynos4212-fimc";
618 samsung,pix-limits = <4224 8192 1920 4224>;
619 samsung,mainscaler-ext;
625 compatible = "samsung,exynos4212-fimc";
626 samsung,pix-limits = <4224 8192 1920 4224>;
627 samsung,mainscaler-ext;
633 compatible = "samsung,exynos4212-fimc";
634 samsung,pix-limits = <4224 8192 1920 4224>;
635 samsung,mainscaler-ext;
642 compatible = "samsung,exynos4212-fimc";
643 samsung,pix-limits = <1920 8192 1366 1920>;
644 samsung,rotators = <0>;
645 samsung,mainscaler-ext;
651 cpu-offset = <0x4000>;
655 compatible = "samsung,exynos4212-hdmi";
659 compatible = "samsung,exynos4212-jpeg";
663 compatible = "samsung,exynos4212-rotator";
667 compatible = "samsung,exynos4212-mixer";
668 clock-names = "mixer", "hdmi", "sclk_hdmi", "vp";
669 clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
670 <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>;
674 compatible = "samsung,exynos4x12-pinctrl";
675 reg = <0x11400000 0x1000>;
676 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
680 compatible = "samsung,exynos4x12-pinctrl";
681 reg = <0x11000000 0x1000>;
682 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
684 wakup_eint: wakeup-interrupt-controller {
685 compatible = "samsung,exynos4210-wakeup-eint";
686 interrupt-parent = <&gic>;
687 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
692 compatible = "samsung,exynos4x12-pinctrl";
693 reg = <0x03860000 0x1000>;
694 interrupt-parent = <&combiner>;
699 compatible = "samsung,exynos4x12-pinctrl";
700 reg = <0x106E0000 0x1000>;
701 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
704 &pmu_system_controller {
705 compatible = "samsung,exynos4412-pmu", "syscon";
706 clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
707 "clkout4", "clkout8", "clkout9";
708 clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
709 <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
710 <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>, <&clock CLK_XUSBXTI>;
715 compatible = "samsung,exynos4412-tmu";
716 interrupt-parent = <&combiner>;
718 reg = <0x100C0000 0x100>;
719 clocks = <&clock 383>;
720 clock-names = "tmu_apbif";