xref: /linux/drivers/pinctrl/qcom/pinctrl-sdm660.c (revision 9cf0c526bc5874d77208751ae42f7e4c62bfdd4d)
1*9cf0c526SNeeraj Upadhyay // SPDX-License-Identifier: GPL-2.0
2*9cf0c526SNeeraj Upadhyay /*
3*9cf0c526SNeeraj Upadhyay  * Copyright (c) 2016, The Linux Foundation. All rights reserved.
4*9cf0c526SNeeraj Upadhyay  * Copyright (c) 2018, Craig Tatlor.
5*9cf0c526SNeeraj Upadhyay  */
6*9cf0c526SNeeraj Upadhyay 
7*9cf0c526SNeeraj Upadhyay #include <linux/module.h>
8*9cf0c526SNeeraj Upadhyay #include <linux/of.h>
9*9cf0c526SNeeraj Upadhyay #include <linux/platform_device.h>
10*9cf0c526SNeeraj Upadhyay #include <linux/pinctrl/pinctrl.h>
11*9cf0c526SNeeraj Upadhyay 
12*9cf0c526SNeeraj Upadhyay #include "pinctrl-msm.h"
13*9cf0c526SNeeraj Upadhyay 
14*9cf0c526SNeeraj Upadhyay static const char * const sdm660_tiles[] = {
15*9cf0c526SNeeraj Upadhyay 	"north",
16*9cf0c526SNeeraj Upadhyay 	"center",
17*9cf0c526SNeeraj Upadhyay 	"south"
18*9cf0c526SNeeraj Upadhyay };
19*9cf0c526SNeeraj Upadhyay 
20*9cf0c526SNeeraj Upadhyay enum {
21*9cf0c526SNeeraj Upadhyay 	NORTH,
22*9cf0c526SNeeraj Upadhyay 	CENTER,
23*9cf0c526SNeeraj Upadhyay 	SOUTH
24*9cf0c526SNeeraj Upadhyay };
25*9cf0c526SNeeraj Upadhyay 
26*9cf0c526SNeeraj Upadhyay #define REG_SIZE 0x1000
27*9cf0c526SNeeraj Upadhyay 
28*9cf0c526SNeeraj Upadhyay #define FUNCTION(fname)					\
29*9cf0c526SNeeraj Upadhyay 	[msm_mux_##fname] = {		                \
30*9cf0c526SNeeraj Upadhyay 		.name = #fname,				\
31*9cf0c526SNeeraj Upadhyay 		.groups = fname##_groups,               \
32*9cf0c526SNeeraj Upadhyay 		.ngroups = ARRAY_SIZE(fname##_groups),	\
33*9cf0c526SNeeraj Upadhyay 	}
34*9cf0c526SNeeraj Upadhyay 
35*9cf0c526SNeeraj Upadhyay 
36*9cf0c526SNeeraj Upadhyay #define PINGROUP(id, base, f1, f2, f3, f4, f5, f6, f7, f8, f9)	\
37*9cf0c526SNeeraj Upadhyay 	{					        \
38*9cf0c526SNeeraj Upadhyay 		.name = "gpio" #id,			\
39*9cf0c526SNeeraj Upadhyay 		.pins = gpio##id##_pins,		\
40*9cf0c526SNeeraj Upadhyay 		.npins = (unsigned)ARRAY_SIZE(gpio##id##_pins),	\
41*9cf0c526SNeeraj Upadhyay 		.funcs = (int[]){			\
42*9cf0c526SNeeraj Upadhyay 			msm_mux_gpio, /* gpio mode */	\
43*9cf0c526SNeeraj Upadhyay 			msm_mux_##f1,			\
44*9cf0c526SNeeraj Upadhyay 			msm_mux_##f2,			\
45*9cf0c526SNeeraj Upadhyay 			msm_mux_##f3,			\
46*9cf0c526SNeeraj Upadhyay 			msm_mux_##f4,			\
47*9cf0c526SNeeraj Upadhyay 			msm_mux_##f5,			\
48*9cf0c526SNeeraj Upadhyay 			msm_mux_##f6,			\
49*9cf0c526SNeeraj Upadhyay 			msm_mux_##f7,			\
50*9cf0c526SNeeraj Upadhyay 			msm_mux_##f8,			\
51*9cf0c526SNeeraj Upadhyay 			msm_mux_##f9			\
52*9cf0c526SNeeraj Upadhyay 		},				        \
53*9cf0c526SNeeraj Upadhyay 		.nfuncs = 10,				\
54*9cf0c526SNeeraj Upadhyay 		.ctl_reg = base + REG_SIZE * id,	\
55*9cf0c526SNeeraj Upadhyay 		.io_reg = base + 0x4 + REG_SIZE * id,		\
56*9cf0c526SNeeraj Upadhyay 		.intr_cfg_reg = base + 0x8 + REG_SIZE * id,		\
57*9cf0c526SNeeraj Upadhyay 		.intr_status_reg = base + 0xc + REG_SIZE * id,	\
58*9cf0c526SNeeraj Upadhyay 		.intr_target_reg = base + 0x8 + REG_SIZE * id,	\
59*9cf0c526SNeeraj Upadhyay 		.mux_bit = 2,			\
60*9cf0c526SNeeraj Upadhyay 		.pull_bit = 0,			\
61*9cf0c526SNeeraj Upadhyay 		.drv_bit = 6,			\
62*9cf0c526SNeeraj Upadhyay 		.oe_bit = 9,			\
63*9cf0c526SNeeraj Upadhyay 		.in_bit = 0,			\
64*9cf0c526SNeeraj Upadhyay 		.out_bit = 1,			\
65*9cf0c526SNeeraj Upadhyay 		.intr_enable_bit = 0,		\
66*9cf0c526SNeeraj Upadhyay 		.intr_status_bit = 0,		\
67*9cf0c526SNeeraj Upadhyay 		.intr_target_bit = 5,		\
68*9cf0c526SNeeraj Upadhyay 		.intr_target_kpss_val = 3,	\
69*9cf0c526SNeeraj Upadhyay 		.intr_raw_status_bit = 4,	\
70*9cf0c526SNeeraj Upadhyay 		.intr_polarity_bit = 1,		\
71*9cf0c526SNeeraj Upadhyay 		.intr_detection_bit = 2,	\
72*9cf0c526SNeeraj Upadhyay 		.intr_detection_width = 2,	\
73*9cf0c526SNeeraj Upadhyay 	}
74*9cf0c526SNeeraj Upadhyay 
75*9cf0c526SNeeraj Upadhyay #define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv)	\
76*9cf0c526SNeeraj Upadhyay 	{					        \
77*9cf0c526SNeeraj Upadhyay 		.name = #pg_name,			\
78*9cf0c526SNeeraj Upadhyay 		.pins = pg_name##_pins,			\
79*9cf0c526SNeeraj Upadhyay 		.npins = (unsigned)ARRAY_SIZE(pg_name##_pins),	\
80*9cf0c526SNeeraj Upadhyay 		.ctl_reg = ctl,				\
81*9cf0c526SNeeraj Upadhyay 		.io_reg = 0,				\
82*9cf0c526SNeeraj Upadhyay 		.intr_cfg_reg = 0,			\
83*9cf0c526SNeeraj Upadhyay 		.intr_status_reg = 0,			\
84*9cf0c526SNeeraj Upadhyay 		.intr_target_reg = 0,			\
85*9cf0c526SNeeraj Upadhyay 		.mux_bit = -1,				\
86*9cf0c526SNeeraj Upadhyay 		.pull_bit = pull,			\
87*9cf0c526SNeeraj Upadhyay 		.drv_bit = drv,				\
88*9cf0c526SNeeraj Upadhyay 		.oe_bit = -1,				\
89*9cf0c526SNeeraj Upadhyay 		.in_bit = -1,				\
90*9cf0c526SNeeraj Upadhyay 		.out_bit = -1,				\
91*9cf0c526SNeeraj Upadhyay 		.intr_enable_bit = -1,			\
92*9cf0c526SNeeraj Upadhyay 		.intr_status_bit = -1,			\
93*9cf0c526SNeeraj Upadhyay 		.intr_target_bit = -1,			\
94*9cf0c526SNeeraj Upadhyay 		.intr_raw_status_bit = -1,		\
95*9cf0c526SNeeraj Upadhyay 		.intr_polarity_bit = -1,		\
96*9cf0c526SNeeraj Upadhyay 		.intr_detection_bit = -1,		\
97*9cf0c526SNeeraj Upadhyay 		.intr_detection_width = -1,		\
98*9cf0c526SNeeraj Upadhyay 	}
99*9cf0c526SNeeraj Upadhyay 
100*9cf0c526SNeeraj Upadhyay static const struct pinctrl_pin_desc sdm660_pins[] = {
101*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(0, "GPIO_0"),
102*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(1, "GPIO_1"),
103*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(2, "GPIO_2"),
104*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(3, "GPIO_3"),
105*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(4, "GPIO_4"),
106*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(5, "GPIO_5"),
107*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(6, "GPIO_6"),
108*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(7, "GPIO_7"),
109*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(8, "GPIO_8"),
110*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(9, "GPIO_9"),
111*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(10, "GPIO_10"),
112*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(11, "GPIO_11"),
113*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(12, "GPIO_12"),
114*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(13, "GPIO_13"),
115*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(14, "GPIO_14"),
116*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(15, "GPIO_15"),
117*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(16, "GPIO_16"),
118*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(17, "GPIO_17"),
119*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(18, "GPIO_18"),
120*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(19, "GPIO_19"),
121*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(20, "GPIO_20"),
122*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(21, "GPIO_21"),
123*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(22, "GPIO_22"),
124*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(23, "GPIO_23"),
125*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(24, "GPIO_24"),
126*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(25, "GPIO_25"),
127*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(26, "GPIO_26"),
128*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(27, "GPIO_27"),
129*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(28, "GPIO_28"),
130*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(29, "GPIO_29"),
131*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(30, "GPIO_30"),
132*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(31, "GPIO_31"),
133*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(32, "GPIO_32"),
134*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(33, "GPIO_33"),
135*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(34, "GPIO_34"),
136*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(35, "GPIO_35"),
137*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(36, "GPIO_36"),
138*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(37, "GPIO_37"),
139*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(38, "GPIO_38"),
140*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(39, "GPIO_39"),
141*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(40, "GPIO_40"),
142*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(41, "GPIO_41"),
143*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(42, "GPIO_42"),
144*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(43, "GPIO_43"),
145*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(44, "GPIO_44"),
146*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(45, "GPIO_45"),
147*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(46, "GPIO_46"),
148*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(47, "GPIO_47"),
149*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(48, "GPIO_48"),
150*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(49, "GPIO_49"),
151*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(50, "GPIO_50"),
152*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(51, "GPIO_51"),
153*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(52, "GPIO_52"),
154*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(53, "GPIO_53"),
155*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(54, "GPIO_54"),
156*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(55, "GPIO_55"),
157*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(56, "GPIO_56"),
158*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(57, "GPIO_57"),
159*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(58, "GPIO_58"),
160*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(59, "GPIO_59"),
161*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(60, "GPIO_60"),
162*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(61, "GPIO_61"),
163*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(62, "GPIO_62"),
164*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(63, "GPIO_63"),
165*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(64, "GPIO_64"),
166*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(65, "GPIO_65"),
167*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(66, "GPIO_66"),
168*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(67, "GPIO_67"),
169*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(68, "GPIO_68"),
170*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(69, "GPIO_69"),
171*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(70, "GPIO_70"),
172*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(71, "GPIO_71"),
173*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(72, "GPIO_72"),
174*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(73, "GPIO_73"),
175*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(74, "GPIO_74"),
176*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(75, "GPIO_75"),
177*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(76, "GPIO_76"),
178*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(77, "GPIO_77"),
179*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(78, "GPIO_78"),
180*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(79, "GPIO_79"),
181*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(80, "GPIO_80"),
182*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(81, "GPIO_81"),
183*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(82, "GPIO_82"),
184*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(83, "GPIO_83"),
185*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(84, "GPIO_84"),
186*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(85, "GPIO_85"),
187*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(86, "GPIO_86"),
188*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(87, "GPIO_87"),
189*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(88, "GPIO_88"),
190*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(89, "GPIO_89"),
191*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(90, "GPIO_90"),
192*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(91, "GPIO_91"),
193*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(92, "GPIO_92"),
194*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(93, "GPIO_93"),
195*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(94, "GPIO_94"),
196*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(95, "GPIO_95"),
197*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(96, "GPIO_96"),
198*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(97, "GPIO_97"),
199*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(98, "GPIO_98"),
200*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(99, "GPIO_99"),
201*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(100, "GPIO_100"),
202*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(101, "GPIO_101"),
203*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(102, "GPIO_102"),
204*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(103, "GPIO_103"),
205*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(104, "GPIO_104"),
206*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(105, "GPIO_105"),
207*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(106, "GPIO_106"),
208*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(107, "GPIO_107"),
209*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(108, "GPIO_108"),
210*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(109, "GPIO_109"),
211*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(110, "GPIO_110"),
212*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(111, "GPIO_111"),
213*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(112, "GPIO_112"),
214*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(113, "GPIO_113"),
215*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(114, "SDC1_CLK"),
216*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(115, "SDC1_CMD"),
217*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(116, "SDC1_DATA"),
218*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(117, "SDC2_CLK"),
219*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(118, "SDC2_CMD"),
220*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(119, "SDC2_DATA"),
221*9cf0c526SNeeraj Upadhyay 	PINCTRL_PIN(120, "SDC1_RCLK"),
222*9cf0c526SNeeraj Upadhyay };
223*9cf0c526SNeeraj Upadhyay 
224*9cf0c526SNeeraj Upadhyay #define DECLARE_MSM_GPIO_PINS(pin) \
225*9cf0c526SNeeraj Upadhyay 	static const unsigned int gpio##pin##_pins[] = { pin }
226*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(0);
227*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(1);
228*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(2);
229*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(3);
230*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(4);
231*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(5);
232*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(6);
233*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(7);
234*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(8);
235*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(9);
236*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(10);
237*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(11);
238*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(12);
239*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(13);
240*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(14);
241*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(15);
242*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(16);
243*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(17);
244*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(18);
245*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(19);
246*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(20);
247*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(21);
248*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(22);
249*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(23);
250*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(24);
251*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(25);
252*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(26);
253*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(27);
254*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(28);
255*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(29);
256*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(30);
257*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(31);
258*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(32);
259*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(33);
260*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(34);
261*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(35);
262*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(36);
263*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(37);
264*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(38);
265*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(39);
266*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(40);
267*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(41);
268*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(42);
269*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(43);
270*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(44);
271*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(45);
272*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(46);
273*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(47);
274*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(48);
275*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(49);
276*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(50);
277*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(51);
278*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(52);
279*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(53);
280*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(54);
281*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(55);
282*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(56);
283*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(57);
284*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(58);
285*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(59);
286*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(60);
287*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(61);
288*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(62);
289*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(63);
290*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(64);
291*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(65);
292*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(66);
293*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(67);
294*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(68);
295*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(69);
296*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(70);
297*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(71);
298*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(72);
299*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(73);
300*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(74);
301*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(75);
302*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(76);
303*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(77);
304*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(78);
305*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(79);
306*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(80);
307*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(81);
308*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(82);
309*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(83);
310*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(84);
311*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(85);
312*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(86);
313*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(87);
314*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(88);
315*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(89);
316*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(90);
317*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(91);
318*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(92);
319*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(93);
320*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(94);
321*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(95);
322*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(96);
323*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(97);
324*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(98);
325*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(99);
326*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(100);
327*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(101);
328*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(102);
329*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(103);
330*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(104);
331*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(105);
332*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(106);
333*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(107);
334*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(108);
335*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(109);
336*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(110);
337*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(111);
338*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(112);
339*9cf0c526SNeeraj Upadhyay DECLARE_MSM_GPIO_PINS(113);
340*9cf0c526SNeeraj Upadhyay 
341*9cf0c526SNeeraj Upadhyay static const unsigned int sdc1_clk_pins[] = { 114 };
342*9cf0c526SNeeraj Upadhyay static const unsigned int sdc1_cmd_pins[] = { 115 };
343*9cf0c526SNeeraj Upadhyay static const unsigned int sdc1_data_pins[] = { 116 };
344*9cf0c526SNeeraj Upadhyay static const unsigned int sdc1_rclk_pins[] = { 120 };
345*9cf0c526SNeeraj Upadhyay static const unsigned int sdc2_clk_pins[] = { 117 };
346*9cf0c526SNeeraj Upadhyay static const unsigned int sdc2_cmd_pins[] = { 118 };
347*9cf0c526SNeeraj Upadhyay static const unsigned int sdc2_data_pins[] = { 119 };
348*9cf0c526SNeeraj Upadhyay 
349*9cf0c526SNeeraj Upadhyay enum sdm660_functions {
350*9cf0c526SNeeraj Upadhyay 	msm_mux_adsp_ext,
351*9cf0c526SNeeraj Upadhyay 	msm_mux_agera_pll,
352*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_char,
353*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_char0,
354*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_char1,
355*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_char2,
356*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_char3,
357*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_gpsadc0,
358*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_gpsadc1,
359*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_tsens,
360*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_tsens2,
361*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb1,
362*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb10,
363*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb11,
364*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb12,
365*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb13,
366*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb2,
367*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb20,
368*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb21,
369*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb22,
370*9cf0c526SNeeraj Upadhyay 	msm_mux_atest_usb23,
371*9cf0c526SNeeraj Upadhyay 	msm_mux_audio_ref,
372*9cf0c526SNeeraj Upadhyay 	msm_mux_bimc_dte0,
373*9cf0c526SNeeraj Upadhyay 	msm_mux_bimc_dte1,
374*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_i2c1,
375*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_i2c2,
376*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_i2c3,
377*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_i2c4,
378*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_i2c5,
379*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_i2c6,
380*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_i2c7,
381*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_i2c8_a,
382*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_i2c8_b,
383*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi1,
384*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi2,
385*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi3,
386*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi3_cs1,
387*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi3_cs2,
388*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi4,
389*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi5,
390*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi6,
391*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi7,
392*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi8_a,
393*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi8_b,
394*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi8_cs1,
395*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_spi8_cs2,
396*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_uart1,
397*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_uart2,
398*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_uart5,
399*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_uart6_a,
400*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_uart6_b,
401*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_uim1,
402*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_uim2,
403*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_uim5,
404*9cf0c526SNeeraj Upadhyay 	msm_mux_blsp_uim6,
405*9cf0c526SNeeraj Upadhyay 	msm_mux_cam_mclk,
406*9cf0c526SNeeraj Upadhyay 	msm_mux_cci_async,
407*9cf0c526SNeeraj Upadhyay 	msm_mux_cci_i2c,
408*9cf0c526SNeeraj Upadhyay 	msm_mux_cri_trng,
409*9cf0c526SNeeraj Upadhyay 	msm_mux_cri_trng0,
410*9cf0c526SNeeraj Upadhyay 	msm_mux_cri_trng1,
411*9cf0c526SNeeraj Upadhyay 	msm_mux_dbg_out,
412*9cf0c526SNeeraj Upadhyay 	msm_mux_ddr_bist,
413*9cf0c526SNeeraj Upadhyay 	msm_mux_gcc_gp1,
414*9cf0c526SNeeraj Upadhyay 	msm_mux_gcc_gp2,
415*9cf0c526SNeeraj Upadhyay 	msm_mux_gcc_gp3,
416*9cf0c526SNeeraj Upadhyay 	msm_mux_gpio,
417*9cf0c526SNeeraj Upadhyay 	msm_mux_gps_tx_a,
418*9cf0c526SNeeraj Upadhyay 	msm_mux_gps_tx_b,
419*9cf0c526SNeeraj Upadhyay 	msm_mux_gps_tx_c,
420*9cf0c526SNeeraj Upadhyay 	msm_mux_isense_dbg,
421*9cf0c526SNeeraj Upadhyay 	msm_mux_jitter_bist,
422*9cf0c526SNeeraj Upadhyay 	msm_mux_ldo_en,
423*9cf0c526SNeeraj Upadhyay 	msm_mux_ldo_update,
424*9cf0c526SNeeraj Upadhyay 	msm_mux_m_voc,
425*9cf0c526SNeeraj Upadhyay 	msm_mux_mdp_vsync,
426*9cf0c526SNeeraj Upadhyay 	msm_mux_mdss_vsync0,
427*9cf0c526SNeeraj Upadhyay 	msm_mux_mdss_vsync1,
428*9cf0c526SNeeraj Upadhyay 	msm_mux_mdss_vsync2,
429*9cf0c526SNeeraj Upadhyay 	msm_mux_mdss_vsync3,
430*9cf0c526SNeeraj Upadhyay 	msm_mux_mss_lte,
431*9cf0c526SNeeraj Upadhyay 	msm_mux_nav_pps_a,
432*9cf0c526SNeeraj Upadhyay 	msm_mux_nav_pps_b,
433*9cf0c526SNeeraj Upadhyay 	msm_mux_nav_pps_c,
434*9cf0c526SNeeraj Upadhyay 	msm_mux_pa_indicator,
435*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag0,
436*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag1,
437*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag2,
438*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag3,
439*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag4,
440*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag5,
441*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag6,
442*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag7,
443*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag8,
444*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag9,
445*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag10,
446*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag11,
447*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag12,
448*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag13,
449*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag14,
450*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag15,
451*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag16,
452*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag17,
453*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag18,
454*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag19,
455*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag20,
456*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag21,
457*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag22,
458*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag23,
459*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag24,
460*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag25,
461*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag26,
462*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag27,
463*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag28,
464*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag29,
465*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag30,
466*9cf0c526SNeeraj Upadhyay 	msm_mux_phase_flag31,
467*9cf0c526SNeeraj Upadhyay 	msm_mux_pll_bypassnl,
468*9cf0c526SNeeraj Upadhyay 	msm_mux_pll_reset,
469*9cf0c526SNeeraj Upadhyay 	msm_mux_pri_mi2s,
470*9cf0c526SNeeraj Upadhyay 	msm_mux_pri_mi2s_ws,
471*9cf0c526SNeeraj Upadhyay 	msm_mux_prng_rosc,
472*9cf0c526SNeeraj Upadhyay 	msm_mux_pwr_crypto,
473*9cf0c526SNeeraj Upadhyay 	msm_mux_pwr_modem,
474*9cf0c526SNeeraj Upadhyay 	msm_mux_pwr_nav,
475*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_cti0_a,
476*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_cti0_b,
477*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_cti1_a,
478*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_cti1_b,
479*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio,
480*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio0,
481*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio1,
482*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio10,
483*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio11,
484*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio12,
485*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio13,
486*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio14,
487*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio15,
488*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio2,
489*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio3,
490*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio4,
491*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio5,
492*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio6,
493*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio7,
494*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio8,
495*9cf0c526SNeeraj Upadhyay 	msm_mux_qdss_gpio9,
496*9cf0c526SNeeraj Upadhyay 	msm_mux_qlink_enable,
497*9cf0c526SNeeraj Upadhyay 	msm_mux_qlink_request,
498*9cf0c526SNeeraj Upadhyay 	msm_mux_qspi_clk,
499*9cf0c526SNeeraj Upadhyay 	msm_mux_qspi_cs,
500*9cf0c526SNeeraj Upadhyay 	msm_mux_qspi_data0,
501*9cf0c526SNeeraj Upadhyay 	msm_mux_qspi_data1,
502*9cf0c526SNeeraj Upadhyay 	msm_mux_qspi_data2,
503*9cf0c526SNeeraj Upadhyay 	msm_mux_qspi_data3,
504*9cf0c526SNeeraj Upadhyay 	msm_mux_qspi_resetn,
505*9cf0c526SNeeraj Upadhyay 	msm_mux_sec_mi2s,
506*9cf0c526SNeeraj Upadhyay 	msm_mux_sndwire_clk,
507*9cf0c526SNeeraj Upadhyay 	msm_mux_sndwire_data,
508*9cf0c526SNeeraj Upadhyay 	msm_mux_sp_cmu,
509*9cf0c526SNeeraj Upadhyay 	msm_mux_ssc_irq,
510*9cf0c526SNeeraj Upadhyay 	msm_mux_tgu_ch0,
511*9cf0c526SNeeraj Upadhyay 	msm_mux_tgu_ch1,
512*9cf0c526SNeeraj Upadhyay 	msm_mux_tsense_pwm1,
513*9cf0c526SNeeraj Upadhyay 	msm_mux_tsense_pwm2,
514*9cf0c526SNeeraj Upadhyay 	msm_mux_uim1_clk,
515*9cf0c526SNeeraj Upadhyay 	msm_mux_uim1_data,
516*9cf0c526SNeeraj Upadhyay 	msm_mux_uim1_present,
517*9cf0c526SNeeraj Upadhyay 	msm_mux_uim1_reset,
518*9cf0c526SNeeraj Upadhyay 	msm_mux_uim2_clk,
519*9cf0c526SNeeraj Upadhyay 	msm_mux_uim2_data,
520*9cf0c526SNeeraj Upadhyay 	msm_mux_uim2_present,
521*9cf0c526SNeeraj Upadhyay 	msm_mux_uim2_reset,
522*9cf0c526SNeeraj Upadhyay 	msm_mux_uim_batt,
523*9cf0c526SNeeraj Upadhyay 	msm_mux_vfr_1,
524*9cf0c526SNeeraj Upadhyay 	msm_mux_vsense_clkout,
525*9cf0c526SNeeraj Upadhyay 	msm_mux_vsense_data0,
526*9cf0c526SNeeraj Upadhyay 	msm_mux_vsense_data1,
527*9cf0c526SNeeraj Upadhyay 	msm_mux_vsense_mode,
528*9cf0c526SNeeraj Upadhyay 	msm_mux_wlan1_adc0,
529*9cf0c526SNeeraj Upadhyay 	msm_mux_wlan1_adc1,
530*9cf0c526SNeeraj Upadhyay 	msm_mux_wlan2_adc0,
531*9cf0c526SNeeraj Upadhyay 	msm_mux_wlan2_adc1,
532*9cf0c526SNeeraj Upadhyay 	msm_mux__,
533*9cf0c526SNeeraj Upadhyay };
534*9cf0c526SNeeraj Upadhyay 
535*9cf0c526SNeeraj Upadhyay static const char * const gpio_groups[] = {
536*9cf0c526SNeeraj Upadhyay 	"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
537*9cf0c526SNeeraj Upadhyay 	"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
538*9cf0c526SNeeraj Upadhyay 	"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
539*9cf0c526SNeeraj Upadhyay 	"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
540*9cf0c526SNeeraj Upadhyay 	"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
541*9cf0c526SNeeraj Upadhyay 	"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
542*9cf0c526SNeeraj Upadhyay 	"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
543*9cf0c526SNeeraj Upadhyay 	"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
544*9cf0c526SNeeraj Upadhyay 	"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
545*9cf0c526SNeeraj Upadhyay 	"gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
546*9cf0c526SNeeraj Upadhyay 	"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
547*9cf0c526SNeeraj Upadhyay 	"gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84",
548*9cf0c526SNeeraj Upadhyay 	"gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91",
549*9cf0c526SNeeraj Upadhyay 	"gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98",
550*9cf0c526SNeeraj Upadhyay 	"gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104",
551*9cf0c526SNeeraj Upadhyay 	"gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110",
552*9cf0c526SNeeraj Upadhyay 	"gpio111", "gpio112", "gpio113",
553*9cf0c526SNeeraj Upadhyay };
554*9cf0c526SNeeraj Upadhyay 
555*9cf0c526SNeeraj Upadhyay static const char * const adsp_ext_groups[] = {
556*9cf0c526SNeeraj Upadhyay 	"gpio65",
557*9cf0c526SNeeraj Upadhyay };
558*9cf0c526SNeeraj Upadhyay static const char * const agera_pll_groups[] = {
559*9cf0c526SNeeraj Upadhyay 	"gpio34", "gpio36",
560*9cf0c526SNeeraj Upadhyay };
561*9cf0c526SNeeraj Upadhyay static const char * const atest_char0_groups[] = {
562*9cf0c526SNeeraj Upadhyay 	"gpio62",
563*9cf0c526SNeeraj Upadhyay };
564*9cf0c526SNeeraj Upadhyay static const char * const atest_char1_groups[] = {
565*9cf0c526SNeeraj Upadhyay 	"gpio61",
566*9cf0c526SNeeraj Upadhyay };
567*9cf0c526SNeeraj Upadhyay static const char * const atest_char2_groups[] = {
568*9cf0c526SNeeraj Upadhyay 	"gpio60",
569*9cf0c526SNeeraj Upadhyay };
570*9cf0c526SNeeraj Upadhyay static const char * const atest_char3_groups[] = {
571*9cf0c526SNeeraj Upadhyay 	"gpio59",
572*9cf0c526SNeeraj Upadhyay };
573*9cf0c526SNeeraj Upadhyay static const char * const atest_char_groups[] = {
574*9cf0c526SNeeraj Upadhyay 	"gpio58",
575*9cf0c526SNeeraj Upadhyay };
576*9cf0c526SNeeraj Upadhyay static const char * const atest_gpsadc0_groups[] = {
577*9cf0c526SNeeraj Upadhyay 	"gpio1",
578*9cf0c526SNeeraj Upadhyay };
579*9cf0c526SNeeraj Upadhyay static const char * const atest_gpsadc1_groups[] = {
580*9cf0c526SNeeraj Upadhyay 	"gpio0",
581*9cf0c526SNeeraj Upadhyay };
582*9cf0c526SNeeraj Upadhyay static const char * const atest_tsens2_groups[] = {
583*9cf0c526SNeeraj Upadhyay 	"gpio3",
584*9cf0c526SNeeraj Upadhyay };
585*9cf0c526SNeeraj Upadhyay static const char * const atest_tsens_groups[] = {
586*9cf0c526SNeeraj Upadhyay 	"gpio36",
587*9cf0c526SNeeraj Upadhyay };
588*9cf0c526SNeeraj Upadhyay static const char * const atest_usb10_groups[] = {
589*9cf0c526SNeeraj Upadhyay 	"gpio11",
590*9cf0c526SNeeraj Upadhyay };
591*9cf0c526SNeeraj Upadhyay static const char * const atest_usb11_groups[] = {
592*9cf0c526SNeeraj Upadhyay 	"gpio10",
593*9cf0c526SNeeraj Upadhyay };
594*9cf0c526SNeeraj Upadhyay static const char * const atest_usb12_groups[] = {
595*9cf0c526SNeeraj Upadhyay 	"gpio9",
596*9cf0c526SNeeraj Upadhyay };
597*9cf0c526SNeeraj Upadhyay static const char * const atest_usb13_groups[] = {
598*9cf0c526SNeeraj Upadhyay 	"gpio8",
599*9cf0c526SNeeraj Upadhyay };
600*9cf0c526SNeeraj Upadhyay static const char * const atest_usb1_groups[] = {
601*9cf0c526SNeeraj Upadhyay 	"gpio3",
602*9cf0c526SNeeraj Upadhyay };
603*9cf0c526SNeeraj Upadhyay static const char * const atest_usb20_groups[] = {
604*9cf0c526SNeeraj Upadhyay 	"gpio56",
605*9cf0c526SNeeraj Upadhyay };
606*9cf0c526SNeeraj Upadhyay static const char * const atest_usb21_groups[] = {
607*9cf0c526SNeeraj Upadhyay 	"gpio36",
608*9cf0c526SNeeraj Upadhyay };
609*9cf0c526SNeeraj Upadhyay static const char * const atest_usb22_groups[] = {
610*9cf0c526SNeeraj Upadhyay 	"gpio57",
611*9cf0c526SNeeraj Upadhyay };
612*9cf0c526SNeeraj Upadhyay static const char * const atest_usb23_groups[] = {
613*9cf0c526SNeeraj Upadhyay 	"gpio37",
614*9cf0c526SNeeraj Upadhyay };
615*9cf0c526SNeeraj Upadhyay static const char * const atest_usb2_groups[] = {
616*9cf0c526SNeeraj Upadhyay 	"gpio35",
617*9cf0c526SNeeraj Upadhyay };
618*9cf0c526SNeeraj Upadhyay static const char * const audio_ref_groups[] = {
619*9cf0c526SNeeraj Upadhyay 	"gpio62",
620*9cf0c526SNeeraj Upadhyay };
621*9cf0c526SNeeraj Upadhyay static const char * const bimc_dte0_groups[] = {
622*9cf0c526SNeeraj Upadhyay 	"gpio9", "gpio11",
623*9cf0c526SNeeraj Upadhyay };
624*9cf0c526SNeeraj Upadhyay static const char * const bimc_dte1_groups[] = {
625*9cf0c526SNeeraj Upadhyay 	"gpio8", "gpio10",
626*9cf0c526SNeeraj Upadhyay };
627*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c1_groups[] = {
628*9cf0c526SNeeraj Upadhyay 	"gpio2", "gpio3",
629*9cf0c526SNeeraj Upadhyay };
630*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c2_groups[] = {
631*9cf0c526SNeeraj Upadhyay 	"gpio6", "gpio7",
632*9cf0c526SNeeraj Upadhyay };
633*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c3_groups[] = {
634*9cf0c526SNeeraj Upadhyay 	"gpio10", "gpio11",
635*9cf0c526SNeeraj Upadhyay };
636*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c4_groups[] = {
637*9cf0c526SNeeraj Upadhyay 	"gpio14", "gpio15",
638*9cf0c526SNeeraj Upadhyay };
639*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c5_groups[] = {
640*9cf0c526SNeeraj Upadhyay 	"gpio18", "gpio19",
641*9cf0c526SNeeraj Upadhyay };
642*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c6_groups[] = {
643*9cf0c526SNeeraj Upadhyay 	"gpio22", "gpio23",
644*9cf0c526SNeeraj Upadhyay };
645*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c7_groups[] = {
646*9cf0c526SNeeraj Upadhyay 	"gpio26", "gpio27",
647*9cf0c526SNeeraj Upadhyay };
648*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c8_a_groups[] = {
649*9cf0c526SNeeraj Upadhyay 	"gpio30", "gpio31",
650*9cf0c526SNeeraj Upadhyay };
651*9cf0c526SNeeraj Upadhyay static const char * const blsp_i2c8_b_groups[] = {
652*9cf0c526SNeeraj Upadhyay 	"gpio44", "gpio52",
653*9cf0c526SNeeraj Upadhyay };
654*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi1_groups[] = {
655*9cf0c526SNeeraj Upadhyay 	"gpio0", "gpio1", "gpio2", "gpio3", "gpio46",
656*9cf0c526SNeeraj Upadhyay };
657*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi2_groups[] = {
658*9cf0c526SNeeraj Upadhyay 	"gpio4", "gpio5", "gpio6", "gpio7",
659*9cf0c526SNeeraj Upadhyay };
660*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi3_cs1_groups[] = {
661*9cf0c526SNeeraj Upadhyay 	"gpio30",
662*9cf0c526SNeeraj Upadhyay };
663*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi3_cs2_groups[] = {
664*9cf0c526SNeeraj Upadhyay 	"gpio65",
665*9cf0c526SNeeraj Upadhyay };
666*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi3_groups[] = {
667*9cf0c526SNeeraj Upadhyay 	"gpio8", "gpio9", "gpio10", "gpio11",
668*9cf0c526SNeeraj Upadhyay };
669*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi4_groups[] = {
670*9cf0c526SNeeraj Upadhyay 	"gpio12", "gpio13", "gpio14", "gpio15",
671*9cf0c526SNeeraj Upadhyay };
672*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi5_groups[] = {
673*9cf0c526SNeeraj Upadhyay 	"gpio16", "gpio17", "gpio18", "gpio19",
674*9cf0c526SNeeraj Upadhyay };
675*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi6_groups[] = {
676*9cf0c526SNeeraj Upadhyay 	"gpio49", "gpio52", "gpio22", "gpio23",
677*9cf0c526SNeeraj Upadhyay };
678*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi7_groups[] = {
679*9cf0c526SNeeraj Upadhyay 	"gpio24", "gpio25", "gpio26", "gpio27",
680*9cf0c526SNeeraj Upadhyay };
681*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi8_a_groups[] = {
682*9cf0c526SNeeraj Upadhyay 	"gpio28", "gpio29", "gpio30", "gpio31",
683*9cf0c526SNeeraj Upadhyay };
684*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi8_b_groups[] = {
685*9cf0c526SNeeraj Upadhyay 	"gpio40", "gpio41", "gpio44", "gpio52",
686*9cf0c526SNeeraj Upadhyay };
687*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi8_cs1_groups[] = {
688*9cf0c526SNeeraj Upadhyay 	"gpio64",
689*9cf0c526SNeeraj Upadhyay };
690*9cf0c526SNeeraj Upadhyay static const char * const blsp_spi8_cs2_groups[] = {
691*9cf0c526SNeeraj Upadhyay 	"gpio76",
692*9cf0c526SNeeraj Upadhyay };
693*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart1_groups[] = {
694*9cf0c526SNeeraj Upadhyay 	"gpio0", "gpio1", "gpio2", "gpio3",
695*9cf0c526SNeeraj Upadhyay };
696*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart2_groups[] = {
697*9cf0c526SNeeraj Upadhyay 	"gpio4", "gpio5", "gpio6", "gpio7",
698*9cf0c526SNeeraj Upadhyay };
699*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart5_groups[] = {
700*9cf0c526SNeeraj Upadhyay 	"gpio16", "gpio17", "gpio18", "gpio19",
701*9cf0c526SNeeraj Upadhyay };
702*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart6_a_groups[] = {
703*9cf0c526SNeeraj Upadhyay 	"gpio24", "gpio25", "gpio26", "gpio27",
704*9cf0c526SNeeraj Upadhyay };
705*9cf0c526SNeeraj Upadhyay static const char * const blsp_uart6_b_groups[] = {
706*9cf0c526SNeeraj Upadhyay 	"gpio28", "gpio29", "gpio30", "gpio31",
707*9cf0c526SNeeraj Upadhyay };
708*9cf0c526SNeeraj Upadhyay static const char * const blsp_uim1_groups[] = {
709*9cf0c526SNeeraj Upadhyay 	"gpio0", "gpio1",
710*9cf0c526SNeeraj Upadhyay };
711*9cf0c526SNeeraj Upadhyay static const char * const blsp_uim2_groups[] = {
712*9cf0c526SNeeraj Upadhyay 	"gpio4", "gpio5",
713*9cf0c526SNeeraj Upadhyay };
714*9cf0c526SNeeraj Upadhyay static const char * const blsp_uim5_groups[] = {
715*9cf0c526SNeeraj Upadhyay 	"gpio16", "gpio17",
716*9cf0c526SNeeraj Upadhyay };
717*9cf0c526SNeeraj Upadhyay static const char * const blsp_uim6_groups[] = {
718*9cf0c526SNeeraj Upadhyay 	"gpio20", "gpio21",
719*9cf0c526SNeeraj Upadhyay };
720*9cf0c526SNeeraj Upadhyay static const char * const cam_mclk_groups[] = {
721*9cf0c526SNeeraj Upadhyay 	"gpio32", "gpio33", "gpio34", "gpio35",
722*9cf0c526SNeeraj Upadhyay };
723*9cf0c526SNeeraj Upadhyay static const char * const cci_async_groups[] = {
724*9cf0c526SNeeraj Upadhyay 	"gpio45",
725*9cf0c526SNeeraj Upadhyay };
726*9cf0c526SNeeraj Upadhyay static const char * const cci_i2c_groups[] = {
727*9cf0c526SNeeraj Upadhyay 	"gpio36", "gpio37", "gpio38", "gpio39",
728*9cf0c526SNeeraj Upadhyay };
729*9cf0c526SNeeraj Upadhyay static const char * const cri_trng0_groups[] = {
730*9cf0c526SNeeraj Upadhyay 	"gpio60",
731*9cf0c526SNeeraj Upadhyay };
732*9cf0c526SNeeraj Upadhyay static const char * const cri_trng1_groups[] = {
733*9cf0c526SNeeraj Upadhyay 	"gpio61",
734*9cf0c526SNeeraj Upadhyay };
735*9cf0c526SNeeraj Upadhyay static const char * const cri_trng_groups[] = {
736*9cf0c526SNeeraj Upadhyay 	"gpio62",
737*9cf0c526SNeeraj Upadhyay };
738*9cf0c526SNeeraj Upadhyay static const char * const dbg_out_groups[] = {
739*9cf0c526SNeeraj Upadhyay 	"gpio11",
740*9cf0c526SNeeraj Upadhyay };
741*9cf0c526SNeeraj Upadhyay static const char * const ddr_bist_groups[] = {
742*9cf0c526SNeeraj Upadhyay 	"gpio3", "gpio8", "gpio9", "gpio10",
743*9cf0c526SNeeraj Upadhyay };
744*9cf0c526SNeeraj Upadhyay static const char * const gcc_gp1_groups[] = {
745*9cf0c526SNeeraj Upadhyay 	"gpio57", "gpio78",
746*9cf0c526SNeeraj Upadhyay };
747*9cf0c526SNeeraj Upadhyay static const char * const gcc_gp2_groups[] = {
748*9cf0c526SNeeraj Upadhyay 	"gpio58", "gpio81",
749*9cf0c526SNeeraj Upadhyay };
750*9cf0c526SNeeraj Upadhyay static const char * const gcc_gp3_groups[] = {
751*9cf0c526SNeeraj Upadhyay 	"gpio59", "gpio82",
752*9cf0c526SNeeraj Upadhyay };
753*9cf0c526SNeeraj Upadhyay static const char * const gps_tx_a_groups[] = {
754*9cf0c526SNeeraj Upadhyay 	"gpio65",
755*9cf0c526SNeeraj Upadhyay };
756*9cf0c526SNeeraj Upadhyay static const char * const gps_tx_b_groups[] = {
757*9cf0c526SNeeraj Upadhyay 	"gpio98",
758*9cf0c526SNeeraj Upadhyay };
759*9cf0c526SNeeraj Upadhyay static const char * const gps_tx_c_groups[] = {
760*9cf0c526SNeeraj Upadhyay 	"gpio80",
761*9cf0c526SNeeraj Upadhyay };
762*9cf0c526SNeeraj Upadhyay static const char * const isense_dbg_groups[] = {
763*9cf0c526SNeeraj Upadhyay 	"gpio68",
764*9cf0c526SNeeraj Upadhyay };
765*9cf0c526SNeeraj Upadhyay static const char * const jitter_bist_groups[] = {
766*9cf0c526SNeeraj Upadhyay 	"gpio35",
767*9cf0c526SNeeraj Upadhyay };
768*9cf0c526SNeeraj Upadhyay static const char * const ldo_en_groups[] = {
769*9cf0c526SNeeraj Upadhyay 	"gpio97",
770*9cf0c526SNeeraj Upadhyay };
771*9cf0c526SNeeraj Upadhyay static const char * const ldo_update_groups[] = {
772*9cf0c526SNeeraj Upadhyay 	"gpio98",
773*9cf0c526SNeeraj Upadhyay };
774*9cf0c526SNeeraj Upadhyay static const char * const m_voc_groups[] = {
775*9cf0c526SNeeraj Upadhyay 	"gpio28",
776*9cf0c526SNeeraj Upadhyay };
777*9cf0c526SNeeraj Upadhyay static const char * const mdp_vsync_groups[] = {
778*9cf0c526SNeeraj Upadhyay 	"gpio59", "gpio74",
779*9cf0c526SNeeraj Upadhyay };
780*9cf0c526SNeeraj Upadhyay static const char * const mdss_vsync0_groups[] = {
781*9cf0c526SNeeraj Upadhyay 	"gpio42",
782*9cf0c526SNeeraj Upadhyay };
783*9cf0c526SNeeraj Upadhyay static const char * const mdss_vsync1_groups[] = {
784*9cf0c526SNeeraj Upadhyay 	"gpio42",
785*9cf0c526SNeeraj Upadhyay };
786*9cf0c526SNeeraj Upadhyay static const char * const mdss_vsync2_groups[] = {
787*9cf0c526SNeeraj Upadhyay 	"gpio42",
788*9cf0c526SNeeraj Upadhyay };
789*9cf0c526SNeeraj Upadhyay static const char * const mdss_vsync3_groups[] = {
790*9cf0c526SNeeraj Upadhyay 	"gpio42",
791*9cf0c526SNeeraj Upadhyay };
792*9cf0c526SNeeraj Upadhyay static const char * const mss_lte_groups[] = {
793*9cf0c526SNeeraj Upadhyay 	"gpio81", "gpio82",
794*9cf0c526SNeeraj Upadhyay };
795*9cf0c526SNeeraj Upadhyay static const char * const nav_pps_a_groups[] = {
796*9cf0c526SNeeraj Upadhyay 	"gpio65",
797*9cf0c526SNeeraj Upadhyay };
798*9cf0c526SNeeraj Upadhyay static const char * const nav_pps_b_groups[] = {
799*9cf0c526SNeeraj Upadhyay 	"gpio98",
800*9cf0c526SNeeraj Upadhyay };
801*9cf0c526SNeeraj Upadhyay static const char * const nav_pps_c_groups[] = {
802*9cf0c526SNeeraj Upadhyay 	"gpio80",
803*9cf0c526SNeeraj Upadhyay };
804*9cf0c526SNeeraj Upadhyay static const char * const pa_indicator_groups[] = {
805*9cf0c526SNeeraj Upadhyay 	"gpio92",
806*9cf0c526SNeeraj Upadhyay };
807*9cf0c526SNeeraj Upadhyay static const char * const phase_flag0_groups[] = {
808*9cf0c526SNeeraj Upadhyay 	"gpio68",
809*9cf0c526SNeeraj Upadhyay };
810*9cf0c526SNeeraj Upadhyay static const char * const phase_flag1_groups[] = {
811*9cf0c526SNeeraj Upadhyay 	"gpio48",
812*9cf0c526SNeeraj Upadhyay };
813*9cf0c526SNeeraj Upadhyay static const char * const phase_flag2_groups[] = {
814*9cf0c526SNeeraj Upadhyay 	"gpio49",
815*9cf0c526SNeeraj Upadhyay };
816*9cf0c526SNeeraj Upadhyay static const char * const phase_flag3_groups[] = {
817*9cf0c526SNeeraj Upadhyay 	"gpio4",
818*9cf0c526SNeeraj Upadhyay };
819*9cf0c526SNeeraj Upadhyay static const char * const phase_flag4_groups[] = {
820*9cf0c526SNeeraj Upadhyay 	"gpio57",
821*9cf0c526SNeeraj Upadhyay };
822*9cf0c526SNeeraj Upadhyay static const char * const phase_flag5_groups[] = {
823*9cf0c526SNeeraj Upadhyay 	"gpio17",
824*9cf0c526SNeeraj Upadhyay };
825*9cf0c526SNeeraj Upadhyay static const char * const phase_flag6_groups[] = {
826*9cf0c526SNeeraj Upadhyay 	"gpio53",
827*9cf0c526SNeeraj Upadhyay };
828*9cf0c526SNeeraj Upadhyay static const char * const phase_flag7_groups[] = {
829*9cf0c526SNeeraj Upadhyay 	"gpio69",
830*9cf0c526SNeeraj Upadhyay };
831*9cf0c526SNeeraj Upadhyay static const char * const phase_flag8_groups[] = {
832*9cf0c526SNeeraj Upadhyay 	"gpio70",
833*9cf0c526SNeeraj Upadhyay };
834*9cf0c526SNeeraj Upadhyay static const char * const phase_flag9_groups[] = {
835*9cf0c526SNeeraj Upadhyay 	"gpio50",
836*9cf0c526SNeeraj Upadhyay };
837*9cf0c526SNeeraj Upadhyay static const char * const phase_flag10_groups[] = {
838*9cf0c526SNeeraj Upadhyay 	"gpio56",
839*9cf0c526SNeeraj Upadhyay };
840*9cf0c526SNeeraj Upadhyay static const char * const phase_flag11_groups[] = {
841*9cf0c526SNeeraj Upadhyay 	"gpio21",
842*9cf0c526SNeeraj Upadhyay };
843*9cf0c526SNeeraj Upadhyay static const char * const phase_flag12_groups[] = {
844*9cf0c526SNeeraj Upadhyay 	"gpio22",
845*9cf0c526SNeeraj Upadhyay };
846*9cf0c526SNeeraj Upadhyay static const char * const phase_flag13_groups[] = {
847*9cf0c526SNeeraj Upadhyay 	"gpio23",
848*9cf0c526SNeeraj Upadhyay };
849*9cf0c526SNeeraj Upadhyay static const char * const phase_flag14_groups[] = {
850*9cf0c526SNeeraj Upadhyay 	"gpio5",
851*9cf0c526SNeeraj Upadhyay };
852*9cf0c526SNeeraj Upadhyay static const char * const phase_flag15_groups[] = {
853*9cf0c526SNeeraj Upadhyay 	"gpio51",
854*9cf0c526SNeeraj Upadhyay };
855*9cf0c526SNeeraj Upadhyay static const char * const phase_flag16_groups[] = {
856*9cf0c526SNeeraj Upadhyay 	"gpio52",
857*9cf0c526SNeeraj Upadhyay };
858*9cf0c526SNeeraj Upadhyay static const char * const phase_flag17_groups[] = {
859*9cf0c526SNeeraj Upadhyay 	"gpio24",
860*9cf0c526SNeeraj Upadhyay };
861*9cf0c526SNeeraj Upadhyay static const char * const phase_flag18_groups[] = {
862*9cf0c526SNeeraj Upadhyay 	"gpio25",
863*9cf0c526SNeeraj Upadhyay };
864*9cf0c526SNeeraj Upadhyay static const char * const phase_flag19_groups[] = {
865*9cf0c526SNeeraj Upadhyay 	"gpio26",
866*9cf0c526SNeeraj Upadhyay };
867*9cf0c526SNeeraj Upadhyay static const char * const phase_flag20_groups[] = {
868*9cf0c526SNeeraj Upadhyay 	"gpio27",
869*9cf0c526SNeeraj Upadhyay };
870*9cf0c526SNeeraj Upadhyay static const char * const phase_flag21_groups[] = {
871*9cf0c526SNeeraj Upadhyay 	"gpio28",
872*9cf0c526SNeeraj Upadhyay };
873*9cf0c526SNeeraj Upadhyay static const char * const phase_flag22_groups[] = {
874*9cf0c526SNeeraj Upadhyay 	"gpio29",
875*9cf0c526SNeeraj Upadhyay };
876*9cf0c526SNeeraj Upadhyay static const char * const phase_flag23_groups[] = {
877*9cf0c526SNeeraj Upadhyay 	"gpio30",
878*9cf0c526SNeeraj Upadhyay };
879*9cf0c526SNeeraj Upadhyay static const char * const phase_flag24_groups[] = {
880*9cf0c526SNeeraj Upadhyay 	"gpio31",
881*9cf0c526SNeeraj Upadhyay };
882*9cf0c526SNeeraj Upadhyay static const char * const phase_flag25_groups[] = {
883*9cf0c526SNeeraj Upadhyay 	"gpio55",
884*9cf0c526SNeeraj Upadhyay };
885*9cf0c526SNeeraj Upadhyay static const char * const phase_flag26_groups[] = {
886*9cf0c526SNeeraj Upadhyay 	"gpio12",
887*9cf0c526SNeeraj Upadhyay };
888*9cf0c526SNeeraj Upadhyay static const char * const phase_flag27_groups[] = {
889*9cf0c526SNeeraj Upadhyay 	"gpio13",
890*9cf0c526SNeeraj Upadhyay };
891*9cf0c526SNeeraj Upadhyay static const char * const phase_flag28_groups[] = {
892*9cf0c526SNeeraj Upadhyay 	"gpio14",
893*9cf0c526SNeeraj Upadhyay };
894*9cf0c526SNeeraj Upadhyay static const char * const phase_flag29_groups[] = {
895*9cf0c526SNeeraj Upadhyay 	"gpio54",
896*9cf0c526SNeeraj Upadhyay };
897*9cf0c526SNeeraj Upadhyay static const char * const phase_flag30_groups[] = {
898*9cf0c526SNeeraj Upadhyay 	"gpio47",
899*9cf0c526SNeeraj Upadhyay };
900*9cf0c526SNeeraj Upadhyay static const char * const phase_flag31_groups[] = {
901*9cf0c526SNeeraj Upadhyay 	"gpio6",
902*9cf0c526SNeeraj Upadhyay };
903*9cf0c526SNeeraj Upadhyay static const char * const pll_bypassnl_groups[] = {
904*9cf0c526SNeeraj Upadhyay 	"gpio36",
905*9cf0c526SNeeraj Upadhyay };
906*9cf0c526SNeeraj Upadhyay static const char * const pll_reset_groups[] = {
907*9cf0c526SNeeraj Upadhyay 	"gpio37",
908*9cf0c526SNeeraj Upadhyay };
909*9cf0c526SNeeraj Upadhyay static const char * const pri_mi2s_groups[] = {
910*9cf0c526SNeeraj Upadhyay 	"gpio12", "gpio14", "gpio15", "gpio61",
911*9cf0c526SNeeraj Upadhyay };
912*9cf0c526SNeeraj Upadhyay static const char * const pri_mi2s_ws_groups[] = {
913*9cf0c526SNeeraj Upadhyay 	"gpio13",
914*9cf0c526SNeeraj Upadhyay };
915*9cf0c526SNeeraj Upadhyay static const char * const prng_rosc_groups[] = {
916*9cf0c526SNeeraj Upadhyay 	"gpio102",
917*9cf0c526SNeeraj Upadhyay };
918*9cf0c526SNeeraj Upadhyay static const char * const pwr_crypto_groups[] = {
919*9cf0c526SNeeraj Upadhyay 	"gpio33",
920*9cf0c526SNeeraj Upadhyay };
921*9cf0c526SNeeraj Upadhyay static const char * const pwr_modem_groups[] = {
922*9cf0c526SNeeraj Upadhyay 	"gpio31",
923*9cf0c526SNeeraj Upadhyay };
924*9cf0c526SNeeraj Upadhyay static const char * const pwr_nav_groups[] = {
925*9cf0c526SNeeraj Upadhyay 	"gpio32",
926*9cf0c526SNeeraj Upadhyay };
927*9cf0c526SNeeraj Upadhyay static const char * const qdss_cti0_a_groups[] = {
928*9cf0c526SNeeraj Upadhyay 	"gpio49", "gpio50",
929*9cf0c526SNeeraj Upadhyay };
930*9cf0c526SNeeraj Upadhyay static const char * const qdss_cti0_b_groups[] = {
931*9cf0c526SNeeraj Upadhyay 	"gpio13", "gpio21",
932*9cf0c526SNeeraj Upadhyay };
933*9cf0c526SNeeraj Upadhyay static const char * const qdss_cti1_a_groups[] = {
934*9cf0c526SNeeraj Upadhyay 	"gpio53", "gpio55",
935*9cf0c526SNeeraj Upadhyay };
936*9cf0c526SNeeraj Upadhyay static const char * const qdss_cti1_b_groups[] = {
937*9cf0c526SNeeraj Upadhyay 	"gpio12", "gpio66",
938*9cf0c526SNeeraj Upadhyay };
939*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio0_groups[] = {
940*9cf0c526SNeeraj Upadhyay 	"gpio32", "gpio67",
941*9cf0c526SNeeraj Upadhyay };
942*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio10_groups[] = {
943*9cf0c526SNeeraj Upadhyay 	"gpio43", "gpio77",
944*9cf0c526SNeeraj Upadhyay };
945*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio11_groups[] = {
946*9cf0c526SNeeraj Upadhyay 	"gpio44", "gpio79",
947*9cf0c526SNeeraj Upadhyay };
948*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio12_groups[] = {
949*9cf0c526SNeeraj Upadhyay 	"gpio45", "gpio80",
950*9cf0c526SNeeraj Upadhyay };
951*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio13_groups[] = {
952*9cf0c526SNeeraj Upadhyay 	"gpio46", "gpio78",
953*9cf0c526SNeeraj Upadhyay };
954*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio14_groups[] = {
955*9cf0c526SNeeraj Upadhyay 	"gpio47", "gpio72",
956*9cf0c526SNeeraj Upadhyay };
957*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio15_groups[] = {
958*9cf0c526SNeeraj Upadhyay 	"gpio48", "gpio73",
959*9cf0c526SNeeraj Upadhyay };
960*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio1_groups[] = {
961*9cf0c526SNeeraj Upadhyay 	"gpio33", "gpio63",
962*9cf0c526SNeeraj Upadhyay };
963*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio2_groups[] = {
964*9cf0c526SNeeraj Upadhyay 	"gpio34", "gpio64",
965*9cf0c526SNeeraj Upadhyay };
966*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio3_groups[] = {
967*9cf0c526SNeeraj Upadhyay 	"gpio35", "gpio56",
968*9cf0c526SNeeraj Upadhyay };
969*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio4_groups[] = {
970*9cf0c526SNeeraj Upadhyay 	"gpio0", "gpio36",
971*9cf0c526SNeeraj Upadhyay };
972*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio5_groups[] = {
973*9cf0c526SNeeraj Upadhyay 	"gpio1", "gpio37",
974*9cf0c526SNeeraj Upadhyay };
975*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio6_groups[] = {
976*9cf0c526SNeeraj Upadhyay 	"gpio38", "gpio70",
977*9cf0c526SNeeraj Upadhyay };
978*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio7_groups[] = {
979*9cf0c526SNeeraj Upadhyay 	"gpio39", "gpio71",
980*9cf0c526SNeeraj Upadhyay };
981*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio8_groups[] = {
982*9cf0c526SNeeraj Upadhyay 	"gpio51", "gpio75",
983*9cf0c526SNeeraj Upadhyay };
984*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio9_groups[] = {
985*9cf0c526SNeeraj Upadhyay 	"gpio42", "gpio76",
986*9cf0c526SNeeraj Upadhyay };
987*9cf0c526SNeeraj Upadhyay static const char * const qdss_gpio_groups[] = {
988*9cf0c526SNeeraj Upadhyay 	"gpio31", "gpio52", "gpio68", "gpio69",
989*9cf0c526SNeeraj Upadhyay };
990*9cf0c526SNeeraj Upadhyay static const char * const qlink_enable_groups[] = {
991*9cf0c526SNeeraj Upadhyay 	"gpio100",
992*9cf0c526SNeeraj Upadhyay };
993*9cf0c526SNeeraj Upadhyay static const char * const qlink_request_groups[] = {
994*9cf0c526SNeeraj Upadhyay 	"gpio99",
995*9cf0c526SNeeraj Upadhyay };
996*9cf0c526SNeeraj Upadhyay static const char * const qspi_clk_groups[] = {
997*9cf0c526SNeeraj Upadhyay 	"gpio47",
998*9cf0c526SNeeraj Upadhyay };
999*9cf0c526SNeeraj Upadhyay static const char * const qspi_cs_groups[] = {
1000*9cf0c526SNeeraj Upadhyay 	"gpio43", "gpio50",
1001*9cf0c526SNeeraj Upadhyay };
1002*9cf0c526SNeeraj Upadhyay static const char * const qspi_data0_groups[] = {
1003*9cf0c526SNeeraj Upadhyay 	"gpio33",
1004*9cf0c526SNeeraj Upadhyay };
1005*9cf0c526SNeeraj Upadhyay static const char * const qspi_data1_groups[] = {
1006*9cf0c526SNeeraj Upadhyay 	"gpio34",
1007*9cf0c526SNeeraj Upadhyay };
1008*9cf0c526SNeeraj Upadhyay static const char * const qspi_data2_groups[] = {
1009*9cf0c526SNeeraj Upadhyay 	"gpio35",
1010*9cf0c526SNeeraj Upadhyay };
1011*9cf0c526SNeeraj Upadhyay static const char * const qspi_data3_groups[] = {
1012*9cf0c526SNeeraj Upadhyay 	"gpio51",
1013*9cf0c526SNeeraj Upadhyay };
1014*9cf0c526SNeeraj Upadhyay static const char * const qspi_resetn_groups[] = {
1015*9cf0c526SNeeraj Upadhyay 	"gpio48",
1016*9cf0c526SNeeraj Upadhyay };
1017*9cf0c526SNeeraj Upadhyay static const char * const sec_mi2s_groups[] = {
1018*9cf0c526SNeeraj Upadhyay 	"gpio24", "gpio25", "gpio26", "gpio27", "gpio62",
1019*9cf0c526SNeeraj Upadhyay };
1020*9cf0c526SNeeraj Upadhyay static const char * const sndwire_clk_groups[] = {
1021*9cf0c526SNeeraj Upadhyay 	"gpio24",
1022*9cf0c526SNeeraj Upadhyay };
1023*9cf0c526SNeeraj Upadhyay static const char * const sndwire_data_groups[] = {
1024*9cf0c526SNeeraj Upadhyay 	"gpio25",
1025*9cf0c526SNeeraj Upadhyay };
1026*9cf0c526SNeeraj Upadhyay static const char * const sp_cmu_groups[] = {
1027*9cf0c526SNeeraj Upadhyay 	"gpio64",
1028*9cf0c526SNeeraj Upadhyay };
1029*9cf0c526SNeeraj Upadhyay static const char * const ssc_irq_groups[] = {
1030*9cf0c526SNeeraj Upadhyay 	"gpio67", "gpio68", "gpio69", "gpio70", "gpio71", "gpio72", "gpio74",
1031*9cf0c526SNeeraj Upadhyay 	"gpio75", "gpio76",
1032*9cf0c526SNeeraj Upadhyay };
1033*9cf0c526SNeeraj Upadhyay static const char * const tgu_ch0_groups[] = {
1034*9cf0c526SNeeraj Upadhyay 	"gpio0",
1035*9cf0c526SNeeraj Upadhyay };
1036*9cf0c526SNeeraj Upadhyay static const char * const tgu_ch1_groups[] = {
1037*9cf0c526SNeeraj Upadhyay 	"gpio1",
1038*9cf0c526SNeeraj Upadhyay };
1039*9cf0c526SNeeraj Upadhyay static const char * const tsense_pwm1_groups[] = {
1040*9cf0c526SNeeraj Upadhyay 	"gpio71",
1041*9cf0c526SNeeraj Upadhyay };
1042*9cf0c526SNeeraj Upadhyay static const char * const tsense_pwm2_groups[] = {
1043*9cf0c526SNeeraj Upadhyay 	"gpio71",
1044*9cf0c526SNeeraj Upadhyay };
1045*9cf0c526SNeeraj Upadhyay static const char * const uim1_clk_groups[] = {
1046*9cf0c526SNeeraj Upadhyay 	"gpio88",
1047*9cf0c526SNeeraj Upadhyay };
1048*9cf0c526SNeeraj Upadhyay static const char * const uim1_data_groups[] = {
1049*9cf0c526SNeeraj Upadhyay 	"gpio87",
1050*9cf0c526SNeeraj Upadhyay };
1051*9cf0c526SNeeraj Upadhyay static const char * const uim1_present_groups[] = {
1052*9cf0c526SNeeraj Upadhyay 	"gpio90",
1053*9cf0c526SNeeraj Upadhyay };
1054*9cf0c526SNeeraj Upadhyay static const char * const uim1_reset_groups[] = {
1055*9cf0c526SNeeraj Upadhyay 	"gpio89",
1056*9cf0c526SNeeraj Upadhyay };
1057*9cf0c526SNeeraj Upadhyay static const char * const uim2_clk_groups[] = {
1058*9cf0c526SNeeraj Upadhyay 	"gpio84",
1059*9cf0c526SNeeraj Upadhyay };
1060*9cf0c526SNeeraj Upadhyay static const char * const uim2_data_groups[] = {
1061*9cf0c526SNeeraj Upadhyay 	"gpio83",
1062*9cf0c526SNeeraj Upadhyay };
1063*9cf0c526SNeeraj Upadhyay static const char * const uim2_present_groups[] = {
1064*9cf0c526SNeeraj Upadhyay 	"gpio86",
1065*9cf0c526SNeeraj Upadhyay };
1066*9cf0c526SNeeraj Upadhyay static const char * const uim2_reset_groups[] = {
1067*9cf0c526SNeeraj Upadhyay 	"gpio85",
1068*9cf0c526SNeeraj Upadhyay };
1069*9cf0c526SNeeraj Upadhyay static const char * const uim_batt_groups[] = {
1070*9cf0c526SNeeraj Upadhyay 	"gpio91",
1071*9cf0c526SNeeraj Upadhyay };
1072*9cf0c526SNeeraj Upadhyay static const char * const vfr_1_groups[] = {
1073*9cf0c526SNeeraj Upadhyay 	"gpio27",
1074*9cf0c526SNeeraj Upadhyay };
1075*9cf0c526SNeeraj Upadhyay static const char * const vsense_clkout_groups[] = {
1076*9cf0c526SNeeraj Upadhyay 	"gpio24",
1077*9cf0c526SNeeraj Upadhyay };
1078*9cf0c526SNeeraj Upadhyay static const char * const vsense_data0_groups[] = {
1079*9cf0c526SNeeraj Upadhyay 	"gpio21",
1080*9cf0c526SNeeraj Upadhyay };
1081*9cf0c526SNeeraj Upadhyay static const char * const vsense_data1_groups[] = {
1082*9cf0c526SNeeraj Upadhyay 	"gpio22",
1083*9cf0c526SNeeraj Upadhyay };
1084*9cf0c526SNeeraj Upadhyay static const char * const vsense_mode_groups[] = {
1085*9cf0c526SNeeraj Upadhyay 	"gpio23",
1086*9cf0c526SNeeraj Upadhyay };
1087*9cf0c526SNeeraj Upadhyay static const char * const wlan1_adc0_groups[] = {
1088*9cf0c526SNeeraj Upadhyay 	"gpio9",
1089*9cf0c526SNeeraj Upadhyay };
1090*9cf0c526SNeeraj Upadhyay static const char * const wlan1_adc1_groups[] = {
1091*9cf0c526SNeeraj Upadhyay 	"gpio8",
1092*9cf0c526SNeeraj Upadhyay };
1093*9cf0c526SNeeraj Upadhyay static const char * const wlan2_adc0_groups[] = {
1094*9cf0c526SNeeraj Upadhyay 	"gpio11",
1095*9cf0c526SNeeraj Upadhyay };
1096*9cf0c526SNeeraj Upadhyay static const char * const wlan2_adc1_groups[] = {
1097*9cf0c526SNeeraj Upadhyay 	"gpio10",
1098*9cf0c526SNeeraj Upadhyay };
1099*9cf0c526SNeeraj Upadhyay 
1100*9cf0c526SNeeraj Upadhyay static const struct msm_function sdm660_functions[] = {
1101*9cf0c526SNeeraj Upadhyay 	FUNCTION(adsp_ext),
1102*9cf0c526SNeeraj Upadhyay 	FUNCTION(agera_pll),
1103*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_char),
1104*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_char0),
1105*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_char1),
1106*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_char2),
1107*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_char3),
1108*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_gpsadc0),
1109*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_gpsadc1),
1110*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_tsens),
1111*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_tsens2),
1112*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb1),
1113*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb10),
1114*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb11),
1115*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb12),
1116*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb13),
1117*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb2),
1118*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb20),
1119*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb21),
1120*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb22),
1121*9cf0c526SNeeraj Upadhyay 	FUNCTION(atest_usb23),
1122*9cf0c526SNeeraj Upadhyay 	FUNCTION(audio_ref),
1123*9cf0c526SNeeraj Upadhyay 	FUNCTION(bimc_dte0),
1124*9cf0c526SNeeraj Upadhyay 	FUNCTION(bimc_dte1),
1125*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_i2c1),
1126*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_i2c2),
1127*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_i2c3),
1128*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_i2c4),
1129*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_i2c5),
1130*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_i2c6),
1131*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_i2c7),
1132*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_i2c8_a),
1133*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_i2c8_b),
1134*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi1),
1135*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi2),
1136*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi3),
1137*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi3_cs1),
1138*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi3_cs2),
1139*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi4),
1140*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi5),
1141*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi6),
1142*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi7),
1143*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi8_a),
1144*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi8_b),
1145*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi8_cs1),
1146*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_spi8_cs2),
1147*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_uart1),
1148*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_uart2),
1149*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_uart5),
1150*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_uart6_a),
1151*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_uart6_b),
1152*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_uim1),
1153*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_uim2),
1154*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_uim5),
1155*9cf0c526SNeeraj Upadhyay 	FUNCTION(blsp_uim6),
1156*9cf0c526SNeeraj Upadhyay 	FUNCTION(cam_mclk),
1157*9cf0c526SNeeraj Upadhyay 	FUNCTION(cci_async),
1158*9cf0c526SNeeraj Upadhyay 	FUNCTION(cci_i2c),
1159*9cf0c526SNeeraj Upadhyay 	FUNCTION(cri_trng),
1160*9cf0c526SNeeraj Upadhyay 	FUNCTION(cri_trng0),
1161*9cf0c526SNeeraj Upadhyay 	FUNCTION(cri_trng1),
1162*9cf0c526SNeeraj Upadhyay 	FUNCTION(dbg_out),
1163*9cf0c526SNeeraj Upadhyay 	FUNCTION(ddr_bist),
1164*9cf0c526SNeeraj Upadhyay 	FUNCTION(gcc_gp1),
1165*9cf0c526SNeeraj Upadhyay 	FUNCTION(gcc_gp2),
1166*9cf0c526SNeeraj Upadhyay 	FUNCTION(gcc_gp3),
1167*9cf0c526SNeeraj Upadhyay 	FUNCTION(gpio),
1168*9cf0c526SNeeraj Upadhyay 	FUNCTION(gps_tx_a),
1169*9cf0c526SNeeraj Upadhyay 	FUNCTION(gps_tx_b),
1170*9cf0c526SNeeraj Upadhyay 	FUNCTION(gps_tx_c),
1171*9cf0c526SNeeraj Upadhyay 	FUNCTION(isense_dbg),
1172*9cf0c526SNeeraj Upadhyay 	FUNCTION(jitter_bist),
1173*9cf0c526SNeeraj Upadhyay 	FUNCTION(ldo_en),
1174*9cf0c526SNeeraj Upadhyay 	FUNCTION(ldo_update),
1175*9cf0c526SNeeraj Upadhyay 	FUNCTION(m_voc),
1176*9cf0c526SNeeraj Upadhyay 	FUNCTION(mdp_vsync),
1177*9cf0c526SNeeraj Upadhyay 	FUNCTION(mdss_vsync0),
1178*9cf0c526SNeeraj Upadhyay 	FUNCTION(mdss_vsync1),
1179*9cf0c526SNeeraj Upadhyay 	FUNCTION(mdss_vsync2),
1180*9cf0c526SNeeraj Upadhyay 	FUNCTION(mdss_vsync3),
1181*9cf0c526SNeeraj Upadhyay 	FUNCTION(mss_lte),
1182*9cf0c526SNeeraj Upadhyay 	FUNCTION(nav_pps_a),
1183*9cf0c526SNeeraj Upadhyay 	FUNCTION(nav_pps_b),
1184*9cf0c526SNeeraj Upadhyay 	FUNCTION(nav_pps_c),
1185*9cf0c526SNeeraj Upadhyay 	FUNCTION(pa_indicator),
1186*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag0),
1187*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag1),
1188*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag2),
1189*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag3),
1190*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag4),
1191*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag5),
1192*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag6),
1193*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag7),
1194*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag8),
1195*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag9),
1196*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag10),
1197*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag11),
1198*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag12),
1199*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag13),
1200*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag14),
1201*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag15),
1202*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag16),
1203*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag17),
1204*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag18),
1205*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag19),
1206*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag20),
1207*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag21),
1208*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag22),
1209*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag23),
1210*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag24),
1211*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag25),
1212*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag26),
1213*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag27),
1214*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag28),
1215*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag29),
1216*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag30),
1217*9cf0c526SNeeraj Upadhyay 	FUNCTION(phase_flag31),
1218*9cf0c526SNeeraj Upadhyay 	FUNCTION(pll_bypassnl),
1219*9cf0c526SNeeraj Upadhyay 	FUNCTION(pll_reset),
1220*9cf0c526SNeeraj Upadhyay 	FUNCTION(pri_mi2s),
1221*9cf0c526SNeeraj Upadhyay 	FUNCTION(pri_mi2s_ws),
1222*9cf0c526SNeeraj Upadhyay 	FUNCTION(prng_rosc),
1223*9cf0c526SNeeraj Upadhyay 	FUNCTION(pwr_crypto),
1224*9cf0c526SNeeraj Upadhyay 	FUNCTION(pwr_modem),
1225*9cf0c526SNeeraj Upadhyay 	FUNCTION(pwr_nav),
1226*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_cti0_a),
1227*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_cti0_b),
1228*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_cti1_a),
1229*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_cti1_b),
1230*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio),
1231*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio0),
1232*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio1),
1233*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio10),
1234*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio11),
1235*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio12),
1236*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio13),
1237*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio14),
1238*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio15),
1239*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio2),
1240*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio3),
1241*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio4),
1242*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio5),
1243*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio6),
1244*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio7),
1245*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio8),
1246*9cf0c526SNeeraj Upadhyay 	FUNCTION(qdss_gpio9),
1247*9cf0c526SNeeraj Upadhyay 	FUNCTION(qlink_enable),
1248*9cf0c526SNeeraj Upadhyay 	FUNCTION(qlink_request),
1249*9cf0c526SNeeraj Upadhyay 	FUNCTION(qspi_clk),
1250*9cf0c526SNeeraj Upadhyay 	FUNCTION(qspi_cs),
1251*9cf0c526SNeeraj Upadhyay 	FUNCTION(qspi_data0),
1252*9cf0c526SNeeraj Upadhyay 	FUNCTION(qspi_data1),
1253*9cf0c526SNeeraj Upadhyay 	FUNCTION(qspi_data2),
1254*9cf0c526SNeeraj Upadhyay 	FUNCTION(qspi_data3),
1255*9cf0c526SNeeraj Upadhyay 	FUNCTION(qspi_resetn),
1256*9cf0c526SNeeraj Upadhyay 	FUNCTION(sec_mi2s),
1257*9cf0c526SNeeraj Upadhyay 	FUNCTION(sndwire_clk),
1258*9cf0c526SNeeraj Upadhyay 	FUNCTION(sndwire_data),
1259*9cf0c526SNeeraj Upadhyay 	FUNCTION(sp_cmu),
1260*9cf0c526SNeeraj Upadhyay 	FUNCTION(ssc_irq),
1261*9cf0c526SNeeraj Upadhyay 	FUNCTION(tgu_ch0),
1262*9cf0c526SNeeraj Upadhyay 	FUNCTION(tgu_ch1),
1263*9cf0c526SNeeraj Upadhyay 	FUNCTION(tsense_pwm1),
1264*9cf0c526SNeeraj Upadhyay 	FUNCTION(tsense_pwm2),
1265*9cf0c526SNeeraj Upadhyay 	FUNCTION(uim1_clk),
1266*9cf0c526SNeeraj Upadhyay 	FUNCTION(uim1_data),
1267*9cf0c526SNeeraj Upadhyay 	FUNCTION(uim1_present),
1268*9cf0c526SNeeraj Upadhyay 	FUNCTION(uim1_reset),
1269*9cf0c526SNeeraj Upadhyay 	FUNCTION(uim2_clk),
1270*9cf0c526SNeeraj Upadhyay 	FUNCTION(uim2_data),
1271*9cf0c526SNeeraj Upadhyay 	FUNCTION(uim2_present),
1272*9cf0c526SNeeraj Upadhyay 	FUNCTION(uim2_reset),
1273*9cf0c526SNeeraj Upadhyay 	FUNCTION(uim_batt),
1274*9cf0c526SNeeraj Upadhyay 	FUNCTION(vfr_1),
1275*9cf0c526SNeeraj Upadhyay 	FUNCTION(vsense_clkout),
1276*9cf0c526SNeeraj Upadhyay 	FUNCTION(vsense_data0),
1277*9cf0c526SNeeraj Upadhyay 	FUNCTION(vsense_data1),
1278*9cf0c526SNeeraj Upadhyay 	FUNCTION(vsense_mode),
1279*9cf0c526SNeeraj Upadhyay 	FUNCTION(wlan1_adc0),
1280*9cf0c526SNeeraj Upadhyay 	FUNCTION(wlan1_adc1),
1281*9cf0c526SNeeraj Upadhyay 	FUNCTION(wlan2_adc0),
1282*9cf0c526SNeeraj Upadhyay 	FUNCTION(wlan2_adc1),
1283*9cf0c526SNeeraj Upadhyay };
1284*9cf0c526SNeeraj Upadhyay 
1285*9cf0c526SNeeraj Upadhyay static const struct msm_pingroup sdm660_groups[] = {
1286*9cf0c526SNeeraj Upadhyay 	PINGROUP(0, SOUTH, blsp_spi1, blsp_uart1, blsp_uim1, tgu_ch0, _, _, qdss_gpio4, atest_gpsadc1, _),
1287*9cf0c526SNeeraj Upadhyay 	PINGROUP(1, SOUTH, blsp_spi1, blsp_uart1, blsp_uim1, tgu_ch1, _, _, qdss_gpio5, atest_gpsadc0, _),
1288*9cf0c526SNeeraj Upadhyay 	PINGROUP(2, SOUTH, blsp_spi1, blsp_uart1, blsp_i2c1, _, _, _, _, _, _),
1289*9cf0c526SNeeraj Upadhyay 	PINGROUP(3, SOUTH, blsp_spi1, blsp_uart1, blsp_i2c1, ddr_bist, _, _, atest_tsens2, atest_usb1, _),
1290*9cf0c526SNeeraj Upadhyay 	PINGROUP(4, NORTH, blsp_spi2, blsp_uim2, blsp_uart2, phase_flag3, _, _, _, _, _),
1291*9cf0c526SNeeraj Upadhyay 	PINGROUP(5, SOUTH, blsp_spi2, blsp_uim2, blsp_uart2, phase_flag14, _, _, _, _, _),
1292*9cf0c526SNeeraj Upadhyay 	PINGROUP(6, SOUTH, blsp_spi2, blsp_i2c2, blsp_uart2, phase_flag31, _, _, _, _, _),
1293*9cf0c526SNeeraj Upadhyay 	PINGROUP(7, SOUTH, blsp_spi2, blsp_i2c2, blsp_uart2, _, _, _, _, _, _),
1294*9cf0c526SNeeraj Upadhyay 	PINGROUP(8, NORTH, blsp_spi3, ddr_bist, _, _, _, wlan1_adc1, atest_usb13, bimc_dte1, _),
1295*9cf0c526SNeeraj Upadhyay 	PINGROUP(9, NORTH, blsp_spi3, ddr_bist, _, _, _, wlan1_adc0, atest_usb12, bimc_dte0, _),
1296*9cf0c526SNeeraj Upadhyay 	PINGROUP(10, NORTH, blsp_spi3, blsp_i2c3, ddr_bist, _, _, wlan2_adc1, atest_usb11, bimc_dte1, _),
1297*9cf0c526SNeeraj Upadhyay 	PINGROUP(11, NORTH, blsp_spi3, blsp_i2c3, _, dbg_out, wlan2_adc0, atest_usb10, bimc_dte0, _, _),
1298*9cf0c526SNeeraj Upadhyay 	PINGROUP(12, NORTH, blsp_spi4, pri_mi2s, _, phase_flag26, qdss_cti1_b, _, _, _, _),
1299*9cf0c526SNeeraj Upadhyay 	PINGROUP(13, NORTH, blsp_spi4, _, pri_mi2s_ws, _, _, phase_flag27, qdss_cti0_b, _, _),
1300*9cf0c526SNeeraj Upadhyay 	PINGROUP(14, NORTH, blsp_spi4, blsp_i2c4, pri_mi2s, _, phase_flag28, _, _, _, _),
1301*9cf0c526SNeeraj Upadhyay 	PINGROUP(15, NORTH, blsp_spi4, blsp_i2c4, pri_mi2s, _, _, _, _, _, _),
1302*9cf0c526SNeeraj Upadhyay 	PINGROUP(16, CENTER, blsp_uart5, blsp_spi5, blsp_uim5, _, _, _, _, _, _),
1303*9cf0c526SNeeraj Upadhyay 	PINGROUP(17, CENTER, blsp_uart5, blsp_spi5, blsp_uim5, _, phase_flag5, _, _, _, _),
1304*9cf0c526SNeeraj Upadhyay 	PINGROUP(18, CENTER, blsp_uart5, blsp_spi5, blsp_i2c5, _, _, _, _, _, _),
1305*9cf0c526SNeeraj Upadhyay 	PINGROUP(19, CENTER, blsp_uart5, blsp_spi5, blsp_i2c5, _, _, _, _, _, _),
1306*9cf0c526SNeeraj Upadhyay 	PINGROUP(20, SOUTH, _, _, blsp_uim6, _, _, _, _, _, _),
1307*9cf0c526SNeeraj Upadhyay 	PINGROUP(21, SOUTH, _, _, blsp_uim6, _, phase_flag11, qdss_cti0_b, vsense_data0, _, _),
1308*9cf0c526SNeeraj Upadhyay 	PINGROUP(22, CENTER, blsp_spi6, _, blsp_i2c6, _, phase_flag12, vsense_data1, _, _, _),
1309*9cf0c526SNeeraj Upadhyay 	PINGROUP(23, CENTER, blsp_spi6, _, blsp_i2c6, _, phase_flag13, vsense_mode, _, _, _),
1310*9cf0c526SNeeraj Upadhyay 	PINGROUP(24, NORTH, blsp_spi7, blsp_uart6_a, sec_mi2s, sndwire_clk, _, _, phase_flag17, vsense_clkout, _),
1311*9cf0c526SNeeraj Upadhyay 	PINGROUP(25, NORTH, blsp_spi7, blsp_uart6_a, sec_mi2s, sndwire_data, _, _, phase_flag18, _, _),
1312*9cf0c526SNeeraj Upadhyay 	PINGROUP(26, NORTH, blsp_spi7, blsp_uart6_a, blsp_i2c7, sec_mi2s, _, phase_flag19, _, _, _),
1313*9cf0c526SNeeraj Upadhyay 	PINGROUP(27, NORTH, blsp_spi7, blsp_uart6_a, blsp_i2c7, vfr_1, sec_mi2s, _, phase_flag20, _, _),
1314*9cf0c526SNeeraj Upadhyay 	PINGROUP(28, CENTER, blsp_spi8_a, blsp_uart6_b, m_voc, _, phase_flag21, _, _, _, _),
1315*9cf0c526SNeeraj Upadhyay 	PINGROUP(29, CENTER, blsp_spi8_a, blsp_uart6_b, _, _, phase_flag22, _, _, _, _),
1316*9cf0c526SNeeraj Upadhyay 	PINGROUP(30, CENTER, blsp_spi8_a, blsp_uart6_b, blsp_i2c8_a, blsp_spi3_cs1, _, phase_flag23, _, _, _),
1317*9cf0c526SNeeraj Upadhyay 	PINGROUP(31, CENTER, blsp_spi8_a, blsp_uart6_b, blsp_i2c8_a, pwr_modem, _, phase_flag24, qdss_gpio, _, _),
1318*9cf0c526SNeeraj Upadhyay 	PINGROUP(32, SOUTH, cam_mclk, pwr_nav, _, _, qdss_gpio0, _, _, _, _),
1319*9cf0c526SNeeraj Upadhyay 	PINGROUP(33, SOUTH, cam_mclk, qspi_data0, pwr_crypto, _, _, qdss_gpio1, _, _, _),
1320*9cf0c526SNeeraj Upadhyay 	PINGROUP(34, SOUTH, cam_mclk, qspi_data1, agera_pll, _, _, qdss_gpio2, _, _, _),
1321*9cf0c526SNeeraj Upadhyay 	PINGROUP(35, SOUTH, cam_mclk, qspi_data2, jitter_bist, _, _, qdss_gpio3, _, atest_usb2, _),
1322*9cf0c526SNeeraj Upadhyay 	PINGROUP(36, SOUTH, cci_i2c, pll_bypassnl, agera_pll, _, _, qdss_gpio4, atest_tsens, atest_usb21, _),
1323*9cf0c526SNeeraj Upadhyay 	PINGROUP(37, SOUTH, cci_i2c, pll_reset, _, _, qdss_gpio5, atest_usb23, _, _, _),
1324*9cf0c526SNeeraj Upadhyay 	PINGROUP(38, SOUTH, cci_i2c, _, _, qdss_gpio6, _, _, _, _, _),
1325*9cf0c526SNeeraj Upadhyay 	PINGROUP(39, SOUTH, cci_i2c, _, _, qdss_gpio7, _, _, _, _, _),
1326*9cf0c526SNeeraj Upadhyay 	PINGROUP(40, SOUTH, _, _, blsp_spi8_b, _, _, _, _, _, _),
1327*9cf0c526SNeeraj Upadhyay 	PINGROUP(41, SOUTH, _, _, blsp_spi8_b, _, _, _, _, _, _),
1328*9cf0c526SNeeraj Upadhyay 	PINGROUP(42, SOUTH, mdss_vsync0, mdss_vsync1, mdss_vsync2, mdss_vsync3, _, _, qdss_gpio9, _, _),
1329*9cf0c526SNeeraj Upadhyay 	PINGROUP(43, SOUTH, _, _, qspi_cs, _, _, qdss_gpio10, _, _, _),
1330*9cf0c526SNeeraj Upadhyay 	PINGROUP(44, SOUTH, _, _, blsp_spi8_b, blsp_i2c8_b, _, _, qdss_gpio11, _, _),
1331*9cf0c526SNeeraj Upadhyay 	PINGROUP(45, SOUTH, cci_async, _, _, qdss_gpio12, _, _, _, _, _),
1332*9cf0c526SNeeraj Upadhyay 	PINGROUP(46, SOUTH, blsp_spi1, _, _, qdss_gpio13, _, _, _, _, _),
1333*9cf0c526SNeeraj Upadhyay 	PINGROUP(47, SOUTH, qspi_clk, _, phase_flag30, qdss_gpio14, _, _, _, _, _),
1334*9cf0c526SNeeraj Upadhyay 	PINGROUP(48, SOUTH, _, phase_flag1, qdss_gpio15, _, _, _, _, _, _),
1335*9cf0c526SNeeraj Upadhyay 	PINGROUP(49, SOUTH, blsp_spi6, phase_flag2, qdss_cti0_a, _, _, _, _, _, _),
1336*9cf0c526SNeeraj Upadhyay 	PINGROUP(50, SOUTH, qspi_cs, _, phase_flag9, qdss_cti0_a, _, _, _, _, _),
1337*9cf0c526SNeeraj Upadhyay 	PINGROUP(51, SOUTH, qspi_data3, _, phase_flag15, qdss_gpio8, _, _, _, _, _),
1338*9cf0c526SNeeraj Upadhyay 	PINGROUP(52, SOUTH, _, blsp_spi8_b, blsp_i2c8_b, blsp_spi6, phase_flag16, qdss_gpio, _, _, _),
1339*9cf0c526SNeeraj Upadhyay 	PINGROUP(53, NORTH, _, phase_flag6, qdss_cti1_a, _, _, _, _, _, _),
1340*9cf0c526SNeeraj Upadhyay 	PINGROUP(54, NORTH, _, _, phase_flag29, _, _, _, _, _, _),
1341*9cf0c526SNeeraj Upadhyay 	PINGROUP(55, SOUTH, _, phase_flag25, qdss_cti1_a, _, _, _, _, _, _),
1342*9cf0c526SNeeraj Upadhyay 	PINGROUP(56, SOUTH, _, phase_flag10, qdss_gpio3, _, atest_usb20, _, _, _, _),
1343*9cf0c526SNeeraj Upadhyay 	PINGROUP(57, SOUTH, gcc_gp1, _, phase_flag4, atest_usb22, _, _, _, _, _),
1344*9cf0c526SNeeraj Upadhyay 	PINGROUP(58, SOUTH, _, gcc_gp2, _, _, atest_char, _, _, _, _),
1345*9cf0c526SNeeraj Upadhyay 	PINGROUP(59, NORTH, mdp_vsync, gcc_gp3, _, _, atest_char3, _, _, _, _),
1346*9cf0c526SNeeraj Upadhyay 	PINGROUP(60, NORTH, cri_trng0, _, _, atest_char2, _, _, _, _, _),
1347*9cf0c526SNeeraj Upadhyay 	PINGROUP(61, NORTH, pri_mi2s, cri_trng1, _, _, atest_char1, _, _, _, _),
1348*9cf0c526SNeeraj Upadhyay 	PINGROUP(62, NORTH, sec_mi2s, audio_ref, _, cri_trng, _, _, atest_char0, _, _),
1349*9cf0c526SNeeraj Upadhyay 	PINGROUP(63, NORTH, _, _, _, qdss_gpio1, _, _, _, _, _),
1350*9cf0c526SNeeraj Upadhyay 	PINGROUP(64, SOUTH, blsp_spi8_cs1, sp_cmu, _, _, qdss_gpio2, _, _, _, _),
1351*9cf0c526SNeeraj Upadhyay 	PINGROUP(65, SOUTH, _, nav_pps_a, nav_pps_a, gps_tx_a, blsp_spi3_cs2, adsp_ext, _, _, _),
1352*9cf0c526SNeeraj Upadhyay 	PINGROUP(66, NORTH, _, _, qdss_cti1_b, _, _, _, _, _, _),
1353*9cf0c526SNeeraj Upadhyay 	PINGROUP(67, NORTH, _, _, qdss_gpio0, _, _, _, _, _, _),
1354*9cf0c526SNeeraj Upadhyay 	PINGROUP(68, NORTH, isense_dbg, _, phase_flag0, qdss_gpio, _, _, _, _, _),
1355*9cf0c526SNeeraj Upadhyay 	PINGROUP(69, NORTH, _, phase_flag7, qdss_gpio, _, _, _, _, _, _),
1356*9cf0c526SNeeraj Upadhyay 	PINGROUP(70, NORTH, _, phase_flag8, qdss_gpio6, _, _, _, _, _, _),
1357*9cf0c526SNeeraj Upadhyay 	PINGROUP(71, NORTH, _, _, qdss_gpio7, tsense_pwm1, tsense_pwm2, _, _, _, _),
1358*9cf0c526SNeeraj Upadhyay 	PINGROUP(72, NORTH, _, qdss_gpio14, _, _, _, _, _, _, _),
1359*9cf0c526SNeeraj Upadhyay 	PINGROUP(73, NORTH, _, _, qdss_gpio15, _, _, _, _, _, _),
1360*9cf0c526SNeeraj Upadhyay 	PINGROUP(74, NORTH, mdp_vsync, _, _, _, _, _, _, _, _),
1361*9cf0c526SNeeraj Upadhyay 	PINGROUP(75, NORTH, _, _, qdss_gpio8, _, _, _, _, _, _),
1362*9cf0c526SNeeraj Upadhyay 	PINGROUP(76, NORTH, blsp_spi8_cs2, _, _, _, qdss_gpio9, _, _, _, _),
1363*9cf0c526SNeeraj Upadhyay 	PINGROUP(77, NORTH, _, _, qdss_gpio10, _, _, _, _, _, _),
1364*9cf0c526SNeeraj Upadhyay 	PINGROUP(78, NORTH, gcc_gp1, _, qdss_gpio13, _, _, _, _, _, _),
1365*9cf0c526SNeeraj Upadhyay 	PINGROUP(79, SOUTH, _, _, qdss_gpio11, _, _, _, _, _, _),
1366*9cf0c526SNeeraj Upadhyay 	PINGROUP(80, SOUTH, nav_pps_b, nav_pps_b, gps_tx_c, _, _, qdss_gpio12, _, _, _),
1367*9cf0c526SNeeraj Upadhyay 	PINGROUP(81, CENTER, mss_lte, gcc_gp2, _, _, _, _, _, _, _),
1368*9cf0c526SNeeraj Upadhyay 	PINGROUP(82, CENTER, mss_lte, gcc_gp3, _, _, _, _, _, _, _),
1369*9cf0c526SNeeraj Upadhyay 	PINGROUP(83, SOUTH, uim2_data, _, _, _, _, _, _, _, _),
1370*9cf0c526SNeeraj Upadhyay 	PINGROUP(84, SOUTH, uim2_clk, _, _, _, _, _, _, _, _),
1371*9cf0c526SNeeraj Upadhyay 	PINGROUP(85, SOUTH, uim2_reset, _, _, _, _, _, _, _, _),
1372*9cf0c526SNeeraj Upadhyay 	PINGROUP(86, SOUTH, uim2_present, _, _, _, _, _, _, _, _),
1373*9cf0c526SNeeraj Upadhyay 	PINGROUP(87, SOUTH, uim1_data, _, _, _, _, _, _, _, _),
1374*9cf0c526SNeeraj Upadhyay 	PINGROUP(88, SOUTH, uim1_clk, _, _, _, _, _, _, _, _),
1375*9cf0c526SNeeraj Upadhyay 	PINGROUP(89, SOUTH, uim1_reset, _, _, _, _, _, _, _, _),
1376*9cf0c526SNeeraj Upadhyay 	PINGROUP(90, SOUTH, uim1_present, _, _, _, _, _, _, _, _),
1377*9cf0c526SNeeraj Upadhyay 	PINGROUP(91, SOUTH, uim_batt, _, _, _, _, _, _, _, _),
1378*9cf0c526SNeeraj Upadhyay 	PINGROUP(92, SOUTH, _, _, pa_indicator, _, _, _, _, _, _),
1379*9cf0c526SNeeraj Upadhyay 	PINGROUP(93, SOUTH, _, _, _, _, _, _, _, _, _),
1380*9cf0c526SNeeraj Upadhyay 	PINGROUP(94, SOUTH, _, _, _, _, _, _, _, _, _),
1381*9cf0c526SNeeraj Upadhyay 	PINGROUP(95, SOUTH, _, _, _, _, _, _, _, _, _),
1382*9cf0c526SNeeraj Upadhyay 	PINGROUP(96, SOUTH, _, _, _, _, _, _, _, _, _),
1383*9cf0c526SNeeraj Upadhyay 	PINGROUP(97, SOUTH, _, ldo_en, _, _, _, _, _, _, _),
1384*9cf0c526SNeeraj Upadhyay 	PINGROUP(98, SOUTH, _, nav_pps_c, nav_pps_c, gps_tx_b, ldo_update, _, _, _, _),
1385*9cf0c526SNeeraj Upadhyay 	PINGROUP(99, SOUTH, qlink_request, _, _, _, _, _, _, _, _),
1386*9cf0c526SNeeraj Upadhyay 	PINGROUP(100, SOUTH, qlink_enable, _, _, _, _, _, _, _, _),
1387*9cf0c526SNeeraj Upadhyay 	PINGROUP(101, SOUTH, _, _, _, _, _, _, _, _, _),
1388*9cf0c526SNeeraj Upadhyay 	PINGROUP(102, SOUTH, _, prng_rosc, _, _, _, _, _, _, _),
1389*9cf0c526SNeeraj Upadhyay 	PINGROUP(103, SOUTH, _, _, _, _, _, _, _, _, _),
1390*9cf0c526SNeeraj Upadhyay 	PINGROUP(104, SOUTH, _, _, _, _, _, _, _, _, _),
1391*9cf0c526SNeeraj Upadhyay 	PINGROUP(105, SOUTH, _, _, _, _, _, _, _, _, _),
1392*9cf0c526SNeeraj Upadhyay 	PINGROUP(106, SOUTH, _, _, _, _, _, _, _, _, _),
1393*9cf0c526SNeeraj Upadhyay 	PINGROUP(107, SOUTH, _, _, _, _, _, _, _, _, _),
1394*9cf0c526SNeeraj Upadhyay 	PINGROUP(108, SOUTH, _, _, _, _, _, _, _, _, _),
1395*9cf0c526SNeeraj Upadhyay 	PINGROUP(109, SOUTH, _, _, _, _, _, _, _, _, _),
1396*9cf0c526SNeeraj Upadhyay 	PINGROUP(110, SOUTH, _, _, _, _, _, _, _, _, _),
1397*9cf0c526SNeeraj Upadhyay 	PINGROUP(111, SOUTH, _, _, _, _, _, _, _, _, _),
1398*9cf0c526SNeeraj Upadhyay 	PINGROUP(112, SOUTH, _, _, _, _, _, _, _, _, _),
1399*9cf0c526SNeeraj Upadhyay 	PINGROUP(113, SOUTH, _, _, _, _, _, _, _, _, _),
1400*9cf0c526SNeeraj Upadhyay 	SDC_QDSD_PINGROUP(sdc1_clk, 0x99a000, 13, 6),
1401*9cf0c526SNeeraj Upadhyay 	SDC_QDSD_PINGROUP(sdc1_cmd, 0x99a000, 11, 3),
1402*9cf0c526SNeeraj Upadhyay 	SDC_QDSD_PINGROUP(sdc1_data, 0x99a000, 9, 0),
1403*9cf0c526SNeeraj Upadhyay 	SDC_QDSD_PINGROUP(sdc2_clk, 0x99b000, 14, 6),
1404*9cf0c526SNeeraj Upadhyay 	SDC_QDSD_PINGROUP(sdc2_cmd, 0x99b000, 11, 3),
1405*9cf0c526SNeeraj Upadhyay 	SDC_QDSD_PINGROUP(sdc2_data, 0x99b000, 9, 0),
1406*9cf0c526SNeeraj Upadhyay 	SDC_QDSD_PINGROUP(sdc1_rclk, 0x99a000, 15, 0),
1407*9cf0c526SNeeraj Upadhyay };
1408*9cf0c526SNeeraj Upadhyay 
1409*9cf0c526SNeeraj Upadhyay static const struct msm_pinctrl_soc_data sdm660_pinctrl = {
1410*9cf0c526SNeeraj Upadhyay 	.pins = sdm660_pins,
1411*9cf0c526SNeeraj Upadhyay 	.npins = ARRAY_SIZE(sdm660_pins),
1412*9cf0c526SNeeraj Upadhyay 	.functions = sdm660_functions,
1413*9cf0c526SNeeraj Upadhyay 	.nfunctions = ARRAY_SIZE(sdm660_functions),
1414*9cf0c526SNeeraj Upadhyay 	.groups = sdm660_groups,
1415*9cf0c526SNeeraj Upadhyay 	.ngroups = ARRAY_SIZE(sdm660_groups),
1416*9cf0c526SNeeraj Upadhyay 	.ngpios = 114,
1417*9cf0c526SNeeraj Upadhyay 	.tiles = sdm660_tiles,
1418*9cf0c526SNeeraj Upadhyay 	.ntiles = ARRAY_SIZE(sdm660_tiles),
1419*9cf0c526SNeeraj Upadhyay };
1420*9cf0c526SNeeraj Upadhyay 
1421*9cf0c526SNeeraj Upadhyay static int sdm660_pinctrl_probe(struct platform_device *pdev)
1422*9cf0c526SNeeraj Upadhyay {
1423*9cf0c526SNeeraj Upadhyay 	return msm_pinctrl_probe(pdev, &sdm660_pinctrl);
1424*9cf0c526SNeeraj Upadhyay }
1425*9cf0c526SNeeraj Upadhyay 
1426*9cf0c526SNeeraj Upadhyay static const struct of_device_id sdm660_pinctrl_of_match[] = {
1427*9cf0c526SNeeraj Upadhyay 	{ .compatible = "qcom,sdm660-pinctrl", },
1428*9cf0c526SNeeraj Upadhyay 	{ .compatible = "qcom,sdm630-pinctrl", },
1429*9cf0c526SNeeraj Upadhyay 	{ },
1430*9cf0c526SNeeraj Upadhyay };
1431*9cf0c526SNeeraj Upadhyay 
1432*9cf0c526SNeeraj Upadhyay static struct platform_driver sdm660_pinctrl_driver = {
1433*9cf0c526SNeeraj Upadhyay 	.driver = {
1434*9cf0c526SNeeraj Upadhyay 		.name = "sdm660-pinctrl",
1435*9cf0c526SNeeraj Upadhyay 		.of_match_table = sdm660_pinctrl_of_match,
1436*9cf0c526SNeeraj Upadhyay 	},
1437*9cf0c526SNeeraj Upadhyay 	.probe = sdm660_pinctrl_probe,
1438*9cf0c526SNeeraj Upadhyay 	.remove = msm_pinctrl_remove,
1439*9cf0c526SNeeraj Upadhyay };
1440*9cf0c526SNeeraj Upadhyay 
1441*9cf0c526SNeeraj Upadhyay static int __init sdm660_pinctrl_init(void)
1442*9cf0c526SNeeraj Upadhyay {
1443*9cf0c526SNeeraj Upadhyay 	return platform_driver_register(&sdm660_pinctrl_driver);
1444*9cf0c526SNeeraj Upadhyay }
1445*9cf0c526SNeeraj Upadhyay arch_initcall(sdm660_pinctrl_init);
1446*9cf0c526SNeeraj Upadhyay 
1447*9cf0c526SNeeraj Upadhyay static void __exit sdm660_pinctrl_exit(void)
1448*9cf0c526SNeeraj Upadhyay {
1449*9cf0c526SNeeraj Upadhyay 	platform_driver_unregister(&sdm660_pinctrl_driver);
1450*9cf0c526SNeeraj Upadhyay }
1451*9cf0c526SNeeraj Upadhyay module_exit(sdm660_pinctrl_exit);
1452*9cf0c526SNeeraj Upadhyay 
1453*9cf0c526SNeeraj Upadhyay MODULE_DESCRIPTION("QTI sdm660 pinctrl driver");
1454*9cf0c526SNeeraj Upadhyay MODULE_LICENSE("GPL v2");
1455*9cf0c526SNeeraj Upadhyay MODULE_DEVICE_TABLE(of, sdm660_pinctrl_of_match);
1456