mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-29 19:21:31 -04:00
pinctrl: qcom: Make muxing of gpio function explicit
Instead of relying on pinmux->disable(), make the gpio function an explicit function for all pins that supports it. Signed-off-by: Bjorn Andersson <[email protected]> Signed-off-by: Linus Walleij <[email protected]>
This commit is contained in:
parent
3a19805920
commit
144ef62645
8 changed files with 96 additions and 9 deletions
|
|
@ -230,7 +230,7 @@ static const unsigned int sdc3_data_pins[] = { 95 };
|
|||
.pins = gpio##id##_pins, \
|
||||
.npins = ARRAY_SIZE(gpio##id##_pins), \
|
||||
.funcs = (int[]){ \
|
||||
APQ_MUX_NA, /* gpio mode */ \
|
||||
APQ_MUX_gpio, \
|
||||
APQ_MUX_##f1, \
|
||||
APQ_MUX_##f2, \
|
||||
APQ_MUX_##f3, \
|
||||
|
|
@ -293,6 +293,7 @@ enum apq8064_functions {
|
|||
APQ_MUX_cam_mclk,
|
||||
APQ_MUX_codec_mic_i2s,
|
||||
APQ_MUX_codec_spkr_i2s,
|
||||
APQ_MUX_gpio,
|
||||
APQ_MUX_gsbi1,
|
||||
APQ_MUX_gsbi2,
|
||||
APQ_MUX_gsbi3,
|
||||
|
|
@ -335,6 +336,21 @@ static const char * const codec_mic_i2s_groups[] = {
|
|||
static const char * const codec_spkr_i2s_groups[] = {
|
||||
"gpio39", "gpio40", "gpio41", "gpio42"
|
||||
};
|
||||
static const char * const gpio_groups[] = {
|
||||
"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
|
||||
"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
|
||||
"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
|
||||
"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
|
||||
"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
|
||||
"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
|
||||
"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
|
||||
"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
|
||||
"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
|
||||
"gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
|
||||
"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
|
||||
"gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84",
|
||||
"gpio85", "gpio86", "gpio87", "gpio88", "gpio89"
|
||||
};
|
||||
static const char * const gsbi1_groups[] = {
|
||||
"gpio18", "gpio19", "gpio20", "gpio21"
|
||||
};
|
||||
|
|
@ -430,6 +446,7 @@ static const struct msm_function apq8064_functions[] = {
|
|||
FUNCTION(cam_mclk),
|
||||
FUNCTION(codec_mic_i2s),
|
||||
FUNCTION(codec_spkr_i2s),
|
||||
FUNCTION(gpio),
|
||||
FUNCTION(gsbi1),
|
||||
FUNCTION(gsbi2),
|
||||
FUNCTION(gsbi3),
|
||||
|
|
|
|||
|
|
@ -183,7 +183,7 @@ static const unsigned int sdc3_data_pins[] = { 71 };
|
|||
.pins = gpio##id##_pins, \
|
||||
.npins = ARRAY_SIZE(gpio##id##_pins), \
|
||||
.funcs = (int[]){ \
|
||||
IPQ_MUX_NA, /* gpio mode */ \
|
||||
IPQ_MUX_gpio, \
|
||||
IPQ_MUX_##f1, \
|
||||
IPQ_MUX_##f2, \
|
||||
IPQ_MUX_##f3, \
|
||||
|
|
@ -243,6 +243,7 @@ static const unsigned int sdc3_data_pins[] = { 71 };
|
|||
}
|
||||
|
||||
enum ipq8064_functions {
|
||||
IPQ_MUX_gpio,
|
||||
IPQ_MUX_mdio,
|
||||
IPQ_MUX_mi2s,
|
||||
IPQ_MUX_pdm,
|
||||
|
|
@ -291,6 +292,19 @@ enum ipq8064_functions {
|
|||
IPQ_MUX_NA,
|
||||
};
|
||||
|
||||
static const char * const gpio_groups[] = {
|
||||
"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
|
||||
"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
|
||||
"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
|
||||
"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
|
||||
"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
|
||||
"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
|
||||
"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
|
||||
"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
|
||||
"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
|
||||
"gpio64", "gpio65", "gpio66", "gpio67", "gpio68"
|
||||
};
|
||||
|
||||
static const char * const mdio_groups[] = {
|
||||
"gpio0", "gpio1", "gpio10", "gpio11",
|
||||
};
|
||||
|
|
@ -481,6 +495,7 @@ static const char * const ps_hold_groups[] = {
|
|||
};
|
||||
|
||||
static const struct msm_function ipq8064_functions[] = {
|
||||
FUNCTION(gpio),
|
||||
FUNCTION(mdio),
|
||||
FUNCTION(ssbi),
|
||||
FUNCTION(spmi),
|
||||
|
|
|
|||
|
|
@ -355,7 +355,7 @@ static const unsigned int sdc3_data_pins[] = { 157 };
|
|||
.pins = gpio##id##_pins, \
|
||||
.npins = ARRAY_SIZE(gpio##id##_pins), \
|
||||
.funcs = (int[]){ \
|
||||
MSM_MUX_NA, /* gpio mode */ \
|
||||
MSM_MUX_gpio, \
|
||||
MSM_MUX_##f1, \
|
||||
MSM_MUX_##f2, \
|
||||
MSM_MUX_##f3, \
|
||||
|
|
@ -441,6 +441,7 @@ enum msm8960_functions {
|
|||
MSM_MUX_gp_pdm_1b,
|
||||
MSM_MUX_gp_pdm_2a,
|
||||
MSM_MUX_gp_pdm_2b,
|
||||
MSM_MUX_gpio,
|
||||
MSM_MUX_gsbi1,
|
||||
MSM_MUX_gsbi1_spi_cs1_n,
|
||||
MSM_MUX_gsbi1_spi_cs2a_n,
|
||||
|
|
@ -622,6 +623,32 @@ static const char * const gp_pdm_2b_groups[] = {
|
|||
"gpio53"
|
||||
};
|
||||
|
||||
static const char * const gpio_groups[] = {
|
||||
"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
|
||||
"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
|
||||
"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
|
||||
"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
|
||||
"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
|
||||
"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
|
||||
"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
|
||||
"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
|
||||
"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
|
||||
"gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
|
||||
"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
|
||||
"gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84",
|
||||
"gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91",
|
||||
"gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98",
|
||||
"gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104",
|
||||
"gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110",
|
||||
"gpio111", "gpio112", "gpio113", "gpio114", "gpio115", "gpio116",
|
||||
"gpio117", "gpio118", "gpio119", "gpio120", "gpio121", "gpio122",
|
||||
"gpio123", "gpio124", "gpio125", "gpio126", "gpio127", "gpio128",
|
||||
"gpio129", "gpio130", "gpio131", "gpio132", "gpio133", "gpio134",
|
||||
"gpio135", "gpio136", "gpio137", "gpio138", "gpio139", "gpio140",
|
||||
"gpio141", "gpio142", "gpio143", "gpio144", "gpio145", "gpio146",
|
||||
"gpio147", "gpio148", "gpio149", "gpio150", "gpio151"
|
||||
};
|
||||
|
||||
static const char * const gsbi1_groups[] = {
|
||||
"gpio6", "gpio7", "gpio8", "gpio9"
|
||||
};
|
||||
|
|
@ -961,6 +988,7 @@ static const struct msm_function msm8960_functions[] = {
|
|||
FUNCTION(gp_pdm_1b),
|
||||
FUNCTION(gp_pdm_2a),
|
||||
FUNCTION(gp_pdm_2b),
|
||||
FUNCTION(gpio),
|
||||
FUNCTION(gsbi1),
|
||||
FUNCTION(gsbi1_spi_cs1_n),
|
||||
FUNCTION(gsbi1_spi_cs2a_n),
|
||||
|
|
|
|||
|
|
@ -342,7 +342,7 @@ static const unsigned int sdc2_data_pins[] = { 151 };
|
|||
.pins = gpio##id##_pins, \
|
||||
.npins = ARRAY_SIZE(gpio##id##_pins), \
|
||||
.funcs = (int[]){ \
|
||||
MSM_MUX_NA, /* gpio mode */ \
|
||||
MSM_MUX_gpio, \
|
||||
MSM_MUX_##f1, \
|
||||
MSM_MUX_##f2, \
|
||||
MSM_MUX_##f3, \
|
||||
|
|
@ -402,6 +402,7 @@ static const unsigned int sdc2_data_pins[] = { 151 };
|
|||
* the pingroup table below.
|
||||
*/
|
||||
enum msm8x74_functions {
|
||||
MSM_MUX_gpio,
|
||||
MSM_MUX_cci_i2c0,
|
||||
MSM_MUX_cci_i2c1,
|
||||
MSM_MUX_blsp_i2c1,
|
||||
|
|
@ -509,6 +510,31 @@ enum msm8x74_functions {
|
|||
MSM_MUX_NA,
|
||||
};
|
||||
|
||||
static const char * const gpio_groups[] = {
|
||||
"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
|
||||
"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
|
||||
"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
|
||||
"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
|
||||
"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
|
||||
"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
|
||||
"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
|
||||
"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
|
||||
"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
|
||||
"gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
|
||||
"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
|
||||
"gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84",
|
||||
"gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91",
|
||||
"gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98",
|
||||
"gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104",
|
||||
"gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110",
|
||||
"gpio111", "gpio112", "gpio113", "gpio114", "gpio115", "gpio116",
|
||||
"gpio117", "gpio118", "gpio119", "gpio120", "gpio121", "gpio122",
|
||||
"gpio123", "gpio124", "gpio125", "gpio126", "gpio127", "gpio128",
|
||||
"gpio129", "gpio130", "gpio131", "gpio132", "gpio133", "gpio134",
|
||||
"gpio135", "gpio136", "gpio137", "gpio138", "gpio139", "gpio140",
|
||||
"gpio141", "gpio142", "gpio143", "gpio144", "gpio145"
|
||||
};
|
||||
|
||||
static const char * const blsp_uart1_groups[] = {
|
||||
"gpio0", "gpio1", "gpio2", "gpio3"
|
||||
};
|
||||
|
|
@ -728,6 +754,7 @@ static const char * const wlan_groups[] = {
|
|||
static const char * const slimbus_groups[] = { "gpio70", "gpio71" };
|
||||
|
||||
static const struct msm_function msm8x74_functions[] = {
|
||||
FUNCTION(gpio),
|
||||
FUNCTION(cci_i2c0),
|
||||
FUNCTION(cci_i2c1),
|
||||
FUNCTION(uim1),
|
||||
|
|
|
|||
Loading…
Reference in a new issue