android_kernel_samsung_on5x.../arch/arm64/boot/dts/exynos7570-smdk7570.dts
2018-06-19 23:16:04 +02:00

1166 lines
29 KiB
Text

/*
* SAMSUNG UNIVERSAL8890 board device tree source
*
* Copyright (c) 2013 Samsung Electronics Co., Ltd.
* http://www.samsung.com
*
* 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.
*/
/dts-v1/;
#include "exynos7570.dtsi"
#include "modem-ss315ap-pdata.dtsi"
#include "exynos7570-rmem.dtsi"
/ {
model = "Exynos 7570 SMDK board";
compatible = "samsung,exynos7570", "samsung,exynos4210";
memory@40000000 {
device_type = "memory";
reg = <0x0 0x40000000 0x60000000>;
};
chosen {
bootargs = "console=ttySAC2,115200 clk_ignore_unused androidboot.hardware=samsungexynos7570 bcm_setup=0xffffff80f8e00000 androidboot.selinux=disabled firmware_class.path=/vendor/firmware ess_setup=0x46000000 reserve-fimc=0";
linux,initrd-start = <0x42000000>;
linux,initrd-end = <0x421FFFFF>;
};
fixed-rate-clocks {
oscclk {
compatible = "samsung,exynos7570-oscclk";
clock-frequency = <26000000>;
};
};
serial_2: uart@13820000 {
status = "okay";
};
dwmmc0@13540000 {
status = "okay";
num-slots = <1>;
broken-card-detect;
use-smu;
fixed_voltage;
supports-highspeed;
clock-gate;
mmc-ddr-1_8v;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
supports-8bit;
supports-cmd23;
supports-erase;
enable-ulp-mode;
supports-hs400-enhanced-strobe;
card-init-hwacg-ctrl;
fifo-depth = <0x40>;
non-removable;
desc-size = <4>;
card-detect-delay = <200>;
data-timeout = <200>;
hto-timeout = <550>;
clock-frequency = <700000000>;
device_drv = <1>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-txdt-crc-timer-fastlimit = <0x34>;
samsung,dw-mshc-txdt-crc-timer-initval = <0x38>;
samsung,dw-mshc-ddr200-delay-line = <0x60>;
samsung,dw-mshc-sdr-timing = <3 0 2 0>;
samsung,dw-mshc-ddr-timing = <3 0 4 2>;
samsung,dw-mshc-hs200-timing = <3 0 3 0>;
samsung,dw-mshc-ddr200-timing = <1 0 4 0>;
samsung,dw-mshc-ddr200-ulp-timing = <3 0 3 0>;
num-ref-clks = <12>;
ciu_clkin = <25 43 43 25 43 87 175 43 43 175 175 175>;
/* Swapping clock drive strength */
clk-drive-number = <4>;
pinctrl-names = "default",
"fast-slew-rate-1x",
"fast-slew-rate-2x",
"fast-slew-rate-3x",
"fast-slew-rate-4x";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_rdqs &sd0_bus1 &sd0_bus4 &sd0_bus8>;
pinctrl-1 = <&sd0_clk_fast_slew_rate_1x>;
pinctrl-2 = <&sd0_clk_fast_slew_rate_2x>;
pinctrl-3 = <&sd0_clk_fast_slew_rate_3x>;
pinctrl-4 = <&sd0_clk_fast_slew_rate_4x>;
slot@0 {
reg = <0>;
bus-width = <8>;
};
};
dwmmc2@13560000 {
status = "okay";
num-slots = <1>;
clock-gate;
supports-highspeed;
supports-4bit;
supports-cmd23;
supports-erase;
sd-uhs-sdr50;
sd-uhs-sdr104;
card-detect-gpio;
bypass-smu;
only_once_tune;
bypass-for-allpass;
use-fine-tuning;
skip-init-mmc-scan;
card-init-hwacg-ctrl;
switch_transfer;
ignore-phase = <(1 << 7)>;
fifo-depth = <0x40>;
desc-size = <4>;
card-detect-delay = <200>;
data-timeout = <200>;
hto-timeout = <550>;
clock-frequency = <700000000>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <3 0 2 0>;
samsung,dw-mshc-ddr-timing = <3 0 2 1>;
samsung,dw-mshc-sdr50-timing = <3 0 4 2>;
samsung,dw-mshc-sdr104-timing = <3 0 3 0>;
num-ref-clks = <9>;
ciu_clkin = <25 43 43 25 43 87 175 43 43>;
clk-drive-number = <4>;
pinctrl-names = "default",
"fast-slew-rate-1x",
"fast-slew-rate-2x",
"fast-slew-rate-3x",
"fast-slew-rate-4x";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4 &dwmmc2_cd_ext_irq>;
pinctrl-1 = <&sd2_clk_fast_slew_rate_1x>;
pinctrl-2 = <&sd2_clk_fast_slew_rate_2x>;
pinctrl-3 = <&sd2_clk_fast_slew_rate_3x>;
pinctrl-4 = <&sd2_clk_fast_slew_rate_4x>;
card-detect = <&gpa0 1 0xf>;
slot@0 {
reg = <0>;
bus-width = <4>;
disable-wp;
};
};
ion {
compatible = "samsung,exynos5430-ion";
};
decon_fb@14830000 {
psr_mode = <0>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */
/* target decon VCLK = 75MHz */
/* vclk_mif = 140MHz */
mif-vclk = <140000000>;
/* vclk = 140MHz */
disp-vclk = <140000000>;
/* decon_divider_num = 1024 */
vclk-num = <1024>;
/* decon_divider_denom = 731 */
vclk-denom = <731>;
/* aclk = 208MHz */
disp-dvfs = <208000000>;
/* XEINT3, GPIO & pin control */
gpios = <&gpa0 3 0xf>;
status = "okay";
};
dsim_0: dsim@14800000 {
lcd_info = <&s6e8aa0>;
/*lcd reset */
gpios = <&gpd2 0 0x1>;
status = "okay";
};
s6e8aa0: s6e8aa0_hd {
mode = <0>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */
/* HD(720 x 1280) */
panel_name = "s6e8aa0";
resolution = <720 1280>;
size = <71 114>;
timing,refresh = <60>;
/* dsim H porch : hbp, hfp, hsa */
timing,dsim_h-porch = <1 1 1>;
/* dsim V porch : VBP, VFP, VSA */
timing,dsim_v-porch = <1 13 2>;
/* decon H porch : hbp, hfp, hsa */
timing,decon_h-porch = <1 564 1>;
/* decon V porch : VBP, VFP, VSA */
timing,decon_v-porch = <1 13 2>;
timing,dsi-hs-clk = <600>;
timing,pms = <4 185 1>;
timing,dsi-escape-clk = <16>;
};
pinctrl@139F0000 {
if_irq: if-irq {
samsung,pins = "gpa0-5";
samsung,pin-pud = <3>;
samsung,pin-drv = <3>;
};
};
i2c@13880000 {
status = "okay";
muic-s2mm001@25 {
compatible = "sec-muic,i2c";
reg = <0x25>;
pinctrl-names = "default";
muic,muic_int = <&gpa1 1 0>;
};
};
speedy@10510000 {
status = "okay";
s2mpu06mfd@00 {
compatible = "samsung,s2mpu06mfd";
reg = <0x00>;
pinctrl-names = "default";
pinctrl-0 = <&if_irq>;
s2mpu06,wakeup = "enabled";
s2mpu06,irq-gpio = <&gpa0 5 0>;
i2c-speedy-address;
cache_data = <1>;
/* RTC: wtsr/smpl */
wtsr_en = "enabled"; /* enable */
smpl_en = "enabled"; /* enable */
wtsr_timer_val = <3>; /* 1000ms */
smpl_timer_val = <4>; /* 500ms */
check_jigon = <0>; /* do not check jigon */
/* RTC: If it's first boot, reset rtc to 1/1/2015 12:00:00(Wed) */
init_time,sec = <0>;
init_time,min = <0>;
init_time,hour = <0>;
init_time,mday = <1>;
init_time,mon = <0>;
init_time,year = <116>;
init_time,wday = <5>;
s2mpu06-keys {
button@1 {
label = "pmic-keys: KEY_POWER";
linux,code = <116>;
wakeup = <1>;
};
};
regulators {
buck1_reg: BUCK1 {
regulator-name = "BUCK1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
regulator-expected-consumer = <6>;
};
buck2_reg: BUCK2 {
regulator-name = "BUCK2";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
buck3_reg: BUCK3 {
regulator-name = "BUCK3";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo1_reg: LDO1 {
regulator-name = "vdd_ldo1";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-boot-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo2_reg: LDO2 {
regulator-name = "vdd_ldo2";
regulator-min-microvolt = <1500000>;
regulator-max-microvolt = <2000000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
ldo3_reg: LDO3 {
regulator-name = "vdd_ldo3";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1500000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo4_reg: LDO4 {
regulator-name = "vqmmc";
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <3350000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo5_reg: LDO5 {
regulator-name = "vdd_ldo5";
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <3350000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo6_reg: LDO6 {
regulator-name = "vdd_ldo6";
regulator-min-microvolt = <500000>;
regulator-max-microvolt = <1300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo7_reg: LDO7 {
regulator-name = "vdd_ldo7";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1300000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo8_reg: LDO8 {
regulator-name = "vdd_ldo8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-boot-on;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo13_reg: LDO13 {
regulator-name = "vdd_ldo13";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2000000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo14_reg: LDO14 {
regulator-name = "vemmc";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo15_reg: LDO15 {
regulator-name = "vqemmc";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2000000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo16_reg: LDO16 {
regulator-name = "vmmc";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo17_reg: LDO17 {
regulator-name = "VDD18_CAM_SENSOR_IO";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo18_reg: LDO18 {
regulator-name = "VDD28_CAM_AF";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo19_reg: LDO19 {
regulator-name = "vdd_ldo19";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo20_reg: LDO20 {
regulator-name = "vdd_ldo20";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <2000000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo21_reg: LDO21 {
regulator-name = "vdd_ldo21";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo22_reg: LDO22 {
regulator-name = "vdd_ldo22";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo23_reg: LDO23 {
regulator-name = "VDD12_CAM_CORE";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo24_reg: LDO24 {
regulator-name = "AVDD28_CAM";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
};
};
audio_codec_cod9002x: cod9002x@03 {
compatible = "codec,cod9002x";
reg = <0x03>;
i2c-speedy-address;
vdd-supply = <&ldo13_reg>;
pinctrl-names = "default";
/*pinctrl-0 = <&cod9002_irq>;
interrupt-parent = <&gpa0>;
gpios = <&gpa0 4 0xf>;*/
mic-bias1-voltage = <3>;
mic-bias2-voltage = <3>;
mic-bias-ldo-voltage = <3>;
};
fimc_is_flash@06 {
compatible = "samsung,sensor-flash-i2c";
reg = <0x06>;
id = <0>;
flash-gpio = <&gpa0 0 0>;
i2c-speedy-address;
};
};
pinctrl@139D0000 {
melfas_irq: melfas-irq {
samsung,pins = "gpc3-2";
samsung,pin-pud = <3>;
samsung,pin-drv = <3>;
};
};
mif_pdata {
reg = <0 0x10000 0x0>;
};
i2c@13840000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-slave-addr = <0x10>;
samsung,i2c-max-bus-freq = <400000>;
pinctrl-0 = <&i2c3_bus &melfas_irq>;
pinctrl-names = "default";
status = "okay";
touchscreen@48 {
compatible = "melfas,mms-ts";
reg = <0x48>;
melfas,panel-coords = <0 0 720 1280>;
melfas,i2c-pull-up; // optional: enable i2c pull-up
melfas,scl-gpio = <&gpc3 1 0>;
melfas,sda-gpio = <&gpc3 0 0>;
melfas,irq-gpio = <&gpc3 2 0>;
};
};
pinctrl@139F0000 {
key_volup: key-volup {
samsung,pins = "gpa0-7";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
key_home: key-home {
samsung,pins = "gpa0-4";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
gpio_keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_volup &key_home>;
#address-cells = <1>;
#size-cells = <0>;
button@1 {
label = "gpio-keys: KEY_VOLUMEUP";
interrupts = <7 0 0>;
interrupt-parent = <&gpa0>;
linux,code = <116>;
gpios = <&gpa0 7 0xf>;
gpio-key,wakeup = <1>;
};
button@2 {
label = "gpio-keys: KEY_HOME";
interrupts = <4 0 0>;
interrupt-parent = <&gpa0>;
linux,code = <172>;
gpios = <&gpa0 4 0xf>;
gpio-key,wakeup = <1>;
};
cod9002_irq: cod9002-irq {
samsung,pins = "gpa0-4";
samsung,pin-pud = <3>;
samsung,pin-drv = <3>;
};
};
s1403x: s1403x@14880000 {
pinctrl-names = "default", "idle";
pinctrl-0 = <&i2s_pmic_bus
&i2s_amp_bus
&i2s_codec_clk>;
pinctrl-1 = <&i2s_pmic_bus_idle
&i2s_amp_bus_idle> ;
bck-mcko-mode;
status = "okay";
};
i2s_dummy: dummy-i2s {
compatible = "samsung,dummy-i2s";
status = "okay";
};
i2s0: i2s@148A0000 {
status = "okay";
};
i2s1: i2s@148B0000 {
status = "okay";
};
audio_cp_dummy: cp_dummy {
compatible = "samsung,cp_dummy";
status = "okay";
};
audio_fm_dummy: fm_dummy {
compatible = "samsung,fm_dummy";
status = "okay";
};
audio_bt_dummy: bt_dummy {
compatible = "samsung,bt_dummy";
status = "okay";
};
audio_codec_dummy: dummy-codec {
compatible = "samsung,dummy-codec";
status = "okay";
};
sound {
compatible = "samsung,smdk7570-cod9002x";
samsung,audio-cpu = <&i2s0 /* primary */
&i2s0 /* secondary */
&audio_cp_dummy
&audio_bt_dummy
&audio_fm_dummy
&i2s1 /*AMP for AP */
&audio_cp_dummy /*AMP for CP */
&eax
&eax
&eax
&eax>;
samsung,audio-codec = <&audio_codec_cod9002x
&audio_codec_cod9002x
&audio_codec_cod9002x
&audio_codec_dummy
&audio_codec_cod9002x
&audio_codec_dummy
&audio_codec_dummy
&audio_codec_cod9002x
&audio_codec_cod9002x
&audio_codec_cod9002x
&audio_codec_cod9002x>;
samsung,auxdev = <&s1403x>;
status = "okay";
};
usb@13600000 {
status = "okay";
dwc3 {
dr_mode = "otg";
};
};
usbphy@135c0000 {
status = "okay";
hs_tune_info = <&usb_hs_tune>;
ss_tune_info = <&usb_ss_tune>;
};
usb_hs_tune:hs_tune {
status = "okay";
/* value = <device host> */
tx_vref = <0x3 0x3>;
tx_pre_emp = <0x0 0x0>;
tx_pre_emp_puls = <0x0 0x0>;
tx_res = <0x2 0x2>;
tx_rise = <0x1 0x1>;
tx_hsxv = <0x0 0x0>;
tx_fsls = <0x3 0x3>;
rx_sqrx = <0x5 0x5>;
compdis = <0x3 0x3>;
otg= <0x2 0x2>;
/* true : 1, false: 0 */
/* <enable_user_imp user_imp_value> */
enable_user_imp = <0 0>;
/* PHY clk : 1 , FREE clk : 0 */
is_phyclock = <1>;
};
usb_ss_tune:ss_tune {
status = "disabled";
/* value = <device host> */
tx_boost_level = <0x4 0x4>;
tx_swing_level = <0x1 0x1>;
tx_swing_full = <0x7F 0x7F>;
tx_swing_low = <0x7F 0x7F>;
tx_deemphasis_mode = <0x1 0x1>;
tx_deemphasis_3p5db = <0x18 0x18>;
tx_deemphasis_6db = <0x18 0x18>;
enable_ssc = <0x1 0x1>;
ssc_range = <0x0 0x1>;
los_bias = <0x5 0x5>;
los_mask_val = <0x104 0x104>;
enable_fixed_rxeq_mode = <0x0 0x0>;
fix_rxeq_value = <0x4 0x4>;
set_crport_mpll_charge_pump = <0x0 0x0>;
set_crport_level_en = <0x0 0x0>;
};
usb_notifier {
compatible = "samsung,usb-notifier";
udc = <&udc>;
};
tmuctrl_0: tmuctrl_CPUCL0@10130000 {
compatible = "samsung,exynos7570-tmu";
reg = <0x0 0x10130000 0x200>;
interrupts = <0 435 0>;
default_ptat_cont = <0x1>;
};
tmuctrl_1: tmuctrl_G3D@10130000 {
compatible = "samsung,exynos7570-tmu";
reg = <0x0 0x10130000 0x200>;
interrupts = <0 435 0>;
default_ptat_cont = <0x1>;
/* gpu cooling related table */
gpu_idx_num = <5>;
/* flags, driver_data(index), frequency */
gpu_cooling_table = < 0 0 830000
0 1 666000
0 2 553000
0 3 415000
0 4 TABLE_END>;
};
exynos_rgt {
compatible = "samsung,exynos-rgt";
};
exynos-pm {
compatible = "samsung,exynos-pm";
reg = <0x0 0x139F0000 0x1000>,
<0x0 0x104E1200 0x100>;
reg-names = "gpio_alive_base",
"gicd_ispendrn_base";
num-eint = <24>;
num-gic = <16>;
suspend_mode_idx = <7>; /* SYS_DSTOP */
suspend_psci_idx = <131>; /* PSCI_SYSTEM_SLEEP */
cp_call_mode_idx = <4>; /* SYS_LPD */
cp_call_psci_idx = <132>; /* PSCI_SYSTEM_CP_CALL */
};
exynos-powermode {
compatible = "exynos,powermode";
/* sicd sicd_cpd aftr stop
* lpd lpa alpa dstop
* sleep
*/
wakeup_mask = <0x400791E1>, <0x0>, <0x0>, <0x0>,
<0x0>, <0x0>, <0x0>, <0x0>,
<0x4007FFFC>;
wakeup_mask2 = <0x0>, <0x0>, <0x0>, <0x0>,
<0x0>, <0x0>, <0x0>, <0x0>,
<0xFFFF00FF>;
wakeup_mask3 = <0x0>, <0x0>, <0x0>, <0x0>,
<0x0>, <0x0>, <0x0>, <0x0>,
<0xFFFF00FF>;
cpd_residency = <3000>;
sicd_residency = <3000>;
sicd_enabled = <1>;
idle-ip = "136c0000.pwm", /* idle ip index : 0 */
"10550000.adc", /* idle ip index : 1 */
"10510000.hsi2c", /* idle ip index : 2 */
"13950000.hsi2c", /* idle ip index : 3 */
"13960000.hsi2c", /* idle ip index : 4 */
"138a0000.hsi2c", /* idle ip index : 5 */
"138b0000.hsi2c", /* idle ip index : 6 */
"138c0000.hsi2c", /* idle ip index : 7 */
"138f0000.hsi2c", /* idle ip index : 8 */
"13870000.i2c", /* idle ip index : 9 */
"13880000.i2c", /* idle ip index : 10 */
"13890000.i2c", /* idle ip index : 11 */
"13840000.i2c", /* idle ip index : 12 */
"13830000.i2c", /* idle ip index : 13 */
"138d0000.i2c", /* idle ip index : 14 */
"138e0000.i2c", /* idle ip index : 15 */
"13850000.i2c", /* idle ip index : 16 */
"13860000.i2c", /* idle ip index : 17 */
"13540000.dwmmc0", /* idle ip index : 18 */
"13560000.dwmmc2", /* idle ip index : 19 */
"13600000.usb", /* idle ip index : 20 */
"100c0000.spi", /* idle ip index : 21 */
"13900000.spi", /* idle ip index : 22 */
"13910000.spi", /* idle ip index : 23 */
"13920000.spi", /* idle ip index : 24 */
"13930000.spi", /* idle ip index : 25 */
"10500000.mailbox-cp", /* idle ip index : 26 */
"10570000.mailbox-gnss", /* idle ip index : 27 */
"14830000.decon_fb", /* idle ip index : 28 */
"pd-g3d", /* idle ip index : 29 */
"pd-isp", /* idle ip index : 30 */
"pd-mfcmscl", /* idle ip index : 31 */
"148f0000.lpass"; /* idle ip index : 32 */
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>;
};
};
};
acpm: acpm@11C88000 {
compatible = "samsung,exynos-acpm";
#address-cells = <2>;
#size-cells = <1>;
reg = <0x0 0x11C88000 0x1000>;
log_base = <0x02047700>;
time_len = <32>;
log_buff_size = <16>;
log_buff_len = <380>;
debug_logging_level = <0>;
logging_period = <500>;
dump_base = <0x02046000>;
dump_size = <0x3800>;
plugins {
framework {
attach = <2>;
id = <0>;
acpm-ipc-channel = <&framework_ch>;
};
};
};
acpm_ipc: acpm_ipc@11C00000 {
compatible = "samsung,exynos-acpm-ipc";
#address-cells = <2>;
#size-cells = <1>;
interrupts = <0 22 0>;
reg = <0x0 0x11C00000 0x1000>;
channels {
polling = <1>;
max_buff_size = <0x300>;
framework_ch: framework@0x02047400 {
channel_id = <0>;
rx_buff = <0x02047400>;
tx_buff = <0x02047480>;
buff_size = <12>;
buff_len = <8>;
direction_buff = <412>;
};
};
};
fimc_is@14400000 {
rear_sensor_id = <14>; /* 3M2 */
front_sensor_id = <22>; /* 5E2 */
use_module_check;
skip_cal_loading;
fimc_is_dvfs {
#define DVFS_INT_L0 467000
#define DVFS_INT_L1 415000
#define DVFS_CAM_L0 666000
#define DVFS_CAM_L1 554000
#define DVFS_CAM_L2 444000
#define DVFS_MIF_L0 830000
#define DVFS_MIF_L1 700000
#define DVFS_MIF_L2 666000
#define DVFS_MIF_L3 415000
table0 {
desc = "HAL1 version";
default_int = <DVFS_INT_L0>;
default_cam = <DVFS_CAM_L1>;
default_mif = <DVFS_MIF_L0>;
default_i2c = <0>;
front_preview_int = <DVFS_INT_L0>;
front_preview_cam = <DVFS_CAM_L2>;
front_preview_mif = <DVFS_MIF_L0>;
front_preview_i2c = <0>;
front_capture_int = <DVFS_INT_L0>;
front_capture_cam = <DVFS_CAM_L2>;
front_capture_mif = <DVFS_MIF_L0>;
front_capture_i2c = <0>;
front_video_int = <DVFS_INT_L0>;
front_video_cam = <DVFS_CAM_L2>;
front_video_mif = <DVFS_MIF_L0>;
front_video_i2c = <0>;
front_video_capture_int = <DVFS_INT_L0>;
front_video_capture_cam = <DVFS_CAM_L2>;
front_video_capture_mif = <DVFS_MIF_L0>;
front_video_capture_i2c = <0>;
front_vt1_int = <DVFS_INT_L0>;
front_vt1_cam = <DVFS_CAM_L2>;
front_vt1_mif = <DVFS_MIF_L0>;
front_vt1_i2c = <0>;
front_vt2_int = <DVFS_INT_L0>;
front_vt2_cam = <DVFS_CAM_L2>;
front_vt2_mif = <DVFS_MIF_L0>;
front_vt2_i2c = <0>;
rear_preview_int = <DVFS_INT_L0>;
rear_preview_cam = <DVFS_CAM_L1>;
rear_preview_mif = <DVFS_MIF_L0>;
rear_preview_i2c = <0>;
rear_capture_int = <DVFS_INT_L0>;
rear_capture_cam = <DVFS_CAM_L1>;
rear_capture_mif = <DVFS_MIF_L0>;
rear_capture_i2c = <0>;
rear_video_int = <DVFS_INT_L0>;
rear_video_cam = <DVFS_CAM_L1>;
rear_video_mif = <DVFS_MIF_L0>;
rear_video_i2c = <0>;
rear_video_capture_int = <DVFS_INT_L0>;
rear_video_capture_cam = <DVFS_CAM_L1>;
rear_video_capture_mif = <DVFS_MIF_L0>;
rear_video_capture_i2c = <0>;
preview_high_speed_fps_int = <DVFS_INT_L0>;
preview_high_speed_fps_cam = <DVFS_CAM_L2>;
preview_high_speed_fps_mif = <DVFS_MIF_L0>;
preview_high_speed_fps_i2c = <0>;
video_high_speed_60fps_int = <DVFS_INT_L0>;
video_high_speed_60fps_cam = <DVFS_CAM_L2>;
video_high_speed_60fps_mif = <DVFS_MIF_L0>;
video_high_speed_60fps_i2c = <0>;
video_high_speed_120fps_int = <DVFS_INT_L0>;
video_high_speed_120fps_cam = <DVFS_CAM_L2>;
video_high_speed_120fps_mif = <DVFS_MIF_L0>;
video_high_speed_120fps_i2c = <0>;
max_int = <DVFS_INT_L0>;
max_cam = <DVFS_CAM_L0>;
max_mif = <DVFS_MIF_L0>;
max_i2c = <0>;
};
table1 {
desc = "HAL3 version";
default_int = <DVFS_INT_L0>;
default_cam = <DVFS_CAM_L1>;
default_mif = <DVFS_MIF_L0>;
default_i2c = <0>;
front_preview_int = <DVFS_INT_L0>;
front_preview_cam = <DVFS_CAM_L2>;
front_preview_mif = <DVFS_MIF_L0>;
front_preview_i2c = <0>;
front_capture_int = <DVFS_INT_L0>;
front_capture_cam = <DVFS_CAM_L2>;
front_capture_mif = <DVFS_MIF_L0>;
front_capture_i2c = <0>;
front_video_int = <DVFS_INT_L0>;
front_video_cam = <DVFS_CAM_L2>;
front_video_mif = <DVFS_MIF_L0>;
front_video_i2c = <0>;
front_video_capture_int = <DVFS_INT_L0>;
front_video_capture_cam = <DVFS_CAM_L2>;
front_video_capture_mif = <DVFS_MIF_L0>;
front_video_capture_i2c = <0>;
front_vt1_int = <DVFS_INT_L0>;
front_vt1_cam = <DVFS_CAM_L2>;
front_vt1_mif = <DVFS_MIF_L0>;
front_vt1_i2c = <0>;
front_vt2_int = <DVFS_INT_L0>;
front_vt2_cam = <DVFS_CAM_L2>;
front_vt2_mif = <DVFS_MIF_L0>;
front_vt2_i2c = <0>;
rear_preview_int = <DVFS_INT_L0>;
rear_preview_cam = <DVFS_CAM_L1>;
rear_preview_mif = <DVFS_MIF_L0>;
rear_preview_i2c = <0>;
rear_capture_int = <DVFS_INT_L0>;
rear_capture_cam = <DVFS_CAM_L1>;
rear_capture_mif = <DVFS_MIF_L0>;
rear_capture_i2c = <0>;
rear_video_int = <DVFS_INT_L0>;
rear_video_cam = <DVFS_CAM_L1>;
rear_video_mif = <DVFS_MIF_L0>;
rear_video_i2c = <0>;
rear_video_capture_int = <DVFS_INT_L0>;
rear_video_capture_cam = <DVFS_CAM_L1>;
rear_video_capture_mif = <DVFS_MIF_L0>;
rear_video_capture_i2c = <0>;
preview_high_speed_fps_int = <DVFS_INT_L0>;
preview_high_speed_fps_cam = <DVFS_CAM_L2>;
preview_high_speed_fps_mif = <DVFS_MIF_L0>;
preview_high_speed_fps_i2c = <0>;
video_high_speed_60fps_int = <DVFS_INT_L0>;
video_high_speed_60fps_cam = <DVFS_CAM_L2>;
video_high_speed_60fps_mif = <DVFS_MIF_L0>;
video_high_speed_60fps_i2c = <0>;
video_high_speed_120fps_int = <DVFS_INT_L0>;
video_high_speed_120fps_cam = <DVFS_CAM_L2>;
video_high_speed_120fps_mif = <DVFS_MIF_L0>;
video_high_speed_120fps_i2c = <0>;
max_int = <DVFS_INT_L0>;
max_cam = <DVFS_CAM_L0>;
max_mif = <DVFS_MIF_L0>;
max_i2c = <0>;
};
};
};
fimc_is_module_3m2: fimc-is_sensor_3m2@5A {
compatible = "samsung,sensor-module-3m2";
pinctrl-names = "pin0", "pin1", "pin2";
pinctrl-0 = <>;
pinctrl-1 = <&fimc_is_mclk0_in &fimc_is_flash>;
pinctrl-2 = <&fimc_is_mclk0_fn &fimc_is_flash>;
position = <0>; /* Rear:0. Front:1 */
id = <0>; /* sensor node id */
mclk_ch = <0>;
sensor_i2c_ch = <0>; /* I2C 0 */
sensor_i2c_addr = <0x2D>;
gpio_reset = <&gpd1 6 0x1>; /* sensor reset */
status = "okay";
af {
product_name = <9>; /* AK7348 */
i2c_addr = <0x0C>;
i2c_ch = <0>; /* I2C 0 */
};
/* TODO : need to update */
flash {
product_name = <13>; /* FLASH_I2C */
flash_first_gpio = <2>;
flash_second_gpio = <1>;
};
};
fimc_is_module_5e2: fimc-is_sensor_5e2@22 {
compatible = "samsung,sensor-module-5e2";
pinctrl-names = "pin0", "pin1", "pin2";
pinctrl-0 = <>;
pinctrl-1 = <&fimc_is_mclk0_in>;
pinctrl-2 = <&fimc_is_mclk0_fn>;
position = <1>; /* Rear:0. Front:1 */
id = <1>; /* sensor node id */
mclk_ch = <0>;
sensor_i2c_ch = <1>;
sensor_i2c_addr = <0x10>;
gpio_reset = <&gpd1 1 0x1>;
status = "okay";
};
fimc_is_module_dsim: fimc-is_sensor_dsim {
compatible = "samsung,exynos5-fimc-is-sensor-dsim";
position = <0>; /* Rear:0. Front:1 */
id = <0>; /* sensor node id */
mclk_ch = <0>;
sensor_i2c_ch = <0>; /* I2C 0 */
sensor_i2c_addr = <0x5A>;
status = "okay";
};
hsi2c_2: hsi2c@138A0000 {
gpios = <&gpf0 0 0 &gpf0 1 0>;
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&hs_i2c2_bus>;
fimc-is-3m2@2D {
compatible = "samsung,exynos5-fimc-is-cis-3m2";
reg = <0x2D>;
id = <0>; /* matching sensor id */
setfile = "default";
};
fimc-is-actuator@0C {
compatible = "samsung,exynos5-fimc-is-actuator-ak7348";
reg = <0x0C>;
id = <0>; /* matching sensor id */
};
};
hsi2c_3: hsi2c@138C0000 {
gpios = <&gpf0 2 0 &gpf0 3 0>;
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default";
pinctrl-0 = <&hs_i2c3_bus>;
fimc-is-5e2@10 {
compatible = "samsung,exynos5-fimc-is-cis-5e2";
reg = <0x10>;
id = <1>; /* matching sensor id */
setfile = "default";
};
};
#define SENSOR_SCENARIO_NORMAL 0
#define SENSOR_SCENARIO_VISION 1
#define SENSOR_SCENARIO_EXTERNAL 2
#define SENSOR_SCENARIO_OIS_FACTORY 3
#define SENSOR_SCENARIO_VIRTUAL 9
#define FLITE_ID_NOTHING 100
fimc_is_sensor0: fimc_is_sensor0@14420000 {
scenario = <SENSOR_SCENARIO_NORMAL>; /* Normal, Vision, OIS etc */
id = <0>;
csi_ch = <0>;
flite_ch = <0>;
is_bns = <1>;
status = "okay";
};
fimc_is_sensor1: fimc_is_sensor1@14420000 {
scenario = <SENSOR_SCENARIO_NORMAL>; /* Normal, Vision, OIS etc */
id = <1>;
csi_ch = <0>;
flite_ch = <0>;
is_bns = <1>;
status = "okay";
};
};