0001 // SPDX-License-Identifier: GPL-2.0
0002 /*
0003 * Samsung's Exynos4412 SoC device tree source
0004 *
0005 * Copyright (c) 2012 Samsung Electronics Co., Ltd.
0006 * http://www.samsung.com
0007 *
0008 * Samsung's Exynos4412 SoC device nodes are listed in this file. Exynos4412
0009 * based board files can include this file and provide values for board specfic
0010 * bindings.
0011 *
0012 * Note: This file does not include device nodes for all the controllers in
0013 * Exynos4412 SoC. As device tree coverage for Exynos4412 increases, additional
0014 * nodes can be added to this file.
0015 */
0016
0017 #include "exynos4.dtsi"
0018
0019 #include "exynos4-cpu-thermal.dtsi"
0020
0021 / {
0022 compatible = "samsung,exynos4412", "samsung,exynos4";
0023
0024 aliases {
0025 pinctrl0 = &pinctrl_0;
0026 pinctrl1 = &pinctrl_1;
0027 pinctrl2 = &pinctrl_2;
0028 pinctrl3 = &pinctrl_3;
0029 fimc-lite0 = &fimc_lite_0;
0030 fimc-lite1 = &fimc_lite_1;
0031 mshc0 = &mshc_0;
0032 };
0033
0034 cpus {
0035 #address-cells = <1>;
0036 #size-cells = <0>;
0037
0038 cpu-map {
0039 cluster0 {
0040 core0 {
0041 cpu = <&cpu0>;
0042 };
0043 core1 {
0044 cpu = <&cpu1>;
0045 };
0046 core2 {
0047 cpu = <&cpu2>;
0048 };
0049 core3 {
0050 cpu = <&cpu3>;
0051 };
0052 };
0053 };
0054
0055 cpu0: cpu@a00 {
0056 device_type = "cpu";
0057 compatible = "arm,cortex-a9";
0058 reg = <0xA00>;
0059 clocks = <&clock CLK_ARM_CLK>;
0060 clock-names = "cpu";
0061 operating-points-v2 = <&cpu0_opp_table>;
0062 #cooling-cells = <2>; /* min followed by max */
0063 };
0064
0065 cpu1: cpu@a01 {
0066 device_type = "cpu";
0067 compatible = "arm,cortex-a9";
0068 reg = <0xA01>;
0069 clocks = <&clock CLK_ARM_CLK>;
0070 clock-names = "cpu";
0071 operating-points-v2 = <&cpu0_opp_table>;
0072 #cooling-cells = <2>; /* min followed by max */
0073 };
0074
0075 cpu2: cpu@a02 {
0076 device_type = "cpu";
0077 compatible = "arm,cortex-a9";
0078 reg = <0xA02>;
0079 clocks = <&clock CLK_ARM_CLK>;
0080 clock-names = "cpu";
0081 operating-points-v2 = <&cpu0_opp_table>;
0082 #cooling-cells = <2>; /* min followed by max */
0083 };
0084
0085 cpu3: cpu@a03 {
0086 device_type = "cpu";
0087 compatible = "arm,cortex-a9";
0088 reg = <0xA03>;
0089 clocks = <&clock CLK_ARM_CLK>;
0090 clock-names = "cpu";
0091 operating-points-v2 = <&cpu0_opp_table>;
0092 #cooling-cells = <2>; /* min followed by max */
0093 };
0094 };
0095
0096 cpu0_opp_table: opp-table0 {
0097 compatible = "operating-points-v2";
0098 opp-shared;
0099
0100 opp-200000000 {
0101 opp-hz = /bits/ 64 <200000000>;
0102 opp-microvolt = <900000>;
0103 clock-latency-ns = <200000>;
0104 };
0105 opp-300000000 {
0106 opp-hz = /bits/ 64 <300000000>;
0107 opp-microvolt = <900000>;
0108 clock-latency-ns = <200000>;
0109 };
0110 opp-400000000 {
0111 opp-hz = /bits/ 64 <400000000>;
0112 opp-microvolt = <925000>;
0113 clock-latency-ns = <200000>;
0114 };
0115 opp-500000000 {
0116 opp-hz = /bits/ 64 <500000000>;
0117 opp-microvolt = <950000>;
0118 clock-latency-ns = <200000>;
0119 };
0120 opp-600000000 {
0121 opp-hz = /bits/ 64 <600000000>;
0122 opp-microvolt = <975000>;
0123 clock-latency-ns = <200000>;
0124 };
0125 opp-700000000 {
0126 opp-hz = /bits/ 64 <700000000>;
0127 opp-microvolt = <987500>;
0128 clock-latency-ns = <200000>;
0129 };
0130 opp-800000000 {
0131 opp-hz = /bits/ 64 <800000000>;
0132 opp-microvolt = <1000000>;
0133 clock-latency-ns = <200000>;
0134 opp-suspend;
0135 };
0136 opp-900000000 {
0137 opp-hz = /bits/ 64 <900000000>;
0138 opp-microvolt = <1037500>;
0139 clock-latency-ns = <200000>;
0140 };
0141 opp-1000000000 {
0142 opp-hz = /bits/ 64 <1000000000>;
0143 opp-microvolt = <1087500>;
0144 clock-latency-ns = <200000>;
0145 };
0146 opp-1100000000 {
0147 opp-hz = /bits/ 64 <1100000000>;
0148 opp-microvolt = <1137500>;
0149 clock-latency-ns = <200000>;
0150 };
0151 opp-1200000000 {
0152 opp-hz = /bits/ 64 <1200000000>;
0153 opp-microvolt = <1187500>;
0154 clock-latency-ns = <200000>;
0155 };
0156 opp-1300000000 {
0157 opp-hz = /bits/ 64 <1300000000>;
0158 opp-microvolt = <1250000>;
0159 clock-latency-ns = <200000>;
0160 };
0161 opp-1400000000 {
0162 opp-hz = /bits/ 64 <1400000000>;
0163 opp-microvolt = <1287500>;
0164 clock-latency-ns = <200000>;
0165 };
0166 cpu0_opp_1500: opp-1500000000 {
0167 opp-hz = /bits/ 64 <1500000000>;
0168 opp-microvolt = <1350000>;
0169 clock-latency-ns = <200000>;
0170 turbo-mode;
0171 };
0172 };
0173
0174
0175 soc: soc {
0176
0177 pinctrl_0: pinctrl@11400000 {
0178 compatible = "samsung,exynos4x12-pinctrl";
0179 reg = <0x11400000 0x1000>;
0180 interrupts = <GIC_SPI 47 IRQ_TYPE_LEVEL_HIGH>;
0181 };
0182
0183 pinctrl_1: pinctrl@11000000 {
0184 compatible = "samsung,exynos4x12-pinctrl";
0185 reg = <0x11000000 0x1000>;
0186 interrupts = <GIC_SPI 46 IRQ_TYPE_LEVEL_HIGH>;
0187
0188 wakup_eint: wakeup-interrupt-controller {
0189 compatible = "samsung,exynos4210-wakeup-eint";
0190 interrupt-parent = <&gic>;
0191 interrupts = <GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>;
0192 };
0193 };
0194
0195 pinctrl_2: pinctrl@3860000 {
0196 compatible = "samsung,exynos4x12-pinctrl";
0197 reg = <0x03860000 0x1000>;
0198 interrupt-parent = <&combiner>;
0199 interrupts = <10 0>;
0200 };
0201
0202 pinctrl_3: pinctrl@106e0000 {
0203 compatible = "samsung,exynos4x12-pinctrl";
0204 reg = <0x106E0000 0x1000>;
0205 interrupts = <GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>;
0206 };
0207
0208 sram@2020000 {
0209 compatible = "mmio-sram";
0210 reg = <0x02020000 0x40000>;
0211 #address-cells = <1>;
0212 #size-cells = <1>;
0213 ranges = <0 0x02020000 0x40000>;
0214
0215 smp-sram@0 {
0216 compatible = "samsung,exynos4210-sysram";
0217 reg = <0x0 0x1000>;
0218 };
0219
0220 smp-sram@2f000 {
0221 compatible = "samsung,exynos4210-sysram-ns";
0222 reg = <0x2f000 0x1000>;
0223 };
0224 };
0225
0226 pd_isp: power-domain@10023ca0 {
0227 compatible = "samsung,exynos4210-pd";
0228 reg = <0x10023CA0 0x20>;
0229 #power-domain-cells = <0>;
0230 label = "ISP";
0231 };
0232
0233 l2c: cache-controller@10502000 {
0234 compatible = "arm,pl310-cache";
0235 reg = <0x10502000 0x1000>;
0236 cache-unified;
0237 cache-level = <2>;
0238 prefetch-data = <1>;
0239 prefetch-instr = <1>;
0240 arm,tag-latency = <2 2 1>;
0241 arm,data-latency = <3 2 1>;
0242 arm,double-linefill = <1>;
0243 arm,double-linefill-incr = <0>;
0244 arm,double-linefill-wrap = <1>;
0245 arm,prefetch-drop = <1>;
0246 arm,prefetch-offset = <7>;
0247 };
0248
0249 clock: clock-controller@10030000 {
0250 compatible = "samsung,exynos4412-clock";
0251 reg = <0x10030000 0x18000>;
0252 #clock-cells = <1>;
0253 };
0254
0255 isp_clock: clock-controller@10048000 {
0256 compatible = "samsung,exynos4412-isp-clock";
0257 reg = <0x10048000 0x1000>;
0258 #clock-cells = <1>;
0259 power-domains = <&pd_isp>;
0260 clocks = <&clock CLK_ACLK200>,
0261 <&clock CLK_ACLK400_MCUISP>;
0262 clock-names = "aclk200", "aclk400_mcuisp";
0263 };
0264
0265 timer@10050000 {
0266 compatible = "samsung,exynos4412-mct";
0267 reg = <0x10050000 0x800>;
0268 clocks = <&clock CLK_FIN_PLL>, <&clock CLK_MCT>;
0269 clock-names = "fin_pll", "mct";
0270 interrupts-extended = <&gic GIC_SPI 57 IRQ_TYPE_LEVEL_HIGH>,
0271 <&combiner 12 5>,
0272 <&combiner 12 6>,
0273 <&combiner 12 7>,
0274 <&gic GIC_PPI 12 IRQ_TYPE_LEVEL_HIGH>;
0275 };
0276
0277 watchdog: watchdog@10060000 {
0278 compatible = "samsung,exynos5250-wdt";
0279 reg = <0x10060000 0x100>;
0280 interrupts = <GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>;
0281 clocks = <&clock CLK_WDT>;
0282 clock-names = "watchdog";
0283 samsung,syscon-phandle = <&pmu_system_controller>;
0284 };
0285
0286 adc: adc@126c0000 {
0287 compatible = "samsung,exynos4212-adc";
0288 reg = <0x126C0000 0x100>;
0289 interrupt-parent = <&combiner>;
0290 interrupts = <10 3>;
0291 clocks = <&clock CLK_TSADC>;
0292 clock-names = "adc";
0293 #io-channel-cells = <1>;
0294 samsung,syscon-phandle = <&pmu_system_controller>;
0295 status = "disabled";
0296 };
0297
0298 g2d: g2d@10800000 {
0299 compatible = "samsung,exynos4212-g2d";
0300 reg = <0x10800000 0x1000>;
0301 interrupts = <GIC_SPI 89 IRQ_TYPE_LEVEL_HIGH>;
0302 clocks = <&clock CLK_SCLK_FIMG2D>, <&clock CLK_G2D>;
0303 clock-names = "sclk_fimg2d", "fimg2d";
0304 iommus = <&sysmmu_g2d>;
0305 };
0306
0307 mshc_0: mmc@12550000 {
0308 compatible = "samsung,exynos4412-dw-mshc";
0309 reg = <0x12550000 0x1000>;
0310 interrupts = <GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>;
0311 #address-cells = <1>;
0312 #size-cells = <0>;
0313 fifo-depth = <0x80>;
0314 clocks = <&clock CLK_SDMMC4>, <&clock CLK_SCLK_MMC4>;
0315 clock-names = "biu", "ciu";
0316 status = "disabled";
0317 };
0318
0319 sysmmu_g2d: sysmmu@10a40000 {
0320 compatible = "samsung,exynos-sysmmu";
0321 reg = <0x10A40000 0x1000>;
0322 interrupt-parent = <&combiner>;
0323 interrupts = <4 7>;
0324 clock-names = "sysmmu", "master";
0325 clocks = <&clock CLK_SMMU_G2D>, <&clock CLK_G2D>;
0326 #iommu-cells = <0>;
0327 };
0328
0329 sysmmu_fimc_isp: sysmmu@12260000 {
0330 compatible = "samsung,exynos-sysmmu";
0331 reg = <0x12260000 0x1000>;
0332 interrupt-parent = <&combiner>;
0333 interrupts = <16 2>;
0334 power-domains = <&pd_isp>;
0335 clock-names = "sysmmu";
0336 clocks = <&isp_clock CLK_ISP_SMMU_ISP>;
0337 #iommu-cells = <0>;
0338 };
0339
0340 sysmmu_fimc_drc: sysmmu@12270000 {
0341 compatible = "samsung,exynos-sysmmu";
0342 reg = <0x12270000 0x1000>;
0343 interrupt-parent = <&combiner>;
0344 interrupts = <16 3>;
0345 power-domains = <&pd_isp>;
0346 clock-names = "sysmmu";
0347 clocks = <&isp_clock CLK_ISP_SMMU_DRC>;
0348 #iommu-cells = <0>;
0349 };
0350
0351 sysmmu_fimc_fd: sysmmu@122a0000 {
0352 compatible = "samsung,exynos-sysmmu";
0353 reg = <0x122A0000 0x1000>;
0354 interrupt-parent = <&combiner>;
0355 interrupts = <16 4>;
0356 power-domains = <&pd_isp>;
0357 clock-names = "sysmmu";
0358 clocks = <&isp_clock CLK_ISP_SMMU_FD>;
0359 #iommu-cells = <0>;
0360 };
0361
0362 sysmmu_fimc_mcuctl: sysmmu@122b0000 {
0363 compatible = "samsung,exynos-sysmmu";
0364 reg = <0x122B0000 0x1000>;
0365 interrupt-parent = <&combiner>;
0366 interrupts = <16 5>;
0367 power-domains = <&pd_isp>;
0368 clock-names = "sysmmu";
0369 clocks = <&isp_clock CLK_ISP_SMMU_ISPCX>;
0370 #iommu-cells = <0>;
0371 };
0372
0373 sysmmu_fimc_lite0: sysmmu@123b0000 {
0374 compatible = "samsung,exynos-sysmmu";
0375 reg = <0x123B0000 0x1000>;
0376 interrupt-parent = <&combiner>;
0377 interrupts = <16 0>;
0378 power-domains = <&pd_isp>;
0379 clock-names = "sysmmu", "master";
0380 clocks = <&isp_clock CLK_ISP_SMMU_LITE0>,
0381 <&isp_clock CLK_ISP_FIMC_LITE0>;
0382 #iommu-cells = <0>;
0383 };
0384
0385 sysmmu_fimc_lite1: sysmmu@123c0000 {
0386 compatible = "samsung,exynos-sysmmu";
0387 reg = <0x123C0000 0x1000>;
0388 interrupt-parent = <&combiner>;
0389 interrupts = <16 1>;
0390 power-domains = <&pd_isp>;
0391 clock-names = "sysmmu", "master";
0392 clocks = <&isp_clock CLK_ISP_SMMU_LITE1>,
0393 <&isp_clock CLK_ISP_FIMC_LITE1>;
0394 #iommu-cells = <0>;
0395 };
0396
0397 bus_dmc: bus-dmc {
0398 compatible = "samsung,exynos-bus";
0399 clocks = <&clock CLK_DIV_DMC>;
0400 clock-names = "bus";
0401 operating-points-v2 = <&bus_dmc_opp_table>;
0402 samsung,data-clock-ratio = <4>;
0403 #interconnect-cells = <0>;
0404 status = "disabled";
0405 };
0406
0407 bus_acp: bus-acp {
0408 compatible = "samsung,exynos-bus";
0409 clocks = <&clock CLK_DIV_ACP>;
0410 clock-names = "bus";
0411 operating-points-v2 = <&bus_acp_opp_table>;
0412 status = "disabled";
0413 };
0414
0415 bus_c2c: bus-c2c {
0416 compatible = "samsung,exynos-bus";
0417 clocks = <&clock CLK_DIV_C2C>;
0418 clock-names = "bus";
0419 operating-points-v2 = <&bus_dmc_opp_table>;
0420 status = "disabled";
0421 };
0422
0423 bus_dmc_opp_table: opp-table1 {
0424 compatible = "operating-points-v2";
0425
0426 opp-100000000 {
0427 opp-hz = /bits/ 64 <100000000>;
0428 opp-microvolt = <900000>;
0429 };
0430 opp-134000000 {
0431 opp-hz = /bits/ 64 <134000000>;
0432 opp-microvolt = <900000>;
0433 };
0434 opp-160000000 {
0435 opp-hz = /bits/ 64 <160000000>;
0436 opp-microvolt = <900000>;
0437 };
0438 opp-267000000 {
0439 opp-hz = /bits/ 64 <267000000>;
0440 opp-microvolt = <950000>;
0441 };
0442 opp-400000000 {
0443 opp-hz = /bits/ 64 <400000000>;
0444 opp-microvolt = <1050000>;
0445 opp-suspend;
0446 };
0447 };
0448
0449 bus_acp_opp_table: opp-table2 {
0450 compatible = "operating-points-v2";
0451
0452 opp-100000000 {
0453 opp-hz = /bits/ 64 <100000000>;
0454 };
0455 opp-134000000 {
0456 opp-hz = /bits/ 64 <134000000>;
0457 };
0458 opp-160000000 {
0459 opp-hz = /bits/ 64 <160000000>;
0460 };
0461 opp-267000000 {
0462 opp-hz = /bits/ 64 <267000000>;
0463 };
0464 };
0465
0466 bus_leftbus: bus-leftbus {
0467 compatible = "samsung,exynos-bus";
0468 clocks = <&clock CLK_DIV_GDL>;
0469 clock-names = "bus";
0470 operating-points-v2 = <&bus_leftbus_opp_table>;
0471 interconnects = <&bus_dmc>;
0472 #interconnect-cells = <0>;
0473 status = "disabled";
0474 };
0475
0476 bus_rightbus: bus-rightbus {
0477 compatible = "samsung,exynos-bus";
0478 clocks = <&clock CLK_DIV_GDR>;
0479 clock-names = "bus";
0480 operating-points-v2 = <&bus_leftbus_opp_table>;
0481 status = "disabled";
0482 };
0483
0484 bus_display: bus-display {
0485 compatible = "samsung,exynos-bus";
0486 clocks = <&clock CLK_ACLK160>;
0487 clock-names = "bus";
0488 operating-points-v2 = <&bus_display_opp_table>;
0489 interconnects = <&bus_leftbus &bus_dmc>;
0490 #interconnect-cells = <0>;
0491 status = "disabled";
0492 };
0493
0494 bus_fsys: bus-fsys {
0495 compatible = "samsung,exynos-bus";
0496 clocks = <&clock CLK_ACLK133>;
0497 clock-names = "bus";
0498 operating-points-v2 = <&bus_fsys_opp_table>;
0499 status = "disabled";
0500 };
0501
0502 bus_peri: bus-peri {
0503 compatible = "samsung,exynos-bus";
0504 clocks = <&clock CLK_ACLK100>;
0505 clock-names = "bus";
0506 operating-points-v2 = <&bus_peri_opp_table>;
0507 status = "disabled";
0508 };
0509
0510 bus_mfc: bus-mfc {
0511 compatible = "samsung,exynos-bus";
0512 clocks = <&clock CLK_SCLK_MFC>;
0513 clock-names = "bus";
0514 operating-points-v2 = <&bus_leftbus_opp_table>;
0515 status = "disabled";
0516 };
0517
0518 bus_leftbus_opp_table: opp-table3 {
0519 compatible = "operating-points-v2";
0520
0521 opp-100000000 {
0522 opp-hz = /bits/ 64 <100000000>;
0523 opp-microvolt = <900000>;
0524 };
0525 opp-134000000 {
0526 opp-hz = /bits/ 64 <134000000>;
0527 opp-microvolt = <925000>;
0528 };
0529 opp-160000000 {
0530 opp-hz = /bits/ 64 <160000000>;
0531 opp-microvolt = <950000>;
0532 };
0533 opp-200000000 {
0534 opp-hz = /bits/ 64 <200000000>;
0535 opp-microvolt = <1000000>;
0536 opp-suspend;
0537 };
0538 };
0539
0540 bus_display_opp_table: opp-table4 {
0541 compatible = "operating-points-v2";
0542
0543 opp-160000000 {
0544 opp-hz = /bits/ 64 <160000000>;
0545 };
0546 opp-200000000 {
0547 opp-hz = /bits/ 64 <200000000>;
0548 };
0549 };
0550
0551 bus_fsys_opp_table: opp-table5 {
0552 compatible = "operating-points-v2";
0553
0554 opp-100000000 {
0555 opp-hz = /bits/ 64 <100000000>;
0556 };
0557 opp-134000000 {
0558 opp-hz = /bits/ 64 <134000000>;
0559 };
0560 };
0561
0562 bus_peri_opp_table: opp-table6 {
0563 compatible = "operating-points-v2";
0564
0565 opp-50000000 {
0566 opp-hz = /bits/ 64 <50000000>;
0567 };
0568 opp-100000000 {
0569 opp-hz = /bits/ 64 <100000000>;
0570 };
0571 };
0572 };
0573 };
0574
0575 &combiner {
0576 samsung,combiner-nr = <20>;
0577 interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>,
0578 <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
0579 <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>,
0580 <GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
0581 <GIC_SPI 4 IRQ_TYPE_LEVEL_HIGH>,
0582 <GIC_SPI 5 IRQ_TYPE_LEVEL_HIGH>,
0583 <GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
0584 <GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
0585 <GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
0586 <GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
0587 <GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
0588 <GIC_SPI 11 IRQ_TYPE_LEVEL_HIGH>,
0589 <GIC_SPI 12 IRQ_TYPE_LEVEL_HIGH>,
0590 <GIC_SPI 13 IRQ_TYPE_LEVEL_HIGH>,
0591 <GIC_SPI 14 IRQ_TYPE_LEVEL_HIGH>,
0592 <GIC_SPI 15 IRQ_TYPE_LEVEL_HIGH>,
0593 <GIC_SPI 107 IRQ_TYPE_LEVEL_HIGH>,
0594 <GIC_SPI 108 IRQ_TYPE_LEVEL_HIGH>,
0595 <GIC_SPI 48 IRQ_TYPE_LEVEL_HIGH>,
0596 <GIC_SPI 42 IRQ_TYPE_LEVEL_HIGH>;
0597 };
0598
0599 &camera {
0600 clocks = <&clock CLK_SCLK_CAM0>, <&clock CLK_SCLK_CAM1>,
0601 <&clock CLK_PIXELASYNCM0>, <&clock CLK_PIXELASYNCM1>;
0602 clock-names = "sclk_cam0", "sclk_cam1", "pxl_async0", "pxl_async1";
0603
0604 /* fimc_[0-3] are configured outside, under phandles */
0605 fimc_lite_0: fimc-lite@12390000 {
0606 compatible = "samsung,exynos4212-fimc-lite";
0607 reg = <0x12390000 0x1000>;
0608 interrupts = <GIC_SPI 105 IRQ_TYPE_LEVEL_HIGH>;
0609 power-domains = <&pd_isp>;
0610 clocks = <&isp_clock CLK_ISP_FIMC_LITE0>;
0611 clock-names = "flite";
0612 iommus = <&sysmmu_fimc_lite0>;
0613 status = "disabled";
0614 };
0615
0616 fimc_lite_1: fimc-lite@123a0000 {
0617 compatible = "samsung,exynos4212-fimc-lite";
0618 reg = <0x123A0000 0x1000>;
0619 interrupts = <GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>;
0620 power-domains = <&pd_isp>;
0621 clocks = <&isp_clock CLK_ISP_FIMC_LITE1>;
0622 clock-names = "flite";
0623 iommus = <&sysmmu_fimc_lite1>;
0624 status = "disabled";
0625 };
0626
0627 fimc_is: fimc-is@12000000 {
0628 compatible = "samsung,exynos4212-fimc-is";
0629 reg = <0x12000000 0x260000>;
0630 interrupts = <GIC_SPI 90 IRQ_TYPE_LEVEL_HIGH>,
0631 <GIC_SPI 95 IRQ_TYPE_LEVEL_HIGH>;
0632 power-domains = <&pd_isp>;
0633 clocks = <&isp_clock CLK_ISP_FIMC_LITE0>,
0634 <&isp_clock CLK_ISP_FIMC_LITE1>,
0635 <&isp_clock CLK_ISP_PPMUISPX>,
0636 <&isp_clock CLK_ISP_PPMUISPMX>,
0637 <&isp_clock CLK_ISP_FIMC_ISP>,
0638 <&isp_clock CLK_ISP_FIMC_DRC>,
0639 <&isp_clock CLK_ISP_FIMC_FD>,
0640 <&isp_clock CLK_ISP_MCUISP>,
0641 <&isp_clock CLK_ISP_GICISP>,
0642 <&isp_clock CLK_ISP_MCUCTL_ISP>,
0643 <&isp_clock CLK_ISP_PWM_ISP>,
0644 <&isp_clock CLK_ISP_DIV_ISP0>,
0645 <&isp_clock CLK_ISP_DIV_ISP1>,
0646 <&isp_clock CLK_ISP_DIV_MCUISP0>,
0647 <&isp_clock CLK_ISP_DIV_MCUISP1>,
0648 <&clock CLK_MOUT_MPLL_USER_T>,
0649 <&clock CLK_ACLK200>,
0650 <&clock CLK_ACLK400_MCUISP>,
0651 <&clock CLK_DIV_ACLK200>,
0652 <&clock CLK_DIV_ACLK400_MCUISP>,
0653 <&clock CLK_UART_ISP_SCLK>;
0654 clock-names = "lite0", "lite1", "ppmuispx",
0655 "ppmuispmx", "isp",
0656 "drc", "fd", "mcuisp",
0657 "gicisp", "mcuctl_isp", "pwm_isp",
0658 "ispdiv0", "ispdiv1", "mcuispdiv0",
0659 "mcuispdiv1", "mpll", "aclk200",
0660 "aclk400mcuisp", "div_aclk200",
0661 "div_aclk400mcuisp", "uart";
0662 iommus = <&sysmmu_fimc_isp>, <&sysmmu_fimc_drc>,
0663 <&sysmmu_fimc_fd>, <&sysmmu_fimc_mcuctl>;
0664 iommu-names = "isp", "drc", "fd", "mcuctl";
0665 #address-cells = <1>;
0666 #size-cells = <1>;
0667 ranges;
0668 status = "disabled";
0669
0670 pmu@10020000 {
0671 reg = <0x10020000 0x3000>;
0672 };
0673
0674 i2c1_isp: i2c-isp@12140000 {
0675 compatible = "samsung,exynos4212-i2c-isp";
0676 reg = <0x12140000 0x100>;
0677 clocks = <&isp_clock CLK_ISP_I2C1_ISP>;
0678 clock-names = "i2c_isp";
0679 #address-cells = <1>;
0680 #size-cells = <0>;
0681 };
0682 };
0683 };
0684
0685 &exynos_usbphy {
0686 compatible = "samsung,exynos4x12-usb2-phy";
0687 samsung,sysreg-phandle = <&sys_reg>;
0688 };
0689
0690 &fimc_0 {
0691 compatible = "samsung,exynos4212-fimc";
0692 samsung,pix-limits = <4224 8192 1920 4224>;
0693 samsung,mainscaler-ext;
0694 samsung,isp-wb;
0695 samsung,cam-if;
0696 };
0697
0698 &fimc_1 {
0699 compatible = "samsung,exynos4212-fimc";
0700 samsung,pix-limits = <4224 8192 1920 4224>;
0701 samsung,mainscaler-ext;
0702 samsung,isp-wb;
0703 samsung,cam-if;
0704 };
0705
0706 &fimc_2 {
0707 compatible = "samsung,exynos4212-fimc";
0708 samsung,pix-limits = <4224 8192 1920 4224>;
0709 samsung,mainscaler-ext;
0710 samsung,isp-wb;
0711 samsung,lcd-wb;
0712 samsung,cam-if;
0713 };
0714
0715 &fimc_3 {
0716 compatible = "samsung,exynos4212-fimc";
0717 samsung,pix-limits = <1920 8192 1366 1920>;
0718 samsung,rotators = <0>;
0719 samsung,mainscaler-ext;
0720 samsung,isp-wb;
0721 samsung,lcd-wb;
0722 };
0723
0724 &gic {
0725 cpu-offset = <0x4000>;
0726 };
0727
0728 &gpu {
0729 interrupts = <GIC_SPI 127 IRQ_TYPE_LEVEL_HIGH>,
0730 <GIC_SPI 122 IRQ_TYPE_LEVEL_HIGH>,
0731 <GIC_SPI 123 IRQ_TYPE_LEVEL_HIGH>,
0732 <GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
0733 <GIC_SPI 124 IRQ_TYPE_LEVEL_HIGH>,
0734 <GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
0735 <GIC_SPI 125 IRQ_TYPE_LEVEL_HIGH>,
0736 <GIC_SPI 120 IRQ_TYPE_LEVEL_HIGH>,
0737 <GIC_SPI 126 IRQ_TYPE_LEVEL_HIGH>,
0738 <GIC_SPI 121 IRQ_TYPE_LEVEL_HIGH>,
0739 <GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>;
0740 interrupt-names = "gp",
0741 "gpmmu",
0742 "pp0",
0743 "ppmmu0",
0744 "pp1",
0745 "ppmmu1",
0746 "pp2",
0747 "ppmmu2",
0748 "pp3",
0749 "ppmmu3",
0750 "pmu";
0751 operating-points-v2 = <&gpu_opp_table>;
0752
0753 gpu_opp_table: opp-table {
0754 compatible = "operating-points-v2";
0755
0756 opp-160000000 {
0757 opp-hz = /bits/ 64 <160000000>;
0758 opp-microvolt = <875000>;
0759 };
0760 opp-267000000 {
0761 opp-hz = /bits/ 64 <267000000>;
0762 opp-microvolt = <900000>;
0763 };
0764 opp-350000000 {
0765 opp-hz = /bits/ 64 <350000000>;
0766 opp-microvolt = <950000>;
0767 };
0768 opp-440000000 {
0769 opp-hz = /bits/ 64 <440000000>;
0770 opp-microvolt = <1025000>;
0771 };
0772 };
0773 };
0774
0775 &hdmi {
0776 compatible = "samsung,exynos4212-hdmi";
0777 };
0778
0779 &jpeg_codec {
0780 compatible = "samsung,exynos4212-jpeg";
0781 };
0782
0783 &rotator {
0784 compatible = "samsung,exynos4212-rotator";
0785 };
0786
0787 &mixer {
0788 compatible = "samsung,exynos4212-mixer";
0789 clock-names = "mixer", "hdmi", "sclk_hdmi", "vp";
0790 clocks = <&clock CLK_MIXER>, <&clock CLK_HDMI>,
0791 <&clock CLK_SCLK_HDMI>, <&clock CLK_VP>;
0792 interconnects = <&bus_display &bus_dmc>;
0793 };
0794
0795 &pmu {
0796 interrupts = <2 2>, <3 2>, <18 2>, <19 2>;
0797 interrupt-affinity = <&cpu0>, <&cpu1>, <&cpu2>, <&cpu3>;
0798 status = "okay";
0799 };
0800
0801 &pmu_system_controller {
0802 compatible = "samsung,exynos4412-pmu", "syscon";
0803 clock-names = "clkout0", "clkout1", "clkout2", "clkout3",
0804 "clkout4", "clkout8", "clkout9";
0805 clocks = <&clock CLK_OUT_DMC>, <&clock CLK_OUT_TOP>,
0806 <&clock CLK_OUT_LEFTBUS>, <&clock CLK_OUT_RIGHTBUS>,
0807 <&clock CLK_OUT_CPU>, <&clock CLK_XXTI>, <&clock CLK_XUSBXTI>;
0808 #clock-cells = <1>;
0809 };
0810
0811 &tmu {
0812 compatible = "samsung,exynos4412-tmu";
0813 interrupt-parent = <&combiner>;
0814 interrupts = <2 4>;
0815 reg = <0x100C0000 0x100>;
0816 clocks = <&clock CLK_TMU_APBIF>;
0817 clock-names = "tmu_apbif";
0818 status = "disabled";
0819 };
0820
0821 #include "exynos4412-pinctrl.dtsi"