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

1846 lines
47 KiB
Text
Executable file

/*
* SAMSUNG UNIVERSAL7570 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.
*/
#include "exynos7570-rev01.dtsi"
/ {
model = "Samsung ON5XELTE board based on EXYNOS7570";
compatible = "samsung,exynos7570", "samsung,exynos4210";
memory@40000000 {
device_type = "memory";
reg = <0x0 0x40000000 0x3E400000>;
};
memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x40000000>;
};
chosen {
bootargs = "console=ttySAC2,115200 clk_ignore_unused androidboot.hardware=samsungexynos7570 androidboot.selinux=disabled firmware_class.path=/vendor/firmware ess_setup=0x46000000 bcm_setup=0xffffff80f8e00000 androidboot.debug_level=0x4948 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;
pm-skip-mmc-resume-init;
mmc_pwr_shut_down;
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>;
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>;
sec-sd-slot-type = <2>; /* Hybrid SD slot */
slot@0 {
reg = <0>;
bus-width = <4>;
disable-wp;
};
};
ion {
compatible = "samsung,exynos5430-ion";
};
i2c@35 {
compatible = "i2c-gpio";
gpios = <&gpc2 0 0
&gpc2 1 0>;
i2c-gpio,delay-us = <5>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
isl98611@35 {
compatible = "isl98611,i2c";
reg = <0x29>;
};
};
decon_fb@14830000 {
psr_mode = <0>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */
/* vclk_mif = 200MHz */
mif-vclk = <200000000>;
/* vclk = 200MHz */
disp-vclk = <200000000>;
/* Target vclk 121.3Mhz */
/* decon_divider_num = 1024 */
vclk-num = <1024>;
/* decon_divider_denom = 621 */
vclk-denom = <621>;
/* aclk = 208Mhz */
disp-dvfs = <208000000>;
};
dsim_0: dsim@14800000 {
lcd_info = <&td4100>;
decon_board = <&decon_board_list>;
status = "okay";
/* number of data lanes in use */
data_lane_cnt = <4>;
};
decon_board_list: decon_board_list {
dsim_set_panel_power_enable_early {
type = "regulator,enable", "delay,usleep";
delay = <1000 2000>;
regulator = "LCD_1P8";
};
dsim_set_panel_power_enable {
type = "gpio,high", "delay,usleep", "gpio,high", "delay,usleep", "gpio,high", "delay,usleep";
gpios = <&gpa1 2 0x1>, <&gpa2 0 0x1>, <&gpa2 1 0x1>; // DDI -> BL_EN -> ENP -> ENN
delay = <1000 2000>, <1000 2000>, <10000 11000>;
};
dsim_set_panel_power_disable {
type = "delay,usleep", "gpio,low", "delay,usleep", "gpio,low", "delay,usleep", "gpio,low", "delay,usleep", "gpio,low", "delay,usleep", "regulator,disable";
gpios = <&gpa2 1 0x1>, <&gpa2 0 0x1>, <&gpd2 0 0x1>, <&gpa1 2 0x1>; // ENN -> ENP -> RESET -> BL_EN -> DDI
delay = <5000 6000>, <5000 6000>, <15000 16000>, <5000 6000>, <10000 11000>;
regulator = "LCD_1P8";
};
dsim_reset_panel {
type = "gpio,high", "delay,usleep", "gpio,low", "delay,usleep", "gpio,high";
gpios = <&gpd2 0 0x1>, <&gpd2 0 0x1>, <&gpd2 0 0x1>;
delay = <1000 1100>, <1000 1100>;
};
};
td4100: td4100_hd {
mode = <0>; /* 0: video mode, 1: DP command mode, 2: MIPI command mode */
/* HD(720 x 1280) */
panel_name = "td4100";
resolution = <720 1280>;
dispif_resol = <720 1280>;
size = <62 106>;
timing,refresh = <60>;
/* dsim H porch : hbp, hfp, hsa */
timing,dsim_h-porch = <25 210 25>;
/* dsim V porch : VBP, VFP, VSA */
timing,dsim_v-porch = <13 400 2>;
/* decon H porch : hbp, hfp, hsa */
timing,decon_h-porch = <25 423 25>;
/* decon V porch : VBP, VFP, VSA */
timing,decon_v-porch = <13 400 2>;
timing,dsi-hs-clk = <728>;
timing,pms = <2 112 1>;
timing,dsi-escape-clk = <16>;
};
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>;
};
pinctrl@139F0000 {
key_volup: key-volup {
samsung,pins = "gpa0-7";
samsung,pin-function = <0xf>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
key_voldown: key-voldown {
samsung,pins = "gpa2-3";
samsung,pin-function = <0xf>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
key_home: key-home {
samsung,pins = "gpa0-4";
samsung,pin-function = <0xf>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
if_irq: if-irq {
samsung,pins = "gpa0-5";
samsung,pin-pud = <3>;
samsung,pin-drv = <3>;
};
muic_irq: muic-irq {
samsung,pins = "gpa1-1";
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
if_con_sense_int: if-con-sense-int {
samsung,pins = "gpa0-6";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
};
};
pinctrl@139C0000 {
svcled_en: svcled_en {
samsung,pins = "gpc2-2";
samsung,pin-function = <1>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
};
usi_1: usi@101D3000 {
usi_mode = "hsi2c1";
status = "okay";
};
hsi2c_8: hsi2c@13940000 {
status = "okay";
ktd2026@30 {
compatible = "ktd2026";
reg=<0x30>;
pinctrl-names = "default";
svcled_en = <&gpc2 2 0x0>;
led_conf@1 {
led_conf-name = "led_r";
brightness = <0>;
max_brightness = /bits/ 8 <0x19>;//white
max_brightness2 = /bits/ 8 <0x1C>;//gold
max_brightness3 = /bits/ 8 <0x1C>;//black
flags = <0>;
};
led_conf@2 {
led_conf-name = "led_g";
brightness = <0>;
max_brightness = /bits/ 8 <0x04>;//white
max_brightness2 = /bits/ 8 <0x05>;//gold
max_brightness3 = /bits/ 8 <0x06>;//black
flags = <0>;
};
led_conf@3 {
led_conf-name = "led_b";
brightness = <0>;
max_brightness = /bits/ 8 <0x2D>;//white
max_brightness2 = /bits/ 8 <0x3C>;//gold
max_brightness3 = /bits/ 8 <0x4B>;//black
flags = <0>;
};
};
};
gpio_keys {
compatible = "gpio-keys";
pinctrl-names = "default";
pinctrl-0 = <&key_voldown &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 = <115>;
gpios = <&gpa0 7 0xf>;
};
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>;
};
button@3 {
label = "gpio-keys: KEY_VOLUMEDOWN";
interrupts = <3 0 0>;
interrupt-parent = <&gpa2>;
linux,code = <114>;
gpios = <&gpa2 3 0xf>;
};
};
pinctrl@139D0000 {
attn_irq: attn-irq {
samsung,pins = "gpc3-2";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
attn_input: attn-input {
samsung,pins = "gpc3-2";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
pinctrl@148C0000 {
i2s_pmic_bus: i2s-pmic-bus {
samsung,pins = "gpz1-0", "gpz1-2", "gpz1-3";
samsung,pin-function = <2>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
i2s_pmic_bus_idle: i2s-pmic-bus-idle {
samsung,pins = "gpz1-0", "gpz1-2", "gpz1-3";
samsung,pin-function = <0>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
};
pinctrl@139B0000 {
i2c4_bus: i2c4-bus {
samsung,pins = "gpc4-1", "gpc4-0";
samsung,pin-function = <2>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
};
pinctrl@139F0000 {
tkey_irq: tkey-irq {
samsung,pins = "gpa0-2";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
tkey_input: tkey-input {
samsung,pins = "gpa0-2";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
i2c@13830000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
mip4_tk@49{
compatible = "melfas,mip4_tk";
reg = <0x49>;
pinctrl-names = "default", "on_state","off_state";
pinctrl-0 = <&tkey_irq>;
pinctrl-1 = <&tkey_irq>;
pinctrl-2 = <&tkey_input>;
mip4_tk,keynum = <2>;
mip4_tk,keycode = <254 158>;
mip4_tk,irq-gpio = <&gpa0 2 0>;
mip4_tk,pwr-reg-name = "touchkey_3p0";
mip4_tk,boot-on-ldo = <1>;
mip4_tk,firmware-name = "melfas_tk/mhs204_on5xlte.fw";
};
};
/* TOUCH */
pinctrl@139D0000 {
/* I2C_TSP */
i2c3_bus: i2c3-bus {
samsung,pins = "gpc3-1", "gpc3-0";
samsung,pin-function = <2>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
i2c_on: i2c-on {
samsung,pins = "gpc3-1", "gpc3-0";
samsung,pin-function = <2>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
i2c_off: i2c-off {
samsung,pins = "gpc3-1", "gpc3-0";
samsung,pin-function = <2>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
attn_input: attn-input {
samsung,pins = "gpc3-2";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
attn_irq: attn-irq {
samsung,pins = "gpc3-2";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
i2c@13840000 {
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
samsung,i2c-max-bus-freq = <400000>;
touchscreen@4b {
compatible = "synaptics,rmi4";
reg = <0x4b>;
pinctrl-names = "default", "on_state", "off_state";
pinctrl-0 = <&attn_irq>;
pinctrl-1 = <&i2c_on>;
pinctrl-2 = <&i2c_off>;
synaptics,irq_gpio = <&gpc3 2 0>;
synaptics,irq_type = <8200>;
synaptics,max_coords = <720 1280>; /* x y */
synaptics,num_lines = <29 16>; /* rx tx */
synaptics,project_name = "On5x","G570";
synaptics,ub-i2c-addr = <0x2c>;
synaptics,reset-delay-ms = <150>;
synaptics,firmware_name = "tsp_synaptics/td4100_on5xlte.fw";
synaptics,firmware_name_bl = "tsp_synaptics/td4100_on5xlte_recovery.fw";
};
};
i2c@13880000 {
status = "okay";
muic-universal@14 {
status = "okay";
compatible = "muic-universal";
reg = <0x14>;
pinctrl-names = "default";
pinctrl-0 = <&muic_irq>;
muic-universal,chip_name = "sm,sm5504";
muic-universal,irq-gpio = <&gpa1 1 0>;
};
};
muic {
status = "okay";
muic,support-list = "+OTG:GND",
"-MHL:1K",
"-VZW Accessory:28.7K",
"-VZW Incompatible:34K",
"-Smartdock:40.2K",
"-HMT:49.9K",
"-Audiodock:64.9K",
"-USB LANHUB:80.07K",
"-Charging Cable:102K",
"-Universal Multimedia dock:121K",
"+Jig USB Off:255K",
"+Jig USB On:301K",
"+Deskdock:365K",
"+TYPE2 Charger:442K",
"+Jig UART Off:523K",
"+Jig UART On:619K",
"+TA:OPEN",
"+USB:OPEN",
"+CDP:OPEN",
"+Undefined Charging:XXX";
/*muic,otg_en = /bits/ 8 <0x1>;*/
};
/* FP */
pinctrl@139E0000 {
gpc7: gpc7 {
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
};
/* SPI_FP */
spi0_bus: spi0-bus {
samsung,pins = "gpc7-3", "gpc7-2", "gpc7-1", "gpc7-0";
samsung,pin-function = <2>;
samsung,pin-pud = <3>;
samsung,pin-drv = <0>;
};
spi0_bus_inactive: spi0-bus-inactive {
samsung,pins = "gpc7-3", "gpc7-2", "gpc7-1", "gpc7-0";
samsung,pin-function = <2>;
samsung,pin-pud = <1>;
samsung,pin-drv = <0>;
};
};
pinctrl@139F0000 {
acc_int: acc_int {
samsung,pins = "gpa2-2";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
prox_int: prox_int {
samsung,pins = "gpa1-0";
samsung,pin-function = <0x0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
i2c@138D0000 {
samsung,i2c-sda-delay = <100>;
samsung,i2c-max-bus-freq = <400000>;
status = "okay";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
stk3013@48 {
compatible = "stk,stk3013";
reg = <0x48>;
interrupt-parent = <&gpa1>;
interrupts = <0 0 0>;
pinctrl-names = "default";
pinctrl-0 = <&prox_int>;
stk,vdd-supply = <&ldo22_reg>;
stk,irq-gpio = <&gpa1 0 0x00>;
stk,state-reg = <0x2d>;
stk,psctrl-reg = <0x70>;
stk,alsctrl-reg = <0x2A>;
stk,ledctrl-reg = <0xFF>;
stk,wait-reg = <0x03>;
stk,ps-thd-h = <30>;
stk,ps-thd-l = <20>;
stk,ps-cancel-thd-h = <10>;
stk,ps-cancel-thd-l = <7>;
stk,ps-cal-skip-adc = <8>;
stk,ps-cal-fail-adc = <17>;
stk,ps-default-offset = <0>;
stk,transmittance = <500>;
};
k2hh-i2c@1D {
compatible = "k2hh-i2c";
reg = <0x1D>;
pinctrl-names = "default";
pinctrl-0 = <&acc_int>;
interrupt-parent = <&gpa2>;
interrupts = <6 0 0>;
k2hh,irq_gpio = <&gpa2 2 0>;
k2hh,axis_map_x = <0>;
k2hh,axis_map_y = <1>;
k2hh,axis_map_z = <2>;
k2hh,negate_x = <0>;
k2hh,negate_y = <0>;
k2hh,negate_z = <1>;
k2hh,poll_interval = <100>;
k2hh,min_interval = <2>;
};
};
fimc_is@14400000 {
vender {
rear_sensor_id = <110>; /* IMX258 */
front_sensor_id = <17>; /* 5E3 */
use_module_check;
total_camera_num = <2>;
camera_info0 { // 0 : rear
isp = <0>; /* 0 : INT , 1 : EXT , 2 : SOC */
cal_memory = <2>; /* 0 : N , 1 : FROM , 2 : EEPROM , 3 : OTP */
read_version = <0>; /* 0 : SYSFS , 1 : CAMON */
core_voltage = <0>; /* 0 : N , 1 : Y */
upgrade = <0>; /* 0 : N , 1 : SYSFS , 2 : CAMON */
companion = <0>; /* 0 : N , 1 : Y */
ois = <0>; /* 0 : N , 1 : Y */
};
camera_info1 { // 1 : front
isp = <0>; /* 0 : INT , 1 : EXT , 2 : SOC */
cal_memory = <3>; /* 0 : N , 1 : FROM , 2 : EEPROM , 3 : OTP */
read_version = <0>; /* 0 : SYSFS , 1 : CAMON */
core_voltage = <0>; /* 0 : N , 1 : Y */
upgrade = <0>; /* 0 : N , 1 : SYSFS , 2 : CAMON */
companion = <0>; /* 0 : N , 1 : Y */
ois = <0>; /* 0 : N , 1 : Y */
};
};
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_L1>;
front_video_mif = <DVFS_MIF_L0>;
front_video_i2c = <0>;
front_video_capture_int = <DVFS_INT_L0>;
front_video_capture_cam = <DVFS_CAM_L1>;
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_L1>;
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_L1>;
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_L1>;
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_L1>;
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_L1>;
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_L1>;
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_imx258: fimc-is_sensor_imx258@1A {
compatible = "samsung,sensor-module-imx258";
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 = <0x34>;
gpio_reset = <&gpd1 1 0x1>; /* sensor reset */
status = "okay";
af {
product_name = <13>; /* DW9807 */
i2c_addr = <0x0C>;
i2c_ch = <1>; /* I2C 0 */
};
/* TODO : need to update */
flash {
product_name = <13>; /* FLASH_I2C */
flash_first_gpio = <2>;
flash_second_gpio = <1>;
};
};
fimc_is_module_5e3: fimc-is_sensor_5e3@10 {
compatible = "samsung,sensor-module-5e3";
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 = <0>;
sensor_i2c_addr = <0x10>;
gpio_reset = <&gpd1 6 0x1>;
status = "okay";
};
hsi2c_2: hsi2c@138A0000 {
gpios = <&gpf0 0 0 &gpf0 1 0>;
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default", "on_i2c";
pinctrl-0 = <&hs_i2c2_bus>;
pinctrl-1 = <&hs_i2c2_bus>;
fimc-is-imx258@1A {
compatible = "samsung,exynos5-fimc-is-cis-imx258";
reg = <0x1A>; /* 1 bit right shift */
id = <0>; /* matching sensor id */
sensor_f_number = <2>; /* f number 1.9 */
setfile = "default";
};
fimc-is-5e3@20 {
compatible = "samsung,exynos5-fimc-is-cis-5e3";
reg = <0x10>; /* 1 bit right shift */
id = <1>; /* matching sensor id */
sensor_f_number = <4>; /* f number 2.2 */
setfile = "default";
};
};
hsi2c_3: hsi2c@138C0000 {
gpios = <&gpf0 2 0 &gpf0 3 0>;
status = "okay";
clock-frequency = <400000>;
pinctrl-names = "default", "on_i2c";
pinctrl-0 = <&hs_i2c3_bus>;
pinctrl-1 = <&hs_i2c3_bus>;
rear_eeprom@58 {
compatible = "samsung,rear-eeprom-i2c";
reg = <0x58>;
};
fimc-is-actuator@0C {
compatible = "samsung,exynos5-fimc-is-actuator-dw9807";
reg = <0x0C>;
id = <0>; /* matching sensor id */
};
};
#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";
};
exynos_rgt {
compatible = "samsung,exynos-rgt";
};
but_zones: but_zones {
#list-but-cells = <3>;
};
speedy@10510000 {
status = "okay";
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 3 0xf>;*/
mic-bias1-voltage = <1>;
mic-bias2-voltage = <1>;
mic-bias-ldo-voltage = <3>;
use-btn-adc-mode;
io-channels = <&exynos_adc 2>;
io-channel-names = "adc-jack";
#io-channel-cells = <1>;
io-channel-ranges;
but-zones-list = <&but_zones 226 0 217>,
<&but_zones 582 218 296>,
<&but_zones 115 297 498>,
<&but_zones 114 499 1000>;
mic-adc-range = <1350>;
};
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 = <0>; /* 100ms */
check_jigon = <0>; /* do not check jigon */
/* RTC: If it's first boot, reset rtc to 1/1/2016 12:00:00(Fri) */
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>;
samsung,codec-interrupt = <&audio_codec_cod9002x>;
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 = <3>;
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 = <3>;
};
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 = <3>;
};
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 = <3>;
};
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 = <3>;
};
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-always-on;
regulator-boot-on;
regulator-initial-mode = <3>;
};
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-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo18_reg: LDO18 {
regulator-name = "VDD28_CAM_AF";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo19_reg: LDO19 {
regulator-name = "touchkey_3p0";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-boot-on;
};
ldo20_reg: LDO20 {
regulator-name = "LCD_1P8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-boot-on;
regulator-initial-mode = <3>;
};
ldo21_reg: LDO21 {
regulator-name = "VDD21_MOTOR_3P0";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
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 = <3>;
};
ldo23_reg: LDO23 {
regulator-name = "VDD23_CAM_CORE_1P2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo24_reg: LDO24 {
regulator-name = "AVDD24_CAM_2P8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
};
};
fimc_is_flash@06 {
compatible = "samsung,sensor-flash-i2c";
reg = <0x06>;
id = <0>;
flash-gpio = <&gpa0 0 0>;
flash_current = <1200>;
preflash_current = <160>;
movie_current = <160>;
torch_current = <80>;
factory_current = <160>;
i2c-speedy-address;
};
};
/* modem_interface */
mif_pdata {
reg = <0 0x10000 0x0>;
pinctrl-names = "default";
pinctrl-0 = <&cp_gpio_on5 &sim0_gpio_on5 &sim1_gpio_on5>;
gpios = <&gpd1 2 0>,
<&gpd1 3 0>,
<&gpd1 4 0>,
<&gpd1 5 0>;
};
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 = <0x400F91E1>, <0x0>, <0x0>, <0x0>,
<0x0>, <0x0>, <0x0>, <0x0>,
<0x400FFFFE>;
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 = <0>;
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>;
};
};
};
s1403x: s1403x@14880000 {
pinctrl-names = "default", "idle";
pinctrl-0 = <&i2s_pmic_bus
&i2s_codec_clk>;
pinctrl-1 = <&i2s_pmic_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,universal7570-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>;
mic-bias-mode = <1 0 2 0>;
status = "okay";
};
sec_thermistor@0 {
compatible = "samsung,sec-ap-thermistor";
status = "okay";
adc_array = <285 296 306 317 327 338 350 361 373 384
396 408 420 433 445 457 474 491 508 525
541 563 584 605 626 648 668 690 711 732
753 776 798 822 844 868 898 928 958 988
1018 1051 1084 1117 1150 1183 1217 1251 1286 1320
1354 1395 1435 1476 1516 1557 1603 1649 1696 1743
1789 1831 1874 1917 1959 2001 2049 2097 2145 2194
2242 2291 2340 2389 2437 2485 2531 2576 2622 2667
2713 2755 2797 2838 2880 2922 2965 3007 3050 3092
3135 3168 3201 3235 3268 3301 3330 3360 3389 3419
3448 3470 3492 3514 3536 3558 3582 3607 3631 3656 3680>;
temp_array = <900 890 880 870 860 850 840 830 820 810
800 790 780 770 760 750 740 730 720 710
700 690 680 670 660 650 640 630 620 610
600 590 580 570 560 550 540 530 520 510
500 490 480 470 460 450 440 430 420 410
400 390 380 370 360 350 340 330 320 310
300 290 280 270 260 250 240 230 220 210
200 190 180 170 160 150 140 130 120 110
100 90 80 70 60 50 40 30 20 10
0 (-10) (-20) (-30) (-40) (-50) (-60) (-70) (-80) (-90)
(-100) (-110) (-120) (-130) (-140) (-150) (-160) (-170) (-180) (-190) (-200)>;
io-channels = <&exynos_adc 0>;
io-channel-names = "adc-ap-temp";
io-channel-ranges;
};
argos {
compatible = "samsung,argos";
#address-cells = <1>;
/* The device number should be assigned for each device, e.g. "boot_device@1" and "boot_device@2".
Duplicated number is not allowed. Please refer the below example. */
/* Table Format should be
* <Throughput(Mbps) CPU_min CPU_max MIF INT Task IRQ>
* CPU_min : CPU minimum frequency lock. 0 means not set,
* CPU_max : CPU maximum frequency lock. 0 means not set,
* MIF : MIF frequency lock. 0 means not set,
* INT : INT frequency lock. 0 means not set,
* Task : 1 - Set task affinity lock.
* 0 - Not set or unlock,
* Task affinity should be predefined driver's code.
* IRQ : 1 - Set irq affinity lock.
* 0 - Not set or unlock,
* Task affinity should be predefined driver's code.
*/
boot_device@1 {
net_boost,label="IPC";
net_boost,node="rmnet0 rmnet1 rmnet2 rmnet3 rmnet4 rmnet5 rmnet6 rmnet7 umts_dm0";
net_boost,table_size = <4>;
net_boost,table= < 1 0 0 0 0 0 1
20 829000 0 416000 100000 0 1
50 1040000 0 825000 100000 0 1
100 1430000 0 825000 100000 0 1>;
};
boot_device@2 {
net_boost,label="USB";
net_boost,node="rndis0";
net_boost,table_size = <1>;
net_boost,table= < 1 0 0 0 0 0 1 >;
};
boot_device@3 {
net_boost,label="P2P";
net_boost,node="p2p-wlan0-0";
net_boost,table_size = <3>;
net_boost,table= <
30 1274000 0 415000 0 0 0
50 1378000 0 415000 0 0 0
90 1378000 0 666000 0 1 1
>;
};
boot_device@4 {
net_boost,label="WIFI";
net_boost,node="wlan0";
net_boost,table_size = <3>;
net_boost,table= <
10 1040000 0 415000 0 0 0
60 1378000 0 666000 0 1 1
120 1378000 0 666000 0 1 1
>;
};
/*
boot_device@5 {
net_boost,label="CLAT";
net_boost,node="clat clat4 v4-rmnet0 v4-rmnet1 v4-rmnet2 v4-rmnet3 v4-rmnet4 v4-rmnet5 v4-rmnet6 v4-rmnet7";
net_boost,table_size = <3>;
net_boost,table= <120 0 0 825000 0 0 0
130 0 0 825000 0 0 0
150 0 0 825000 0 0 0>;
};
*/
};
sec_vib {
compatible = "sec_vib";
sec_vib_pdata {
status = "okay";
sec_vib,max_timeout = <10000>;
sec_vib,ldo_type = <1>; /* 0: pmic ldo, 1: external ldo */
sec_vib,ldo_en = <&gpa0 3 0>;
};
};
input_booster {
status = "okay";
compatible = "input_booster";
#address-cells = <1>;
#size-cells = <0>;
booster_key@1 {
input_booster,label = "KEY";
input_booster,type = <0>; /* BOOSTER_DEVICE_KEY */
input_booster,levels = <1>;
/* Frequency table */
/* for level : 1_Head */
input_booster,cpu_freqs = <1274000>;
input_booster,hmp_boost = <0>;
input_booster,kfc_freqs = <1274000>;
input_booster,mif_freqs = <0>;
input_booster,int_freqs = <0>;
/* Time table */
input_booster,head_times = <500>;
input_booster,tail_times = <500>;
input_booster,phase_times = <0>;
};
booster_key@2 {
input_booster,label = "TOUCHKEY";
input_booster,type = <1>; /* BOOSTER_DEVICE_TOUCHKEY */
input_booster,levels = <1>;
/* Frequency table */
/* for level : 1_Head */
input_booster,cpu_freqs = <1274000>;
input_booster,hmp_boost = <0>;
input_booster,kfc_freqs = <1274000>;
input_booster,mif_freqs = <0>;
input_booster,int_freqs = <0>;
/* Time table */
input_booster,head_times = <0>;
input_booster,tail_times = <300>;
input_booster,phase_times = <0>;
};
booster_key@3 {
input_booster,label = "TOUCH";
input_booster,type = <2>; /* BOOSTER_DEVICE_TOUCH */
input_booster,levels = <1 2 3>;
/* Frequency table */
/* for level : 1_Head, 2_Head, 2_Tail */
input_booster,cpu_freqs = <1274000 1274000 962000>;
input_booster,hmp_boost = <0 0 0>;
input_booster,kfc_freqs = <1274000 1274000 962000>;
input_booster,mif_freqs = <0 0 0>;
input_booster,int_freqs = <0 0 0>;
/* Time table */
input_booster,head_times = <200 200 0>;
input_booster,tail_times = <0 0 300>;
input_booster,phase_times = <0 0 0>;
};
booster_key@4 { // Input Booster +
input_booster,label = "MULTITOUCH";
input_booster,type = <3>; /* BOOSTER_DEVICE_MULTITOUCH */
input_booster,levels = <1 2>;
/* Frequency table */
/* for level : 1_Head 2_Tail*/
input_booster,cpu_freqs = <1378000 1040000>;
input_booster,hmp_boost = <0 0>;
input_booster,kfc_freqs = <1378000 1040000>;
input_booster,mif_freqs = <0 0>;
input_booster,int_freqs = <0 0>;
/* Time table */
input_booster,head_times = <1000 0>;
input_booster,tail_times = <0 500>;
input_booster,phase_times = <0 0>;
};
booster_key@5 {
input_booster,label = "KEYBOARD";
input_booster,type = <4>; /* BOOSTER_DEVICE_KEYBOARD */
input_booster,levels = <1 2>;
/* Frequency table */
/* for level : 1_Head 2_Tail*/
input_booster,cpu_freqs = <1274000 1274000>;
input_booster,hmp_boost = <0 0>;
input_booster,kfc_freqs = <1274000 1274000>;
input_booster,mif_freqs = <0 0>;
input_booster,int_freqs = <0 0>;
/* Time table */
input_booster,head_times = <200 200>;
input_booster,tail_times = <0 0>;
input_booster,phase_times = <0 0>;
};
booster_key@6 {
input_booster,label = "MOUSE";
input_booster,type = <5>; /* BOOSTER_DEVICE_MOUSE */
input_booster,levels = <1 2>;
/* Frequency table */
/* for level : 1_Head 2_Tail*/
input_booster,cpu_freqs = <1274000 962000>;
input_booster,hmp_boost = <0 0>;
input_booster,kfc_freqs = <1274000 962000>;
input_booster,mif_freqs = <0 0>;
input_booster,int_freqs = <0 0>;
/* Time table */
input_booster,head_times = <200 0>;
input_booster,tail_times = <0 300>;
input_booster,phase_times = <0 0>;
};
booster_key@7 {
input_booster,label = "MOUSE WHEEL";
input_booster,type = <6>; /* BOOSTER_DEVICE_MOUSE */
input_booster,levels = <1 2>;
/* Frequency table */
/* for level : 1_Head 2_Tail*/
input_booster,cpu_freqs = <1274000 0>;
input_booster,hmp_boost = <0 0>;
input_booster,kfc_freqs = <1274000 0>;
input_booster,mif_freqs = <0 0>;
input_booster,int_freqs = <0 0>;
/* Time table */
input_booster,head_times = <200 0>;
input_booster,tail_times = <0 0>;
input_booster,phase_times = <0 0>;
};
booster_key@8 {
input_booster,label = "PEN & HOVER";
input_booster,type = <7>; /* BOOSTER_DEVICE_PEN & HOVER */
input_booster,levels = <1 2>;
/* Frequency table */
/* for level : 1_Head 2_Tail*/
input_booster,cpu_freqs = <1274000 962000>;
input_booster,hmp_boost = <0 0>;
input_booster,kfc_freqs = <1274000 962000>;
input_booster,mif_freqs = <0 0>;
input_booster,int_freqs = <0 0>;
/* Time table */
input_booster,head_times = <200 0>;
input_booster,tail_times = <0 300>;
input_booster,phase_times = <0 0>;
};
booster_key@9 {
input_booster,label = "GAMEPAD";
input_booster,type = <8>; /* BOOSTER_DEVICE_GAMEPAD */
input_booster,levels = <1 2>;
/* Frequency table */
/* for level : 1_Head 2_Tail*/
input_booster,cpu_freqs = <1378000 829000>;
input_booster,hmp_boost = <0 0>;
input_booster,kfc_freqs = <1378000 829000>;
input_booster,mif_freqs = <0 0>;
input_booster,int_freqs = <0 0>;
/* Time table */
input_booster,head_times = <200 0>;
input_booster,tail_times = <0 300>;
input_booster,phase_times = <0 0>;
}; // Input Booster -
/* If you need to add new key type, add it this position */
};
};