| /* |
| * SAMSUNG EXYNOS8895 SoC device tree source |
| * |
| * Copyright (c) 2014 Samsung Electronics Co., Ltd. |
| * http://www.samsung.com |
| * |
| * SAMSUNG EXYNOS8895 SoC device nodes are listed in this file. |
| * EXYNOS8895 based board files can include this file and provide |
| * values for board specfic bindings. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 as |
| * published by the Free Software Foundation. |
| */ |
| |
| /memreserve/ 0xE0000000 0x3200000; |
| |
| #include <dt-bindings/clock/exynos8895.h> |
| #include <dt-bindings/ufs/ufs.h> |
| #include <dt-bindings/soc/samsung/exynos8895.h> |
| #include <dt-bindings/sysmmu/sysmmu.h> |
| #include <dt-bindings/thermal/thermal.h> |
| #include "exynos8895-pinctrl.dtsi" |
| #include "exynos8895-pm-domains.dtsi" |
| #include "exynos8895-rmem.dtsi" |
| #include "exynos8895-ess.dtsi" |
| |
| / { |
| compatible = "samsung,armv8", "samsung,exynos8895"; |
| interrupt-parent = <&gic>; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| |
| arm-pmu { |
| compatible = "arm,armv8-pmuv3"; |
| interrupts = <0 24 4>, |
| <0 25 4>, |
| <0 26 4>, |
| <0 27 4>, |
| <0 40 4>, |
| <0 41 4>, |
| <0 42 4>, |
| <0 43 4>; |
| }; |
| |
| aliases { |
| pinctrl0 = &pinctrl_0; |
| pinctrl1 = &pinctrl_1; |
| pinctrl2 = &pinctrl_2; |
| pinctrl3 = &pinctrl_3; |
| pinctrl4 = &pinctrl_4; |
| pinctrl5 = &pinctrl_5; |
| pinctrl6 = &pinctrl_6; |
| pinctrl7 = &pinctrl_7; |
| uart0 = &serial_0; |
| uart1 = &serial_1; |
| uart2 = &serial_2; |
| uart3 = &serial_3; |
| uart4 = &serial_4; |
| uart5 = &serial_5; |
| uart6 = &serial_6; |
| uart7 = &serial_7; |
| uart8 = &serial_8; |
| uart9 = &serial_9; |
| uart10 = &serial_10; |
| uart11 = &serial_11; |
| uart12 = &serial_12; |
| uart13 = &serial_13; |
| uart14 = &serial_14; |
| uart15 = &serial_15; |
| hsi2c0 = &hsi2c_0; |
| hsi2c1 = &hsi2c_1; |
| hsi2c2 = &hsi2c_2; |
| hsi2c3 = &hsi2c_3; |
| hsi2c4 = &hsi2c_4; |
| hsi2c5 = &hsi2c_5; |
| hsi2c6 = &hsi2c_6; |
| hsi2c7 = &hsi2c_7; |
| hsi2c8 = &hsi2c_8; |
| hsi2c9 = &hsi2c_9; |
| hsi2c10 = &hsi2c_10; |
| hsi2c11 = &hsi2c_11; |
| hsi2c12 = &hsi2c_12; |
| hsi2c13 = &hsi2c_13; |
| hsi2c14 = &hsi2c_14; |
| hsi2c15 = &hsi2c_15; |
| hsi2c16 = &hsi2c_16; |
| hsi2c17 = &hsi2c_17; |
| hsi2c18 = &hsi2c_18; |
| hsi2c19 = &hsi2c_19; |
| hsi2c20 = &hsi2c_20; |
| hsi2c21 = &hsi2c_21; |
| hsi2c22 = &hsi2c_22; |
| hsi2c23 = &hsi2c_23; |
| hsi2c24 = &hsi2c_24; |
| hsi2c25 = &hsi2c_25; |
| hsi2c26 = &hsi2c_26; |
| hsi2c27 = &hsi2c_27; |
| hsi2c28 = &hsi2c_28; |
| hsi2c29 = &hsi2c_29; |
| hsi2c30 = &hsi2c_30; |
| hsi2c31 = &hsi2c_31; |
| hsi2c32 = &hsi2c_32; |
| spi0 = &spi_0; |
| spi1 = &spi_1; |
| spi2 = &spi_2; |
| spi3 = &spi_3; |
| spi4 = &spi_4; |
| spi5 = &spi_5; |
| spi6 = &spi_6; |
| spi7 = &spi_7; |
| spi8 = &spi_8; |
| spi9 = &spi_9; |
| spi10 = &spi_10; |
| spi11 = &spi_11; |
| spi12 = &spi_12; |
| spi13 = &spi_13; |
| spi14 = &spi_14; |
| spi15 = &spi_15; |
| dpp0 = &idma_g0; |
| dpp1 = &idma_g1; |
| dpp2 = &idma_vg0; |
| dpp3 = &idma_vg1; |
| dpp4 = &idma_vgf0; |
| dpp5 = &idma_vgf1; |
| dpp6 = &odma_wb; |
| dsim0 = &dsim_0; |
| displayport = &displayport; |
| decon0 = &decon_f; |
| decon2 = &decon_t; |
| mshc2 = &dwmmc_2; |
| scaler0 = &scaler_0; |
| mfc0 = &mfc_0; |
| }; |
| |
| chipid@10000000 { |
| compatible = "samsung,exynos8895-chipid"; |
| reg = <0x0 0x10000000 0x100>; |
| }; |
| |
| reboot { |
| compatible = "exynos,reboot"; |
| pmu_base = <0x16480000>; |
| }; |
| |
| cpus { |
| #address-cells = <2>; |
| #size-cells = <0>; |
| |
| hmp { |
| up_threshold = <425>; |
| down_threshold = <160>; |
| semiboost_up_threshold = <254>; |
| semiboost_down_threshold = <163>; |
| bootboost-duration-us = <40000000>; |
| down_compensation_timeout = <30>; /* ms */ |
| down_compensation_high_freq = <1500000>; /* min qos lock for little cpu */ |
| down_compensation_mid_freq = <1000000>; /* min qos lock for little cpu */ |
| down_compensation_low_freq = <800000>; /* min qos lock for little cpu */ |
| hmp_up_compst_ratio = <512>; |
| hmp_down_compst_ratio = <2048>; |
| little-id = <1>; |
| }; |
| |
| auto_cpu_mapping { |
| enabled = <1>; |
| }; |
| |
| cpu0: cpu@100 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a53", "arm,armv8"; |
| reg = <0x0 0x100>; |
| logical-id = <0>; |
| enable-method = "psci"; |
| cpu-idle-states = <&BOOTCL_CPU_SLEEP>; |
| #cooling-cells = <2>; /* min followed by max */ |
| }; |
| cpu@101 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a53", "arm,armv8"; |
| reg = <0x0 0x101>; |
| logical-id = <1>; |
| enable-method = "psci"; |
| cpu-idle-states = <&BOOTCL_CPU_SLEEP>; |
| }; |
| cpu@102 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a53", "arm,armv8"; |
| reg = <0x0 0x102>; |
| logical-id = <2>; |
| enable-method = "psci"; |
| cpu-idle-states = <&BOOTCL_CPU_SLEEP>; |
| }; |
| cpu@103 { |
| device_type = "cpu"; |
| compatible = "arm,cortex-a53", "arm,armv8"; |
| reg = <0x0 0x103>; |
| logical-id = <3>; |
| enable-method = "psci"; |
| cpu-idle-states = <&BOOTCL_CPU_SLEEP>; |
| }; |
| cpu4: cpu@0 { |
| device_type = "cpu"; |
| compatible = "arm,mongoose", "arm,armv8"; |
| reg = <0x0 0x0>; |
| logical-id = <4>; |
| enable-method = "psci"; |
| cpu-idle-states = <&NONBOOTCL_CPU_SLEEP>; |
| #cooling-cells = <2>; /* min followed by max */ |
| }; |
| cpu@1 { |
| device_type = "cpu"; |
| compatible = "arm,mongoose", "arm,armv8"; |
| reg = <0x0 0x1>; |
| logical-id = <5>; |
| enable-method = "psci"; |
| cpu-idle-states = <&NONBOOTCL_CPU_SLEEP>; |
| }; |
| cpu@2 { |
| device_type = "cpu"; |
| compatible = "arm,mongoose", "arm,armv8"; |
| reg = <0x0 0x2>; |
| logical-id = <6>; |
| enable-method = "psci"; |
| cpu-idle-states = <&NONBOOTCL_CPU_SLEEP>; |
| }; |
| cpu@3 { |
| device_type = "cpu"; |
| compatible = "arm,mongoose", "arm,armv8"; |
| reg = <0x0 0x3>; |
| logical-id = <7>; |
| enable-method = "psci"; |
| cpu-idle-states = <&NONBOOTCL_CPU_SLEEP>; |
| }; |
| |
| idle-states { |
| entry-method = "arm,psci"; |
| |
| BOOTCL_CPU_SLEEP: bootcl-cpu-sleep { |
| idle-state-name = "c2"; |
| compatible = "exynos,idle-state"; |
| arm,psci-suspend-param = <0x0010000>; |
| entry-latency-us = <35>; |
| exit-latency-us = <90>; |
| min-residency-us = <750>; |
| status = "okay"; |
| }; |
| |
| NONBOOTCL_CPU_SLEEP: nobootcl-cpu-sleep { |
| idle-state-name = "c2"; |
| compatible = "exynos,idle-state"; |
| arm,psci-suspend-param = <0x0010000>; |
| entry-latency-us = <30>; |
| exit-latency-us = <75>; |
| min-residency-us = <2000>; |
| status = "okay"; |
| }; |
| }; |
| }; |
| |
| psci { |
| compatible = "arm,psci"; |
| method = "smc"; |
| cpu_suspend = <0xC4000001>; |
| cpu_off = <0x84000002>; |
| cpu_on = <0xC4000003>; |
| }; |
| |
| cpu_hotplug { |
| compatible = "exynos,cpu_hotplug"; |
| boot_lock_time = <40>; |
| }; |
| |
| exynos-pmu { |
| compatible = "samsung,exynos-pmu"; |
| samsung,syscon-phandle = <&pmu_system_controller>; |
| }; |
| |
| pmu_system_controller: system-controller@16480000 { |
| compatible = "samsung,exynos8895-pmu", "syscon"; |
| reg = <0x0 0x16480000 0x10000>; |
| }; |
| |
| exynos-pm { |
| compatible = "samsung,exynos-pm"; |
| reg = <0x0 0x164B0000 0x1000>, |
| <0x0 0x10201200 0x100>; |
| reg-names = "gpio_alive_base", |
| "gicd_ispendrn_base"; |
| num-eint = <32>; |
| num-gic = <16>; |
| suspend_mode_idx = <8>; /* SYS_SLEEP */ |
| suspend_psci_idx = <133>; /* PSCI_SYSTEM_SLEEP */ |
| cp_call_mode_idx = <10>; /* SYS_SLEEP_AUD_ON */ |
| cp_call_psci_idx = <133>; /* PSCI_SYSTEM_SLEEP */ |
| extra_wakeup_stat = <0x640>; |
| }; |
| |
| exynos-powermode { |
| cpd_residency = <3000>; |
| sicd_residency = <3000>; |
| cpd_enabled = <1>; |
| sicd_enabled = <1>; |
| |
| idle-ip = "104c0000.pwm", /* [ 0] pwm */ |
| "15b70000.adc", /* [ 1] adc */ |
| "15bc0000.hsi2c", /* [ 2] hsi2c_0 */ |
| "10990000.hsi2c", /* [ 3] hsi2c_1 */ |
| "109a0000.hsi2c", /* [ 4] hsi2c_2 */ |
| "109b0000.hsi2c", /* [ 5] hsi2c_3 */ |
| "109c0000.hsi2c", /* [ 6] hsi2c_4 */ |
| "10440000.hsi2c", /* [ 7] hsi2c_5 */ |
| "10450000.hsi2c", /* [ 8] hsi2c_6 */ |
| "10460000.hsi2c", /* [ 9] hsi2c_7 */ |
| "10470000.hsi2c", /* [10] hsi2c_8 */ |
| "10480000.hsi2c", /* [11] hsi2c_9 */ |
| "10490000.hsi2c", /* [12] hsi2c_10 */ |
| "104a0000.hsi2c", /* [13] hsi2c_11 */ |
| "104b0000.hsi2c", /* [14] hsi2c_12 */ |
| "10840000.hsi2c", /* [15] hsi2c_13 */ |
| "10850000.hsi2c", /* [16] hsi2c_14 */ |
| "10860000.hsi2c", /* [17] hsi2c_15 */ |
| "10870000.hsi2c", /* [18] hsi2c_16 */ |
| "10880000.hsi2c", /* [19] hsi2c_17 */ |
| "10890000.hsi2c", /* [20] hsi2c_18 */ |
| "108a0000.hsi2c", /* [21] hsi2c_19 */ |
| "108b0000.hsi2c", /* [22] hsi2c_20 */ |
| "108c0000.hsi2c", /* [23] hsi2c_21 */ |
| "108d0000.hsi2c", /* [24] hsi2c_22 */ |
| "108e0000.hsi2c", /* [25] hsi2c_23 */ |
| "108f0000.hsi2c", /* [26] hsi2c_24 */ |
| "10900000.hsi2c", /* [27] hsi2c_25 */ |
| "10910000.hsi2c", /* [28] hsi2c_26 */ |
| "10920000.hsi2c", /* [29] hsi2c_27 */ |
| "10930000.hsi2c", /* [30] hsi2c_28 */ |
| "10940000.hsi2c", /* [31] hsi2c_29 */ |
| "10950000.hsi2c", /* [32] hsi2c_30 */ |
| "10960000.hsi2c", /* [33] hsi2c_31 */ |
| "10970000.hsi2c", /* [34] hsi2c_32 */ |
| "109e0000.spi", /* [35] spi_0 */ |
| "109e0000.spi", /* [36] spi_1 */ |
| "10440000.spi", /* [37] spi_2 */ |
| "10460000.spi", /* [38] spi_3 */ |
| "10480000.spi", /* [39] spi_4 */ |
| "104a0000.spi", /* [40] spi_5 */ |
| "10840000.spi", /* [41] spi_6 */ |
| "10860000.spi", /* [42] spi_7 */ |
| "10880000.spi", /* [43] spi_8 */ |
| "108a0000.spi", /* [44] spi_9 */ |
| "108c0000.spi", /* [45] spi_10 */ |
| "108e0000.spi", /* [46] spi_11 */ |
| "10900000.spi", /* [47] spi_12 */ |
| "10920000.spi", /* [48] spi_13 */ |
| "10940000.spi", /* [49] spi_14 */ |
| "10960000.spi", /* [50] spi_15 */ |
| "11120000.ufs", /* [51] ufs */ |
| "11500000.dwmmc2", /* [52] dwmmc2 */ |
| "10c00000.usb", /* [53] usb */ |
| "14040000.mailbox", /* [54] mailbox */ |
| "116A0000.pcie0", /* [55] pcie0 */ |
| "116B0000.pcie1", /* [56] pcie1 */ |
| "pd-abox", /* [57] pd-abox */ |
| "pd-cam", /* [58] pd-cam */ |
| "pd-dbg", /* [59] pd-dbg */ |
| "pd-dcam", /* [60] pd-dcam */ |
| "pd-dpu0", /* [61] pd-dpu0 */ |
| "pd-dpu1", /* [62] pd-dpu1 */ |
| "pd-dsp", /* [63] pd-dsp */ |
| "pd-g2d", /* [64] pd-g2d */ |
| "pd-g3d", /* [65] pd-g3d */ |
| "pd-isphq", /* [66] pd-isphq */ |
| "pd-isplp", /* [67] pd-isplp */ |
| "pd-iva", /* [68] pd-iva */ |
| "pd-mfc", /* [69] pd-mfc */ |
| "pd-srdz", /* [70] pd-srdz */ |
| "pd-vpu", /* [71] pd-vpu */ |
| "pd-vts"; /* [72] pd-vts */ |
| |
| fix-idle-ip = "acpm_dvfs"; |
| fix-idle-ip-index = <96>; |
| |
| idle_ip_mask { |
| sicd: SYS_SICD { |
| mode-index = <0>; |
| ref-idle-ip = <0>, <1>, <2>, <3>, <4>, <5>, <6>, <7>, <8>, <9>, |
| <10>, <11>, <12>, <13>, <14>, <15>, <16>, <17>, <18>, <19>, |
| <20>, <21>, <22>, <23>, <24>, <25>, <26>, <27>, <28>, <29>, |
| <30>, <31>, <32>, <33>, <34>, <35>, <36>, <37>, <38>, <39>, |
| <40>, <41>, <42>, <43>, <44>, <45>, <46>, <47>, <48>, <49>, |
| <50>, <51>, <52>, <53>, <54>, <55>, <56>, <58>, |
| <60>, <61>, <62>, <63>, <64>, <65>, <66>, <67>, <68>, <69>, |
| <70>, <71>, <96>; |
| }; |
| }; |
| |
| wakeup-masks { |
| /* |
| * wakeup_mask configuration |
| * SICD SICD_CPD AFTR STOP |
| * LPD LPA ALPA DSTOP |
| * SLEEP SLEEP_VTS_ON SLEEP_AUD_ON FAPO |
| */ |
| wakeup-mask { |
| mask = <0x400001C0>, <0x0>, <0x0>, <0x0>, |
| <0x0>, <0x0>, <0x0>, <0x0>, |
| <0x500F7E7E>, <0x500F7E7E>, <0x500F7E7E>, <0x0>; |
| reg-offset = <0x610>; |
| }; |
| wakeup-mask2 { |
| mask = <0x0>, <0x0>, <0x0>, <0x0>, |
| <0x0>, <0x0>, <0x0>, <0x0>, |
| <0xFFFF00FF>, <0xFFFF00FF>, <0xFFFF00FF>, <0x0>; |
| reg-offset = <0x614>; |
| }; |
| wakeup-mask3 { |
| mask = <0x0>, <0x0>, <0x0>, <0x0>, |
| <0x0>, <0x0>, <0x0>, <0x0>, |
| <0xFFFF00FF>, <0xFFFF00FF>, <0xFFFF00FF>, <0x0>; |
| reg-offset = <0x618>; |
| }; |
| wakeup-mask4 { |
| mask = <0x0>, <0x0>, <0x0>, <0x0>, |
| <0x0>, <0x0>, <0x0>, <0x0>, |
| <0x0>, <0x0>, <0x0>, <0x0>; |
| reg-offset = <0x644>; |
| }; |
| }; |
| }; |
| |
| schedtune { |
| domain@0 { |
| device_type = "schedtune-freqvar"; |
| shared-cpus = "0-3"; |
| /* this table works like target_load of interactive parameter */ |
| table = < 100 598000 60 715000 30 832000 20 949000 10 1053000 0 >; |
| }; |
| domain@1 { |
| device_type = "schedtune-freqvar"; |
| shared-cpus = "4-7"; |
| /* this table works like target_load of interactive parameter */ |
| table = < 20 858000 15 962000 5 1261000 0 >; |
| }; |
| }; |
| |
| cpufreq { |
| domain@0 { |
| device_type = "cpufreq-domain"; |
| sibling-cpus = "0-3"; |
| cal-id = <ACPM_DVFS_CPUCL1>; |
| dm-type = <DM_CPU_CL0>; |
| |
| min-freq = <455000>; |
| |
| /* PM QoS Class ID*/ |
| pm_qos-min-class = <3>; |
| pm_qos-max-class = <4>; |
| |
| user-default-qos = <715000>; |
| |
| dm-constraints { |
| mif-perf { |
| const-type = <CONSTRAINT_MIN>; |
| dm-type = <DM_MIF>; |
| /* cpu mif */ |
| table = < 2002000 1014000 |
| 1898000 1014000 |
| 1794000 1014000 |
| 1690000 1014000 |
| 1456000 1014000 |
| 1248000 1014000 |
| 1053000 845000 |
| 949000 845000 |
| 832000 676000 |
| 715000 676000 |
| 598000 421000 |
| 455000 0 |
| >; |
| }; |
| mif-skew { |
| guidance; |
| const-type = <CONSTRAINT_MIN>; |
| dm-type = <DM_MIF>; |
| ect-name = "dvfs_cpucl1"; |
| }; |
| }; |
| }; |
| domain@1 { |
| device_type = "cpufreq-domain"; |
| sibling-cpus = "4-7"; |
| cal-id = <ACPM_DVFS_CPUCL0>; |
| dm-type = <DM_CPU_CL1>; |
| |
| min-freq = <741000>; |
| |
| boost_supported; |
| |
| /* PM QoS Class ID*/ |
| pm_qos-min-class = <5>; |
| pm_qos-max-class = <6>; |
| |
| dm-constraints { |
| mif-perf { |
| const-type = <CONSTRAINT_MIN>; |
| dm-type = <DM_MIF>; |
| /* cpu mif */ |
| table = < 2808000 1794000 |
| 2704000 1794000 |
| 2652000 1794000 |
| 2574000 1794000 |
| 2496000 1794000 |
| 2314000 1540000 |
| 2158000 1540000 |
| 2002000 1540000 |
| 1937000 1352000 |
| 1807000 1352000 |
| 1703000 1014000 |
| 1469000 845000 |
| 1261000 676000 |
| 1170000 546000 |
| 1066000 546000 |
| 962000 421000 |
| 858000 421000 |
| 741000 421000 >; |
| }; |
| mif-skew { |
| guidance; |
| const-type = <CONSTRAINT_MIN>; |
| dm-type = <DM_MIF>; |
| ect-name = "dvfs_cpucl0"; |
| }; |
| }; |
| }; |
| }; |
| |
| gic:interrupt-controller@10200000 { |
| compatible = "arm,cortex-a15-gic", "arm,cortex-a9-gic"; |
| #interrupt-cells = <3>; |
| #address-cells = <0>; |
| interrupt-controller; |
| reg = <0x0 0x10201000 0x1000>, |
| <0x0 0x10202000 0x1000>, |
| <0x0 0x10204000 0x2000>, |
| <0x0 0x10206000 0x2000>; |
| interrupts = <1 9 0xf04>; |
| }; |
| |
| timer { |
| compatible = "arm,armv8-timer"; |
| interrupts = <1 13 0xff01>, |
| <1 14 0xff01>, |
| <1 11 0xff01>, |
| <1 10 0xff01>; |
| clock-frequency = <26000000>; |
| use-clocksource-only; |
| use-physical-timer; |
| }; |
| |
| clock: clock-controller@0x15a80000 { |
| compatible = "samsung,exynos8895-clock"; |
| reg = <0x0 0x15a80000 0x8000>; |
| #clock-cells = <1>; |
| acpm-ipc-channel = <0>; |
| }; |
| |
| sysreg_fsys0_controller: sysreg-controller@11020000 { |
| compatible = "samsung,exynos8895-sysreg", "syscon"; |
| reg = <0x0 0x11020000 0x1200>; |
| }; |
| |
| sysreg_fsys1_controller: sysreg-controller@11420000 { |
| compatible = "samsung,exynos8895-sysreg", "syscon"; |
| reg = <0x0 0x11420000 0x1200>; |
| }; |
| |
| mct@10040000 { |
| compatible = "samsung,exynos4210-mct"; |
| reg = <0x0 0x10040000 0x800>; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| interrupt-parent = <&mct_map>; |
| interrupts = <0>, <1>, <2>, <3>, |
| <4>, <5>, <6>, <7>, |
| <8>, <9>, <10>, <11>; |
| clocks = <&clock OSCCLK>, <&clock GATE_MCT>; |
| clock-names = "fin_pll", "mct"; |
| use-clockevent-only; |
| |
| mct_map: mct-map { |
| #interrupt-cells = <1>; |
| #address-cells = <0>; |
| #size-cells = <0>; |
| interrupt-map = <0 &gic 0 455 0>, |
| <1 &gic 0 456 0>, |
| <2 &gic 0 457 0>, |
| <3 &gic 0 458 0>, |
| <4 &gic 0 459 0>, |
| <5 &gic 0 460 0>, |
| <6 &gic 0 461 0>, |
| <7 &gic 0 462 0>, |
| <8 &gic 0 463 0>, |
| <9 &gic 0 464 0>, |
| <10 &gic 0 465 0>, |
| <11 &gic 0 466 0>; |
| }; |
| }; |
| |
| /* DMA */ |
| amba { |
| #address-cells = <2>; |
| #size-cells = <1>; |
| compatible = "arm,amba-bus"; |
| interrupt-parent = <&gic>; |
| ranges; |
| |
| pdma0: pdma0@15A40000 { |
| compatible = "arm,pl330", "arm,primecell"; |
| reg = <0x0 0x15A40000 0x1000>; |
| interrupts = <0 107 0>; |
| clocks = <&clock GATE_PDMA0>; |
| clock-names = "apb_pclk"; |
| #dma-cells = <2>; |
| #dma-channels = <8>; |
| #dma-requests = <32>; |
| #dma_mcode_addr = <0x13F2C000>; |
| dma-arwrapper = <0x15A44400>, |
| <0x15A44420>, |
| <0x15A44440>, |
| <0x15A44460>, |
| <0x15A44480>, |
| <0x15A444A0>, |
| <0x15A444C0>, |
| <0x15A444E0>; |
| dma-awwrapper = <0x15A44404>, |
| <0x15A44424>, |
| <0x15A44444>, |
| <0x15A44464>, |
| <0x15A44484>, |
| <0x15A444A4>, |
| <0x15A444C4>, |
| <0x15A444E4>; |
| dma-instwrapper = <0x15A44500>; |
| dma-selchan = <0x15A22200>; |
| dma-mask-bit = <36>; |
| coherent-mask-bit = <36>; |
| }; |
| }; |
| |
| |
| ITMON@0 { |
| compatible = "samsung,exynos-itmon"; |
| interrupts = <0 72 0>, /* DATA_BUS_1 */ |
| <0 311 0>, /* DATA_CORE */ |
| <0 92 0>, /* DATA_BUS_C */ |
| <0 315 0>, /* PERI_CORE_0 */ |
| <0 316 0>, /* PERI_CORE_1 */ |
| <0 93 0>, /* PERI_BUS_C */ |
| <0 77 0>; /* PERI_BUS_1 */ |
| }; |
| |
| /* ALIVE */ |
| pinctrl_0: pinctrl@164B0000 { |
| compatible = "samsung,exynos8895-pinctrl"; |
| reg = <0x0 0x164B0000 0x1000>; |
| interrupts = <0 0 0>, <0 1 0>, <0 2 0>, <0 3 0>, |
| <0 4 0>, <0 5 0>, <0 6 0>, <0 7 0>, |
| <0 8 0>, <0 9 0>, <0 10 0>, <0 11 0>, |
| <0 12 0>, <0 13 0>, <0 14 0>, <0 15 0>; |
| wakeup-interrupt-controller { |
| compatible = "samsung,exynos7-wakeup-eint"; |
| interrupt-parent = <&gic>; |
| interrupts = <0 16 0>; |
| }; |
| }; |
| |
| /* A-BOX */ |
| pinctrl_1: pinctrl@13E60000{ |
| compatible = "samsung,exynos8895-pinctrl"; |
| reg = <0x0 0x13E60000 0x1000>; |
| }; |
| |
| /* VTS */ |
| pinctrl_2: pinctrl@14080000 { |
| compatible = "samsung,exynos8895-pinctrl"; |
| reg = <0x0 0x14080000 0x1000>; |
| }; |
| |
| /* FSYS0 */ |
| pinctrl_3: pinctrl@11050000 { |
| compatible = "samsung,exynos8895-pinctrl"; |
| reg = <0x0 0x11050000 0x1000>; |
| interrupts = <0 335 0>; |
| }; |
| |
| /* FSYS1 */ |
| pinctrl_4: pinctrl@11430000 { |
| compatible = "samsung,exynos8895-pinctrl"; |
| reg = <0x0 0x11430000 0x1000>; |
| interrupts = <0 342 0>; |
| }; |
| |
| /* BUSC */ |
| pinctrl_5: pinctrl@15A30000 { |
| compatible = "samsung,exynos8895-pinctrl"; |
| reg = <0x0 0x15A30000 0x1000>; |
| interrupts = <0 103 0>; |
| }; |
| |
| /* PERIC0 */ |
| pinctrl_6: pinctrl@104D0000 { |
| compatible = "samsung,exynos8895-pinctrl"; |
| reg = <0x0 0x104D0000 0x1000>; |
| interrupts = <0 386 0>; |
| pinctrl-names = "default"; |
| }; |
| |
| /* PERIC1 */ |
| pinctrl_7: pinctrl@10980000 { |
| compatible = "samsung,exynos8895-pinctrl"; |
| reg = <0x0 0x10980000 0x1000>; |
| interrupts = <0 430 0>; |
| }; |
| |
| mali: mali@13900000 { |
| compatible = "arm,mali"; |
| reg = <0x0 0x13900000 0x5000>; |
| interrupts = <0 60 0>, <0 61 0>, <0 59 0>; |
| interrupt-names = "JOB", "MMU", "GPU"; |
| g3d_cmu_cal_id = <ACPM_DVFS_G3D>; |
| samsung,power-domain = <&pd_g3d>; |
| #cooling-cells = <2>; /* min followed by max */ |
| }; |
| |
| fmp: fmp { |
| compatible = "samsung,exynos-fmp"; |
| exynos,host-type = "ufs"; |
| exynos-host = <&ufs>; |
| exynos,block-type = "sda"; |
| exynos,fips-block_offset = <5>; |
| }; |
| |
| smu: smu { |
| compatible = "samsung,exynos-smu"; |
| }; |
| |
| ufs@0x11120000 { |
| /* ----------------------- */ |
| /* 1. SYSTEM CONFIGURATION */ |
| /* ----------------------- */ |
| compatible ="samsung,exynos-ufs"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| reg = |
| <0x0 0x11120000 0x200>, /* 0: HCI standard */ |
| <0x0 0x11121100 0x200>, /* 1: Vendor specificed */ |
| <0x0 0x11110000 0x8000>, /* 2: UNIPRO */ |
| <0x0 0x11130000 0x100>; /* 3: UFS protector */ |
| interrupts = <0 334 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&ufs_rst_n &ufs_refclk_out>; |
| clocks = |
| /* aclk clock */ |
| <&clock GATE_UFS_EMBD>, |
| /* unipro clocks */ |
| <&clock UFS_EMBD>; |
| |
| clock-names = |
| /* aclk clocks */ |
| "GATE_UFS_EMBD", |
| /* unipro clocks */ |
| "UFS_EMBD"; |
| |
| /* PM QoS for INT power domain */ |
| ufs-pm-qos-int = <400000>; |
| |
| /* DMA coherent callback, should be coupled with 'ufs-sys' */ |
| dma-coherent; |
| |
| /* Alive block sfr for TCXO control */ |
| samsung,pmu-phandle = <&pmu_system_controller>; |
| |
| /* ----------------------- */ |
| /* 2. UFS COMMON */ |
| /* ----------------------- */ |
| freq-table-hz = <0 0>, <0 0>; |
| pclk-freq-avail-range = <70000000 166000000>; |
| |
| ufs,pmd-local-l2-timer = <8000 28000 20000>; |
| ufs,pmd-remote-l2-timer = <12000 32000 16000>; |
| |
| vcc-supply = <&ufs_fixed_vcc>; |
| vcc-fixed-regulator; |
| |
| /* smu */ |
| ufs-exynos-smu = <&smu_0>; |
| |
| /* ----------------------- */ |
| /* 3. UFS EXYNOS */ |
| /* ----------------------- */ |
| hw-rev = <UFS_VER_0004>; |
| |
| /* power mode change */ |
| ufs,pmd-attr-mode = "FAST"; |
| ufs,pmd-attr-lane = /bits/ 8 <2>; |
| ufs,pmd-attr-gear = /bits/ 8 <3>; |
| ufs,pmd-attr-hs-series = "HS_rate_b"; |
| |
| /* hiberantion */ |
| ufs-rx-adv-fine-gran-sup_en = <0>; |
| ufs-rx-min-activate-time-cap = <3>; |
| ufs-rx-hibern8-time-cap = <2>; |
| ufs-tx-hibern8-time-cap = <2>; |
| |
| /* misc table */ |
| phy-init = |
| <0x9514 0x00 PMD_ALL UNIPRO_DBG_PRD>, //Unipro Clock Period |
| <0x200 0x40 PMD_ALL PHY_PCS_COMN>, //OV_TM On |
| <0x12 0x00 PMD_ALL PHY_PCS_RX_PRD>, //PCS RX Clock Period |
| <0xAA 0x00 PMD_ALL PHY_PCS_TX_PRD>, //PCS TX Clock Period |
| <0x5C 0x38 PMD_ALL PHY_PCS_RX>, |
| <0x0F 0x0 PMD_ALL PHY_PCS_RX>, |
| <0x65 0x01 PMD_ALL PHY_PCS_RX>, //PCS RX INT_H8_COUNT_CAP_ENABLE[0] = 1b'1(THIBERN8 CAPABILITY(200us)) |
| <0x200 0x0 PMD_ALL PHY_PCS_COMN>, //OV_TM Off |
| <0x9564 0x2e820183 PMD_ALL UNIPRO_DBG_MIB>, //DBG_PA_OPTION_SUITE |
| <0x155E 0x0 PMD_ALL UNIPRO_STD_MIB>, //LCC disable |
| |
| <0x3000 0x0 PMD_ALL UNIPRO_STD_MIB>, //N_DeviceID |
| <0x3001 0x1 PMD_ALL UNIPRO_STD_MIB>, //N_DeviceID_valid |
| <0x4021 0x1 PMD_ALL UNIPRO_STD_MIB>, //T_PeerDeviceID |
| |
| <0x4020 0x1 PMD_ALL UNIPRO_STD_MIB>, //T_ConnectionState |
| |
| <0x8C 0x80 PMD_ALL PHY_PMA_COMN>, |
| <0x74 0x10 PMD_ALL PHY_PMA_COMN>, //CMN_1D(0x74), PWM clock generation selection: CMN_REG1D(0x10 = Refclk, 0x20 = int OSC) |
| <0x110 0xB5 PMD_ALL PHY_PMA_TRSV>, //TRSVx_14(0x110/0x250), TRSVx_REG14(RXAFE_DIFN_SQ_PULSE_REJ_EN = 1b'0) |
| <0x134 0x43 PMD_ALL PHY_PMA_TRSV>, //TRSVx_1D(0x134/0x274), |
| <0x16C 0x20 PMD_ALL PHY_PMA_TRSV>, //TRSVx_2B(0x16C/0x2AC), |
| <0x178 0xC0 PMD_ALL PHY_PMA_TRSV>, //TRSVx_2E(0x178/0x2B8), |
| <0xE0 0x14 PMD_ALL PHY_PMA_TRSV>, |
| <0x164 0x58 PMD_ALL PHY_PMA_TRSV>, |
| <0x8C 0xC0 PMD_ALL PHY_PMA_COMN>, |
| <0x8C 0x00 PMD_ALL PHY_PMA_COMN>, |
| <0 0 0 0>; |
| |
| post-phy-init = |
| <0x9529 0x1 PMD_ALL UNIPRO_DBG_MIB>, //Unipro Debug Mode On |
| <0x15A4 0xFA PMD_ALL UNIPRO_STD_MIB>, //PA_SaveConfigTime |
| <0x9529 0x0 PMD_ALL UNIPRO_DBG_MIB>, //Unipro Debug Mode Off |
| <0x200 0x40 PMD_ALL PHY_PCS_COMN>, |
| <0x35 0x05 PMD_ALL PHY_PCS_RX>, |
| <0x73 0x01 PMD_ALL PHY_PCS_RX>, |
| <0x41 0x02 PMD_ALL PHY_PCS_RX>, |
| <0x42 0xAC PMD_ALL PHY_PCS_RX>, |
| <0x200 0x0 PMD_ALL PHY_PCS_COMN>, |
| <0 0 0 0>; |
| |
| calib-of-pwm = |
| <0x1569 0x0 PMD_PWM UNIPRO_STD_MIB>, |
| <0x1584 0x0 PMD_PWM UNIPRO_STD_MIB>, |
| <0x2041 8064 PMD_PWM UNIPRO_STD_MIB>, |
| <0x2042 28224 PMD_PWM UNIPRO_STD_MIB>, |
| <0x2043 20160 PMD_PWM UNIPRO_STD_MIB>, |
| <0x15B0 12000 PMD_PWM UNIPRO_STD_MIB>, |
| <0x15B1 32000 PMD_PWM UNIPRO_STD_MIB>, |
| <0x15B2 16000 PMD_PWM UNIPRO_STD_MIB>, |
| <0x7888 8064 PMD_PWM UNIPRO_DBG_APB>, |
| <0x788C 28224 PMD_PWM UNIPRO_DBG_APB>, |
| <0x7890 20160 PMD_PWM UNIPRO_DBG_APB>, |
| <0x78B8 12000 PMD_PWM UNIPRO_DBG_APB>, |
| <0x78BC 32000 PMD_PWM UNIPRO_DBG_APB>, |
| <0x78C0 16000 PMD_PWM UNIPRO_DBG_APB>, |
| /*MPHY tuning value*/ |
| <0xC8 0x40 PMD_PWM PHY_PMA_TRSV>, //TRSVx_02(0xC8/0x208), |
| <0xF0 0x77 PMD_PWM PHY_PMA_TRSV>, //TRSVx_0c(0xF0/0x230), TX_SLEW_PREEMP_EN_CTRL_EN(bit3) = 1b'0 |
| <0x120 0x80 PMD_PWM PHY_PMA_TRSV>, //TRSVx_18(0x120/0x260), TX_AMPL_CNTR_EN(bit6) = 1b'0 |
| <0x128 0x00 PMD_PWM PHY_PMA_TRSV>, //TRSVx_1a(0x128/0x268), TX_AMPL_CTRL(bit[4:0], Amplitude) = 5b'00000(PWM) |
| <0x12C 0x00 PMD_PWM PHY_PMA_TRSV>, //TRSVx_1b(0x12C/0x26C), TX_PREEMP_CTRL(bit[5:4]) = 2b'00(0dB) |
| <0x134 0x43 PMD_PWM PHY_PMA_TRSV>, //TRSVx_1d(0x134/0x274), TX_AUX_CAP_INV_SEL(bit7) = 1b'0, TX_AUX_CAP_CTRL(bit[6:4]) = 3b'100 |
| <0 0 0 0>; |
| |
| calib-of-hs-rate-a = |
| <0x1569 0x1 PMD_HS UNIPRO_STD_MIB>, |
| <0x1584 0x1 PMD_HS UNIPRO_STD_MIB>, |
| |
| <0x2041 8064 PMD_HS UNIPRO_STD_MIB>, |
| <0x2042 28224 PMD_HS UNIPRO_STD_MIB>, |
| <0x2043 20160 PMD_HS UNIPRO_STD_MIB>, |
| <0x15B0 12000 PMD_HS UNIPRO_STD_MIB>, |
| <0x15B1 32000 PMD_HS UNIPRO_STD_MIB>, |
| <0x15B2 16000 PMD_HS UNIPRO_STD_MIB>, |
| |
| <0x7888 8064 PMD_HS UNIPRO_DBG_APB>, |
| <0x788C 28224 PMD_HS UNIPRO_DBG_APB>, |
| <0x7890 20160 PMD_HS UNIPRO_DBG_APB>, |
| <0x78B8 12000 PMD_HS UNIPRO_DBG_APB>, |
| <0x78BC 32000 PMD_HS UNIPRO_DBG_APB>, |
| <0x78C0 16000 PMD_HS UNIPRO_DBG_APB>, |
| /*MPHY tuning value*/ |
| <0xC8 0xBC PMD_HS PHY_PMA_TRSV>, //TRSVx_02(0xC8/0x208), |
| <0xF0 0x7F PMD_HS PHY_PMA_TRSV>, //TRSVx_0c(0xF0/0x230), TX_SLEW_PREEMP_EN_CTRL_EN(bit3) = 1b'1 |
| <0x120 0xC0 PMD_HS PHY_PMA_TRSV>, //TRSVx_18(0x120/0x260), TX_AMPL_CNTR_EN(bit6) = 1b'1 |
| <0x128 0x08 PMD_HS_G1_L2 PHY_PMA_TRSV>, //TRSVx_1a(0x128/0x268), TX_AMPL_CTRL(bit[4:0], Amplitude) = 5b'01000(G1A/B) |
| <0x128 0x02 PMD_HS_G2_L2 PHY_PMA_TRSV>, // TX_AMPL_CTRL(bit[4:0], Amplitude) = 5b'00010(G2A/B) |
| <0x128 0x00 PMD_HS_G3_L2 PHY_PMA_TRSV>, // TX_AMPL_CTRL(bit[4:0], Amplitude) = 5b'00000(G3A/B) |
| <0x12C 0x00 (PMD_HS_G1_L2|PMD_HS_G3_L2) PHY_PMA_TRSV>, // TX_PREEMP_CTRL(bit[5:4]) = 2b'00(0dB) |
| <0x12C 0x00 PMD_HS_G2_L2 PHY_PMA_TRSV>, // TX_PREEMP_CTRL(bit[5:4]) = 2b'00(0dB, G2A/B)) |
| <0x134 0xd3 PMD_HS_G1_L2 PHY_PMA_TRSV>, //TRSVx_1d(0x134/0x274), TX_AUX_CAP_INV_SEL(bit7) = 1b'1, TX_AUX_CAP_CTRL(bit[6:4]) = 3b'101 |
| <0x134 0x73 PMD_HS_G2_L2 PHY_PMA_TRSV>, // TX_AUX_CAP_CTRL(bit[6:4]) = 3b'111 |
| <0x134 0x63 PMD_HS_G3_L2 PHY_PMA_TRSV>, // TX_AUX_CAP_CTRL(bit[6:4]) = 3b'110 |
| |
| <0x108 0x5D PMD_HS PHY_PMA_TRSV>, // |
| <0x10C 0x80 PMD_HS PHY_PMA_TRSV>, // |
| <0 0 0 0>; |
| |
| calib-of-hs-rate-b = |
| <0x1569 0x1 PMD_HS UNIPRO_STD_MIB>, |
| <0x1584 0x1 PMD_HS UNIPRO_STD_MIB>, |
| |
| <0x2041 8064 PMD_HS UNIPRO_STD_MIB>, |
| <0x2042 28224 PMD_HS UNIPRO_STD_MIB>, |
| <0x2043 20160 PMD_HS UNIPRO_STD_MIB>, |
| <0x15B0 12000 PMD_HS UNIPRO_STD_MIB>, |
| <0x15B1 32000 PMD_HS UNIPRO_STD_MIB>, |
| <0x15B2 16000 PMD_HS UNIPRO_STD_MIB>, |
| |
| <0x7888 8064 PMD_HS UNIPRO_DBG_APB>, |
| <0x788C 28224 PMD_HS UNIPRO_DBG_APB>, |
| <0x7890 20160 PMD_HS UNIPRO_DBG_APB>, |
| <0x78B8 12000 PMD_HS UNIPRO_DBG_APB>, |
| <0x78BC 32000 PMD_HS UNIPRO_DBG_APB>, |
| <0x78C0 16000 PMD_HS UNIPRO_DBG_APB>, |
| /*MPHY tuning value*/ |
| <0xC8 0xBC PMD_HS PHY_PMA_TRSV>, //TRSVx_02(0xC8/0x208), |
| <0xF0 0x7F PMD_HS PHY_PMA_TRSV>, //TRSVx_0c(0xF0/0x230), TX_SLEW_PREEMP_EN_CTRL_EN(bit3) = 1b'1 |
| <0x120 0xC0 PMD_HS PHY_PMA_TRSV>, //TRSVx_18(0x120/0x260), TX_AMPL_CNTR_EN(bit6) = 1b'1 |
| <0x128 0x08 PMD_HS_G1_L2 PHY_PMA_TRSV>, //TRSVx_1a(0x128/0x268), TX_AMPL_CTRL(bit[4:0], Amplitude) = 5b'01000(G1A/B) |
| <0x128 0x02 PMD_HS_G2_L2 PHY_PMA_TRSV>, // TX_AMPL_CTRL(bit[4:0], Amplitude) = 5b'00010(G2A/B) |
| <0x128 0x00 PMD_HS_G3_L2 PHY_PMA_TRSV>, // TX_AMPL_CTRL(bit[4:0], Amplitude) = 5b'00000(G3A/B) |
| <0x12C 0x00 (PMD_HS_G1_L2|PMD_HS_G3_L2) PHY_PMA_TRSV>, // TX_PREEMP_CTRL(bit[5:4]) = 2b'00(0dB) |
| <0x12C 0x00 PMD_HS_G2_L2 PHY_PMA_TRSV>, // TX_PREEMP_CTRL(bit[5:4]) = 2b'00(0dB, G2A/B)) |
| <0x134 0xd3 PMD_HS_G1_L2 PHY_PMA_TRSV>, //TRSVx_1d(0x134/0x274), TX_AUX_CAP_INV_SEL(bit7) = 1b'1, TX_AUX_CAP_CTRL(bit[6:4]) = 3b'101 |
| <0x134 0x73 PMD_HS_G2_L2 PHY_PMA_TRSV>, // TX_AUX_CAP_CTRL(bit[6:4]) = 3b'111 |
| <0x134 0x63 PMD_HS_G3_L2 PHY_PMA_TRSV>, // |
| |
| <0x108 0x5D PMD_HS PHY_PMA_TRSV>, // |
| <0x10C 0x80 PMD_HS PHY_PMA_TRSV>, // |
| <0 0 0 0>; |
| |
| post-calib-of-pwm = |
| <0 0 0 0>; |
| |
| post-calib-of-hs-rate-a = |
| <0x1fc 0x01 PMD_HS PHY_CDR_WAIT>, |
| <0 0 0 0>; |
| |
| post-calib-of-hs-rate-b = |
| <0x1fc 0x01 PMD_HS PHY_CDR_WAIT>, |
| <0 0 0 0>; |
| |
| lpa-restore = |
| <0 0 0 0>; |
| |
| pre-clk-off = |
| /* SQ off */ |
| <0x0C4 0x99 PMD_ALL PHY_PMA_TRSV>, |
| <0x0E8 0x7F PMD_ALL PHY_PMA_TRSV>, |
| <0x004 0x02 PMD_ALL PHY_PMA_COMN>, |
| <0 0 0 0>; |
| |
| post-clk-on = |
| /* SQ on */ |
| <0x004 0x00 PMD_ALL PHY_PMA_COMN>, |
| <0x0C4 0xD9 PMD_ALL PHY_PMA_TRSV>, |
| <0x0E8 0x77 PMD_ALL PHY_PMA_TRSV>, |
| <0 0 0 0>; |
| |
| /* ----------------------- */ |
| /* 4. ADDITIONAL NODES */ |
| /* ----------------------- */ |
| /* PHY isolation */ |
| ufs-phy { |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| reg = <0x0 0x11124000 0x800>; |
| |
| ufs-phy-sys { |
| reg = <0x0 0x16480724 0x4>; |
| }; |
| }; |
| |
| /* SYSREG */ |
| ufs-io-coherency { |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| reg = |
| <0x0 0x11020700 0x4>; |
| |
| mask = <(BIT_8 | BIT_9)>; |
| bits = <(BIT_8 | BIT_9)>; |
| }; |
| |
| ufs-tcxo-sel { |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| reg = |
| <0x0 0x11021150 0x4>; |
| |
| mask = <BIT_0>; |
| bits = <BIT_0>; // use alternative |
| }; |
| }; |
| |
| ufs_fixed_vcc: fixedregulator@0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "ufs-vcc"; |
| gpio = <&gpg0 0 0>; |
| regulator-boot-on; |
| enable-active-high; |
| }; |
| |
| /* UART_DBG */ |
| serial_0: uart@10430000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10430000 0x100>; |
| samsung,fifo-size = <256>; |
| interrupts = <0 385 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart0_bus>; |
| clocks = <&clock GATE_UART_DBG>, <&clock UART_DBG>; |
| clock-names = "gate_pclk0", "gate_uart0"; |
| status = "disabled"; |
| }; |
| |
| /* UART_BT */ |
| serial_1: uart@10830000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10830000 0x100>; |
| samsung,fifo-size = <256>; |
| interrupts = <0 389 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart1_bus>; |
| clocks = <&clock GATE_UART_BT>, <&clock UART_BT>; |
| clock-names = "gate_pclk1", "gate_uart1"; |
| samsung,in-band-wakeup; |
| status = "disabled"; |
| }; |
| |
| /* USI0_UART */ |
| serial_2: uart@10440000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10440000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 366 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart2_bus_single>; /* or <&uart2_bus_dual> */ |
| clocks = <&clock GATE_USI00>, <&clock USI00>; |
| clock-names = "gate_pclk2", "gate_uart2"; |
| status = "disabled"; |
| }; |
| |
| /* USI1_UART */ |
| serial_3: uart@10460000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10460000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 370 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart3_bus_single>; /* or <&uart3_bus_dual> */ |
| clocks = <&clock GATE_USI01>, <&clock USI01>; |
| clock-names = "gate_pclk3", "gate_uart3"; |
| status = "disabled"; |
| }; |
| |
| /* USI2_UART */ |
| serial_4: uart@10480000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10480000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 374 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart4_bus_single>; /* or <&uart4_bus_dual> */ |
| clocks = <&clock GATE_USI02>, <&clock USI02>; |
| clock-names = "gate_pclk4", "gate_uart4"; |
| status = "disabled"; |
| }; |
| |
| /* USI3_UART */ |
| serial_5: uart@104A0000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x104A0000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 378 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart5_bus_single>; /* or <&uart5_bus_dual> */ |
| clocks = <&clock GATE_USI03>, <&clock USI03>; |
| clock-names = "gate_pclk5", "gate_uart5"; |
| status = "disabled"; |
| }; |
| |
| /* USI4_UART */ |
| serial_6: uart@10840000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10840000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 392 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart6_bus_single>; /* or <&uart6_bus_dual> */ |
| clocks = <&clock GATE_USI04>, <&clock USI04>; |
| clock-names = "gate_pclk6", "gate_uart6"; |
| status = "disabled"; |
| }; |
| |
| /* USI5_UART */ |
| serial_7: uart@10860000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10860000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 396 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart7_bus_single>; /* or <&uart7_bus_dual> */ |
| clocks = <&clock GATE_USI05>, <&clock USI05>; |
| clock-names = "gate_pclk7", "gate_uart7"; |
| status = "disabled"; |
| }; |
| |
| /* USI6_UART */ |
| serial_8: uart@10880000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10880000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 400 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart8_bus_single>; /* or <&uart8_bus_dual> */ |
| clocks = <&clock GATE_USI06>, <&clock USI06>; |
| clock-names = "gate_pclk8", "gate_uart8"; |
| status = "disabled"; |
| }; |
| |
| /* USI7_UART */ |
| serial_9: uart@108A0000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x108A0000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 404 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart9_bus_single>; /* or <&uart9_bus_dual> */ |
| clocks = <&clock GATE_USI07>, <&clock USI07>; |
| clock-names = "gate_pclk9", "gate_uart9"; |
| status = "disabled"; |
| }; |
| |
| /* USI8_UART */ |
| serial_10: uart@108C0000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x108C0000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 408 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart10_bus_single>; /* or <&uart10_bus_dual> */ |
| clocks = <&clock GATE_USI08>, <&clock USI08>; |
| clock-names = "gate_pclk10", "gate_uart10"; |
| status = "disabled"; |
| }; |
| |
| /* USI9_UART */ |
| serial_11: uart@108E0000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x108E0000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 412 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart11_bus_single>; /* or <&uart11_bus_dual> */ |
| clocks = <&clock GATE_USI09>, <&clock USI09>; |
| clock-names = "gate_pclk11", "gate_uart11"; |
| status = "disabled"; |
| }; |
| |
| /* USI10_UART */ |
| serial_12: uart@10900000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10900000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 416 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart12_bus_single>; /* or <&uart12_bus_dual> */ |
| clocks = <&clock GATE_USI10>, <&clock USI10>; |
| clock-names = "gate_pclk12", "gate_uart12"; |
| status = "disabled"; |
| }; |
| |
| /* USI11_UART */ |
| serial_13: uart@10920000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10920000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 420 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart13_bus_single>; /* or <&uart13_bus_dual> */ |
| clocks = <&clock GATE_USI11>, <&clock USI11>; |
| clock-names = "gate_pclk13", "gate_uart13"; |
| status = "disabled"; |
| }; |
| |
| /* USI12_UART */ |
| serial_14: uart@10940000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10940000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 424 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart14_bus_single>; /* or <&uart14_bus_dual> */ |
| clocks = <&clock GATE_USI12>, <&clock USI12>; |
| clock-names = "gate_pclk14", "gate_uart14"; |
| status = "disabled"; |
| }; |
| |
| |
| /* USI13_UART */ |
| serial_15: uart@10960000 { |
| compatible = "samsung,exynos-uart"; |
| samsung,separate-uart-clk; |
| reg = <0x0 0x10960000 0x100>; |
| samsung,fifo-size = <64>; |
| interrupts = <0 428 0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&uart15_bus_single>; /* or <&uart15_bus_dual> */ |
| clocks = <&clock GATE_USI13>, <&clock USI13>; |
| clock-names = "gate_pclk15", "gate_uart15"; |
| status = "disabled"; |
| }; |
| |
| /* USI_0 */ |
| usi_0: usi@10421000 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10421000 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_1 */ |
| usi_1: usi@10421004 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10421004 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_2 */ |
| usi_2: usi@10421008 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10421008 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_3 */ |
| usi_3: usi@1042100C { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x1042100C 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_4 */ |
| usi_4: usi@10821008 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10821008 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_5 */ |
| usi_5: usi@1082100C { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x1082100C 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_6 */ |
| usi_6: usi@10821010 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10821010 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_7 */ |
| usi_7: usi@10821014 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10821014 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_8 */ |
| usi_8: usi@10821018 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10821018 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_9 */ |
| usi_9: usi@1082101C { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x1082101C 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_10 */ |
| usi_10: usi@10821020 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10821020 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_11 */ |
| usi_11: usi@10821024 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10821024 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_12 */ |
| usi_12: usi@10821028 { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x10821028 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* USI_13 */ |
| usi_13: usi@1082102C { |
| compatible = "samsung,exynos-usi"; |
| reg = <0x0 0x1082102C 0x4>; |
| /* usi_mode = "hsi2c0" or "hsi2c1" or "spi" or "uart" |
| or "hsi2c0_hsi2c1" or "uart_hsi2c1" */ |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_PMIC */ |
| hsi2c_0: hsi2c@15BC0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x15BC0000 0x1000>; |
| interrupts = <0 113 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c0_bus>; |
| clocks = <&clock UMUX_CLKCMU_BUSC_BUSPHSI2C>, <&clock GATE_HSI2CDF>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpb2 0 0x1>; |
| gpio_scl= <&gpb2 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_CAM0 */ |
| hsi2c_1: hsi2c@10990000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10990000 0x1000>; |
| interrupts = <0 431 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c1_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_HSI2C_CAM0>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpc2 0 0x1>; |
| gpio_scl= <&gpc2 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_CAM1 */ |
| hsi2c_2: hsi2c@109A0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x109A0000 0x1000>; |
| interrupts = <0 432 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c2_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_HSI2C_CAM1>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpc2 2 0x1>; |
| gpio_scl= <&gpc2 3 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_CAM2 */ |
| hsi2c_3: hsi2c@109B0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x109B0000 0x1000>; |
| interrupts = <0 433 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c3_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_HSI2C_CAM2>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpc2 4 0x1>; |
| gpio_scl= <&gpc2 5 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_CAM3 */ |
| hsi2c_4: hsi2c@109C0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x109C0000 0x1000>; |
| interrupts = <0 434 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c4_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_HSI2C_CAM3>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpc2 6 0x1>; |
| gpio_scl= <&gpc2 7 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI0_0 */ |
| hsi2c_5: hsi2c@10440000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10440000 0x1000>; |
| interrupts = <0 364 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c5_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC0_BUS>, <&clock GATE_USI00>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpd1 0 0x1>; |
| gpio_scl= <&gpd1 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI0_1 */ |
| hsi2c_6: hsi2c@10450000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10450000 0x1000>; |
| interrupts = <0 365 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c6_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC0_BUS>, <&clock GATE_USI00>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpd1 2 0x1>; |
| gpio_scl= <&gpd1 3 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI1_0 */ |
| hsi2c_7: hsi2c@10460000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10460000 0x1000>; |
| interrupts = <0 368 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c7_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC0_BUS>, <&clock GATE_USI01>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpd1 4 0x1>; |
| gpio_scl= <&gpd1 5 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI1_1 */ |
| hsi2c_8: hsi2c@10470000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10470000 0x1000>; |
| interrupts = <0 369 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c8_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC0_BUS>, <&clock GATE_USI01>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpd1 6 0x1>; |
| gpio_scl= <&gpd1 7 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI2_0 */ |
| hsi2c_9: hsi2c@10480000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10480000 0x1000>; |
| interrupts = <0 372 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c9_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC0_BUS>, <&clock GATE_USI02>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpd2 0 0x1>; |
| gpio_scl= <&gpd2 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI2_1 */ |
| hsi2c_10: hsi2c@10490000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10490000 0x1000>; |
| interrupts = <0 373 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c10_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC0_BUS>, <&clock GATE_USI02>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpd2 2 0x1>; |
| gpio_scl= <&gpd2 3 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI3_0 */ |
| hsi2c_11: hsi2c@104A0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x104A0000 0x1000>; |
| interrupts = <0 376 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c11_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC0_BUS>, <&clock GATE_USI03>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpd3 0 0x1>; |
| gpio_scl= <&gpd3 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI3_1 */ |
| hsi2c_12: hsi2c@104B0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x104B0000 0x1000>; |
| interrupts = <0 377 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c12_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC0_BUS>, <&clock GATE_USI03>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpd3 2 0x1>; |
| gpio_scl= <&gpd3 3 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI4_0 */ |
| hsi2c_13: hsi2c@10840000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10840000 0x1000>; |
| interrupts = <0 390 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c13_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI04>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe5 0 0x1>; |
| gpio_scl= <&gpe5 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI4_1 */ |
| hsi2c_14: hsi2c@10850000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10850000 0x1000>; |
| interrupts = <0 391 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c14_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI04>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe5 2 0x1>; |
| gpio_scl= <&gpe5 3 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI5_0 */ |
| hsi2c_15: hsi2c@10860000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10860000 0x1000>; |
| interrupts = <0 394 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c15_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI05>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe1 0 0x1>; |
| gpio_scl= <&gpe1 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI5_1 */ |
| hsi2c_16: hsi2c@10870000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10870000 0x1000>; |
| interrupts = <0 395 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c16_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI05>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe1 2 0x1>; |
| gpio_scl= <&gpe1 3 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI6_0 */ |
| hsi2c_17: hsi2c@10880000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10880000 0x1000>; |
| interrupts = <0 398 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c17_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI06>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe1 4 0x1>; |
| gpio_scl= <&gpe1 5 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI6_1 */ |
| hsi2c_18: hsi2c@10890000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10890000 0x1000>; |
| interrupts = <0 399 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c18_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI06>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe1 6 0x1>; |
| gpio_scl= <&gpe1 7 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI7_0 */ |
| hsi2c_19: hsi2c@108A0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x108A0000 0x1000>; |
| interrupts = <0 402 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c19_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI07>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe2 0 0x1>; |
| gpio_scl= <&gpe2 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI7_1 */ |
| hsi2c_20: hsi2c@108B0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x108B0000 0x1000>; |
| interrupts = <0 403 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c20_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI07>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe2 2 0x1>; |
| gpio_scl= <&gpe2 3 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI8_0 */ |
| hsi2c_21: hsi2c@108C0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x108C0000 0x1000>; |
| interrupts = <0 406 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c21_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI08>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe2 4 0x1>; |
| gpio_scl= <&gpe2 5 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI8_1 */ |
| hsi2c_22: hsi2c@108D0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x108D0000 0x1000>; |
| interrupts = <0 407 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c22_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI08>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe2 6 0x1>; |
| gpio_scl= <&gpe2 7 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI9_0 */ |
| hsi2c_23: hsi2c@108E0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x108E0000 0x1000>; |
| interrupts = <0 410 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c23_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI09>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe3 0 0x1>; |
| gpio_scl= <&gpe3 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI9_1 */ |
| hsi2c_24: hsi2c@108F0000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x108F0000 0x1000>; |
| interrupts = <0 411 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c24_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI09>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe3 2 0x1>; |
| gpio_scl= <&gpe3 3 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI10_0 */ |
| hsi2c_25: hsi2c@10900000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10900000 0x1000>; |
| interrupts = <0 414 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c25_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI10>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe3 4 0x1>; |
| gpio_scl= <&gpe3 5 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI10_1 */ |
| hsi2c_26: hsi2c@10910000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10910000 0x1000>; |
| interrupts = <0 415 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c26_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI10>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe3 6 0x1>; |
| gpio_scl= <&gpe3 7 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI11_0 */ |
| hsi2c_27: hsi2c@10920000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10920000 0x1000>; |
| interrupts = <0 418 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c27_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI11>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe4 0 0x1>; |
| gpio_scl= <&gpe4 1 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI11_1 */ |
| hsi2c_28: hsi2c@10930000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10930000 0x1000>; |
| interrupts = <0 419 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c28_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI11>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe4 2 0x1>; |
| gpio_scl= <&gpe4 3 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI12_0 */ |
| hsi2c_29: hsi2c@10940000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10940000 0x1000>; |
| interrupts = <0 422 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c29_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI12>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe4 4 0x1>; |
| gpio_scl= <&gpe4 5 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI12_1 */ |
| hsi2c_30: hsi2c@10950000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10950000 0x1000>; |
| interrupts = <0 423 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c30_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI12>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe4 6 0x1>; |
| gpio_scl= <&gpe4 7 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI13_0 */ |
| hsi2c_31: hsi2c@10960000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10960000 0x1000>; |
| interrupts = <0 426 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c31_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI13>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe5 4 0x1>; |
| gpio_scl= <&gpe5 5 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* HSI2C_USI13_1 */ |
| hsi2c_32: hsi2c@10970000 { |
| compatible = "samsung,exynos5-hsi2c"; |
| samsung,check-transdone-int; |
| reg = <0x0 0x10970000 0x1000>; |
| interrupts = <0 427 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&hsi2c32_bus>; |
| clocks = <&clock UMUX_CLKCMU_PERIC1_BUS>, <&clock GATE_USI13>; |
| clock-names = "rate_hsi2c", "gate_hsi2c"; |
| samsung,scl-clk-stretching; |
| gpio_sda= <&gpe5 6 0x1>; |
| gpio_scl= <&gpe5 7 0x1>; |
| status = "disabled"; |
| }; |
| |
| /* SPI CAM_0 */ |
| spi_0: spi@109D0000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x109D0000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 435 0>; |
| /* |
| To use DMA in SPI CAM_0, do not use DMA in SPI USI_13. |
| |
| dma-mode; |
| dmas = <&pdma0 31 1 |
| &pdma0 30 1>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_SPI_CAM0>, <&clock DOUT_CLKCMU_PERIC1_SPI_CAM0>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi0_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI CAM_1 */ |
| spi_1: spi@109E0000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x109E0000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 436 0>; |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_SPI_CAM1>, <&clock DOUT_CLKCMU_PERIC1_SPI_CAM1>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi1_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_0 */ |
| spi_2: spi@10440000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10440000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 367 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 1 0 |
| &pdma0 0 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI00>, <&clock USI00>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi2_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_1 */ |
| spi_3: spi@10460000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10460000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 371 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 3 0 |
| &pdma0 2 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI01>, <&clock USI01>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi3_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_2 */ |
| spi_4: spi@10480000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10480000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 375 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 5 0 |
| &pdma0 4 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI02>, <&clock USI02>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi4_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_3 */ |
| spi_5: spi@104A0000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x104A0000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 379 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 7 0 |
| &pdma0 6 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI03>, <&clock USI03>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi5_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_4 */ |
| spi_6: spi@10840000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10840000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 393 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 13 0 |
| &pdma0 12 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI04>, <&clock USI04>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi6_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_5 */ |
| spi_7: spi@10860000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10860000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 397 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 15 0 |
| &pdma0 14 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI05>, <&clock USI05>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi7_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_6 */ |
| spi_8: spi@10880000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10880000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 401 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 17 0 |
| &pdma0 16 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI06>, <&clock USI06>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi8_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_7 */ |
| spi_9: spi@108A0000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x108A0000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 405 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 19 0 |
| &pdma0 18 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI07>, <&clock USI07>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi9_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_8 */ |
| spi_10: spi@108C0000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x108C0000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 409 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 21 0 |
| &pdma0 20 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI08>, <&clock USI08>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi10_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_9 */ |
| spi_11: spi@108E0000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x108E0000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 413 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 23 0 |
| &pdma0 22 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI09>, <&clock USI09>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi11_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_10 */ |
| spi_12: spi@10900000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10900000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 417 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 25 0 |
| &pdma0 24 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI10>, <&clock USI10>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi12_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_11 */ |
| spi_13: spi@10920000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10920000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 421 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 27 0 |
| &pdma0 26 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI11>, <&clock USI11>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi13_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_12 */ |
| spi_14: spi@10940000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10940000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 425 0>; |
| /* |
| dma-mode; |
| dmas = <&pdma0 29 0 |
| &pdma0 28 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI12>, <&clock USI12>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi14_bus>; |
| status = "disabled"; |
| }; |
| |
| /* SPI USI_13 */ |
| spi_15: spi@10960000 { |
| compatible = "samsung,exynos-spi"; |
| reg = <0x0 0x10960000 0x100>; |
| samsung,spi-fifosize = <64>; |
| interrupts = <0 429 0>; |
| /* |
| To use DMA in SPI USI_13, do not use DMA in SPI CAM_0. |
| |
| dma-mode; |
| dmas = <&pdma0 31 0 |
| &pdma0 30 0>; |
| */ |
| dma-names = "tx", "rx"; |
| swap-mode; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock GATE_USI13>, <&clock USI13>; |
| clock-names = "spi", "spi_busclk0"; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&spi15_bus>; |
| status = "disabled"; |
| }; |
| |
| acpm { |
| compatible = "samsung,exynos-acpm"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| reg = <0x0 0x16488000 0x1000>; /* PMU_ALIVE */ |
| acpm-ipc-channel = <4>; |
| }; |
| |
| acpm_ipc { |
| compatible = "samsung,exynos-acpm-ipc"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| interrupts = <0 39 0>; |
| reg = <0x0 0x16440000 0x1000>, /* AP2APM MAILBOX */ |
| <0x0 0x16500000 0xB400>; /* APM SRAM */ |
| initdata-base = <0x2850>; |
| num-timestamps = <32>; |
| debug-log-level = <0>; |
| logging-period = <500>; |
| dump-base = <0x16500000>; |
| dump-size = <0xB400>; |
| }; |
| |
| acpm_dvfs { |
| compatible = "samsung,exynos-acpm-dvfs"; |
| acpm-ipc-channel = <5>; |
| |
| cpu_cold_temp_list = <ACPM_DVFS_MIF>, <ACPM_DVFS_INT>, |
| <ACPM_DVFS_CPUCL0>, <ACPM_DVFS_CPUCL1>, |
| <ACPM_DVFS_INTCAM>, <ACPM_DVFS_CAM>, |
| <ACPM_DVFS_DISP>; |
| gpu_cold_temp_list = <ACPM_DVFS_G3D>; |
| }; |
| |
| smc_info: mcinfo@160300000 { |
| compatible = "samsung,exynos-mcinfo"; |
| reg = <0x0 0x1603004C 0x4>, |
| <0x0 0x1613004C 0x4>, |
| <0x0 0x1623004C 0x4>, |
| <0x0 0x1633004C 0x4>; |
| bit_field = <20 4>; |
| /* start bit, width */ |
| basecnt = <4>; |
| irqcnt = <4>; |
| |
| interrupts = <0 115 0>, <0 122 0>, <0 129 0>, <0 136 0>; |
| }; |
| |
| devfreq_0: devfreq_mif@17000010 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000010 0x0>; |
| devfreq_type = "mif"; |
| devfreq_domain_name = "dvfs_mif"; |
| |
| /* Delay time */ |
| use_delay_time = "true"; |
| delay_time_list = "20"; |
| |
| freq_info = <2093000 208000 1014000 208000 2093000 2093000>; |
| /* initial_freq, default_qos, suspend_freq, min_freq, max_freq reboot_freq */ |
| |
| /* Booting value */ |
| boot_info = <40 1794000>; |
| /* boot_qos_timeout, boot_freq */ |
| |
| use_get_dev = "false"; |
| polling_ms = <0>; |
| |
| /* governor data */ |
| gov_name = "interactive"; |
| use_reg = "false"; |
| |
| use_tmu = "true"; |
| use_cl_dvfs = "false"; |
| use_sw_clk = "false"; |
| dfs_id = <ACPM_DVFS_MIF>; |
| acpm-ipc-channel = <1>; |
| use_acpm = "true"; |
| }; |
| |
| devfreq_1: devfreq_int@17000020 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000020 0x0>; |
| devfreq_type = "int"; |
| devfreq_domain_name = "dvfs_int"; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <667000 178000 107000 107000 667000 667000>; |
| /* <initial_freq, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* Booting value */ |
| boot_info = <40 667000>; |
| /* boot_qos_timeout, boot_freq */ |
| |
| /* default_dev_profile */ |
| use_get_dev = "false"; |
| polling_ms = <0>; |
| |
| /* governor data */ |
| gov_name = "interactive"; |
| use_reg = "false"; |
| |
| use_tmu = "true"; |
| use_cl_dvfs = "false"; |
| use_sw_clk = "false"; |
| dfs_id = <ACPM_DVFS_INT>; |
| acpm-ipc-channel = <1>; |
| use_acpm = "true"; |
| }; |
| |
| devfreq_2: devfreq_intcam@17000030 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000030 0x0>; |
| devfreq_type = "intcam"; |
| devfreq_domain_name = "dvfs_intcam"; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <690000 640000 690000 640000 690000 690000>; |
| /* <initial_freq, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* Booting value */ |
| boot_info = <40 690000>; |
| /* boot_qos_timeout, boot_freq */ |
| |
| /* default_dev_profile */ |
| use_get_dev = "false"; |
| polling_ms = <0>; |
| |
| /* governor data */ |
| gov_name = "interactive"; |
| use_reg = "false"; |
| |
| use_tmu = "true"; |
| use_cl_dvfs = "false"; |
| use_sw_clk = "false"; |
| dfs_id = <ACPM_DVFS_INTCAM>; |
| }; |
| |
| devfreq_3: devfreq_disp@17000040 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000040 0x0>; |
| devfreq_type = "disp"; |
| devfreq_domain_name = "dvfs_disp"; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <630000 134000 630000 134000 630000 630000>; |
| /* <initial_freq, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* Booting value */ |
| boot_info = <40 630000>; |
| /* boot_qos_timeout, boot_freq */ |
| |
| /* default dev profile */ |
| use_get_dev = "false"; |
| polling_ms = <0>; |
| |
| /* governor data */ |
| gov_name = "interactive"; |
| use_reg = "false"; |
| |
| use_tmu = "true"; |
| use_cl_dvfs = "false"; |
| use_sw_clk = "false"; |
| dfs_id = <ACPM_DVFS_DISP>; |
| }; |
| |
| devfreq_4: devfreq_cam@17000050 { |
| compatible = "samsung,exynos-devfreq"; |
| reg = <0x0 0x17000050 0x0>; |
| devfreq_type = "cam"; |
| devfreq_domain_name = "dvfs_cam"; |
| |
| /* Delay time */ |
| use_delay_time = "false"; |
| |
| freq_info = <690000 630000 690000 630000 690000 690000>; |
| /* <initial, default_qos, suspend_freq, min, max, reboot_freq> */ |
| |
| /* Booting value */ |
| boot_info = <40 690000>; |
| /* boot_qos_timeout, boot_freq */ |
| |
| /* default dev profile */ |
| use_get_dev = "false"; |
| polling_ms = <0>; |
| |
| /* governor data */ |
| gov_name = "interactive"; |
| use_reg = "false"; |
| |
| use_tmu = "true"; |
| use_cl_dvfs = "false"; |
| use_sw_clk = "false"; |
| dfs_id = <ACPM_DVFS_CAM>; |
| }; |
| |
| exynos_dm: exynos-dm@17000000 { |
| compatible = "samsung,exynos-dvfs-manager"; |
| reg = <0x0 0x17000000 0x0>; |
| acpm-ipc-channel = <1>; |
| cpufreq_cl0 { |
| dm-index = <DM_CPU_CL0>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_CPUCL0>; |
| }; |
| cpufreq_cl1 { |
| dm-index = <DM_CPU_CL1>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_CPUCL1>; |
| }; |
| devfreq_mif { |
| dm-index = <DM_MIF>; |
| available = "true"; |
| policy_use = "true"; |
| cal_id = <ACPM_DVFS_MIF>; |
| }; |
| devfreq_int { |
| dm-index = <DM_INT>; |
| available = "true"; |
| policy_use = "true"; |
| cal_id = <ACPM_DVFS_INT>; |
| }; |
| devfreq_intcam { |
| dm-index = <DM_INTCAM>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_INTCAM>; |
| }; |
| devfreq_disp { |
| dm-index = <DM_DISP>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_DISP>; |
| }; |
| devfreq_cam { |
| dm-index = <DM_CAM>; |
| available = "true"; |
| cal_id = <ACPM_DVFS_CAM>; |
| }; |
| dvfs_gpu { |
| dm-index = <DM_GPU>; |
| available = "false"; |
| cal_id = <ACPM_DVFS_G3D>; |
| }; |
| }; |
| |
| fimg2d_0: fimg2d@15100000 { |
| compatible = "samsung,s5p-fimg2d"; |
| reg = <0x0 0x13A30000 0x1000>; |
| interrupts = <0 224 0>; |
| clocks = <&clock GATE_G2D>; |
| clock-names="gate"; |
| samsung,power-domain = <&pd_g2d>; |
| iommus = <&sysmmu_g2d_0>, <&sysmmu_g2d_1>; |
| num_qos_steps = <6>; |
| g2d_qos_table { |
| g2d_qos_variant_0 { |
| freq_mif = <1014000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| }; |
| g2d_qos_variant_1 { |
| freq_mif = <1014000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| }; |
| g2d_qos_variant_2 { |
| freq_mif = <845000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| }; |
| g2d_qos_variant_3 { |
| freq_mif = <845000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| }; |
| g2d_qos_variant_4 { |
| freq_mif = <676000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| }; |
| g2d_qos_variant_5 { |
| freq_mif = <0>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| }; |
| }; |
| |
| }; |
| |
| sysmmu_g2d_0: sysmmu@13A60000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x13A60000 0x3000>; |
| interrupts = <0 215 0>, <0 216 0>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SMMU_G2DD0>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x13A80000>; |
| #iommu-cells = <0>; |
| }; |
| sysmmu_g2d_1: sysmmu@13A70000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x13A70000 0x3000>; |
| interrupts = <0 218 0>, <0 219 0>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SMMU_G2DD1>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x13A90000>; |
| #iommu-cells = <0>; |
| }; |
| |
| /* SPEEDY IP_BATCHER_AP */ |
| speedy@15B50000 { |
| compatible = "samsung,exynos-speedy"; |
| reg = <0x0 0x15B50000 0x2000>; |
| interrupts = <0 109 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| pinctrl-names = "default"; |
| pinctrl-0 = <&speedy_bus>; |
| clocks = <&clock GATE_SPEEDY_BATCHER_WRAP_BATCHER_AP>; |
| clock-names = "gate_speedy"; |
| status = "disabled"; |
| }; |
| |
| vpu: vpu@13300000 { |
| compatible = "samsung,exynos-vpu"; |
| #pb-id-cells = <4>; |
| reg = <0x0 0x133C0000 0x20000>, /* RAM0 */ |
| <0x0 0x133E0000 0x20000>, /* RAM1 */ |
| <0x0 0x13380000 0x20000>, /* CODE */ |
| <0x0 0x13300000 0x50000>; /* APB */ |
| interrupts = <0 190 0>, <0 191 0>; |
| samsung,power-domain = <&pd_vpu>; |
| |
| clocks = <&clock GATE_VPU>; |
| clock-names = "vpu"; |
| iommus = <&sysmmu_vpu>; |
| }; |
| |
| iommu-domain_vpu { |
| compatible = "samsung,exynos-iommu-bus"; |
| #dma-address-cells = <1>; |
| #dma-size-cells = <1>; |
| /* start address, size */ |
| dma-window = <0x30000000 0xA0000000>; |
| |
| domain-clients = <&vpu>; |
| }; |
| |
| sysmmu_vpu: sysmmu@13250000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x13250000 0x3000>; |
| interrupts = <0 194 0>, <0 195 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SMMU_VPU>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x13240000>; |
| sysmmu,tlb_property = |
| <(SYSMMU_PUBLIC_NO_PREFETCH | SYSMMU_BL8) SYSMMU_NOID>; |
| #iommu-cells = <0>; |
| }; |
| |
| iommu-domain_disp { |
| compatible = "samsung,exynos-iommu-bus"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| domain-clients = <&idma_g0>, <&idma_g1>, <&idma_vg0>, <&idma_vg1>, |
| <&idma_vgf0>, <&idma_vgf1>, <&odma_wb>; |
| }; |
| |
| sysmmu_dpu0: sysmmu@12900000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x12900000 0x3000>; |
| interrupts = <0 152 0>, <0 153 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SYSMMU_DPUD0>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x12930000>; |
| sysmmu,tlb_property = |
| /* 0~1 : VGR */ |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_READ | SYSMMU_BL16) SYSMMU_ID_MASK(0x100, 0x180)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_READ | SYSMMU_BL16) SYSMMU_ID_MASK(0x180, 0x180)>, |
| /* 2~3 : VGF */ |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_READ | SYSMMU_BL8) SYSMMU_ID_MASK(0x0, 0x180)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_READ | SYSMMU_BL8) SYSMMU_ID_MASK(0x80, 0x180)>; |
| #iommu-cells = <0>; |
| }; |
| sysmmu_dpu1: sysmmu@12910000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x12910000 0x3000>; |
| interrupts = <0 155 0>, <0 156 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SYSMMU_DPUD1>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x12940000>; |
| sysmmu,tlb_property = |
| /* 0 : G0 */ |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_READ | SYSMMU_BL1) SYSMMU_ID_MASK(0x0, 0x600)>, |
| /* 1~2 : VG0 */ |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_READ | SYSMMU_BL1) SYSMMU_ID_MASK(0x400, 0x600)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_READ | SYSMMU_BL1) SYSMMU_ID_MASK(0x600, 0x600)>; |
| #iommu-cells = <0>; |
| }; |
| sysmmu_dpu2: sysmmu@12920000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x12920000 0x3000>; |
| interrupts = <0 158 0>, <0 159 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SYSMMU_DPUD2>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x12950000>; |
| sysmmu,tlb_property = |
| /* 0 : G1 */ |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_READ | SYSMMU_BL1) SYSMMU_ID_MASK(0x0, 0x600)>, |
| /* 1~2 : VG1 */ |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_READ | SYSMMU_BL1) SYSMMU_ID_MASK(0x400, 0x600)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_READ | SYSMMU_BL1) SYSMMU_ID_MASK(0x600, 0x600)>, |
| /* 3~4 : WB */ |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_WRITE | SYSMMU_BL1) SYSMMU_ID_MASK(0x0, 0x100)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_PREDICTION_WRITE | SYSMMU_BL1) SYSMMU_ID_MASK(0x100, 0x100)>; |
| #iommu-cells = <0>; |
| }; |
| |
| idma_g0: dpp@0x12851000{ |
| compatible = "samsung,exynos8-dpp"; |
| #pb-id-cells = <3>; |
| reg = <0x0 0x12851000 0x1000>, <0x0 0x128B1000 0x1000>, <0x0 0x128B0000 0x100>; |
| interrupts = <0 183 0>, <0 179 0>; |
| iommus = <&sysmmu_dpu1>; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu0>; |
| }; |
| |
| idma_g1: dpp@0x12852000{ |
| compatible = "samsung,exynos8-dpp"; |
| #pb-id-cells = <6>; |
| reg = <0x0 0x12852000 0x1000>, <0x0 0x128B2000 0x1000>, <0x0 0x128B0000 0x100>; |
| interrupts = <0 184 0>, <0 181 0>; |
| iommus = <&sysmmu_dpu2>; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu0>; |
| }; |
| |
| idma_vg0: dpp@0x12853000{ |
| compatible = "samsung,exynos8-dpp"; |
| #pb-id-cells = <3>; |
| reg = <0x0 0x12853000 0x1000>, <0x0 0x128B3000 0x1000>, <0x0 0x128B0000 0x100>; |
| interrupts = <0 185 0>, <0 180 0>; |
| iommus = <&sysmmu_dpu1>; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu0>; |
| }; |
| |
| idma_vg1: dpp@0x12854000{ |
| compatible = "samsung,exynos8-dpp"; |
| #pb-id-cells = <3>; |
| reg = <0x0 0x12854000 0x1000>, <0x0 0x128B4000 0x1000>, <0x0 0x128B0000 0x100>; |
| interrupts = <0 186 0>, <0 182 0>; |
| iommus = <&sysmmu_dpu2>; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu0>; |
| }; |
| |
| idma_vgf0: dpp@0x12855000{ |
| compatible = "samsung,exynos8-dpp"; |
| #pb-id-cells = <3>; |
| reg = <0x0 0x12855000 0x1000>, <0x0 0x128B5000 0x1000>, <0x0 0x128B0000 0x100>; |
| interrupts = <0 188 0>, <0 177 0>; |
| iommus = <&sysmmu_dpu0>; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu0>; |
| }; |
| |
| idma_vgf1: dpp@0x12856000{ |
| compatible = "samsung,exynos8-dpp"; |
| #pb-id-cells = <3>; |
| reg = <0x0 0x12856000 0x1000>, <0x0 0x128B6000 0x1000>, <0x0 0x128B0000 0x100>; |
| interrupts = <0 187 0>, <0 178 0>; |
| iommus = <&sysmmu_dpu0>; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu0>; |
| }; |
| |
| odma_wb: dpp@0x12890000{ |
| compatible = "samsung,exynos8-dpp"; |
| #pb-id-cells = <3>; |
| reg = <0x0 0x12890000 0x1000>, <0x0 0x128B7000 0x1000>, <0x0 0x128B0000 0x100>; |
| interrupts = <0 189 0>; |
| iommus = <&sysmmu_dpu2>; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu0>; |
| }; |
| |
| ion { |
| compatible = "samsung,exynos5430-ion"; |
| }; |
| |
| disp_ss: disp_ss@0x12820000 { |
| compatible = "samsung,exynos8-disp_ss"; |
| reg = <0x0 0x12821000 0x10>; |
| }; |
| |
| disp_ver: disp_ver@0x10000010 { |
| compatible = "samsung,exynos8-disp-ver"; |
| reg = <0x0 0x10000010 0x4>; |
| }; |
| |
| mipi_phy_dsim: phy_m4s4_dsi@0x12821008 { |
| compatible = "samsung,mipi-phy-m4s4-mod"; |
| samsung,pmu-syscon = <&pmu_system_controller>; |
| isolation = <0x710>; |
| /* PHY reset be controlled from DSIM */ |
| /* reg = <0x0 0x12821008 0x4>; */ |
| /* reset = <0 1>; */ |
| /* init = <4 5>; */ /* PHY reset control path bit of SYSREG */ |
| owner = <0>; /* 0: DSI, 1: CSI */ |
| #phy-cells = <1>; |
| }; |
| |
| dsim_0: dsim@0x12870000 { |
| compatible = "samsung,exynos8-dsim"; |
| reg = <0x0 0x12870000 0x100>; |
| interrupts = <0 150 0>; |
| |
| phys = <&mipi_phy_dsim 0>; |
| phy-names = "dsim_dphy"; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu1>; |
| }; |
| |
| displayport_phy: displayport_phy@11090904 { |
| compatible = "samsung,displayport-phy"; |
| samsung,pmu-syscon = <&pmu_system_controller>; |
| isolation = <0x072C>; |
| #phy-cells = <1>; |
| }; |
| |
| displayport: displayport@0x11090000 { |
| compatible = "samsung,exynos-displayport"; |
| reg = <0x0 0x11090000 0xFFFF>; |
| interrupts = <0 340 0>; |
| |
| phys = <&displayport_phy 1>; |
| phy-names = "displayport_phy"; |
| }; |
| |
| displayport_adma: displayport_adma@0x15A40000 { |
| compatible = "samsung,displayport-adma"; |
| reg = <0x0 0x15A40000 0x1000>; |
| interrupt = <0 107 0>; |
| clocks = <&clock GATE_PDMA0>; |
| clock-names = "apb_pclk"; |
| |
| /* dma-mode; */ |
| dmas = <&pdma0 9 0>; |
| dma-names = "tx"; |
| }; |
| |
| decon_f: decon_f@0x12860000 { |
| compatible = "samsung,exynos8-decon"; |
| #pb-id-cells = <4>; |
| reg = <0x0 0x12860000 0x10000>; |
| |
| /* interrupt num */ |
| interrupts = <0 142 0>, <0 143 0>, <0 144 0>, <0 149 0>, <0 430 0>, |
| <0 145 0>, <0 146 0>, <0 147 0>, <0 148 0>; |
| |
| /* clock */ |
| clock-names = "aclk"; |
| clocks = <&clock GATE_DECON0>; |
| |
| /* pinctrl */ |
| pinctrl-names = "hw_te_on", "hw_te_off"; |
| pinctrl-0 = <&decon_f_te_on>; |
| pinctrl-1 = <&decon_f_te_off>; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu0>; |
| |
| max_win = <6>; |
| default_win = <5>; |
| default_idma = <0>; |
| psr_mode = <2>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */ |
| trig_mode = <0>; /* 0: hw trigger, 1: sw trigger */ |
| dsi_mode = <0>; /* 0: single dsi, 1: dual dsi */ |
| |
| /* 0: DSI, 1: eDP, 2:HDMI, 3: WB */ |
| out_type = <0>; |
| /* 0: DSI0, 1: DSI1, 2: DSI2 */ |
| out_idx = <0>; |
| |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| /* EINT for TE */ |
| gpios = <&gpb0 1 0xf>; |
| /* sw te pending register */ |
| te_eint { |
| /* NWEINT_GPB0_PEND (GPB0_0:TE_T, GPB0_1:TE_F, GPB0_2:TE_S) */ |
| reg = <0x0 0x10980a00 0x4>; |
| }; |
| |
| cam-stat { |
| reg = <0x0 0x16484024 0x4>; |
| }; |
| }; |
| |
| decon_t: decon_t@0x12A40000 { |
| compatible = "samsung,exynos8-decon"; |
| #pb-id-cells = <4>; |
| reg = <0x0 0x12A40000 0x1000>; |
| |
| /* interrupt num */ |
| interrupts = <0 171 0>, <0 172 0>, <0 173 0>, <0 174 0>, <0 175 0>; |
| |
| /* clock */ |
| clock-names = "aclk", "busd", "busp"; |
| clocks = <&clock GATE_DECON0>, <&clock UMUX_CLKCMU_DPU1_BUSD>, |
| <&clock UMUX_CLKCMU_DPU1_BUSP>; |
| |
| /* power domain */ |
| samsung,power-domain = <&pd_dpu1>; |
| |
| max_win = <5>; |
| default_win = <3>; |
| default_idma = <2>; |
| psr_mode = <2>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */ |
| trig_mode = <1>; /* 0: hw trigger, 1: sw trigger */ |
| dsi_mode = <0>; /* 0: single dsi, 1: dual dsi */ |
| |
| /* 0: DSI, 1: eDP, 2:DP, 3: WB */ |
| out_type = <3>; |
| /* 0: DSI0, 1: DSI1, 2: DSI2 */ |
| out_idx = <0>; |
| |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| }; |
| |
| smfc: smfc@13B00000 { |
| compatible = "samsung,exynos8890-jpeg"; |
| dma-coherent; |
| reg = <0x0 0x13B00000 0x1000>; |
| interrupts = <0 225 0>; |
| clocks = <&clock GATE_JPEG>; |
| clock-names = "gate"; |
| iommus = <&sysmmu_g2d_2>; |
| samsung,power-domain = <&pd_g2d>; |
| }; |
| |
| exynos_adc: adc@15B70000 { |
| compatible = "samsung,exynos-adc-v3"; |
| reg = <0x0 0x15B70000 0x100>; |
| interrupts = <0 104 0>; |
| #io-channel-cells = <1>; |
| io-channel-ranges; |
| clocks = <&clock GATE_ADCIF_BUSC_S0>; |
| clock-names = "gate_adcif"; |
| }; |
| |
| scaler_0: scaler@0x13B10000 { |
| compatible = "samsung,exynos5-scaler"; |
| dma-coherent; |
| reg = <0x0 0x13B10000 0x1300>; |
| interrupts = <0 226 0>; |
| clocks = <&clock GATE_M2MSCALER>; |
| clock-names = "gate"; |
| iommus = <&sysmmu_g2d_2>; |
| samsung,power-domain = <&pd_g2d>; |
| }; |
| |
| ima: ima@0x1C000000 { |
| compatible = "samsung,exynos-ima"; |
| reg = <0x0 0x13780000 0x80000>, /* CPU path */ |
| <0x0 0x1C000000 0x80000>, /* DMA path */ |
| <0x0 0x13520000 0x2000>, /* Sysreg */ |
| <0x0 0x136D0000 0x1000>; /* Pre-register */ |
| clocks = <&clock GATE_IVA_INTMEM>; |
| clock-names = "gate"; |
| samsung,power-domain = <&pd_iva>; |
| }; |
| |
| iommu-domain_g2d { |
| compatible = "samsung,exynos-iommu-bus"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| domain-clients = <&fimg2d_0>; |
| }; |
| |
| iommu-domain_smfc_scaler { |
| compatible = "samsung,exynos-iommu-bus"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| domain-clients = <&smfc>, <&scaler_0>; |
| }; |
| |
| sysmmu_g2d_2: sysmmu@13B50000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x13B50000 0x3000>; |
| interrupts = <0 221 0>, <0 222 0>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SMMU_G2DD2>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x13B60000>; |
| sysmmu,tlb_property = |
| /* 0~5 : M2MScaler */ |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_READ | SYSMMU_BL32) SYSMMU_ID(0x1)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_READ | SYSMMU_BL32) SYSMMU_ID(0x3)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_READ | SYSMMU_BL32) SYSMMU_ID(0x5)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_WRITE | SYSMMU_BL32) SYSMMU_ID(0x11)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_WRITE | SYSMMU_BL32) SYSMMU_ID(0x13)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_WRITE | SYSMMU_BL32) SYSMMU_ID(0x15)>, |
| /* 6~9 : SMFC */ |
| <(SYSMMU_PRIV_ADDR_NO_PREFETCH_READWRITE | SYSMMU_BL32) SYSMMU_NOID>, |
| <(SYSMMU_PRIV_ADDR_NO_PREFETCH_READWRITE | SYSMMU_BL32) SYSMMU_NOID>, |
| <(SYSMMU_PRIV_ADDR_NO_PREFETCH_READWRITE | SYSMMU_BL32) SYSMMU_NOID>, |
| <(SYSMMU_PRIV_ADDR_NO_PREFETCH_WRITE | SYSMMU_BL32) SYSMMU_NOID>; |
| #iommu-cells = <0>; |
| }; |
| |
| watchdog@10060000 { |
| compatible = "samsung,exynos8-wdt"; |
| reg = <0x0 0x10060000 0x100>; |
| interrupts = <0 454 0>; |
| clocks = <&clock OSCCLK>, <&clock UMUX_CLKCMU_PERIS_BUS>; |
| clock-names = "rate_watchdog", "gate_watchdog"; |
| timeout-sec = <30>; |
| samsung,syscon-phandle = <&pmu_system_controller>; |
| }; |
| |
| rtc@16490000 { |
| compatible = "samsung,exynos8-rtc"; |
| reg = <0x0 0x10070000 0x100>; |
| interrupts = <0 79 0>, <0 78 0>; |
| }; |
| |
| dwmmc_2: dwmmc2@11500000 { |
| compatible = "samsung,exynos-dw-mshc"; |
| reg = <0x0 0x11500000 0x2000>; |
| interrupts = <0 341 0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| clocks = <&clock MMC_CARD>, <&clock GATE_MMC_CARD>; |
| clock-names = "ciu", "ciu_gate"; |
| status = "disabled"; |
| }; |
| |
| sec_pwm: pwm@104c0000 { |
| compatible = "samsung,s3c6400-pwm"; |
| reg = <0x0 0x104c0000 0x1000>; |
| samsung,pwm-outputs = <0>, <1>, <2>, <3>, <4>; |
| #pwm-cells = <3>; |
| clocks = <&clock UMUX_CLKCMU_PERIC0_BUS>, |
| <&clock_pwm 1>, <&clock_pwm 2>, |
| <&clock_pwm 5>, <&clock_pwm 6>, |
| <&clock_pwm 7>, <&clock_pwm 8>, |
| <&clock_pwm 10>, <&clock_pwm 11>, |
| <&clock_pwm 12>, <&clock_pwm 13>; |
| clock-names = "gate_timers", |
| "pwm-scaler0", "pwm-scaler1", |
| "pwm-tdiv0", "pwm-tdiv1", |
| "pwm-tdiv2", "pwm-tdiv3", |
| "pwm-tin0", "pwm-tin1", |
| "pwm-tin2", "pwm-tin3"; |
| status = "ok"; |
| }; |
| |
| clock_pwm: pwm-clock-controller@104c0000 { |
| compatible = "samsung,exynos-pwm-clock"; |
| reg = <0x0 0x104c0000 0x50>; |
| #clock-cells = <1>; |
| }; |
| |
| coresight@17000000 { |
| compatible = "exynos,coresight"; |
| base = <0x17000000>; |
| |
| /* coresight component count */ |
| funnel-num = <3>; |
| etf-num = <2>; |
| |
| cl0_cpu0@400000 { |
| device_type = "cs"; |
| etm-offset = <0x440000>; |
| funnel-port = <0 0>; |
| }; |
| cl0_cpu1@500000 { |
| device_type = "cs"; |
| etm-offset = <0x540000>; |
| funnel-port = <0 1>; |
| }; |
| cl0_cpu2@600000 { |
| device_type = "cs"; |
| etm-offset = <0x640000>; |
| funnel-port = <0 2>; |
| }; |
| cl0_cpu3@700000 { |
| device_type = "cs"; |
| etm-offset = <0x740000>; |
| funnel-port = <0 3>; |
| }; |
| cl1_cpu0@800000 { |
| device_type = "cs"; |
| etm-offset = <0x840000>; |
| funnel-port = <1 0>; |
| }; |
| cl1_cpu1@900000 { |
| device_type = "cs"; |
| etm-offset = <0x940000>; |
| funnel-port = <1 1>; |
| }; |
| cl1_cpu2@A00000 { |
| device_type = "cs"; |
| etm-offset = <0xA40000>; |
| funnel-port = <1 2>; |
| }; |
| cl1_cpu3@B00000 { |
| device_type = "cs"; |
| etm-offset = <0xB40000>; |
| funnel-port = <1 3>; |
| }; |
| |
| cs_etf0: cs_etf0@C000 { |
| device_type = "etf"; |
| offset = <0x4000>; |
| funnel-port = <2 0>; |
| }; |
| cs_etf1: cs_etf1@5000 { |
| device_type = "etf"; |
| offset = <0x5000>; |
| funnel-port = <2 1>; |
| }; |
| cs_funnel0@4000 { |
| device_type = "funnel"; |
| offset = <0x7000>; |
| }; |
| cs_funnel1@9000 { |
| device_type = "funnel"; |
| offset = <0x8000>; |
| }; |
| cs_funnelm2@9000 { |
| device_type = "funnel"; |
| offset = <0x9000>; |
| }; |
| cs_etr@B000 { |
| device_type = "etr"; |
| offset = <0xA000>; |
| }; |
| }; |
| |
| udc: usb@10C00000 { |
| compatible = "samsung,exynos8895-dwusb3"; |
| clocks = <&clock GATE_USBTV_USB30DRD_LINK>, <&clock USBDRD30>; |
| clock-names = "aclk", "sclk"; |
| reg = <0x0 0x10C00000 0x10000>; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| status = "disabled"; |
| |
| usbdrd_dwc3: dwc3 { |
| compatible = "synopsys,dwc3"; |
| reg = <0x0 0x10C00000 0x10000>; |
| interrupts = <0 337 0>; |
| is_not_vbus_pad; |
| suspend_clk_freq = <66000000>; |
| enable_sprs_transfer; |
| phys = <&usbdrd_phy0 0>, <&usbdrd_phy0 1>; |
| phy-names = "usb2-phy", "usb3-phy"; |
| }; |
| }; |
| |
| usbdrd_phy0: phy@10E00000 { |
| compatible = "samsung,exynos8895-usbdrd-phy"; |
| reg = <0x0 0x10E00000 0x100>, |
| <0x0 0x10E10000 0x100>; |
| clocks = <&clock OSCCLK>, <&clock GATE_USBTV_USB30DRD_LINK>; |
| clock-names = "ext_xtal", "aclk"; |
| samsung,pmu-syscon = <&pmu_system_controller>; |
| is_not_vbus_pad; |
| status = "disabled"; |
| #phy-cells = <1>; |
| ranges; |
| }; |
| |
| iommu-domain_aud { |
| compatible = "samsung,exynos-iommu-bus"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| domain-clients = <&abox>; |
| }; |
| |
| sysmmu_aud0: sysmmu@13E30000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x13E30000 0x3000>; |
| interrupts = <0 445 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SMMU_ABOX>; |
| sysmmu,no-suspend; |
| sysmmu,tlb_property = |
| <(SYSMMU_PUBLIC_NO_PREFETCH | SYSMMU_BL1) SYSMMU_NOID>; |
| #iommu-cells = <0>; |
| }; |
| |
| abox_gic: abox_gic@0x13EF0000 { |
| compatible = "samsung,abox_gic"; |
| reg = <0x0 0x13EF1000 0x1000>, <0x0 0x13EF2000 0x1004>; |
| reg-names = "gicd", "gicc"; |
| interrupts = <0 442 0>; |
| }; |
| |
| abox: abox@0x13E50000 { |
| compatible = "samsung,abox"; |
| reg = <0x0 0x13E50000 0x10000>, <0x0 0x13E20000 0x10000>, <0x0 0x13F00000 0x31000>; |
| reg-names = "sfr", "sysreg", "sram"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| pinctrl-names = "default", "idle"; |
| pinctrl-0 = <&aud_codec_mclk &aud_codec_bus &aud_spk_bus |
| &aud_fm_bus &aud_bt_bus &aud_cdma_bus>; |
| pinctrl-1 = <&aud_codec_mclk_idle &aud_codec_bus_idle &aud_spk_bus_idle |
| &aud_fm_bus_idle &aud_bt_bus_idle &aud_cdma_bus_idle>; |
| samsung,power-domain = <&pd_abox>; |
| ipc_tx_offset = <0x30000>; |
| ipc_rx_offset = <0x30300>; |
| ipc_tx_ack_offset = <0x302FC>; |
| ipc_rx_ack_offset = <0x305FC>; |
| mailbox_offset = <0x30600>; |
| abox_gic = <&abox_gic>; |
| vts = <&vts>; |
| clocks = <&clock PLL_OUT_AUD>, <&clock DFS_ABOX>, <&clock DOUT_CLK_ABOX_AUDIF>, |
| <&clock DOUT_CLK_ABOX_UAIF0>, <&clock DOUT_CLK_ABOX_UAIF1>, |
| <&clock DOUT_CLK_ABOX_UAIF2>, <&clock DOUT_CLK_ABOX_UAIF3>, |
| <&clock DOUT_CLK_ABOX_UAIF4>, <&clock DOUT_CLK_ABOX_DSIF>, |
| <&clock DOUT_CLK_ABOX_DMIC>, <&clock GATE_UAIF0>, |
| <&clock GATE_UAIF1>, <&clock GATE_UAIF2>, |
| <&clock GATE_UAIF3>, <&clock GATE_UAIF4>, |
| <&clock GATE_DSIF>; |
| clock-names = "pll", "ca7", "audif", |
| "bclk0", "bclk1", |
| "bclk2", "bclk3", |
| "bclk4", "bclk5", |
| "dmic", "bclk0_gate", |
| "bclk1_gate", "bclk2_gate", |
| "bclk3_gate", "bclk4_gate", |
| "bclk5_gate"; |
| iommus = <&sysmmu_aud0>; |
| pm_qos_int = <533000 400000 0 0 0>; |
| |
| abox_rdma_0: abox_rdma@0x13E51000 { |
| compatible = "samsung,abox-rdma"; |
| reg = <0x0 0x13E51000 0x100>; |
| abox = <&abox>; |
| id = <0>; |
| type = "normal"; |
| }; |
| |
| abox_rdma_1: abox_rdma@0x13E51100 { |
| compatible = "samsung,abox-rdma"; |
| reg = <0x0 0x13E51100 0x100>; |
| abox = <&abox>; |
| id = <1>; |
| type = "normal"; |
| }; |
| |
| abox_rdma_2: abox_rdma@0x13E51200 { |
| compatible = "samsung,abox-rdma"; |
| reg = <0x0 0x13E51200 0x100>; |
| abox = <&abox>; |
| id = <2>; |
| type = "normal"; |
| }; |
| |
| abox_rdma_3: abox_rdma@0x13E51300 { |
| compatible = "samsung,abox-rdma"; |
| reg = <0x0 0x13E51300 0x100>; |
| abox = <&abox>; |
| id = <3>; |
| type = "normal"; |
| }; |
| |
| abox_rdma_4: abox_rdma@0x13E51400 { |
| compatible = "samsung,abox-rdma"; |
| reg = <0x0 0x13E51400 0x100>; |
| abox = <&abox>; |
| id = <4>; |
| type = "call"; |
| }; |
| |
| abox_rdma_5: abox_rdma@0x13E51500 { |
| compatible = "samsung,abox-rdma"; |
| reg = <0x0 0x13E51500 0x100>; |
| abox = <&abox>; |
| id = <5>; |
| type = "compress"; |
| }; |
| |
| abox_rdma_6: abox_rdma@0x13E51600 { |
| compatible = "samsung,abox-rdma"; |
| reg = <0x0 0x13E51600 0x100>; |
| abox = <&abox>; |
| id = <6>; |
| type = "realtime"; |
| }; |
| |
| abox_rdma_7: abox_rdma@0x13E51700 { |
| compatible = "samsung,abox-rdma"; |
| reg = <0x0 0x13E51700 0x100>; |
| abox = <&abox>; |
| id = <7>; |
| type = "realtime"; |
| }; |
| |
| abox_wdma_0: abox_wdma@0x13E52000 { |
| compatible = "samsung,abox-wdma"; |
| reg = <0x0 0x13E52000 0x100>; |
| abox = <&abox>; |
| id = <0>; |
| type = "normal"; |
| }; |
| |
| abox_wdma_1: abox_wdma@0x13E52100 { |
| compatible = "samsung,abox-wdma"; |
| reg = <0x0 0x13E52100 0x100>; |
| abox = <&abox>; |
| id = <1>; |
| type = "normal"; |
| }; |
| |
| abox_wdma_2: abox_wdma@0x13E52200 { |
| compatible = "samsung,abox-wdma"; |
| reg = <0x0 0x13E52200 0x100>; |
| abox = <&abox>; |
| id = <2>; |
| type = "call"; |
| }; |
| |
| abox_wdma_3: abox_wdma@0x13E52300 { |
| compatible = "samsung,abox-wdma"; |
| reg = <0x0 0x13E52300 0x100>; |
| abox = <&abox>; |
| id = <3>; |
| type = "realtime"; |
| }; |
| |
| abox_wdma_4: abox_wdma@0x13E52400 { |
| compatible = "samsung,abox-wdma"; |
| reg = <0x0 0x13E52400 0x100>; |
| abox = <&abox>; |
| id = <4>; |
| type = "vi-sensing"; |
| }; |
| |
| abox_effect: abox_effect@0x13F2E000 { |
| compatible = "samsung,abox-effect"; |
| reg = <0x0 0x13F2E000 0x1000>; |
| reg-names = "reg"; |
| abox = <&abox>; |
| }; |
| |
| ext_bin_0: ext_bin@0 { |
| status = "okay"; |
| samsung,name = "dsm.bin"; |
| samsung,area = <1>; /* 0:SRAM, 1:DRAM, 2:VSS */ |
| samsung,offset = <0x502000>; |
| }; |
| ext_bin_1: ext_bin@1 { |
| status = "okay"; |
| samsung,name = "AP_AUDIO_SLSI.bin"; |
| samsung,area = <1>; |
| samsung,offset = <0x7F4000>; |
| }; |
| ext_bin_2: ext_bin@2 { |
| status = "okay"; |
| samsung,name = "APBargeIn_AUDIO_SLSI.bin"; |
| samsung,area = <1>; |
| samsung,offset = <0x7F1000>; |
| }; |
| ext_bin_3: ext_bin@3 { |
| status = "okay"; |
| samsung,name = "SoundBoosterParam.bin"; |
| samsung,area = <1>; |
| samsung,offset = <0x4FC000>; |
| }; |
| ext_bin_4: ext_bin@4 { |
| status = "disabled"; |
| samsung,name = "dummy.bin"; |
| samsung,area = <1>; |
| samsung,offset = <0x800000>; |
| }; |
| ext_bin_5: ext_bin@5 { |
| status = "disabled"; |
| samsung,name = "dummy.bin"; |
| samsung,area = <1>; |
| samsung,offset = <0x800000>; |
| }; |
| ext_bin_6: ext_bin@6 { |
| status = "disabled"; |
| samsung,name = "dummy.bin"; |
| samsung,area = <1>; |
| samsung,offset = <0x800000>; |
| }; |
| ext_bin_7: ext_bin@7 { |
| status = "disabled"; |
| samsung,name = "dummy.bin"; |
| samsung,area = <1>; |
| samsung,offset = <0x800000>; |
| }; |
| }; |
| |
| mailbox_vts: mailbox@0x14040000 { |
| compatible = "samsung,mailbox-asoc"; |
| reg = <0x0 0x14040000 0x10000>; |
| reg-names = "sfr"; |
| interrupts = <0 23 0>; |
| interrupt-controller; |
| #interrupt-cells = <1>; |
| }; |
| |
| vts: vts@0x14020000 { |
| compatible = "samsung,vts"; |
| reg = <0x0 0x14020000 0x10000>, <0x0 0x14100000 0x59800>, <0x0 0x14070000 0x8>; |
| reg-names = "sfr", "sram", "dmic"; |
| pinctrl-names = "dmic_default", "amic_default", "idle"; |
| pinctrl-0 = <&dmic_bus_clk &dmic_pdm>; |
| pinctrl-1 = <&amic_bus_clk &amic_pdm>; |
| pinctrl-2 = <&mic_bus_clk_idle &dmic_pdm_idle &amic_pdm_idle>; |
| samsung,power-domain = <&pd_vts>; |
| clocks = <&clock GATE_OSC_VTS>, <&clock DOUT_CLK_VTS_DMIC>, |
| <&clock DOUT_CLK_VTS_DMICIF>, <&clock DOUT_CLK_VTS_DMIC_DIV2>; |
| clock-names = "rco", "dmic", "dmic_if", "dmic_sync"; |
| mailbox = <&mailbox_vts>; |
| interrupt-parent = <&mailbox_vts>; |
| interrupts = <0>, <1>, <2>, <3>, <4>, <5>; |
| interrupt-names = "error", "boot_completed", "ipc_received", "voice_triggered", "trigger_period_elapsed", "record_period_elapsed"; |
| }; |
| |
| vts_dma0: vts_dma0 { |
| compatible = "samsung,vts-dma"; |
| vts = <&vts>; |
| id = <0>; |
| type = "vts-trigger"; |
| }; |
| |
| vts_dma1: vts_dma1 { |
| compatible = "samsung,vts-dma"; |
| vts = <&vts>; |
| id = <1>; |
| type = "vts-record"; |
| }; |
| |
| pcie0@116A0000 { |
| compatible = "samsung,exynos-pcie"; |
| gpios = <&gpj1 2 0x1 /* PERST */>; |
| reg = <0x0 0x116A0000 0x1000 /* elbi base */ |
| 0x0 0x116D0000 0x1000 /* phy base */ |
| 0x0 0x11421044 0x30 /* sysreg base */ |
| 0x0 0x11700000 0x1000 /* DBI base */ |
| 0x0 0x116C0000 0x1FC /* phy pcs base */ |
| 0x0 0x11BFF000 0x1000>; /* configuration space */ |
| reg-names = "elbi", "phy", "sysreg", "dbi", "pcs", "config"; |
| interrupts = <0 345 0>; /* IRQ_PULSE */ |
| samsung,syscon-phandle = <&pmu_system_controller>; |
| samsung,sysreg-phandle = <&sysreg_fsys1_controller>; |
| pinctrl-names = "default", "clkreq_output"; |
| pinctrl-0 = <&pcie0_clkreq &pcie0_perst &cfg_wlanen>; |
| pinctrl-1 = <&pcie0_clkreq_output &pcie0_perst>; |
| #address-cells = <3>; |
| #size-cells = <2>; |
| device_type = "pci"; |
| ranges = <0x82000000 0 0x11800000 0 0x11800000 0 0x400000>; /* non-prefetchable memory */ |
| #interrupt-cells = <1>; |
| interrupt-map-mask = <0 0 0 0>; |
| interrupt-map = <0 0 0 0 &gic 0 345 0x4>; |
| ip-ver = <0x889500>; |
| num-lanes = <1>; |
| msi-base = <200>; |
| ch-num = <0>; |
| pcie-clk-num = <0>; |
| phy-clk-num = <0>; |
| pcie-irq-toe-enable = <0>; |
| pcie-irq-toe-num = <10>; |
| pcie-irq-msi-cp-enable = <0>; |
| pcie-irq-msi-cp-base-bit = <16>; |
| pcie-irq-msi-cp-num = <4>; |
| pcie-pm-qos-int = <0>; |
| use-cache-coherency = "true"; |
| use-msi = "false"; |
| use-sicd = "true"; |
| status = "disabled"; |
| }; |
| |
| pcie1@116B0000 { |
| compatible = "samsung,exynos8895-pcie"; |
| gpios = <&gpj1 6 0x1 /* PERST */>; |
| reg = <0x0 0x116B0000 0x1000 /* elbi base */ |
| 0x0 0x116D0000 0x1000 /* phy base */ |
| 0x0 0x15601044 0x30 /* sysreg base */ |
| 0x0 0x11710000 0x1000 /* DBI base */ |
| 0x0 0x116C0000 0x1FC /* phy pcs base */ |
| 0x0 0x11C00000 0x1000>; /* configuration space */ |
| reg-names = "elbi", "phy", "sysreg", "dbi", "pcs", "config"; |
| interrupts = <0 346 0>; /* IRQ_PULSE */ |
| clocks = <&clock 770>; |
| clock-names = "gate_pciewifi1"; |
| samsung,syscon-phandle = <&pmu_system_controller>; |
| pinctrl-names = "default", "clkreq_output"; |
| pinctrl-0 = <&pcie1_clkreq &pcie1_perst>; |
| pinctrl-1 = <&pcie1_clkreq_output &pcie1_perst>; |
| #address-cells = <3>; |
| #size-cells = <2>; |
| device_type = "pci"; |
| ranges = <0x81000000 0 0 0 0x11C01000 0 0x00010000 /* downstream I/O */ |
| 0x82000000 0 0x11C11000 0 0x11C11000 0 0x3EEFFF>; /* non-prefetchable memory */ |
| #interrupt-cells = <1>; |
| interrupt-map-mask = <0 0 0 0>; |
| interrupt-map = <0 0 0 0 &gic 0 346 0x4>; |
| ip-ver = <0x889500>; |
| num-lanes = <1>; |
| msi-base = <200>; |
| ch-num = <1>; |
| pcie-clk-num = <1>; |
| phy-clk-num = <0>; |
| pcie-pm-qos-int = <0>; |
| use-cache-coherency = "true"; |
| use-msi = "false"; |
| use-sicd = "true"; |
| status = "disabled"; |
| }; |
| |
| /* Secure log */ |
| seclog { |
| compatible = "samsung,exynos-seclog"; |
| interrupts = <0 68 0>; |
| }; |
| |
| /* Secure RPMB */ |
| ufs-srpmb { |
| compatible = "samsung,ufs-srpmb"; |
| interrupts = <0 69 0>; |
| }; |
| |
| /* tbase */ |
| tee { |
| compatible = "samsung,exynos-tee"; |
| interrupts = <0 233 0>; |
| }; |
| |
| fips-fmp { |
| compatible = "samsung,exynos-fips-fmp"; |
| }; |
| |
| mfc_0: mfc0@13CE0000 { |
| compatible = "samsung,mfc-v6"; |
| reg = <0x0 0x13CE0000 0x10000>; |
| interrupts = <0 208 0>; |
| clock-names = "aclk_mfc"; |
| clocks = <&clock GATE_MFC>; |
| iommus = <&sysmmu_mfc0_0>, <&sysmmu_mfc0_1>; |
| samsung,power-domain = <&pd_mfc>; |
| status = "ok"; |
| ip_ver = <15>; |
| clock_rate = <400000000>; |
| min_rate = <100000>; |
| num_qos_steps = <7>; |
| max_mb = <4757298>; |
| mfc_qos_table { |
| mfc_qos_variant_0 { |
| thrd_mb = <0>; |
| freq_mfc = <89000>; |
| freq_int = <107000>; |
| freq_mif = <286000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| mo_value = <0>; |
| time_fw = <1064>; |
| }; |
| mfc_qos_variant_1 { |
| thrd_mb = <260958>; |
| freq_mfc = <267000>; |
| freq_int = <267000>; |
| freq_mif = <421000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| mo_value = <0>; |
| time_fw = <447>; |
| }; |
| mfc_qos_variant_2 { |
| thrd_mb = <544847>; |
| freq_mfc = <267000>; |
| freq_int = <267000>; |
| freq_mif = <421000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| mo_value = <0>; |
| time_fw = <447>; |
| }; |
| mfc_qos_variant_3 { |
| thrd_mb = <1184955>; |
| freq_mfc = <400000>; |
| freq_int = <400000>; |
| freq_mif = <676000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| mo_value = <0>; |
| time_fw = <304>; |
| }; |
| mfc_qos_variant_4 { |
| thrd_mb = <1905849>; |
| freq_mfc = <667000>; |
| freq_int = <533000>; |
| freq_mif = <1014000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| mo_value = <0>; |
| time_fw = <211>; |
| }; |
| mfc_qos_variant_5 { |
| thrd_mb = <2733973>; |
| freq_mfc = <666000>; |
| freq_int = <533000>; |
| freq_mif = <1014000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| mo_value = <1>; |
| time_fw = <211>; |
| }; |
| mfc_qos_variant_6 { |
| thrd_mb = <3272690>; |
| freq_mfc = <666000>; |
| freq_int = <533000>; |
| freq_mif = <1794000>; |
| freq_cpu = <0>; |
| freq_kfc = <0>; |
| mo_value = <1>; |
| time_fw = <171>; |
| }; |
| }; |
| }; |
| |
| iommu-domain_mfc { |
| compatible = "samsung,exynos-iommu-bus"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| domain-clients = <&mfc_0>; |
| }; |
| |
| sysmmu_mfc0_0: sysmmu@0x13c80000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x13c80000 0x3000>; |
| interrupts = <0 198 0>, <0 199 0>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SMMU_MFCD0>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x13C90000>; |
| sysmmu,tlb_property = |
| <(SYSMMU_PUBLIC_NO_PREFETCH | SYSMMU_BL4) SYSMMU_NOID>; |
| #iommu-cells = <0>; |
| }; |
| |
| sysmmu_mfc0_1: sysmmu@0x13ca0000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x13ca0000 0x3000>; |
| interrupts = <0 201 0>, <0 202 0>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SMMU_MFCD1>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x13CB0000>; |
| sysmmu,tlb_property = |
| <(SYSMMU_PUBLIC_NO_PREFETCH | SYSMMU_BL4) SYSMMU_NOID>; |
| #iommu-cells = <0>; |
| }; |
| |
| score: score@1394C0000 { |
| compatible = "samsung,score"; |
| reg = <0x0 0x134C0000 0x20000>; |
| interrupts = <0 227 0>; |
| |
| clocks = <&clock GATE_SCORE>; |
| clock-names = "dsp"; |
| samsung,power-domain = <&pd_dsp>; |
| |
| iommus = <&sysmmu_score0>; |
| }; |
| |
| iommu-domain_score { |
| compatible = "samsung,exynos-iommu-bus"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| |
| domain-clients = <&score>; |
| }; |
| |
| sysmmu_score0: sysmmu@13430000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x13430000 0x3000>; |
| interrupts = <0 230 0>, <0 231 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SMMU_SCORE>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x13450000>; |
| sysmmu,tlb_property = |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_READ | SYSMMU_BL1) SYSMMU_ID_MASK(0x0, 0x1)>, |
| <(SYSMMU_PUBLIC_NO_PREFETCH | SYSMMU_BL8) SYSMMU_NOID>; |
| #iommu-cells = <0>; |
| }; |
| |
| fimc_is: fimc_is@13140000 { |
| compatible = "samsung,exynos5-fimc-is"; |
| #pb-id-cells = <6>; |
| reg = <0x0 0x12CE0000 0x10000>, /* CSIS-DMA */ |
| <0x0 0x13030000 0x10000>, /* FIMC-3AAW */ |
| <0x0 0x13130000 0x10000>, /* FIMC-3AA */ |
| <0x0 0x13040000 0x10000>, /* FIMC_ISPLP */ |
| <0x0 0x13140000 0x10000>, /* FIMC_ISPHQ */ |
| <0x0 0x12C40000 0x10000>, /* FIMC_TPU0 */ |
| <0x0 0x12C90000 0x10000>, /* FIMC_TPU1 */ |
| <0x0 0x12C50000 0x10000>, /* MC_SCALER */ |
| <0x0 0x12C60000 0x10000>, /* FIMC-VRA (Set A) */ |
| <0x0 0x12C70000 0x10000>, /* FIMC-VRA (Set B) */ |
| <0x0 0x12F00000 0x10000>, /* DCP */ |
| <0x0 0x14300000 0x10000>; /* SRDZ */ |
| interrupts = <0 294 0>, /* 3AAW_0 */ |
| <0 295 0>, /* 3AAW_1 */ |
| <0 301 0>, /* 3AA_0 */ |
| <0 302 0>, /* 3AA_1 */ |
| <0 296 0>, /* ISPLP_0 */ |
| <0 297 0>, /* ISPLP_1 */ |
| <0 303 0>, /* ISPHQ_0 */ |
| <0 304 0>, /* ISPHQ_1 */ |
| <0 272 0>, /* TPU0_0 */ |
| <0 273 0>, /* TPU0_1 */ |
| <0 284 0>, /* TPU1_0 */ |
| <0 285 0>, /* TPU1_1 */ |
| <0 274 0>, /* MC_SC_0 */ |
| <0 275 0>, /* MC_SC_1 */ |
| <0 276 0>, /* VRA_0 */ |
| <0 277 0>, /* VRA_1 */ |
| <0 242 0>, /* DCP_0 */ |
| <0 243 0>, /* DCP_1 */ |
| <0 85 0>; /* SRDZ */ |
| samsung,power-domain = <&pd_dcam>; |
| clocks = <&clock GATE_ISP_EWGEN_ISPHQ>, |
| <&clock GATE_IS_ISPHQ_3AA>, |
| <&clock GATE_IS_ISPHQ_ISPHQ>, |
| <&clock GATE_IS_ISPHQ_QE_3AA>, |
| <&clock GATE_IS_ISPHQ_QE_ISPHQ>, |
| <&clock GATE_ISPHQ_CMU_ISPHQ>, |
| <&clock GATE_PMU_ISPHQ>, |
| <&clock GATE_SYSREG_ISPHQ>, |
| <&clock UMUX_CLKCMU_ISPHQ_BUS>, |
| |
| <&clock GATE_ISP_EWGEN_ISPLP>, |
| <&clock GATE_IS_ISPLP_3AAW>, |
| <&clock GATE_IS_ISPLP_ISPLP>, |
| <&clock GATE_IS_ISPLP_QE_3AAW>, |
| <&clock GATE_IS_ISPLP_QE_ISPLP>, |
| <&clock GATE_IS_ISPLP_SMMU_ISPLP>, |
| <&clock GATE_IS_ISPLP_BCM_ISPLP>, |
| <&clock GATE_BTM_ISPLP>, |
| <&clock GATE_ISPLP_CMU_ISPLP>, |
| <&clock GATE_PMU_ISPLP>, |
| <&clock GATE_SYSREG_ISPLP>, |
| <&clock UMUX_CLKCMU_ISPLP_BUS>, |
| |
| <&clock GATE_ISP_EWGEN_CAM>, |
| <&clock GATE_IS_CAM_CSIS0>, |
| <&clock GATE_IS_CAM_CSIS1>, |
| <&clock GATE_IS_CAM_CSIS2>, |
| <&clock GATE_IS_CAM_CSIS3>, |
| <&clock GATE_IS_CAM_MC_SCALER>, |
| <&clock GATE_IS_CAM_CSISX4_DMA>, |
| <&clock GATE_IS_CAM_SYSMMU_CAM0>, |
| <&clock GATE_IS_CAM_SYSMMU_CAM1>, |
| <&clock GATE_IS_CAM_BCM_CAM0>, |
| <&clock GATE_IS_CAM_BCM_CAM1>, |
| <&clock GATE_IS_CAM_TPU0>, |
| <&clock GATE_IS_CAM_VRA>, |
| <&clock GATE_IS_CAM_QE_TPU0>, |
| <&clock GATE_IS_CAM_QE_VRA>, |
| <&clock GATE_IS_CAM_BNS>, |
| <&clock GATE_IS_CAM_QE_CSISX4>, |
| <&clock GATE_IS_CAM_QE_TPU1>, |
| <&clock GATE_IS_CAM_TPU1>, |
| <&clock GATE_BTM_CAMD0>, |
| <&clock GATE_BTM_CAMD1>, |
| <&clock GATE_CAM_CMU_CAM>, |
| <&clock GATE_PMU_CAM>, |
| <&clock GATE_SYSREG_CAM>, |
| <&clock UMUX_CLKCMU_CAM_BUS>, |
| <&clock UMUX_CLKCMU_CAM_TPU0>, |
| <&clock UMUX_CLKCMU_CAM_VRA>, |
| <&clock UMUX_CLKCMU_CAM_TPU1>, |
| |
| <&clock GATE_DCP>, |
| <&clock GATE_BTM_DCAM>, |
| <&clock GATE_DCAM_CMU_DCAM>, |
| <&clock GATE_PMU_DCAM>, |
| <&clock GATE_BCM_DCAM>, |
| <&clock GATE_SYSREG_DCAM>, |
| <&clock UMUX_CLKCMU_DCAM_BUS>, |
| <&clock UMUX_CLKCMU_DCAM_IMGD>, |
| |
| <&clock GATE_SRDZ>, |
| <&clock GATE_BTM_SRDZ>, |
| <&clock GATE_PMU_SRDZ>, |
| <&clock GATE_BCM_SRDZ>, |
| <&clock GATE_SMMU_SRDZ>, |
| <&clock GATE_SRDZ_CMU_SRDZ>, |
| <&clock GATE_SYSREG_SRDZ>, |
| <&clock UMUX_CLKCMU_SRDZ_BUS>, |
| <&clock UMUX_CLKCMU_SRDZ_IMGD>, |
| |
| <&clock CIS_CLK0>, |
| <&clock CIS_CLK1>, |
| <&clock CIS_CLK2>, |
| <&clock CIS_CLK3>, |
| |
| <&clock GATE_DFTMUX_TOP_CIS_CLK0>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK1>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK2>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK3>; |
| clock-names = "GATE_ISP_EWGEN_ISPHQ", |
| "GATE_IS_ISPHQ_3AA", |
| "GATE_IS_ISPHQ_ISPHQ", |
| "GATE_IS_ISPHQ_QE_3AA", |
| "GATE_IS_ISPHQ_QE_ISPHQ", |
| "GATE_ISPHQ_CMU_ISPHQ", |
| "GATE_PMU_ISPHQ", |
| "GATE_SYSREG_ISPHQ", |
| "UMUX_CLKCMU_ISPHQ_BUS", |
| |
| "GATE_ISP_EWGEN_ISPLP", |
| "GATE_IS_ISPLP_3AAW", |
| "GATE_IS_ISPLP_ISPLP", |
| "GATE_IS_ISPLP_QE_3AAW", |
| "GATE_IS_ISPLP_QE_ISPLP", |
| "GATE_IS_ISPLP_SMMU_ISPLP", |
| "GATE_IS_ISPLP_BCM_ISPLP", |
| "GATE_BTM_ISPLP", |
| "GATE_ISPLP_CMU_ISPLP", |
| "GATE_PMU_ISPLP", |
| "GATE_SYSREG_ISPLP", |
| "UMUX_CLKCMU_ISPLP_BUS", |
| |
| "GATE_ISP_EWGEN_CAM", |
| "GATE_IS_CAM_CSIS0", |
| "GATE_IS_CAM_CSIS1", |
| "GATE_IS_CAM_CSIS2", |
| "GATE_IS_CAM_CSIS3", |
| "GATE_IS_CAM_MC_SCALER", |
| "GATE_IS_CAM_CSISX4_DMA", |
| "GATE_IS_CAM_SYSMMU_CAM0", |
| "GATE_IS_CAM_SYSMMU_CAM1", |
| "GATE_IS_CAM_BCM_CAM0", |
| "GATE_IS_CAM_BCM_CAM1", |
| "GATE_IS_CAM_TPU0", |
| "GATE_IS_CAM_VRA", |
| "GATE_IS_CAM_QE_TPU0", |
| "GATE_IS_CAM_QE_VRA", |
| "GATE_IS_CAM_BNS", |
| "GATE_IS_CAM_QE_CSISX4", |
| "GATE_IS_CAM_QE_TPU1", |
| "GATE_IS_CAM_TPU1", |
| "GATE_BTM_CAMD0", |
| "GATE_BTM_CAMD1", |
| "GATE_CAM_CMU_CAM", |
| "GATE_PMU_CAM", |
| "GATE_SYSREG_CAM", |
| "UMUX_CLKCMU_CAM_BUS", |
| "UMUX_CLKCMU_CAM_TPU0", |
| "UMUX_CLKCMU_CAM_VRA", |
| "UMUX_CLKCMU_CAM_TPU1", |
| |
| "GATE_DCP", |
| "GATE_BTM_DCAM", |
| "GATE_DCAM_CMU_DCAM", |
| "GATE_PMU_DCAM", |
| "GATE_BCM_DCAM", |
| "GATE_SYSREG_DCAM", |
| "UMUX_CLKCMU_DCAM_BUS", |
| "UMUX_CLKCMU_DCAM_IMGD", |
| |
| "GATE_SRDZ", |
| "GATE_BTM_SRDZ", |
| "GATE_PMU_SRDZ", |
| "GATE_BCM_SRDZ", |
| "GATE_SMMU_SRDZ", |
| "GATE_SRDZ_CMU_SRDZ", |
| "GATE_SYSREG_SRDZ", |
| "UMUX_CLKCMU_SRDZ_BUS", |
| "UMUX_CLKCMU_SRDZ_IMGD", |
| |
| "CIS_CLK0", |
| "CIS_CLK1", |
| "CIS_CLK2", |
| "CIS_CLK3", |
| |
| "MUX_CIS_CLK0", |
| "MUX_CIS_CLK1", |
| "MUX_CIS_CLK2", |
| "MUX_CIS_CLK3"; |
| status = "ok"; |
| iommus = <&sysmmu_cam0>, <&sysmmu_cam1>, <&sysmmu_isp>, <&sysmmu_dcam>; |
| #cooling-cells = <2>; /* min followed by max */ |
| }; |
| |
| mipi_phy_csis0_m4s4_top: dphy_m4s4_csis0@0x12C21050 { |
| compatible = "samsung,mipi-phy-m4s4-top"; |
| samsung,pmu-syscon = <&pmu_system_controller>; |
| isolation = <0x70C>; /* PMU address offset */ |
| reg = <0x0 0x12C21050 0x4>; /* SYSREG address for reset */ |
| reset = <0>; /* reset bit */ |
| owner = <1>; /* 0: DSI, 1: CSI */ |
| #phy-cells = <1>; |
| }; |
| |
| mipi_phy_csis2_m4s4_mod: dphy_m4s4_csis2@0x12C21050 { |
| compatible = "samsung,mipi-phy-m4s4-mod"; |
| samsung,pmu-syscon = <&pmu_system_controller>; |
| isolation = <0x710>; /* PMU address offset */ |
| reset = <1>; /* reset bit */ |
| owner = <1>; /* 0: DSI, 1: CSI */ |
| #phy-cells = <1>; |
| }; |
| |
| mipi_phy_csis1_m1s2s2: dphy_m1s2s2_csis1@0x12C21050 { |
| compatible = "samsung,mipi-phy-m1s2s2"; |
| samsung,pmu-syscon = <&pmu_system_controller>; |
| isolation = <0x730>; /* PMU address offset */ |
| reset = <2>; /* reset bit */ |
| owner = <1>; /* 0: DSI, 1: CSI */ |
| #phy-cells = <1>; |
| }; |
| |
| mipi_phy_csis3_m1s2s2: dphy_m1s2s2_csis3@0x12C21050 { |
| compatible = "samsung,mipi-phy-m1s2s2"; |
| samsung,pmu-syscon = <&pmu_system_controller>; |
| isolation = <0x730>; /* PMU address offset */ |
| reset = <3>; /* reset bit */ |
| owner = <1>; /* 0: DSI, 1: CSI */ |
| #phy-cells = <1>; |
| }; |
| |
| fimc_is_sensor0: fimc_is_sensor@12CA0000 { |
| /* BACK/CSIS0 */ |
| compatible = "samsung,exynos5-fimc-is-sensor"; |
| #pb-id-cells = <4>; |
| reg = <0x0 0x12CA0000 0x10000>, /* MIPI-CSI0 */ |
| <0x0 0x12C80000 0x10000>; /* FIMC-BNS */ |
| interrupts = <0 264 0>, /* MIPI-CSI0 */ |
| <0 291 0>; /* FIMC-BNS */ |
| samsung,power-domain = <&pd_cam>; |
| phys = <&mipi_phy_csis0_m4s4_top 0>; |
| phy-names = "csis_dphy"; |
| clocks = <&clock CIS_CLK0>, |
| <&clock CIS_CLK1>, |
| <&clock CIS_CLK2>, |
| <&clock CIS_CLK3>, |
| |
| <&clock GATE_DFTMUX_TOP_CIS_CLK0>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK1>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK2>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK3>, |
| |
| <&clock GATE_IS_CAM_CSIS0>, |
| <&clock GATE_IS_CAM_CSIS1>, |
| <&clock GATE_IS_CAM_CSIS2>, |
| <&clock GATE_IS_CAM_CSIS3>; |
| clock-names = "CIS_CLK0", |
| "CIS_CLK1", |
| "CIS_CLK2", |
| "CIS_CLK3", |
| |
| "MUX_CIS_CLK0", |
| "MUX_CIS_CLK1", |
| "MUX_CIS_CLK2", |
| "MUX_CIS_CLK3", |
| |
| "GATE_IS_CAM_CSIS0", |
| "GATE_IS_CAM_CSIS1", |
| "GATE_IS_CAM_CSIS2", |
| "GATE_IS_CAM_CSIS3"; |
| iommus = <&sysmmu_cam0>; |
| }; |
| |
| fimc_is_sensor1: fimc_is_sensor@12CB0000 { |
| compatible = "samsung,exynos5-fimc-is-sensor"; |
| #pb-id-cells = <4>; |
| reg = <0x0 0x12CB0000 0x10000>, /* MIPI-CSI1 */ |
| <0x0 0x12C80000 0x10000>; /* FIMC-BNS */ |
| interrupts = <0 266 0>, /* MIPI-CSI1 */ |
| <0 291 0>; /* FIMC-BNS */ |
| samsung,power-domain = <&pd_cam>; |
| phys = <&mipi_phy_csis1_m1s2s2 0>; |
| phy-names = "csis_dphy"; |
| clocks = <&clock CIS_CLK0>, |
| <&clock CIS_CLK1>, |
| <&clock CIS_CLK2>, |
| <&clock CIS_CLK3>, |
| |
| <&clock GATE_DFTMUX_TOP_CIS_CLK0>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK1>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK2>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK3>, |
| |
| <&clock GATE_IS_CAM_CSIS0>, |
| <&clock GATE_IS_CAM_CSIS1>, |
| <&clock GATE_IS_CAM_CSIS2>, |
| <&clock GATE_IS_CAM_CSIS3>; |
| clock-names = "CIS_CLK0", |
| "CIS_CLK1", |
| "CIS_CLK2", |
| "CIS_CLK3", |
| |
| "MUX_CIS_CLK0", |
| "MUX_CIS_CLK1", |
| "MUX_CIS_CLK2", |
| "MUX_CIS_CLK3", |
| |
| "GATE_IS_CAM_CSIS0", |
| "GATE_IS_CAM_CSIS1", |
| "GATE_IS_CAM_CSIS2", |
| "GATE_IS_CAM_CSIS3"; |
| iommus = <&sysmmu_cam0>; |
| }; |
| |
| fimc_is_sensor2: fimc_is_sensor@12CC0000 { |
| /* DEPTH/CSIS2 */ |
| compatible = "samsung,exynos5-fimc-is-sensor"; |
| #pb-id-cells = <4>; |
| reg = <0x0 0x12CC0000 0x10000>, /* MIPI-CSI2 */ |
| <0x0 0x12C80000 0x10000>; /* FIMC-BNS */ |
| interrupts = <0 268 0>, /* MIPI-CSI2 */ |
| <0 291 0>; /* FIMC-BNS */ |
| samsung,power-domain = <&pd_cam>; |
| phys = <&mipi_phy_csis2_m4s4_mod 0>; |
| phy-names = "csis_dphy"; |
| clocks = <&clock CIS_CLK0>, |
| <&clock CIS_CLK1>, |
| <&clock CIS_CLK2>, |
| <&clock CIS_CLK3>, |
| |
| <&clock GATE_DFTMUX_TOP_CIS_CLK0>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK1>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK2>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK3>, |
| |
| <&clock GATE_IS_CAM_CSIS0>, |
| <&clock GATE_IS_CAM_CSIS1>, |
| <&clock GATE_IS_CAM_CSIS2>, |
| <&clock GATE_IS_CAM_CSIS3>; |
| clock-names = "CIS_CLK0", |
| "CIS_CLK1", |
| "CIS_CLK2", |
| "CIS_CLK3", |
| |
| "MUX_CIS_CLK0", |
| "MUX_CIS_CLK1", |
| "MUX_CIS_CLK2", |
| "MUX_CIS_CLK3", |
| |
| "GATE_IS_CAM_CSIS0", |
| "GATE_IS_CAM_CSIS1", |
| "GATE_IS_CAM_CSIS2", |
| "GATE_IS_CAM_CSIS3"; |
| iommus = <&sysmmu_cam0>; |
| }; |
| |
| fimc_is_sensor3: fimc_is_sensor@112CD000 { |
| /* IRIS/CSIS3 */ |
| compatible = "samsung,exynos5-fimc-is-sensor"; |
| #pb-id-cells = <4>; |
| reg = <0x0 0x12CD0000 0x10000>, /* MIPI-CSI3 */ |
| <0x0 0x12C80000 0x10000>; /* FIMC-BNS */ |
| interrupts = <0 270 0>, /* MIPI-CSI3 */ |
| <0 291 0>; /* FIMC-BNS */ |
| samsung,power-domain = <&pd_cam>; |
| phys = <&mipi_phy_csis3_m1s2s2 0>; |
| phy-names = "csis_dphy"; |
| clocks = <&clock CIS_CLK0>, |
| <&clock CIS_CLK1>, |
| <&clock CIS_CLK2>, |
| <&clock CIS_CLK3>, |
| |
| <&clock GATE_DFTMUX_TOP_CIS_CLK0>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK1>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK2>, |
| <&clock GATE_DFTMUX_TOP_CIS_CLK3>, |
| |
| <&clock GATE_IS_CAM_CSIS0>, |
| <&clock GATE_IS_CAM_CSIS1>, |
| <&clock GATE_IS_CAM_CSIS2>, |
| <&clock GATE_IS_CAM_CSIS3>; |
| clock-names = "CIS_CLK0", |
| "CIS_CLK1", |
| "CIS_CLK2", |
| "CIS_CLK3", |
| |
| "MUX_CIS_CLK0", |
| "MUX_CIS_CLK1", |
| "MUX_CIS_CLK2", |
| "MUX_CIS_CLK3", |
| |
| "GATE_IS_CAM_CSIS0", |
| "GATE_IS_CAM_CSIS1", |
| "GATE_IS_CAM_CSIS2", |
| "GATE_IS_CAM_CSIS3"; |
| iommus = <&sysmmu_cam0>; |
| }; |
| |
| iommu-domain_cam { |
| compatible = "samsung,exynos-iommu-bus"; |
| #address-cells = <2>; |
| #size-cells = <1>; |
| ranges; |
| domain-clients = <&fimc_is>, <&fimc_is_sensor0>, <&fimc_is_sensor1>, |
| <&fimc_is_sensor2>, <&fimc_is_sensor3>; |
| }; |
| |
| sysmmu_cam0: sysmmu@12D10000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x12D10000 0x3000>; |
| interrupts = <0 279 0>, <0 280 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_IS_CAM_SYSMMU_CAM0>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x12D00000>; |
| /* Dual CAM scenario */ |
| sysmmu,tlb_property = |
| /* 0~9 : CSIS0~3 */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x0)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x4)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x8)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x10)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x14)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x18)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x20)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x24)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x28)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x30)>, |
| /* 10~13 : TPU1_ID */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL4) SYSMMU_ID(0x7)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x3)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x7)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0xB)>, |
| /* 14~17 : TPU0_ID */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL4) SYSMMU_ID(0x5)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x1)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x5)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x9)>, |
| /* 18~19 : VRA Ch0 */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL4) SYSMMU_ID(0x6)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL4) SYSMMU_ID(0x6)>, |
| /* 20~21 : TPU1_ADDR */ |
| <(SYSMMU_PRIV_ADDR_PREFETCH_ASCENDING_READ | SYSMMU_BL4) SYSMMU_NOID>, |
| <(SYSMMU_PRIV_ADDR_PREFETCH_ASCENDING_READ | SYSMMU_BL4) SYSMMU_NOID>, |
| /* 22~23 : TPU0_ADDR */ |
| <(SYSMMU_PRIV_ADDR_PREFETCH_ASCENDING_READ | SYSMMU_BL4) SYSMMU_NOID>, |
| <(SYSMMU_PRIV_ADDR_PREFETCH_ASCENDING_READ | SYSMMU_BL4) SYSMMU_NOID>, |
| /* 24~27 : VRA Ch1 */ |
| <(SYSMMU_PUBLIC_PREFETCH_ASCENDING | SYSMMU_BL1) SYSMMU_NOID>; |
| #iommu-cells = <0>; |
| }; |
| |
| sysmmu_cam1: sysmmu@12D20000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x12D20000 0x3000>; |
| interrupts = <0 282 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_IS_CAM_SYSMMU_CAM1>; |
| sysmmu,tlb_property = |
| /* 0~17 : MCScaler */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x0)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x1)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x2)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x0)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x1)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x2)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x3)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x4)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x5)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x6)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x7)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x8)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x9)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0xA)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0xB)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0xC)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0xD)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0xE)>, |
| /* 18~19 : SBB */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x3)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0xF)>; |
| #iommu-cells = <0>; |
| }; |
| |
| sysmmu_isp: sysmmu@13050000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x13050000 0x3000>; |
| interrupts = <0 298 0>, <0 299 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_IS_ISPLP_SMMU_ISPLP>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x13060000>; |
| sysmmu,tlb_property = |
| /* 0~11 : 3AAW */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x0)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_WRITE | SYSMMU_BL2) SYSMMU_ID(0x0)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_WRITE | SYSMMU_BL2) SYSMMU_ID(0x4)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x24)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0xC)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x20)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x8)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x18)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_READ | SYSMMU_BL2) SYSMMU_ID(0x4)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x14)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x1C)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x10)>, |
| /* 12~14 : ISPLP */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x2)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x1)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x5)>, |
| /* 15~20 : 3AA */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x2)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x2)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0xA)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x22)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x12)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x1A)>, |
| /* 21~28 : ISPHQ */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x6)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x1E)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL1) SYSMMU_ID(0x26)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x26)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x16)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x2E)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0x6)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL1) SYSMMU_ID(0xE)>, |
| /* 29 : 3AAW/ISPLP/ISPHQ */ |
| <(SYSMMU_PUBLIC_NO_PREFETCH | SYSMMU_BL2) SYSMMU_NOID>; |
| #iommu-cells = <0>; |
| }; |
| |
| sysmmu_dcam: sysmmu@14230000 { |
| compatible = "samsung,exynos-sysmmu"; |
| reg = <0x0 0x14230000 0x3000>; |
| interrupts = <0 248 0>, <0 249 0>; |
| qos = <15>; |
| clock-names = "aclk"; |
| clocks = <&clock GATE_SMMU_SRDZ>; |
| sysmmu,secure-irq; |
| sysmmu,secure_base = <0x14250000>; |
| sysmmu,tlb_property = |
| /* 0~10 : DCP */ |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_READ | SYSMMU_BL16) SYSMMU_ID(0x1)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_READ | SYSMMU_BL16) SYSMMU_ID(0x3)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL8) SYSMMU_ID(0x5)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL8) SYSMMU_ID(0x7)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL8) SYSMMU_ID(0x9)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL8) SYSMMU_ID(0x1)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL8) SYSMMU_ID(0x3)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL8) SYSMMU_ID(0x5)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL8) SYSMMU_ID(0x7)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL8) SYSMMU_ID(0x9)>, |
| <(SYSMMU_PRIV_ID_NO_PREFETCH_WRITE | SYSMMU_BL16) SYSMMU_ID(0xB)>, |
| /* 11~15 : SRDZ */ |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL8) SYSMMU_ID(0x0)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL16) SYSMMU_ID(0x2)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_READ | SYSMMU_BL16) SYSMMU_ID(0x6)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL16) SYSMMU_ID(0x0)>, |
| <(SYSMMU_PRIV_ID_PREFETCH_ASCENDING_WRITE | SYSMMU_BL16) SYSMMU_ID(0x2)>; |
| #iommu-cells = <0>; |
| }; |
| |
| tmuctrl_0: MNGS@10080000 { |
| compatible = "samsung,exynos8895-tmu"; |
| reg = <0x0 0x10080000 0x400>; |
| interrupts = <0 451 0>; |
| tmu_name = "MNGS"; |
| id = <0>; |
| sensors = <1>; |
| sensing_mode = "max"; |
| hotplug_enable = <1>; |
| hotplug_in_threshold = <76>; |
| hotplug_out_threshold = <81>; |
| #include "exynos8895-tmu-sensor-conf.dtsi" |
| }; |
| |
| tmuctrl_1: APOLLO@10080000 { |
| compatible = "samsung,exynos8895-tmu"; |
| reg = <0x0 0x10080000 0x400>; |
| interrupts = <0 451 0>; |
| tmu_name = "APOLLO"; |
| id = <1>; |
| sensors = <2>; |
| sensing_mode = "max"; |
| #include "exynos8895-tmu-sensor-conf.dtsi" |
| }; |
| |
| tmuctrl_2: GPU@10084000 { |
| compatible = "samsung,exynos8895-tmu"; |
| reg = <0x0 0x10084000 0x400>; |
| interrupts = <0 452 0>; |
| tmu_name = "GPU"; |
| id = <2>; |
| sensors = <1>; |
| sensing_mode = "max"; |
| /* gpu cooling related table */ |
| /* flags, driver_data(index), frequency */ |
| gpu_idx_num = <6>; |
| gpu_cooling_table = < 0 0 546000 |
| 0 1 455000 |
| 0 2 338000 |
| 0 3 260000 |
| 0 4 260000 |
| 0 5 TABLE_END>; |
| #include "exynos8895-tmu-sensor-conf.dtsi" |
| }; |
| |
| tmuctrl_3: ISP@10084000 { |
| compatible = "samsung,exynos8895-tmu"; |
| reg = <0x0 0x10084000 0x400>; |
| interrupts = <0 452 0>; |
| tmu_name = "ISP"; |
| id = <3>; |
| sensors = <6>; |
| sensing_mode = "max"; |
| #include "exynos8895-tmu-sensor-conf.dtsi" |
| }; |
| |
| thermal-zones { |
| mngs_thermal: mngs-thermal { |
| zone_name = "MNGS_THERMAL"; |
| polling-delay-passive = <100>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_0>; |
| governor = "power_allocator"; |
| sustainable-power = <2000>; |
| k_po = <100>; |
| k_pu = <200>; |
| k_i = <100>; |
| i_max = <1500>; |
| integral_cutoff = <13>; |
| |
| trips { |
| mngs_cold: mngs-cold { |
| temperature = <20000>; |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| mngs_alert0: mngs-alert0 { |
| temperature = <52000>; /* millicelsius */ |
| hysteresis = <2000>; /* millicelsius */ |
| type = "active"; |
| }; |
| mngs_alert1: mngs-alert1 { |
| temperature = <65000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| mngs_crit: mngs-crit { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "critical"; |
| }; |
| }; |
| |
| cooling-maps { |
| map0 { |
| trip = <&mngs_alert0>; |
| cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; |
| }; |
| map1 { |
| trip = <&mngs_alert1>; |
| cooling-device = <&cpu4 THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; |
| }; |
| }; |
| }; |
| |
| apo_thermal: APOLLO { |
| zone_name = "APO_THERMAL"; |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_1>; |
| |
| trips { |
| apo_alert0: apo-alert0 { |
| temperature = <20000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| apo_alert1: apo-alert1 { |
| temperature = <76000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| apo_alert2: apo-alert2 { |
| temperature = <81000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| apo_alert3: apo-alert3 { |
| temperature = <86000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| apo_alert4: apo-alert4 { |
| temperature = <91000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| apo_alert5: apo-alert5 { |
| temperature = <96000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| apo_alert6: apo-alert6 { |
| temperature = <101000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| apo_crit: apo-crit { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "critical"; |
| }; |
| }; |
| |
| cooling-maps { |
| map0 { |
| trip = <&apo_alert0>; |
| /* Corresponds to 1586MHz at freq_table */ |
| cooling-device = <&cpu0 0 0>; |
| }; |
| map1 { |
| trip = <&apo_alert1>; |
| /* Corresponds to 1482MHz at freq_table */ |
| cooling-device = <&cpu0 0 0>; |
| }; |
| map2 { |
| trip = <&apo_alert2>; |
| /* Corresponds to 1378MHz at freq_table */ |
| cooling-device = <&cpu0 0 0>; |
| }; |
| map3 { |
| trip = <&apo_alert3>; |
| /* Corresponds to 1170MHz at freq_table */ |
| cooling-device = <&cpu0 0 0>; |
| }; |
| map4 { |
| trip = <&apo_alert4>; |
| /* Corresponds to 1066MHz at freq_table */ |
| cooling-device = <&cpu0 0 0>; |
| }; |
| map5 { |
| trip = <&apo_alert5>; |
| /* Corresponds to 442MHz at freq_table */ |
| cooling-device = <&cpu0 0 0>; |
| }; |
| map6 { |
| trip = <&apo_alert6>; |
| /* Corresponds to 442MHz at freq_table */ |
| cooling-device = <&cpu0 0 0>; |
| }; |
| map7 { |
| trip = <&apo_crit>; |
| /* Corresponds to 442MHz at freq_table */ |
| cooling-device = <&cpu0 0 0>; |
| }; |
| }; |
| }; |
| |
| gpu_thermal: GPU { |
| zone_name = "GPU_THERMAL"; |
| polling-delay-passive = <100>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_2>; |
| governor = "power_allocator"; |
| sustainable-power = <2000>; |
| k_po = <125>; |
| k_pu = <250>; |
| k_i = <50>; |
| i_max = <400>; |
| integral_cutoff = <10>; |
| |
| trips { |
| gpu_cold: gpu-cold { |
| temperature = <20000>; |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| gpu_alert0: gpu-alert0 { |
| temperature = <65000>; /* millicelsius */ |
| hysteresis = <2000>; /* millicelsius */ |
| type = "active"; |
| }; |
| gpu_alert1: gpu-alert1 { |
| temperature = <75000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "passive"; |
| }; |
| gpu_crit: gpu-crit { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "critical"; |
| }; |
| }; |
| |
| cooling-maps { |
| map0 { |
| trip = <&gpu_alert0>; |
| cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; |
| }; |
| map1 { |
| trip = <&gpu_alert1>; |
| cooling-device = <&mali THERMAL_NO_LIMIT THERMAL_NO_LIMIT>; |
| }; |
| }; |
| }; |
| |
| isp_thermal: ISP { |
| zone_name = "ISP_THERMAL"; |
| polling-delay-passive = <0>; |
| polling-delay = <0>; |
| thermal-sensors = <&tmuctrl_3>; |
| |
| trips { |
| isp_alert0: isp-alert0 { |
| temperature = <20000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_alert1: isp-alert1 { |
| temperature = <91000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_alert2: isp-alert2 { |
| temperature = <96000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_alert3: isp-alert3 { |
| temperature = <101000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "active"; |
| }; |
| isp_crit: isp-crit { |
| temperature = <115000>; /* millicelsius */ |
| hysteresis = <5000>; /* millicelsius */ |
| type = "critical"; |
| }; |
| }; |
| |
| cooling-maps { |
| map0 { |
| trip = <&isp_alert0>; |
| /* Corresponds to No limit */ |
| cooling-device = <&fimc_is 0 0>; |
| }; |
| map1 { |
| trip = <&isp_alert1>; |
| /* Corresponds to No limit */ |
| cooling-device = <&fimc_is 0 0>; |
| }; |
| map2 { |
| trip = <&isp_alert2>; |
| /* Corresponds to 15fps at freq_table */ |
| cooling-device = <&fimc_is 0 0>; |
| }; |
| map3 { |
| trip = <&isp_alert3>; |
| /* Corresponds to 5fps at freq_table */ |
| cooling-device = <&fimc_is 0 0>; |
| }; |
| map4 { |
| trip = <&isp_crit>; |
| /* Corresponds to HW trip */ |
| cooling-device = <&fimc_is 0 0>; |
| }; |
| }; |
| }; |
| |
| }; |
| }; |