xref: /linux/drivers/pinctrl/qcom/pinctrl-ipq5210.c (revision faeab166167f5787719eb8683661fd41a3bb1514)
1*a549fe22SKathiravan Thirumoorthy // SPDX-License-Identifier: GPL-2.0-only
2*a549fe22SKathiravan Thirumoorthy /*
3*a549fe22SKathiravan Thirumoorthy  * Copyright (c) Qualcomm Technologies, Inc. and/or its subsidiaries.
4*a549fe22SKathiravan Thirumoorthy  */
5*a549fe22SKathiravan Thirumoorthy 
6*a549fe22SKathiravan Thirumoorthy #include <linux/module.h>
7*a549fe22SKathiravan Thirumoorthy #include <linux/of.h>
8*a549fe22SKathiravan Thirumoorthy #include <linux/platform_device.h>
9*a549fe22SKathiravan Thirumoorthy 
10*a549fe22SKathiravan Thirumoorthy #include "pinctrl-msm.h"
11*a549fe22SKathiravan Thirumoorthy 
12*a549fe22SKathiravan Thirumoorthy #define REG_SIZE 0x1000
13*a549fe22SKathiravan Thirumoorthy #define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9)	      \
14*a549fe22SKathiravan Thirumoorthy 	{                                                             \
15*a549fe22SKathiravan Thirumoorthy 		.grp = PINCTRL_PINGROUP("gpio" #id,                   \
16*a549fe22SKathiravan Thirumoorthy 					gpio##id##_pins,              \
17*a549fe22SKathiravan Thirumoorthy 					ARRAY_SIZE(gpio##id##_pins)), \
18*a549fe22SKathiravan Thirumoorthy 		.ctl_reg = REG_SIZE * id,                             \
19*a549fe22SKathiravan Thirumoorthy 		.io_reg = 0x4 + REG_SIZE * id,                        \
20*a549fe22SKathiravan Thirumoorthy 		.intr_cfg_reg = 0x8 + REG_SIZE * id,                  \
21*a549fe22SKathiravan Thirumoorthy 		.intr_status_reg = 0xc + REG_SIZE * id,               \
22*a549fe22SKathiravan Thirumoorthy 		.mux_bit = 2,                                         \
23*a549fe22SKathiravan Thirumoorthy 		.pull_bit = 0,                                        \
24*a549fe22SKathiravan Thirumoorthy 		.drv_bit = 6,                                         \
25*a549fe22SKathiravan Thirumoorthy 		.oe_bit = 9,                                          \
26*a549fe22SKathiravan Thirumoorthy 		.in_bit = 0,                                          \
27*a549fe22SKathiravan Thirumoorthy 		.out_bit = 1,                                         \
28*a549fe22SKathiravan Thirumoorthy 		.intr_enable_bit = 0,                                 \
29*a549fe22SKathiravan Thirumoorthy 		.intr_status_bit = 0,                                 \
30*a549fe22SKathiravan Thirumoorthy 		.intr_target_bit = 5,                                 \
31*a549fe22SKathiravan Thirumoorthy 		.intr_target_kpss_val = 3,                            \
32*a549fe22SKathiravan Thirumoorthy 		.intr_raw_status_bit = 4,                             \
33*a549fe22SKathiravan Thirumoorthy 		.intr_polarity_bit = 1,                               \
34*a549fe22SKathiravan Thirumoorthy 		.intr_detection_bit = 2,                              \
35*a549fe22SKathiravan Thirumoorthy 		.intr_detection_width = 2,                            \
36*a549fe22SKathiravan Thirumoorthy 		.funcs = (int[]){                                     \
37*a549fe22SKathiravan Thirumoorthy 			msm_mux_gpio, /* gpio mode */                 \
38*a549fe22SKathiravan Thirumoorthy 			msm_mux_##f1,                                 \
39*a549fe22SKathiravan Thirumoorthy 			msm_mux_##f2,                                 \
40*a549fe22SKathiravan Thirumoorthy 			msm_mux_##f3,                                 \
41*a549fe22SKathiravan Thirumoorthy 			msm_mux_##f4,                                 \
42*a549fe22SKathiravan Thirumoorthy 			msm_mux_##f5,                                 \
43*a549fe22SKathiravan Thirumoorthy 			msm_mux_##f6,                                 \
44*a549fe22SKathiravan Thirumoorthy 			msm_mux_##f7,                                 \
45*a549fe22SKathiravan Thirumoorthy 			msm_mux_##f8,                                 \
46*a549fe22SKathiravan Thirumoorthy 			msm_mux_##f9,                                 \
47*a549fe22SKathiravan Thirumoorthy 		},                                                    \
48*a549fe22SKathiravan Thirumoorthy 		.nfuncs = 10,                                         \
49*a549fe22SKathiravan Thirumoorthy 	}
50*a549fe22SKathiravan Thirumoorthy 
51*a549fe22SKathiravan Thirumoorthy static const struct pinctrl_pin_desc ipq5210_pins[] = {
52*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(0, "GPIO_0"),
53*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(1, "GPIO_1"),
54*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(2, "GPIO_2"),
55*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(3, "GPIO_3"),
56*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(4, "GPIO_4"),
57*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(5, "GPIO_5"),
58*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(6, "GPIO_6"),
59*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(7, "GPIO_7"),
60*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(8, "GPIO_8"),
61*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(9, "GPIO_9"),
62*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(10, "GPIO_10"),
63*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(11, "GPIO_11"),
64*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(12, "GPIO_12"),
65*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(13, "GPIO_13"),
66*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(14, "GPIO_14"),
67*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(15, "GPIO_15"),
68*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(16, "GPIO_16"),
69*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(17, "GPIO_17"),
70*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(18, "GPIO_18"),
71*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(19, "GPIO_19"),
72*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(20, "GPIO_20"),
73*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(21, "GPIO_21"),
74*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(22, "GPIO_22"),
75*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(23, "GPIO_23"),
76*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(24, "GPIO_24"),
77*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(25, "GPIO_25"),
78*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(26, "GPIO_26"),
79*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(27, "GPIO_27"),
80*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(28, "GPIO_28"),
81*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(29, "GPIO_29"),
82*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(30, "GPIO_30"),
83*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(31, "GPIO_31"),
84*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(32, "GPIO_32"),
85*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(33, "GPIO_33"),
86*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(34, "GPIO_34"),
87*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(35, "GPIO_35"),
88*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(36, "GPIO_36"),
89*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(37, "GPIO_37"),
90*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(38, "GPIO_38"),
91*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(39, "GPIO_39"),
92*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(40, "GPIO_40"),
93*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(41, "GPIO_41"),
94*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(42, "GPIO_42"),
95*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(43, "GPIO_43"),
96*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(44, "GPIO_44"),
97*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(45, "GPIO_45"),
98*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(46, "GPIO_46"),
99*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(47, "GPIO_47"),
100*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(48, "GPIO_48"),
101*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(49, "GPIO_49"),
102*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(50, "GPIO_50"),
103*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(51, "GPIO_51"),
104*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(52, "GPIO_52"),
105*a549fe22SKathiravan Thirumoorthy 	PINCTRL_PIN(53, "GPIO_53"),
106*a549fe22SKathiravan Thirumoorthy };
107*a549fe22SKathiravan Thirumoorthy 
108*a549fe22SKathiravan Thirumoorthy #define DECLARE_MSM_GPIO_PINS(pin) \
109*a549fe22SKathiravan Thirumoorthy 	static const unsigned int gpio##pin##_pins[] = { pin }
110*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(0);
111*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(1);
112*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(2);
113*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(3);
114*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(4);
115*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(5);
116*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(6);
117*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(7);
118*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(8);
119*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(9);
120*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(10);
121*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(11);
122*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(12);
123*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(13);
124*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(14);
125*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(15);
126*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(16);
127*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(17);
128*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(18);
129*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(19);
130*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(20);
131*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(21);
132*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(22);
133*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(23);
134*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(24);
135*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(25);
136*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(26);
137*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(27);
138*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(28);
139*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(29);
140*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(30);
141*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(31);
142*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(32);
143*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(33);
144*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(34);
145*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(35);
146*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(36);
147*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(37);
148*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(38);
149*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(39);
150*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(40);
151*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(41);
152*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(42);
153*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(43);
154*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(44);
155*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(45);
156*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(46);
157*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(47);
158*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(48);
159*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(49);
160*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(50);
161*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(51);
162*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(52);
163*a549fe22SKathiravan Thirumoorthy DECLARE_MSM_GPIO_PINS(53);
164*a549fe22SKathiravan Thirumoorthy 
165*a549fe22SKathiravan Thirumoorthy enum ipq5210_functions {
166*a549fe22SKathiravan Thirumoorthy 	msm_mux_atest_char_start,
167*a549fe22SKathiravan Thirumoorthy 	msm_mux_atest_char_status0,
168*a549fe22SKathiravan Thirumoorthy 	msm_mux_atest_char_status1,
169*a549fe22SKathiravan Thirumoorthy 	msm_mux_atest_char_status2,
170*a549fe22SKathiravan Thirumoorthy 	msm_mux_atest_char_status3,
171*a549fe22SKathiravan Thirumoorthy 	msm_mux_atest_tic_en,
172*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_pri,
173*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_pri_mclk_out0,
174*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_pri_mclk_in0,
175*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_pri_mclk_out1,
176*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_pri_mclk_in1,
177*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_pri_mclk_out2,
178*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_pri_mclk_in2,
179*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_pri_mclk_out3,
180*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_pri_mclk_in3,
181*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_sec,
182*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_sec_mclk_out0,
183*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_sec_mclk_in0,
184*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_sec_mclk_out1,
185*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_sec_mclk_in1,
186*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_sec_mclk_out2,
187*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_sec_mclk_in2,
188*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_sec_mclk_out3,
189*a549fe22SKathiravan Thirumoorthy 	msm_mux_audio_sec_mclk_in3,
190*a549fe22SKathiravan Thirumoorthy 	msm_mux_core_voltage_0,
191*a549fe22SKathiravan Thirumoorthy 	msm_mux_cri_trng0,
192*a549fe22SKathiravan Thirumoorthy 	msm_mux_cri_trng1,
193*a549fe22SKathiravan Thirumoorthy 	msm_mux_cri_trng2,
194*a549fe22SKathiravan Thirumoorthy 	msm_mux_cri_trng3,
195*a549fe22SKathiravan Thirumoorthy 	msm_mux_dbg_out_clk,
196*a549fe22SKathiravan Thirumoorthy 	msm_mux_dg_out,
197*a549fe22SKathiravan Thirumoorthy 	msm_mux_gcc_plltest_bypassnl,
198*a549fe22SKathiravan Thirumoorthy 	msm_mux_gcc_plltest_resetn,
199*a549fe22SKathiravan Thirumoorthy 	msm_mux_gcc_tlmm,
200*a549fe22SKathiravan Thirumoorthy 	msm_mux_gpio,
201*a549fe22SKathiravan Thirumoorthy 	msm_mux_led0,
202*a549fe22SKathiravan Thirumoorthy 	msm_mux_led1,
203*a549fe22SKathiravan Thirumoorthy 	msm_mux_led2,
204*a549fe22SKathiravan Thirumoorthy 	msm_mux_mdc_mst,
205*a549fe22SKathiravan Thirumoorthy 	msm_mux_mdc_slv0,
206*a549fe22SKathiravan Thirumoorthy 	msm_mux_mdc_slv1,
207*a549fe22SKathiravan Thirumoorthy 	msm_mux_mdc_slv2,
208*a549fe22SKathiravan Thirumoorthy 	msm_mux_mdio_mst,
209*a549fe22SKathiravan Thirumoorthy 	msm_mux_mdio_slv0,
210*a549fe22SKathiravan Thirumoorthy 	msm_mux_mdio_slv1,
211*a549fe22SKathiravan Thirumoorthy 	msm_mux_mdio_slv2,
212*a549fe22SKathiravan Thirumoorthy 	msm_mux_mux_tod_out,
213*a549fe22SKathiravan Thirumoorthy 	msm_mux_pcie0_clk_req_n,
214*a549fe22SKathiravan Thirumoorthy 	msm_mux_pcie0_wake,
215*a549fe22SKathiravan Thirumoorthy 	msm_mux_pcie1_clk_req_n,
216*a549fe22SKathiravan Thirumoorthy 	msm_mux_pcie1_wake,
217*a549fe22SKathiravan Thirumoorthy 	msm_mux_pll_test,
218*a549fe22SKathiravan Thirumoorthy 	msm_mux_pon_active_led,
219*a549fe22SKathiravan Thirumoorthy 	msm_mux_pon_mux_sel,
220*a549fe22SKathiravan Thirumoorthy 	msm_mux_pon_rx,
221*a549fe22SKathiravan Thirumoorthy 	msm_mux_pon_rx_los,
222*a549fe22SKathiravan Thirumoorthy 	msm_mux_pon_tx,
223*a549fe22SKathiravan Thirumoorthy 	msm_mux_pon_tx_burst,
224*a549fe22SKathiravan Thirumoorthy 	msm_mux_pon_tx_dis,
225*a549fe22SKathiravan Thirumoorthy 	msm_mux_pon_tx_fault,
226*a549fe22SKathiravan Thirumoorthy 	msm_mux_pon_tx_sd,
227*a549fe22SKathiravan Thirumoorthy 	msm_mux_gpn_rx_los,
228*a549fe22SKathiravan Thirumoorthy 	msm_mux_gpn_tx_burst,
229*a549fe22SKathiravan Thirumoorthy 	msm_mux_gpn_tx_dis,
230*a549fe22SKathiravan Thirumoorthy 	msm_mux_gpn_tx_fault,
231*a549fe22SKathiravan Thirumoorthy 	msm_mux_gpn_tx_sd,
232*a549fe22SKathiravan Thirumoorthy 	msm_mux_pps,
233*a549fe22SKathiravan Thirumoorthy 	msm_mux_pwm0,
234*a549fe22SKathiravan Thirumoorthy 	msm_mux_pwm1,
235*a549fe22SKathiravan Thirumoorthy 	msm_mux_pwm2,
236*a549fe22SKathiravan Thirumoorthy 	msm_mux_pwm3,
237*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_cti_trig_in_a0,
238*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_cti_trig_in_a1,
239*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_cti_trig_in_b0,
240*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_cti_trig_in_b1,
241*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_cti_trig_out_a0,
242*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_cti_trig_out_a1,
243*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_cti_trig_out_b0,
244*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_cti_trig_out_b1,
245*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_traceclk_a,
246*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_tracectl_a,
247*a549fe22SKathiravan Thirumoorthy 	msm_mux_qdss_tracedata_a,
248*a549fe22SKathiravan Thirumoorthy 	msm_mux_qrng_rosc0,
249*a549fe22SKathiravan Thirumoorthy 	msm_mux_qrng_rosc1,
250*a549fe22SKathiravan Thirumoorthy 	msm_mux_qrng_rosc2,
251*a549fe22SKathiravan Thirumoorthy 	msm_mux_qspi_data,
252*a549fe22SKathiravan Thirumoorthy 	msm_mux_qspi_clk,
253*a549fe22SKathiravan Thirumoorthy 	msm_mux_qspi_cs_n,
254*a549fe22SKathiravan Thirumoorthy 	msm_mux_qup_se0,
255*a549fe22SKathiravan Thirumoorthy 	msm_mux_qup_se1,
256*a549fe22SKathiravan Thirumoorthy 	msm_mux_qup_se2,
257*a549fe22SKathiravan Thirumoorthy 	msm_mux_qup_se3,
258*a549fe22SKathiravan Thirumoorthy 	msm_mux_qup_se4,
259*a549fe22SKathiravan Thirumoorthy 	msm_mux_qup_se5,
260*a549fe22SKathiravan Thirumoorthy 	msm_mux_qup_se5_l1,
261*a549fe22SKathiravan Thirumoorthy 	msm_mux_resout,
262*a549fe22SKathiravan Thirumoorthy 	msm_mux_rx_los0,
263*a549fe22SKathiravan Thirumoorthy 	msm_mux_rx_los1,
264*a549fe22SKathiravan Thirumoorthy 	msm_mux_rx_los2,
265*a549fe22SKathiravan Thirumoorthy 	msm_mux_sdc_clk,
266*a549fe22SKathiravan Thirumoorthy 	msm_mux_sdc_cmd,
267*a549fe22SKathiravan Thirumoorthy 	msm_mux_sdc_data,
268*a549fe22SKathiravan Thirumoorthy 	msm_mux_tsens_max,
269*a549fe22SKathiravan Thirumoorthy 	msm_mux__,
270*a549fe22SKathiravan Thirumoorthy };
271*a549fe22SKathiravan Thirumoorthy 
272*a549fe22SKathiravan Thirumoorthy static const char *const gpio_groups[] = {
273*a549fe22SKathiravan Thirumoorthy 	"gpio0",  "gpio1",  "gpio2",  "gpio3",	"gpio4",  "gpio5",  "gpio6",
274*a549fe22SKathiravan Thirumoorthy 	"gpio7",  "gpio8",  "gpio9",  "gpio10", "gpio11", "gpio12", "gpio13",
275*a549fe22SKathiravan Thirumoorthy 	"gpio14", "gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20",
276*a549fe22SKathiravan Thirumoorthy 	"gpio21", "gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27",
277*a549fe22SKathiravan Thirumoorthy 	"gpio28", "gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34",
278*a549fe22SKathiravan Thirumoorthy 	"gpio35", "gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41",
279*a549fe22SKathiravan Thirumoorthy 	"gpio42", "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48",
280*a549fe22SKathiravan Thirumoorthy 	"gpio49", "gpio50", "gpio51", "gpio52", "gpio53",
281*a549fe22SKathiravan Thirumoorthy };
282*a549fe22SKathiravan Thirumoorthy 
283*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_start_groups[] = {
284*a549fe22SKathiravan Thirumoorthy 	"gpio46",
285*a549fe22SKathiravan Thirumoorthy };
286*a549fe22SKathiravan Thirumoorthy 
287*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_status0_groups[] = {
288*a549fe22SKathiravan Thirumoorthy 	"gpio34",
289*a549fe22SKathiravan Thirumoorthy };
290*a549fe22SKathiravan Thirumoorthy 
291*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_status1_groups[] = {
292*a549fe22SKathiravan Thirumoorthy 	"gpio35",
293*a549fe22SKathiravan Thirumoorthy };
294*a549fe22SKathiravan Thirumoorthy 
295*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_status2_groups[] = {
296*a549fe22SKathiravan Thirumoorthy 	"gpio36",
297*a549fe22SKathiravan Thirumoorthy };
298*a549fe22SKathiravan Thirumoorthy 
299*a549fe22SKathiravan Thirumoorthy static const char *const atest_char_status3_groups[] = {
300*a549fe22SKathiravan Thirumoorthy 	"gpio37",
301*a549fe22SKathiravan Thirumoorthy };
302*a549fe22SKathiravan Thirumoorthy 
303*a549fe22SKathiravan Thirumoorthy static const char *const atest_tic_en_groups[] = {
304*a549fe22SKathiravan Thirumoorthy 	"gpio42",
305*a549fe22SKathiravan Thirumoorthy };
306*a549fe22SKathiravan Thirumoorthy 
307*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_groups[] = {
308*a549fe22SKathiravan Thirumoorthy 	"gpio34", "gpio35", "gpio36", "gpio37",
309*a549fe22SKathiravan Thirumoorthy };
310*a549fe22SKathiravan Thirumoorthy 
311*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_out0_groups[] = {
312*a549fe22SKathiravan Thirumoorthy 	"gpio12",
313*a549fe22SKathiravan Thirumoorthy };
314*a549fe22SKathiravan Thirumoorthy 
315*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_in0_groups[] = {
316*a549fe22SKathiravan Thirumoorthy 	"gpio12",
317*a549fe22SKathiravan Thirumoorthy };
318*a549fe22SKathiravan Thirumoorthy 
319*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_out1_groups[] = {
320*a549fe22SKathiravan Thirumoorthy 	"gpio19",
321*a549fe22SKathiravan Thirumoorthy };
322*a549fe22SKathiravan Thirumoorthy 
323*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_in1_groups[] = {
324*a549fe22SKathiravan Thirumoorthy 	"gpio19",
325*a549fe22SKathiravan Thirumoorthy };
326*a549fe22SKathiravan Thirumoorthy 
327*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_out2_groups[] = {
328*a549fe22SKathiravan Thirumoorthy 	"gpio8",
329*a549fe22SKathiravan Thirumoorthy };
330*a549fe22SKathiravan Thirumoorthy 
331*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_in2_groups[] = {
332*a549fe22SKathiravan Thirumoorthy 	"gpio8",
333*a549fe22SKathiravan Thirumoorthy };
334*a549fe22SKathiravan Thirumoorthy 
335*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_out3_groups[] = {
336*a549fe22SKathiravan Thirumoorthy 	"gpio13",
337*a549fe22SKathiravan Thirumoorthy };
338*a549fe22SKathiravan Thirumoorthy 
339*a549fe22SKathiravan Thirumoorthy static const char *const audio_pri_mclk_in3_groups[] = {
340*a549fe22SKathiravan Thirumoorthy 	"gpio13",
341*a549fe22SKathiravan Thirumoorthy };
342*a549fe22SKathiravan Thirumoorthy 
343*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_out0_groups[] = {
344*a549fe22SKathiravan Thirumoorthy 	"gpio17",
345*a549fe22SKathiravan Thirumoorthy };
346*a549fe22SKathiravan Thirumoorthy 
347*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_in0_groups[] = {
348*a549fe22SKathiravan Thirumoorthy 	"gpio17",
349*a549fe22SKathiravan Thirumoorthy };
350*a549fe22SKathiravan Thirumoorthy 
351*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_out1_groups[] = {
352*a549fe22SKathiravan Thirumoorthy 	"gpio16",
353*a549fe22SKathiravan Thirumoorthy };
354*a549fe22SKathiravan Thirumoorthy 
355*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_in1_groups[] = {
356*a549fe22SKathiravan Thirumoorthy 	"gpio16",
357*a549fe22SKathiravan Thirumoorthy };
358*a549fe22SKathiravan Thirumoorthy 
359*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_out2_groups[] = {
360*a549fe22SKathiravan Thirumoorthy 	"gpio49",
361*a549fe22SKathiravan Thirumoorthy };
362*a549fe22SKathiravan Thirumoorthy 
363*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_in2_groups[] = {
364*a549fe22SKathiravan Thirumoorthy 	"gpio49",
365*a549fe22SKathiravan Thirumoorthy };
366*a549fe22SKathiravan Thirumoorthy 
367*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_out3_groups[] = {
368*a549fe22SKathiravan Thirumoorthy 	"gpio50",
369*a549fe22SKathiravan Thirumoorthy };
370*a549fe22SKathiravan Thirumoorthy 
371*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_mclk_in3_groups[] = {
372*a549fe22SKathiravan Thirumoorthy 	"gpio50",
373*a549fe22SKathiravan Thirumoorthy };
374*a549fe22SKathiravan Thirumoorthy 
375*a549fe22SKathiravan Thirumoorthy static const char *const audio_sec_groups[] = {
376*a549fe22SKathiravan Thirumoorthy 	"gpio40", "gpio41", "gpio42", "gpio43",
377*a549fe22SKathiravan Thirumoorthy };
378*a549fe22SKathiravan Thirumoorthy 
379*a549fe22SKathiravan Thirumoorthy static const char *const core_voltage_0_groups[] = {
380*a549fe22SKathiravan Thirumoorthy 	"gpio22",
381*a549fe22SKathiravan Thirumoorthy };
382*a549fe22SKathiravan Thirumoorthy 
383*a549fe22SKathiravan Thirumoorthy static const char *const cri_trng0_groups[] = {
384*a549fe22SKathiravan Thirumoorthy 	"gpio6",
385*a549fe22SKathiravan Thirumoorthy };
386*a549fe22SKathiravan Thirumoorthy 
387*a549fe22SKathiravan Thirumoorthy static const char *const cri_trng1_groups[] = {
388*a549fe22SKathiravan Thirumoorthy 	"gpio7",
389*a549fe22SKathiravan Thirumoorthy };
390*a549fe22SKathiravan Thirumoorthy 
391*a549fe22SKathiravan Thirumoorthy static const char *const cri_trng2_groups[] = {
392*a549fe22SKathiravan Thirumoorthy 	"gpio8",
393*a549fe22SKathiravan Thirumoorthy };
394*a549fe22SKathiravan Thirumoorthy 
395*a549fe22SKathiravan Thirumoorthy static const char *const cri_trng3_groups[] = {
396*a549fe22SKathiravan Thirumoorthy 	"gpio9",
397*a549fe22SKathiravan Thirumoorthy };
398*a549fe22SKathiravan Thirumoorthy 
399*a549fe22SKathiravan Thirumoorthy static const char *const dbg_out_clk_groups[] = {
400*a549fe22SKathiravan Thirumoorthy 	"gpio23",
401*a549fe22SKathiravan Thirumoorthy };
402*a549fe22SKathiravan Thirumoorthy 
403*a549fe22SKathiravan Thirumoorthy static const char *const dg_out_groups[] = {
404*a549fe22SKathiravan Thirumoorthy 	"gpio46",
405*a549fe22SKathiravan Thirumoorthy };
406*a549fe22SKathiravan Thirumoorthy 
407*a549fe22SKathiravan Thirumoorthy static const char *const gcc_plltest_bypassnl_groups[] = {
408*a549fe22SKathiravan Thirumoorthy 	"gpio38",
409*a549fe22SKathiravan Thirumoorthy };
410*a549fe22SKathiravan Thirumoorthy 
411*a549fe22SKathiravan Thirumoorthy static const char *const gcc_plltest_resetn_groups[] = {
412*a549fe22SKathiravan Thirumoorthy 	"gpio40",
413*a549fe22SKathiravan Thirumoorthy };
414*a549fe22SKathiravan Thirumoorthy 
415*a549fe22SKathiravan Thirumoorthy static const char *const gcc_tlmm_groups[] = {
416*a549fe22SKathiravan Thirumoorthy 	"gpio39",
417*a549fe22SKathiravan Thirumoorthy };
418*a549fe22SKathiravan Thirumoorthy 
419*a549fe22SKathiravan Thirumoorthy static const char *const led0_groups[] = {
420*a549fe22SKathiravan Thirumoorthy 	"gpio6", "gpio23", "gpio39",
421*a549fe22SKathiravan Thirumoorthy };
422*a549fe22SKathiravan Thirumoorthy 
423*a549fe22SKathiravan Thirumoorthy static const char *const led1_groups[] = {
424*a549fe22SKathiravan Thirumoorthy 	"gpio7", "gpio27", "gpio39",
425*a549fe22SKathiravan Thirumoorthy };
426*a549fe22SKathiravan Thirumoorthy 
427*a549fe22SKathiravan Thirumoorthy static const char *const led2_groups[] = {
428*a549fe22SKathiravan Thirumoorthy 	"gpio9", "gpio26", "gpio38",
429*a549fe22SKathiravan Thirumoorthy };
430*a549fe22SKathiravan Thirumoorthy 
431*a549fe22SKathiravan Thirumoorthy static const char *const mdc_mst_groups[] = {
432*a549fe22SKathiravan Thirumoorthy 	"gpio26",
433*a549fe22SKathiravan Thirumoorthy };
434*a549fe22SKathiravan Thirumoorthy 
435*a549fe22SKathiravan Thirumoorthy static const char *const mdc_slv0_groups[] = {
436*a549fe22SKathiravan Thirumoorthy 	"gpio31",
437*a549fe22SKathiravan Thirumoorthy };
438*a549fe22SKathiravan Thirumoorthy 
439*a549fe22SKathiravan Thirumoorthy static const char *const mdc_slv1_groups[] = {
440*a549fe22SKathiravan Thirumoorthy 	"gpio20",
441*a549fe22SKathiravan Thirumoorthy };
442*a549fe22SKathiravan Thirumoorthy 
443*a549fe22SKathiravan Thirumoorthy static const char *const mdc_slv2_groups[] = {
444*a549fe22SKathiravan Thirumoorthy 	"gpio47",
445*a549fe22SKathiravan Thirumoorthy };
446*a549fe22SKathiravan Thirumoorthy 
447*a549fe22SKathiravan Thirumoorthy static const char *const mdio_mst_groups[] = {
448*a549fe22SKathiravan Thirumoorthy 	"gpio27",
449*a549fe22SKathiravan Thirumoorthy };
450*a549fe22SKathiravan Thirumoorthy 
451*a549fe22SKathiravan Thirumoorthy static const char *const mdio_slv0_groups[] = {
452*a549fe22SKathiravan Thirumoorthy 	"gpio33",
453*a549fe22SKathiravan Thirumoorthy };
454*a549fe22SKathiravan Thirumoorthy 
455*a549fe22SKathiravan Thirumoorthy static const char *const mdio_slv1_groups[] = {
456*a549fe22SKathiravan Thirumoorthy 	"gpio21",
457*a549fe22SKathiravan Thirumoorthy };
458*a549fe22SKathiravan Thirumoorthy 
459*a549fe22SKathiravan Thirumoorthy static const char *const mdio_slv2_groups[] = {
460*a549fe22SKathiravan Thirumoorthy 	"gpio49",
461*a549fe22SKathiravan Thirumoorthy };
462*a549fe22SKathiravan Thirumoorthy 
463*a549fe22SKathiravan Thirumoorthy static const char *const mux_tod_out_groups[] = {
464*a549fe22SKathiravan Thirumoorthy 	"gpio19",
465*a549fe22SKathiravan Thirumoorthy };
466*a549fe22SKathiravan Thirumoorthy 
467*a549fe22SKathiravan Thirumoorthy static const char *const pcie0_clk_req_n_groups[] = {
468*a549fe22SKathiravan Thirumoorthy 	"gpio31",
469*a549fe22SKathiravan Thirumoorthy };
470*a549fe22SKathiravan Thirumoorthy 
471*a549fe22SKathiravan Thirumoorthy static const char *const pcie0_wake_groups[] = {
472*a549fe22SKathiravan Thirumoorthy 	"gpio33",
473*a549fe22SKathiravan Thirumoorthy };
474*a549fe22SKathiravan Thirumoorthy 
475*a549fe22SKathiravan Thirumoorthy static const char *const pcie1_clk_req_n_groups[] = {
476*a549fe22SKathiravan Thirumoorthy 	"gpio28",
477*a549fe22SKathiravan Thirumoorthy };
478*a549fe22SKathiravan Thirumoorthy 
479*a549fe22SKathiravan Thirumoorthy static const char *const pcie1_wake_groups[] = {
480*a549fe22SKathiravan Thirumoorthy 	"gpio30",
481*a549fe22SKathiravan Thirumoorthy };
482*a549fe22SKathiravan Thirumoorthy 
483*a549fe22SKathiravan Thirumoorthy static const char *const pll_test_groups[] = {
484*a549fe22SKathiravan Thirumoorthy 	"gpio18",
485*a549fe22SKathiravan Thirumoorthy };
486*a549fe22SKathiravan Thirumoorthy 
487*a549fe22SKathiravan Thirumoorthy static const char *const pon_active_led_groups[] = {
488*a549fe22SKathiravan Thirumoorthy 	"gpio11",
489*a549fe22SKathiravan Thirumoorthy };
490*a549fe22SKathiravan Thirumoorthy 
491*a549fe22SKathiravan Thirumoorthy static const char *const pon_mux_sel_groups[] = {
492*a549fe22SKathiravan Thirumoorthy 	"gpio45",
493*a549fe22SKathiravan Thirumoorthy };
494*a549fe22SKathiravan Thirumoorthy 
495*a549fe22SKathiravan Thirumoorthy static const char *const pon_rx_groups[] = {
496*a549fe22SKathiravan Thirumoorthy 	"gpio48",
497*a549fe22SKathiravan Thirumoorthy };
498*a549fe22SKathiravan Thirumoorthy 
499*a549fe22SKathiravan Thirumoorthy static const char *const pon_rx_los_groups[] = {
500*a549fe22SKathiravan Thirumoorthy 	"gpio10",
501*a549fe22SKathiravan Thirumoorthy };
502*a549fe22SKathiravan Thirumoorthy 
503*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_groups[] = {
504*a549fe22SKathiravan Thirumoorthy 	"gpio15",
505*a549fe22SKathiravan Thirumoorthy };
506*a549fe22SKathiravan Thirumoorthy 
507*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_burst_groups[] = {
508*a549fe22SKathiravan Thirumoorthy 	"gpio14",
509*a549fe22SKathiravan Thirumoorthy };
510*a549fe22SKathiravan Thirumoorthy 
511*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_dis_groups[] = {
512*a549fe22SKathiravan Thirumoorthy 	"gpio12",
513*a549fe22SKathiravan Thirumoorthy };
514*a549fe22SKathiravan Thirumoorthy 
515*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_fault_groups[] = {
516*a549fe22SKathiravan Thirumoorthy 	"gpio17",
517*a549fe22SKathiravan Thirumoorthy };
518*a549fe22SKathiravan Thirumoorthy 
519*a549fe22SKathiravan Thirumoorthy static const char *const pon_tx_sd_groups[] = {
520*a549fe22SKathiravan Thirumoorthy 	"gpio16",
521*a549fe22SKathiravan Thirumoorthy };
522*a549fe22SKathiravan Thirumoorthy 
523*a549fe22SKathiravan Thirumoorthy static const char *const gpn_rx_los_groups[] = {
524*a549fe22SKathiravan Thirumoorthy 	"gpio47",
525*a549fe22SKathiravan Thirumoorthy };
526*a549fe22SKathiravan Thirumoorthy 
527*a549fe22SKathiravan Thirumoorthy static const char *const gpn_tx_burst_groups[] = {
528*a549fe22SKathiravan Thirumoorthy 	"gpio51",
529*a549fe22SKathiravan Thirumoorthy };
530*a549fe22SKathiravan Thirumoorthy 
531*a549fe22SKathiravan Thirumoorthy static const char *const gpn_tx_dis_groups[] = {
532*a549fe22SKathiravan Thirumoorthy 	"gpio13",
533*a549fe22SKathiravan Thirumoorthy };
534*a549fe22SKathiravan Thirumoorthy 
535*a549fe22SKathiravan Thirumoorthy static const char *const gpn_tx_fault_groups[] = {
536*a549fe22SKathiravan Thirumoorthy 	"gpio49",
537*a549fe22SKathiravan Thirumoorthy };
538*a549fe22SKathiravan Thirumoorthy 
539*a549fe22SKathiravan Thirumoorthy static const char *const gpn_tx_sd_groups[] = {
540*a549fe22SKathiravan Thirumoorthy 	"gpio50",
541*a549fe22SKathiravan Thirumoorthy };
542*a549fe22SKathiravan Thirumoorthy 
543*a549fe22SKathiravan Thirumoorthy static const char *const pps_groups[] = {
544*a549fe22SKathiravan Thirumoorthy 	"gpio18",
545*a549fe22SKathiravan Thirumoorthy };
546*a549fe22SKathiravan Thirumoorthy 
547*a549fe22SKathiravan Thirumoorthy static const char *const pwm0_groups[] = {
548*a549fe22SKathiravan Thirumoorthy 	"gpio10", "gpio11", "gpio12", "gpio13",
549*a549fe22SKathiravan Thirumoorthy };
550*a549fe22SKathiravan Thirumoorthy 
551*a549fe22SKathiravan Thirumoorthy static const char *const pwm1_groups[] = {
552*a549fe22SKathiravan Thirumoorthy 	"gpio6", "gpio7", "gpio8", "gpio9",
553*a549fe22SKathiravan Thirumoorthy };
554*a549fe22SKathiravan Thirumoorthy 
555*a549fe22SKathiravan Thirumoorthy static const char *const pwm2_groups[] = {
556*a549fe22SKathiravan Thirumoorthy 	"gpio0", "gpio1", "gpio2", "gpio3",
557*a549fe22SKathiravan Thirumoorthy };
558*a549fe22SKathiravan Thirumoorthy 
559*a549fe22SKathiravan Thirumoorthy static const char *const pwm3_groups[] = {
560*a549fe22SKathiravan Thirumoorthy 	"gpio22",
561*a549fe22SKathiravan Thirumoorthy };
562*a549fe22SKathiravan Thirumoorthy 
563*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_in_a0_groups[] = {
564*a549fe22SKathiravan Thirumoorthy 	"gpio30",
565*a549fe22SKathiravan Thirumoorthy };
566*a549fe22SKathiravan Thirumoorthy 
567*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_in_a1_groups[] = {
568*a549fe22SKathiravan Thirumoorthy 	"gpio33",
569*a549fe22SKathiravan Thirumoorthy };
570*a549fe22SKathiravan Thirumoorthy 
571*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_in_b0_groups[] = {
572*a549fe22SKathiravan Thirumoorthy 	"gpio34",
573*a549fe22SKathiravan Thirumoorthy };
574*a549fe22SKathiravan Thirumoorthy 
575*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_in_b1_groups[] = {
576*a549fe22SKathiravan Thirumoorthy 	"gpio37",
577*a549fe22SKathiravan Thirumoorthy };
578*a549fe22SKathiravan Thirumoorthy 
579*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_out_a0_groups[] = {
580*a549fe22SKathiravan Thirumoorthy 	"gpio28",
581*a549fe22SKathiravan Thirumoorthy };
582*a549fe22SKathiravan Thirumoorthy 
583*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_out_a1_groups[] = {
584*a549fe22SKathiravan Thirumoorthy 	"gpio31",
585*a549fe22SKathiravan Thirumoorthy };
586*a549fe22SKathiravan Thirumoorthy 
587*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_out_b0_groups[] = {
588*a549fe22SKathiravan Thirumoorthy 	"gpio16",
589*a549fe22SKathiravan Thirumoorthy };
590*a549fe22SKathiravan Thirumoorthy 
591*a549fe22SKathiravan Thirumoorthy static const char *const qdss_cti_trig_out_b1_groups[] = {
592*a549fe22SKathiravan Thirumoorthy 	"gpio35",
593*a549fe22SKathiravan Thirumoorthy };
594*a549fe22SKathiravan Thirumoorthy 
595*a549fe22SKathiravan Thirumoorthy static const char *const qdss_traceclk_a_groups[] = {
596*a549fe22SKathiravan Thirumoorthy 	"gpio23",
597*a549fe22SKathiravan Thirumoorthy };
598*a549fe22SKathiravan Thirumoorthy 
599*a549fe22SKathiravan Thirumoorthy static const char *const qdss_tracectl_a_groups[] = {
600*a549fe22SKathiravan Thirumoorthy 	"gpio26",
601*a549fe22SKathiravan Thirumoorthy };
602*a549fe22SKathiravan Thirumoorthy 
603*a549fe22SKathiravan Thirumoorthy static const char *const qdss_tracedata_a_groups[] = {
604*a549fe22SKathiravan Thirumoorthy 	"gpio6",  "gpio7",  "gpio8",  "gpio9",	"gpio10", "gpio11",
605*a549fe22SKathiravan Thirumoorthy 	"gpio12", "gpio13", "gpio14", "gpio15", "gpio20", "gpio21",
606*a549fe22SKathiravan Thirumoorthy 	"gpio38", "gpio39", "gpio40", "gpio41",
607*a549fe22SKathiravan Thirumoorthy };
608*a549fe22SKathiravan Thirumoorthy 
609*a549fe22SKathiravan Thirumoorthy static const char *const qrng_rosc0_groups[] = {
610*a549fe22SKathiravan Thirumoorthy 	"gpio12",
611*a549fe22SKathiravan Thirumoorthy };
612*a549fe22SKathiravan Thirumoorthy 
613*a549fe22SKathiravan Thirumoorthy static const char *const qrng_rosc1_groups[] = {
614*a549fe22SKathiravan Thirumoorthy 	"gpio13",
615*a549fe22SKathiravan Thirumoorthy };
616*a549fe22SKathiravan Thirumoorthy 
617*a549fe22SKathiravan Thirumoorthy static const char *const qrng_rosc2_groups[] = {
618*a549fe22SKathiravan Thirumoorthy 	"gpio14",
619*a549fe22SKathiravan Thirumoorthy };
620*a549fe22SKathiravan Thirumoorthy 
621*a549fe22SKathiravan Thirumoorthy static const char *const qspi_data_groups[] = {
622*a549fe22SKathiravan Thirumoorthy 	"gpio0", "gpio1", "gpio2", "gpio3",
623*a549fe22SKathiravan Thirumoorthy };
624*a549fe22SKathiravan Thirumoorthy 
625*a549fe22SKathiravan Thirumoorthy static const char *const qspi_clk_groups[] = {
626*a549fe22SKathiravan Thirumoorthy 	"gpio5",
627*a549fe22SKathiravan Thirumoorthy };
628*a549fe22SKathiravan Thirumoorthy 
629*a549fe22SKathiravan Thirumoorthy static const char *const qspi_cs_n_groups[] = {
630*a549fe22SKathiravan Thirumoorthy 	"gpio4",
631*a549fe22SKathiravan Thirumoorthy };
632*a549fe22SKathiravan Thirumoorthy 
633*a549fe22SKathiravan Thirumoorthy static const char *const qup_se0_groups[] = {
634*a549fe22SKathiravan Thirumoorthy 	"gpio6", "gpio7", "gpio8", "gpio9", "gpio14", "gpio15",
635*a549fe22SKathiravan Thirumoorthy };
636*a549fe22SKathiravan Thirumoorthy 
637*a549fe22SKathiravan Thirumoorthy static const char *const qup_se1_groups[] = {
638*a549fe22SKathiravan Thirumoorthy 	"gpio28", "gpio30", "gpio38", "gpio39",
639*a549fe22SKathiravan Thirumoorthy };
640*a549fe22SKathiravan Thirumoorthy 
641*a549fe22SKathiravan Thirumoorthy static const char *const qup_se2_groups[] = {
642*a549fe22SKathiravan Thirumoorthy 	"gpio12", "gpio13", "gpio20", "gpio21", "gpio52", "gpio53",
643*a549fe22SKathiravan Thirumoorthy };
644*a549fe22SKathiravan Thirumoorthy 
645*a549fe22SKathiravan Thirumoorthy static const char *const qup_se3_groups[] = {
646*a549fe22SKathiravan Thirumoorthy 	"gpio10", "gpio11", "gpio22", "gpio23",
647*a549fe22SKathiravan Thirumoorthy };
648*a549fe22SKathiravan Thirumoorthy 
649*a549fe22SKathiravan Thirumoorthy static const char *const qup_se4_groups[] = {
650*a549fe22SKathiravan Thirumoorthy 	"gpio40", "gpio41", "gpio42", "gpio43", "gpio52", "gpio53",
651*a549fe22SKathiravan Thirumoorthy };
652*a549fe22SKathiravan Thirumoorthy 
653*a549fe22SKathiravan Thirumoorthy static const char *const qup_se5_groups[] = {
654*a549fe22SKathiravan Thirumoorthy 	"gpio47", "gpio48", "gpio49", "gpio50", "gpio51", "gpio52",
655*a549fe22SKathiravan Thirumoorthy };
656*a549fe22SKathiravan Thirumoorthy 
657*a549fe22SKathiravan Thirumoorthy static const char *const qup_se5_l1_groups[] = {
658*a549fe22SKathiravan Thirumoorthy 	"gpio52", "gpio53",
659*a549fe22SKathiravan Thirumoorthy };
660*a549fe22SKathiravan Thirumoorthy 
661*a549fe22SKathiravan Thirumoorthy static const char *const resout_groups[] = {
662*a549fe22SKathiravan Thirumoorthy 	"gpio44",
663*a549fe22SKathiravan Thirumoorthy };
664*a549fe22SKathiravan Thirumoorthy 
665*a549fe22SKathiravan Thirumoorthy static const char *const rx_los0_groups[] = {
666*a549fe22SKathiravan Thirumoorthy 	"gpio37", "gpio42",
667*a549fe22SKathiravan Thirumoorthy };
668*a549fe22SKathiravan Thirumoorthy 
669*a549fe22SKathiravan Thirumoorthy static const char *const rx_los1_groups[] = {
670*a549fe22SKathiravan Thirumoorthy 	"gpio36", "gpio41",
671*a549fe22SKathiravan Thirumoorthy };
672*a549fe22SKathiravan Thirumoorthy 
673*a549fe22SKathiravan Thirumoorthy static const char *const rx_los2_groups[] = {
674*a549fe22SKathiravan Thirumoorthy 	"gpio35", "gpio40",
675*a549fe22SKathiravan Thirumoorthy };
676*a549fe22SKathiravan Thirumoorthy 
677*a549fe22SKathiravan Thirumoorthy static const char *const sdc_clk_groups[] = {
678*a549fe22SKathiravan Thirumoorthy 	"gpio5",
679*a549fe22SKathiravan Thirumoorthy };
680*a549fe22SKathiravan Thirumoorthy 
681*a549fe22SKathiravan Thirumoorthy static const char *const sdc_cmd_groups[] = {
682*a549fe22SKathiravan Thirumoorthy 	"gpio4",
683*a549fe22SKathiravan Thirumoorthy };
684*a549fe22SKathiravan Thirumoorthy 
685*a549fe22SKathiravan Thirumoorthy static const char *const sdc_data_groups[] = {
686*a549fe22SKathiravan Thirumoorthy 	"gpio0", "gpio1", "gpio2", "gpio3",
687*a549fe22SKathiravan Thirumoorthy };
688*a549fe22SKathiravan Thirumoorthy 
689*a549fe22SKathiravan Thirumoorthy static const char *const tsens_max_groups[] = {
690*a549fe22SKathiravan Thirumoorthy 	"gpio20",
691*a549fe22SKathiravan Thirumoorthy };
692*a549fe22SKathiravan Thirumoorthy 
693*a549fe22SKathiravan Thirumoorthy static const struct pinfunction ipq5210_functions[] = {
694*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(atest_char_start),
695*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(atest_char_status0),
696*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(atest_char_status1),
697*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(atest_char_status2),
698*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(atest_char_status3),
699*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(atest_tic_en),
700*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_pri),
701*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_pri_mclk_out0),
702*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_pri_mclk_in0),
703*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_pri_mclk_out1),
704*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_pri_mclk_in1),
705*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_pri_mclk_out2),
706*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_pri_mclk_in2),
707*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_pri_mclk_out3),
708*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_pri_mclk_in3),
709*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_sec),
710*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_sec_mclk_out0),
711*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_sec_mclk_in0),
712*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_sec_mclk_out1),
713*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_sec_mclk_in1),
714*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_sec_mclk_out2),
715*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_sec_mclk_in2),
716*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_sec_mclk_out3),
717*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(audio_sec_mclk_in3),
718*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(core_voltage_0),
719*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(cri_trng0),
720*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(cri_trng1),
721*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(cri_trng2),
722*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(cri_trng3),
723*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(dbg_out_clk),
724*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(dg_out),
725*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(gcc_plltest_bypassnl),
726*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(gcc_plltest_resetn),
727*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(gcc_tlmm),
728*a549fe22SKathiravan Thirumoorthy 	MSM_GPIO_PIN_FUNCTION(gpio),
729*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(led0),
730*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(led1),
731*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(led2),
732*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(mdc_mst),
733*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(mdc_slv0),
734*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(mdc_slv1),
735*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(mdc_slv2),
736*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(mdio_mst),
737*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(mdio_slv0),
738*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(mdio_slv1),
739*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(mdio_slv2),
740*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(mux_tod_out),
741*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pcie0_clk_req_n),
742*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pcie0_wake),
743*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pcie1_clk_req_n),
744*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pcie1_wake),
745*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pll_test),
746*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pon_active_led),
747*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pon_mux_sel),
748*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pon_rx),
749*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pon_rx_los),
750*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pon_tx),
751*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pon_tx_burst),
752*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pon_tx_dis),
753*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pon_tx_fault),
754*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pon_tx_sd),
755*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(gpn_rx_los),
756*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(gpn_tx_burst),
757*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(gpn_tx_dis),
758*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(gpn_tx_fault),
759*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(gpn_tx_sd),
760*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pps),
761*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pwm0),
762*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pwm1),
763*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pwm2),
764*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(pwm3),
765*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_cti_trig_in_a0),
766*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_cti_trig_in_a1),
767*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_cti_trig_in_b0),
768*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_cti_trig_in_b1),
769*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_cti_trig_out_a0),
770*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_cti_trig_out_a1),
771*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_cti_trig_out_b0),
772*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_cti_trig_out_b1),
773*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_traceclk_a),
774*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_tracectl_a),
775*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qdss_tracedata_a),
776*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qrng_rosc0),
777*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qrng_rosc1),
778*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qrng_rosc2),
779*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qspi_data),
780*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qspi_clk),
781*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qspi_cs_n),
782*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qup_se0),
783*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qup_se1),
784*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qup_se2),
785*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qup_se3),
786*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qup_se4),
787*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qup_se5),
788*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(qup_se5_l1),
789*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(resout),
790*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(rx_los0),
791*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(rx_los1),
792*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(rx_los2),
793*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(sdc_clk),
794*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(sdc_cmd),
795*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(sdc_data),
796*a549fe22SKathiravan Thirumoorthy 	MSM_PIN_FUNCTION(tsens_max),
797*a549fe22SKathiravan Thirumoorthy };
798*a549fe22SKathiravan Thirumoorthy 
799*a549fe22SKathiravan Thirumoorthy static const struct msm_pingroup ipq5210_groups[] = {
800*a549fe22SKathiravan Thirumoorthy 	[0] = PINGROUP(0, sdc_data, qspi_data, pwm2, _, _, _, _, _, _),
801*a549fe22SKathiravan Thirumoorthy 	[1] = PINGROUP(1, sdc_data, qspi_data, pwm2, _, _, _, _, _, _),
802*a549fe22SKathiravan Thirumoorthy 	[2] = PINGROUP(2, sdc_data, qspi_data, pwm2, _, _, _, _, _, _),
803*a549fe22SKathiravan Thirumoorthy 	[3] = PINGROUP(3, sdc_data, qspi_data, pwm2, _, _, _, _, _, _),
804*a549fe22SKathiravan Thirumoorthy 	[4] = PINGROUP(4, sdc_cmd, qspi_cs_n, _, _, _, _, _, _, _),
805*a549fe22SKathiravan Thirumoorthy 	[5] = PINGROUP(5, sdc_clk, qspi_clk, _, _, _, _, _, _, _),
806*a549fe22SKathiravan Thirumoorthy 	[6] = PINGROUP(6, qup_se0, led0, pwm1, _, cri_trng0, qdss_tracedata_a, _, _, _),
807*a549fe22SKathiravan Thirumoorthy 	[7] = PINGROUP(7, qup_se0, led1, pwm1, _, cri_trng1, qdss_tracedata_a, _, _, _),
808*a549fe22SKathiravan Thirumoorthy 	[8] = PINGROUP(8, qup_se0, pwm1, audio_pri_mclk_out2, audio_pri_mclk_in2, _, cri_trng2, qdss_tracedata_a, _, _),
809*a549fe22SKathiravan Thirumoorthy 	[9] = PINGROUP(9, qup_se0, led2, pwm1, _, cri_trng3, qdss_tracedata_a, _, _, _),
810*a549fe22SKathiravan Thirumoorthy 	[10] = PINGROUP(10, pon_rx_los, qup_se3, pwm0, _, _, qdss_tracedata_a, _, _, _),
811*a549fe22SKathiravan Thirumoorthy 	[11] = PINGROUP(11, pon_active_led, qup_se3, pwm0, _, _, qdss_tracedata_a, _, _, _),
812*a549fe22SKathiravan Thirumoorthy 	[12] = PINGROUP(12, pon_tx_dis, qup_se2, pwm0, audio_pri_mclk_out0, audio_pri_mclk_in0, _, qrng_rosc0, qdss_tracedata_a, _),
813*a549fe22SKathiravan Thirumoorthy 	[13] = PINGROUP(13, gpn_tx_dis, qup_se2, pwm0, audio_pri_mclk_out3, audio_pri_mclk_in3, _, qrng_rosc1, qdss_tracedata_a, _),
814*a549fe22SKathiravan Thirumoorthy 	[14] = PINGROUP(14, pon_tx_burst, qup_se0, _, qrng_rosc2, qdss_tracedata_a, _, _, _, _),
815*a549fe22SKathiravan Thirumoorthy 	[15] = PINGROUP(15, pon_tx, qup_se0, _, qdss_tracedata_a, _, _, _, _, _),
816*a549fe22SKathiravan Thirumoorthy 	[16] = PINGROUP(16, pon_tx_sd, audio_sec_mclk_out1, audio_sec_mclk_in1, qdss_cti_trig_out_b0, _, _, _, _, _),
817*a549fe22SKathiravan Thirumoorthy 	[17] = PINGROUP(17, pon_tx_fault, audio_sec_mclk_out0, audio_sec_mclk_in0, _, _, _, _, _, _),
818*a549fe22SKathiravan Thirumoorthy 	[18] = PINGROUP(18, pps, pll_test, _, _, _, _, _, _, _),
819*a549fe22SKathiravan Thirumoorthy 	[19] = PINGROUP(19, mux_tod_out, audio_pri_mclk_out1, audio_pri_mclk_in1, _, _, _, _, _, _),
820*a549fe22SKathiravan Thirumoorthy 	[20] = PINGROUP(20, qup_se2, mdc_slv1, tsens_max, qdss_tracedata_a, _, _, _, _, _),
821*a549fe22SKathiravan Thirumoorthy 	[21] = PINGROUP(21, qup_se2, mdio_slv1, qdss_tracedata_a, _, _, _, _, _, _),
822*a549fe22SKathiravan Thirumoorthy 	[22] = PINGROUP(22, core_voltage_0, qup_se3, pwm3, _, _, _, _, _, _),
823*a549fe22SKathiravan Thirumoorthy 	[23] = PINGROUP(23, led0, qup_se3, dbg_out_clk, qdss_traceclk_a, _, _, _, _, _),
824*a549fe22SKathiravan Thirumoorthy 	[24] = PINGROUP(24, _, _, _, _, _, _, _, _, _),
825*a549fe22SKathiravan Thirumoorthy 	[25] = PINGROUP(25, _, _, _, _, _, _, _, _, _),
826*a549fe22SKathiravan Thirumoorthy 	[26] = PINGROUP(26, mdc_mst, led2, _, qdss_tracectl_a, _, _, _, _, _),
827*a549fe22SKathiravan Thirumoorthy 	[27] = PINGROUP(27, mdio_mst, led1, _, _, _, _, _, _, _),
828*a549fe22SKathiravan Thirumoorthy 	[28] = PINGROUP(28, pcie1_clk_req_n, qup_se1, _, _, qdss_cti_trig_out_a0, _, _, _, _),
829*a549fe22SKathiravan Thirumoorthy 	[29] = PINGROUP(29, _, _, _, _, _, _, _, _, _),
830*a549fe22SKathiravan Thirumoorthy 	[30] = PINGROUP(30, pcie1_wake, qup_se1, _, _, qdss_cti_trig_in_a0, _, _, _, _),
831*a549fe22SKathiravan Thirumoorthy 	[31] = PINGROUP(31, pcie0_clk_req_n, mdc_slv0, _, qdss_cti_trig_out_a1, _, _, _, _, _),
832*a549fe22SKathiravan Thirumoorthy 	[32] = PINGROUP(32, _, _, _, _, _, _, _, _, _),
833*a549fe22SKathiravan Thirumoorthy 	[33] = PINGROUP(33, pcie0_wake, mdio_slv0, qdss_cti_trig_in_a1, _, _, _, _, _, _),
834*a549fe22SKathiravan Thirumoorthy 	[34] = PINGROUP(34, audio_pri, atest_char_status0, qdss_cti_trig_in_b0, _, _, _, _, _, _),
835*a549fe22SKathiravan Thirumoorthy 	[35] = PINGROUP(35, audio_pri, rx_los2, atest_char_status1, qdss_cti_trig_out_b1, _, _, _, _, _),
836*a549fe22SKathiravan Thirumoorthy 	[36] = PINGROUP(36, audio_pri, _, rx_los1, atest_char_status2, _, _, _, _, _),
837*a549fe22SKathiravan Thirumoorthy 	[37] = PINGROUP(37, audio_pri, rx_los0, atest_char_status3, _, qdss_cti_trig_in_b1, _, _, _, _),
838*a549fe22SKathiravan Thirumoorthy 	[38] = PINGROUP(38, qup_se1, led2, gcc_plltest_bypassnl, qdss_tracedata_a, _, _, _, _, _),
839*a549fe22SKathiravan Thirumoorthy 	[39] = PINGROUP(39, qup_se1, led1, led0, gcc_tlmm, qdss_tracedata_a, _, _, _, _),
840*a549fe22SKathiravan Thirumoorthy 	[40] = PINGROUP(40, qup_se4, rx_los2, audio_sec, gcc_plltest_resetn, qdss_tracedata_a, _, _, _, _),
841*a549fe22SKathiravan Thirumoorthy 	[41] = PINGROUP(41, qup_se4, rx_los1, audio_sec, qdss_tracedata_a, _, _, _, _, _),
842*a549fe22SKathiravan Thirumoorthy 	[42] = PINGROUP(42, qup_se4, rx_los0, audio_sec, atest_tic_en, _, _, _, _, _),
843*a549fe22SKathiravan Thirumoorthy 	[43] = PINGROUP(43, qup_se4, audio_sec, _, _, _, _, _, _, _),
844*a549fe22SKathiravan Thirumoorthy 	[44] = PINGROUP(44, resout, _, _, _, _, _, _, _, _),
845*a549fe22SKathiravan Thirumoorthy 	[45] = PINGROUP(45, pon_mux_sel, _, _, _, _, _, _, _, _),
846*a549fe22SKathiravan Thirumoorthy 	[46] = PINGROUP(46, dg_out, atest_char_start, _, _, _, _, _, _, _),
847*a549fe22SKathiravan Thirumoorthy 	[47] = PINGROUP(47, gpn_rx_los, mdc_slv2, qup_se5, _, _, _, _, _, _),
848*a549fe22SKathiravan Thirumoorthy 	[48] = PINGROUP(48, pon_rx, qup_se5, _, _, _, _, _, _, _),
849*a549fe22SKathiravan Thirumoorthy 	[49] = PINGROUP(49, gpn_tx_fault, mdio_slv2, qup_se5, audio_sec_mclk_out2, audio_sec_mclk_in2, _, _, _, _),
850*a549fe22SKathiravan Thirumoorthy 	[50] = PINGROUP(50, gpn_tx_sd, qup_se5, audio_sec_mclk_out3, audio_sec_mclk_in3, _, _, _, _, _),
851*a549fe22SKathiravan Thirumoorthy 	[51] = PINGROUP(51, gpn_tx_burst, qup_se5, _, _, _, _, _, _, _),
852*a549fe22SKathiravan Thirumoorthy 	[52] = PINGROUP(52, qup_se2, qup_se5, qup_se4, qup_se5_l1, _, _, _, _, _),
853*a549fe22SKathiravan Thirumoorthy 	[53] = PINGROUP(53, qup_se2, qup_se4, qup_se5_l1, _, _, _, _, _, _),
854*a549fe22SKathiravan Thirumoorthy };
855*a549fe22SKathiravan Thirumoorthy 
856*a549fe22SKathiravan Thirumoorthy static const struct msm_pinctrl_soc_data ipq5210_tlmm = {
857*a549fe22SKathiravan Thirumoorthy 	.pins = ipq5210_pins,
858*a549fe22SKathiravan Thirumoorthy 	.npins = ARRAY_SIZE(ipq5210_pins),
859*a549fe22SKathiravan Thirumoorthy 	.functions = ipq5210_functions,
860*a549fe22SKathiravan Thirumoorthy 	.nfunctions = ARRAY_SIZE(ipq5210_functions),
861*a549fe22SKathiravan Thirumoorthy 	.groups = ipq5210_groups,
862*a549fe22SKathiravan Thirumoorthy 	.ngroups = ARRAY_SIZE(ipq5210_groups),
863*a549fe22SKathiravan Thirumoorthy 	.ngpios = 54,
864*a549fe22SKathiravan Thirumoorthy };
865*a549fe22SKathiravan Thirumoorthy 
866*a549fe22SKathiravan Thirumoorthy static const struct of_device_id ipq5210_tlmm_of_match[] = {
867*a549fe22SKathiravan Thirumoorthy 	{ .compatible = "qcom,ipq5210-tlmm", },
868*a549fe22SKathiravan Thirumoorthy 	{ },
869*a549fe22SKathiravan Thirumoorthy };
870*a549fe22SKathiravan Thirumoorthy 
871*a549fe22SKathiravan Thirumoorthy static int ipq5210_tlmm_probe(struct platform_device *pdev)
872*a549fe22SKathiravan Thirumoorthy {
873*a549fe22SKathiravan Thirumoorthy 	return msm_pinctrl_probe(pdev, &ipq5210_tlmm);
874*a549fe22SKathiravan Thirumoorthy }
875*a549fe22SKathiravan Thirumoorthy 
876*a549fe22SKathiravan Thirumoorthy static struct platform_driver ipq5210_tlmm_driver = {
877*a549fe22SKathiravan Thirumoorthy 	.driver = {
878*a549fe22SKathiravan Thirumoorthy 		.name = "ipq5210-tlmm",
879*a549fe22SKathiravan Thirumoorthy 		.of_match_table = ipq5210_tlmm_of_match,
880*a549fe22SKathiravan Thirumoorthy 	},
881*a549fe22SKathiravan Thirumoorthy 	.probe = ipq5210_tlmm_probe,
882*a549fe22SKathiravan Thirumoorthy };
883*a549fe22SKathiravan Thirumoorthy 
884*a549fe22SKathiravan Thirumoorthy static int __init ipq5210_tlmm_init(void)
885*a549fe22SKathiravan Thirumoorthy {
886*a549fe22SKathiravan Thirumoorthy 	return platform_driver_register(&ipq5210_tlmm_driver);
887*a549fe22SKathiravan Thirumoorthy }
888*a549fe22SKathiravan Thirumoorthy arch_initcall(ipq5210_tlmm_init);
889*a549fe22SKathiravan Thirumoorthy 
890*a549fe22SKathiravan Thirumoorthy static void __exit ipq5210_tlmm_exit(void)
891*a549fe22SKathiravan Thirumoorthy {
892*a549fe22SKathiravan Thirumoorthy 	platform_driver_unregister(&ipq5210_tlmm_driver);
893*a549fe22SKathiravan Thirumoorthy }
894*a549fe22SKathiravan Thirumoorthy module_exit(ipq5210_tlmm_exit);
895*a549fe22SKathiravan Thirumoorthy 
896*a549fe22SKathiravan Thirumoorthy MODULE_DESCRIPTION("QTI IPQ5210 TLMM driver");
897*a549fe22SKathiravan Thirumoorthy MODULE_LICENSE("GPL");
898