blob: c426c5e5e4ff690447c3d74c5a30ee4f164aa78a [file] [log] [blame]
/*
* SAMSUNG EXYNOS8895 board device tree source
*
* Copyright (c) 2016 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 "exynos8895.dtsi"
#include "exynos8895-rmem.dtsi"
#include "exynos8895-display-lcd.dtsi"
#include "modem-ss355ap-pdata.dtsi"
/ {
model = "Samsung SMDK8895 board based on EXYNOS8895";
compatible = "samsung,exynos8895", "samsung,SMDK8895";
ect {
parameter_address = <0x90000000>;
parameter_size = <0x19000>;
};
memory@80000000 {
device_type = "memory";
reg = <0x0 0x80000000 0x80000000>;
};
memory@880000000 {
device_type = "memory";
reg = <0x00000008 0x80000000 0x80000000>;
};
chosen {
bootargs = "console=ram root=/dev/ram0 clk_ignore_unused ess_setup=0x86000000 bcm_setup=0xffffff80f8e00000 androidboot.hardware=samsungexynos8895 androidboot.selinux=permissive androidboot.debug_level=0x4948 firmware_class.path=/vendor/firmware reserve-fimc=0xffffff80f9ffffff ecd_setup=normal";
linux,initrd-start = <0x82000000>;
linux,initrd-end = <0x820FFFFF>;
};
fixed-rate-clocks {
oscclk {
compatible = "samsung,exynos8895-oscclk";
clock-frequency = <26000000>;
};
};
serial_0: uart@10430000 {
status = "okay";
};
usi_0: usi@10421000 {
usi_mode = "hsi2c0";
status = "okay";
};
usi_1: usi@10421004 {
usi_mode = "hsi2c0";
status = "okay";
};
usi_3: usi@1042100C {
usi_mode = "spi";
status = "okay";
};
usi_4: usi@10821008 {
usi_mode = "spi";
status = "okay";
};
usi_5: usi@1082100C {
usi_mode = "spi";
status = "okay";
};
usi_6: usi@10821010 {
usi_mode = "spi";
status = "okay";
};
usi_7: usi@10821014 {
usi_mode = "hsi2c1";
status = "okay";
};
usi_9: usi@1082101C {
usi_mode = "hsi2c0";
status = "okay";
};
usi_10: usi@10821020 {
usi_mode = "hsi2c0_hsi2c1";
status = "okay";
};
usi_11: usi@10821024 {
usi_mode = "hsi2c0";
status = "okay";
};
usi_12: usi@10821028 {
usi_mode = "hsi2c0_hsi2c1";
status = "okay";
};
usi_13: usi@1082102C {
usi_mode = "hsi2c0_hsi2c1";
status = "okay";
};
pinctrl@164B0000 {
pmic_irq: pmic-irq {
samsung,pins = "gpa0-2";
samsung,pin-pud = <3>;
samsung,pin-drv = <3>;
};
sub_pmic_irq: sub-pmic-irq {
samsung,pins = "gpa0-6";
samsung,pin-function = <0>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
pinctrl@10980000 {
/* Warm reset information from AP */
pm_wrsti: pm-wrsti {
samsung,pins = "gpe6-3";
samsung,pin-con-pdn = <3>;
};
};
pinctrl@104D0000 {
g3d_dvs: g3d-dvs {
samsung,pins = "gpb1-2";
samsung,pin-function = <0x2>;
};
};
pcie0@116A0000 {
pcie,wlan-gpio = <&gpj1 3 0x1 /* WLAN_EN */ >;
pcie,bt-gpio = <&gpe7 1 0x1 /* BT_EN */ >;
status = "okay";
};
speedy@15B50000{
status = "okay";
s2mps17mfd@00 {
compatible = "samsung,s2mps17mfd";
acpm-ipc-channel = <2>;
i2c-speedy-address;
s2mps17,wakeup = "enabled";
s2mps17,irq-gpio = <&gpa0 2 0>;
reg = <0x00>;
interrupts = <2 0 0>;
interrupt-parent = <&gpa0>;
pinctrl-names = "default";
pinctrl-0 = <&pmic_irq &pm_wrsti &g3d_dvs>;
gpios = <&gpb1 3 0>, <&gpb1 2 0x2>;
smpl_warn_en = <1>; /* 1 : enable , 0 : disable*/
/* range of smpl_warn_vth */
/* 0x00 : 2.1V, 0x20 : 2.3V, 0x40 : 2.5V, 0x60 : 2.7V 0x80 : 2.9V */
/* 0xA0 : 3.1V, 0xC0 : 3.3V, 0xE0 : 3.5V */
smpl_warn_vth = <0x80>;
/* LowBat_Hys[4:3] 00(100mV), 01(200mV), 10(300mV), 11(400mV) */
smpl_warn_hys = <0x00>;
adc_mode = <1>; /* 0 : disable, 1 : current meter, 2 : power meter */
dvs_en = <0>; /* 1 : enable , 0 : disable */
g3d_en = <1>; /* 1 : enable , 0 : disable */
/* 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/2016 12:00:00(Wed) */
init_time,sec = <0>;
init_time,min = <0>;
init_time,hour = <12>;
init_time,mday = <1>;
init_time,mon = <0>;
init_time,year = <116>;
init_time,wday = <5>;
regulators {
buck1_reg: BUCK1 {
regulator-name = "vdd_mif";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
buck2_reg: BUCK2 {
regulator-name = "vdd_cpucl0";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
buck3_reg: BUCK3 {
regulator-name = "vdd_cpucl1";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
buck4_reg: BUCK4{
regulator-name = "vdd_int";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
buck5_reg: BUCK5 {
regulator-name = "vdd_cam";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
buck6_reg: BUCK6 {
regulator-name = "vdd_g3d";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <850000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
buck7_reg: BUCK7 {
regulator-name = "vdd_mem";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
buck8_reg: BUCK8 {
regulator-name = "vdd_lldo1";
regulator-min-microvolt = <750000>;
regulator-max-microvolt = <1150000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
buck9_reg: BUCK9 {
regulator-name = "vdd_lldo2";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
buck10_reg: BUCK10 {
regulator-name = "vdd_lldo3";
regulator-min-microvolt = <1100000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
buck11_reg: BUCK11 {
regulator-name = "vdd_mldo";
regulator-min-microvolt = <1750000>;
regulator-max-microvolt = <2150000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
buck12_reg: BUCK12 {
regulator-name = "vdd_cp";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
ldo1_reg: LDO1 {
regulator-name = "vdd_ldo1";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
ldo2_reg: LDO2 {
regulator-name = "vqmmc";
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo3_reg: LDO3 {
regulator-name = "vdd_ldo3";
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <1980000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <3>;
};
ldo4_reg: LDO4 {
regulator-name = "vdd_ldo4";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo5_reg: LDO5 {
regulator-name = "vdd_ldo5";
regulator-min-microvolt = <1620000>;
regulator-max-microvolt = <1980000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo6_reg: LDO6 {
regulator-name = "vdd_ldo6";
regulator-min-microvolt = <1700000>;
regulator-max-microvolt = <3350000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo7_reg: LDO7 {
regulator-name = "vdd_ldo7";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo8_reg: LDO8 {
regulator-name = "vdd_ldo8";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo9_reg: LDO9 {
regulator-name = "vdd_ldo9";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <1>;
};
ldo10_reg: LDO10 {
regulator-name = "vdd_ldo10";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo11_reg: LDO11 {
regulator-name = "vdd_ldo11";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo12_reg: LDO12 {
regulator-name = "vdd_ldo12";
regulator-min-microvolt = <450000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo13_reg: LDO13 {
regulator-name = "vdd_ldo13";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo20_reg: LDO20 {
regulator-name = "vdd_ldo20";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
ldo29_reg: LDO29 {
regulator-name = "vmmc";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo30_reg: LDO30 {
regulator-name = "vdd_ldo30";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo31_reg: LDO31 {
regulator-name = "vdd_ldo31";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo32_reg: LDO32 {
regulator-name = "vdd_ldo32";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <2275000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo33_reg: LDO33 {
regulator-name = "vdd_ldo33";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1487500>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo34_reg: LDO34 {
regulator-name = "CAM_DOVDD_1V8";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo35_reg: LDO35 {
regulator-name = "CAM0_VDD28_OIS";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo36_reg: LDO36 {
regulator-name = "vdd_ldo36";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo37_reg: LDO37 {
regulator-name = "vdd_ldo37";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo38_reg: LDO38 {
regulator-name = "vdd_ldo38";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <2275000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo39_reg: LDO39 {
regulator-name = "vdd_ldo39";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <2275000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo40_reg: LDO40 {
regulator-name = "vdd_ldo40";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1487500>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo41_reg: LDO41 {
regulator-name = "vdd_ldo41";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <3375000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo42_reg: LDO42 {
regulator-name = "vdd_ldo42";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <2275000>;
regulator-always-on;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <2>;
};
ldo43_reg: LDO43 {
regulator-name = "vdd_ldo43";
regulator-min-microvolt = <700000>;
regulator-max-microvolt = <1300000>;
regulator-ramp-delay = <12000>;
regulator-initial-mode = <0>;
};
};
};
};
hsi2c@108B0000 {
status = "okay";
audio_codec_cod3033x: cod3033x@05 {
compatible = "codec,cod3033x";
reg = <0x05>;
};
cod3033x-regctl@04 {
compatible = "codec,cod3033x-regctl";
reg = <0x04>;
};
cod3033x-jack@06 {
compatible = "codec,cod3033x-jack";
reg = <0x06>;
};
};
exynos_rgt {
compatible = "samsung,exynos-rgt";
};
hsi2c@10920000 {
status = "okay";
s2mpb02_pmic@59 {
compatible = "s2mpb02,s2mpb02mfd";
reg = <0x59>;
s2mpb02,wakeup;
pinctrl-names = "default";
pinctrl-0 = <&sub_pmic_irq>;
regulators {
_buck1_reg: s2mpb02-buck1 {
regulator-name = "S2MPB02_BUCK1";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1700000>;
regulator-always-on;
regulator-boot-on;
};
_buck2_reg: s2mpb02-buck2 {
regulator-name = "SVDD10";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
_buckboost_reg: s2mpb02-bb {
regulator-name = "S2MPB02_BB";
regulator-min-microvolt = <2600000>;
regulator-max-microvolt = <4000000>;
regulator-always-on;
regulator-boot-on;
};
_ldo1_reg: s2mpb02-ldo1 {
regulator-name = "S2MPB02_LDO1";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <2187500>;
regulator-always-on;
regulator-boot-on;
};
_ldo2_reg: s2mpb02-ldo2 {
regulator-name = "S2MPB02_LDO2";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <2187500>;
regulator-always-on;
regulator-boot-on;
};
_ldo3_reg: s2mpb02-ldo3 {
regulator-name = "CAM_DVDD_1V2";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
_ldo4_reg: s2mpb02-ldo4 {
regulator-name = "SVDD12";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-boot-on;
};
_ldo5_reg: s2mpb02-ldo5 {
regulator-name = "S2MPB02_LDO5";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <2187500>;
regulator-always-on;
regulator-boot-on;
};
_ldo6_reg: s2mpb02-ldo6 {
regulator-name = "S2MPB02_LDO6";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <3775000>;
regulator-always-on;
regulator-boot-on;
};
_ldo7_reg: s2mpb02-ldo7 {
regulator-name = "CAM0_SVDDD18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
_ldo8_reg: s2mpb02-ldo8 {
regulator-name = "CAM1_SVDDD18";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
_ldo9_reg: s2mpb02-ldo9 {
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-boot-on;
};
_ldo10_reg: s2mpb02-ldo10 {
regulator-name = "S2MPB02_LDO10";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <3775000>;
regulator-always-on;
regulator-boot-on;
};
_ldo11_reg: s2mpb02-ldo11 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-boot-on;
};
_ldo12_reg: s2mpb02-ldo12 {
regulator-name = "CAM0_VDD28_AF";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
_ldo13_reg: s2mpb02-ldo13 {
regulator-name = "CAM_AVDD_2V8";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
_ldo14_reg: s2mpb02-ldo14 {
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
_ldo15_reg: s2mpb02-ldo15 {
regulator-name = "CAM1_VDD28_AF";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
_ldo16_reg: s2mpb02-ldo16 {
regulator-name = "CAM0_SVDDA29";
regulator-min-microvolt = <2900000>;
regulator-max-microvolt = <2900000>;
};
_ldo17_reg: s2mpb02-ldo17 {
regulator-name = "CAM1_SVDDA28";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
_ldo18_reg: s2mpb02-ldo18 {
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <3775000>;
regulator-always-on;
regulator-boot-on;
};
};
torch {
torch1-gpio = "gpc1-1";
flash1-gpio = "gpc0-3";
status = "okay";
leds1 {
ledname = "leds-sec1";
id = <0>;
brightness = <0xC>;
timeout = <0x3>;
};
leds2 {
ledname = "torch-sec1";
id = <1>;
brightness = <0xC>;
timeout = <0xF>;
};
};
};
};
pinctrl@164B0000 {
key_power: key-power {
samsung,pins = "gpa2-7";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
key_home: key-home {
samsung,pins = "gpa2-5";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
key_voldown: key-voldown {
samsung,pins = "gpa2-1";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
key_volup: key-volup {
samsung,pins = "gpa2-0";
samsung,pin-function = <0xf>;
samsung,pin-pud = <0>;
samsung,pin-drv = <0>;
};
};
gpio_keys {
status = "okay";
compatible = "gpio-keys";
#address-cells = <1>;
#size-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&key_home &key_voldown &key_volup &key_power>;
button@1 {
label = "gpio-keys: KEY_HOME";
interrupts = <5 0 0>;
interrupt-parent = <&gpa2>;
linux,code = <172>;
gpios = <&gpa2 5 0xf>;
gpio-key,wakeup = <1>;
};
button@2 {
label = "gpio-keys: KEY_VOLUMEDOWN";
interrupts = <1 0 0>;
interrupt-parent = <&gpa2>;
linux,code = <114>;
gpios = <&gpa2 1 0xf>;
};
button@3 {
label = "gpio-keys: KEY_VOLUMEUP";
interrupts = <0 0 0>;
interrupt-parent = <&gpa2>;
linux,code = <115>;
gpios = <&gpa2 0 0xf>;
};
button@4 {
label = "gpio-keys: KEY_POWER";
interrupts = <7 0 0>;
interrupt-parent = <&gpa2>;
linux,code = <116>;
gpios = <&gpa2 7 0xf>;
gpio-key,wakeup = <1>;
};
};
};
#include "exynos8895-ecd.dtsi"