On Tue 26 Oct 05:07 PDT 2021, Rajendra Nayak wrote: > sc7280 supports the egpio feature, GPIOs ranging from 144 to 174 > (31 GPIOs) support it, we define gpio_func to 9, which > is an unused function for all these pins on sc7280. > Reviewed-by: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx> Thanks for reworking these patches, I like the end result. Regards, Bjorn > Signed-off-by: Rajendra Nayak <rnayak@xxxxxxxxxxxxxx> > --- > drivers/pinctrl/qcom/pinctrl-sc7280.c | 75 ++++++++++++++++++++--------------- > 1 file changed, 44 insertions(+), 31 deletions(-) > > diff --git a/drivers/pinctrl/qcom/pinctrl-sc7280.c b/drivers/pinctrl/qcom/pinctrl-sc7280.c > index 9017ede..31df55c 100644 > --- a/drivers/pinctrl/qcom/pinctrl-sc7280.c > +++ b/drivers/pinctrl/qcom/pinctrl-sc7280.c > @@ -43,6 +43,8 @@ > .mux_bit = 2, \ > .pull_bit = 0, \ > .drv_bit = 6, \ > + .egpio_enable = 12, \ > + .egpio_present = 11, \ > .oe_bit = 9, \ > .in_bit = 0, \ > .out_bit = 1, \ > @@ -520,6 +522,7 @@ enum sc7280_functions { > msm_mux_dp_lcd, > msm_mux_edp_hot, > msm_mux_edp_lcd, > + msm_mux_egpio, > msm_mux_gcc_gp1, > msm_mux_gcc_gp2, > msm_mux_gcc_gp3, > @@ -658,6 +661,14 @@ static const char * const gpio_groups[] = { > "gpio165", "gpio166", "gpio167", "gpio168", "gpio169", "gpio170", > "gpio171", "gpio172", "gpio173", "gpio174", > }; > +static const char * const egpio_groups[] = { > + "gpio144", "gpio145", "gpio146", "gpio147", "gpio148", "gpio149", > + "gpio150", "gpio151", "gpio152", "gpio153", "gpio154", "gpio155", > + "gpio156", "gpio157", "gpio158", "gpio159", "gpio160", "gpio161", > + "gpio162", "gpio163", "gpio164", "gpio165", "gpio166", "gpio167", > + "gpio168", "gpio169", "gpio170", "gpio171", "gpio172", "gpio173", > + "gpio174", > +}; > static const char * const atest_char_groups[] = { > "gpio81", > }; > @@ -1150,6 +1161,7 @@ static const struct msm_function sc7280_functions[] = { > FUNCTION(dp_lcd), > FUNCTION(edp_hot), > FUNCTION(edp_lcd), > + FUNCTION(egpio), > FUNCTION(gcc_gp1), > FUNCTION(gcc_gp2), > FUNCTION(gcc_gp3), > @@ -1408,37 +1420,37 @@ static const struct msm_pingroup sc7280_groups[] = { > [141] = PINGROUP(141, _, _, _, _, _, _, _, _, _), > [142] = PINGROUP(142, _, _, _, _, _, _, _, _, _), > [143] = PINGROUP(143, _, _, _, _, _, _, _, _, _), > - [144] = PINGROUP(144, _, _, _, _, _, _, _, _, _), > - [145] = PINGROUP(145, _, _, _, _, _, _, _, _, _), > - [146] = PINGROUP(146, _, _, _, _, _, _, _, _, _), > - [147] = PINGROUP(147, _, _, _, _, _, _, _, _, _), > - [148] = PINGROUP(148, _, _, _, _, _, _, _, _, _), > - [149] = PINGROUP(149, _, _, _, _, _, _, _, _, _), > - [150] = PINGROUP(150, qdss, _, _, _, _, _, _, _, _), > - [151] = PINGROUP(151, qdss, _, _, _, _, _, _, _, _), > - [152] = PINGROUP(152, qdss, _, _, _, _, _, _, _, _), > - [153] = PINGROUP(153, qdss, _, _, _, _, _, _, _, _), > - [154] = PINGROUP(154, _, _, _, _, _, _, _, _, _), > - [155] = PINGROUP(155, _, _, _, _, _, _, _, _, _), > - [156] = PINGROUP(156, qdss_cti, _, _, _, _, _, _, _, _), > - [157] = PINGROUP(157, qdss_cti, _, _, _, _, _, _, _, _), > - [158] = PINGROUP(158, _, _, _, _, _, _, _, _, _), > - [159] = PINGROUP(159, _, _, _, _, _, _, _, _, _), > - [160] = PINGROUP(160, _, _, _, _, _, _, _, _, _), > - [161] = PINGROUP(161, _, _, _, _, _, _, _, _, _), > - [162] = PINGROUP(162, _, _, _, _, _, _, _, _, _), > - [163] = PINGROUP(163, _, _, _, _, _, _, _, _, _), > - [164] = PINGROUP(164, _, _, _, _, _, _, _, _, _), > - [165] = PINGROUP(165, qdss_cti, _, _, _, _, _, _, _, _), > - [166] = PINGROUP(166, qdss_cti, _, _, _, _, _, _, _, _), > - [167] = PINGROUP(167, _, _, _, _, _, _, _, _, _), > - [168] = PINGROUP(168, _, _, _, _, _, _, _, _, _), > - [169] = PINGROUP(169, _, _, _, _, _, _, _, _, _), > - [170] = PINGROUP(170, _, _, _, _, _, _, _, _, _), > - [171] = PINGROUP(171, qdss, _, _, _, _, _, _, _, _), > - [172] = PINGROUP(172, qdss, _, _, _, _, _, _, _, _), > - [173] = PINGROUP(173, qdss, _, _, _, _, _, _, _, _), > - [174] = PINGROUP(174, qdss, _, _, _, _, _, _, _, _), > + [144] = PINGROUP(144, _, _, _, _, _, _, _, _, egpio), > + [145] = PINGROUP(145, _, _, _, _, _, _, _, _, egpio), > + [146] = PINGROUP(146, _, _, _, _, _, _, _, _, egpio), > + [147] = PINGROUP(147, _, _, _, _, _, _, _, _, egpio), > + [148] = PINGROUP(148, _, _, _, _, _, _, _, _, egpio), > + [149] = PINGROUP(149, _, _, _, _, _, _, _, _, egpio), > + [150] = PINGROUP(150, qdss, _, _, _, _, _, _, _, egpio), > + [151] = PINGROUP(151, qdss, _, _, _, _, _, _, _, egpio), > + [152] = PINGROUP(152, qdss, _, _, _, _, _, _, _, egpio), > + [153] = PINGROUP(153, qdss, _, _, _, _, _, _, _, egpio), > + [154] = PINGROUP(154, _, _, _, _, _, _, _, _, egpio), > + [155] = PINGROUP(155, _, _, _, _, _, _, _, _, egpio), > + [156] = PINGROUP(156, qdss_cti, _, _, _, _, _, _, _, egpio), > + [157] = PINGROUP(157, qdss_cti, _, _, _, _, _, _, _, egpio), > + [158] = PINGROUP(158, _, _, _, _, _, _, _, _, egpio), > + [159] = PINGROUP(159, _, _, _, _, _, _, _, _, egpio), > + [160] = PINGROUP(160, _, _, _, _, _, _, _, _, egpio), > + [161] = PINGROUP(161, _, _, _, _, _, _, _, _, egpio), > + [162] = PINGROUP(162, _, _, _, _, _, _, _, _, egpio), > + [163] = PINGROUP(163, _, _, _, _, _, _, _, _, egpio), > + [164] = PINGROUP(164, _, _, _, _, _, _, _, _, egpio), > + [165] = PINGROUP(165, qdss_cti, _, _, _, _, _, _, _, egpio), > + [166] = PINGROUP(166, qdss_cti, _, _, _, _, _, _, _, egpio), > + [167] = PINGROUP(167, _, _, _, _, _, _, _, _, egpio), > + [168] = PINGROUP(168, _, _, _, _, _, _, _, _, egpio), > + [169] = PINGROUP(169, _, _, _, _, _, _, _, _, egpio), > + [170] = PINGROUP(170, _, _, _, _, _, _, _, _, egpio), > + [171] = PINGROUP(171, qdss, _, _, _, _, _, _, _, egpio), > + [172] = PINGROUP(172, qdss, _, _, _, _, _, _, _, egpio), > + [173] = PINGROUP(173, qdss, _, _, _, _, _, _, _, egpio), > + [174] = PINGROUP(174, qdss, _, _, _, _, _, _, _, egpio), > [175] = UFS_RESET(ufs_reset, 0xbe000), > [176] = SDC_QDSD_PINGROUP(sdc1_rclk, 0xb3004, 0, 6), > [177] = SDC_QDSD_PINGROUP(sdc1_clk, 0xb3000, 13, 6), > @@ -1481,6 +1493,7 @@ static const struct msm_pinctrl_soc_data sc7280_pinctrl = { > .ngpios = 176, > .wakeirq_map = sc7280_pdc_map, > .nwakeirq_map = ARRAY_SIZE(sc7280_pdc_map), > + .egpio_func = 9, > }; > > static int sc7280_pinctrl_probe(struct platform_device *pdev) > -- > QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member > of Code Aurora Forum, hosted by The Linux Foundation >