blob: f42a2e1fb0ac40daa5e670092fe7515188d089ef [file] [log] [blame]
/* Copyright (c) 2014-2020, 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 {
msm_gpio: pinctrl@1000000 {
compatible = "qcom,msm8909-pinctrl";
reg = <0x1000000 0x300000>;
reg-names = "pinctrl_regs";
interrupts = <0 208 0>;
interrupts-extended = <&wakegic GIC_SPI 208 IRQ_TYPE_NONE>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
interrupt-parent = <&wakegpio>;
#interrupt-cells = <2>;
/* sensors */
cam_sensor_mclk0_default: cam_sensor_mclk0_default {
/* MCLK0 */
mux {
/* CLK, DATA */
pins = "gpio26";
function = "cam_mclk";
};
config {
pins = "gpio26";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk0_sleep: cam_sensor_mclk0_sleep {
/* MCLK0 */
mux {
/* CLK, DATA */
pins = "gpio26";
function = "cam_mclk";
};
config {
pins = "gpio26";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_default: cam_sensor_rear_default {
/* RESET, STANDBY */
mux {
pins = "gpio35", "gpio34";
function = "gpio";
};
config {
pins = "gpio35","gpio34";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_rear_sleep: cam_sensor_rear_sleep {
/* RESET, STANDBY */
mux {
pins = "gpio35","gpio34";
function = "gpio";
};
config {
pins = "gpio35","gpio34";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_default: cam_sensor_mclk1_default {
/* MCLK1 */
mux {
/* CLK, DATA */
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_mclk1_sleep: cam_sensor_mclk1_sleep {
/* MCLK1 */
mux {
/* CLK, DATA */
pins = "gpio27";
function = "cam_mclk";
};
config {
pins = "gpio27";
bias-pull-down; /* PULL DOWN */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_front_default: cam_sensor_front_default {
/* RESET, STANDBY */
mux {
pins = "gpio28","gpio33";
function = "gpio";
};
config {
pins = "gpio28","gpio33";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_front_sleep: cam_sensor_front_sleep {
/* RESET, STANDBY */
mux {
pins = "gpio28","gpio33";
function = "gpio";
};
config {
pins = "gpio28","gpio33";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_flash_default: cam_sensor_flash_default {
/* FLASH_RESET,FLASH_EN,FLASH_NOW */
mux {
pins = "gpio36", "gpio31", "gpio32";
function = "gpio";
};
config {
pins = "gpio36", "gpio31", "gpio32";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
cam_sensor_flash_sleep: cam_sensor_flash_sleep {
mux {
pins = "gpio36", "gpio31", "gpio32";
function = "gpio";
};
config {
pins = "gpio36", "gpio31", "gpio32";
bias-disable; /* No PULL */
drive-strength = <2>; /* 2 MA */
};
};
uart_console_active: uart_console_active {
mux {
pins = "gpio4", "gpio5";
function = "blsp_uart1";
};
config {
pins = "gpio4", "gpio5";
drive-strength = <2>;
bias-disable;
};
};
uart_console_sleep: uart_console_sleep {
mux {
pins = "gpio4", "gpio5";
function = "blsp_uart1";
};
config {
pins = "gpio4", "gpio5";
drive-strength = <2>;
bias-pull-down;
};
};
uart_console2_active: uart_console2_active {
mux {
pins = "gpio20", "gpio21";
function = "blsp_uart2";
};
config {
pins = "gpio20", "gpio21";
drive-strength = <2>;
bias-disable;
};
};
uart_console2_sleep: uart_console2_sleep {
mux {
pins = "gpio20", "gpio21";
function = "blsp_uart2";
};
config {
pins = "gpio20", "gpio21";
drive-strength = <2>;
bias-pull-down;
};
};
blsp1_uart2_tx_active: blsp1_uart2_tx_active {
mux {
pins = "gpio20";
function = "blsp_uart2";
};
config {
pins = "gpio20";
drive-strength = <2>;
bias-disable;
};
};
blsp1_uart2_tx_sleep: blsp1_uart2_tx_sleep {
mux {
pins = "gpio20";
function = "gpio";
};
config {
pins = "gpio20";
drive-strength = <2>;
bias-pull-up;
};
};
blsp1_uart2_rxcts_active: blsp1_uart2_rxcts_active {
mux {
pins = "gpio21", "gpio111";
function = "blsp_uart2";
};
config {
pins = "gpio21", "gpio111";
drive-strength = <2>;
bias-disable;
};
};
blsp1_uart2_rxcts_sleep: blsp1_uart2_rxcts_sleep {
mux {
pins = "gpio21", "gpio111";
function = "gpio";
};
config {
pins = "gpio21", "gpio111";
drive-strength = <2>;
bias-no-pull;
};
};
blsp1_uart2_rfr_active: blsp1_uart2_rfr_active {
mux {
pins = "gpio112";
function = "blsp_uart2";
};
config {
pins = "gpio112";
drive-strength = <2>;
bias-disable;
};
};
blsp1_uart2_rfr_sleep: blsp1_uart2_rfr_sleep {
mux {
pins = "gpio112";
function = "gpio";
};
config {
pins = "gpio112";
drive-strength = <2>;
bias-no-pull;
};
};
pmx_mdss: pmx_mdss {
mdss_dsi_active: mdss_dsi_active {
mux {
pins = "gpio25", "gpio37";
function = "gpio";
};
config {
drive-strength = <8>; /* 8 mA */
bias-disable = <0>; /* no pull */
output-high;
};
};
mdss_dsi_suspend: mdss_dsi_suspend {
mux {
pins = "gpio25", "gpio37";
function = "gpio";
};
config {
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* pull down */
output-low;
};
};
};
pmx_mdss_te {
mdss_te_active: mdss_te_active {
mux {
pins = "gpio24";
function = "mdp_vsync";
};
config {
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* pull down */
};
};
mdss_te_suspend: mdss_te_suspend {
mux {
pins = "gpio24";
function = "mdp_vsync";
};
config {
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* pull down */
};
};
};
mdss_dsi_select_gpio: mdss_dsi_select_gpio {
mux {
pins = "gpio70";
function = "gpio";
};
config {
pins = "gpio70";
drive-strength = <8>;
bias-pull-down;
output-low;
};
};
spi0 {
spi0_default: spi0_default {
mux {
pins = "gpio8", "gpio9",
"gpio11";
function = "blsp_spi6";
};
config {
pins = "gpio8", "gpio9",
"gpio11";
drive-strength = <12>; /* 12 MA */
bias-disable; /* No PULL */
};
};
spi0_sleep: spi0_sleep {
mux {
pins = "gpio8", "gpio9",
"gpio11";
function = "gpio";
};
config {
pins = "gpio8", "gpio9",
"gpio11";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* pull down */
};
};
spi0_cs0_active: spi0_cs0_active {
mux {
pins = "gpio10";
function = "blsp_spi6";
};
config {
pins = "gpio10";
drive-strength = <2>;
bias-disable;
};
};
spi0_cs0_sleep: spi0_cs0_sleep {
mux {
pins = "gpio10";
function = "gpio";
};
config {
pins = "gpio10";
drive-strength = <2>;
bias-disable;
};
};
};
spi2 {
spi2_default: spi2_default {
mux {
pins = "gpio20", "gpio21",
"gpio112";
function = "blsp_spi2";
};
config {
pins = "gpio20", "gpio21",
"gpio112";
drive-strength = <12>; /* 12 MA */
bias-disable; /* No PULL */
};
};
spi2_sleep: spi2_sleep {
mux {
pins = "gpio20", "gpio21",
"gpio112";
function = "gpio";
};
config {
pins = "gpio20", "gpio21",
"gpio112";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* pull down */
};
};
spi2_cs0_active: spi2_cs0_active {
mux {
pins = "gpio111";
function = "blsp_spi2";
};
config {
pins = "gpio111";
drive-strength = <2>;
bias-pull-up;
};
};
spi2_cs0_sleep: spi2_cs0_sleep {
mux {
pins = "gpio111";
function = "gpio";
};
config {
pins = "gpio111";
drive-strength = <2>;
bias-pull-up;
};
};
};
spi4 {
spi4_default: spi4_default {
mux {
pins = "gpio12", "gpio13",
"gpio15";
function = "blsp_spi4";
};
config {
pins = "gpio12", "gpio13",
"gpio15";
drive-strength = <12>; /* 12 MA */
bias-disable; /* No PULL */
};
};
spi4_sleep: spi4_sleep {
mux {
pins = "gpio12", "gpio13",
"gpio15";
function = "gpio";
};
config {
pins = "gpio12", "gpio13",
"gpio15";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* pull down */
};
};
spi4_cs0_active: spi4_cs0_active {
mux {
pins = "gpio14";
function = "blsp_spi4";
};
config {
pins = "gpio14";
drive-strength = <2>;
bias-pull-up;
};
};
spi4_cs0_sleep: spi4_cs0_sleep {
mux {
pins = "gpio14";
function = "gpio";
};
config {
pins = "gpio14";
drive-strength = <2>;
bias-pull-up;
};
};
};
spi5 {
spi5_default: spi5_default {
mux {
pins = "gpio16", "gpio17",
"gpio19";
function = "blsp_spi5";
};
config {
pins = "gpio16", "gpio17",
"gpio19";
drive-strength = <12>; /* 12 MA */
bias-disable; /* No PULL */
};
};
spi5_sleep: spi5_sleep {
mux {
pins = "gpio16", "gpio17",
"gpio19";
function = "gpio";
};
config {
pins = "gpio16", "gpio17",
"gpio19";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* pull down */
};
};
spi5_cs0_active: spi5_cs0_active {
mux {
pins = "gpio18";
function = "blsp_spi5";
};
config {
pins = "gpio18";
drive-strength = <2>;
bias-pull-up;
};
};
spi5_cs0_sleep: spi5_cs0_sleep {
mux {
pins = "gpio18";
function = "gpio";
};
config {
pins = "gpio18";
drive-strength = <2>;
bias-pull-up;
};
};
};
pmx_i2c_1 {
i2c_1_active: i2c_1_active {
mux {
pins = "gpio6", "gpio7";
function = "blsp_i2c1";
};
config {
pins = "gpio6", "gpio7";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
i2c_1_sleep: i2c_1_sleep {
mux {
pins = "gpio6", "gpio7";
function = "blsp_i2c1";
};
config {
pins = "gpio6", "gpio7";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
};
pmx_i2c_2 {
i2c_2_active: i2c_2_active {
mux {
pins = "gpio111", "gpio112";
function = "blsp_i2c2";
};
config {
pins = "gpio111", "gpio112";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
i2c_2_sleep: i2c_2_sleep {
mux {
pins = "gpio111", "gpio112";
function = "blsp_i2c2";
};
config {
pins = "gpio111", "gpio112";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
};
imu {
imu_int_active: imu_int_active{
mux {
pins = "gpio12";
function = "gpio";
};
config {
pins = "gpio12";
drive-strength = <6>;
bias-pull-up;
};
};
imu_int_suspend: imu_int_suspend{
mux {
pins = "gpio12";
function = "gpio";
};
config {
pins = "gpio12";
drive-strength = <6>;
bias-pull-up;
};
};
};
nfc {
nfcw_int_active: nfcw_int_active {
mux {
pins = "gpio50";
function = "gpio";
};
config {
pins = "gpio50";
drive-strength = <6>;
bias-pull-up;
};
};
nfcw_int_suspend: nfcw_int_suspend {
mux {
pins = "gpio50";
function = "gpio";
};
config {
pins = "gpio50";
drive-strength = <6>;
bias-pull-up;
};
};
nfcw_disable_active: nfcw_disable_active {
mux {
pins = "gpio36";
function = "gpio";
};
config {
pins = "gpio36";
drive-strength = <6>;
bias-pull-up;
};
};
nfcw_disable_suspend: nfcw_disable_suspend {
mux {
pins = "gpio36";
function = "gpio";
};
config {
pins = "gpio36";
drive-strength = <6>;
bias-disable;
};
};
nfcv2k_disable_active: nfcv2k_disable_active {
mux {
pins = "gpio52";
function = "gpio";
};
config {
pins = "gpio52";
drive-strength = <6>;
bias-pull-up;
};
};
nfcv2k_disable_suspend: nfcv2k_disable_suspend {
mux {
pins = "gpio52";
function = "gpio";
};
config {
pins = "gpio52";
drive-strength = <6>;
bias-disable;
};
};
nfc_int_active: nfc_int_active {
mux {
pins = "gpio21";
function = "gpio";
};
config {
pins = "gpio21";
drive-strength = <6>;
bias-pull-up;
};
};
nfc_int_suspend: nfc_int_suspend {
mux {
pins = "gpio21";
function = "gpio";
};
config {
pins = "gpio21";
drive-strength = <6>;
bias-pull-up;
};
};
nfc_disable_active: nfc_disable_active {
mux {
pins = "gpio20";
function = "gpio";
};
config {
pins = "gpio20";
drive-strength = <6>;
bias-pull-up;
};
};
nfc_disable_suspend: nfc_disable_suspend {
mux {
pins = "gpio20";
function = "gpio";
};
config {
pins = "gpio20";
drive-strength = <6>;
bias-disable;
};
};
};
pmx_i2c_3 {
i2c_3_active: i2c_3_active {
mux {
pins = "gpio29", "gpio30";
function = "blsp_i2c3";
};
config {
pins = "gpio29", "gpio30";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
i2c_3_sleep: i2c_3_sleep {
mux {
pins = "gpio29", "gpio30";
function = "blsp_i2c3";
};
config {
pins = "gpio29", "gpio30";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
};
pmx_i2c_4 {
i2c_4_active: i2c_4_active {
mux {
pins = "gpio14", "gpio15";
function = "blsp_i2c4";
};
config {
pins = "gpio14", "gpio15";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
i2c_4_sleep: i2c_4_sleep {
mux {
pins = "gpio14", "gpio15";
function = "blsp_i2c4";
};
config {
pins = "gpio14", "gpio15";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
};
pmx_i2c_5 {
i2c_5_active: i2c_5_active {
mux {
pins = "gpio19", "gpio18";
function = "blsp_i2c5";
};
config {
pins = "gpio19", "gpio18";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
i2c_5_sleep: i2c_5_sleep {
mux {
pins = "gpio19", "gpio18";
function = "blsp_i2c5";
};
config {
pins = "gpio19", "gpio18";
drive-strength = <2>; /* 2 MA */
bias-disable; /* No PULL */
};
};
};
smb_int_pin {
smb_int_default: smb_int_default {
mux {
pins = "gpio58";
function ="smb_int";
};
config {
pins = "gpio58";
drive-strength = <2>; /* 2 MA */
bias-pull-up; /* PULL UP*/
};
};
smb_int_sleep: smb_int_sleep {
mux {
pins = "gpio58";
function ="smb_int";
};
config {
pins = "gpio58";
drive-strength = <2>; /* 2 MA */
bias-pull-up; /* PULL UP*/
};
};
};
pmx_sdc1_clk {
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 */
};
};
};
pmx_sdc1_cmd {
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";
bias-pull-up; /* pull up */
drive-strength = <2>; /* 2 MA */
};
};
};
pmx_sdc1_data {
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 */
};
};
};
pmx_sdc2_clk {
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 */
};
};
};
pmx_sdc2_cmd {
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 */
};
};
};
pmx_sdc2_data {
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 */
};
};
};
sdhc2_cd_pin {
sdc2_cd_on: cd_on {
mux {
pins = "gpio38";
function = "gpio";
};
config {
pins = "gpio38";
drive-strength = <2>;
bias-pull-up;
};
};
sdc2_cd_off: cd_off {
mux {
pins = "gpio38";
function = "gpio";
};
config {
pins = "gpio38";
drive-strength = <2>;
bias-disable;
};
};
};
/* add pingrp for goodix touch */
ts_int_default: ts_int_default {
mux {
pins = "gpio13";
function = "gpio";
};
config {
pins = "gpio13";
drive-strength = <16>;
/*bias-pull-up;*/
input-enable;
bias-disable;
};
};
ts_int_output_high: ts_int_output_high {
mux {
pins = "gpio13";
function = "gpio";
};
config {
pins = "gpio13";
output-high;
};
};
ts_int_output_low: ts_int_output_low {
mux {
pins = "gpio13";
function = "gpio";
};
config {
pins = "gpio13";
output-low;
};
};
ts_int_input: ts_int_input {
mux {
pins = "gpio13";
function = "gpio";
};
config {
pins = "gpio13";
input-enable;
bias-disable;
};
};
ts_rst_default: ts_rst_default {
mux {
pins = "gpio16";
function = "gpio";
};
config {
pins = "gpio16";
drive-strength = <16>;
/*bias-pull-up;*/
input-enable;
bias-disable;
};
};
ts_rst_output_high: ts_rst_output_high {
mux {
pins = "gpio16";
function = "gpio";
};
config {
pins = "gpio16";
output-high;
};
};
ts_rst_output_low: ts_rst_output_low {
mux {
pins = "gpio16";
function = "gpio";
};
config {
pins = "gpio16";
output-low;
};
};
ts_rst_input: ts_rst_input {
mux {
pins = "gpio16";
function = "gpio";
};
config {
pins = "gpio16";
input-enable;
bias-disable;
};
};
/* add pingrp for touchscreen */
pmx_ts_int_active {
ts_int_active: ts_int_active {
mux {
pins = "gpio13";
function = "gpio";
};
config {
pins = "gpio13";
drive-strength = <8>;
bias-pull-up;
};
};
};
pmx_ts_int_suspend {
ts_int_suspend: ts_int_suspend {
mux {
pins = "gpio13";
function = "gpio";
};
config {
pins = "gpio13";
drive-strength = <2>;
bias-pull-down;
};
};
};
pmx_ts_reset_active {
ts_reset_active: ts_reset_active {
mux {
pins = "gpio12";
function = "gpio";
};
config {
pins = "gpio12";
drive-strength = <8>;
bias-pull-up;
};
};
};
pmx_ts_reset_suspend {
ts_reset_suspend: ts_reset_suspend {
mux {
pins = "gpio12";
function = "gpio";
};
config {
pins = "gpio12";
drive-strength = <2>;
bias-pull-down;
};
};
};
/* Pinctrl dt nodes for reset gpio for ITE tech controller */
pmx_ts_ite_reset_active {
ts_ite_reset_active: ts_ite_reset_active {
mux {
pins = "gpio12";
function = "gpio";
};
config {
pins = "gpio12";
drive-strength = <8>;
bias-pull-down;
output-high;
};
};
};
pmx_ts_ite_reset_suspend {
ts_ite_reset_suspend: ts_ite_reset_suspend {
mux {
pins = "gpio12";
function = "gpio";
};
config {
pins = "gpio12";
drive-strength = <2>;
bias-pull-down;
output-low;
};
};
};
pmx_ts_release {
ts_release: ts_release {
mux {
pins = "gpio13", "gpio12";
function = "gpio";
};
config {
pins = "gpio13", "gpio12";
drive-strength = <2>;
bias-pull-down;
};
};
};
tlmm_gpio_key {
gpio_key_active: gpio_key_active {
mux {
pins = "gpio90", "gpio91", "gpio92";
function = "gpio";
};
config {
pins = "gpio90", "gpio91", "gpio92";
drive-strength = <2>;
bias-pull-up;
};
};
gpio_key_suspend: gpio_key_suspend {
mux {
pins = "gpio90", "gpio91", "gpio92";
function = "gpio";
};
config {
pins = "gpio90", "gpio91", "gpio92";
drive-strength = <2>;
bias-pull-up;
};
};
};
wcnss_pmux_5wire {
wcnss_default: wcnss_default {
wcss_wlan2 {
pins = "gpio40";
function = "wcss_wlan2";
};
wcss_wlan1 {
pins = "gpio41";
function = "wcss_wlan1";
};
wcss_wlan0 {
pins = "gpio42";
function = "wcss_wlan0";
};
wcss_wlan {
pins = "gpio43", "gpio44";
function = "wcss_wlan";
};
config {
pins = "gpio40", "gpio41",
"gpio42", "gpio43",
"gpio44";
drive-strength = <6>; /* 6 MA */
bias-pull-up; /* PULL UP */
};
};
wcnss_sleep: wcnss_sleep {
wcss_wlan2 {
pins = "gpio40";
function = "wcss_wlan2";
};
wcss_wlan1 {
pins = "gpio41";
function = "wcss_wlan1";
};
wcss_wlan0 {
pins = "gpio42";
function = "wcss_wlan0";
};
wcss_wlan {
pins = "gpio43", "gpio44";
function = "wcss_wlan";
};
config {
pins = "gpio40", "gpio41",
"gpio42", "gpio43",
"gpio44";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* PULL Down */
};
};
};
wcnss_pmux_gpio: wcnss_pmux_gpio {
wcnss_gpio_default: wcnss_gpio_default {
mux {
pins = "gpio40", "gpio41",
"gpio42", "gpio43",
"gpio44";
function = "gpio";
};
config {
pins = "gpio40", "gpio41",
"gpio42", "gpio43",
"gpio44";
drive-strength = <6>; /* 6 MA */
bias-pull-up; /* PULL UP */
};
};
};
trigout_a0: trigout_a0 {
mux {
pins = "gpio23";
function = "qdss_cti_trig_out_a0";
};
config {
pins = "gpio23";
drive-strength = <2>;
bias-disable;
};
};
pmx_qdsd_clk {
qdsd_clk_sdcard: clk_sdcard {
config {
pins = "qdsd_clk";
bias-disable; /* NO pull */
drive-strength = <7>; /* 7 MA */
};
};
qdsd_clk_trace: clk_trace {
config {
pins = "qdsd_clk";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_clk_swdtrc: clk_swdtrc {
config {
pins = "qdsd_clk";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_clk_spmi: clk_spmi {
config {
pins = "qdsd_clk";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
};
pmx_qdsd_cmd {
qdsd_cmd_sdcard: cmd_sdcard {
config {
pins = "qdsd_cmd";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_cmd_trace: cmd_trace {
config {
pins = "qdsd_cmd";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_cmd_swduart: cmd_uart {
config {
pins = "qdsd_cmd";
bias-pull-up; /* pull up */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_cmd_swdtrc: cmd_swdtrc {
config {
pins = "qdsd_cmd";
bias-pull-up; /* pull up */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_cmd_jtag: cmd_jtag {
config {
pins = "qdsd_cmd";
bias-disable; /* NO pull */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_cmd_spmi: cmd_spmi {
config {
pins = "qdsd_cmd";
bias-pull-down; /* pull down */
drive-strength = <4>; /* 4 MA */
};
};
};
pmx_qdsd_data0 {
qdsd_data0_sdcard: data0_sdcard {
config {
pins = "qdsd_data0";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_data0_trace: data0_trace {
config {
pins = "qdsd_data0";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_data0_swduart: data0_uart {
config {
pins = "qdsd_data0";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data0_swdtrc: data0_swdtrc {
config {
pins = "qdsd_data0";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data0_jtag: data0_jtag {
config {
pins = "qdsd_data0";
bias-pull-up; /* pull up */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data0_spmi: data0_spmi {
config {
pins = "qdsd_data0";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
};
pmx_qdsd_data1 {
qdsd_data1_sdcard: data1_sdcard {
config {
pins = "qdsd_data1";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_data1_trace: data1_trace {
config {
pins = "qdsd_data1";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_data1_swduart: data1_uart {
config {
pins = "qdsd_data1";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data1_swdtrc: data1_swdtrc {
config {
pins = "qdsd_data1";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data1_jtag: data1_jtag {
config {
pins = "qdsd_data1";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
};
pmx_qdsd_data2 {
qdsd_data2_sdcard: data2_sdcard {
config {
pins = "qdsd_data2";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_data2_trace: data2_trace {
config {
pins = "qdsd_data2";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_data2_swduart: data2_uart {
config {
pins = "qdsd_data2";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data2_swdtrc: data2_swdtrc {
config {
pins = "qdsd_data2";
bias-pull-down; /* pull down */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data2_jtag: data2_jtag {
config {
pins = "qdsd_data2";
bias-pull-up; /* pull up */
drive-strength = <3>; /* 3 MA */
};
};
};
pmx_qdsd_data3 {
qdsd_data3_sdcard: data3_sdcard {
config {
pins = "qdsd_data3";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_data3_trace: data3_trace {
config {
pins = "qdsd_data3";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
qdsd_data3_swduart: data3_uart {
config {
pins = "qdsd_data3";
bias-pull-up; /* pull up */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data3_swdtrc: data3_swdtrc {
config {
pins = "qdsd_data3";
bias-pull-up; /* pull up */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data3_jtag: data3_jtag {
config {
pins = "qdsd_data3";
bias-pull-up; /* pull up */
drive-strength = <0>; /* 0 MA */
};
};
qdsd_data3_spmi: data3_spmi {
config {
pins = "qdsd_data3";
bias-pull-down; /* pull down */
drive-strength = <3>; /* 3 MA */
};
};
};
/* CoreSight */
tpiu_seta_1 {
seta_1: seta {
mux {
pins = "gpio6";
function = "qdss_traceclk_a";
};
config {
pins = "gpio6";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_2 {
seta_2: seta {
mux {
pins = "gpio8";
function = "qdss_tracectl_a";
};
config {
pins = "gpio8";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_3 {
seta_3: seta {
mux {
pins = "gpio9";
function = "qdss_tracedata_a";
};
config {
pins = "gpio9";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_4 {
seta_4: seta {
mux {
pins = "gpio10";
function = "qdss_tracedata_a";
};
config {
pins = "gpio10";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_5 {
seta_5: seta {
mux {
pins = "gpio39";
function = "qdss_tracedata_a";
};
config {
pins = "gpio39";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_6 {
seta_6: seta {
mux {
pins = "gpio40";
function = "qdss_tracedata_a";
};
config {
pins = "gpio40";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_7 {
seta_7: seta {
mux {
pins = "gpio41";
function = "qdss_tracedata_a";
};
config {
pins = "gpio41";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_8 {
seta_8: seta {
mux {
pins = "gpio42";
function = "qdss_tracedata_a";
};
config {
pins = "gpio42";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_9 {
seta_9: seta {
mux {
pins = "gpio43";
function = "qdss_tracedata_a";
};
config {
pins = "gpio43";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_10 {
seta_10: seta {
mux {
pins = "gpio45";
function = "qdss_tracedata_a";
};
config {
pins = "gpio45";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_11 {
seta_11: seta {
mux {
pins = "gpio46";
function = "qdss_tracedata_a";
};
config {
pins = "gpio46";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_12 {
seta_12: seta {
mux {
pins = "gpio47";
function = "qdss_tracedata_a";
};
config {
pins = "gpio47";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_13 {
seta_13: seta {
mux {
pins = "gpio48";
function = "qdss_tracedata_a";
};
config {
pins = "gpio48";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_14 {
seta_14: seta {
mux {
pins = "gpio58";
function = "qdss_tracedata_a";
};
config {
pins = "gpio58";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_15 {
seta_15: seta {
mux {
pins = "gpio65";
function = "qdss_tracedata_a";
};
config {
pins = "gpio65";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_16 {
seta_16: seta {
mux {
pins = "gpio94";
function = "qdss_tracedata_a";
};
config {
pins = "gpio94";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_17 {
seta_17: seta {
mux {
pins = "gpio96";
function = "qdss_tracedata_a";
};
config {
pins = "gpio96";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_seta_18 {
seta_18: seta {
mux {
pins = "gpio97";
function = "qdss_tracedata_a";
};
config {
pins = "gpio97";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_1 {
setb_1: setb {
mux {
pins = "gpio4";
function = "qdss_tracedata_b";
};
config {
pins = "gpio4";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_2 {
setb_2: setb {
mux {
pins = "gpio5";
function = "qdss_tracedata_b";
};
config {
pins = "gpio5";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_3 {
setb_3: setb {
mux {
pins = "gpio14";
function = "qdss_tracedata_b";
};
config {
pins = "gpio14";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_4 {
setb_4: setb {
mux {
pins = "gpio16";
function = "qdss_tracedata_b";
};
config {
pins = "gpio16";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_5 {
setb_5: setb {
mux {
pins = "gpio17";
function = "qdss_tracedata_b";
};
config {
pins = "gpio17";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_6 {
setb_6: setb {
mux {
pins = "gpio26";
function = "qdss_tracedata_b";
};
config {
pins = "gpio26";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_7 {
setb_7: setb {
mux {
pins = "gpio27";
function = "qdss_tracedata_b";
};
config {
pins = "gpio27";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_8 {
setb_8: setb {
mux {
pins = "gpio28";
function = "qdss_tracedata_b";
};
config {
pins = "gpio28";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_9 {
setb_9: setb {
mux {
pins = "gpio29";
function = "qdss_tracedata_b";
};
config {
pins = "gpio29";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_10 {
setb_10: setb {
mux {
pins = "gpio30";
function = "qdss_tracedata_b";
};
config {
pins = "gpio30";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_11 {
setb_11: setb {
mux {
pins = "gpio31";
function = "qdss_tracedata_b";
};
config {
pins = "gpio31";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_12 {
setb_12: setb {
mux {
pins = "gpio32";
function = "qdss_tracedata_b";
};
config {
pins = "gpio32";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_13 {
setb_13: setb {
mux {
pins = "gpio33";
function = "qdss_tracedata_b";
};
config {
pins = "gpio33";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_14 {
setb_14: setb {
mux {
pins = "gpio34";
function = "qdss_tracedata_b";
};
config {
pins = "gpio34";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_15 {
setb_15: setb {
mux {
pins = "gpio35";
function = "qdss_tracedata_b";
};
config {
pins = "gpio35";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_16 {
setb_16: setb {
mux {
pins = "gpio36";
function = "qdss_tracedata_b";
};
config {
pins = "gpio36";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_17 {
setb_17: setb {
mux {
pins = "gpio37";
function = "qdss_tracedata_b";
};
config {
pins = "gpio37";
drive-strength = <16>;
bias-disable;
};
};
};
tpiu_setb_18 {
setb_18: setb {
mux {
pins = "gpio93";
function = "qdss_tracedata_b";
};
config {
pins = "gpio93";
drive-strength = <16>;
bias-disable;
};
};
};
vdd_spkdrv {
vdd_spkdrv_act: vdd_spkdrv_on {
mux {
pins = "gpio4";
function = "gpio";
};
config {
pins = "gpio4";
drive-strength = <8>;
};
};
vdd_spkdrv_sus: vdd_spkdrv_off {
mux {
pins = "gpio4";
function = "gpio";
};
config {
pins = "gpio4";
drive-strength = <2>;
bias-disable;
};
};
};
cdc_reset_ctrl {
cdc_reset_sleep: cdc_reset_sleep {
mux {
pins = "gpio27";
function = "gpio";
};
config {
pins = "gpio27";
drive-strength = <16>;
bias-disable;
output-low;
};
};
cdc_reset_active:cdc_reset_active {
mux {
pins = "gpio27";
function = "gpio";
};
config {
pins = "gpio27"; /* gpio67 old */
drive-strength = <16>;
bias-pull-down;
output-high;
};
};
};
cdc_reset1_ctrl {
cdc_reset1_sleep: cdc_reset1_sleep {
mux {
pins = "gpio23";
function = "gpio";
};
config {
pins = "gpio23";
drive-strength = <16>;
bias-disable;
output-low;
};
};
cdc_reset1_active:cdc_reset1_active {
mux {
pins = "gpio23";
function = "gpio";
};
config {
pins = "gpio23";
drive-strength = <16>;
bias-pull-down;
output-high;
};
};
};
cdc-dmic-lines {
cdc_dmic0_clk_act: dmic0_clk_on {
mux {
pins = "gpio4";
function = "dmic0_clk";
};
config {
pins = "gpio4";
drive-strength = <8>;
output-high;
};
};
cdc_dmic0_clk_sus: dmic0_clk_off {
mux {
pins = "gpio4";
function = "gpio";
};
config {
pins = "gpio4";
drive-strength = <2>;
bias-disable;
output-low;
};
};
cdc_dmic0_data_act: dmic0_data_on {
mux {
pins = "gpio5";
function = "dmic0_data";
};
config {
pins = "gpio5";
drive-strength = <8>;
input-enable;
};
};
cdc_dmic0_data_sus: dmic0_data_off {
mux {
pins = "gpio5";
function = "gpio";
};
config {
pins = "gpio5";
drive-strength = <2>;
bias-disable;
};
};
};
cdc-pdm-lines {
cdc_pdm_lines_act: pdm_lines_on {
mux {
pins = "gpio59", "gpio60", "gpio61",
"gpio62", "gpio63", "gpio64";
function = "cdc_pdm0";
};
config {
pins = "gpio59", "gpio60", "gpio61",
"gpio62", "gpio63", "gpio64";
drive-strength = <8>;
};
};
cdc_pdm_lines_sus: pdm_lines_off {
mux {
pins = "gpio59", "gpio60", "gpio61",
"gpio62", "gpio63", "gpio64";
function = "cdc_pdm0";
};
config {
pins = "gpio59", "gpio60", "gpio61",
"gpio62", "gpio63", "gpio64";
drive-strength = <2>;
bias-disable;
};
};
};
cross-conn-det {
cross_conn_det_act: lines_on {
mux {
pins = "gpio97";
function = "gpio";
};
config {
pins = "gpio97";
drive-strength = <8>;
output-low;
bias-pull-down;
};
};
cross_conn_det_sus: lines_off {
mux {
pins = "gpio97";
function = "gpio";
};
config {
pins = "gpio97";
drive-strength = <2>;
bias-pull-down;
};
};
};
amp_mute {
label = "amp_mute";
amp_mute_active: amp_mute_active {
mux {
pins = "gpio84";
function = "gpio";
};
config {
pins = "gpio84";
drive-strength = <8>; /* 8 MA */
bias-pull-up; /* PULL UP */
output-high;
};
};
amp_mute_sleep: amp_mute_sleep {
mux {
pins = "gpio84";
function = "gpio";
};
configs {
pins = "gpio84";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* PULL DOWN */
};
};
};
ext_amp_ctrl {
label = "ext_amp_ctrl";
ext_amp_ctrl_active: ext_amp_ctrl_active {
mux {
pins = "gpio25";
function = "gpio";
};
config {
pins = "gpio25";
drive-strength = <8>; /* 8 MA */
bias-pull-up; /* PULL UP */
output-high;
};
};
ext_amp_ctrl_sleep: ext_amp_ctrl_sleep {
mux {
pins = "gpio25";
function = "gpio";
};
configs {
pins = "gpio25";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* PULL DOWN */
};
};
};
pmx_i2s_mclk {
label = "i2s_mclk";
i2s_mclk_active: i2s_mclk_active {
mux {
pins = "gpio59";
function = "pri_mi2s_mclk_a";
};
config {
pins = "gpio59";
drive-strength = <8>; /* 8 MA */
bias-disable; /* No PULL */
output-high;
};
};
i2s_mclk_sleep: i2s_mclk_sleep {
mux {
pins = "gpio59";
function = "pri_mi2s_mclk_a";
};
configs {
pins = "gpio59";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* PULL DOWN */
};
};
};
pmx_pri_mi2s {
label = "pri_mi2s";
pri_mi2s_active: pri_mi2s_active {
mux {
pins = "gpio60";
function = "pri_mi2s_sck_a";
};
configs {
pins = "gpio60";
drive-strength = <8>; /* 8 MA */
bias-disable; /* No PULL */
output-high;
};
};
pri_mi2s_sleep: pri_mi2s_sleep {
mux {
pins = "gpio60";
function = "pri_mi2s_sck_a";
};
configs {
pins = "gpio60";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* PULL DOWN */
};
};
pri_mi2s_ws_active: pri_mi2s_ws_active {
mux {
pins = "gpio61";
function = "pri_mi2s_ws_a";
};
config {
pins = "gpio61";
drive-strength = <8>; /* 8 mA */
bias-disable; /* NO PULL*/
output-high;
};
};
pri_mi2s_ws_sleep: pri_mi2s_ws_sleep {
mux {
pins = "gpio61";
function = "pri_mi2s_ws_a";
};
config {
pins = "gpio61";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
pri_mi2s_dout_active: pri_mi2s_dout_active {
mux {
pins = "gpio63";
function = "pri_mi2s_data1_a";
};
config {
pins = "gpio63";
drive-strength = <8>; /* 8 mA */
bias-disable; /* NO PULL*/
output-high;
};
};
pri_mi2s_dout_sleep: pri_mi2s_dout_sleep {
mux {
pins = "gpio63";
function = "pri_mi2s_data1_a";
};
config {
pins = "gpio63";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
pri_mi2s_din_sleep: pri_mi2s_din_sleep {
mux {
pins = "gpio62";
function = "pri_mi2s_data0_a";
};
config {
pins = "gpio62";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
pri_mi2s_din_active: pri_mi2s_din_active {
mux {
pins = "gpio62";
function = "pri_mi2s_data0_a";
};
config {
pins = "gpio62";
drive-strength = <8>; /* 8 mA */
bias-disable; /* NO PULL */
};
};
};
pmx_quat_mi2s {
label = "quat_mi2s";
quat_mi2s_active: quat_mi2s_active {
mux {
pins = "gpio0", "gpio1";
function = "sec_mi2s";
};
configs {
pins = "gpio0", "gpio1";
drive-strength = <8>; /* 8 MA */
bias-disable; /* No PULL */
};
};
quat_mi2s_sleep: quat_mi2s_sleep {
mux {
pins = "gpio0", "gpio1";
function = "sec_mi2s";
};
configs {
pins = "gpio0", "gpio1";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* PULL DOWN */
};
};
};
pmx_quat_mi2s_din {
label = "quat_mi2s_din";
quat_mi2s_din_active: quat_mi2s_din_active {
mux {
pins = "gpio2", "gpio3";
function = "sec_mi2s";
};
configs {
pins = "gpio2", "gpio3";
drive-strength = <8>; /* 8 MA */
bias-disable; /* No PULL */
output-high;
};
};
quat_mi2s_din_sleep: quat_mi2s_din_sleep {
mux {
pins = "gpio2", "gpio3";
function = "sec_mi2s";
};
configs {
pins = "gpio2", "gpio3";
drive-strength = <2>; /* 2 MA */
bias-pull-down; /* PULL DOWN */
};
};
};
spkr_en {
label = "spkr_en";
spkr_en_active: spkr_en_active {
mux {
pins = "gpio72";
function = "gpio";
};
configs {
pins = "gpio72";
drive-strength = <8>; /* 8 MA */
output-high;
};
};
spkr_en_sleep: spkr_en_sleep {
mux {
pins = "gpio72";
function = "gpio";
};
configs {
pins = "gpio72";
drive-strength = <2>; /* 2 MA */
input-enable; /* PULL DOWN */
};
};
};
};
};