Skip to content

Commit a326b05

Browse files
Wasim Nazirlinusw
authored andcommitted
pinctrl: qcom: sa8775p: Enable egpio function
Egpio feature allows IsLand Domain IOs to be reused as TLMM GPIOs. sa8775p supports egpio feature for GPIOs ranging from 126 to 148. Signed-off-by: Wasim Nazir <quic_wasimn@quicinc.com> Reviewed-by: Dmitry Baryshkov <lumag@kernel.org> Link: https://lore.kernel.org/20250312072509.3247885-3-quic_wasimn@quicinc.com Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
1 parent dc4a702 commit a326b05

File tree

1 file changed

+34
-24
lines changed

1 file changed

+34
-24
lines changed

drivers/pinctrl/qcom/pinctrl-sa8775p.c

Lines changed: 34 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
// SPDX-License-Identifier: GPL-2.0-only
22
/*
3-
* Copyright (c) 2022, Qualcomm Innovation Center, Inc. All rights reserved.
3+
* Copyright (c) 2022,2025, Qualcomm Innovation Center, Inc. All rights reserved.
44
* Copyright (c) 2023, Linaro Limited
55
*/
66

@@ -467,6 +467,7 @@ enum sa8775p_functions {
467467
msm_mux_edp2_lcd,
468468
msm_mux_edp3_hot,
469469
msm_mux_edp3_lcd,
470+
msm_mux_egpio,
470471
msm_mux_emac0_mcg0,
471472
msm_mux_emac0_mcg1,
472473
msm_mux_emac0_mcg2,
@@ -744,6 +745,13 @@ static const char * const edp3_lcd_groups[] = {
744745
"gpio49",
745746
};
746747

748+
static const char *const egpio_groups[] = {
749+
"gpio126", "gpio127", "gpio128", "gpio129", "gpio130", "gpio131",
750+
"gpio132", "gpio133", "gpio134", "gpio135", "gpio136", "gpio137",
751+
"gpio138", "gpio139", "gpio140", "gpio141", "gpio142", "gpio143",
752+
"gpio144", "gpio145", "gpio146", "gpio147", "gpio148",
753+
};
754+
747755
static const char * const emac0_mcg0_groups[] = {
748756
"gpio12",
749757
};
@@ -1209,6 +1217,7 @@ static const struct pinfunction sa8775p_functions[] = {
12091217
MSM_PIN_FUNCTION(edp2_lcd),
12101218
MSM_PIN_FUNCTION(edp3_hot),
12111219
MSM_PIN_FUNCTION(edp3_lcd),
1220+
MSM_PIN_FUNCTION(egpio),
12121221
MSM_PIN_FUNCTION(emac0_mcg0),
12131222
MSM_PIN_FUNCTION(emac0_mcg1),
12141223
MSM_PIN_FUNCTION(emac0_mcg2),
@@ -1454,29 +1463,29 @@ static const struct msm_pingroup sa8775p_groups[] = {
14541463
[123] = PINGROUP(123, hs2_mi2s, phase_flag, _, _, _, _, _, _, _),
14551464
[124] = PINGROUP(124, hs2_mi2s, phase_flag, _, _, _, _, _, _, _),
14561465
[125] = PINGROUP(125, hs2_mi2s, phase_flag, _, _, _, _, _, _, _),
1457-
[126] = PINGROUP(126, _, _, _, _, _, _, _, _, _),
1458-
[127] = PINGROUP(127, _, _, _, _, _, _, _, _, _),
1459-
[128] = PINGROUP(128, _, _, _, _, _, _, _, _, _),
1460-
[129] = PINGROUP(129, _, _, _, _, _, _, _, _, _),
1461-
[130] = PINGROUP(130, _, _, _, _, _, _, _, _, _),
1462-
[131] = PINGROUP(131, _, _, _, _, _, _, _, _, _),
1463-
[132] = PINGROUP(132, _, _, _, _, _, _, _, _, _),
1464-
[133] = PINGROUP(133, _, _, _, _, _, _, _, _, _),
1465-
[134] = PINGROUP(134, _, _, _, _, _, _, _, _, _),
1466-
[135] = PINGROUP(135, _, _, _, _, _, _, _, _, _),
1467-
[136] = PINGROUP(136, _, _, _, _, _, _, _, _, _),
1468-
[137] = PINGROUP(137, _, _, _, _, _, _, _, _, _),
1469-
[138] = PINGROUP(138, _, _, _, _, _, _, _, _, _),
1470-
[139] = PINGROUP(139, _, _, _, _, _, _, _, _, _),
1471-
[140] = PINGROUP(140, _, _, _, _, _, _, _, _, _),
1472-
[141] = PINGROUP(141, _, _, _, _, _, _, _, _, _),
1473-
[142] = PINGROUP(142, _, _, _, _, _, _, _, _, _),
1474-
[143] = PINGROUP(143, _, _, _, _, _, _, _, _, _),
1475-
[144] = PINGROUP(144, dbg_out, _, _, _, _, _, _, _, _),
1476-
[145] = PINGROUP(145, _, _, _, _, _, _, _, _, _),
1477-
[146] = PINGROUP(146, _, _, _, _, _, _, _, _, _),
1478-
[147] = PINGROUP(147, _, _, _, _, _, _, _, _, _),
1479-
[148] = PINGROUP(148, _, _, _, _, _, _, _, _, _),
1466+
[126] = PINGROUP(126, _, _, _, _, _, _, _, _, egpio),
1467+
[127] = PINGROUP(127, _, _, _, _, _, _, _, _, egpio),
1468+
[128] = PINGROUP(128, _, _, _, _, _, _, _, _, egpio),
1469+
[129] = PINGROUP(129, _, _, _, _, _, _, _, _, egpio),
1470+
[130] = PINGROUP(130, _, _, _, _, _, _, _, _, egpio),
1471+
[131] = PINGROUP(131, _, _, _, _, _, _, _, _, egpio),
1472+
[132] = PINGROUP(132, _, _, _, _, _, _, _, _, egpio),
1473+
[133] = PINGROUP(133, _, _, _, _, _, _, _, _, egpio),
1474+
[134] = PINGROUP(134, _, _, _, _, _, _, _, _, egpio),
1475+
[135] = PINGROUP(135, _, _, _, _, _, _, _, _, egpio),
1476+
[136] = PINGROUP(136, _, _, _, _, _, _, _, _, egpio),
1477+
[137] = PINGROUP(137, _, _, _, _, _, _, _, _, egpio),
1478+
[138] = PINGROUP(138, _, _, _, _, _, _, _, _, egpio),
1479+
[139] = PINGROUP(139, _, _, _, _, _, _, _, _, egpio),
1480+
[140] = PINGROUP(140, _, _, _, _, _, _, _, _, egpio),
1481+
[141] = PINGROUP(141, _, _, _, _, _, _, _, _, egpio),
1482+
[142] = PINGROUP(142, _, _, _, _, _, _, _, _, egpio),
1483+
[143] = PINGROUP(143, _, _, _, _, _, _, _, _, egpio),
1484+
[144] = PINGROUP(144, dbg_out, _, _, _, _, _, _, _, egpio),
1485+
[145] = PINGROUP(145, _, _, _, _, _, _, _, _, egpio),
1486+
[146] = PINGROUP(146, _, _, _, _, _, _, _, _, egpio),
1487+
[147] = PINGROUP(147, _, _, _, _, _, _, _, _, egpio),
1488+
[148] = PINGROUP(148, _, _, _, _, _, _, _, _, egpio),
14801489
[149] = UFS_RESET(ufs_reset, 0x1a2000),
14811490
[150] = SDC_QDSD_PINGROUP(sdc1_rclk, 0x199000, 15, 0),
14821491
[151] = SDC_QDSD_PINGROUP(sdc1_clk, 0x199000, 13, 6),
@@ -1511,6 +1520,7 @@ static const struct msm_pinctrl_soc_data sa8775p_pinctrl = {
15111520
.ngpios = 150,
15121521
.wakeirq_map = sa8775p_pdc_map,
15131522
.nwakeirq_map = ARRAY_SIZE(sa8775p_pdc_map),
1523+
.egpio_func = 9,
15141524
};
15151525

15161526
static int sa8775p_pinctrl_probe(struct platform_device *pdev)

0 commit comments

Comments
 (0)