提交 d0f7de92 编写于 作者: A Arnd Bergmann

Merge tag 'samsung-dt64-4.11-3' of...

Merge tag 'samsung-dt64-4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux into next/late

Pull "Samsung DeviceTree ARM64 update for v4.11, third round" from Krzysztof Kozłowski:

1. Add necessary initial configuration for clocks of display subsystem.
   Till now it worked mostly thanks to bootloader.
2. Use macro definitions instead of hard-coded values for pinctrl on Exynos7.
3. Enable USB 3.0 (DWC3) on Exynos7.

* tag 'samsung-dt64-4.11-3' of git://git.kernel.org/pub/scm/linux/kernel/git/krzk/linux: (27 commits)
  arm64: dts: exynos: Add regulators for Vbus and Vbus-Boost
  arm64: dts: exynos: Add USB 3.0 controller node for Exynos7
  arm64: dts: exynos: Use macros for pinctrl configuration on Exynos7
  pinctrl: dt-bindings: samsung: Add Exynos7 specific pinctrl macro definitions
  arm64: dts: exynos: Add initial configuration for DISP clocks for TM2/TM2e
  clk: samsung: exynos5433: Add data for 250MHz and 278MHz PLL rates
  clk: samsung: exynos5433: Add IDs for PHYCLK_MIPIDPHY0_* clocks
  arm64: dts: exynos: Add clocks to Exynos5433 LPASS module
  arm64: dts: exynos: set LDO7 regulator as always on
  arm64: dts: exynos: configure TV path clocks for Ultra HD modes
  arm64: dts: exynos: Fix drive strength of sd0_xxx pin definitions
  arm64: dts: exynos: Disable pull down for audio pins in Exynos5433 SoCs
  arm64: dts: exynos: Add TM2 touchkey node
  arm64: dts: exynos: Remove unneeded unit names in Exynos5433 nodes
  arm64: dts: exynos: Enable HDMI/TV path on Exynos5433-TM2
  arm64: dts: exynos: Add HDMI node to Exynos5433
  arm64: dts: exynos: Add DECON_TV node to Exynos5433
  arm64: dts: exynos: Fix addresses in node names on Exynos5433
  arm64: dts: exynos: Make TM2 and TM2E independent from each other
  arm64: dts: exynos: Fix wrong values for ldo23 and ldo25 on TM2/TM2E
  ...
/*
* Samsung's Exynos5433 SoC Memory interface and AMBA bus device tree source
*
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
* Chanwoo Choi <cw00.choi@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.
*/
&soc {
bus_g2d_400: bus0 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_top CLK_ACLK_G2D_400>;
clock-names = "bus";
operating-points-v2 = <&bus_g2d_400_opp_table>;
status = "disabled";
};
bus_g2d_266: bus1 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_top CLK_ACLK_G2D_266>;
clock-names = "bus";
operating-points-v2 = <&bus_g2d_266_opp_table>;
status = "disabled";
};
bus_gscl: bus2 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_top CLK_ACLK_GSCL_333>;
clock-names = "bus";
operating-points-v2 = <&bus_gscl_opp_table>;
status = "disabled";
};
bus_hevc: bus3 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_top CLK_ACLK_HEVC_400>;
clock-names = "bus";
operating-points-v2 = <&bus_hevc_opp_table>;
status = "disabled";
};
bus_jpeg: bus4 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_top CLK_SCLK_JPEG_MSCL>;
clock-names = "bus";
operating-points-v2 = <&bus_g2d_400_opp_table>;
status = "disabled";
};
bus_mfc: bus5 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_top CLK_ACLK_MFC_400>;
clock-names = "bus";
operating-points-v2 = <&bus_g2d_400_opp_table>;
status = "disabled";
};
bus_mscl: bus6 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_top CLK_ACLK_MSCL_400>;
clock-names = "bus";
operating-points-v2 = <&bus_g2d_400_opp_table>;
status = "disabled";
};
bus_noc0: bus7 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_top CLK_ACLK_BUS0_400>;
clock-names = "bus";
operating-points-v2 = <&bus_hevc_opp_table>;
status = "disabled";
};
bus_noc1: bus8 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_top CLK_ACLK_BUS1_400>;
clock-names = "bus";
operating-points-v2 = <&bus_hevc_opp_table>;
status = "disabled";
};
bus_noc2: bus9 {
compatible = "samsung,exynos-bus";
clocks = <&cmu_mif CLK_ACLK_BUS2_400>;
clock-names = "bus";
operating-points-v2 = <&bus_noc2_opp_table>;
status = "disabled";
};
bus_g2d_400_opp_table: opp_table2 {
compatible = "operating-points-v2";
opp-shared;
opp@400000000 {
opp-hz = /bits/ 64 <400000000>;
opp-microvolt = <1075000>;
};
opp@267000000 {
opp-hz = /bits/ 64 <267000000>;
opp-microvolt = <1000000>;
};
opp@200000000 {
opp-hz = /bits/ 64 <200000000>;
opp-microvolt = <975000>;
};
opp@160000000 {
opp-hz = /bits/ 64 <160000000>;
opp-microvolt = <962500>;
};
opp@134000000 {
opp-hz = /bits/ 64 <134000000>;
opp-microvolt = <950000>;
};
opp@100000000 {
opp-hz = /bits/ 64 <100000000>;
opp-microvolt = <937500>;
};
};
bus_g2d_266_opp_table: opp_table3 {
compatible = "operating-points-v2";
opp@267000000 {
opp-hz = /bits/ 64 <267000000>;
};
opp@200000000 {
opp-hz = /bits/ 64 <200000000>;
};
opp@160000000 {
opp-hz = /bits/ 64 <160000000>;
};
opp@134000000 {
opp-hz = /bits/ 64 <134000000>;
};
opp@100000000 {
opp-hz = /bits/ 64 <100000000>;
};
};
bus_gscl_opp_table: opp_table4 {
compatible = "operating-points-v2";
opp@333000000 {
opp-hz = /bits/ 64 <333000000>;
};
opp@222000000 {
opp-hz = /bits/ 64 <222000000>;
};
opp@166500000 {
opp-hz = /bits/ 64 <166500000>;
};
};
bus_hevc_opp_table: opp_table5 {
compatible = "operating-points-v2";
opp-shared;
opp@400000000 {
opp-hz = /bits/ 64 <400000000>;
};
opp@267000000 {
opp-hz = /bits/ 64 <267000000>;
};
opp@200000000 {
opp-hz = /bits/ 64 <200000000>;
};
opp@160000000 {
opp-hz = /bits/ 64 <160000000>;
};
opp@134000000 {
opp-hz = /bits/ 64 <134000000>;
};
opp@100000000 {
opp-hz = /bits/ 64 <100000000>;
};
};
bus_noc2_opp_table: opp_table6 {
compatible = "operating-points-v2";
opp@400000000 {
opp-hz = /bits/ 64 <400000000>;
};
opp@200000000 {
opp-hz = /bits/ 64 <200000000>;
};
opp@134000000 {
opp-hz = /bits/ 64 <134000000>;
};
opp@100000000 {
opp-hz = /bits/ 64 <100000000>;
};
};
};
...@@ -12,25 +12,14 @@ ...@@ -12,25 +12,14 @@
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
#define PIN_PULL_NONE 0 #include <dt-bindings/pinctrl/samsung.h>
#define PIN_PULL_DOWN 1
#define PIN_PULL_UP 3 #define PIN(_func, _pin, _pull, _drv) \
_pin { \
#define PIN_DRV_LV1 0 samsung,pins = #_pin; \
#define PIN_DRV_LV2 2 samsung,pin-function = <EXYNOS_PIN_FUNC_ ##_func>; \
#define PIN_DRV_LV3 1 samsung,pin-pud = <EXYNOS_PIN_PULL_ ##_pull>; \
#define PIN_DRV_LV4 3 samsung,pin-drv = <EXYNOS5433_PIN_DRV_ ##_drv>; \
#define PIN_IN 0
#define PIN_OUT 1
#define PIN_FUNC1 2
#define PIN(_func, _pin, _pull, _drv) \
_pin { \
samsung,pins = #_pin; \
samsung,pin-function = <PIN_ ##_func>; \
samsung,pin-pud = <PIN_PULL_ ##_pull>; \
samsung,pin-drv = <PIN_DRV_ ##_drv>; \
} }
&pinctrl_alive { &pinctrl_alive {
...@@ -145,23 +134,23 @@ ...@@ -145,23 +134,23 @@
i2s0_bus: i2s0-bus { i2s0_bus: i2s0-bus {
samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3", samsung,pins = "gpz0-0", "gpz0-1", "gpz0-2", "gpz0-3",
"gpz0-4", "gpz0-5", "gpz0-6"; "gpz0-4", "gpz0-5", "gpz0-6";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
pcm0_bus: pcm0-bus { pcm0_bus: pcm0-bus {
samsung,pins = "gpz1-0", "gpz1-1", "gpz1-2", "gpz1-3"; samsung,pins = "gpz1-0", "gpz1-1", "gpz1-2", "gpz1-3";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
uart_aud_bus: uart-aud-bus { uart_aud_bus: uart-aud-bus {
samsung,pins = "gpz1-3", "gpz1-2", "gpz1-1", "gpz1-0"; samsung,pins = "gpz1-3", "gpz1-2", "gpz1-1", "gpz1-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
}; };
...@@ -196,16 +185,16 @@ ...@@ -196,16 +185,16 @@
spi2_bus: spi2-bus { spi2_bus: spi2-bus {
samsung,pins = "gpd5-0", "gpd5-2", "gpd5-3"; samsung,pins = "gpd5-0", "gpd5-2", "gpd5-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
hs_i2c6_bus: hs-i2c6-bus { hs_i2c6_bus: hs-i2c6-bus {
samsung,pins = "gpd5-3", "gpd5-2"; samsung,pins = "gpd5-3", "gpd5-2";
samsung,pin-function = <4>; samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
}; };
...@@ -260,141 +249,141 @@ ...@@ -260,141 +249,141 @@
sd0_clk: sd0-clk { sd0_clk: sd0-clk {
samsung,pins = "gpr0-0"; samsung,pins = "gpr0-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd0_cmd: sd0-cmd { sd0_cmd: sd0-cmd {
samsung,pins = "gpr0-1"; samsung,pins = "gpr0-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd0_rdqs: sd0-rdqs { sd0_rdqs: sd0-rdqs {
samsung,pins = "gpr0-2"; samsung,pins = "gpr0-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd0_qrdy: sd0-qrdy { sd0_qrdy: sd0-qrdy {
samsung,pins = "gpr0-3"; samsung,pins = "gpr0-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd0_bus1: sd0-bus-width1 { sd0_bus1: sd0-bus-width1 {
samsung,pins = "gpr1-0"; samsung,pins = "gpr1-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd0_bus4: sd0-bus-width4 { sd0_bus4: sd0-bus-width4 {
samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3"; samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd0_bus8: sd0-bus-width8 { sd0_bus8: sd0-bus-width8 {
samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7"; samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd1_clk: sd1-clk { sd1_clk: sd1-clk {
samsung,pins = "gpr2-0"; samsung,pins = "gpr2-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd1_cmd: sd1-cmd { sd1_cmd: sd1-cmd {
samsung,pins = "gpr2-1"; samsung,pins = "gpr2-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd1_bus1: sd1-bus-width1 { sd1_bus1: sd1-bus-width1 {
samsung,pins = "gpr3-0"; samsung,pins = "gpr3-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd1_bus4: sd1-bus-width4 { sd1_bus4: sd1-bus-width4 {
samsung,pins = "gpr3-1", "gpr3-2", "gpr3-3"; samsung,pins = "gpr3-1", "gpr3-2", "gpr3-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd1_bus8: sd1-bus-width8 { sd1_bus8: sd1-bus-width8 {
samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7"; samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
pcie_bus: pcie_bus { pcie_bus: pcie_bus {
samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7"; samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
}; };
sd2_clk: sd2-clk { sd2_clk: sd2-clk {
samsung,pins = "gpr4-0"; samsung,pins = "gpr4-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd2_cmd: sd2-cmd { sd2_cmd: sd2-cmd {
samsung,pins = "gpr4-1"; samsung,pins = "gpr4-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd2_cd: sd2-cd { sd2_cd: sd2-cd {
samsung,pins = "gpr4-2"; samsung,pins = "gpr4-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd2_bus1: sd2-bus-width1 { sd2_bus1: sd2-bus-width1 {
samsung,pins = "gpr4-3"; samsung,pins = "gpr4-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd2_bus4: sd2-bus-width4 { sd2_bus4: sd2-bus-width4 {
samsung,pins = "gpr4-4", "gpr4-5", "gpr4-6"; samsung,pins = "gpr4-4", "gpr4-5", "gpr4-6";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR4>;
}; };
sd2_clk_output: sd2-clk-output { sd2_clk_output: sd2-clk-output {
samsung,pins = "gpr4-0"; samsung,pins = "gpr4-0";
samsung,pin-function = <1>; samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <2>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR3>;
}; };
sd2_cmd_output: sd2-cmd-output { sd2_cmd_output: sd2-cmd-output {
samsung,pins = "gpr4-1"; samsung,pins = "gpr4-1";
samsung,pin-function = <1>; samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <2>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR3>;
}; };
}; };
...@@ -419,9 +408,9 @@ ...@@ -419,9 +408,9 @@
hs_i2c4_bus: hs-i2c4-bus { hs_i2c4_bus: hs-i2c4-bus {
samsung,pins = "gpj0-1", "gpj0-0"; samsung,pins = "gpj0-1", "gpj0-0";
samsung,pin-function = <4>; samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
}; };
...@@ -564,225 +553,225 @@ ...@@ -564,225 +553,225 @@
hs_i2c8_bus: hs-i2c8-bus { hs_i2c8_bus: hs-i2c8-bus {
samsung,pins = "gpb0-1", "gpb0-0"; samsung,pins = "gpb0-1", "gpb0-0";
samsung,pin-function = <4>; samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
hs_i2c9_bus: hs-i2c9-bus { hs_i2c9_bus: hs-i2c9-bus {
samsung,pins = "gpb0-3", "gpb0-2"; samsung,pins = "gpb0-3", "gpb0-2";
samsung,pin-function = <4>; samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
i2s1_bus: i2s1-bus { i2s1_bus: i2s1-bus {
samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2", samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
"gpd4-3", "gpd4-4"; "gpd4-3", "gpd4-4";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
pcm1_bus: pcm1-bus { pcm1_bus: pcm1-bus {
samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2", samsung,pins = "gpd4-0", "gpd4-1", "gpd4-2",
"gpd4-3", "gpd4-4"; "gpd4-3", "gpd4-4";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
spdif_bus: spdif-bus { spdif_bus: spdif-bus {
samsung,pins = "gpd4-3", "gpd4-4"; samsung,pins = "gpd4-3", "gpd4-4";
samsung,pin-function = <4>; samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
fimc_is_spi_pin0: fimc-is-spi-pin0 { fimc_is_spi_pin0: fimc-is-spi-pin0 {
samsung,pins = "gpc3-3", "gpc3-2", "gpc3-1", "gpc3-0"; samsung,pins = "gpc3-3", "gpc3-2", "gpc3-1", "gpc3-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
fimc_is_spi_pin1: fimc-is-spi-pin1 { fimc_is_spi_pin1: fimc-is-spi-pin1 {
samsung,pins = "gpc3-7", "gpc3-6", "gpc3-5", "gpc3-4"; samsung,pins = "gpc3-7", "gpc3-6", "gpc3-5", "gpc3-4";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
uart0_bus: uart0-bus { uart0_bus: uart0-bus {
samsung,pins = "gpd0-3", "gpd0-2", "gpd0-1", "gpd0-0"; samsung,pins = "gpd0-3", "gpd0-2", "gpd0-1", "gpd0-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
}; };
hs_i2c2_bus: hs-i2c2-bus { hs_i2c2_bus: hs-i2c2-bus {
samsung,pins = "gpd0-3", "gpd0-2"; samsung,pins = "gpd0-3", "gpd0-2";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
uart2_bus: uart2-bus { uart2_bus: uart2-bus {
samsung,pins = "gpd1-5", "gpd1-4"; samsung,pins = "gpd1-5", "gpd1-4";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
}; };
uart1_bus: uart1-bus { uart1_bus: uart1-bus {
samsung,pins = "gpd1-3", "gpd1-2", "gpd1-1", "gpd1-0"; samsung,pins = "gpd1-3", "gpd1-2", "gpd1-1", "gpd1-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
}; };
hs_i2c3_bus: hs-i2c3-bus { hs_i2c3_bus: hs-i2c3-bus {
samsung,pins = "gpd1-3", "gpd1-2"; samsung,pins = "gpd1-3", "gpd1-2";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
hs_i2c0_bus: hs-i2c0-bus { hs_i2c0_bus: hs-i2c0-bus {
samsung,pins = "gpd2-1", "gpd2-0"; samsung,pins = "gpd2-1", "gpd2-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
hs_i2c1_bus: hs-i2c1-bus { hs_i2c1_bus: hs-i2c1-bus {
samsung,pins = "gpd2-3", "gpd2-2"; samsung,pins = "gpd2-3", "gpd2-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
pwm0_out: pwm0-out { pwm0_out: pwm0-out {
samsung,pins = "gpd2-4"; samsung,pins = "gpd2-4";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
pwm1_out: pwm1-out { pwm1_out: pwm1-out {
samsung,pins = "gpd2-5"; samsung,pins = "gpd2-5";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
pwm2_out: pwm2-out { pwm2_out: pwm2-out {
samsung,pins = "gpd2-6"; samsung,pins = "gpd2-6";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
pwm3_out: pwm3-out { pwm3_out: pwm3-out {
samsung,pins = "gpd2-7"; samsung,pins = "gpd2-7";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
spi1_bus: spi1-bus { spi1_bus: spi1-bus {
samsung,pins = "gpd6-2", "gpd6-4", "gpd6-5"; samsung,pins = "gpd6-2", "gpd6-4", "gpd6-5";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
hs_i2c7_bus: hs-i2c7-bus { hs_i2c7_bus: hs-i2c7-bus {
samsung,pins = "gpd2-7", "gpd2-6"; samsung,pins = "gpd2-7", "gpd2-6";
samsung,pin-function = <4>; samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
spi0_bus: spi0-bus { spi0_bus: spi0-bus {
samsung,pins = "gpd8-0", "gpd6-0", "gpd6-1"; samsung,pins = "gpd8-0", "gpd6-0", "gpd6-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
hs_i2c10_bus: hs-i2c10-bus { hs_i2c10_bus: hs-i2c10-bus {
samsung,pins = "gpg3-1", "gpg3-0"; samsung,pins = "gpg3-1", "gpg3-0";
samsung,pin-function = <4>; samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
hs_i2c11_bus: hs-i2c11-bus { hs_i2c11_bus: hs-i2c11-bus {
samsung,pins = "gpg3-3", "gpg3-2"; samsung,pins = "gpg3-3", "gpg3-2";
samsung,pin-function = <4>; samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
spi3_bus: spi3-bus { spi3_bus: spi3-bus {
samsung,pins = "gpg3-4", "gpg3-6", "gpg3-7"; samsung,pins = "gpg3-4", "gpg3-6", "gpg3-7";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
spi4_bus: spi4-bus { spi4_bus: spi4-bus {
samsung,pins = "gpv7-1", "gpv7-3", "gpv7-4"; samsung,pins = "gpv7-1", "gpv7-3", "gpv7-4";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
fimc_is_uart: fimc-is-uart { fimc_is_uart: fimc-is-uart {
samsung,pins = "gpc1-1", "gpc0-7"; samsung,pins = "gpc1-1", "gpc0-7";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
fimc_is_ch0_i2c: fimc-is-ch0_i2c { fimc_is_ch0_i2c: fimc-is-ch0_i2c {
samsung,pins = "gpc2-1", "gpc2-0"; samsung,pins = "gpc2-1", "gpc2-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
fimc_is_ch0_mclk: fimc-is-ch0_mclk { fimc_is_ch0_mclk: fimc-is-ch0_mclk {
samsung,pins = "gpd7-0"; samsung,pins = "gpd7-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
fimc_is_ch1_i2c: fimc-is-ch1-i2c { fimc_is_ch1_i2c: fimc-is-ch1-i2c {
samsung,pins = "gpc2-3", "gpc2-2"; samsung,pins = "gpc2-3", "gpc2-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
fimc_is_ch1_mclk: fimc-is-ch1-mclk { fimc_is_ch1_mclk: fimc-is-ch1-mclk {
samsung,pins = "gpd7-1"; samsung,pins = "gpd7-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
fimc_is_ch2_i2c: fimc-is-ch2-i2c { fimc_is_ch2_i2c: fimc-is-ch2-i2c {
samsung,pins = "gpc2-5", "gpc2-4"; samsung,pins = "gpc2-5", "gpc2-4";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
fimc_is_ch2_mclk: fimc-is-ch2-mclk { fimc_is_ch2_mclk: fimc-is-ch2-mclk {
samsung,pins = "gpd7-2"; samsung,pins = "gpd7-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
}; };
...@@ -797,8 +786,8 @@ ...@@ -797,8 +786,8 @@
hs_i2c5_bus: hs-i2c5-bus { hs_i2c5_bus: hs-i2c5-bus {
samsung,pins = "gpj1-1", "gpj1-0"; samsung,pins = "gpj1-1", "gpj1-0";
samsung,pin-function = <4>; samsung,pin-function = <EXYNOS_PIN_FUNC_4>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS5433_PIN_DRV_FAST_SR1>;
}; };
}; };
/*
* SAMSUNG Exynos5433 TM2 board device tree source
*
* Copyright (c) 2016 Samsung Electronics Co., Ltd.
*
* Common device tree source file for Samsung's TM2 and TM2E boards
* which are based on Samsung Exynos5433 SoC.
*
* 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 "exynos5433.dtsi"
#include <dt-bindings/clock/samsung,s2mps11.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ {
aliases {
gsc0 = &gsc_0;
gsc1 = &gsc_1;
gsc2 = &gsc_2;
pinctrl0 = &pinctrl_alive;
pinctrl1 = &pinctrl_aud;
pinctrl2 = &pinctrl_cpif;
pinctrl3 = &pinctrl_ese;
pinctrl4 = &pinctrl_finger;
pinctrl5 = &pinctrl_fsys;
pinctrl6 = &pinctrl_imem;
pinctrl7 = &pinctrl_nfc;
pinctrl8 = &pinctrl_peric;
pinctrl9 = &pinctrl_touch;
serial0 = &serial_0;
serial1 = &serial_1;
serial2 = &serial_2;
serial3 = &serial_3;
spi0 = &spi_0;
spi1 = &spi_1;
spi2 = &spi_2;
spi3 = &spi_3;
spi4 = &spi_4;
mshc0 = &mshc_0;
mshc2 = &mshc_2;
};
chosen {
stdout-path = &serial_1;
};
memory@20000000 {
device_type = "memory";
reg = <0x0 0x20000000 0x0 0xc0000000>;
};
gpio-keys {
compatible = "gpio-keys";
power-key {
gpios = <&gpa2 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "power key";
debounce-interval = <10>;
};
volume-up-key {
gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
label = "volume-up key";
debounce-interval = <10>;
};
volume-down-key {
gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
label = "volume-down key";
debounce-interval = <10>;
};
homepage-key {
gpios = <&gpa0 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_MENU>;
label = "homepage key";
debounce-interval = <10>;
};
};
i2c_max98504: i2c-gpio-0 {
compatible = "i2c-gpio";
gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
&gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
i2c-gpio,delay-us = <2>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
max98504: max98504@31 {
compatible = "maxim,max98504";
reg = <0x31>;
maxim,rx-path = <1>;
maxim,tx-path = <1>;
maxim,tx-channel-mask = <3>;
maxim,tx-channel-source = <2>;
};
};
sound {
compatible = "samsung,tm2-audio";
audio-codec = <&wm5110>;
i2s-controller = <&i2s0>;
audio-amplifier = <&max98504>;
mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>;
model = "wm5110";
samsung,audio-routing =
/* Headphone */
"HP", "HPOUT1L",
"HP", "HPOUT1R",
/* Speaker */
"SPK", "SPKOUT",
"SPKOUT", "HPOUT2L",
"SPKOUT", "HPOUT2R",
/* Receiver */
"RCV", "HPOUT3L",
"RCV", "HPOUT3R";
status = "okay";
};
};
&adc {
vdd-supply = <&ldo3_reg>;
status = "okay";
thermistor-ap {
compatible = "murata,ncp03wf104";
pullup-uv = <1800000>;
pullup-ohm = <100000>;
pulldown-ohm = <0>;
io-channels = <&adc 0>;
};
thermistor-battery {
compatible = "murata,ncp03wf104";
pullup-uv = <1800000>;
pullup-ohm = <100000>;
pulldown-ohm = <0>;
io-channels = <&adc 1>;
#thermal-sensor-cells = <0>;
};
thermistor-charger {
compatible = "murata,ncp03wf104";
pullup-uv = <1800000>;
pullup-ohm = <100000>;
pulldown-ohm = <0>;
io-channels = <&adc 2>;
};
};
&bus_g2d_400 {
devfreq-events = <&ppmu_event0_d0_general>, <&ppmu_event0_d1_general>;
vdd-supply = <&buck4_reg>;
exynos,saturation-ratio = <10>;
status = "okay";
};
&bus_g2d_266 {
devfreq = <&bus_g2d_400>;
status = "okay";
};
&bus_gscl {
devfreq = <&bus_g2d_400>;
status = "okay";
};
&bus_hevc {
devfreq = <&bus_g2d_400>;
status = "okay";
};
&bus_jpeg {
devfreq = <&bus_g2d_400>;
status = "okay";
};
&bus_mfc {
devfreq = <&bus_g2d_400>;
status = "okay";
};
&bus_mscl {
devfreq = <&bus_g2d_400>;
status = "okay";
};
&bus_noc0 {
devfreq = <&bus_g2d_400>;
status = "okay";
};
&bus_noc1 {
devfreq = <&bus_g2d_400>;
status = "okay";
};
&bus_noc2 {
devfreq = <&bus_g2d_400>;
status = "okay";
};
&cmu_aud {
assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>;
assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>;
};
&cmu_fsys {
assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>,
<&cmu_top CLK_MOUT_SCLK_USBHOST30>,
<&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>,
<&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>,
<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>,
<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>,
<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>,
<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>,
<&cmu_top CLK_DIV_SCLK_USBDRD30>,
<&cmu_top CLK_DIV_SCLK_USBHOST30>;
assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>,
<&cmu_top CLK_MOUT_BUS_PLL_USER>,
<&cmu_top CLK_SCLK_USBDRD30_FSYS>,
<&cmu_top CLK_SCLK_USBHOST30_FSYS>,
<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>,
<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>,
<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>,
<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>;
assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>,
<66700000>, <66700000>;
};
&cmu_gscl {
assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>,
<&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>;
assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>,
<&cmu_top CLK_ACLK_GSCL_333>;
};
&cmu_mfc {
assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>;
assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>;
};
&cmu_mscl {
assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>,
<&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
<&cmu_mscl CLK_MOUT_SCLK_JPEG>,
<&cmu_top CLK_MOUT_SCLK_JPEG_A>;
assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>,
<&cmu_top CLK_SCLK_JPEG_MSCL>,
<&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
<&cmu_top CLK_MOUT_BUS_PLL_USER>;
};
&cpu0 {
cpu-supply = <&buck3_reg>;
};
&cpu4 {
cpu-supply = <&buck2_reg>;
};
&decon {
status = "okay";
i80-if-timings {
};
};
&decon_tv {
status = "okay";
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
tv_to_hdmi: endpoint {
remote-endpoint = <&hdmi_to_tv>;
};
};
};
};
&dsi {
status = "okay";
vddcore-supply = <&ldo6_reg>;
vddio-supply = <&ldo7_reg>;
samsung,pll-clock-frequency = <24000000>;
pinctrl-names = "default";
pinctrl-0 = <&te_irq>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out: endpoint {
samsung,burst-clock-frequency = <512000000>;
samsung,esc-clock-frequency = <16000000>;
};
};
};
};
&hdmi {
hpd-gpios = <&gpa3 0 GPIO_ACTIVE_HIGH>;
status = "okay";
vdd-supply = <&ldo6_reg>;
vdd_osc-supply = <&ldo7_reg>;
vdd_pll-supply = <&ldo6_reg>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@0 {
reg = <0>;
hdmi_to_tv: endpoint {
remote-endpoint = <&tv_to_hdmi>;
};
};
port@1 {
reg = <1>;
hdmi_to_mhl: endpoint {
remote-endpoint = <&mhl_to_hdmi>;
};
};
};
};
&hsi2c_0 {
status = "okay";
clock-frequency = <2500000>;
s2mps13-pmic@66 {
compatible = "samsung,s2mps13-pmic";
interrupt-parent = <&gpa0>;
interrupts = <7 IRQ_TYPE_NONE>;
reg = <0x66>;
samsung,s2mps11-wrstbi-ground;
s2mps13_osc: clocks {
compatible = "samsung,s2mps13-clk";
#clock-cells = <1>;
clock-output-names = "s2mps13_ap", "s2mps13_cp",
"s2mps13_bt";
};
regulators {
ldo1_reg: LDO1 {
regulator-name = "VDD_ALIVE_0.9V_AP";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-always-on;
};
ldo2_reg: LDO2 {
regulator-name = "VDDQ_MMC2_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo3_reg: LDO3 {
regulator-name = "VDD1_E_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo4_reg: LDO4 {
regulator-name = "VDD10_MIF_PLL_1.0V_AP";
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo5_reg: LDO5 {
regulator-name = "VDD10_DPLL_1.0V_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo6_reg: LDO6 {
regulator-name = "VDD10_MIPI2L_1.0V_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo7_reg: LDO7 {
regulator-name = "VDD18_MIPI2L_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo8_reg: LDO8 {
regulator-name = "VDD18_LLI_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo9_reg: LDO9 {
regulator-name = "VDD18_ABB_ETC_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo10_reg: LDO10 {
regulator-name = "VDD33_USB30_3.0V_AP";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo11_reg: LDO11 {
regulator-name = "VDD_INT_M_1.0V_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo12_reg: LDO12 {
regulator-name = "VDD_KFC_M_1.1V_AP";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
ldo13_reg: LDO13 {
regulator-name = "VDD_G3D_M_0.95V_AP";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo14_reg: LDO14 {
regulator-name = "VDDQ_M1_LDO_1.2V_AP";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo15_reg: LDO15 {
regulator-name = "VDDQ_M2_LDO_1.2V_AP";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo16_reg: LDO16 {
regulator-name = "VDDQ_EFUSE";
regulator-min-microvolt = <1400000>;
regulator-max-microvolt = <3400000>;
regulator-always-on;
};
ldo17_reg: LDO17 {
regulator-name = "V_TFLASH_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo18_reg: LDO18 {
regulator-name = "V_CODEC_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo19_reg: LDO19 {
regulator-name = "VDDA_1.8V_COMP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo20_reg: LDO20 {
regulator-name = "VCC_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo21_reg: LDO21 {
regulator-name = "VT_CAM_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo22_reg: LDO22 {
regulator-name = "CAM_IO_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo23_reg: LDO23 {
regulator-name = "CAM_SEN_CORE_1.05V_AP";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1050000>;
};
ldo24_reg: LDO24 {
regulator-name = "VT_CAM_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ldo25_reg: LDO25 {
regulator-name = "UNUSED_LDO25";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo26_reg: LDO26 {
regulator-name = "CAM_AF_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo27_reg: LDO27 {
regulator-name = "VCC_3.0V_LCD_AP";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
ldo28_reg: LDO28 {
regulator-name = "VCC_1.8V_LCD_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo29_reg: LDO29 {
regulator-name = "VT_CAM_2.8V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
ldo30_reg: LDO30 {
regulator-name = "TSP_AVDD_3.3V_AP";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo31_reg: LDO31 {
/*
* LDO31 differs from target to target,
* its definition is in the .dts
*/
};
ldo32_reg: LDO32 {
regulator-name = "VTOUCH_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo33_reg: LDO33 {
regulator-name = "VTOUCH_LED_3.3V";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3300000>;
regulator-ramp-delay = <12500>;
};
ldo34_reg: LDO34 {
regulator-name = "VCC_1.8V_MHL_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <2100000>;
};
ldo35_reg: LDO35 {
regulator-name = "OIS_VM_2.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2800000>;
};
ldo36_reg: LDO36 {
regulator-name = "VSIL_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
ldo37_reg: LDO37 {
regulator-name = "VF_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo38_reg: LDO38 {
/*
* LDO38 differs from target to target,
* its definition is in the .dts
*/
};
ldo39_reg: LDO39 {
regulator-name = "V_HRM_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo40_reg: LDO40 {
regulator-name = "V_HRM_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
buck1_reg: BUCK1 {
regulator-name = "VDD_MIF_0.9V_AP";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck2_reg: BUCK2 {
regulator-name = "VDD_EGL_1.0V_AP";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck3_reg: BUCK3 {
regulator-name = "VDD_KFC_1.0V_AP";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck4_reg: BUCK4 {
regulator-name = "VDD_INT_0.95V_AP";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck5_reg: BUCK5 {
regulator-name = "VDD_DISP_CAM0_0.9V_AP";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck6_reg: BUCK6 {
regulator-name = "VDD_G3D_0.9V_AP";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck7_reg: BUCK7 {
regulator-name = "VDD_MEM1_1.2V_AP";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck8_reg: BUCK8 {
regulator-name = "VDD_LLDO_1.35V_AP";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
buck9_reg: BUCK9 {
regulator-name = "VDD_MLDO_2.0V_AP";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
buck10_reg: BUCK10 {
regulator-name = "vdd_mem2";
regulator-min-microvolt = <550000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
};
};
};
};
&hsi2c_7 {
status = "okay";
sii8620@39 {
reg = <0x39>;
compatible = "sil,sii8620";
cvcc10-supply = <&ldo36_reg>;
iovcc18-supply = <&ldo34_reg>;
interrupt-parent = <&gpf0>;
interrupts = <2 IRQ_TYPE_LEVEL_HIGH>;
reset-gpios = <&gpv7 0 GPIO_ACTIVE_LOW>;
clocks = <&pmu_system_controller 0>;
clock-names = "xtal";
port {
mhl_to_hdmi: endpoint {
remote-endpoint = <&hdmi_to_mhl>;
};
};
};
};
&hsi2c_8 {
status = "okay";
max77843@66 {
compatible = "maxim,max77843";
interrupt-parent = <&gpa1>;
interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
reg = <0x66>;
muic: max77843-muic {
compatible = "maxim,max77843-muic";
};
regulators {
compatible = "maxim,max77843-regulator";
safeout1_reg: SAFEOUT1 {
regulator-name = "SAFEOUT1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <4950000>;
};
safeout2_reg: SAFEOUT2 {
regulator-name = "SAFEOUT2";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <4950000>;
};
charger_reg: CHARGER {
regulator-name = "CHARGER";
regulator-min-microamp = <100000>;
regulator-max-microamp = <3150000>;
};
};
haptic: max77843-haptic {
compatible = "maxim,max77843-haptic";
haptic-supply = <&ldo38_reg>;
pwms = <&pwm 0 33670 0>;
pwm-names = "haptic";
};
};
};
&hsi2c_11 {
status = "okay";
};
&i2s0 {
status = "okay";
};
&mshc_0 {
status = "okay";
num-slots = <1>;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
cap-mmc-highspeed;
non-removable;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 4>;
samsung,dw-mshc-ddr-timing = <0 2>;
samsung,dw-mshc-hs400-timing = <0 3>;
samsung,read-strobe-delay = <90>;
fifo-depth = <0x80>;
pinctrl-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4
&sd0_bus8 &sd0_rdqs>;
bus-width = <8>;
assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>;
assigned-clock-rates = <800000000>;
};
&mshc_2 {
status = "okay";
num-slots = <1>;
cap-sd-highspeed;
disable-wp;
cd-gpios = <&gpa2 4 GPIO_ACTIVE_HIGH>;
cd-inverted;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 4>;
samsung,dw-mshc-ddr-timing = <0 2>;
fifo-depth = <0x80>;
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>;
bus-width = <4>;
};
&ppmu_d0_general {
status = "okay";
events {
ppmu_event0_d0_general: ppmu-event0-d0-general {
event-name = "ppmu-event0-d0-general";
};
};
};
&ppmu_d1_general {
status = "okay";
events {
ppmu_event0_d1_general: ppmu-event0-d1-general {
event-name = "ppmu-event0-d1-general";
};
};
};
&pinctrl_alive {
pinctrl-names = "default";
pinctrl-0 = <&initial_alive>;
initial_alive: initial-state {
PIN(INPUT, gpa0-0, DOWN, FAST_SR1);
PIN(INPUT, gpa0-1, NONE, FAST_SR1);
PIN(INPUT, gpa0-2, DOWN, FAST_SR1);
PIN(INPUT, gpa0-3, NONE, FAST_SR1);
PIN(INPUT, gpa0-4, NONE, FAST_SR1);
PIN(INPUT, gpa0-5, DOWN, FAST_SR1);
PIN(INPUT, gpa0-6, NONE, FAST_SR1);
PIN(INPUT, gpa0-7, NONE, FAST_SR1);
PIN(INPUT, gpa1-0, UP, FAST_SR1);
PIN(INPUT, gpa1-1, NONE, FAST_SR1);
PIN(INPUT, gpa1-2, NONE, FAST_SR1);
PIN(INPUT, gpa1-3, DOWN, FAST_SR1);
PIN(INPUT, gpa1-4, DOWN, FAST_SR1);
PIN(INPUT, gpa1-5, NONE, FAST_SR1);
PIN(INPUT, gpa1-6, NONE, FAST_SR1);
PIN(INPUT, gpa1-7, NONE, FAST_SR1);
PIN(INPUT, gpa2-0, NONE, FAST_SR1);
PIN(INPUT, gpa2-1, NONE, FAST_SR1);
PIN(INPUT, gpa2-2, NONE, FAST_SR1);
PIN(INPUT, gpa2-3, DOWN, FAST_SR1);
PIN(INPUT, gpa2-4, NONE, FAST_SR1);
PIN(INPUT, gpa2-5, DOWN, FAST_SR1);
PIN(INPUT, gpa2-6, DOWN, FAST_SR1);
PIN(INPUT, gpa2-7, NONE, FAST_SR1);
PIN(INPUT, gpa3-0, DOWN, FAST_SR1);
PIN(INPUT, gpa3-1, DOWN, FAST_SR1);
PIN(INPUT, gpa3-2, NONE, FAST_SR1);
PIN(INPUT, gpa3-3, DOWN, FAST_SR1);
PIN(INPUT, gpa3-4, NONE, FAST_SR1);
PIN(INPUT, gpa3-5, DOWN, FAST_SR1);
PIN(INPUT, gpa3-6, DOWN, FAST_SR1);
PIN(INPUT, gpa3-7, DOWN, FAST_SR1);
PIN(INPUT, gpf1-0, NONE, FAST_SR1);
PIN(INPUT, gpf1-1, NONE, FAST_SR1);
PIN(INPUT, gpf1-2, DOWN, FAST_SR1);
PIN(INPUT, gpf1-4, UP, FAST_SR1);
PIN(OUTPUT, gpf1-5, NONE, FAST_SR1);
PIN(INPUT, gpf1-6, DOWN, FAST_SR1);
PIN(INPUT, gpf1-7, DOWN, FAST_SR1);
PIN(INPUT, gpf2-0, DOWN, FAST_SR1);
PIN(INPUT, gpf2-1, DOWN, FAST_SR1);
PIN(INPUT, gpf2-2, DOWN, FAST_SR1);
PIN(INPUT, gpf2-3, DOWN, FAST_SR1);
PIN(INPUT, gpf3-0, DOWN, FAST_SR1);
PIN(INPUT, gpf3-1, DOWN, FAST_SR1);
PIN(INPUT, gpf3-2, NONE, FAST_SR1);
PIN(INPUT, gpf3-3, DOWN, FAST_SR1);
PIN(INPUT, gpf4-0, DOWN, FAST_SR1);
PIN(INPUT, gpf4-1, DOWN, FAST_SR1);
PIN(INPUT, gpf4-2, DOWN, FAST_SR1);
PIN(INPUT, gpf4-3, DOWN, FAST_SR1);
PIN(INPUT, gpf4-4, DOWN, FAST_SR1);
PIN(INPUT, gpf4-5, DOWN, FAST_SR1);
PIN(INPUT, gpf4-6, DOWN, FAST_SR1);
PIN(INPUT, gpf4-7, DOWN, FAST_SR1);
PIN(INPUT, gpf5-0, DOWN, FAST_SR1);
PIN(INPUT, gpf5-1, DOWN, FAST_SR1);
PIN(INPUT, gpf5-2, DOWN, FAST_SR1);
PIN(INPUT, gpf5-3, DOWN, FAST_SR1);
PIN(OUTPUT, gpf5-4, NONE, FAST_SR1);
PIN(INPUT, gpf5-5, DOWN, FAST_SR1);
PIN(INPUT, gpf5-6, DOWN, FAST_SR1);
PIN(INPUT, gpf5-7, DOWN, FAST_SR1);
};
te_irq: te_irq {
samsung,pins = "gpf1-3";
samsung,pin-function = <0xf>;
};
};
&pinctrl_cpif {
pinctrl-names = "default";
pinctrl-0 = <&initial_cpif>;
initial_cpif: initial-state {
PIN(INPUT, gpv6-0, DOWN, FAST_SR1);
PIN(INPUT, gpv6-1, DOWN, FAST_SR1);
};
};
&pinctrl_ese {
pinctrl-names = "default";
pinctrl-0 = <&initial_ese>;
initial_ese: initial-state {
PIN(INPUT, gpj2-0, DOWN, FAST_SR1);
PIN(INPUT, gpj2-1, DOWN, FAST_SR1);
PIN(INPUT, gpj2-2, DOWN, FAST_SR1);
};
};
&pinctrl_fsys {
pinctrl-names = "default";
pinctrl-0 = <&initial_fsys>;
initial_fsys: initial-state {
PIN(INPUT, gpr3-0, NONE, FAST_SR1);
PIN(INPUT, gpr3-1, DOWN, FAST_SR1);
PIN(INPUT, gpr3-2, DOWN, FAST_SR1);
PIN(INPUT, gpr3-3, DOWN, FAST_SR1);
PIN(INPUT, gpr3-7, NONE, FAST_SR1);
};
};
&pinctrl_imem {
pinctrl-names = "default";
pinctrl-0 = <&initial_imem>;
initial_imem: initial-state {
PIN(INPUT, gpf0-0, UP, FAST_SR1);
PIN(INPUT, gpf0-1, UP, FAST_SR1);
PIN(INPUT, gpf0-2, DOWN, FAST_SR1);
PIN(INPUT, gpf0-3, UP, FAST_SR1);
PIN(INPUT, gpf0-4, DOWN, FAST_SR1);
PIN(INPUT, gpf0-5, NONE, FAST_SR1);
PIN(INPUT, gpf0-6, DOWN, FAST_SR1);
PIN(INPUT, gpf0-7, UP, FAST_SR1);
};
};
&pinctrl_nfc {
pinctrl-names = "default";
pinctrl-0 = <&initial_nfc>;
initial_nfc: initial-state {
PIN(INPUT, gpj0-2, DOWN, FAST_SR1);
};
};
&pinctrl_peric {
pinctrl-names = "default";
pinctrl-0 = <&initial_peric>;
initial_peric: initial-state {
PIN(INPUT, gpv7-0, DOWN, FAST_SR1);
PIN(INPUT, gpv7-1, DOWN, FAST_SR1);
PIN(INPUT, gpv7-2, NONE, FAST_SR1);
PIN(INPUT, gpv7-3, DOWN, FAST_SR1);
PIN(INPUT, gpv7-4, DOWN, FAST_SR1);
PIN(INPUT, gpv7-5, DOWN, FAST_SR1);
PIN(INPUT, gpb0-4, DOWN, FAST_SR1);
PIN(INPUT, gpc0-2, DOWN, FAST_SR1);
PIN(INPUT, gpc0-5, DOWN, FAST_SR1);
PIN(INPUT, gpc0-7, DOWN, FAST_SR1);
PIN(INPUT, gpc1-1, DOWN, FAST_SR1);
PIN(INPUT, gpc3-4, NONE, FAST_SR1);
PIN(INPUT, gpc3-5, NONE, FAST_SR1);
PIN(INPUT, gpc3-6, NONE, FAST_SR1);
PIN(INPUT, gpc3-7, NONE, FAST_SR1);
PIN(OUTPUT, gpg0-0, NONE, FAST_SR1);
PIN(2, gpg0-1, DOWN, FAST_SR1);
PIN(INPUT, gpd2-5, DOWN, FAST_SR1);
PIN(INPUT, gpd4-0, NONE, FAST_SR1);
PIN(INPUT, gpd4-1, DOWN, FAST_SR1);
PIN(INPUT, gpd4-2, DOWN, FAST_SR1);
PIN(INPUT, gpd4-3, DOWN, FAST_SR1);
PIN(INPUT, gpd4-4, DOWN, FAST_SR1);
PIN(INPUT, gpd6-3, DOWN, FAST_SR1);
PIN(INPUT, gpd8-1, UP, FAST_SR1);
PIN(INPUT, gpg1-0, DOWN, FAST_SR1);
PIN(INPUT, gpg1-1, DOWN, FAST_SR1);
PIN(INPUT, gpg1-2, DOWN, FAST_SR1);
PIN(INPUT, gpg1-3, DOWN, FAST_SR1);
PIN(INPUT, gpg1-4, DOWN, FAST_SR1);
PIN(INPUT, gpg2-0, DOWN, FAST_SR1);
PIN(INPUT, gpg2-1, DOWN, FAST_SR1);
PIN(INPUT, gpg3-0, DOWN, FAST_SR1);
PIN(INPUT, gpg3-1, DOWN, FAST_SR1);
PIN(INPUT, gpg3-5, DOWN, FAST_SR1);
PIN(INPUT, gpg3-7, DOWN, FAST_SR1);
};
};
&pinctrl_touch {
pinctrl-names = "default";
pinctrl-0 = <&initial_touch>;
initial_touch: initial-state {
PIN(INPUT, gpj1-2, DOWN, FAST_SR1);
};
};
&pwm {
pinctrl-0 = <&pwm0_out>;
pinctrl-names = "default";
status = "okay";
};
&mic {
status = "okay";
i80-if-timings {
};
};
&pmu_system_controller {
assigned-clocks = <&pmu_system_controller 0>;
assigned-clock-parents = <&xxti>;
};
&serial_1 {
status = "okay";
};
&spi_1 {
cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
status = "okay";
wm5110: wm5110-codec@0 {
compatible = "wlf,wm5110";
reg = <0x0>;
spi-max-frequency = <20000000>;
interrupt-parent = <&gpa0>;
interrupts = <4 IRQ_TYPE_NONE>;
clocks = <&pmu_system_controller 0>,
<&s2mps13_osc S2MPS11_CLK_BT>;
clock-names = "mclk1", "mclk2";
gpio-controller;
#gpio-cells = <2>;
wlf,micd-detect-debounce = <300>;
wlf,micd-bias-start-time = <0x1>;
wlf,micd-rate = <0x7>;
wlf,micd-dbtime = <0x1>;
wlf,micd-force-micbias;
wlf,micd-configs = <0x0 1 0>;
wlf,hpdet-channel = <1>;
wlf,gpsw = <0x1>;
wlf,inmode = <2 0 2 0>;
wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>;
wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>;
/* core supplies */
AVDD-supply = <&ldo18_reg>;
DBVDD1-supply = <&ldo18_reg>;
CPVDD-supply = <&ldo18_reg>;
DBVDD2-supply = <&ldo18_reg>;
DBVDD3-supply = <&ldo18_reg>;
controller-data {
samsung,spi-feedback-delay = <0>;
};
};
};
&timer {
clock-frequency = <24000000>;
};
&tmu_atlas0 {
vtmu-supply = <&ldo3_reg>;
status = "okay";
};
&tmu_apollo {
vtmu-supply = <&ldo3_reg>;
status = "okay";
};
&tmu_g3d {
vtmu-supply = <&ldo3_reg>;
status = "okay";
};
&usbdrd30 {
vdd33-supply = <&ldo10_reg>;
vdd10-supply = <&ldo6_reg>;
status = "okay";
};
&usbdrd_dwc3_0 {
dr_mode = "otg";
};
&usbdrd30_phy {
vbus-supply = <&safeout1_reg>;
status = "okay";
};
&xxti {
clock-frequency = <24000000>;
};
...@@ -11,1039 +11,68 @@ ...@@ -11,1039 +11,68 @@
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
/dts-v1/; #include "exynos5433-tm2-common.dtsi"
#include "exynos5433.dtsi"
#include <dt-bindings/clock/samsung,s2mps11.h>
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
#include <dt-bindings/interrupt-controller/irq.h>
/ { / {
model = "Samsung TM2 board"; model = "Samsung TM2 board";
compatible = "samsung,tm2", "samsung,exynos5433"; compatible = "samsung,tm2", "samsung,exynos5433";
aliases {
gsc0 = &gsc_0;
gsc1 = &gsc_1;
gsc2 = &gsc_2;
pinctrl0 = &pinctrl_alive;
pinctrl1 = &pinctrl_aud;
pinctrl2 = &pinctrl_cpif;
pinctrl3 = &pinctrl_ese;
pinctrl4 = &pinctrl_finger;
pinctrl5 = &pinctrl_fsys;
pinctrl6 = &pinctrl_imem;
pinctrl7 = &pinctrl_nfc;
pinctrl8 = &pinctrl_peric;
pinctrl9 = &pinctrl_touch;
serial0 = &serial_0;
serial1 = &serial_1;
serial2 = &serial_2;
serial3 = &serial_3;
spi0 = &spi_0;
spi1 = &spi_1;
spi2 = &spi_2;
spi3 = &spi_3;
spi4 = &spi_4;
mshc0 = &mshc_0;
mshc2 = &mshc_2;
};
chosen {
stdout-path = &serial_1;
};
memory@20000000 {
device_type = "memory";
reg = <0x0 0x20000000 0x0 0xc0000000>;
};
gpio-keys {
compatible = "gpio-keys";
power-key {
gpios = <&gpa2 7 GPIO_ACTIVE_LOW>;
linux,code = <KEY_POWER>;
label = "power key";
debounce-interval = <10>;
};
volume-up-key {
gpios = <&gpa2 0 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEUP>;
label = "volume-up key";
debounce-interval = <10>;
};
volume-down-key {
gpios = <&gpa2 1 GPIO_ACTIVE_LOW>;
linux,code = <KEY_VOLUMEDOWN>;
label = "volume-down key";
debounce-interval = <10>;
};
homepage-key {
gpios = <&gpa0 3 GPIO_ACTIVE_LOW>;
linux,code = <KEY_MENU>;
label = "homepage key";
debounce-interval = <10>;
};
};
i2c_max98504: i2c-gpio-0 {
compatible = "i2c-gpio";
gpios = <&gpd0 1 GPIO_ACTIVE_HIGH /* SPK_AMP_SDA */
&gpd0 0 GPIO_ACTIVE_HIGH /* SPK_AMP_SCL */ >;
i2c-gpio,delay-us = <2>;
#address-cells = <1>;
#size-cells = <0>;
status = "okay";
max98504: max98504@31 {
compatible = "maxim,max98504";
reg = <0x31>;
maxim,rx-path = <1>;
maxim,tx-path = <1>;
maxim,tx-channel-mask = <3>;
maxim,tx-channel-source = <2>;
};
};
sound {
compatible = "samsung,tm2-audio";
audio-codec = <&wm5110>;
i2s-controller = <&i2s0>;
audio-amplifier = <&max98504>;
mic-bias-gpios = <&gpr3 2 GPIO_ACTIVE_HIGH>;
model = "wm5110";
samsung,audio-routing =
/* Headphone */
"HP", "HPOUT1L",
"HP", "HPOUT1R",
/* Speaker */
"SPK", "SPKOUT",
"SPKOUT", "HPOUT2L",
"SPKOUT", "HPOUT2R",
/* Receiver */
"RCV", "HPOUT3L",
"RCV", "HPOUT3R";
status = "okay";
};
};
&adc {
vdd-supply = <&ldo3_reg>;
status = "okay";
thermistor-ap {
compatible = "murata,ncp03wf104";
pullup-uv = <1800000>;
pullup-ohm = <100000>;
pulldown-ohm = <0>;
io-channels = <&adc 0>;
};
thermistor-battery {
compatible = "murata,ncp03wf104";
pullup-uv = <1800000>;
pullup-ohm = <100000>;
pulldown-ohm = <0>;
io-channels = <&adc 1>;
#thermal-sensor-cells = <0>;
};
thermistor-charger {
compatible = "murata,ncp03wf104";
pullup-uv = <1800000>;
pullup-ohm = <100000>;
pulldown-ohm = <0>;
io-channels = <&adc 2>;
};
};
&cmu_aud {
assigned-clocks = <&cmu_aud CLK_MOUT_AUD_PLL_USER>;
assigned-clock-parents = <&cmu_top CLK_FOUT_AUD_PLL>;
};
&cmu_fsys {
assigned-clocks = <&cmu_top CLK_MOUT_SCLK_USBDRD30>,
<&cmu_top CLK_MOUT_SCLK_USBHOST30>,
<&cmu_fsys CLK_MOUT_SCLK_USBDRD30_USER>,
<&cmu_fsys CLK_MOUT_SCLK_USBHOST30_USER>,
<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_USER>,
<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_USER>,
<&cmu_fsys CLK_MOUT_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_USER>,
<&cmu_fsys CLK_MOUT_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_USER>,
<&cmu_top CLK_DIV_SCLK_USBDRD30>,
<&cmu_top CLK_DIV_SCLK_USBHOST30>;
assigned-clock-parents = <&cmu_top CLK_MOUT_BUS_PLL_USER>,
<&cmu_top CLK_MOUT_BUS_PLL_USER>,
<&cmu_top CLK_SCLK_USBDRD30_FSYS>,
<&cmu_top CLK_SCLK_USBHOST30_FSYS>,
<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PIPE_PCLK_PHY>,
<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PIPE_PCLK_PHY>,
<&cmu_fsys CLK_PHYCLK_USBDRD30_UDRD30_PHYCLOCK_PHY>,
<&cmu_fsys CLK_PHYCLK_USBHOST30_UHOST30_PHYCLOCK_PHY>;
assigned-clock-rates = <0>, <0>, <0>, <0>, <0>, <0>, <0>, <0>,
<66700000>, <66700000>;
};
&cmu_gscl {
assigned-clocks = <&cmu_gscl CLK_MOUT_ACLK_GSCL_111_USER>,
<&cmu_gscl CLK_MOUT_ACLK_GSCL_333_USER>;
assigned-clock-parents = <&cmu_top CLK_ACLK_GSCL_111>,
<&cmu_top CLK_ACLK_GSCL_333>;
};
&cmu_mfc {
assigned-clocks = <&cmu_mfc CLK_MOUT_ACLK_MFC_400_USER>;
assigned-clock-parents = <&cmu_top CLK_ACLK_MFC_400>;
};
&cmu_mscl {
assigned-clocks = <&cmu_mscl CLK_MOUT_ACLK_MSCL_400_USER>,
<&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
<&cmu_mscl CLK_MOUT_SCLK_JPEG>,
<&cmu_top CLK_MOUT_SCLK_JPEG_A>;
assigned-clock-parents = <&cmu_top CLK_ACLK_MSCL_400>,
<&cmu_top CLK_SCLK_JPEG_MSCL>,
<&cmu_mscl CLK_MOUT_SCLK_JPEG_USER>,
<&cmu_top CLK_MOUT_BUS_PLL_USER>;
};
&cpu0 {
cpu-supply = <&buck3_reg>;
};
&cpu4 {
cpu-supply = <&buck2_reg>;
};
&decon {
status = "okay";
i80-if-timings {
};
};
&dsi {
status = "okay";
vddcore-supply = <&ldo6_reg>;
vddio-supply = <&ldo7_reg>;
samsung,pll-clock-frequency = <24000000>;
pinctrl-names = "default";
pinctrl-0 = <&te_irq>;
ports {
#address-cells = <1>;
#size-cells = <0>;
port@1 {
reg = <1>;
dsi_out: endpoint {
samsung,burst-clock-frequency = <512000000>;
samsung,esc-clock-frequency = <16000000>;
};
};
};
};
&hsi2c_0 {
status = "okay";
clock-frequency = <2500000>;
s2mps13-pmic@66 {
compatible = "samsung,s2mps13-pmic";
interrupt-parent = <&gpa0>;
interrupts = <7 IRQ_TYPE_NONE>;
reg = <0x66>;
samsung,s2mps11-wrstbi-ground;
s2mps13_osc: clocks {
compatible = "samsung,s2mps13-clk";
#clock-cells = <1>;
clock-output-names = "s2mps13_ap", "s2mps13_cp",
"s2mps13_bt";
};
regulators {
ldo1_reg: LDO1 {
regulator-name = "VDD_ALIVE_0.9V_AP";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <900000>;
regulator-always-on;
};
ldo2_reg: LDO2 {
regulator-name = "VDDQ_MMC2_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo3_reg: LDO3 {
regulator-name = "VDD1_E_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo4_reg: LDO4 {
regulator-name = "VDD10_MIF_PLL_1.0V_AP";
regulator-min-microvolt = <1300000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo5_reg: LDO5 {
regulator-name = "VDD10_DPLL_1.0V_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo6_reg: LDO6 {
regulator-name = "VDD10_MIPI2L_1.0V_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo7_reg: LDO7 {
regulator-name = "VDD18_MIPI2L_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo8_reg: LDO8 {
regulator-name = "VDD18_LLI_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo9_reg: LDO9 {
regulator-name = "VDD18_ABB_ETC_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo10_reg: LDO10 {
regulator-name = "VDD33_USB30_3.0V_AP";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo11_reg: LDO11 {
regulator-name = "VDD_INT_M_1.0V_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo12_reg: LDO12 {
regulator-name = "VDD_KFC_M_1.1V_AP";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1350000>;
regulator-always-on;
};
ldo13_reg: LDO13 {
regulator-name = "VDD_G3D_M_0.95V_AP";
regulator-min-microvolt = <950000>;
regulator-max-microvolt = <950000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo14_reg: LDO14 {
regulator-name = "VDDQ_M1_LDO_1.2V_AP";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo15_reg: LDO15 {
regulator-name = "VDDQ_M2_LDO_1.2V_AP";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
ldo16_reg: LDO16 {
regulator-name = "VDDQ_EFUSE";
regulator-min-microvolt = <1400000>;
regulator-max-microvolt = <3400000>;
regulator-always-on;
};
ldo17_reg: LDO17 {
regulator-name = "V_TFLASH_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo18_reg: LDO18 {
regulator-name = "V_CODEC_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo19_reg: LDO19 {
regulator-name = "VDDA_1.8V_COMP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
regulator-always-on;
};
ldo20_reg: LDO20 {
regulator-name = "VCC_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
regulator-always-on;
};
ldo21_reg: LDO21 {
regulator-name = "VT_CAM_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo22_reg: LDO22 {
regulator-name = "CAM_IO_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo23_reg: LDO23 {
regulator-name = "CAM_SEN_CORE_1.2V_AP";
regulator-min-microvolt = <1050000>;
regulator-max-microvolt = <1200000>;
};
ldo24_reg: LDO24 {
regulator-name = "VT_CAM_1.2V";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
};
ldo25_reg: LDO25 {
regulator-name = "CAM_SEN_A2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo26_reg: LDO26 {
regulator-name = "CAM_AF_2.8V_AP";
regulator-min-microvolt = <2800000>;
regulator-max-microvolt = <2800000>;
};
ldo27_reg: LDO27 {
regulator-name = "VCC_3.0V_LCD_AP";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
ldo28_reg: LDO28 {
regulator-name = "VCC_1.8V_LCD_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo29_reg: LDO29 {
regulator-name = "VT_CAM_2.8V";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
ldo30_reg: LDO30 {
regulator-name = "TSP_AVDD_3.3V_AP";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
ldo31_reg: LDO31 {
regulator-name = "TSP_VDD_1.85V_AP";
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <1850000>;
};
ldo32_reg: LDO32 {
regulator-name = "VTOUCH_1.8V_AP";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo33_reg: LDO33 {
regulator-name = "VTOUCH_LED_3.3V";
regulator-min-microvolt = <2500000>;
regulator-max-microvolt = <3300000>;
regulator-ramp-delay = <12500>;
};
ldo34_reg: LDO34 {
regulator-name = "VCC_1.8V_MHL_AP";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <2100000>;
};
ldo35_reg: LDO35 {
regulator-name = "OIS_VM_2.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <2800000>;
};
ldo36_reg: LDO36 {
regulator-name = "VSIL_1.0V";
regulator-min-microvolt = <1000000>;
regulator-max-microvolt = <1000000>;
};
ldo37_reg: LDO37 {
regulator-name = "VF_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo38_reg: LDO38 {
regulator-name = "VCC_3.0V_MOTOR_AP";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
};
ldo39_reg: LDO39 {
regulator-name = "V_HRM_1.8V";
regulator-min-microvolt = <1800000>;
regulator-max-microvolt = <1800000>;
};
ldo40_reg: LDO40 {
regulator-name = "V_HRM_3.3V";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <3300000>;
};
buck1_reg: BUCK1 {
regulator-name = "VDD_MIF_0.9V_AP";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck2_reg: BUCK2 {
regulator-name = "VDD_EGL_1.0V_AP";
regulator-min-microvolt = <900000>;
regulator-max-microvolt = <1300000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck3_reg: BUCK3 {
regulator-name = "VDD_KFC_1.0V_AP";
regulator-min-microvolt = <800000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck4_reg: BUCK4 {
regulator-name = "VDD_INT_0.95V_AP";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck5_reg: BUCK5 {
regulator-name = "VDD_DISP_CAM0_0.9V_AP";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck6_reg: BUCK6 {
regulator-name = "VDD_G3D_0.9V_AP";
regulator-min-microvolt = <600000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
regulator-state-mem {
regulator-off-in-suspend;
};
};
buck7_reg: BUCK7 {
regulator-name = "VDD_MEM1_1.2V_AP";
regulator-min-microvolt = <1200000>;
regulator-max-microvolt = <1200000>;
regulator-always-on;
};
buck8_reg: BUCK8 {
regulator-name = "VDD_LLDO_1.35V_AP";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
buck9_reg: BUCK9 {
regulator-name = "VDD_MLDO_2.0V_AP";
regulator-min-microvolt = <1350000>;
regulator-max-microvolt = <3300000>;
regulator-always-on;
};
buck10_reg: BUCK10 {
regulator-name = "vdd_mem2";
regulator-min-microvolt = <550000>;
regulator-max-microvolt = <1500000>;
regulator-always-on;
};
};
};
};
&hsi2c_8 {
status = "okay";
max77843@66 {
compatible = "maxim,max77843";
interrupt-parent = <&gpa1>;
interrupts = <5 IRQ_TYPE_EDGE_FALLING>;
reg = <0x66>;
muic: max77843-muic {
compatible = "maxim,max77843-muic";
};
regulators {
compatible = "maxim,max77843-regulator";
safeout1_reg: SAFEOUT1 {
regulator-name = "SAFEOUT1";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <4950000>;
};
safeout2_reg: SAFEOUT2 {
regulator-name = "SAFEOUT2";
regulator-min-microvolt = <3300000>;
regulator-max-microvolt = <4950000>;
};
charger_reg: CHARGER {
regulator-name = "CHARGER";
regulator-min-microamp = <100000>;
regulator-max-microamp = <3150000>;
};
};
haptic: max77843-haptic {
compatible = "maxim,max77843-haptic";
haptic-supply = <&ldo38_reg>;
pwms = <&pwm 0 33670 0>;
pwm-names = "haptic";
};
};
};
&i2s0 {
status = "okay";
};
&mshc_0 {
status = "okay";
num-slots = <1>;
mmc-hs200-1_8v;
mmc-hs400-1_8v;
cap-mmc-highspeed;
non-removable;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 4>;
samsung,dw-mshc-ddr-timing = <0 2>;
samsung,dw-mshc-hs400-timing = <0 3>;
samsung,read-strobe-delay = <90>;
fifo-depth = <0x80>;
pinctrl-names = "default";
pinctrl-0 = <&sd0_clk &sd0_cmd &sd0_qrdy &sd0_bus1 &sd0_bus4
&sd0_bus8 &sd0_rdqs>;
bus-width = <8>;
assigned-clocks = <&cmu_top CLK_SCLK_MMC0_FSYS>;
assigned-clock-rates = <800000000>;
};
&mshc_2 {
status = "okay";
num-slots = <1>;
cap-sd-highspeed;
disable-wp;
cd-gpios = <&gpa2 4 GPIO_ACTIVE_HIGH>;
cd-inverted;
card-detect-delay = <200>;
samsung,dw-mshc-ciu-div = <3>;
samsung,dw-mshc-sdr-timing = <0 4>;
samsung,dw-mshc-ddr-timing = <0 2>;
fifo-depth = <0x80>;
pinctrl-names = "default";
pinctrl-0 = <&sd2_clk &sd2_cmd &sd2_bus1 &sd2_bus4>;
bus-width = <4>;
};
&pinctrl_alive {
pinctrl-names = "default";
pinctrl-0 = <&initial_alive>;
initial_alive: initial-state {
PIN(IN, gpa0-0, DOWN, LV1);
PIN(IN, gpa0-1, NONE, LV1);
PIN(IN, gpa0-2, DOWN, LV1);
PIN(IN, gpa0-3, NONE, LV1);
PIN(IN, gpa0-4, NONE, LV1);
PIN(IN, gpa0-5, DOWN, LV1);
PIN(IN, gpa0-6, NONE, LV1);
PIN(IN, gpa0-7, NONE, LV1);
PIN(IN, gpa1-0, UP, LV1);
PIN(IN, gpa1-1, NONE, LV1);
PIN(IN, gpa1-2, NONE, LV1);
PIN(IN, gpa1-3, DOWN, LV1);
PIN(IN, gpa1-4, DOWN, LV1);
PIN(IN, gpa1-5, NONE, LV1);
PIN(IN, gpa1-6, NONE, LV1);
PIN(IN, gpa1-7, NONE, LV1);
PIN(IN, gpa2-0, NONE, LV1);
PIN(IN, gpa2-1, NONE, LV1);
PIN(IN, gpa2-2, NONE, LV1);
PIN(IN, gpa2-3, DOWN, LV1);
PIN(IN, gpa2-4, NONE, LV1);
PIN(IN, gpa2-5, DOWN, LV1);
PIN(IN, gpa2-6, DOWN, LV1);
PIN(IN, gpa2-7, NONE, LV1);
PIN(IN, gpa3-0, DOWN, LV1);
PIN(IN, gpa3-1, DOWN, LV1);
PIN(IN, gpa3-2, NONE, LV1);
PIN(IN, gpa3-3, DOWN, LV1);
PIN(IN, gpa3-4, NONE, LV1);
PIN(IN, gpa3-5, DOWN, LV1);
PIN(IN, gpa3-6, DOWN, LV1);
PIN(IN, gpa3-7, DOWN, LV1);
PIN(IN, gpf1-0, NONE, LV1);
PIN(IN, gpf1-1, NONE, LV1);
PIN(IN, gpf1-2, DOWN, LV1);
PIN(IN, gpf1-4, UP, LV1);
PIN(OUT, gpf1-5, NONE, LV1);
PIN(IN, gpf1-6, DOWN, LV1);
PIN(IN, gpf1-7, DOWN, LV1);
PIN(IN, gpf2-0, DOWN, LV1);
PIN(IN, gpf2-1, DOWN, LV1);
PIN(IN, gpf2-2, DOWN, LV1);
PIN(IN, gpf2-3, DOWN, LV1);
PIN(IN, gpf3-0, DOWN, LV1);
PIN(IN, gpf3-1, DOWN, LV1);
PIN(IN, gpf3-2, NONE, LV1);
PIN(IN, gpf3-3, DOWN, LV1);
PIN(IN, gpf4-0, DOWN, LV1);
PIN(IN, gpf4-1, DOWN, LV1);
PIN(IN, gpf4-2, DOWN, LV1);
PIN(IN, gpf4-3, DOWN, LV1);
PIN(IN, gpf4-4, DOWN, LV1);
PIN(IN, gpf4-5, DOWN, LV1);
PIN(IN, gpf4-6, DOWN, LV1);
PIN(IN, gpf4-7, DOWN, LV1);
PIN(IN, gpf5-0, DOWN, LV1);
PIN(IN, gpf5-1, DOWN, LV1);
PIN(IN, gpf5-2, DOWN, LV1);
PIN(IN, gpf5-3, DOWN, LV1);
PIN(OUT, gpf5-4, NONE, LV1);
PIN(IN, gpf5-5, DOWN, LV1);
PIN(IN, gpf5-6, DOWN, LV1);
PIN(IN, gpf5-7, DOWN, LV1);
};
te_irq: te_irq {
samsung,pins = "gpf1-3";
samsung,pin-function = <0xf>;
};
};
&pinctrl_cpif {
pinctrl-names = "default";
pinctrl-0 = <&initial_cpif>;
initial_cpif: initial-state {
PIN(IN, gpv6-0, DOWN, LV1);
PIN(IN, gpv6-1, DOWN, LV1);
};
};
&pinctrl_ese {
pinctrl-names = "default";
pinctrl-0 = <&initial_ese>;
initial_ese: initial-state {
PIN(IN, gpj2-0, DOWN, LV1);
PIN(IN, gpj2-1, DOWN, LV1);
PIN(IN, gpj2-2, DOWN, LV1);
};
};
&pinctrl_fsys {
pinctrl-names = "default";
pinctrl-0 = <&initial_fsys>;
initial_fsys: initial-state {
PIN(IN, gpr3-0, NONE, LV1);
PIN(IN, gpr3-1, DOWN, LV1);
PIN(IN, gpr3-2, DOWN, LV1);
PIN(IN, gpr3-3, DOWN, LV1);
PIN(IN, gpr3-7, NONE, LV1);
};
};
&pinctrl_imem {
pinctrl-names = "default";
pinctrl-0 = <&initial_imem>;
initial_imem: initial-state {
PIN(IN, gpf0-0, UP, LV1);
PIN(IN, gpf0-1, UP, LV1);
PIN(IN, gpf0-2, DOWN, LV1);
PIN(IN, gpf0-3, UP, LV1);
PIN(IN, gpf0-4, DOWN, LV1);
PIN(IN, gpf0-5, NONE, LV1);
PIN(IN, gpf0-6, DOWN, LV1);
PIN(IN, gpf0-7, UP, LV1);
};
};
&pinctrl_nfc {
pinctrl-names = "default";
pinctrl-0 = <&initial_nfc>;
initial_nfc: initial-state {
PIN(IN, gpj0-2, DOWN, LV1);
};
};
&pinctrl_peric {
pinctrl-names = "default";
pinctrl-0 = <&initial_peric>;
initial_peric: initial-state {
PIN(IN, gpv7-0, DOWN, LV1);
PIN(IN, gpv7-1, DOWN, LV1);
PIN(IN, gpv7-2, NONE, LV1);
PIN(IN, gpv7-3, DOWN, LV1);
PIN(IN, gpv7-4, DOWN, LV1);
PIN(IN, gpv7-5, DOWN, LV1);
PIN(IN, gpb0-4, DOWN, LV1);
PIN(IN, gpc0-2, DOWN, LV1);
PIN(IN, gpc0-5, DOWN, LV1);
PIN(IN, gpc0-7, DOWN, LV1);
PIN(IN, gpc1-1, DOWN, LV1);
PIN(IN, gpc3-4, NONE, LV1);
PIN(IN, gpc3-5, NONE, LV1);
PIN(IN, gpc3-6, NONE, LV1);
PIN(IN, gpc3-7, NONE, LV1);
PIN(OUT, gpg0-0, NONE, LV1);
PIN(FUNC1, gpg0-1, DOWN, LV1);
PIN(IN, gpd2-5, DOWN, LV1);
PIN(IN, gpd4-0, NONE, LV1);
PIN(IN, gpd4-1, DOWN, LV1);
PIN(IN, gpd4-2, DOWN, LV1);
PIN(IN, gpd4-3, DOWN, LV1);
PIN(IN, gpd4-4, DOWN, LV1);
PIN(IN, gpd6-3, DOWN, LV1);
PIN(IN, gpd8-1, UP, LV1);
PIN(IN, gpg1-0, DOWN, LV1);
PIN(IN, gpg1-1, DOWN, LV1);
PIN(IN, gpg1-2, DOWN, LV1);
PIN(IN, gpg1-3, DOWN, LV1);
PIN(IN, gpg1-4, DOWN, LV1);
PIN(IN, gpg2-0, DOWN, LV1);
PIN(IN, gpg2-1, DOWN, LV1);
PIN(IN, gpg3-0, DOWN, LV1);
PIN(IN, gpg3-1, DOWN, LV1);
PIN(IN, gpg3-5, DOWN, LV1);
PIN(IN, gpg3-7, DOWN, LV1);
};
};
&pinctrl_touch {
pinctrl-names = "default";
pinctrl-0 = <&initial_touch>;
initial_touch: initial-state {
PIN(IN, gpj1-2, DOWN, LV1);
};
};
&pwm {
pinctrl-0 = <&pwm0_out>;
pinctrl-names = "default";
status = "okay";
};
&mic {
status = "okay";
i80-if-timings {
};
};
&pmu_system_controller {
assigned-clocks = <&pmu_system_controller 0>;
assigned-clock-parents = <&xxti>;
};
&serial_1 {
status = "okay";
};
&spi_1 {
cs-gpios = <&gpd6 3 GPIO_ACTIVE_HIGH>;
status = "okay";
wm5110: wm5110-codec@0 {
compatible = "wlf,wm5110";
reg = <0x0>;
spi-max-frequency = <20000000>;
interrupt-parent = <&gpa0>;
interrupts = <4 IRQ_TYPE_NONE>;
clocks = <&pmu_system_controller 0>,
<&s2mps13_osc S2MPS11_CLK_BT>;
clock-names = "mclk1", "mclk2";
gpio-controller;
#gpio-cells = <2>;
wlf,micd-detect-debounce = <300>;
wlf,micd-bias-start-time = <0x1>;
wlf,micd-rate = <0x7>;
wlf,micd-dbtime = <0x1>;
wlf,micd-force-micbias;
wlf,micd-configs = <0x0 1 0>;
wlf,hpdet-channel = <1>;
wlf,gpsw = <0x1>;
wlf,inmode = <2 0 2 0>;
wlf,reset = <&gpc0 7 GPIO_ACTIVE_HIGH>;
wlf,ldoena = <&gpf0 0 GPIO_ACTIVE_HIGH>;
/* core supplies */
AVDD-supply = <&ldo18_reg>;
DBVDD1-supply = <&ldo18_reg>;
CPVDD-supply = <&ldo18_reg>;
DBVDD2-supply = <&ldo18_reg>;
DBVDD3-supply = <&ldo18_reg>;
controller-data {
samsung,spi-feedback-delay = <0>;
};
};
};
&timer {
clock-frequency = <24000000>;
};
&tmu_atlas0 {
vtmu-supply = <&ldo3_reg>;
status = "okay";
};
&tmu_apollo {
vtmu-supply = <&ldo3_reg>;
status = "okay";
};
&tmu_g3d {
vtmu-supply = <&ldo3_reg>;
status = "okay";
};
&usbdrd30 {
vdd33-supply = <&ldo10_reg>;
vdd10-supply = <&ldo6_reg>;
status = "okay";
};
&usbdrd_dwc3_0 {
dr_mode = "otg";
};
&usbdrd30_phy {
vbus-supply = <&safeout1_reg>;
status = "okay";
}; };
&xxti { &cmu_disp {
clock-frequency = <24000000>; /*
* TM2 and TM2e differ only by DISP_PLL rate, but define all assigned
* clocks properties for DISP CMU for each board to keep them together
* for easier review and maintenance.
*/
assigned-clocks = <&cmu_disp CLK_FOUT_DISP_PLL>,
<&cmu_mif CLK_DIV_SCLK_DECON_TV_ECLK>,
<&cmu_disp CLK_MOUT_ACLK_DISP_333_USER>,
<&cmu_disp CLK_MOUT_SCLK_DSIM0_USER>,
<&cmu_disp CLK_MOUT_SCLK_DSIM0>,
<&cmu_disp CLK_MOUT_SCLK_DECON_ECLK_USER>,
<&cmu_disp CLK_MOUT_SCLK_DECON_ECLK>,
<&cmu_disp CLK_MOUT_PHYCLK_MIPIDPHY0_RXCLKESC0_USER>,
<&cmu_disp CLK_MOUT_PHYCLK_MIPIDPHY0_BITCLKDIV8_USER>,
<&cmu_disp CLK_MOUT_DISP_PLL>,
<&cmu_mif CLK_MOUT_SCLK_DECON_TV_ECLK_A>,
<&cmu_disp CLK_MOUT_SCLK_DECON_TV_ECLK_USER>,
<&cmu_disp CLK_MOUT_SCLK_DECON_TV_ECLK>;
assigned-clock-parents = <0>, <0>,
<&cmu_mif CLK_ACLK_DISP_333>,
<&cmu_mif CLK_SCLK_DSIM0_DISP>,
<&cmu_disp CLK_MOUT_SCLK_DSIM0_USER>,
<&cmu_mif CLK_SCLK_DECON_ECLK_DISP>,
<&cmu_disp CLK_MOUT_SCLK_DECON_ECLK_USER>,
<&cmu_disp CLK_PHYCLK_MIPIDPHY0_RXCLKESC0_PHY>,
<&cmu_disp CLK_PHYCLK_MIPIDPHY0_BITCLKDIV8_PHY>,
<&cmu_disp CLK_FOUT_DISP_PLL>,
<&cmu_mif CLK_MOUT_BUS_PLL_DIV2>,
<&cmu_mif CLK_SCLK_DECON_TV_ECLK_DISP>,
<&cmu_disp CLK_MOUT_SCLK_DECON_TV_ECLK_USER>;
assigned-clock-rates = <250000000>, <400000000>;
};
&hsi2c_9 {
status = "okay";
touchkey@20 {
compatible = "cypress,tm2-touchkey";
reg = <0x20>;
interrupt-parent = <&gpa3>;
interrupts = <2 IRQ_TYPE_EDGE_FALLING>;
vcc-supply = <&ldo32_reg>;
vdd-supply = <&ldo33_reg>;
};
};
&ldo31_reg {
regulator-name = "TSP_VDD_1.85V_AP";
regulator-min-microvolt = <1850000>;
regulator-max-microvolt = <1850000>;
};
&ldo38_reg {
regulator-name = "VCC_3.0V_MOTOR_AP";
regulator-min-microvolt = <3000000>;
regulator-max-microvolt = <3000000>;
}; };
...@@ -11,21 +11,45 @@ ...@@ -11,21 +11,45 @@
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
#include "exynos5433-tm2.dts" #include "exynos5433-tm2-common.dtsi"
/ { / {
model = "Samsung TM2E board"; model = "Samsung TM2E board";
compatible = "samsung,tm2e", "samsung,exynos5433"; compatible = "samsung,tm2e", "samsung,exynos5433";
}; };
&ldo23_reg { &cmu_disp {
regulator-name = "CAM_SEN_CORE_1.025V_AP"; /*
regulator-max-microvolt = <1050000>; * TM2 and TM2e differ only by DISP_PLL rate, but define all assigned
}; * clocks properties for DISP CMU for each board to keep them together
* for easier review and maintenance.
&ldo25_reg { */
regulator-name = "UNUSED_LDO25"; assigned-clocks = <&cmu_disp CLK_FOUT_DISP_PLL>,
regulator-always-off; <&cmu_mif CLK_DIV_SCLK_DECON_TV_ECLK>,
<&cmu_disp CLK_MOUT_ACLK_DISP_333_USER>,
<&cmu_disp CLK_MOUT_SCLK_DSIM0_USER>,
<&cmu_disp CLK_MOUT_SCLK_DSIM0>,
<&cmu_disp CLK_MOUT_SCLK_DECON_ECLK_USER>,
<&cmu_disp CLK_MOUT_SCLK_DECON_ECLK>,
<&cmu_disp CLK_MOUT_PHYCLK_MIPIDPHY0_RXCLKESC0_USER>,
<&cmu_disp CLK_MOUT_PHYCLK_MIPIDPHY0_BITCLKDIV8_USER>,
<&cmu_disp CLK_MOUT_DISP_PLL>,
<&cmu_mif CLK_MOUT_SCLK_DECON_TV_ECLK_A>,
<&cmu_disp CLK_MOUT_SCLK_DECON_TV_ECLK_USER>,
<&cmu_disp CLK_MOUT_SCLK_DECON_TV_ECLK>;
assigned-clock-parents = <0>, <0>,
<&cmu_mif CLK_ACLK_DISP_333>,
<&cmu_mif CLK_SCLK_DSIM0_DISP>,
<&cmu_disp CLK_MOUT_SCLK_DSIM0_USER>,
<&cmu_mif CLK_SCLK_DECON_ECLK_DISP>,
<&cmu_disp CLK_MOUT_SCLK_DECON_ECLK_USER>,
<&cmu_disp CLK_PHYCLK_MIPIDPHY0_RXCLKESC0_PHY>,
<&cmu_disp CLK_PHYCLK_MIPIDPHY0_BITCLKDIV8_PHY>,
<&cmu_disp CLK_FOUT_DISP_PLL>,
<&cmu_mif CLK_MOUT_BUS_PLL_DIV2>,
<&cmu_mif CLK_SCLK_DECON_TV_ECLK_DISP>,
<&cmu_disp CLK_MOUT_SCLK_DECON_TV_ECLK_USER>;
assigned-clock-rates = <278000000>, <400000000>;
}; };
&ldo31_reg { &ldo31_reg {
......
...@@ -299,7 +299,7 @@ ...@@ -299,7 +299,7 @@
#clock-cells = <1>; #clock-cells = <1>;
}; };
cmu_peris: clock-controller@0x10040000 { cmu_peris: clock-controller@10040000 {
compatible = "samsung,exynos5433-cmu-peris"; compatible = "samsung,exynos5433-cmu-peris";
reg = <0x10040000 0x1000>; reg = <0x10040000 0x1000>;
#clock-cells = <1>; #clock-cells = <1>;
...@@ -599,6 +599,30 @@ ...@@ -599,6 +599,30 @@
clock-names = "fin_pll", "mct"; clock-names = "fin_pll", "mct";
}; };
ppmu_d0_cpu: ppmu@10480000 {
compatible = "samsung,exynos-ppmu-v2";
reg = <0x10480000 0x2000>;
status = "disabled";
};
ppmu_d0_general: ppmu@10490000 {
compatible = "samsung,exynos-ppmu-v2";
reg = <0x10490000 0x2000>;
status = "disabled";
};
ppmu_d1_cpu: ppmu@104b0000 {
compatible = "samsung,exynos-ppmu-v2";
reg = <0x104b0000 0x2000>;
status = "disabled";
};
ppmu_d1_general: ppmu@104c0000 {
compatible = "samsung,exynos-ppmu-v2";
reg = <0x104c0000 0x2000>;
status = "disabled";
};
pinctrl_alive: pinctrl@10580000 { pinctrl_alive: pinctrl@10580000 {
compatible = "samsung,exynos5433-pinctrl"; compatible = "samsung,exynos5433-pinctrl";
reg = <0x10580000 0x1a20>, <0x11090000 0x100>; reg = <0x10580000 0x1a20>, <0x11090000 0x100>;
...@@ -682,7 +706,7 @@ ...@@ -682,7 +706,7 @@
interrupts = <GIC_PPI 9 0xf04>; interrupts = <GIC_PPI 9 0xf04>;
}; };
mipi_phy: video-phy@105c0710 { mipi_phy: video-phy {
compatible = "samsung,exynos5433-mipi-video-phy"; compatible = "samsung,exynos5433-mipi-video-phy";
#phy-cells = <1>; #phy-cells = <1>;
samsung,pmu-syscon = <&pmu_system_controller>; samsung,pmu-syscon = <&pmu_system_controller>;
...@@ -727,6 +751,29 @@ ...@@ -727,6 +751,29 @@
}; };
}; };
decon_tv: decon@13880000 {
compatible = "samsung,exynos5433-decon-tv";
reg = <0x13880000 0x20b8>;
clocks = <&cmu_disp CLK_PCLK_DECON_TV>,
<&cmu_disp CLK_ACLK_DECON_TV>,
<&cmu_disp CLK_ACLK_SMMU_TV0X>,
<&cmu_disp CLK_ACLK_XIU_TV0X>,
<&cmu_disp CLK_PCLK_SMMU_TV0X>,
<&cmu_disp CLK_SCLK_DECON_TV_VCLK>,
<&cmu_disp CLK_SCLK_DECON_TV_ECLK>;
clock-names = "pclk", "aclk_decon", "aclk_smmu_decon0x",
"aclk_xiu_decon0x", "pclk_smmu_decon0x",
"sclk_decon_vclk", "sclk_decon_eclk";
samsung,disp-sysreg = <&syscon_disp>;
interrupt-names = "fifo", "vsync", "lcd_sys";
interrupts = <GIC_SPI 210 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 211 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 212 IRQ_TYPE_LEVEL_HIGH>;
status = "disabled";
iommus = <&sysmmu_tv0x>, <&sysmmu_tv1x>;
iommu-names = "m0", "m1";
};
dsi: dsi@13900000 { dsi: dsi@13900000 {
compatible = "samsung,exynos5433-mipi-dsi"; compatible = "samsung,exynos5433-mipi-dsi";
reg = <0x13900000 0xC0>; reg = <0x13900000 0xC0>;
...@@ -790,6 +837,35 @@ ...@@ -790,6 +837,35 @@
}; };
}; };
hdmi: hdmi@13970000 {
compatible = "samsung,exynos5433-hdmi";
reg = <0x13970000 0x70000>;
interrupts = <GIC_SPI 208 IRQ_TYPE_LEVEL_HIGH>;
clocks = <&cmu_disp CLK_PCLK_HDMI>,
<&cmu_disp CLK_PCLK_HDMIPHY>,
<&cmu_disp CLK_PHYCLK_HDMIPHY_TMDS_CLKO>,
<&cmu_disp CLK_PHYCLK_HDMI_PIXEL>,
<&cmu_disp CLK_PHYCLK_HDMIPHY_TMDS_CLKO_PHY>,
<&cmu_disp CLK_MOUT_PHYCLK_HDMIPHY_TMDS_CLKO_USER>,
<&cmu_disp CLK_PHYCLK_HDMIPHY_PIXEL_CLKO_PHY>,
<&cmu_disp CLK_MOUT_PHYCLK_HDMIPHY_PIXEL_CLKO_USER>,
<&xxti>, <&cmu_disp CLK_SCLK_HDMI_SPDIF>;
clock-names = "hdmi_pclk", "hdmi_i_pclk",
"i_tmds_clk", "i_pixel_clk",
"tmds_clko", "tmds_clko_user",
"pixel_clko", "pixel_clko_user",
"oscclk", "i_spdif_clk";
phy = <&hdmiphy>;
ddc = <&hsi2c_11>;
samsung,syscon-phandle = <&pmu_system_controller>;
samsung,sysreg-phandle = <&syscon_disp>;
status = "disabled";
};
hdmiphy: hdmiphy@13af0000 {
reg = <0x13af0000 0x80>;
};
syscon_disp: syscon@13b80000 { syscon_disp: syscon@13b80000 {
compatible = "syscon"; compatible = "syscon";
reg = <0x13b80000 0x1010>; reg = <0x13b80000 0x1010>;
...@@ -868,7 +944,7 @@ ...@@ -868,7 +944,7 @@
iommu-names = "left", "right"; iommu-names = "left", "right";
}; };
sysmmu_decon0x: sysmmu@0x13a00000 { sysmmu_decon0x: sysmmu@13a00000 {
compatible = "samsung,exynos-sysmmu"; compatible = "samsung,exynos-sysmmu";
reg = <0x13a00000 0x1000>; reg = <0x13a00000 0x1000>;
interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 192 IRQ_TYPE_LEVEL_HIGH>;
...@@ -878,7 +954,7 @@ ...@@ -878,7 +954,7 @@
#iommu-cells = <0>; #iommu-cells = <0>;
}; };
sysmmu_decon1x: sysmmu@0x13a10000 { sysmmu_decon1x: sysmmu@13a10000 {
compatible = "samsung,exynos-sysmmu"; compatible = "samsung,exynos-sysmmu";
reg = <0x13a10000 0x1000>; reg = <0x13a10000 0x1000>;
interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 194 IRQ_TYPE_LEVEL_HIGH>;
...@@ -888,7 +964,27 @@ ...@@ -888,7 +964,27 @@
#iommu-cells = <0>; #iommu-cells = <0>;
}; };
sysmmu_gscl0: sysmmu@0x13C80000 { sysmmu_tv0x: sysmmu@13a20000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13a20000 0x1000>;
interrupts = <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "pclk", "aclk";
clocks = <&cmu_disp CLK_PCLK_SMMU_TV0X>,
<&cmu_disp CLK_ACLK_SMMU_TV0X>;
#iommu-cells = <0>;
};
sysmmu_tv1x: sysmmu@13a30000 {
compatible = "samsung,exynos-sysmmu";
reg = <0x13a30000 0x1000>;
interrupts = <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
clock-names = "pclk", "aclk";
clocks = <&cmu_disp CLK_PCLK_SMMU_TV1X>,
<&cmu_disp CLK_ACLK_SMMU_TV1X>;
#iommu-cells = <0>;
};
sysmmu_gscl0: sysmmu@13c80000 {
compatible = "samsung,exynos-sysmmu"; compatible = "samsung,exynos-sysmmu";
reg = <0x13C80000 0x1000>; reg = <0x13C80000 0x1000>;
interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 288 IRQ_TYPE_LEVEL_HIGH>;
...@@ -898,7 +994,7 @@ ...@@ -898,7 +994,7 @@
#iommu-cells = <0>; #iommu-cells = <0>;
}; };
sysmmu_gscl1: sysmmu@0x13C90000 { sysmmu_gscl1: sysmmu@13c90000 {
compatible = "samsung,exynos-sysmmu"; compatible = "samsung,exynos-sysmmu";
reg = <0x13C90000 0x1000>; reg = <0x13C90000 0x1000>;
interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 290 IRQ_TYPE_LEVEL_HIGH>;
...@@ -908,7 +1004,7 @@ ...@@ -908,7 +1004,7 @@
#iommu-cells = <0>; #iommu-cells = <0>;
}; };
sysmmu_gscl2: sysmmu@0x13CA0000 { sysmmu_gscl2: sysmmu@13ca0000 {
compatible = "samsung,exynos-sysmmu"; compatible = "samsung,exynos-sysmmu";
reg = <0x13CA0000 0x1000>; reg = <0x13CA0000 0x1000>;
interrupts = <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 292 IRQ_TYPE_LEVEL_HIGH>;
...@@ -918,7 +1014,7 @@ ...@@ -918,7 +1014,7 @@
#iommu-cells = <0>; #iommu-cells = <0>;
}; };
sysmmu_jpeg: sysmmu@0x15060000 { sysmmu_jpeg: sysmmu@15060000 {
compatible = "samsung,exynos-sysmmu"; compatible = "samsung,exynos-sysmmu";
reg = <0x15060000 0x1000>; reg = <0x15060000 0x1000>;
interrupts = <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 408 IRQ_TYPE_LEVEL_HIGH>;
...@@ -928,7 +1024,7 @@ ...@@ -928,7 +1024,7 @@
#iommu-cells = <0>; #iommu-cells = <0>;
}; };
sysmmu_mfc_0: sysmmu@0x15200000 { sysmmu_mfc_0: sysmmu@15200000 {
compatible = "samsung,exynos-sysmmu"; compatible = "samsung,exynos-sysmmu";
reg = <0x15200000 0x1000>; reg = <0x15200000 0x1000>;
interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 352 IRQ_TYPE_LEVEL_HIGH>;
...@@ -938,7 +1034,7 @@ ...@@ -938,7 +1034,7 @@
#iommu-cells = <0>; #iommu-cells = <0>;
}; };
sysmmu_mfc_1: sysmmu@0x15210000 { sysmmu_mfc_1: sysmmu@15210000 {
compatible = "samsung,exynos-sysmmu"; compatible = "samsung,exynos-sysmmu";
reg = <0x15210000 0x1000>; reg = <0x15210000 0x1000>;
interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>; interrupts = <GIC_SPI 354 IRQ_TYPE_LEVEL_HIGH>;
...@@ -1261,7 +1357,7 @@ ...@@ -1261,7 +1357,7 @@
status = "disabled"; status = "disabled";
}; };
usbdrd30: usb@15400000 { usbdrd30: usbdrd {
compatible = "samsung,exynos5250-dwusb3"; compatible = "samsung,exynos5250-dwusb3";
clocks = <&cmu_fsys CLK_ACLK_USBDRD30>, clocks = <&cmu_fsys CLK_ACLK_USBDRD30>,
<&cmu_fsys CLK_SCLK_USBDRD30>; <&cmu_fsys CLK_SCLK_USBDRD30>;
...@@ -1308,7 +1404,7 @@ ...@@ -1308,7 +1404,7 @@
status = "disabled"; status = "disabled";
}; };
usbhost30: usb@15a00000 { usbhost30: usbhost {
compatible = "samsung,exynos5250-dwusb3"; compatible = "samsung,exynos5250-dwusb3";
clocks = <&cmu_fsys CLK_ACLK_USBHOST30>, clocks = <&cmu_fsys CLK_ACLK_USBHOST30>,
<&cmu_fsys CLK_SCLK_USBHOST30>; <&cmu_fsys CLK_SCLK_USBHOST30>;
...@@ -1398,6 +1494,8 @@ ...@@ -1398,6 +1494,8 @@
audio-subsystem@11400000 { audio-subsystem@11400000 {
compatible = "samsung,exynos5433-lpass"; compatible = "samsung,exynos5433-lpass";
reg = <0x11400000 0x100>, <0x11500000 0x08>; reg = <0x11400000 0x100>, <0x11500000 0x08>;
clocks = <&cmu_aud CLK_PCLK_SFR0_CTRL>;
clock-names = "sfr0_ctrl";
samsung,pmu-syscon = <&pmu_system_controller>; samsung,pmu-syscon = <&pmu_system_controller>;
#address-cells = <1>; #address-cells = <1>;
#size-cells = <1>; #size-cells = <1>;
...@@ -1458,5 +1556,6 @@ ...@@ -1458,5 +1556,6 @@
}; };
}; };
#include "exynos5433-bus.dtsi"
#include "exynos5433-pinctrl.dtsi" #include "exynos5433-pinctrl.dtsi"
#include "exynos5433-tmu.dtsi" #include "exynos5433-tmu.dtsi"
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
#include "exynos7.dtsi" #include "exynos7.dtsi"
#include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/interrupt-controller/irq.h>
#include <dt-bindings/clock/samsung,s2mps11.h> #include <dt-bindings/clock/samsung,s2mps11.h>
#include <dt-bindings/gpio/gpio.h>
/ { / {
model = "Samsung Exynos7 Espresso board based on EXYNOS7"; model = "Samsung Exynos7 Espresso board based on EXYNOS7";
...@@ -32,6 +33,29 @@ ...@@ -32,6 +33,29 @@
device_type = "memory"; device_type = "memory";
reg = <0x0 0x40000000 0x0 0xC0000000>; reg = <0x0 0x40000000 0x0 0xC0000000>;
}; };
usb30_vbus_reg: regulator-usb30 {
compatible = "regulator-fixed";
regulator-name = "VBUS_5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gph1 1 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb30_vbus_en>;
enable-active-high;
};
usb3drd_boost_5v: regulator-usb3drd-boost {
compatible = "regulator-fixed";
regulator-name = "VUSB_VBUS_5V";
regulator-min-microvolt = <5000000>;
regulator-max-microvolt = <5000000>;
gpio = <&gpf4 1 GPIO_ACTIVE_HIGH>;
pinctrl-names = "default";
pinctrl-0 = <&usb3drd_boost_en>;
enable-active-high;
};
}; };
&fin_pll { &fin_pll {
...@@ -328,8 +352,8 @@ ...@@ -328,8 +352,8 @@
&pinctrl_alive { &pinctrl_alive {
pmic_irq: pmic-irq { pmic_irq: pmic-irq {
samsung,pins = "gpa0-2"; samsung,pins = "gpa0-2";
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
}; };
}; };
...@@ -365,3 +389,24 @@ ...@@ -365,3 +389,24 @@
vqmmc-supply = <&ldo2_reg>; vqmmc-supply = <&ldo2_reg>;
disable-wp; disable-wp;
}; };
&pinctrl_bus1 {
usb30_vbus_en: usb30-vbus-en {
samsung,pins = "gph1-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};
usb3drd_boost_en: usb3drd-boost-en {
samsung,pins = "gpf4-1";
samsung,pin-function = <EXYNOS_PIN_FUNC_OUTPUT>;
samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
};
};
&usbdrd_phy {
vbus-supply = <&usb30_vbus_reg>;
vbus-boost-supply = <&usb3drd_boost_5v>;
};
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
* published by the Free Software Foundation. * published by the Free Software Foundation.
*/ */
#include <dt-bindings/pinctrl/samsung.h>
&pinctrl_alive { &pinctrl_alive {
gpa0: gpa0 { gpa0: gpa0 {
gpio-controller; gpio-controller;
...@@ -187,163 +189,163 @@ ...@@ -187,163 +189,163 @@
hs_i2c10_bus: hs-i2c10-bus { hs_i2c10_bus: hs-i2c10-bus {
samsung,pins = "gpb0-1", "gpb0-0"; samsung,pins = "gpb0-1", "gpb0-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
hs_i2c11_bus: hs-i2c11-bus { hs_i2c11_bus: hs-i2c11-bus {
samsung,pins = "gpb0-3", "gpb0-2"; samsung,pins = "gpb0-3", "gpb0-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
hs_i2c2_bus: hs-i2c2-bus { hs_i2c2_bus: hs-i2c2-bus {
samsung,pins = "gpd0-3", "gpd0-2"; samsung,pins = "gpd0-3", "gpd0-2";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
uart0_data: uart0-data { uart0_data: uart0-data {
samsung,pins = "gpd0-0", "gpd0-1"; samsung,pins = "gpd0-0", "gpd0-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
uart0_fctl: uart0-fctl { uart0_fctl: uart0-fctl {
samsung,pins = "gpd0-2", "gpd0-3"; samsung,pins = "gpd0-2", "gpd0-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
uart2_data: uart2-data { uart2_data: uart2-data {
samsung,pins = "gpd1-4", "gpd1-5"; samsung,pins = "gpd1-4", "gpd1-5";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
hs_i2c3_bus: hs-i2c3-bus { hs_i2c3_bus: hs-i2c3-bus {
samsung,pins = "gpd1-3", "gpd1-2"; samsung,pins = "gpd1-3", "gpd1-2";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
uart1_data: uart1-data { uart1_data: uart1-data {
samsung,pins = "gpd1-0", "gpd1-1"; samsung,pins = "gpd1-0", "gpd1-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
uart1_fctl: uart1-fctl { uart1_fctl: uart1-fctl {
samsung,pins = "gpd1-2", "gpd1-3"; samsung,pins = "gpd1-2", "gpd1-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
hs_i2c0_bus: hs-i2c0-bus { hs_i2c0_bus: hs-i2c0-bus {
samsung,pins = "gpd2-1", "gpd2-0"; samsung,pins = "gpd2-1", "gpd2-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
hs_i2c1_bus: hs-i2c1-bus { hs_i2c1_bus: hs-i2c1-bus {
samsung,pins = "gpd2-3", "gpd2-2"; samsung,pins = "gpd2-3", "gpd2-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
hs_i2c9_bus: hs-i2c9-bus { hs_i2c9_bus: hs-i2c9-bus {
samsung,pins = "gpd2-7", "gpd2-6"; samsung,pins = "gpd2-7", "gpd2-6";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
pwm0_out: pwm0-out { pwm0_out: pwm0-out {
samsung,pins = "gpd2-4"; samsung,pins = "gpd2-4";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
pwm1_out: pwm1-out { pwm1_out: pwm1-out {
samsung,pins = "gpd2-5"; samsung,pins = "gpd2-5";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
pwm2_out: pwm2-out { pwm2_out: pwm2-out {
samsung,pins = "gpd2-6"; samsung,pins = "gpd2-6";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
pwm3_out: pwm3-out { pwm3_out: pwm3-out {
samsung,pins = "gpd2-7"; samsung,pins = "gpd2-7";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
hs_i2c8_bus: hs-i2c8-bus { hs_i2c8_bus: hs-i2c8-bus {
samsung,pins = "gpd5-3", "gpd5-2"; samsung,pins = "gpd5-3", "gpd5-2";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
uart3_data: uart3-data { uart3_data: uart3-data {
samsung,pins = "gpd5-0", "gpd5-1"; samsung,pins = "gpd5-0", "gpd5-1";
samsung,pin-function = <3>; samsung,pin-function = <EXYNOS_PIN_FUNC_3>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
spi2_bus: spi2-bus { spi2_bus: spi2-bus {
samsung,pins = "gpd5-0", "gpd5-1", "gpd5-2", "gpd5-3"; samsung,pins = "gpd5-0", "gpd5-1", "gpd5-2", "gpd5-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
spi1_bus: spi1-bus { spi1_bus: spi1-bus {
samsung,pins = "gpd6-2", "gpd6-3", "gpd6-4", "gpd6-5"; samsung,pins = "gpd6-2", "gpd6-3", "gpd6-4", "gpd6-5";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
spi0_bus: spi0-bus { spi0_bus: spi0-bus {
samsung,pins = "gpd8-0", "gpd8-1", "gpd6-0", "gpd6-1"; samsung,pins = "gpd8-0", "gpd8-1", "gpd6-0", "gpd6-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
hs_i2c4_bus: hs-i2c4-bus { hs_i2c4_bus: hs-i2c4-bus {
samsung,pins = "gpg3-1", "gpg3-0"; samsung,pins = "gpg3-1", "gpg3-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
hs_i2c5_bus: hs-i2c5-bus { hs_i2c5_bus: hs-i2c5-bus {
samsung,pins = "gpg3-3", "gpg3-2"; samsung,pins = "gpg3-3", "gpg3-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
}; };
...@@ -358,9 +360,9 @@ ...@@ -358,9 +360,9 @@
hs_i2c6_bus: hs-i2c6-bus { hs_i2c6_bus: hs-i2c6-bus {
samsung,pins = "gpj0-1", "gpj0-0"; samsung,pins = "gpj0-1", "gpj0-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
}; };
...@@ -375,9 +377,9 @@ ...@@ -375,9 +377,9 @@
hs_i2c7_bus: hs-i2c7-bus { hs_i2c7_bus: hs-i2c7-bus {
samsung,pins = "gpj1-1", "gpj1-0"; samsung,pins = "gpj1-1", "gpj1-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
}; };
...@@ -392,9 +394,9 @@ ...@@ -392,9 +394,9 @@
spi3_bus: spi3-bus { spi3_bus: spi3-bus {
samsung,pins = "gpg4-0", "gpg4-1", "gpg4-2", "gpg4-3"; samsung,pins = "gpg4-0", "gpg4-1", "gpg4-2", "gpg4-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
}; };
...@@ -409,9 +411,9 @@ ...@@ -409,9 +411,9 @@
spi4_bus: spi4-bus { spi4_bus: spi4-bus {
samsung,pins = "gpv7-0", "gpv7-1", "gpv7-2", "gpv7-3"; samsung,pins = "gpv7-0", "gpv7-1", "gpv7-2", "gpv7-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
}; };
...@@ -426,37 +428,37 @@ ...@@ -426,37 +428,37 @@
sd2_clk: sd2-clk { sd2_clk: sd2-clk {
samsung,pins = "gpr4-0"; samsung,pins = "gpr4-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
}; };
sd2_cmd: sd2-cmd { sd2_cmd: sd2-cmd {
samsung,pins = "gpr4-1"; samsung,pins = "gpr4-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
}; };
sd2_cd: sd2-cd { sd2_cd: sd2-cd {
samsung,pins = "gpr4-2"; samsung,pins = "gpr4-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
}; };
sd2_bus1: sd2-bus-width1 { sd2_bus1: sd2-bus-width1 {
samsung,pins = "gpr4-3"; samsung,pins = "gpr4-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
}; };
sd2_bus4: sd2-bus-width4 { sd2_bus4: sd2-bus-width4 {
samsung,pins = "gpr4-4", "gpr4-5", "gpr4-6"; samsung,pins = "gpr4-4", "gpr4-5", "gpr4-6";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV4>;
}; };
}; };
...@@ -495,107 +497,107 @@ ...@@ -495,107 +497,107 @@
sd0_clk: sd0-clk { sd0_clk: sd0-clk {
samsung,pins = "gpr0-0"; samsung,pins = "gpr0-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV2>;
}; };
sd0_cmd: sd0-cmd { sd0_cmd: sd0-cmd {
samsung,pins = "gpr0-1"; samsung,pins = "gpr0-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV2>;
}; };
sd0_ds: sd0-ds { sd0_ds: sd0-ds {
samsung,pins = "gpr0-2"; samsung,pins = "gpr0-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV2>;
}; };
sd0_qrdy: sd0-qrdy { sd0_qrdy: sd0-qrdy {
samsung,pins = "gpr0-3"; samsung,pins = "gpr0-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV2>;
}; };
sd0_bus1: sd0-bus-width1 { sd0_bus1: sd0-bus-width1 {
samsung,pins = "gpr1-0"; samsung,pins = "gpr1-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV2>;
}; };
sd0_bus4: sd0-bus-width4 { sd0_bus4: sd0-bus-width4 {
samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3"; samsung,pins = "gpr1-1", "gpr1-2", "gpr1-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV2>;
}; };
sd0_bus8: sd0-bus-width8 { sd0_bus8: sd0-bus-width8 {
samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7"; samsung,pins = "gpr1-4", "gpr1-5", "gpr1-6", "gpr1-7";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <3>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV2>;
}; };
sd1_clk: sd1-clk { sd1_clk: sd1-clk {
samsung,pins = "gpr2-0"; samsung,pins = "gpr2-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <2>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV3>;
}; };
sd1_cmd: sd1-cmd { sd1_cmd: sd1-cmd {
samsung,pins = "gpr2-1"; samsung,pins = "gpr2-1";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <2>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV3>;
}; };
sd1_ds: sd1-ds { sd1_ds: sd1-ds {
samsung,pins = "gpr2-2"; samsung,pins = "gpr2-2";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-drv = <6>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV4>;
}; };
sd1_qrdy: sd1-qrdy { sd1_qrdy: sd1-qrdy {
samsung,pins = "gpr2-3"; samsung,pins = "gpr2-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-drv = <6>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV4>;
}; };
sd1_int: sd1-int { sd1_int: sd1-int {
samsung,pins = "gpr2-4"; samsung,pins = "gpr2-4";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <1>; samsung,pin-pud = <EXYNOS_PIN_PULL_DOWN>;
samsung,pin-drv = <6>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV4>;
}; };
sd1_bus1: sd1-bus-width1 { sd1_bus1: sd1-bus-width1 {
samsung,pins = "gpr3-0"; samsung,pins = "gpr3-0";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <2>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV3>;
}; };
sd1_bus4: sd1-bus-width4 { sd1_bus4: sd1-bus-width4 {
samsung,pins = "gpr3-1", "gpr3-2", "gpr3-3"; samsung,pins = "gpr3-1", "gpr3-2", "gpr3-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <2>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV3>;
}; };
sd1_bus8: sd1-bus-width8 { sd1_bus8: sd1-bus-width8 {
samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7"; samsung,pins = "gpr3-4", "gpr3-5", "gpr3-6", "gpr3-7";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <2>; samsung,pin-drv = <EXYNOS7_FSYS1_PIN_DRV_LV3>;
}; };
}; };
...@@ -682,22 +684,22 @@ ...@@ -682,22 +684,22 @@
spi5_bus: spi5-bus { spi5_bus: spi5-bus {
samsung,pins = "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3"; samsung,pins = "gpf2-0", "gpf2-1", "gpf2-2", "gpf2-3";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
ufs_refclk_out: ufs-refclk-out { ufs_refclk_out: ufs-refclk-out {
samsung,pins = "gpg2-4"; samsung,pins = "gpg2-4";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <0>; samsung,pin-pud = <EXYNOS_PIN_PULL_NONE>;
samsung,pin-drv = <2>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV2>;
}; };
ufs_rst_n: ufs-rst-n { ufs_rst_n: ufs-rst-n {
samsung,pins = "gph1-5"; samsung,pins = "gph1-5";
samsung,pin-function = <2>; samsung,pin-function = <EXYNOS_PIN_FUNC_2>;
samsung,pin-pud = <3>; samsung,pin-pud = <EXYNOS_PIN_PULL_UP>;
samsung,pin-drv = <0>; samsung,pin-drv = <EXYNOS4_PIN_DRV_LV1>;
}; };
}; };
...@@ -603,6 +603,40 @@ ...@@ -603,6 +603,40 @@
#include "exynos7-trip-points.dtsi" #include "exynos7-trip-points.dtsi"
}; };
}; };
usbdrd_phy: phy@15500000 {
compatible = "samsung,exynos7-usbdrd-phy";
reg = <0x15500000 0x100>;
clocks = <&clock_fsys0 ACLK_USBDRD300>,
<&clock_fsys0 OSCCLK_PHY_CLKOUT_USB30_PHY>,
<&clock_fsys0 PHYCLK_USBDRD300_UDRD30_PIPE_PCLK_USER>,
<&clock_fsys0 PHYCLK_USBDRD300_UDRD30_PHYCLK_USER>,
<&clock_fsys0 SCLK_USBDRD300_REFCLK>;
clock-names = "phy", "ref", "phy_pipe",
"phy_utmi", "itp";
samsung,pmu-syscon = <&pmu_system_controller>;
#phy-cells = <1>;
};
usbdrd3 {
compatible = "samsung,exynos7-dwusb3";
clocks = <&clock_fsys0 ACLK_USBDRD300>,
<&clock_fsys0 SCLK_USBDRD300_SUSPENDCLK>,
<&clock_fsys0 ACLK_AXIUS_USBDRD30X_FSYS0X>;
clock-names = "usbdrd30", "usbdrd30_susp_clk",
"usbdrd30_axius_clk";
#address-cells = <1>;
#size-cells = <1>;
ranges;
dwc3@15400000 {
compatible = "snps,dwc3";
reg = <0x15400000 0x10000>;
interrupts = <GIC_SPI 223 IRQ_TYPE_LEVEL_HIGH>;
phys = <&usbdrd_phy 0>, <&usbdrd_phy 1>;
phy-names = "usb2-phy", "usb3-phy";
};
};
}; };
}; };
......
...@@ -739,7 +739,9 @@ static const struct samsung_pll_rate_table exynos5443_pll_rates[] __initconst = ...@@ -739,7 +739,9 @@ static const struct samsung_pll_rate_table exynos5443_pll_rates[] __initconst =
PLL_35XX_RATE(350000000U, 350, 6, 2), PLL_35XX_RATE(350000000U, 350, 6, 2),
PLL_35XX_RATE(333000000U, 222, 4, 2), PLL_35XX_RATE(333000000U, 222, 4, 2),
PLL_35XX_RATE(300000000U, 500, 5, 3), PLL_35XX_RATE(300000000U, 500, 5, 3),
PLL_35XX_RATE(278000000U, 556, 6, 3),
PLL_35XX_RATE(266000000U, 532, 6, 3), PLL_35XX_RATE(266000000U, 532, 6, 3),
PLL_35XX_RATE(250000000U, 500, 6, 3),
PLL_35XX_RATE(200000000U, 400, 6, 3), PLL_35XX_RATE(200000000U, 400, 6, 3),
PLL_35XX_RATE(166000000U, 332, 6, 3), PLL_35XX_RATE(166000000U, 332, 6, 3),
PLL_35XX_RATE(160000000U, 320, 6, 3), PLL_35XX_RATE(160000000U, 320, 6, 3),
...@@ -2559,8 +2561,10 @@ static const struct samsung_fixed_rate_clock disp_fixed_clks[] __initconst = { ...@@ -2559,8 +2561,10 @@ static const struct samsung_fixed_rate_clock disp_fixed_clks[] __initconst = {
FRATE(0, "phyclk_mipidphy1_bitclkdiv8_phy", NULL, 0, 188000000), FRATE(0, "phyclk_mipidphy1_bitclkdiv8_phy", NULL, 0, 188000000),
FRATE(0, "phyclk_mipidphy1_rxclkesc0_phy", NULL, 0, 100000000), FRATE(0, "phyclk_mipidphy1_rxclkesc0_phy", NULL, 0, 100000000),
/* PHY clocks from MIPI_DPHY0 */ /* PHY clocks from MIPI_DPHY0 */
FRATE(0, "phyclk_mipidphy0_bitclkdiv8_phy", NULL, 0, 188000000), FRATE(CLK_PHYCLK_MIPIDPHY0_BITCLKDIV8_PHY, "phyclk_mipidphy0_bitclkdiv8_phy",
FRATE(0, "phyclk_mipidphy0_rxclkesc0_phy", NULL, 0, 100000000), NULL, 0, 188000000),
FRATE(CLK_PHYCLK_MIPIDPHY0_RXCLKESC0_PHY, "phyclk_mipidphy0_rxclkesc0_phy",
NULL, 0, 100000000),
/* PHY clocks from HDMI_PHY */ /* PHY clocks from HDMI_PHY */
FRATE(CLK_PHYCLK_HDMIPHY_TMDS_CLKO_PHY, "phyclk_hdmiphy_tmds_clko_phy", FRATE(CLK_PHYCLK_HDMIPHY_TMDS_CLKO_PHY, "phyclk_hdmiphy_tmds_clko_phy",
NULL, 0, 300000000), NULL, 0, 300000000),
......
...@@ -771,7 +771,10 @@ ...@@ -771,7 +771,10 @@
#define CLK_PCLK_DECON 113 #define CLK_PCLK_DECON 113
#define DISP_NR_CLK 114 #define CLK_PHYCLK_MIPIDPHY0_BITCLKDIV8_PHY 114
#define CLK_PHYCLK_MIPIDPHY0_RXCLKESC0_PHY 115
#define DISP_NR_CLK 116
/* CMU_AUD */ /* CMU_AUD */
#define CLK_MOUT_AUD_PLL_USER 1 #define CLK_MOUT_AUD_PLL_USER 1
......
...@@ -45,6 +45,20 @@ ...@@ -45,6 +45,20 @@
#define EXYNOS5420_PIN_DRV_LV3 2 #define EXYNOS5420_PIN_DRV_LV3 2
#define EXYNOS5420_PIN_DRV_LV4 3 #define EXYNOS5420_PIN_DRV_LV4 3
/* Drive strengths for Exynos5433 */
#define EXYNOS5433_PIN_DRV_FAST_SR1 0
#define EXYNOS5433_PIN_DRV_FAST_SR2 1
#define EXYNOS5433_PIN_DRV_FAST_SR3 2
#define EXYNOS5433_PIN_DRV_FAST_SR4 3
#define EXYNOS5433_PIN_DRV_FAST_SR5 4
#define EXYNOS5433_PIN_DRV_FAST_SR6 5
#define EXYNOS5433_PIN_DRV_SLOW_SR1 8
#define EXYNOS5433_PIN_DRV_SLOW_SR2 9
#define EXYNOS5433_PIN_DRV_SLOW_SR3 0xa
#define EXYNOS5433_PIN_DRV_SLOW_SR4 0xb
#define EXYNOS5433_PIN_DRV_SLOW_SR5 0xc
#define EXYNOS5433_PIN_DRV_SLOW_SR6 0xf
#define EXYNOS_PIN_FUNC_INPUT 0 #define EXYNOS_PIN_FUNC_INPUT 0
#define EXYNOS_PIN_FUNC_OUTPUT 1 #define EXYNOS_PIN_FUNC_OUTPUT 1
#define EXYNOS_PIN_FUNC_2 2 #define EXYNOS_PIN_FUNC_2 2
...@@ -54,4 +68,12 @@ ...@@ -54,4 +68,12 @@
#define EXYNOS_PIN_FUNC_6 6 #define EXYNOS_PIN_FUNC_6 6
#define EXYNOS_PIN_FUNC_F 0xf #define EXYNOS_PIN_FUNC_F 0xf
/* Drive strengths for Exynos7 FSYS1 block */
#define EXYNOS7_FSYS1_PIN_DRV_LV1 0
#define EXYNOS7_FSYS1_PIN_DRV_LV2 4
#define EXYNOS7_FSYS1_PIN_DRV_LV3 2
#define EXYNOS7_FSYS1_PIN_DRV_LV4 6
#define EXYNOS7_FSYS1_PIN_DRV_LV5 1
#define EXYNOS7_FSYS1_PIN_DRV_LV6 5
#endif /* __DT_BINDINGS_PINCTRL_SAMSUNG_H__ */ #endif /* __DT_BINDINGS_PINCTRL_SAMSUNG_H__ */
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册