M7350/kernel/arch/arm/boot/dts/qcom/mdmcalifornium-pinctrl.dtsi
2024-09-09 08:57:42 +00:00

781 lines
14 KiB
Plaintext

/* Copyright (c) 2015, 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_pinmux: pinctrl@1000000 {
compatible = "qcom,mdmcalifornium-pinctrl";
reg = <0x1000000 0x300000>;
interrupts = <0 208 0>;
gpio-controller;
#gpio-cells = <2>;
interrupt-controller;
#interrupt-cells = <2>;
uart2_console_active: uart2_console_active {
mux {
pins = "gpio4", "gpio5";
function = "blsp_uart2";
};
config {
pins = "gpio4", "gpio5";
drive-strength = <2>;
bias-disable;
};
};
uart3_console_active: uart3_console_active {
mux {
pins = "gpio8", "gpio9";
function = "blsp_uart3";
};
config {
pins = "gpio8", "gpio9";
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_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_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_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;
};
};
};
cnss_pins {
cnss_default: cnss_default {
mux {
pins = "gpio95";
function = "gpio";
};
config {
pins = "gpio95";
drive-strength = <16>;
bias-pull-down;
};
};
};
/* SPI CONFIGURATION */
spi_1 {
spi_1_active: spi_1_active {
mux {
pins = "gpio0", "gpio1", "gpio3";
function = "blsp_spi1";
};
config {
pins = "gpio0", "gpio1", "gpio3";
drive-strength = <6>;
bias-disable;
};
};
spi_1_sleep: spi_1_sleep {
mux {
pins = "gpio0", "gpio1", "gpio3";
function = "blsp_spi1";
};
config {
pins = "gpio0", "gpio1", "gpio3";
drive-strength = <6>;
bias-disable;
};
};
};
spi_2 {
spi_2_active: spi_2_active {
mux {
pins = "gpio4", "gpio5", "gpio7";
function = "blsp_spi2";
};
config {
pins = "gpio4", "gpio5", "gpio7";
drive-strength = <6>;
bias-disable;
};
};
spi_2_sleep: spi_2_sleep {
mux {
pins = "gpio4", "gpio5", "gpio7";
function = "blsp_spi2";
};
config {
pins = "gpio4", "gpio5", "gpio7";
drive-strength = <6>;
bias-disable;
};
};
};
spi_3 {
spi_3_active: spi_3_active {
mux {
pins = "gpio8", "gpio9", "gpio11";
function = "blsp_spi3";
};
config {
pins = "gpio8", "gpio9", "gpio11";
drive-strength = <6>;
bias-disable;
};
};
spi_3_sleep: spi_3_sleep {
mux {
pins = "gpio8", "gpio9", "gpio11";
function = "blsp_spi3";
};
config {
pins = "gpio8", "gpio9", "gpio11";
drive-strength = <6>;
bias-disable;
};
};
};
spi_4 {
spi_4_active: spi_4_active {
mux {
pins = "gpio16", "gpio17", "gpio19";
function = "blsp_spi4";
};
config {
pins = "gpio16", "gpio17", "gpio19";
drive-strength = <6>;
bias-disable;
};
};
spi_4_sleep: spi_4_sleep {
mux {
pins = "gpio16", "gpio17", "gpio19";
function = "blsp_spi4";
};
config {
pins = "gpio16", "gpio17", "gpio19";
drive-strength = <6>;
bias-disable;
};
};
};
/* SMB CONFIGURATION */
pmx_smb_stat {
smb_stat_active: smb_stat_active {
mux {
pins = "gpio83";
function = "gpio";
};
config {
pins = "gpio83";
drive-strength = <2>;
bias-disable;
};
};
};
pcie0 {
pcie0_clkreq_default: pcie0_clkreq_default {
mux {
pins = "gpio64";
function = "pcie_clkreq";
};
config {
pins = "gpio64";
drive-strength = <2>;
bias-pull-up;
};
};
pcie0_perst_default: pcie0_perst_default {
mux {
pins = "gpio60";
function = "gpio";
};
config {
pins = "gpio60";
drive-strength = <2>;
bias-pull-down;
};
};
pcie0_wake_default: pcie0_wake_default {
mux {
pins = "gpio65";
function = "gpio";
};
config {
pins = "gpio65";
drive-strength = <2>;
bias-pull-down;
};
};
pcie0_mdm2apstatus_default: pcie0_mdm2apstatus_default {
mux {
pins = "gpio16";
function = "gpio";
};
config {
pins = "gpio16";
drive-strength = <2>;
bias-pull-down;
};
};
};
/* UART HS 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;
};
};
blsp1_uart3_active: blsp1_uart3_active {
mux {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
function = "blsp_uart3";
};
config {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
drive-strength = <2>;
bias-disable;
};
};
blsp1_uart3_sleep: blsp1_uart3_sleep {
mux {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
function = "gpio";
};
config {
pins = "gpio8", "gpio9", "gpio10", "gpio11";
drive-strength = <2>;
bias-disable;
};
};
blsp1_uart4_active: blsp1_uart4_active {
mux {
pins = "gpio12", "gpio13", "gpio14", "gpio15";
function = "blsp_uart4";
};
config {
pins = "gpio12", "gpio13", "gpio14", "gpio15";
drive-strength = <2>;
bias-disable;
};
};
blsp1_uart4_sleep: blsp1_uart4_sleep {
mux {
pins = "gpio12", "gpio13", "gpio14", "gpio15";
function = "gpio";
};
config {
pins = "gpio12", "gpio13", "gpio14", "gpio15";
drive-strength = <2>;
bias-disable;
};
};
mdss_cs_active: mdss_cs_active {
mux {
pins = "gpio21";
function = "ebi2_lcd";
};
config {
pins = "gpio21";
drive-strength = <10>; /* 10 mA */
bias-disable; /* NO pull */
};
};
mdss_cs_sleep: mdss_cs_sleep {
mux {
pins = "gpio21";
function = "ebi2_lcd";
};
config {
pins = "gpio21";
drive-strength = <2>; /* 2 mA */
bias-disable; /* NO pull */
};
};
mdss_te_active: mdss_te_active {
mux {
pins = "gpio22";
function = "ebi2_lcd";
};
config {
pins = "gpio22";
drive-strength = <10>; /* 10 mA */
bias-disable; /* NO pull */
};
};
mdss_te_sleep: mdss_te_sleep {
mux {
pins = "gpio22";
function = "ebi2_lcd";
};
config {
pins = "gpio22";
drive-strength = <2>; /* 2 mA */
bias-disable; /* NO pull */
};
};
mdss_rs_active: mdss_rs_active {
mux {
pins = "gpio23";
function = "ebi2_lcd";
};
config {
pins = "gpio23";
drive-strength = <10>; /* 10 mA */
bias-disable; /* NO pull */
};
};
mdss_rs_sleep: mdss_rs_sleep {
mux {
pins = "gpio23";
function = "ebi2_lcd";
};
config {
pins = "gpio23";
drive-strength = <2>; /* 2 mA */
bias-disable; /* NO pull */
};
};
mdss_ad_active: mdss_ad_active {
mux {
pins = "gpio20";
function = "ebi2_a";
};
config {
pins = "gpio20";
drive-strength = <10>; /* 10 mA */
bias-disable; /* NO pull */
};
};
mdss_ad_sleep: mdss_ad_sleep {
mux {
pins = "gpio20";
function = "ebi2_a";
};
config {
pins = "gpio20";
drive-strength = <2>; /* 2 mA */
bias-disable; /* NO pull */
};
};
mdss_bl_active: mdss_bl_active {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
drive-strength = <10>; /* 10 mA */
bias-disable; /* NO pull */
output-high;
};
};
mdss_bl_sleep: mdss_bl_sleep {
mux {
pins = "gpio68";
function = "gpio";
};
config {
pins = "gpio68";
drive-strength = <2>; /* 2 mA */
bias-disable; /* NO pull */
output-low;
};
};
i2s_mclk {
i2s_mclk_sleep: i2s_mclk_sleep {
mux {
pins = "gpio71";
function = "i2s_mclk";
};
config {
pins = "gpio71";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
i2s_mclk_active: i2s_mclk_active {
mux {
pins = "gpio71";
function = "i2s_mclk";
};
config {
pins = "gpio71";
drive-strength = <8>; /* 8 mA */
bias-disable; /* NO PULL*/
output-high;
};
};
};
pmx_pri_mi2s_dout {
pri_mi2s_ws_sleep: pri_mi2s_ws_sleep {
mux {
pins = "gpio12";
function = "pri_mi2s_ws_a";
};
config {
pins = "gpio12";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
pri_mi2s_sck_sleep: pri_mi2s_sck_sleep {
mux {
pins = "gpio15";
function = "pri_mi2s_sck_a";
};
config {
pins = "gpio15";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
pri_mi2s_dout_sleep: pri_mi2s_dout_sleep {
mux {
pins = "gpio14";
function = "pri_mi2s_data1_a";
};
config {
pins = "gpio14";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
pri_mi2s_ws_active: pri_mi2s_ws_active {
mux {
pins = "gpio12";
function = "pri_mi2s_ws_a";
};
config {
pins = "gpio12";
drive-strength = <8>; /* 8 mA */
bias-disable; /* NO PULL*/
output-high;
};
};
pri_mi2s_sck_active: pri_mi2s_sck_active {
mux {
pins = "gpio15";
function = "pri_mi2s_sck_a";
};
config {
pins = "gpio15";
drive-strength = <8>; /* 8 mA */
bias-disable; /* NO PULL*/
output-high;
};
};
pri_mi2s_dout_active: pri_mi2s_dout_active {
mux {
pins = "gpio14";
function = "pri_mi2s_data1_a";
};
config {
pins = "gpio14";
drive-strength = <8>; /* 8 mA */
bias-disable; /* NO PULL*/
output-high;
};
};
};
pmx_pri_mi2s_din {
pri_mi2s_din_sleep: pri_mi2s_din_sleep {
mux {
pins = "gpio13";
function = "pri_mi2s_data0_a";
};
config {
pins = "gpio13";
drive-strength = <2>; /* 2 mA */
bias-pull-down; /* PULL DOWN */
};
};
pri_mi2s_din_active: pri_mi2s_din_active {
mux {
pins = "gpio13";
function = "pri_mi2s_data0_a";
};
config {
pins = "gpio13";
drive-strength = <8>; /* 8 mA */
bias-disable; /* NO PULL */
};
};
};
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 */
};
};
};
};