mirror of
https://github.com/AetherDroid/android_kernel_samsung_on5xelte.git
synced 2025-09-08 17:18:05 -04:00
1166 lines
29 KiB
Text
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";
|
|
};
|
|
};
|