blob: 19c93d69922b874de7780b9811804f1430d2c8f5 [file] [log] [blame]
/* Copyright (c) 2018-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.
*/
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
&soc {
tlmm: pinctrl@400000 {
compatible = "qcom,trinket-pinctrl";
reg = <0x400000 0xc00000>;
reg-names = "pinctrl";
interrupts-extended = <&wakegic GIC_SPI 227 IRQ_TYPE_NONE>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
interrupt-parent = <&wakegpio>;
#interrupt-cells = <2>;
/* QUPv3_0 SE mappings */
/* SE 0 pin mappings */
qupv3_se0_i2c_pins: qupv3_se0_i2c_pins {
qupv3_se0_i2c_active: qupv3_se0_i2c_active {
mux {
pins = "gpio0", "gpio1";
function = "qup00";
};
config {
pins = "gpio0", "gpio1";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se0_i2c_sleep: qupv3_se0_i2c_sleep {
mux {
pins = "gpio0", "gpio1";
function = "gpio";
};
config {
pins = "gpio0", "gpio1";
drive-strength = <2>;
bias-pull-up;
};
};
};
/* SE 1 pin mappings */
qupv3_se1_i2c_pins: qupv3_se1_i2c_pins {
qupv3_se1_i2c_active: qupv3_se1_i2c_active {
mux {
pins = "gpio4", "gpio5";
function = "qup01";
};
config {
pins = "gpio4", "gpio5";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se1_i2c_sleep: qupv3_se1_i2c_sleep {
mux {
pins = "gpio4", "gpio5";
function = "gpio";
};
config {
pins = "gpio4", "gpio5";
drive-strength = <2>;
bias-pull-up;
};
};
};
nfc {
nfc_int_active: nfc_int_active {
/* active state */
mux {
/* GPIO 85 NFC Read Interrupt */
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
nfc_int_suspend: nfc_int_suspend {
/* sleep state */
mux {
/* GPIO 85 NFC Read Interrupt */
pins = "gpio85";
function = "gpio";
};
config {
pins = "gpio85";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
nfc_enable_active: nfc_enable_active {
/* active state */
mux {
/* 83: Enable 84: Firmware */
pins = "gpio83", "gpio84";
function = "gpio";
};
config {
pins = "gpio83", "gpio84";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
nfc_enable_suspend: nfc_enable_suspend {
/* sleep state */
mux {
/* 83: Enable 84: Firmware */
pins = "gpio83", "gpio84";
function = "gpio";
};
config {
pins = "gpio83", "gpio84";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
nfc_clk_req_active: nfc_clk_req_active {
/* active state */
mux {
/* GPIO 95: NFC CLOCK REQUEST */
pins = "gpio95";
function = "gpio";
};
config {
pins = "gpio95";
drive-strength = <2>; /* 2 MA */
bias-pull-up;
};
};
nfc_clk_req_suspend: nfc_clk_req_suspend {
/* sleep state */
mux {
/* GPIO 95: NFC CLOCK REQUEST */
pins = "gpio95";
function = "gpio";
};
config {
pins = "gpio95";
drive-strength = <2>; /* 2 MA */
bias-disable;
};
};
};
/* SE 2 pin mappings */
qupv3_se2_i2c_pins: qupv3_se2_i2c_pins {
qupv3_se2_i2c_active: qupv3_se2_i2c_active {
mux {
pins = "gpio6", "gpio7";
function = "qup02";
};
config {
pins = "gpio6", "gpio7";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se2_i2c_sleep: qupv3_se2_i2c_sleep {
mux {
pins = "gpio6", "gpio7";
function = "gpio";
};
config {
pins = "gpio6", "gpio7";
drive-strength = <2>;
bias-pull-up;
};
};
};
/* SE 3 pin mappings */
qupv3_se3_i2c_pins: qupv3_se3_i2c_pins {
qupv3_se3_i2c_active: qupv3_se3_i2c_active {
mux {
pins = "gpio14", "gpio15";
function = "qup03";
};
config {
pins = "gpio14", "gpio15";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se3_i2c_sleep: qupv3_se3_i2c_sleep {
mux {
pins = "gpio14", "gpio15";
function = "gpio";
};
config {
pins = "gpio14", "gpio15";
drive-strength = <2>;
bias-pull-up;
};
};
};
/* SE 4 pin mappings */
qupv3_se4_i2c_pins: qupv3_se4_i2c_pins {
qupv3_se4_i2c_active: qupv3_se4_i2c_active {
mux {
pins = "gpio16", "gpio17";
function = "qup04";
};
config {
pins = "gpio16", "gpio17";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se4_i2c_sleep: qupv3_se4_i2c_sleep {
mux {
pins = "gpio16", "gpio17";
function = "gpio";
};
config {
pins = "gpio16", "gpio17";
drive-strength = <2>;
bias-pull-up;
};
};
};
/*QUPv3_1 SE mappings */
/* SE 5 pin mappings */
qupv3_se5_i2c_pins: qupv3_se5_i2c_pins {
qupv3_se5_i2c_active: qupv3_se5_i2c_active {
mux {
pins = "gpio22", "gpio23";
function = "qup10";
};
config {
pins = "gpio22", "gpio23";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se5_i2c_sleep: qupv3_se5_i2c_sleep {
mux {
pins = "gpio22", "gpio23";
function = "gpio";
};
config {
pins = "gpio22", "gpio23";
drive-strength = <2>;
bias-pull-up;
};
};
};
/* SE 6 pin mappings */
qupv3_se6_i2c_pins: qupv3_se6_i2c_pins {
qupv3_se6_i2c_active: qupv3_se6_i2c_active {
mux {
pins = "gpio30", "gpio31";
function = "qup11";
};
config {
pins = "gpio30", "gpio31";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se6_i2c_sleep: qupv3_se6_i2c_sleep {
mux {
pins = "gpio30", "gpio31";
function = "gpio";
};
config {
pins = "gpio30", "gpio31";
drive-strength = <2>;
bias-pull-up;
};
};
};
/* SE 7 pin mappings */
qupv3_se7_i2c_pins: qupv3_se7_i2c_pins {
qupv3_se7_i2c_active: qupv3_se7_i2c_active {
mux {
pins = "gpio28", "gpio29";
function = "qup12";
};
config {
pins = "gpio28", "gpio29";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se7_i2c_sleep: qupv3_se7_i2c_sleep {
mux {
pins = "gpio28", "gpio29";
function = "gpio";
};
config {
pins = "gpio28", "gpio29";
drive-strength = <2>;
bias-pull-up;
};
};
};
/* SE 8 pin mappings */
qupv3_se8_i2c_pins: qupv3_se8_i2c_pins {
qupv3_se8_i2c_active: qupv3_se8_i2c_active {
mux {
pins = "gpio18", "gpio19";
function = "qup13";
};
config {
pins = "gpio18", "gpio19";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se8_i2c_sleep: qupv3_se8_i2c_sleep {
mux {
pins = "gpio18", "gpio19";
function = "gpio";
};
config {
pins = "gpio18", "gpio19";
drive-strength = <2>;
bias-pull-up;
};
};
};
/* SE 9 pin mappings */
qupv3_se9_i2c_pins: qupv3_se9_i2c_pins {
qupv3_se9_i2c_active: qupv3_se9_i2c_active {
mux {
pins = "gpio10", "gpio11";
function = "qup14";
};
config {
pins = "gpio10", "gpio11";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se9_i2c_sleep: qupv3_se9_i2c_sleep {
mux {
pins = "gpio10", "gpio11";
function = "gpio";
};
config {
pins = "gpio10", "gpio11";
drive-strength = <2>;
bias-pull-up;
};
};
};
qupv3_se3_4uart_pins: qupv3_se3_4uart_pins {
qupv3_se3_rx: qupv3_se3_rx {
mux {
pins = "gpio15";
function = "qup03";
};
config {
pins = "gpio15";
drive-strength = <2>;
bias-no-pull;
};
};
qupv3_se3_tx: qupv3_se6_tx {
mux {
pins = "gpio14";
function = "qup03";
};
config {
pins = "gpio14";
drive-strength = <2>;
bias-pull-up;
};
};
};
qupv3_se4_2uart_pins: qupv3_se4_2uart_pins {
qupv3_se4_2uart_active: qupv3_se4_2uart_active {
mux {
pins = "gpio16", "gpio17";
function = "qup04";
};
config {
pins = "gpio16", "gpio17";
drive-strength = <2>;
bias-disable;
};
};
qupv3_se4_2uart_sleep: qupv3_se4_2uart_sleep {
mux {
pins = "gpio16", "gpio17";
function = "gpio";
};
config {
pins = "gpio16", "gpio17";
drive-strength = <2>;
bias-pull-down;
};
};
};
qupv3_se9_4uart_pins: qupv3_se9_4uart_pins {
qupv3_se9_ctsrx: qupv3_se9_ctsrx {
mux {
pins = "gpio10", "gpio13";
function = "qup14";
};
config {
pins = "gpio10", "gpio13";
drive-strength = <2>;
bias-no-pull;
};
};
qupv3_se9_rts: qupv3_se9_rts {
mux {
pins = "gpio11";
function = "qup14";
};
config {
pins = "gpio11";
drive-strength = <2>;
bias-pull-down;
};
};
qupv3_se9_tx: qupv3_se9_tx {
mux {
pins = "gpio12";
function = "qup14";
};
config {
pins = "gpio12";
drive-strength = <2>;
bias-pull-up;
};
};
};
/* SPI Instances */
/* SE 0 pin mappings */
qupv3_se0_spi_pins: qupv3_se0_spi_pins {
qupv3_se0_spi_active: qupv3_se0_spi_active {
mux {
pins = "gpio0", "gpio1", "gpio2",
"gpio3";
function = "qup00";
};
config {
pins = "gpio0", "gpio1", "gpio2",
"gpio3";
drive-strength = <6>;
bias-disable;
};
};
qupv3_se0_spi_sleep: qupv3_se0_spi_sleep {
mux {
pins = "gpio0", "gpio1", "gpio2",
"gpio3";
function = "gpio";
};
configs {
pins = "gpio0", "gpio1", "gpio2",
"gpio3";
drive-strength = <6>;
bias-disable;
};
};
};
/* SE 2 pin mappings */
qupv3_se2_spi_pins: qupv3_se2_spi_pins {
qupv3_se2_spi_active: qupv3_se2_spi_active {
mux {
pins = "gpio6", "gpio7", "gpio8",
"gpio9";
function = "qup02";
};
config {
pins = "gpio6", "gpio7", "gpio8",
"gpio9";
drive-strength = <6>;
bias-disable;
};
};
qupv3_se2_spi_sleep: qupv3_se2_spi_sleep {
mux {
pins = "gpio6", "gpio7", "gpio8",
"gpio9";
function = "gpio";
};
configs {
pins = "gpio6", "gpio7", "gpio8",
"gpio9";
drive-strength = <6>;
bias-disable;
};
};
};
/* SE 5 pin mappings */
qupv3_se5_spi_pins: qupv3_se5_spi_pins {
qupv3_se5_spi_active: qupv3_se5_spi_active {
mux {
pins = "gpio22", "gpio23", "gpio24",
"gpio25";
function = "qup10";
};
config {
pins = "gpio22", "gpio23", "gpio24",
"gpio25";
drive-strength = <6>;
bias-disable;
};
};
qupv3_se5_spi_sleep: qupv3_se5_spi_sleep {
mux {
pins = "gpio22", "gpio23", "gpio24",
"gpio25";
function = "gpio";
};
configs {
pins = "gpio22", "gpio23", "gpio24",
"gpio25";
drive-strength = <6>;
bias-disable;
};
};
};
/* SE 6 pin mappings */
qupv3_se6_spi_pins: qupv3_se6_spi_pins {
qupv3_se6_spi_active: qupv3_se6_spi_active {
mux {
pins = "gpio30", "gpio31", "gpio32",
"gpio33";
function = "qup11";
};
config {
pins = "gpio30", "gpio31", "gpio32",
"gpio33";
drive-strength = <6>;
bias-disable;
};
};
qupv3_se6_spi_sleep: qupv3_se6_spi_sleep {
mux {
pins = "gpio30", "gpio31", "gpio32",
"gpio33";
function = "gpio";
};
configs {
pins = "gpio30", "gpio31", "gpio32",
"gpio33";
drive-strength = <6>;
bias-disable;
};
};
};
/* SE 8 pin mappings */
qupv3_se8_spi_pins: qupv3_se8_spi_pins {
qupv3_se8_spi_active: qupv3_se8_spi_active {
mux {
pins = "gpio18", "gpio19", "gpio20",
"gpio21";
function = "qup13";
};
config {
pins = "gpio18", "gpio19", "gpio20",
"gpio21";
drive-strength = <6>;
bias-disable;
};
};
qupv3_se8_spi_sleep: qupv3_se8_spi_sleep {
mux {
pins = "gpio18", "gpio19", "gpio20",
"gpio21";
function = "gpio";
};
configs {
pins = "gpio18", "gpio19", "gpio20",
"gpio21";
drive-strength = <6>;
bias-disable;
};
};
};
/* SE 9 pin mappings */
qupv3_se9_spi_pins: qupv3_se9_spi_pins {
qupv3_se9_spi_active: qupv3_se9_spi_active {
mux {
pins = "gpio10", "gpio11", "gpio12",
"gpio13";
function = "qup_14";
};
config {
pins = "gpio10", "gpio11", "gpio12",
"gpio13";
drive-strength = <6>;
bias-disable;
};
};
qupv3_se9_spi_sleep: qupv3_se9_spi_sleep {
mux {
pins = "gpio10", "gpio11", "gpio12",
"gpio13";
function = "gpio";
};
configs {
pins = "gpio10", "gpio11", "gpio12",
"gpio13";
drive-strength = <6>;
bias-disable;
};
};
};
fsa_usbc_ana_en_n@124 {
fsa_usbc_ana_en: fsa_usbc_ana_en {
mux {
pins = "gpio124";
function = "gpio";
};
config {
pins = "gpio124";
drive-strength = <2>;
bias-disable;
output-low;
};
};
};
wsa_swr_clk_pin {
wsa_swr_clk_sleep: wsa_swr_clk_sleep {
mux {
pins = "gpio18";
function = "WSA_CLK";
};
config {
pins = "gpio18";
drive-strength = <2>;
bias-bus-hold;
};
};
wsa_swr_clk_active: wsa_swr_clk_active {
mux {
pins = "gpio18";
function = "WSA_CLK";
};
config {
pins = "gpio18";
drive-strength = <2>;
bias-bus-hold;
};
};
};
wsa_swr_data_pin {
wsa_swr_data_sleep: wsa_swr_data_sleep {
mux {
pins = "gpio19";
function = "WSA_DATA";
};
config {
pins = "gpio19";
drive-strength = <4>;
bias-bus-hold;
};
};
wsa_swr_data_active: wsa_swr_data_active {
mux {
pins = "gpio19";
function = "WSA_DATA";
};
config {
pins = "gpio19";
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 = "gpio20";
function = "gpio";
};
config {
pins = "gpio20";
drive-strength = <2>; /* 2 mA */
bias-pull-down;
input-enable;
};
};
spkr_1_sd_n_active: spkr_1_sd_n_active {
mux {
pins = "gpio20";
function = "gpio";
};
config {
pins = "gpio20";
drive-strength = <16>; /* 16 mA */
bias-disable;
output-high;
};
};
};
wcd9xxx_intr {
wcd_intr_default: wcd_intr_default{
mux {
pins = "gpio110";
function = "gpio";
};
config {
pins = "gpio110";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* pull down */
input-enable;
};
};
};
tasha_cdc_reset_active: lpi_cdc_reset_active {
mux {
pins = "gpio120";
function = "gpio";
};
config {
pins = "gpio120";
drive-strength = <16>;
output-high;
};
};
tasha_cdc_reset_sleep: lpi_cdc_reset_sleep {
mux {
pins = "gpio120";
function = "gpio";
};
config {
pins = "gpio120";
drive-strength = <16>;
bias-disable;
output-low;
};
};
/* Tasha WSA speaker reset pins */
tasha_spkr_1_sd_n {
tasha_spkr_1_sd_n_sleep: tasha_spkr_1_sd_n_sleep {
mux {
pins = "gpio20";
function = "gpio";
};
config {
pins = "gpio20";
drive-strength = <2>; /* 2 mA */
bias-pull-down;
input-enable;
};
};
tasha_spkr_1_sd_n_active: tasha_spkr_1_sd_n_active {
mux {
pins = "gpio20";
function = "gpio";
};
config {
pins = "gpio20";
drive-strength = <16>; /* 16 mA */
bias-disable;
output-high;
};
};
};
tasha_spkr_2_sd_n {
tasha_spkr_2_sd_n_sleep: tasha_spkr_2_sd_n_sleep {
mux {
pins = "gpio21";
function = "gpio";
};
config {
pins = "gpio21";
drive-strength = <2>; /* 2 mA */
bias-pull-down;
input-enable;
};
};
tasha_spkr_2_sd_n_active: tasha_spkr_2_sd_n_active {
mux {
pins = "gpio21";
function = "gpio";
};
config {
pins = "gpio21";
drive-strength = <16>; /* 16 mA */
bias-disable;
output-high;
};
};
};
audio_ref_clk_active: audio_ref_clk_active {
mux {
pins = "gpio112";
function = "gpio";
};
config {
pins = "gpio112";
drive-strength = <8>;
bias-disable;
output-low;
};
};
audio_ref_clk_sleep: audio_ref_clk_sleep {
mux {
pins = "gpio112";
function = "gpio";
};
config {
pins = "gpio112";
drive-strength = <2>;
bias-disable;
bias-pull-down;
};
};
wcd937x_reset_active: wcd937x_reset_active {
mux {
pins = "gpio120";
function = "gpio";
};
config {
pins = "gpio120";
drive-strength = <16>;
output-high;
};
};
wcd937x_reset_sleep: wcd937x_reset_sleep {
mux {
pins = "gpio120";
function = "gpio";
};
config {
pins = "gpio120";
drive-strength = <16>;
bias-disable;
output-low;
};
};
cdc_dmic01_clk_active: dmic01_clk_active {
mux {
pins = "gpio125";
function = "DMIC0_CLK";
};
config {
pins = "gpio125";
drive-strength = <8>;
output-high;
};
};
cdc_dmic01_clk_sleep: dmic01_clk_sleep {
mux {
pins = "gpio125";
function = "DMIC0_CLK";
};
config {
pins = "gpio125";
drive-strength = <2>;
bias-disable;
output-low;
};
};
cdc_dmic01_data_active: dmic01_data_active {
mux {
pins = "gpio126";
function = "DMIC0_DATA";
};
config {
pins = "gpio126";
drive-strength = <8>;
input-enable;
};
};
cdc_dmic01_data_sleep: dmic01_data_sleep {
mux {
pins = "gpio126";
function = "DMIC0_DATA";
};
config {
pins = "gpio126";
drive-strength = <2>;
pull-down;
input-enable;
};
};
cdc_dmic23_clk_active: dmic23_clk_active {
mux {
pins = "gpio127";
function = "DMIC1_CLK";
};
config {
pins = "gpio127";
drive-strength = <8>;
output-high;
};
};
cdc_dmic23_clk_sleep: dmic23_clk_sleep {
mux {
pins = "gpio127";
function = "DMIC1_CLK";
};
config {
pins = "gpio127";
drive-strength = <2>;
bias-disable;
output-low;
};
};
cdc_dmic23_data_active: dmic23_data_active {
mux {
pins = "gpio128";
function = "DMIC1_DATA";
};
config {
pins = "gpio128";
drive-strength = <8>;
input-enable;
};
};
cdc_dmic23_data_sleep: dmic23_data_sleep {
mux {
pins = "gpio128";
function = "DMIC1_DATA";
};
config {
pins = "gpio128";
drive-strength = <2>;
pull-down;
input-enable;
};
};
tx_swr_clk_sleep: tx_swr_clk_sleep {
mux {
pins = "gpio106";
function = "swr_tx";
};
config {
pins = "gpio106";
drive-strength = <2>;
bias-bus-hold;
};
};
tx_swr_clk_active: tx_swr_clk_active {
mux {
pins = "gpio106";
function = "swr_tx";
};
config {
pins = "gpio106";
drive-strength = <10>;
bias-bus-hold;
};
};
tx_swr_data1_sleep: tx_swr_data1_sleep {
mux {
pins = "gpio107";
function = "swr_tx";
};
config {
pins = "gpio107";
drive-strength = <2>;
bias-bus-hold;
};
};
tx_swr_data1_active: tx_swr_data1_active {
mux {
pins = "gpio107";
function = "swr_tx";
};
config {
pins = "gpio107";
drive-strength = <10>;
bias-bus-hold;
};
};
tx_swr_data2_sleep: tx_swr_data2_sleep {
mux {
pins = "gpio108";
function = "swr_tx";
};
config {
pins = "gpio108";
drive-strength = <2>;
bias-bus-hold;
};
};
tx_swr_data2_active: tx_swr_data2_active {
mux {
pins = "gpio108";
function = "swr_tx";
};
config {
pins = "gpio108";
drive-strength = <10>;
bias-bus-hold;
};
};
rx_swr_clk_sleep: rx_swr_clk_sleep {
mux {
pins = "gpio110";
function = "swr_rx";
};
config {
pins = "gpio110";
drive-strength = <2>;
bias-bus-hold;
};
};
rx_swr_clk_active: rx_swr_clk_active {
mux {
pins = "gpio110";
function = "swr_rx";
};
config {
pins = "gpio110";
drive-strength = <10>;
bias-bus-hold;
};
};
rx_swr_data_sleep: rx_swr_data_sleep {
mux {
pins = "gpio111", "gpio112";
function = "swr_rx";
};
config {
pins = "gpio111", "gpio112";
drive-strength = <2>;
bias-bus-hold;
};
};
rx_swr_data_active: rx_swr_data_active {
mux {
pins = "gpio111", "gpio112";
function = "swr_rx";
};
config {
pins = "gpio111", "gpio112";
drive-strength = <10>;
bias-bus-hold;
};
};
pmx_sde: pmx_sde {
sde_dsi_active: sde_dsi_active {
mux {
pins = "gpio90";
function = "gpio";
};
config {
pins = "gpio90";
drive-strength = <8>; /* 8 mA */
bias-disable = <0>; /* no pull */
};
};
sde_dsi_suspend: sde_dsi_suspend {
mux {
pins = "gpio90";
function = "gpio";
};
config {
pins = "gpio90";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
};
pmx_sde_te {
sde_te_active: sde_te_active {
mux {
pins = "gpio89";
function = "mdp_vsync";
};
config {
pins = "gpio89";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
sde_te_suspend: sde_te_suspend {
mux {
pins = "gpio89";
function = "mdp_vsync";
};
config {
pins = "gpio89";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
};
sde_dp_usbplug_cc_active: sde_dp_usbplug_cc_active {
mux {
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
bias-disable;
drive-strength = <16>;
};
};
sde_dp_usbplug_cc_suspend: sde_dp_usbplug_cc_suspend {
mux {
pins = "gpio102";
function = "gpio";
};
config {
pins = "gpio102";
bias-pull-down;
drive-strength = <2>;
};
};
sde_dp_hotplug_ctrl: sde_dp_hotplug_ctrl {
mux {
pins = "gpio100";
function = "dp_hot";
};
config {
pins = "gpio100";
bias-disable;
input-enable;
drive-strength = <2>;
};
};
sde_dp_hotplug_tlmm: sde_dp_hotplug_tlmm {
mux {
pins = "gpio100";
function = "gpio";
};
config {
pins = "gpio100";
bias-disable;
input-enable;
drive-strength = <2>;
};
};
/* 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";
bias-disable; /* NO pull */
drive-strength = <16>; /* 16 MA */
};
};
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 = "gpio98";
function = "gpio";
};
config {
pins = "gpio98";
drive-strength = <2>;
bias-pull-up;
};
};
sdc2_cd_off: cd_off {
mux {
pins = "gpio98";
function = "gpio";
};
config {
pins = "gpio98";
drive-strength = <2>;
bias-disable;
};
};
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 */
};
};
pmx_ts_int_active {
ts_int_active: ts_int_active {
mux {
pins = "gpio88";
function = "gpio";
};
config {
pins = "gpio88";
drive-strength = <8>;
bias-pull-up;
};
};
};
pmx_ts_int_suspend {
ts_int_suspend: ts_int_suspend {
mux {
pins = "gpio88";
function = "gpio";
};
config {
pins = "gpio88";
drive-strength = <2>;
bias-pull-down;
};
};
};
pmx_ts_reset_active {
ts_reset_active: ts_reset_active {
mux {
pins = "gpio87";
function = "gpio";
};
config {
pins = "gpio87";
drive-strength = <8>;
bias-pull-up;
};
};
};
pmx_ts_reset_suspend {
ts_reset_suspend: ts_reset_suspend {
mux {
pins = "gpio87";
function = "gpio";
};
config {
pins = "gpio87";
drive-strength = <2>;
bias-pull-down;
};
};
};
pmx_ts_release {
ts_release: ts_release {
mux {
pins = "gpio88", "gpio87";
function = "gpio";
};
config {
pins = "gpio88", "gpio87";
drive-strength = <2>;
bias-pull-down;
};
};
};
cci0_active: cci0_active {
mux {
/* CLK, DATA */
pins = "gpio37", "gpio38";
function = "cci_i2c";
};
config {
pins = "gpio37", "gpio38";
bias-pull-up; /* PULL UP*/
drive-strength = <2>; /* 2 MA */
};
};
cci0_suspend: cci0_suspend {
mux {
/* CLK, DATA */
pins = "gpio37", "gpio38";
function = "cci_i2c";
};
config {
pins = "gpio37", "gpio38";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cci1_active: cci1_active {
mux {
/* CLK, DATA */
pins = "gpio39", "gpio40";
function = "cci_i2c";
};
config {
pins = "gpio39", "gpio40";
bias-pull-up; /* PULL UP*/
drive-strength = <2>; /* 2 MA */
};
};
cci1_suspend: cci1_suspend {
mux {
/* CLK, DATA */
pins = "gpio39", "gpio40";
function = "cci_i2c";
};
config {
pins = "gpio39", "gpio40";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk0_active: cam_sensor_mclk0_active {
/* MCLK0 */
mux {
pins = "gpio34";
function = "cam_mclk";
};
config {
pins = "gpio34";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk0_suspend: cam_sensor_mclk0_suspend {
/* MCLK0 */
mux {
pins = "gpio34";
function = "cam_mclk";
};
config {
pins = "gpio34";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_active: cam_sensor_rear_active {
/* RESET */
mux {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_suspend: cam_sensor_rear_suspend {
/* RESET */
mux {
pins = "gpio48";
function = "gpio";
};
config {
pins = "gpio48";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_front_active: cam_sensor_front_active {
/* RESET */
mux {
pins = "gpio42";
function = "gpio";
};
config {
pins = "gpio42";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_front_suspend: cam_sensor_front_suspend {
/* RESET */
mux {
pins = "gpio42";
function = "gpio";
};
config {
pins = "gpio42";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_rear2_active: cam_sensor_rear2_active {
/* RESET */
mux {
pins = "gpio46";
function = "gpio";
};
config {
pins = "gpio46";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear2_suspend: cam_sensor_rear2_suspend {
/* RESET */
mux {
pins = "gpio46";
function = "gpio";
};
config {
pins = "gpio46";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
output-low;
};
};
cam_sensor_mclk1_active: cam_sensor_mclk1_active {
/* MCLK1 */
mux {
pins = "gpio35";
function = "cam_mclk";
};
config {
pins = "gpio35";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_suspend: cam_sensor_mclk1_suspend {
/* MCLK1 */
mux {
pins = "gpio35";
function = "cam_mclk";
};
config {
pins = "gpio35";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_active: cam_sensor_mclk2_active {
/* MCLK2 */
mux {
pins = "gpio36";
function = "cam_mclk";
};
config {
pins = "gpio36";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk2_suspend: cam_sensor_mclk2_suspend {
/* MCLK2 */
mux {
pins = "gpio36";
function = "cam_mclk";
};
config {
pins = "gpio36";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
fpc_reset_int: fpc_reset_int {
fpc_reset_low: reset_low {
mux {
pins = "gpio93";
function = "gpio";
};
config {
pins = "gpio93";
drive-strength = <2>;
bias-disable;
output-low;
};
};
fpc_reset_high: reset_high {
mux {
pins = "gpio93";
function = "gpio";
};
config {
pins = "gpio93";
drive-strength = <2>;
bias-disable;
output-high;
};
};
fpc_int_low: int_low {
mux {
pins = "gpio92";
function = "gpio";
};
config {
pins = "gpio92";
drive-strength = <2>;
bias-pull-down;
input-enable;
};
};
};
};
};
&pm6125_gpios {
tasha_mclk {
tasha_mclk_default: tasha_mclk_default{
pins = "gpio1";
function = "func1";
qcom,drive-strength = <2>;
power-source = <0>;
bias-disable;
output-low;
};
};
};