blob: 6862846bde6f12a765a7d3621c4080a083b15f18 [file] [log] [blame]
/* Copyright (c) 2016-2019, The Linux Foundation. All rights reserved.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2 and
* only version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*/
&soc {
tlmm: pinctrl@03000000 {
compatible = "qcom,sdm660-pinctrl";
reg = <0x03000000 0xc00000>;
reg-names = "pinctrl", "spi_cfg";
interrupts = <0 208 0>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
uart_console_active: uart_console_active {
mux {
pins = "gpio4", "gpio5";
function = "blsp_uart2";
};
config {
pins = "gpio4", "gpio5";
drive-strength = <2>;
bias-disable;
};
};
led_enable: led_enable {
mux {
pins = "gpio40";
function = "gpio";
};
config {
pins = "gpio40";
drive_strength = <2>;
output-high;
bias-disable;
};
};
led_disable: led_disable {
mux {
pins = "gpio40";
function = "gpio";
};
config {
pins = "gpio40";
drive_strength = <2>;
output-low;
bias-disable;
};
};
trigout_a: trigout_a {
mux {
pins = "gpio49";
function = "qdss_cti0_a";
};
config {
pins = "gpio49";
drive-strength = <16>;
bias-disable;
output-low;
};
};
ufs_dev_reset_assert: ufs_dev_reset_assert {
config {
pins = "ufs_reset";
bias-pull-down; /* default: pull down */
/*
* UFS_RESET driver strengths are having
* different values/steps compared to typical
* GPIO drive strengths.
*
* Following table clarifies:
*
* HDRV value | UFS_RESET | Typical GPIO
* (dec) | (mA) | (mA)
* 0 | 0.8 | 2
* 1 | 1.55 | 4
* 2 | 2.35 | 6
* 3 | 3.1 | 8
* 4 | 3.9 | 10
* 5 | 4.65 | 12
* 6 | 5.4 | 14
* 7 | 6.15 | 16
*
* POR value for UFS_RESET HDRV is 3 which means
* 3.1mA and we want to use that. Hence just
* specify 8mA to "drive-strength" binding and
* that should result into writing 3 to HDRV
* field.
*/
drive-strength = <8>; /* default: 3.1 mA */
output-low; /* active low reset */
};
};
ufs_dev_reset_deassert: ufs_dev_reset_deassert {
config {
pins = "ufs_reset";
bias-pull-down; /* default: pull down */
/*
* default: 3.1 mA
* check comments under ufs_dev_reset_assert
*/
drive-strength = <8>;
output-high; /* active low reset */
};
};
/* SDC pin type */
sdc1_clk_on: sdc1_clk_on {
config {
pins = "sdc1_clk";
bias-disable; /* NO pull */
drive-strength = <16>; /* 16 MA */
};
};
sdc1_clk_off: sdc1_clk_off {
config {
pins = "sdc1_clk";
bias-disable; /* NO pull */
drive-strength = <2>; /* 2 MA */
};
};
sdc1_cmd_on: sdc1_cmd_on {
config {
pins = "sdc1_cmd";
bias-pull-up; /* pull up */
drive-strength = <10>; /* 10 MA */
};
};
sdc1_cmd_off: sdc1_cmd_off {
config {
pins = "sdc1_cmd";
num-grp-pins = <1>;
bias-pull-up; /* pull up */
drive-strength = <2>; /* 2 MA */
};
};
sdc1_data_on: sdc1_data_on {
config {
pins = "sdc1_data";
bias-pull-up; /* pull up */
drive-strength = <10>; /* 10 MA */
};
};
sdc1_data_off: sdc1_data_off {
config {
pins = "sdc1_data";
bias-pull-up; /* pull up */
drive-strength = <2>; /* 2 MA */
};
};
sdc1_rclk_on: sdc1_rclk_on {
config {
pins = "sdc1_rclk";
bias-pull-down; /* pull down */
};
};
sdc1_rclk_off: sdc1_rclk_off {
config {
pins = "sdc1_rclk";
bias-pull-down; /* pull down */
};
};
sdc2_clk_on: sdc2_clk_on {
config {
pins = "sdc2_clk";
drive-strength = <16>; /* 16 MA */
bias-disable; /* NO pull */
};
};
sdc2_clk_off: sdc2_clk_off {
config {
pins = "sdc2_clk";
bias-disable; /* NO pull */
drive-strength = <2>; /* 2 MA */
};
};
sdc2_cmd_on: sdc2_cmd_on {
config {
pins = "sdc2_cmd";
bias-pull-up; /* pull up */
drive-strength = <10>; /* 10 MA */
};
};
sdc2_cmd_off: sdc2_cmd_off {
config {
pins = "sdc2_cmd";
bias-pull-up; /* pull up */
drive-strength = <2>; /* 2 MA */
};
};
sdc2_data_on: sdc2_data_on {
config {
pins = "sdc2_data";
bias-pull-up; /* pull up */
drive-strength = <10>; /* 10 MA */
};
};
sdc2_data_off: sdc2_data_off {
config {
pins = "sdc2_data";
bias-pull-up; /* pull up */
drive-strength = <2>; /* 2 MA */
};
};
sdc2_cd_on: cd_on {
mux {
pins = "gpio54";
function = "gpio";
};
config {
pins = "gpio54";
drive-strength = <2>;
bias-pull-up;
};
};
sdc2_cd_off: cd_off {
mux {
pins = "gpio54";
function = "gpio";
};
config {
pins = "gpio54";
drive-strength = <2>;
bias-disable;
};
};
/* I2C CONFIGURATION */
i2c_1 {
i2c_1_active: i2c_1_active {
mux {
pins = "gpio2", "gpio3";
function = "blsp_i2c1";
};
config {
pins = "gpio2", "gpio3";
drive-strength = <2>;
bias-disable;
};
};
i2c_1_sleep: i2c_1_sleep {
mux {
pins = "gpio2", "gpio3";
function = "blsp_i2c1";
};
config {
pins = "gpio2", "gpio3";
drive-strength = <2>;
bias-pull-up;
};
};
i2c_1_bitbang: i2c_1_bitbang {
mux {
pins = "gpio2", "gpio3";
function = "gpio";
};
config {
pins = "gpio2", "gpio3";
drive-strength = <2>;
bias-pull-up;
};
};
};
i2c_2 {
i2c_2_active: i2c_2_active {
mux {
pins = "gpio6", "gpio7";
function = "blsp_i2c2";
};
config {
pins = "gpio6", "gpio7";
drive-strength = <2>;
bias-disable;
};
};
i2c_2_sleep: i2c_2_sleep {
mux {
pins = "gpio6", "gpio7";
function = "blsp_i2c2";
};
config {
pins = "gpio6", "gpio7";
drive-strength = <2>;
bias-pull-up;
};
};
i2c_2_bitbang: i2c_2_bitbang {
mux {
pins = "gpio6", "gpio7";
function = "gpio";
};
config {
pins = "gpio6", "gpio7";
drive-strength = <2>;
bias-pull-up;
};
};
};
i2c_3 {
i2c_3_active: i2c_3_active {
mux {
pins = "gpio10", "gpio11";
function = "blsp_i2c3";
};
config {
pins = "gpio10", "gpio11";
drive-strength = <2>;
bias-disable;
};
};
i2c_3_sleep: i2c_3_sleep {
mux {
pins = "gpio10", "gpio11";
function = "blsp_i2c3";
};
config {
pins = "gpio10", "gpio11";
drive-strength = <2>;
bias-pull-up;
};
};
i2c_3_bitbang: i2c_3_bitbang {
mux {
pins = "gpio10", "gpio11";
function = "gpio";
};
config {
pins = "gpio10", "gpio11";
drive-strength = <2>;
bias-pull-up;
};
};
};
i2c_4 {
i2c_4_active: i2c_4_active {
mux {
pins = "gpio14", "gpio15";
function = "blsp_i2c4";
};
config {
pins = "gpio14", "gpio15";
drive-strength = <2>;
bias-disable;
};
};
i2c_4_sleep: i2c_4_sleep {
mux {
pins = "gpio14", "gpio15";
function = "blsp_i2c4";
};
config {
pins = "gpio14", "gpio15";
drive-strength = <2>;
bias-pull-up;
};
};
i2c_4_bitbang: i2c_4_bitbang {
mux {
pins = "gpio14", "gpio15";
function = "gpio";
};
config {
pins = "gpio14", "gpio15";
drive-strength = <2>;
bias-pull-up;
};
};
};
i2c_5 {
i2c_5_active: i2c_5_active {
mux {
pins = "gpio18", "gpio19";
function = "blsp_i2c5";
};
config {
pins = "gpio18", "gpio19";
drive-strength = <2>;
bias-disable;
};
};
i2c_5_sleep: i2c_5_sleep {
mux {
pins = "gpio18", "gpio19";
function = "blsp_i2c5";
};
config {
pins = "gpio18", "gpio19";
drive-strength = <2>;
bias-pull-up;
};
};
i2c_5_bitbang: i2c_5_bitbang {
mux {
pins = "gpio18", "gpio19";
function = "gpio";
};
config {
pins = "gpio18", "gpio19";
drive-strength = <2>;
bias-pull-up;
};
};
};
i2c_6 {
i2c_6_active: i2c_6_active {
mux {
pins = "gpio22", "gpio23";
function = "blsp_i2c6";
};
config {
pins = "gpio22", "gpio23";
drive-strength = <2>;
bias-disable;
};
};
i2c_6_sleep: i2c_6_sleep {
mux {
pins = "gpio22", "gpio23";
function = "blsp_i2c6";
};
config {
pins = "gpio22", "gpio23";
drive-strength = <2>;
bias-pull-up;
};
};
i2c_6_bitbang: i2c_6_bitbang {
mux {
pins = "gpio22", "gpio23";
function = "gpio";
};
config {
pins = "gpio22", "gpio23";
drive-strength = <2>;
bias-pull-up;
};
};
};
nfc {
nfc_int_active: nfc_int_active {
/* active state */
mux {
/* GPIO 28 NFC Read Interrupt */
pins = "gpio28";
function = "gpio";
};
config {
pins = "gpio28";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
nfc_int_suspend: nfc_int_suspend {
/* sleep state */
mux {
/* GPIO 28 NFC Read Interrupt */
pins = "gpio28";
function = "gpio";
};
config {
pins = "gpio28";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
nfc_enable_active: nfc_enable_active {
/* active state */
mux {
/* 29: NFC ENABLE 30:FW DNLD */
/* 31:ESE Enable */
pins = "gpio29", "gpio30", "gpio31";
function = "gpio";
};
config {
pins = "gpio29", "gpio30", "gpio31";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
nfc_enable_suspend: nfc_enable_suspend {
/* sleep state */
mux {
/* 29: NFC ENABLE 30:FW DNLD */
/* 31:ESE Enable */
pins = "gpio29", "gpio30", "gpio31";
function = "gpio";
};
config {
pins = "gpio29", "gpio30", "gpio31";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
};
i2c_7 {
i2c_7_active: i2c_7_active {
mux {
pins = "gpio26", "gpio27";
function = "blsp_i2c7";
};
config {
pins = "gpio26", "gpio27";
drive-strength = <2>;
bias-disable;
};
};
i2c_7_sleep: i2c_7_sleep {
mux {
pins = "gpio26", "gpio27";
function = "blsp_i2c7";
};
config {
pins = "gpio26", "gpio27";
drive-strength = <2>;
bias-pull-up;
};
};
i2c_7_bitbang: i2c_7_bitbang {
mux {
pins = "gpio26", "gpio27";
function = "gpio";
};
config {
pins = "gpio26", "gpio27";
drive-strength = <2>;
bias-pull-up;
};
};
};
i2c_8 {
i2c_8_active: i2c_8_active {
mux {
pins = "gpio30", "gpio31";
function = "blsp_i2c8_a";
};
config {
pins = "gpio30", "gpio31";
drive-strength = <2>;
bias-disable;
};
};
i2c_8_sleep: i2c_8_sleep {
mux {
pins = "gpio30", "gpio31";
function = "blsp_i2c8_a";
};
config {
pins = "gpio30", "gpio31";
drive-strength = <2>;
bias-pull-up;
};
};
i2c_8_bitbang: i2c_8_bitbang {
mux {
pins = "gpio30", "gpio31";
function = "gpio";
};
config {
pins = "gpio30", "gpio31";
drive-strength = <2>;
bias-pull-up;
};
};
};
/* SPI CONFIGURATION */
spi_1 {
spi_1_active: spi_1_active {
mux {
pins = "gpio0", "gpio1",
"gpio2", "gpio3";
function = "blsp_spi1";
};
config {
pins = "gpio0", "gpio1",
"gpio2", "gpio3";
drive-strength = <6>;
bias-disable;
};
};
spi_1_sleep: spi_1_sleep {
mux {
pins = "gpio0", "gpio1",
"gpio2", "gpio3";
function = "blsp_spi1";
};
config {
pins = "gpio0", "gpio1",
"gpio2", "gpio3";
drive-strength = <6>;
bias-disable;
};
};
};
spi_2 {
spi_2_active: spi_2_active {
mux {
pins = "gpio4", "gpio5",
"gpio6", "gpio7";
function = "blsp_spi2";
};
config {
pins = "gpio4", "gpio5",
"gpio6", "gpio7";
drive-strength = <6>;
bias-disable;
};
};
spi_2_sleep: spi_2_sleep {
mux {
pins = "gpio4", "gpio5",
"gpio6", "gpio7";
function = "blsp_spi2";
};
config {
pins = "gpio4", "gpio5",
"gpio6", "gpio7";
drive-strength = <6>;
bias-disable;
};
};
};
spi_3 {
spi_3_active: spi_3_active {
mux {
pins = "gpio8", "gpio9",
"gpio10", "gpio11";
function = "blsp_spi3";
};
config {
pins = "gpio8", "gpio9",
"gpio10", "gpio11";
drive-strength = <6>;
bias-disable;
};
};
spi_3_sleep: spi_3_sleep {
mux {
pins = "gpio8", "gpio9",
"gpio10", "gpio11";
function = "blsp_spi3";
};
config {
pins = "gpio8", "gpio9",
"gpio10", "gpio11";
drive-strength = <6>;
bias-disable;
};
};
};
spi_4 {
spi_4_active: spi_4_active {
mux {
pins = "gpio12", "gpio13",
"gpio14", "gpio15";
function = "blsp_spi4";
};
config {
pins = "gpio12", "gpio13",
"gpio14", "gpio15";
drive-strength = <6>;
bias-disable;
};
};
spi_4_sleep: spi_4_sleep {
mux {
pins = "gpio12", "gpio13",
"gpio14", "gpio15";
function = "blsp_spi4";
};
config {
pins = "gpio12", "gpio13",
"gpio14", "gpio15";
drive-strength = <6>;
bias-disable;
};
};
};
spi_5 {
spi_5_active: spi_5_active {
mux {
pins = "gpio16", "gpio17",
"gpio18", "gpio19";
function = "blsp_spi5";
};
config {
pins = "gpio16", "gpio17",
"gpio18", "gpio19";
drive-strength = <6>;
bias-disable;
};
};
spi_5_sleep: spi_5_sleep {
mux {
pins = "gpio16", "gpio17",
"gpio18", "gpio19";
function = "blsp_spi5";
};
config {
pins = "gpio16", "gpio17",
"gpio18", "gpio19";
drive-strength = <6>;
bias-disable;
};
};
};
spi_6 {
spi_6_active: spi_6_active {
mux {
pins = "gpio49", "gpio52",
"gpio22", "gpio23";
function = "blsp_spi6";
};
config {
pins = "gpio49", "gpio52",
"gpio22", "gpio23";
drive-strength = <6>;
bias-disable;
};
};
spi_6_sleep: spi_6_sleep {
mux {
pins = "gpio49", "gpio52",
"gpio22", "gpio23";
function = "blsp_spi6";
};
config {
pins = "gpio49", "gpio52",
"gpio22", "gpio23";
drive-strength = <6>;
bias-disable;
};
};
};
spi_7 {
spi_7_active: spi_7_active {
mux {
pins = "gpio24", "gpio25",
"gpio26", "gpio27";
function = "blsp_spi7";
};
config {
pins = "gpio24", "gpio25",
"gpio26", "gpio27";
drive-strength = <6>;
bias-disable;
};
};
spi_7_sleep: spi_7_sleep {
mux {
pins = "gpio24", "gpio25",
"gpio26", "gpio27";
function = "blsp_spi7";
};
config {
pins = "gpio24", "gpio25",
"gpio26", "gpio27";
drive-strength = <6>;
bias-disable;
};
};
};
spi_8 {
spi_8_active: spi_8_active {
mux {
pins = "gpio28", "gpio29",
"gpio30", "gpio31";
function = "blsp_spi8_a";
};
config {
pins = "gpio28", "gpio29",
"gpio30", "gpio31";
drive-strength = <6>;
bias-disable;
};
};
spi_8_sleep: spi_8_sleep {
mux {
pins = "gpio28", "gpio29",
"gpio30", "gpio31";
function = "blsp_spi8_a";
};
config {
pins = "gpio28", "gpio29",
"gpio30", "gpio31";
drive-strength = <6>;
bias-disable;
};
};
};
/* USB C analog configuration */
wcd_usbc_analog_en1 {
wcd_usbc_analog_en1_idle: wcd_usbc_ana_en1_idle {
mux {
pins = "gpio80";
function = "gpio";
};
config {
pins = "gpio80";
drive-strength = <2>;
bias-pull-down;
output-low;
};
};
wcd_usbc_analog_en1_active: wcd_usbc_ana_en1_active {
mux {
pins = "gpio80";
function = "gpio";
};
config {
pins = "gpio80";
drive-strength = <2>;
bias-disable;
output-high;
};
};
};
wcd_usbc_analog_en2n {
wcd_usbc_analog_en2n_idle: wcd_usbc_ana_en2n_idle {
mux {
pins = "gpio77";
function = "gpio";
};
config {
pins = "gpio77";
drive-strength = <2>;
bias-disable;
output-high;
};
};
wcd_usbc_analog_en2n_active: wcd_usbc_ana_en2n_active {
mux {
pins = "gpio77";
function = "gpio";
};
config {
pins = "gpio77";
drive-strength = <2>;
bias-pull-down;
output-low;
};
};
};
sdw_clk_pin {
sdw_clk_sleep: sdw_clk_sleep {
mux {
pins = "gpio24";
function = "sndwire_clk";
};
config {
pins = "gpio24";
drive-strength = <2>;
bias-bus-hold;
};
};
sdw_clk_active: sdw_clk_active {
mux {
pins = "gpio24";
function = "sndwire_clk";
};
config {
pins = "gpio24";
drive-strength = <2>;
bias-bus-hold;
};
};
};
sdw_clk_data {
sdw_data_sleep: sdw_data_sleep {
mux {
pins = "gpio25";
function = "sndwire_data";
};
config {
pins = "gpio25";
drive-strength = <4>;
bias-bus-hold;
};
};
sdw_data_active: sdw_data_active {
mux {
pins = "gpio25";
function = "sndwire_data";
};
config {
pins = "gpio25";
drive-strength = <4>;
bias-bus-hold;
};
};
};
/* WSA speaker reset pins */
spkr_1_sd_n {
spkr_1_sd_n_sleep: spkr_1_sd_n_sleep {
mux {
pins = "gpio26";
function = "gpio";
};
config {
pins = "gpio26";
drive-strength = <2>; /* 2 mA */
bias-pull-down;
input-enable;
};
};
spkr_1_sd_n_active: spkr_1_sd_n_active {
mux {
pins = "gpio26";
function = "gpio";
};
config {
pins = "gpio26";
drive-strength = <16>; /* 16 mA */
bias-disable;
output-high;
};
};
};
spkr_2_sd_n {
spkr_2_sd_n_sleep: spkr_2_sd_n_sleep {
mux {
pins = "gpio27";
function = "gpio";
};
config {
pins = "gpio27";
drive-strength = <2>; /* 2 mA */
bias-pull-down;
input-enable;
};
};
spkr_2_sd_n_active: spkr_2_sd_n_active {
mux {
pins = "gpio27";
function = "gpio";
};
config {
pins = "gpio27";
drive-strength = <16>; /* 16 mA */
bias-disable;
output-high;
};
};
};
wcd_gnd_mic_swap {
wcd_gnd_mic_swap_idle: wcd_gnd_mic_swap_idle {
mux {
pins = "gpio63";
function = "gpio";
};
config {
pins = "gpio63";
drive-strength = <2>;
bias-pull-down;
output-low;
};
};
wcd_gnd_mic_swap_active: wcd_gnd_mic_swap_active {
mux {
pins = "gpio63";
function = "gpio";
};
config {
pins = "gpio63";
drive-strength = <2>;
bias-disable;
output-high;
};
};
};
msm_hph_en0 {
hph_en0_sleep: hph_en0_sleep {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
output-low;
};
};
hph_en0_active: hph_en0_active {
mux {
pins = "gpio24";
function = "gpio";
};
config {
pins = "gpio24";
output-high;
};
};
};
msm_hph_en1 {
hph_en1_sleep: hph_en1_sleep {
mux {
pins = "gpio25";
function = "gpio";
};
config {
pins = "gpio25";
output-low;
};
};
hph_en1_active: hph_en1_active {
mux {
pins = "gpio25";
function = "gpio";
};
config {
pins = "gpio25";
output-high;
};
};
};
cci0_active: cci0_active {
mux {
/* CLK, DATA */
pins = "gpio36","gpio37"; // Only 2
function = "cci_i2c";
};
config {
pins = "gpio36","gpio37";
bias-pull-up; /* PULL UP*/
drive-strength = <2>; /* 2 MA */
};
};
cci0_suspend: cci0_suspend {
mux {
/* CLK, DATA */
pins = "gpio36","gpio37";
function = "cci_i2c";
};
config {
pins = "gpio36","gpio37";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cci1_active: cci1_active {
mux {
/* CLK, DATA */
pins = "gpio38","gpio39";
function = "cci_i2c";
};
config {
pins = "gpio38","gpio39";
bias-pull-up; /* PULL UP*/
drive-strength = <2>; /* 2 MA */
};
};
cci1_suspend: cci1_suspend {
mux {
/* CLK, DATA */
pins = "gpio38","gpio39";
function = "cci_i2c";
};
config {
pins = "gpio38","gpio39";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_actuator_vaf_active: cam_actuator_vaf_active {
/* ACTUATOR POWER */
mux {
pins = "gpio50";
function = "gpio";
};
config {
pins = "gpio50";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_actuator_vaf_suspend: cam_actuator_vaf_suspend {
/* ACTUATOR POWER */
mux {
pins = "gpio50";
function = "gpio";
};
config {
pins = "gpio50";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_tof_active: cam_tof_active {
/* LASER */
mux {
pins = "gpio50", "gpio42", "gpio45";
function = "gpio";
};
config {
pins = "gpio50", "gpio42", "gpio45";
bias-pull-up;
drive-strength = <2>; /* 2 MA */
};
};
cam_tof_suspend: cam_tof_suspend {
/* LASER */
mux {
pins = "gpio50", "gpio42", "gpio45";
function = "gpio";
};
config {
pins = "gpio50", "gpio42", "gpio45";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK0 */
mux {
/* CLK */
pins = "gpio32";
function = "cam_mclk";
};
config {
pins = "gpio32";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK0 */
mux {
/* CLK */
pins = "gpio32";
function = "cam_mclk";
};
config {
pins = "gpio32";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_active: cam_sensor_rear_active {
/* RESET, STANDBY */
mux {
pins = "gpio46","gpio44";
function = "gpio";
};
config {
pins = "gpio46","gpio44";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_suspend: cam_sensor_rear_suspend {
/* RESET, STANDBY */
mux {
pins = "gpio46","gpio44";
function = "gpio";
};
config {
pins = "gpio46","gpio44";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
/* MCLK1 */
mux {
/* CLK */
pins = "gpio33";
function = "cam_mclk";
};
config {
pins = "gpio33";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
/* MCLK1 */
mux {
/* CLK */
pins = "gpio33";
function = "cam_mclk";
};
config {
pins = "gpio33";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear2_active: cam_sensor_rear2_active {
/* RESET, STANDBY */
mux {
pins = "gpio48","gpio51";
function = "gpio";
};
config {
pins = "gpio48","gpio51";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear2_suspend: cam_sensor_rear2_suspend {
/* RESET, STANDBY */
mux {
pins = "gpio48","gpio51";
function = "gpio";
};
config {
pins = "gpio48","gpio51";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
/* MCLK1 */
mux {
/* CLK */
pins = "gpio34";
function = "cam_mclk";
};
config {
pins = "gpio34";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
/* MCLK1 */
mux {
/* CLK */
pins = "gpio34";
function = "cam_mclk";
};
config {
pins = "gpio34";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_front_active: cam_sensor_front_active {
/* RESET VANA*/
mux {
pins = "gpio47", "gpio44";
function = "gpio";
};
config {
pins = "gpio47", "gpio44";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_front_suspend: cam_sensor_front_suspend {
/* RESET */
mux {
pins = "gpio47";
function = "gpio";
};
config {
pins = "gpio47";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk3_active: cam_sensor_mclk3_active {
/* MCLK3 */
mux {
/* CLK */
pins = "gpio35";
function = "cam_mclk";
};
config {
pins = "gpio35";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk3_suspend: cam_sensor_mclk3_suspend {
/* MCLK3 */
mux {
/* CLK */
pins = "gpio35";
function = "cam_mclk";
};
config {
pins = "gpio35";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_front_iris_active: cam_sensor_front_iris_active {
/* RESET */
mux {
pins = "gpio52";
function = "gpio";
};
config {
pins = "gpio52";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_front_iris_suspend: cam_sensor_front_iris_suspend {
/* RESET */
mux {
pins = "gpio52";
function = "gpio";
};
config {
pins = "gpio52";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
/* HS UART CONFIGURATION */
blsp1_uart1_active: blsp1_uart1_active {
mux {
pins = "gpio0", "gpio1", "gpio2", "gpio3";
function = "blsp_uart1";
};
config {
pins = "gpio0", "gpio1", "gpio2", "gpio3";
drive-strength = <2>;
bias-disable;
};
};
blsp1_uart1_sleep: blsp1_uart1_sleep {
mux {
pins = "gpio0", "gpio1", "gpio2", "gpio3";
function = "gpio";
};
config {
pins = "gpio0", "gpio1", "gpio2", "gpio3";
drive-strength = <2>;
bias-disable;
};
};
blsp1_uart2_active: blsp1_uart2_active {
mux {
pins = "gpio4", "gpio5", "gpio6", "gpio7";
function = "blsp_uart2 ";
};
config {
pins = "gpio4", "gpio5", "gpio6", "gpio7";
drive-strength = <2>;
bias-disable;
};
};
blsp1_uart2_sleep: blsp1_uart2_sleep {
mux {
pins = "gpio4", "gpio5", "gpio6", "gpio7";
function = "gpio";
};
config {
pins = "gpio4", "gpio5", "gpio6", "gpio7";
drive-strength = <2>;
bias-disable;
};
};
blsp2_uart1: blsp2_uart1 {
blsp2_uart1_tx_active: blsp2_uart1_tx_active {
mux {
pins = "gpio16";
function = "blsp_uart5";
};
config {
pins = "gpio16";
drive-strength = <2>;
bias-disable;
};
};
blsp2_uart1_tx_sleep: blsp2_uart1_tx_sleep {
mux {
pins = "gpio16";
function = "gpio";
};
config {
pins = "gpio16";
drive-strength = <2>;
bias-pull-up;
};
};
blsp2_uart1_rxcts_active: blsp2_uart1_rxcts_active {
mux {
pins = "gpio17", "gpio18";
function = "blsp_uart5";
};
config {
pins = "gpio17", "gpio18";
drive-strength = <2>;
bias-disable;
};
};
blsp2_uart1_rxcts_sleep: blsp2_uart1_rxcts_sleep {
mux {
pins = "gpio17", "gpio18";
function = "gpio";
};
config {
pins = "gpio17", "gpio18";
drive-strength = <2>;
bias-no-pull;
};
};
blsp2_uart1_rfr_active: blsp2_uart1_rfr_active {
mux {
pins = "gpio19";
function = "blsp_uart5";
};
config {
pins = "gpio19";
drive-strength = <2>;
bias-disable;
};
};
blsp2_uart1_rfr_sleep: blsp2_uart1_rfr_sleep {
mux {
pins = "gpio19";
function = "gpio";
};
config {
pins = "gpio19";
drive-strength = <2>;
bias-no-pull;
};
};
};
blsp2_uart2_active: blsp2_uart2_active {
mux {
pins = "gpio24", "gpio25", "gpio26", "gpio27";
function = "blsp_uart6_a";
};
config {
pins = "gpio24", "gpio25", "gpio26", "gpio27";
drive-strength = <2>;
bias-disable;
};
};
blsp2_uart2_sleep: blsp2_uart2_sleep {
mux {
pins = "gpio24", "gpio25", "gpio26", "gpio27";
function = "gpio";
};
config {
pins = "gpio24", "gpio25", "gpio26", "gpio27";
drive-strength = <2>;
bias-disable;
};
};
tlmm_gpio_key {
gpio_key_active: gpio_key_active {
mux {
pins = "gpio64", "gpio113";
function = "gpio";
};
config {
pins = "gpio64", "gpio113";
drive-strength = <2>;
bias-pull-up;
};
};
gpio_key_suspend: gpio_key_suspend {
mux {
pins = "gpio64", "gpio113";
function = "gpio";
};
config {
pins = "gpio64", "gpio113";
drive-strength = <2>;
bias-pull-up;
};
};
};
pmx_mdss: pmx_mdss {
mdss_dsi_active: mdss_dsi_active {
mux {
pins = "gpio53";
function = "gpio";
};
config {
pins = "gpio53";
drive-strength = <8>; /* 8 mA */
bias-disable = <0>; /* no pull */
};
};
mdss_dsi_suspend: mdss_dsi_suspend {
mux {
pins = "gpio53";
function = "gpio";
};
config {
pins = "gpio53";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* pull down */
};
};
};
pmx_mdss_te {
mdss_te_active: mdss_te_active {
mux {
pins = "gpio59";
function = "mdp_vsync";
};
config {
pins = "gpio59";
drive-strength = <2>; /* 8 mA */
bias-pull-down; /* pull down*/
};
};
mdss_te_suspend: mdss_te_suspend {
mux {
pins = "gpio59";
function = "mdp_vsync";
};
config {
pins = "gpio59";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* pull down */
};
};
};
mdss_dp_aux_active: mdss_dp_aux_active {
mux {
pins = "gpio55", "gpio56";
function = "gpio";
};
config {
pins = "gpio55", "gpio56";
bias-disable = <0>; /* no pull */
drive-strength = <8>;
};
};
mdss_dp_aux_suspend: mdss_dp_aux_suspend {
mux {
pins = "gpio55", "gpio56";
function = "gpio";
};
config {
pins = "gpio55", "gpio56";
bias-pull-down;
drive-strength = <2>;
};
};
mdss_dp_usbplug_cc_active: mdss_dp_usbplug_cc_active {
mux {
pins = "gpio58";
function = "gpio";
};
config {
pins = "gpio58";
bias-disable;
drive-strength = <16>;
};
};
mdss_dp_usbplug_cc_suspend: mdss_dp_usbplug_cc_suspend {
mux {
pins = "gpio58";
function = "gpio";
};
config {
pins = "gpio58";
bias-pull-down;
drive-strength = <2>;
};
};
ts_mux {
ts_active: ts_active {
mux {
pins = "gpio66", "gpio67";
function = "gpio";
};
config {
pins = "gpio66", "gpio67";
drive-strength = <16>;
bias-pull-up;
};
};
ts_reset_suspend: ts_reset_suspend {
mux {
pins = "gpio66";
function = "gpio";
};
config {
pins = "gpio66";
drive-strength = <2>;
bias-pull-down;
};
};
ts_int_suspend: ts_int_suspend {
mux {
pins = "gpio67";
function = "gpio";
};
config {
pins = "gpio67";
drive-strength = <2>;
bias-disable;
};
};
};
};
};