1a3a093aeSKhan, Imran // SPDX-License-Identifier: GPL-2.0
2a3a093aeSKhan, Imran /*
3a3a093aeSKhan, Imran  * Copyright (c) 2015-2016, The Linux Foundation. All rights reserved.
4a3a093aeSKhan, Imran  */
5a3a093aeSKhan, Imran 
6a3a093aeSKhan, Imran #include <linux/module.h>
7a3a093aeSKhan, Imran #include <linux/of.h>
8a3a093aeSKhan, Imran #include <linux/platform_device.h>
9a3a093aeSKhan, Imran #include <linux/pinctrl/pinctrl.h>
10a3a093aeSKhan, Imran 
11a3a093aeSKhan, Imran #include "pinctrl-msm.h"
12a3a093aeSKhan, Imran 
13a3a093aeSKhan, Imran #define NORTH	0x500000
14a3a093aeSKhan, Imran #define WEST	0x100000
15a3a093aeSKhan, Imran #define EAST	0x900000
16a3a093aeSKhan, Imran 
17a3a093aeSKhan, Imran #define FUNCTION(fname)					\
18a3a093aeSKhan, Imran 	[msm_mux_##fname] = {				\
19a3a093aeSKhan, Imran 		.name = #fname,				\
20a3a093aeSKhan, Imran 		.groups = fname##_groups,               \
21a3a093aeSKhan, Imran 		.ngroups = ARRAY_SIZE(fname##_groups),	\
22a3a093aeSKhan, Imran 	}
23a3a093aeSKhan, Imran 
24a3a093aeSKhan, Imran #define PINGROUP(id, base, f1, f2, f3, f4, f5, f6, f7, f8, f9)	\
25a3a093aeSKhan, Imran 	{					        \
26a3a093aeSKhan, Imran 		.name = "gpio" #id,			\
27a3a093aeSKhan, Imran 		.pins = gpio##id##_pins,		\
28a3a093aeSKhan, Imran 		.npins = ARRAY_SIZE(gpio##id##_pins),	\
29a3a093aeSKhan, Imran 		.funcs = (int[]){			\
30a3a093aeSKhan, Imran 			msm_mux_gpio, /* gpio mode */	\
31a3a093aeSKhan, Imran 			msm_mux_##f1,			\
32a3a093aeSKhan, Imran 			msm_mux_##f2,			\
33a3a093aeSKhan, Imran 			msm_mux_##f3,			\
34a3a093aeSKhan, Imran 			msm_mux_##f4,			\
35a3a093aeSKhan, Imran 			msm_mux_##f5,			\
36a3a093aeSKhan, Imran 			msm_mux_##f6,			\
37a3a093aeSKhan, Imran 			msm_mux_##f7,			\
38a3a093aeSKhan, Imran 			msm_mux_##f8,			\
39a3a093aeSKhan, Imran 			msm_mux_##f9			\
40a3a093aeSKhan, Imran 		},				        \
41a3a093aeSKhan, Imran 		.nfuncs = 10,				\
42a3a093aeSKhan, Imran 		.ctl_reg = base + 0x1000 * id,	\
43a3a093aeSKhan, Imran 		.io_reg = base + 0x4 + 0x1000 * id,		\
44a3a093aeSKhan, Imran 		.intr_cfg_reg = base + 0x8 + 0x1000 * id,	\
45a3a093aeSKhan, Imran 		.intr_status_reg = base + 0xc + 0x1000 * id,	\
46a3a093aeSKhan, Imran 		.intr_target_reg = base + 0x8 + 0x1000 * id,	\
47a3a093aeSKhan, Imran 		.mux_bit = 2,			\
48a3a093aeSKhan, Imran 		.pull_bit = 0,			\
49a3a093aeSKhan, Imran 		.drv_bit = 6,			\
50a3a093aeSKhan, Imran 		.oe_bit = 9,			\
51a3a093aeSKhan, Imran 		.in_bit = 0,			\
52a3a093aeSKhan, Imran 		.out_bit = 1,			\
53a3a093aeSKhan, Imran 		.intr_enable_bit = 0,		\
54a3a093aeSKhan, Imran 		.intr_status_bit = 0,		\
55a3a093aeSKhan, Imran 		.intr_target_bit = 5,		\
56a3a093aeSKhan, Imran 		.intr_target_kpss_val = 3,  \
57a3a093aeSKhan, Imran 		.intr_raw_status_bit = 4,	\
58a3a093aeSKhan, Imran 		.intr_polarity_bit = 1,		\
59a3a093aeSKhan, Imran 		.intr_detection_bit = 2,	\
60a3a093aeSKhan, Imran 		.intr_detection_width = 2,	\
61a3a093aeSKhan, Imran 	}
62a3a093aeSKhan, Imran 
63a3a093aeSKhan, Imran #define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv)	\
64a3a093aeSKhan, Imran 	{					        \
65a3a093aeSKhan, Imran 		.name = #pg_name,			\
66a3a093aeSKhan, Imran 		.pins = pg_name##_pins,			\
67a3a093aeSKhan, Imran 		.npins = ARRAY_SIZE(pg_name##_pins),	\
68a3a093aeSKhan, Imran 		.ctl_reg = ctl,				\
69a3a093aeSKhan, Imran 		.io_reg = 0,				\
70a3a093aeSKhan, Imran 		.intr_cfg_reg = 0,			\
71a3a093aeSKhan, Imran 		.intr_status_reg = 0,			\
72a3a093aeSKhan, Imran 		.intr_target_reg = 0,			\
73a3a093aeSKhan, Imran 		.mux_bit = -1,				\
74a3a093aeSKhan, Imran 		.pull_bit = pull,			\
75a3a093aeSKhan, Imran 		.drv_bit = drv,				\
76a3a093aeSKhan, Imran 		.oe_bit = -1,				\
77a3a093aeSKhan, Imran 		.in_bit = -1,				\
78a3a093aeSKhan, Imran 		.out_bit = -1,				\
79a3a093aeSKhan, Imran 		.intr_enable_bit = -1,			\
80a3a093aeSKhan, Imran 		.intr_status_bit = -1,			\
81a3a093aeSKhan, Imran 		.intr_target_bit = -1,			\
82a3a093aeSKhan, Imran 		.intr_raw_status_bit = -1,		\
83a3a093aeSKhan, Imran 		.intr_polarity_bit = -1,		\
84a3a093aeSKhan, Imran 		.intr_detection_bit = -1,		\
85a3a093aeSKhan, Imran 		.intr_detection_width = -1,		\
86a3a093aeSKhan, Imran 	}
87a3a093aeSKhan, Imran 
88a3a093aeSKhan, Imran #define UFS_RESET(pg_name, offset)				\
89a3a093aeSKhan, Imran 	{					        \
90a3a093aeSKhan, Imran 		.name = #pg_name,			\
91a3a093aeSKhan, Imran 		.pins = pg_name##_pins,			\
92a3a093aeSKhan, Imran 		.npins = ARRAY_SIZE(pg_name##_pins),	\
93a3a093aeSKhan, Imran 		.ctl_reg = offset,			\
94a3a093aeSKhan, Imran 		.io_reg = offset + 0x4,			\
95a3a093aeSKhan, Imran 		.intr_cfg_reg = 0,			\
96a3a093aeSKhan, Imran 		.intr_status_reg = 0,			\
97a3a093aeSKhan, Imran 		.intr_target_reg = 0,			\
98a3a093aeSKhan, Imran 		.mux_bit = -1,				\
99a3a093aeSKhan, Imran 		.pull_bit = 3,				\
100a3a093aeSKhan, Imran 		.drv_bit = 0,				\
101a3a093aeSKhan, Imran 		.oe_bit = -1,				\
102a3a093aeSKhan, Imran 		.in_bit = -1,				\
103a3a093aeSKhan, Imran 		.out_bit = 0,				\
104a3a093aeSKhan, Imran 		.intr_enable_bit = -1,			\
105a3a093aeSKhan, Imran 		.intr_status_bit = -1,			\
106a3a093aeSKhan, Imran 		.intr_target_bit = -1,			\
107a3a093aeSKhan, Imran 		.intr_raw_status_bit = -1,		\
108a3a093aeSKhan, Imran 		.intr_polarity_bit = -1,		\
109a3a093aeSKhan, Imran 		.intr_detection_bit = -1,		\
110a3a093aeSKhan, Imran 		.intr_detection_width = -1,		\
111a3a093aeSKhan, Imran 	}
112a3a093aeSKhan, Imran 
113a3a093aeSKhan, Imran static const struct pinctrl_pin_desc msm8998_pins[] = {
114a3a093aeSKhan, Imran 	PINCTRL_PIN(0, "GPIO_0"),
115a3a093aeSKhan, Imran 	PINCTRL_PIN(1, "GPIO_1"),
116a3a093aeSKhan, Imran 	PINCTRL_PIN(2, "GPIO_2"),
117a3a093aeSKhan, Imran 	PINCTRL_PIN(3, "GPIO_3"),
118a3a093aeSKhan, Imran 	PINCTRL_PIN(4, "GPIO_4"),
119a3a093aeSKhan, Imran 	PINCTRL_PIN(5, "GPIO_5"),
120a3a093aeSKhan, Imran 	PINCTRL_PIN(6, "GPIO_6"),
121a3a093aeSKhan, Imran 	PINCTRL_PIN(7, "GPIO_7"),
122a3a093aeSKhan, Imran 	PINCTRL_PIN(8, "GPIO_8"),
123a3a093aeSKhan, Imran 	PINCTRL_PIN(9, "GPIO_9"),
124a3a093aeSKhan, Imran 	PINCTRL_PIN(10, "GPIO_10"),
125a3a093aeSKhan, Imran 	PINCTRL_PIN(11, "GPIO_11"),
126a3a093aeSKhan, Imran 	PINCTRL_PIN(12, "GPIO_12"),
127a3a093aeSKhan, Imran 	PINCTRL_PIN(13, "GPIO_13"),
128a3a093aeSKhan, Imran 	PINCTRL_PIN(14, "GPIO_14"),
129a3a093aeSKhan, Imran 	PINCTRL_PIN(15, "GPIO_15"),
130a3a093aeSKhan, Imran 	PINCTRL_PIN(16, "GPIO_16"),
131a3a093aeSKhan, Imran 	PINCTRL_PIN(17, "GPIO_17"),
132a3a093aeSKhan, Imran 	PINCTRL_PIN(18, "GPIO_18"),
133a3a093aeSKhan, Imran 	PINCTRL_PIN(19, "GPIO_19"),
134a3a093aeSKhan, Imran 	PINCTRL_PIN(20, "GPIO_20"),
135a3a093aeSKhan, Imran 	PINCTRL_PIN(21, "GPIO_21"),
136a3a093aeSKhan, Imran 	PINCTRL_PIN(22, "GPIO_22"),
137a3a093aeSKhan, Imran 	PINCTRL_PIN(23, "GPIO_23"),
138a3a093aeSKhan, Imran 	PINCTRL_PIN(24, "GPIO_24"),
139a3a093aeSKhan, Imran 	PINCTRL_PIN(25, "GPIO_25"),
140a3a093aeSKhan, Imran 	PINCTRL_PIN(26, "GPIO_26"),
141a3a093aeSKhan, Imran 	PINCTRL_PIN(27, "GPIO_27"),
142a3a093aeSKhan, Imran 	PINCTRL_PIN(28, "GPIO_28"),
143a3a093aeSKhan, Imran 	PINCTRL_PIN(29, "GPIO_29"),
144a3a093aeSKhan, Imran 	PINCTRL_PIN(30, "GPIO_30"),
145a3a093aeSKhan, Imran 	PINCTRL_PIN(31, "GPIO_31"),
146a3a093aeSKhan, Imran 	PINCTRL_PIN(32, "GPIO_32"),
147a3a093aeSKhan, Imran 	PINCTRL_PIN(33, "GPIO_33"),
148a3a093aeSKhan, Imran 	PINCTRL_PIN(34, "GPIO_34"),
149a3a093aeSKhan, Imran 	PINCTRL_PIN(35, "GPIO_35"),
150a3a093aeSKhan, Imran 	PINCTRL_PIN(36, "GPIO_36"),
151a3a093aeSKhan, Imran 	PINCTRL_PIN(37, "GPIO_37"),
152a3a093aeSKhan, Imran 	PINCTRL_PIN(38, "GPIO_38"),
153a3a093aeSKhan, Imran 	PINCTRL_PIN(39, "GPIO_39"),
154a3a093aeSKhan, Imran 	PINCTRL_PIN(40, "GPIO_40"),
155a3a093aeSKhan, Imran 	PINCTRL_PIN(41, "GPIO_41"),
156a3a093aeSKhan, Imran 	PINCTRL_PIN(42, "GPIO_42"),
157a3a093aeSKhan, Imran 	PINCTRL_PIN(43, "GPIO_43"),
158a3a093aeSKhan, Imran 	PINCTRL_PIN(44, "GPIO_44"),
159a3a093aeSKhan, Imran 	PINCTRL_PIN(45, "GPIO_45"),
160a3a093aeSKhan, Imran 	PINCTRL_PIN(46, "GPIO_46"),
161a3a093aeSKhan, Imran 	PINCTRL_PIN(47, "GPIO_47"),
162a3a093aeSKhan, Imran 	PINCTRL_PIN(48, "GPIO_48"),
163a3a093aeSKhan, Imran 	PINCTRL_PIN(49, "GPIO_49"),
164a3a093aeSKhan, Imran 	PINCTRL_PIN(50, "GPIO_50"),
165a3a093aeSKhan, Imran 	PINCTRL_PIN(51, "GPIO_51"),
166a3a093aeSKhan, Imran 	PINCTRL_PIN(52, "GPIO_52"),
167a3a093aeSKhan, Imran 	PINCTRL_PIN(53, "GPIO_53"),
168a3a093aeSKhan, Imran 	PINCTRL_PIN(54, "GPIO_54"),
169a3a093aeSKhan, Imran 	PINCTRL_PIN(55, "GPIO_55"),
170a3a093aeSKhan, Imran 	PINCTRL_PIN(56, "GPIO_56"),
171a3a093aeSKhan, Imran 	PINCTRL_PIN(57, "GPIO_57"),
172a3a093aeSKhan, Imran 	PINCTRL_PIN(58, "GPIO_58"),
173a3a093aeSKhan, Imran 	PINCTRL_PIN(59, "GPIO_59"),
174a3a093aeSKhan, Imran 	PINCTRL_PIN(60, "GPIO_60"),
175a3a093aeSKhan, Imran 	PINCTRL_PIN(61, "GPIO_61"),
176a3a093aeSKhan, Imran 	PINCTRL_PIN(62, "GPIO_62"),
177a3a093aeSKhan, Imran 	PINCTRL_PIN(63, "GPIO_63"),
178a3a093aeSKhan, Imran 	PINCTRL_PIN(64, "GPIO_64"),
179a3a093aeSKhan, Imran 	PINCTRL_PIN(65, "GPIO_65"),
180a3a093aeSKhan, Imran 	PINCTRL_PIN(66, "GPIO_66"),
181a3a093aeSKhan, Imran 	PINCTRL_PIN(67, "GPIO_67"),
182a3a093aeSKhan, Imran 	PINCTRL_PIN(68, "GPIO_68"),
183a3a093aeSKhan, Imran 	PINCTRL_PIN(69, "GPIO_69"),
184a3a093aeSKhan, Imran 	PINCTRL_PIN(70, "GPIO_70"),
185a3a093aeSKhan, Imran 	PINCTRL_PIN(71, "GPIO_71"),
186a3a093aeSKhan, Imran 	PINCTRL_PIN(72, "GPIO_72"),
187a3a093aeSKhan, Imran 	PINCTRL_PIN(73, "GPIO_73"),
188a3a093aeSKhan, Imran 	PINCTRL_PIN(74, "GPIO_74"),
189a3a093aeSKhan, Imran 	PINCTRL_PIN(75, "GPIO_75"),
190a3a093aeSKhan, Imran 	PINCTRL_PIN(76, "GPIO_76"),
191a3a093aeSKhan, Imran 	PINCTRL_PIN(77, "GPIO_77"),
192a3a093aeSKhan, Imran 	PINCTRL_PIN(78, "GPIO_78"),
193a3a093aeSKhan, Imran 	PINCTRL_PIN(79, "GPIO_79"),
194a3a093aeSKhan, Imran 	PINCTRL_PIN(80, "GPIO_80"),
195a3a093aeSKhan, Imran 	PINCTRL_PIN(81, "GPIO_81"),
196a3a093aeSKhan, Imran 	PINCTRL_PIN(82, "GPIO_82"),
197a3a093aeSKhan, Imran 	PINCTRL_PIN(83, "GPIO_83"),
198a3a093aeSKhan, Imran 	PINCTRL_PIN(84, "GPIO_84"),
199a3a093aeSKhan, Imran 	PINCTRL_PIN(85, "GPIO_85"),
200a3a093aeSKhan, Imran 	PINCTRL_PIN(86, "GPIO_86"),
201a3a093aeSKhan, Imran 	PINCTRL_PIN(87, "GPIO_87"),
202a3a093aeSKhan, Imran 	PINCTRL_PIN(88, "GPIO_88"),
203a3a093aeSKhan, Imran 	PINCTRL_PIN(89, "GPIO_89"),
204a3a093aeSKhan, Imran 	PINCTRL_PIN(90, "GPIO_90"),
205a3a093aeSKhan, Imran 	PINCTRL_PIN(91, "GPIO_91"),
206a3a093aeSKhan, Imran 	PINCTRL_PIN(92, "GPIO_92"),
207a3a093aeSKhan, Imran 	PINCTRL_PIN(93, "GPIO_93"),
208a3a093aeSKhan, Imran 	PINCTRL_PIN(94, "GPIO_94"),
209a3a093aeSKhan, Imran 	PINCTRL_PIN(95, "GPIO_95"),
210a3a093aeSKhan, Imran 	PINCTRL_PIN(96, "GPIO_96"),
211a3a093aeSKhan, Imran 	PINCTRL_PIN(97, "GPIO_97"),
212a3a093aeSKhan, Imran 	PINCTRL_PIN(98, "GPIO_98"),
213a3a093aeSKhan, Imran 	PINCTRL_PIN(99, "GPIO_99"),
214a3a093aeSKhan, Imran 	PINCTRL_PIN(100, "GPIO_100"),
215a3a093aeSKhan, Imran 	PINCTRL_PIN(101, "GPIO_101"),
216a3a093aeSKhan, Imran 	PINCTRL_PIN(102, "GPIO_102"),
217a3a093aeSKhan, Imran 	PINCTRL_PIN(103, "GPIO_103"),
218a3a093aeSKhan, Imran 	PINCTRL_PIN(104, "GPIO_104"),
219a3a093aeSKhan, Imran 	PINCTRL_PIN(105, "GPIO_105"),
220a3a093aeSKhan, Imran 	PINCTRL_PIN(106, "GPIO_106"),
221a3a093aeSKhan, Imran 	PINCTRL_PIN(107, "GPIO_107"),
222a3a093aeSKhan, Imran 	PINCTRL_PIN(108, "GPIO_108"),
223a3a093aeSKhan, Imran 	PINCTRL_PIN(109, "GPIO_109"),
224a3a093aeSKhan, Imran 	PINCTRL_PIN(110, "GPIO_110"),
225a3a093aeSKhan, Imran 	PINCTRL_PIN(111, "GPIO_111"),
226a3a093aeSKhan, Imran 	PINCTRL_PIN(112, "GPIO_112"),
227a3a093aeSKhan, Imran 	PINCTRL_PIN(113, "GPIO_113"),
228a3a093aeSKhan, Imran 	PINCTRL_PIN(114, "GPIO_114"),
229a3a093aeSKhan, Imran 	PINCTRL_PIN(115, "GPIO_115"),
230a3a093aeSKhan, Imran 	PINCTRL_PIN(116, "GPIO_116"),
231a3a093aeSKhan, Imran 	PINCTRL_PIN(117, "GPIO_117"),
232a3a093aeSKhan, Imran 	PINCTRL_PIN(118, "GPIO_118"),
233a3a093aeSKhan, Imran 	PINCTRL_PIN(119, "GPIO_119"),
234a3a093aeSKhan, Imran 	PINCTRL_PIN(120, "GPIO_120"),
235a3a093aeSKhan, Imran 	PINCTRL_PIN(121, "GPIO_121"),
236a3a093aeSKhan, Imran 	PINCTRL_PIN(122, "GPIO_122"),
237a3a093aeSKhan, Imran 	PINCTRL_PIN(123, "GPIO_123"),
238a3a093aeSKhan, Imran 	PINCTRL_PIN(124, "GPIO_124"),
239a3a093aeSKhan, Imran 	PINCTRL_PIN(125, "GPIO_125"),
240a3a093aeSKhan, Imran 	PINCTRL_PIN(126, "GPIO_126"),
241a3a093aeSKhan, Imran 	PINCTRL_PIN(127, "GPIO_127"),
242a3a093aeSKhan, Imran 	PINCTRL_PIN(128, "GPIO_128"),
243a3a093aeSKhan, Imran 	PINCTRL_PIN(129, "GPIO_129"),
244a3a093aeSKhan, Imran 	PINCTRL_PIN(130, "GPIO_130"),
245a3a093aeSKhan, Imran 	PINCTRL_PIN(131, "GPIO_131"),
246a3a093aeSKhan, Imran 	PINCTRL_PIN(132, "GPIO_132"),
247a3a093aeSKhan, Imran 	PINCTRL_PIN(133, "GPIO_133"),
248a3a093aeSKhan, Imran 	PINCTRL_PIN(134, "GPIO_134"),
249a3a093aeSKhan, Imran 	PINCTRL_PIN(135, "GPIO_135"),
250a3a093aeSKhan, Imran 	PINCTRL_PIN(136, "GPIO_136"),
251a3a093aeSKhan, Imran 	PINCTRL_PIN(137, "GPIO_137"),
252a3a093aeSKhan, Imran 	PINCTRL_PIN(138, "GPIO_138"),
253a3a093aeSKhan, Imran 	PINCTRL_PIN(139, "GPIO_139"),
254a3a093aeSKhan, Imran 	PINCTRL_PIN(140, "GPIO_140"),
255a3a093aeSKhan, Imran 	PINCTRL_PIN(141, "GPIO_141"),
256a3a093aeSKhan, Imran 	PINCTRL_PIN(142, "GPIO_142"),
257a3a093aeSKhan, Imran 	PINCTRL_PIN(143, "GPIO_143"),
258a3a093aeSKhan, Imran 	PINCTRL_PIN(144, "GPIO_144"),
259a3a093aeSKhan, Imran 	PINCTRL_PIN(145, "GPIO_145"),
260a3a093aeSKhan, Imran 	PINCTRL_PIN(146, "GPIO_146"),
261a3a093aeSKhan, Imran 	PINCTRL_PIN(147, "GPIO_147"),
262a3a093aeSKhan, Imran 	PINCTRL_PIN(148, "GPIO_148"),
263a3a093aeSKhan, Imran 	PINCTRL_PIN(149, "GPIO_149"),
264a3a093aeSKhan, Imran 	PINCTRL_PIN(150, "SDC2_CLK"),
265a3a093aeSKhan, Imran 	PINCTRL_PIN(151, "SDC2_CMD"),
266a3a093aeSKhan, Imran 	PINCTRL_PIN(152, "SDC2_DATA"),
267a3a093aeSKhan, Imran 	PINCTRL_PIN(153, "UFS_RESET"),
268a3a093aeSKhan, Imran };
269a3a093aeSKhan, Imran 
270a3a093aeSKhan, Imran #define DECLARE_MSM_GPIO_PINS(pin) \
271a3a093aeSKhan, Imran 	static const unsigned int gpio##pin##_pins[] = { pin }
272a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(0);
273a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(1);
274a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(2);
275a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(3);
276a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(4);
277a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(5);
278a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(6);
279a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(7);
280a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(8);
281a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(9);
282a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(10);
283a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(11);
284a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(12);
285a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(13);
286a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(14);
287a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(15);
288a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(16);
289a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(17);
290a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(18);
291a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(19);
292a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(20);
293a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(21);
294a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(22);
295a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(23);
296a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(24);
297a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(25);
298a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(26);
299a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(27);
300a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(28);
301a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(29);
302a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(30);
303a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(31);
304a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(32);
305a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(33);
306a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(34);
307a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(35);
308a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(36);
309a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(37);
310a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(38);
311a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(39);
312a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(40);
313a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(41);
314a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(42);
315a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(43);
316a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(44);
317a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(45);
318a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(46);
319a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(47);
320a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(48);
321a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(49);
322a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(50);
323a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(51);
324a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(52);
325a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(53);
326a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(54);
327a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(55);
328a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(56);
329a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(57);
330a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(58);
331a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(59);
332a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(60);
333a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(61);
334a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(62);
335a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(63);
336a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(64);
337a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(65);
338a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(66);
339a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(67);
340a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(68);
341a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(69);
342a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(70);
343a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(71);
344a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(72);
345a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(73);
346a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(74);
347a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(75);
348a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(76);
349a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(77);
350a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(78);
351a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(79);
352a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(80);
353a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(81);
354a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(82);
355a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(83);
356a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(84);
357a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(85);
358a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(86);
359a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(87);
360a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(88);
361a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(89);
362a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(90);
363a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(91);
364a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(92);
365a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(93);
366a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(94);
367a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(95);
368a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(96);
369a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(97);
370a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(98);
371a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(99);
372a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(100);
373a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(101);
374a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(102);
375a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(103);
376a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(104);
377a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(105);
378a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(106);
379a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(107);
380a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(108);
381a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(109);
382a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(110);
383a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(111);
384a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(112);
385a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(113);
386a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(114);
387a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(115);
388a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(116);
389a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(117);
390a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(118);
391a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(119);
392a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(120);
393a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(121);
394a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(122);
395a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(123);
396a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(124);
397a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(125);
398a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(126);
399a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(127);
400a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(128);
401a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(129);
402a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(130);
403a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(131);
404a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(132);
405a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(133);
406a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(134);
407a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(135);
408a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(136);
409a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(137);
410a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(138);
411a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(139);
412a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(140);
413a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(141);
414a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(142);
415a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(143);
416a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(144);
417a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(145);
418a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(146);
419a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(147);
420a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(148);
421a3a093aeSKhan, Imran DECLARE_MSM_GPIO_PINS(149);
422a3a093aeSKhan, Imran 
423a3a093aeSKhan, Imran static const unsigned int sdc2_clk_pins[] = { 150 };
424a3a093aeSKhan, Imran static const unsigned int sdc2_cmd_pins[] = { 151 };
425a3a093aeSKhan, Imran static const unsigned int sdc2_data_pins[] = { 152 };
426a3a093aeSKhan, Imran static const unsigned int ufs_reset_pins[] = { 153 };
427a3a093aeSKhan, Imran 
428a3a093aeSKhan, Imran enum msm8998_functions {
429a3a093aeSKhan, Imran 	msm_mux_adsp_ext,
430a3a093aeSKhan, Imran 	msm_mux_agera_pll,
431a3a093aeSKhan, Imran 	msm_mux_atest_char,
432a3a093aeSKhan, Imran 	msm_mux_atest_gpsadc0,
433a3a093aeSKhan, Imran 	msm_mux_atest_gpsadc1,
434a3a093aeSKhan, Imran 	msm_mux_atest_tsens,
435a3a093aeSKhan, Imran 	msm_mux_atest_tsens2,
436a3a093aeSKhan, Imran 	msm_mux_atest_usb1,
437a3a093aeSKhan, Imran 	msm_mux_atest_usb10,
438a3a093aeSKhan, Imran 	msm_mux_atest_usb11,
439a3a093aeSKhan, Imran 	msm_mux_atest_usb12,
440a3a093aeSKhan, Imran 	msm_mux_atest_usb13,
441a3a093aeSKhan, Imran 	msm_mux_audio_ref,
442a3a093aeSKhan, Imran 	msm_mux_bimc_dte0,
443a3a093aeSKhan, Imran 	msm_mux_bimc_dte1,
444a3a093aeSKhan, Imran 	msm_mux_blsp10_spi,
445a3a093aeSKhan, Imran 	msm_mux_blsp10_spi_a,
446a3a093aeSKhan, Imran 	msm_mux_blsp10_spi_b,
447a3a093aeSKhan, Imran 	msm_mux_blsp11_i2c,
448a3a093aeSKhan, Imran 	msm_mux_blsp1_spi,
449a3a093aeSKhan, Imran 	msm_mux_blsp1_spi_a,
450a3a093aeSKhan, Imran 	msm_mux_blsp1_spi_b,
451a3a093aeSKhan, Imran 	msm_mux_blsp2_spi,
452a3a093aeSKhan, Imran 	msm_mux_blsp9_spi,
453a3a093aeSKhan, Imran 	msm_mux_blsp_i2c1,
454a3a093aeSKhan, Imran 	msm_mux_blsp_i2c10,
455a3a093aeSKhan, Imran 	msm_mux_blsp_i2c11,
456a3a093aeSKhan, Imran 	msm_mux_blsp_i2c12,
457a3a093aeSKhan, Imran 	msm_mux_blsp_i2c2,
458a3a093aeSKhan, Imran 	msm_mux_blsp_i2c3,
459a3a093aeSKhan, Imran 	msm_mux_blsp_i2c4,
460a3a093aeSKhan, Imran 	msm_mux_blsp_i2c5,
461a3a093aeSKhan, Imran 	msm_mux_blsp_i2c6,
462a3a093aeSKhan, Imran 	msm_mux_blsp_i2c7,
463a3a093aeSKhan, Imran 	msm_mux_blsp_i2c8,
464a3a093aeSKhan, Imran 	msm_mux_blsp_i2c9,
465a3a093aeSKhan, Imran 	msm_mux_blsp_spi1,
466a3a093aeSKhan, Imran 	msm_mux_blsp_spi10,
467a3a093aeSKhan, Imran 	msm_mux_blsp_spi11,
468a3a093aeSKhan, Imran 	msm_mux_blsp_spi12,
469a3a093aeSKhan, Imran 	msm_mux_blsp_spi2,
470a3a093aeSKhan, Imran 	msm_mux_blsp_spi3,
471a3a093aeSKhan, Imran 	msm_mux_blsp_spi4,
472a3a093aeSKhan, Imran 	msm_mux_blsp_spi5,
473a3a093aeSKhan, Imran 	msm_mux_blsp_spi6,
474a3a093aeSKhan, Imran 	msm_mux_blsp_spi7,
475a3a093aeSKhan, Imran 	msm_mux_blsp_spi8,
476a3a093aeSKhan, Imran 	msm_mux_blsp_spi9,
477a3a093aeSKhan, Imran 	msm_mux_blsp_uart1_a,
478a3a093aeSKhan, Imran 	msm_mux_blsp_uart1_b,
479a3a093aeSKhan, Imran 	msm_mux_blsp_uart2_a,
480a3a093aeSKhan, Imran 	msm_mux_blsp_uart2_b,
481a3a093aeSKhan, Imran 	msm_mux_blsp_uart3_a,
482a3a093aeSKhan, Imran 	msm_mux_blsp_uart3_b,
483a3a093aeSKhan, Imran 	msm_mux_blsp_uart7_a,
484a3a093aeSKhan, Imran 	msm_mux_blsp_uart7_b,
485a3a093aeSKhan, Imran 	msm_mux_blsp_uart8,
486a3a093aeSKhan, Imran 	msm_mux_blsp_uart8_a,
487a3a093aeSKhan, Imran 	msm_mux_blsp_uart8_b,
488a3a093aeSKhan, Imran 	msm_mux_blsp_uart9_a,
489a3a093aeSKhan, Imran 	msm_mux_blsp_uart9_b,
490a3a093aeSKhan, Imran 	msm_mux_blsp_uim1_a,
491a3a093aeSKhan, Imran 	msm_mux_blsp_uim1_b,
492a3a093aeSKhan, Imran 	msm_mux_blsp_uim2_a,
493a3a093aeSKhan, Imran 	msm_mux_blsp_uim2_b,
494a3a093aeSKhan, Imran 	msm_mux_blsp_uim3_a,
495a3a093aeSKhan, Imran 	msm_mux_blsp_uim3_b,
496a3a093aeSKhan, Imran 	msm_mux_blsp_uim7_a,
497a3a093aeSKhan, Imran 	msm_mux_blsp_uim7_b,
498a3a093aeSKhan, Imran 	msm_mux_blsp_uim8_a,
499a3a093aeSKhan, Imran 	msm_mux_blsp_uim8_b,
500a3a093aeSKhan, Imran 	msm_mux_blsp_uim9_a,
501a3a093aeSKhan, Imran 	msm_mux_blsp_uim9_b,
502a3a093aeSKhan, Imran 	msm_mux_bt_reset,
503a3a093aeSKhan, Imran 	msm_mux_btfm_slimbus,
504a3a093aeSKhan, Imran 	msm_mux_cam_mclk,
505a3a093aeSKhan, Imran 	msm_mux_cci_async,
506a3a093aeSKhan, Imran 	msm_mux_cci_i2c,
507a3a093aeSKhan, Imran 	msm_mux_cci_timer0,
508a3a093aeSKhan, Imran 	msm_mux_cci_timer1,
509a3a093aeSKhan, Imran 	msm_mux_cci_timer2,
510a3a093aeSKhan, Imran 	msm_mux_cci_timer3,
511a3a093aeSKhan, Imran 	msm_mux_cci_timer4,
512a3a093aeSKhan, Imran 	msm_mux_cri_trng,
513a3a093aeSKhan, Imran 	msm_mux_cri_trng0,
514a3a093aeSKhan, Imran 	msm_mux_cri_trng1,
515a3a093aeSKhan, Imran 	msm_mux_dbg_out,
516a3a093aeSKhan, Imran 	msm_mux_ddr_bist,
517a3a093aeSKhan, Imran 	msm_mux_edp_hot,
518a3a093aeSKhan, Imran 	msm_mux_edp_lcd,
519a3a093aeSKhan, Imran 	msm_mux_gcc_gp1_a,
520a3a093aeSKhan, Imran 	msm_mux_gcc_gp1_b,
521a3a093aeSKhan, Imran 	msm_mux_gcc_gp2_a,
522a3a093aeSKhan, Imran 	msm_mux_gcc_gp2_b,
523a3a093aeSKhan, Imran 	msm_mux_gcc_gp3_a,
524a3a093aeSKhan, Imran 	msm_mux_gcc_gp3_b,
525a3a093aeSKhan, Imran 	msm_mux_gpio,
526a3a093aeSKhan, Imran 	msm_mux_hdmi_cec,
527a3a093aeSKhan, Imran 	msm_mux_hdmi_ddc,
528a3a093aeSKhan, Imran 	msm_mux_hdmi_hot,
529a3a093aeSKhan, Imran 	msm_mux_hdmi_rcv,
530a3a093aeSKhan, Imran 	msm_mux_isense_dbg,
531a3a093aeSKhan, Imran 	msm_mux_jitter_bist,
532a3a093aeSKhan, Imran 	msm_mux_ldo_en,
533a3a093aeSKhan, Imran 	msm_mux_ldo_update,
534a3a093aeSKhan, Imran 	msm_mux_lpass_slimbus,
535a3a093aeSKhan, Imran 	msm_mux_m_voc,
536a3a093aeSKhan, Imran 	msm_mux_mdp_vsync,
537a3a093aeSKhan, Imran 	msm_mux_mdp_vsync0,
538a3a093aeSKhan, Imran 	msm_mux_mdp_vsync1,
539a3a093aeSKhan, Imran 	msm_mux_mdp_vsync2,
540a3a093aeSKhan, Imran 	msm_mux_mdp_vsync3,
541a3a093aeSKhan, Imran 	msm_mux_mdp_vsync_a,
542a3a093aeSKhan, Imran 	msm_mux_mdp_vsync_b,
543a3a093aeSKhan, Imran 	msm_mux_modem_tsync,
544a3a093aeSKhan, Imran 	msm_mux_mss_lte,
545a3a093aeSKhan, Imran 	msm_mux_nav_dr,
546a3a093aeSKhan, Imran 	msm_mux_nav_pps,
547a3a093aeSKhan, Imran 	msm_mux_pa_indicator,
548a3a093aeSKhan, Imran 	msm_mux_pci_e0,
549a3a093aeSKhan, Imran 	msm_mux_phase_flag,
550a3a093aeSKhan, Imran 	msm_mux_pll_bypassnl,
551a3a093aeSKhan, Imran 	msm_mux_pll_reset,
552a3a093aeSKhan, Imran 	msm_mux_pri_mi2s,
553a3a093aeSKhan, Imran 	msm_mux_pri_mi2s_ws,
554a3a093aeSKhan, Imran 	msm_mux_prng_rosc,
555a3a093aeSKhan, Imran 	msm_mux_pwr_crypto,
556a3a093aeSKhan, Imran 	msm_mux_pwr_modem,
557a3a093aeSKhan, Imran 	msm_mux_pwr_nav,
558a3a093aeSKhan, Imran 	msm_mux_qdss_cti0_a,
559a3a093aeSKhan, Imran 	msm_mux_qdss_cti0_b,
560a3a093aeSKhan, Imran 	msm_mux_qdss_cti1_a,
561a3a093aeSKhan, Imran 	msm_mux_qdss_cti1_b,
562a3a093aeSKhan, Imran 	msm_mux_qdss,
563a3a093aeSKhan, Imran 	msm_mux_qlink_enable,
564a3a093aeSKhan, Imran 	msm_mux_qlink_request,
565a3a093aeSKhan, Imran 	msm_mux_qua_mi2s,
566a3a093aeSKhan, Imran 	msm_mux_sd_card,
567a3a093aeSKhan, Imran 	msm_mux_sd_write,
568a3a093aeSKhan, Imran 	msm_mux_sdc40,
569a3a093aeSKhan, Imran 	msm_mux_sdc41,
570a3a093aeSKhan, Imran 	msm_mux_sdc42,
571a3a093aeSKhan, Imran 	msm_mux_sdc43,
572a3a093aeSKhan, Imran 	msm_mux_sdc4_clk,
573a3a093aeSKhan, Imran 	msm_mux_sdc4_cmd,
574a3a093aeSKhan, Imran 	msm_mux_sec_mi2s,
575a3a093aeSKhan, Imran 	msm_mux_sp_cmu,
576a3a093aeSKhan, Imran 	msm_mux_spkr_i2s,
577a3a093aeSKhan, Imran 	msm_mux_ssbi1,
578a3a093aeSKhan, Imran 	msm_mux_ssc_irq,
579a3a093aeSKhan, Imran 	msm_mux_ter_mi2s,
580a3a093aeSKhan, Imran 	msm_mux_tgu_ch0,
581a3a093aeSKhan, Imran 	msm_mux_tgu_ch1,
582a3a093aeSKhan, Imran 	msm_mux_tsense_pwm1,
583a3a093aeSKhan, Imran 	msm_mux_tsense_pwm2,
584fa21cbeaSMarc Gonzalez 	msm_mux_tsif0,
585fa21cbeaSMarc Gonzalez 	msm_mux_tsif1,
586a3a093aeSKhan, Imran 	msm_mux_uim1_clk,
587a3a093aeSKhan, Imran 	msm_mux_uim1_data,
588a3a093aeSKhan, Imran 	msm_mux_uim1_present,
589a3a093aeSKhan, Imran 	msm_mux_uim1_reset,
590a3a093aeSKhan, Imran 	msm_mux_uim2_clk,
591a3a093aeSKhan, Imran 	msm_mux_uim2_data,
592a3a093aeSKhan, Imran 	msm_mux_uim2_present,
593a3a093aeSKhan, Imran 	msm_mux_uim2_reset,
594a3a093aeSKhan, Imran 	msm_mux_uim_batt,
595a3a093aeSKhan, Imran 	msm_mux_usb_phy,
596a3a093aeSKhan, Imran 	msm_mux_vfr_1,
597a3a093aeSKhan, Imran 	msm_mux_vsense_clkout,
598a3a093aeSKhan, Imran 	msm_mux_vsense_data0,
599a3a093aeSKhan, Imran 	msm_mux_vsense_data1,
600a3a093aeSKhan, Imran 	msm_mux_vsense_mode,
601a3a093aeSKhan, Imran 	msm_mux_wlan1_adc0,
602a3a093aeSKhan, Imran 	msm_mux_wlan1_adc1,
603a3a093aeSKhan, Imran 	msm_mux_wlan2_adc0,
604a3a093aeSKhan, Imran 	msm_mux_wlan2_adc1,
605a3a093aeSKhan, Imran 	msm_mux__,
606a3a093aeSKhan, Imran };
607a3a093aeSKhan, Imran 
608a3a093aeSKhan, Imran static const char * const gpio_groups[] = {
609a3a093aeSKhan, Imran 	"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
610a3a093aeSKhan, Imran 	"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
611a3a093aeSKhan, Imran 	"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
612a3a093aeSKhan, Imran 	"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
613a3a093aeSKhan, Imran 	"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
614a3a093aeSKhan, Imran 	"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
615a3a093aeSKhan, Imran 	"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
616a3a093aeSKhan, Imran 	"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
617a3a093aeSKhan, Imran 	"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
618a3a093aeSKhan, Imran 	"gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
619a3a093aeSKhan, Imran 	"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
620a3a093aeSKhan, Imran 	"gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84",
621a3a093aeSKhan, Imran 	"gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91",
622a3a093aeSKhan, Imran 	"gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98",
623a3a093aeSKhan, Imran 	"gpio99", "gpio100", "gpio101",	"gpio102", "gpio103", "gpio104",
624a3a093aeSKhan, Imran 	"gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110",
625a3a093aeSKhan, Imran 	"gpio111", "gpio112", "gpio113", "gpio114", "gpio115", "gpio116",
626a3a093aeSKhan, Imran 	"gpio117", "gpio118", "gpio119", "gpio120", "gpio121", "gpio122",
627a3a093aeSKhan, Imran 	"gpio123", "gpio124", "gpio125", "gpio126", "gpio127", "gpio128",
628a3a093aeSKhan, Imran 	"gpio129", "gpio130", "gpio131", "gpio132", "gpio133", "gpio134",
629a3a093aeSKhan, Imran 	"gpio135", "gpio136", "gpio137", "gpio138", "gpio139", "gpio140",
630a3a093aeSKhan, Imran 	"gpio141", "gpio142", "gpio143", "gpio144", "gpio145", "gpio146",
631a3a093aeSKhan, Imran 	"gpio147", "gpio148", "gpio149",
632a3a093aeSKhan, Imran };
633a3a093aeSKhan, Imran static const char * const blsp_spi1_groups[] = {
634a3a093aeSKhan, Imran 	"gpio0", "gpio1", "gpio2", "gpio3",
635a3a093aeSKhan, Imran };
636a3a093aeSKhan, Imran static const char * const blsp_uim1_a_groups[] = {
637a3a093aeSKhan, Imran 	"gpio0", "gpio1",
638a3a093aeSKhan, Imran };
639a3a093aeSKhan, Imran static const char * const blsp_uart1_a_groups[] = {
640a3a093aeSKhan, Imran 	"gpio0", "gpio1", "gpio2", "gpio3",
641a3a093aeSKhan, Imran };
642a3a093aeSKhan, Imran static const char * const blsp_i2c1_groups[] = {
643a3a093aeSKhan, Imran 	"gpio2", "gpio3",
644a3a093aeSKhan, Imran };
645a3a093aeSKhan, Imran static const char * const blsp_spi8_groups[] = {
646a3a093aeSKhan, Imran 	"gpio4", "gpio5", "gpio6", "gpio7",
647a3a093aeSKhan, Imran };
648a3a093aeSKhan, Imran static const char * const blsp_uart8_a_groups[] = {
649a3a093aeSKhan, Imran 	"gpio4", "gpio5", "gpio6", "gpio7",
650a3a093aeSKhan, Imran };
651a3a093aeSKhan, Imran static const char * const blsp_uim8_a_groups[] = {
652a3a093aeSKhan, Imran 	"gpio4", "gpio5",
653a3a093aeSKhan, Imran };
654a3a093aeSKhan, Imran static const char * const qdss_cti0_b_groups[] = {
655a3a093aeSKhan, Imran 	"gpio4", "gpio5",
656a3a093aeSKhan, Imran };
657a3a093aeSKhan, Imran static const char * const blsp_i2c8_groups[] = {
658a3a093aeSKhan, Imran 	"gpio6", "gpio7",
659a3a093aeSKhan, Imran };
660a3a093aeSKhan, Imran static const char * const ddr_bist_groups[] = {
661a3a093aeSKhan, Imran 	"gpio7", "gpio8", "gpio9", "gpio10",
662a3a093aeSKhan, Imran };
663a3a093aeSKhan, Imran static const char * const atest_tsens2_groups[] = {
664a3a093aeSKhan, Imran 	"gpio7",
665a3a093aeSKhan, Imran };
666a3a093aeSKhan, Imran static const char * const atest_usb1_groups[] = {
667a3a093aeSKhan, Imran 	"gpio7",
668a3a093aeSKhan, Imran };
669a3a093aeSKhan, Imran static const char * const blsp_spi4_groups[] = {
670a3a093aeSKhan, Imran 	"gpio8", "gpio9", "gpio10", "gpio11",
671a3a093aeSKhan, Imran };
672a3a093aeSKhan, Imran static const char * const blsp_uart1_b_groups[] = {
673a3a093aeSKhan, Imran 	"gpio8", "gpio9", "gpio10", "gpio11",
674a3a093aeSKhan, Imran };
675a3a093aeSKhan, Imran static const char * const blsp_uim1_b_groups[] = {
676a3a093aeSKhan, Imran 	"gpio8", "gpio9",
677a3a093aeSKhan, Imran };
678a3a093aeSKhan, Imran static const char * const wlan1_adc1_groups[] = {
679a3a093aeSKhan, Imran 	"gpio8",
680a3a093aeSKhan, Imran };
681a3a093aeSKhan, Imran static const char * const atest_usb13_groups[] = {
682a3a093aeSKhan, Imran 	"gpio8",
683a3a093aeSKhan, Imran };
684a3a093aeSKhan, Imran static const char * const bimc_dte1_groups[] = {
685a3a093aeSKhan, Imran 	"gpio8", "gpio10",
686a3a093aeSKhan, Imran };
687a3a093aeSKhan, Imran static const char * const wlan1_adc0_groups[] = {
688a3a093aeSKhan, Imran 	"gpio9",
689a3a093aeSKhan, Imran };
690a3a093aeSKhan, Imran static const char * const atest_usb12_groups[] = {
691a3a093aeSKhan, Imran 	"gpio9",
692a3a093aeSKhan, Imran };
693a3a093aeSKhan, Imran static const char * const bimc_dte0_groups[] = {
694a3a093aeSKhan, Imran 	"gpio9", "gpio11",
695a3a093aeSKhan, Imran };
696a3a093aeSKhan, Imran static const char * const mdp_vsync_a_groups[] = {
697a3a093aeSKhan, Imran 	"gpio10", "gpio11",
698a3a093aeSKhan, Imran };
699a3a093aeSKhan, Imran static const char * const blsp_i2c4_groups[] = {
700a3a093aeSKhan, Imran 	"gpio10", "gpio11",
701a3a093aeSKhan, Imran };
702a3a093aeSKhan, Imran static const char * const atest_gpsadc1_groups[] = {
703a3a093aeSKhan, Imran 	"gpio10",
704a3a093aeSKhan, Imran };
705a3a093aeSKhan, Imran static const char * const wlan2_adc1_groups[] = {
706a3a093aeSKhan, Imran 	"gpio10",
707a3a093aeSKhan, Imran };
708a3a093aeSKhan, Imran static const char * const atest_usb11_groups[] = {
709a3a093aeSKhan, Imran 	"gpio10",
710a3a093aeSKhan, Imran };
711a3a093aeSKhan, Imran static const char * const edp_lcd_groups[] = {
712a3a093aeSKhan, Imran 	"gpio11",
713a3a093aeSKhan, Imran };
714a3a093aeSKhan, Imran static const char * const dbg_out_groups[] = {
715a3a093aeSKhan, Imran 	"gpio11",
716a3a093aeSKhan, Imran };
717a3a093aeSKhan, Imran static const char * const atest_gpsadc0_groups[] = {
718a3a093aeSKhan, Imran 	"gpio11",
719a3a093aeSKhan, Imran };
720a3a093aeSKhan, Imran static const char * const wlan2_adc0_groups[] = {
721a3a093aeSKhan, Imran 	"gpio11",
722a3a093aeSKhan, Imran };
723a3a093aeSKhan, Imran static const char * const atest_usb10_groups[] = {
724a3a093aeSKhan, Imran 	"gpio11",
725a3a093aeSKhan, Imran };
726a3a093aeSKhan, Imran static const char * const mdp_vsync_groups[] = {
727a3a093aeSKhan, Imran 	"gpio12",
728a3a093aeSKhan, Imran };
729a3a093aeSKhan, Imran static const char * const m_voc_groups[] = {
730a3a093aeSKhan, Imran 	"gpio12",
731a3a093aeSKhan, Imran };
732a3a093aeSKhan, Imran static const char * const cam_mclk_groups[] = {
733a3a093aeSKhan, Imran 	"gpio13", "gpio14", "gpio15", "gpio16",
734a3a093aeSKhan, Imran };
735a3a093aeSKhan, Imran static const char * const pll_bypassnl_groups[] = {
736a3a093aeSKhan, Imran 	"gpio13",
737a3a093aeSKhan, Imran };
738a3a093aeSKhan, Imran static const char * const qdss_groups[] = {
739a3a093aeSKhan, Imran 	"gpio13", "gpio14", "gpio15", "gpio16", "gpio17", "gpio18", "gpio19",
740a3a093aeSKhan, Imran 	"gpio20", "gpio21", "gpio22", "gpio23", "gpio24", "gpio25", "gpio26",
741a3a093aeSKhan, Imran 	"gpio27", "gpio28", "gpio29", "gpio30", "gpio41", "gpio42", "gpio43",
742a3a093aeSKhan, Imran 	"gpio44", "gpio75", "gpio76", "gpio77", "gpio79", "gpio80", "gpio93",
743a3a093aeSKhan, Imran 	"gpio117", "gpio118", "gpio119", "gpio120", "gpio121", "gpio122",
744a3a093aeSKhan, Imran 	"gpio123", "gpio124",
745a3a093aeSKhan, Imran };
746a3a093aeSKhan, Imran static const char * const pll_reset_groups[] = {
747a3a093aeSKhan, Imran 	"gpio14",
748a3a093aeSKhan, Imran };
749a3a093aeSKhan, Imran static const char * const cci_i2c_groups[] = {
750a3a093aeSKhan, Imran 	"gpio17", "gpio18", "gpio19", "gpio20",
751a3a093aeSKhan, Imran };
752a3a093aeSKhan, Imran static const char * const phase_flag_groups[] = {
753a3a093aeSKhan, Imran 	"gpio18", "gpio19", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
754a3a093aeSKhan, Imran 	"gpio89", "gpio91", "gpio92", "gpio96", "gpio114", "gpio115",
755a3a093aeSKhan, Imran 	"gpio116", "gpio117", "gpio118", "gpio119", "gpio120", "gpio121",
756a3a093aeSKhan, Imran 	"gpio122", "gpio123", "gpio124", "gpio125", "gpio126", "gpio128",
757a3a093aeSKhan, Imran 	"gpio129", "gpio130", "gpio131", "gpio132", "gpio133", "gpio134",
758a3a093aeSKhan, Imran };
759a3a093aeSKhan, Imran static const char * const cci_timer4_groups[] = {
760a3a093aeSKhan, Imran 	"gpio25",
761a3a093aeSKhan, Imran };
762a3a093aeSKhan, Imran static const char * const blsp2_spi_groups[] = {
763a3a093aeSKhan, Imran 	"gpio25", "gpio29", "gpio30",
764a3a093aeSKhan, Imran };
765a3a093aeSKhan, Imran static const char * const cci_timer0_groups[] = {
766a3a093aeSKhan, Imran 	"gpio21",
767a3a093aeSKhan, Imran };
768a3a093aeSKhan, Imran static const char * const vsense_data0_groups[] = {
769a3a093aeSKhan, Imran 	"gpio21",
770a3a093aeSKhan, Imran };
771a3a093aeSKhan, Imran static const char * const cci_timer1_groups[] = {
772a3a093aeSKhan, Imran 	"gpio22",
773a3a093aeSKhan, Imran };
774a3a093aeSKhan, Imran static const char * const vsense_data1_groups[] = {
775a3a093aeSKhan, Imran 	"gpio22",
776a3a093aeSKhan, Imran };
777a3a093aeSKhan, Imran static const char * const cci_timer2_groups[] = {
778a3a093aeSKhan, Imran 	"gpio23",
779a3a093aeSKhan, Imran };
780a3a093aeSKhan, Imran static const char * const blsp1_spi_b_groups[] = {
781a3a093aeSKhan, Imran 	"gpio23", "gpio28",
782a3a093aeSKhan, Imran };
783a3a093aeSKhan, Imran static const char * const vsense_mode_groups[] = {
784a3a093aeSKhan, Imran 	"gpio23",
785a3a093aeSKhan, Imran };
786a3a093aeSKhan, Imran static const char * const cci_timer3_groups[] = {
787a3a093aeSKhan, Imran 	"gpio24",
788a3a093aeSKhan, Imran };
789a3a093aeSKhan, Imran static const char * const cci_async_groups[] = {
790a3a093aeSKhan, Imran 	"gpio24", "gpio25", "gpio26",
791a3a093aeSKhan, Imran };
792a3a093aeSKhan, Imran static const char * const blsp1_spi_a_groups[] = {
793a3a093aeSKhan, Imran 	"gpio24", "gpio27",
794a3a093aeSKhan, Imran };
795a3a093aeSKhan, Imran static const char * const vsense_clkout_groups[] = {
796a3a093aeSKhan, Imran 	"gpio24",
797a3a093aeSKhan, Imran };
798a3a093aeSKhan, Imran static const char * const hdmi_rcv_groups[] = {
799a3a093aeSKhan, Imran 	"gpio30",
800a3a093aeSKhan, Imran };
801a3a093aeSKhan, Imran static const char * const hdmi_cec_groups[] = {
802a3a093aeSKhan, Imran 	"gpio31",
803a3a093aeSKhan, Imran };
804a3a093aeSKhan, Imran static const char * const blsp_spi2_groups[] = {
805a3a093aeSKhan, Imran 	"gpio31", "gpio32", "gpio33", "gpio34",
806a3a093aeSKhan, Imran };
807a3a093aeSKhan, Imran static const char * const blsp_uart2_a_groups[] = {
808a3a093aeSKhan, Imran 	"gpio31", "gpio32", "gpio33", "gpio34",
809a3a093aeSKhan, Imran };
810a3a093aeSKhan, Imran static const char * const blsp_uim2_a_groups[] = {
811a3a093aeSKhan, Imran 	"gpio31", "gpio34",
812a3a093aeSKhan, Imran };
813a3a093aeSKhan, Imran static const char * const pwr_modem_groups[] = {
814a3a093aeSKhan, Imran 	"gpio31",
815a3a093aeSKhan, Imran };
816a3a093aeSKhan, Imran static const char * const hdmi_ddc_groups[] = {
817a3a093aeSKhan, Imran 	"gpio32", "gpio33",
818a3a093aeSKhan, Imran };
819a3a093aeSKhan, Imran static const char * const blsp_i2c2_groups[] = {
820a3a093aeSKhan, Imran 	"gpio32", "gpio33",
821a3a093aeSKhan, Imran };
822a3a093aeSKhan, Imran static const char * const pwr_nav_groups[] = {
823a3a093aeSKhan, Imran 	"gpio32",
824a3a093aeSKhan, Imran };
825a3a093aeSKhan, Imran static const char * const pwr_crypto_groups[] = {
826a3a093aeSKhan, Imran 	"gpio33",
827a3a093aeSKhan, Imran };
828a3a093aeSKhan, Imran static const char * const hdmi_hot_groups[] = {
829a3a093aeSKhan, Imran 	"gpio34",
830a3a093aeSKhan, Imran };
831a3a093aeSKhan, Imran static const char * const edp_hot_groups[] = {
832a3a093aeSKhan, Imran 	"gpio34",
833a3a093aeSKhan, Imran };
834a3a093aeSKhan, Imran static const char * const pci_e0_groups[] = {
835a3a093aeSKhan, Imran 	"gpio35", "gpio36", "gpio37",
836a3a093aeSKhan, Imran };
837a3a093aeSKhan, Imran static const char * const jitter_bist_groups[] = {
838a3a093aeSKhan, Imran 	"gpio35",
839a3a093aeSKhan, Imran };
840a3a093aeSKhan, Imran static const char * const agera_pll_groups[] = {
841a3a093aeSKhan, Imran 	"gpio36", "gpio37",
842a3a093aeSKhan, Imran };
843a3a093aeSKhan, Imran static const char * const atest_tsens_groups[] = {
844a3a093aeSKhan, Imran 	"gpio36",
845a3a093aeSKhan, Imran };
846a3a093aeSKhan, Imran static const char * const usb_phy_groups[] = {
847a3a093aeSKhan, Imran 	"gpio38",
848a3a093aeSKhan, Imran };
849a3a093aeSKhan, Imran static const char * const lpass_slimbus_groups[] = {
850a3a093aeSKhan, Imran 	"gpio39", "gpio70", "gpio71", "gpio72",
851a3a093aeSKhan, Imran };
852a3a093aeSKhan, Imran static const char * const sd_write_groups[] = {
853a3a093aeSKhan, Imran 	"gpio40",
854a3a093aeSKhan, Imran };
855a3a093aeSKhan, Imran static const char * const blsp_spi6_groups[] = {
856a3a093aeSKhan, Imran 	"gpio41", "gpio42", "gpio43", "gpio44",
857a3a093aeSKhan, Imran };
858a3a093aeSKhan, Imran static const char * const blsp_uart3_b_groups[] = {
859a3a093aeSKhan, Imran 	"gpio41", "gpio42", "gpio43", "gpio44",
860a3a093aeSKhan, Imran };
861a3a093aeSKhan, Imran static const char * const blsp_uim3_b_groups[] = {
862a3a093aeSKhan, Imran 	"gpio41", "gpio42",
863a3a093aeSKhan, Imran };
864a3a093aeSKhan, Imran static const char * const blsp_i2c6_groups[] = {
865a3a093aeSKhan, Imran 	"gpio43", "gpio44",
866a3a093aeSKhan, Imran };
867a3a093aeSKhan, Imran static const char * const bt_reset_groups[] = {
868a3a093aeSKhan, Imran 	"gpio45",
869a3a093aeSKhan, Imran };
870a3a093aeSKhan, Imran static const char * const blsp_spi3_groups[] = {
871a3a093aeSKhan, Imran 	"gpio45", "gpio46", "gpio47", "gpio48",
872a3a093aeSKhan, Imran };
873a3a093aeSKhan, Imran static const char * const blsp_uart3_a_groups[] = {
874a3a093aeSKhan, Imran 	"gpio45", "gpio46", "gpio47", "gpio48",
875a3a093aeSKhan, Imran };
876a3a093aeSKhan, Imran static const char * const blsp_uim3_a_groups[] = {
877a3a093aeSKhan, Imran 	"gpio45", "gpio46",
878a3a093aeSKhan, Imran };
879a3a093aeSKhan, Imran static const char * const blsp_i2c3_groups[] = {
880a3a093aeSKhan, Imran 	"gpio47", "gpio48",
881a3a093aeSKhan, Imran };
882a3a093aeSKhan, Imran static const char * const blsp_spi9_groups[] = {
883a3a093aeSKhan, Imran 	"gpio49", "gpio50", "gpio51", "gpio52",
884a3a093aeSKhan, Imran };
885a3a093aeSKhan, Imran static const char * const blsp_uart9_a_groups[] = {
886a3a093aeSKhan, Imran 	"gpio49", "gpio50", "gpio51", "gpio52",
887a3a093aeSKhan, Imran };
888a3a093aeSKhan, Imran static const char * const blsp_uim9_a_groups[] = {
889a3a093aeSKhan, Imran 	"gpio49", "gpio50",
890a3a093aeSKhan, Imran };
891a3a093aeSKhan, Imran static const char * const blsp10_spi_b_groups[] = {
892a3a093aeSKhan, Imran 	"gpio49", "gpio50",
893a3a093aeSKhan, Imran };
894a3a093aeSKhan, Imran static const char * const qdss_cti0_a_groups[] = {
895a3a093aeSKhan, Imran 	"gpio49", "gpio50",
896a3a093aeSKhan, Imran };
897a3a093aeSKhan, Imran static const char * const blsp_i2c9_groups[] = {
898a3a093aeSKhan, Imran 	"gpio51", "gpio52",
899a3a093aeSKhan, Imran };
900a3a093aeSKhan, Imran static const char * const blsp10_spi_a_groups[] = {
901a3a093aeSKhan, Imran 	"gpio51", "gpio52",
902a3a093aeSKhan, Imran };
903a3a093aeSKhan, Imran static const char * const blsp_spi7_groups[] = {
904a3a093aeSKhan, Imran 	"gpio53", "gpio54", "gpio55", "gpio56",
905a3a093aeSKhan, Imran };
906a3a093aeSKhan, Imran static const char * const blsp_uart7_a_groups[] = {
907a3a093aeSKhan, Imran 	"gpio53", "gpio54", "gpio55", "gpio56",
908a3a093aeSKhan, Imran };
909a3a093aeSKhan, Imran static const char * const blsp_uim7_a_groups[] = {
910a3a093aeSKhan, Imran 	"gpio53", "gpio54",
911a3a093aeSKhan, Imran };
912a3a093aeSKhan, Imran static const char * const blsp_i2c7_groups[] = {
913a3a093aeSKhan, Imran 	"gpio55", "gpio56",
914a3a093aeSKhan, Imran };
915a3a093aeSKhan, Imran static const char * const qua_mi2s_groups[] = {
916a3a093aeSKhan, Imran 	"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
917a3a093aeSKhan, Imran };
918a3a093aeSKhan, Imran static const char * const blsp10_spi_groups[] = {
919a3a093aeSKhan, Imran 	"gpio57",
920a3a093aeSKhan, Imran };
921a3a093aeSKhan, Imran static const char * const gcc_gp1_a_groups[] = {
922a3a093aeSKhan, Imran 	"gpio57",
923a3a093aeSKhan, Imran };
924a3a093aeSKhan, Imran static const char * const ssc_irq_groups[] = {
925a3a093aeSKhan, Imran 	"gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63", "gpio78",
926a3a093aeSKhan, Imran 	"gpio79", "gpio80", "gpio117", "gpio118", "gpio119", "gpio120",
927a3a093aeSKhan, Imran 	"gpio121", "gpio122", "gpio123", "gpio124", "gpio125",
928a3a093aeSKhan, Imran };
929a3a093aeSKhan, Imran static const char * const blsp_spi11_groups[] = {
930a3a093aeSKhan, Imran 	"gpio58", "gpio59", "gpio60", "gpio61",
931a3a093aeSKhan, Imran };
932a3a093aeSKhan, Imran static const char * const blsp_uart8_b_groups[] = {
933a3a093aeSKhan, Imran 	"gpio58", "gpio59", "gpio60", "gpio61",
934a3a093aeSKhan, Imran };
935a3a093aeSKhan, Imran static const char * const blsp_uim8_b_groups[] = {
936a3a093aeSKhan, Imran 	"gpio58", "gpio59",
937a3a093aeSKhan, Imran };
938a3a093aeSKhan, Imran static const char * const gcc_gp2_a_groups[] = {
939a3a093aeSKhan, Imran 	"gpio58",
940a3a093aeSKhan, Imran };
941a3a093aeSKhan, Imran static const char * const qdss_cti1_a_groups[] = {
942a3a093aeSKhan, Imran 	"gpio58", "gpio59",
943a3a093aeSKhan, Imran };
944a3a093aeSKhan, Imran static const char * const gcc_gp3_a_groups[] = {
945a3a093aeSKhan, Imran 	"gpio59",
946a3a093aeSKhan, Imran };
947a3a093aeSKhan, Imran static const char * const blsp_i2c11_groups[] = {
948a3a093aeSKhan, Imran 	"gpio60", "gpio61",
949a3a093aeSKhan, Imran };
950a3a093aeSKhan, Imran static const char * const cri_trng0_groups[] = {
951a3a093aeSKhan, Imran 	"gpio60",
952a3a093aeSKhan, Imran };
953a3a093aeSKhan, Imran static const char * const cri_trng1_groups[] = {
954a3a093aeSKhan, Imran 	"gpio61",
955a3a093aeSKhan, Imran };
956a3a093aeSKhan, Imran static const char * const cri_trng_groups[] = {
957a3a093aeSKhan, Imran 	"gpio62",
958a3a093aeSKhan, Imran };
959a3a093aeSKhan, Imran static const char * const pri_mi2s_groups[] = {
960a3a093aeSKhan, Imran 	"gpio64", "gpio65", "gpio67", "gpio68",
961a3a093aeSKhan, Imran };
962a3a093aeSKhan, Imran static const char * const sp_cmu_groups[] = {
963a3a093aeSKhan, Imran 	"gpio64",
964a3a093aeSKhan, Imran };
965a3a093aeSKhan, Imran static const char * const blsp_spi10_groups[] = {
966a3a093aeSKhan, Imran 	"gpio65", "gpio66", "gpio67", "gpio68",
967a3a093aeSKhan, Imran };
968a3a093aeSKhan, Imran static const char * const blsp_uart7_b_groups[] = {
969a3a093aeSKhan, Imran 	"gpio65", "gpio66", "gpio67", "gpio68",
970a3a093aeSKhan, Imran };
971a3a093aeSKhan, Imran static const char * const blsp_uim7_b_groups[] = {
972a3a093aeSKhan, Imran 	"gpio65", "gpio66",
973a3a093aeSKhan, Imran };
974a3a093aeSKhan, Imran static const char * const pri_mi2s_ws_groups[] = {
975a3a093aeSKhan, Imran 	"gpio66",
976a3a093aeSKhan, Imran };
977a3a093aeSKhan, Imran static const char * const blsp_i2c10_groups[] = {
978a3a093aeSKhan, Imran 	"gpio67", "gpio68",
979a3a093aeSKhan, Imran };
980a3a093aeSKhan, Imran static const char * const spkr_i2s_groups[] = {
981a3a093aeSKhan, Imran 	"gpio69", "gpio70", "gpio71", "gpio72",
982a3a093aeSKhan, Imran };
983a3a093aeSKhan, Imran static const char * const audio_ref_groups[] = {
984a3a093aeSKhan, Imran 	"gpio69",
985a3a093aeSKhan, Imran };
986a3a093aeSKhan, Imran static const char * const blsp9_spi_groups[] = {
987a3a093aeSKhan, Imran 	"gpio70", "gpio71", "gpio72",
988a3a093aeSKhan, Imran };
989a3a093aeSKhan, Imran static const char * const tsense_pwm1_groups[] = {
990a3a093aeSKhan, Imran 	"gpio71",
991a3a093aeSKhan, Imran };
992a3a093aeSKhan, Imran static const char * const tsense_pwm2_groups[] = {
993a3a093aeSKhan, Imran 	"gpio71",
994a3a093aeSKhan, Imran };
995a3a093aeSKhan, Imran static const char * const btfm_slimbus_groups[] = {
996a3a093aeSKhan, Imran 	"gpio73", "gpio74",
997a3a093aeSKhan, Imran };
998a3a093aeSKhan, Imran static const char * const ter_mi2s_groups[] = {
999a3a093aeSKhan, Imran 	"gpio74", "gpio75", "gpio76", "gpio77", "gpio78",
1000a3a093aeSKhan, Imran };
1001a3a093aeSKhan, Imran static const char * const gcc_gp1_b_groups[] = {
1002a3a093aeSKhan, Imran 	"gpio78",
1003a3a093aeSKhan, Imran };
1004a3a093aeSKhan, Imran static const char * const sec_mi2s_groups[] = {
1005a3a093aeSKhan, Imran 	"gpio79", "gpio80", "gpio81", "gpio82", "gpio83",
1006a3a093aeSKhan, Imran };
1007a3a093aeSKhan, Imran static const char * const blsp_spi12_groups[] = {
1008a3a093aeSKhan, Imran 	"gpio81", "gpio82", "gpio83", "gpio84",
1009a3a093aeSKhan, Imran };
1010a3a093aeSKhan, Imran static const char * const blsp_uart9_b_groups[] = {
1011a3a093aeSKhan, Imran 	"gpio81", "gpio82", "gpio83", "gpio84",
1012a3a093aeSKhan, Imran };
1013a3a093aeSKhan, Imran static const char * const blsp_uim9_b_groups[] = {
1014a3a093aeSKhan, Imran 	"gpio81", "gpio82",
1015a3a093aeSKhan, Imran };
1016a3a093aeSKhan, Imran static const char * const gcc_gp2_b_groups[] = {
1017a3a093aeSKhan, Imran 	"gpio81",
1018a3a093aeSKhan, Imran };
1019a3a093aeSKhan, Imran static const char * const gcc_gp3_b_groups[] = {
1020a3a093aeSKhan, Imran 	"gpio82",
1021a3a093aeSKhan, Imran };
1022a3a093aeSKhan, Imran static const char * const blsp_i2c12_groups[] = {
1023a3a093aeSKhan, Imran 	"gpio83", "gpio84",
1024a3a093aeSKhan, Imran };
1025a3a093aeSKhan, Imran static const char * const blsp_spi5_groups[] = {
1026a3a093aeSKhan, Imran 	"gpio85", "gpio86", "gpio87", "gpio88",
1027a3a093aeSKhan, Imran };
1028a3a093aeSKhan, Imran static const char * const blsp_uart2_b_groups[] = {
1029a3a093aeSKhan, Imran 	"gpio85", "gpio86", "gpio87", "gpio88",
1030a3a093aeSKhan, Imran };
1031a3a093aeSKhan, Imran static const char * const blsp_uim2_b_groups[] = {
1032a3a093aeSKhan, Imran 	"gpio85", "gpio86",
1033a3a093aeSKhan, Imran };
1034a3a093aeSKhan, Imran static const char * const blsp_i2c5_groups[] = {
1035a3a093aeSKhan, Imran 	"gpio87", "gpio88",
1036a3a093aeSKhan, Imran };
1037fa21cbeaSMarc Gonzalez static const char * const tsif0_groups[] = {
1038fa21cbeaSMarc Gonzalez 	"gpio9", "gpio40", "gpio89", "gpio90", "gpio91",
1039a3a093aeSKhan, Imran };
1040a3a093aeSKhan, Imran static const char * const mdp_vsync0_groups[] = {
1041a3a093aeSKhan, Imran 	"gpio90",
1042a3a093aeSKhan, Imran };
1043a3a093aeSKhan, Imran static const char * const mdp_vsync1_groups[] = {
1044a3a093aeSKhan, Imran 	"gpio90",
1045a3a093aeSKhan, Imran };
1046a3a093aeSKhan, Imran static const char * const mdp_vsync2_groups[] = {
1047a3a093aeSKhan, Imran 	"gpio90",
1048a3a093aeSKhan, Imran };
1049a3a093aeSKhan, Imran static const char * const mdp_vsync3_groups[] = {
1050a3a093aeSKhan, Imran 	"gpio90",
1051a3a093aeSKhan, Imran };
1052a3a093aeSKhan, Imran static const char * const blsp1_spi_groups[] = {
1053a3a093aeSKhan, Imran 	"gpio90",
1054a3a093aeSKhan, Imran };
1055a3a093aeSKhan, Imran static const char * const tgu_ch0_groups[] = {
1056a3a093aeSKhan, Imran 	"gpio90",
1057a3a093aeSKhan, Imran };
1058a3a093aeSKhan, Imran static const char * const qdss_cti1_b_groups[] = {
1059a3a093aeSKhan, Imran 	"gpio90", "gpio91",
1060a3a093aeSKhan, Imran };
1061a3a093aeSKhan, Imran static const char * const sdc4_cmd_groups[] = {
1062a3a093aeSKhan, Imran 	"gpio91",
1063a3a093aeSKhan, Imran };
1064a3a093aeSKhan, Imran static const char * const tgu_ch1_groups[] = {
1065a3a093aeSKhan, Imran 	"gpio91",
1066a3a093aeSKhan, Imran };
1067fa21cbeaSMarc Gonzalez static const char * const tsif1_groups[] = {
1068fa21cbeaSMarc Gonzalez 	"gpio92", "gpio93", "gpio94", "gpio95", "gpio96",
1069a3a093aeSKhan, Imran };
1070a3a093aeSKhan, Imran static const char * const sdc43_groups[] = {
1071a3a093aeSKhan, Imran 	"gpio92",
1072a3a093aeSKhan, Imran };
1073a3a093aeSKhan, Imran static const char * const vfr_1_groups[] = {
1074a3a093aeSKhan, Imran 	"gpio92",
1075a3a093aeSKhan, Imran };
1076a3a093aeSKhan, Imran static const char * const sdc4_clk_groups[] = {
1077a3a093aeSKhan, Imran 	"gpio93",
1078a3a093aeSKhan, Imran };
1079a3a093aeSKhan, Imran static const char * const sdc42_groups[] = {
1080a3a093aeSKhan, Imran 	"gpio94",
1081a3a093aeSKhan, Imran };
1082a3a093aeSKhan, Imran static const char * const sd_card_groups[] = {
1083a3a093aeSKhan, Imran 	"gpio95",
1084a3a093aeSKhan, Imran };
1085a3a093aeSKhan, Imran static const char * const sdc41_groups[] = {
1086a3a093aeSKhan, Imran 	"gpio95",
1087a3a093aeSKhan, Imran };
1088a3a093aeSKhan, Imran static const char * const sdc40_groups[] = {
1089a3a093aeSKhan, Imran 	"gpio96",
1090a3a093aeSKhan, Imran };
1091a3a093aeSKhan, Imran static const char * const mdp_vsync_b_groups[] = {
1092a3a093aeSKhan, Imran 	"gpio97", "gpio98",
1093a3a093aeSKhan, Imran };
1094a3a093aeSKhan, Imran static const char * const ldo_en_groups[] = {
1095a3a093aeSKhan, Imran 	"gpio97",
1096a3a093aeSKhan, Imran };
1097a3a093aeSKhan, Imran static const char * const ldo_update_groups[] = {
1098a3a093aeSKhan, Imran 	"gpio98",
1099a3a093aeSKhan, Imran };
1100a3a093aeSKhan, Imran static const char * const blsp_uart8_groups[] = {
1101a3a093aeSKhan, Imran 	"gpio100", "gpio101",
1102a3a093aeSKhan, Imran };
1103a3a093aeSKhan, Imran static const char * const blsp11_i2c_groups[] = {
1104a3a093aeSKhan, Imran 	"gpio102", "gpio103",
1105a3a093aeSKhan, Imran };
1106a3a093aeSKhan, Imran static const char * const prng_rosc_groups[] = {
1107a3a093aeSKhan, Imran 	"gpio102",
1108a3a093aeSKhan, Imran };
1109a3a093aeSKhan, Imran static const char * const uim2_data_groups[] = {
1110a3a093aeSKhan, Imran 	"gpio105",
1111a3a093aeSKhan, Imran };
1112a3a093aeSKhan, Imran static const char * const uim2_clk_groups[] = {
1113a3a093aeSKhan, Imran 	"gpio106",
1114a3a093aeSKhan, Imran };
1115a3a093aeSKhan, Imran static const char * const uim2_reset_groups[] = {
1116a3a093aeSKhan, Imran 	"gpio107",
1117a3a093aeSKhan, Imran };
1118a3a093aeSKhan, Imran static const char * const uim2_present_groups[] = {
1119a3a093aeSKhan, Imran 	"gpio108",
1120a3a093aeSKhan, Imran };
1121a3a093aeSKhan, Imran static const char * const uim1_data_groups[] = {
1122a3a093aeSKhan, Imran 	"gpio109",
1123a3a093aeSKhan, Imran };
1124a3a093aeSKhan, Imran static const char * const uim1_clk_groups[] = {
1125a3a093aeSKhan, Imran 	"gpio110",
1126a3a093aeSKhan, Imran };
1127a3a093aeSKhan, Imran static const char * const uim1_reset_groups[] = {
1128a3a093aeSKhan, Imran 	"gpio111",
1129a3a093aeSKhan, Imran };
1130a3a093aeSKhan, Imran static const char * const uim1_present_groups[] = {
1131a3a093aeSKhan, Imran 	"gpio112",
1132a3a093aeSKhan, Imran };
1133a3a093aeSKhan, Imran static const char * const uim_batt_groups[] = {
1134a3a093aeSKhan, Imran 	"gpio113",
1135a3a093aeSKhan, Imran };
1136a3a093aeSKhan, Imran static const char * const nav_dr_groups[] = {
1137a3a093aeSKhan, Imran 	"gpio115",
1138a3a093aeSKhan, Imran };
1139a3a093aeSKhan, Imran static const char * const atest_char_groups[] = {
1140a3a093aeSKhan, Imran 	"gpio117", "gpio118", "gpio119", "gpio120", "gpio121",
1141a3a093aeSKhan, Imran };
1142a3a093aeSKhan, Imran static const char * const adsp_ext_groups[] = {
1143a3a093aeSKhan, Imran 	"gpio118",
1144a3a093aeSKhan, Imran };
1145a3a093aeSKhan, Imran static const char * const modem_tsync_groups[] = {
1146a3a093aeSKhan, Imran 	"gpio128",
1147a3a093aeSKhan, Imran };
1148a3a093aeSKhan, Imran static const char * const nav_pps_groups[] = {
1149a3a093aeSKhan, Imran 	"gpio128",
1150a3a093aeSKhan, Imran };
1151a3a093aeSKhan, Imran static const char * const qlink_request_groups[] = {
1152a3a093aeSKhan, Imran 	"gpio130",
1153a3a093aeSKhan, Imran };
1154a3a093aeSKhan, Imran static const char * const qlink_enable_groups[] = {
1155a3a093aeSKhan, Imran 	"gpio131",
1156a3a093aeSKhan, Imran };
1157a3a093aeSKhan, Imran static const char * const pa_indicator_groups[] = {
1158a3a093aeSKhan, Imran 	"gpio135",
1159a3a093aeSKhan, Imran };
1160a3a093aeSKhan, Imran static const char * const ssbi1_groups[] = {
1161a3a093aeSKhan, Imran 	"gpio142",
1162a3a093aeSKhan, Imran };
1163a3a093aeSKhan, Imran static const char * const isense_dbg_groups[] = {
1164a3a093aeSKhan, Imran 	"gpio143",
1165a3a093aeSKhan, Imran };
1166a3a093aeSKhan, Imran static const char * const mss_lte_groups[] = {
1167a3a093aeSKhan, Imran 	"gpio144", "gpio145",
1168a3a093aeSKhan, Imran };
1169a3a093aeSKhan, Imran 
1170a3a093aeSKhan, Imran static const struct msm_function msm8998_functions[] = {
1171a3a093aeSKhan, Imran 	FUNCTION(gpio),
1172a3a093aeSKhan, Imran 	FUNCTION(adsp_ext),
1173a3a093aeSKhan, Imran 	FUNCTION(agera_pll),
1174a3a093aeSKhan, Imran 	FUNCTION(atest_char),
1175a3a093aeSKhan, Imran 	FUNCTION(atest_gpsadc0),
1176a3a093aeSKhan, Imran 	FUNCTION(atest_gpsadc1),
1177a3a093aeSKhan, Imran 	FUNCTION(atest_tsens),
1178a3a093aeSKhan, Imran 	FUNCTION(atest_tsens2),
1179a3a093aeSKhan, Imran 	FUNCTION(atest_usb1),
1180a3a093aeSKhan, Imran 	FUNCTION(atest_usb10),
1181a3a093aeSKhan, Imran 	FUNCTION(atest_usb11),
1182a3a093aeSKhan, Imran 	FUNCTION(atest_usb12),
1183a3a093aeSKhan, Imran 	FUNCTION(atest_usb13),
1184a3a093aeSKhan, Imran 	FUNCTION(audio_ref),
1185a3a093aeSKhan, Imran 	FUNCTION(bimc_dte0),
1186a3a093aeSKhan, Imran 	FUNCTION(bimc_dte1),
1187a3a093aeSKhan, Imran 	FUNCTION(blsp10_spi),
1188a3a093aeSKhan, Imran 	FUNCTION(blsp10_spi_a),
1189a3a093aeSKhan, Imran 	FUNCTION(blsp10_spi_b),
1190a3a093aeSKhan, Imran 	FUNCTION(blsp11_i2c),
1191a3a093aeSKhan, Imran 	FUNCTION(blsp1_spi),
1192a3a093aeSKhan, Imran 	FUNCTION(blsp1_spi_a),
1193a3a093aeSKhan, Imran 	FUNCTION(blsp1_spi_b),
1194a3a093aeSKhan, Imran 	FUNCTION(blsp2_spi),
1195a3a093aeSKhan, Imran 	FUNCTION(blsp9_spi),
1196a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c1),
1197a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c2),
1198a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c3),
1199a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c4),
1200a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c5),
1201a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c6),
1202a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c7),
1203a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c8),
1204a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c9),
1205a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c10),
1206a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c11),
1207a3a093aeSKhan, Imran 	FUNCTION(blsp_i2c12),
1208a3a093aeSKhan, Imran 	FUNCTION(blsp_spi1),
1209a3a093aeSKhan, Imran 	FUNCTION(blsp_spi2),
1210a3a093aeSKhan, Imran 	FUNCTION(blsp_spi3),
1211a3a093aeSKhan, Imran 	FUNCTION(blsp_spi4),
1212a3a093aeSKhan, Imran 	FUNCTION(blsp_spi5),
1213a3a093aeSKhan, Imran 	FUNCTION(blsp_spi6),
1214a3a093aeSKhan, Imran 	FUNCTION(blsp_spi7),
1215a3a093aeSKhan, Imran 	FUNCTION(blsp_spi8),
1216a3a093aeSKhan, Imran 	FUNCTION(blsp_spi9),
1217a3a093aeSKhan, Imran 	FUNCTION(blsp_spi10),
1218a3a093aeSKhan, Imran 	FUNCTION(blsp_spi11),
1219a3a093aeSKhan, Imran 	FUNCTION(blsp_spi12),
1220a3a093aeSKhan, Imran 	FUNCTION(blsp_uart1_a),
1221a3a093aeSKhan, Imran 	FUNCTION(blsp_uart1_b),
1222a3a093aeSKhan, Imran 	FUNCTION(blsp_uart2_a),
1223a3a093aeSKhan, Imran 	FUNCTION(blsp_uart2_b),
1224a3a093aeSKhan, Imran 	FUNCTION(blsp_uart3_a),
1225a3a093aeSKhan, Imran 	FUNCTION(blsp_uart3_b),
1226a3a093aeSKhan, Imran 	FUNCTION(blsp_uart7_a),
1227a3a093aeSKhan, Imran 	FUNCTION(blsp_uart7_b),
1228a3a093aeSKhan, Imran 	FUNCTION(blsp_uart8),
1229a3a093aeSKhan, Imran 	FUNCTION(blsp_uart8_a),
1230a3a093aeSKhan, Imran 	FUNCTION(blsp_uart8_b),
1231a3a093aeSKhan, Imran 	FUNCTION(blsp_uart9_a),
1232a3a093aeSKhan, Imran 	FUNCTION(blsp_uart9_b),
1233a3a093aeSKhan, Imran 	FUNCTION(blsp_uim1_a),
1234a3a093aeSKhan, Imran 	FUNCTION(blsp_uim1_b),
1235a3a093aeSKhan, Imran 	FUNCTION(blsp_uim2_a),
1236a3a093aeSKhan, Imran 	FUNCTION(blsp_uim2_b),
1237a3a093aeSKhan, Imran 	FUNCTION(blsp_uim3_a),
1238a3a093aeSKhan, Imran 	FUNCTION(blsp_uim3_b),
1239a3a093aeSKhan, Imran 	FUNCTION(blsp_uim7_a),
1240a3a093aeSKhan, Imran 	FUNCTION(blsp_uim7_b),
1241a3a093aeSKhan, Imran 	FUNCTION(blsp_uim8_a),
1242a3a093aeSKhan, Imran 	FUNCTION(blsp_uim8_b),
1243a3a093aeSKhan, Imran 	FUNCTION(blsp_uim9_a),
1244a3a093aeSKhan, Imran 	FUNCTION(blsp_uim9_b),
1245a3a093aeSKhan, Imran 	FUNCTION(bt_reset),
1246a3a093aeSKhan, Imran 	FUNCTION(btfm_slimbus),
1247a3a093aeSKhan, Imran 	FUNCTION(cam_mclk),
1248a3a093aeSKhan, Imran 	FUNCTION(cci_async),
1249a3a093aeSKhan, Imran 	FUNCTION(cci_i2c),
1250a3a093aeSKhan, Imran 	FUNCTION(cci_timer0),
1251a3a093aeSKhan, Imran 	FUNCTION(cci_timer1),
1252a3a093aeSKhan, Imran 	FUNCTION(cci_timer2),
1253a3a093aeSKhan, Imran 	FUNCTION(cci_timer3),
1254a3a093aeSKhan, Imran 	FUNCTION(cci_timer4),
1255a3a093aeSKhan, Imran 	FUNCTION(cri_trng),
1256a3a093aeSKhan, Imran 	FUNCTION(cri_trng0),
1257a3a093aeSKhan, Imran 	FUNCTION(cri_trng1),
1258a3a093aeSKhan, Imran 	FUNCTION(dbg_out),
1259a3a093aeSKhan, Imran 	FUNCTION(ddr_bist),
1260a3a093aeSKhan, Imran 	FUNCTION(edp_hot),
1261a3a093aeSKhan, Imran 	FUNCTION(edp_lcd),
1262a3a093aeSKhan, Imran 	FUNCTION(gcc_gp1_a),
1263a3a093aeSKhan, Imran 	FUNCTION(gcc_gp1_b),
1264a3a093aeSKhan, Imran 	FUNCTION(gcc_gp2_a),
1265a3a093aeSKhan, Imran 	FUNCTION(gcc_gp2_b),
1266a3a093aeSKhan, Imran 	FUNCTION(gcc_gp3_a),
1267a3a093aeSKhan, Imran 	FUNCTION(gcc_gp3_b),
1268a3a093aeSKhan, Imran 	FUNCTION(hdmi_cec),
1269a3a093aeSKhan, Imran 	FUNCTION(hdmi_ddc),
1270a3a093aeSKhan, Imran 	FUNCTION(hdmi_hot),
1271a3a093aeSKhan, Imran 	FUNCTION(hdmi_rcv),
1272a3a093aeSKhan, Imran 	FUNCTION(isense_dbg),
1273a3a093aeSKhan, Imran 	FUNCTION(jitter_bist),
1274a3a093aeSKhan, Imran 	FUNCTION(ldo_en),
1275a3a093aeSKhan, Imran 	FUNCTION(ldo_update),
1276a3a093aeSKhan, Imran 	FUNCTION(lpass_slimbus),
1277a3a093aeSKhan, Imran 	FUNCTION(m_voc),
1278a3a093aeSKhan, Imran 	FUNCTION(mdp_vsync),
1279a3a093aeSKhan, Imran 	FUNCTION(mdp_vsync0),
1280a3a093aeSKhan, Imran 	FUNCTION(mdp_vsync1),
1281a3a093aeSKhan, Imran 	FUNCTION(mdp_vsync2),
1282a3a093aeSKhan, Imran 	FUNCTION(mdp_vsync3),
1283a3a093aeSKhan, Imran 	FUNCTION(mdp_vsync_a),
1284a3a093aeSKhan, Imran 	FUNCTION(mdp_vsync_b),
1285a3a093aeSKhan, Imran 	FUNCTION(modem_tsync),
1286a3a093aeSKhan, Imran 	FUNCTION(mss_lte),
1287a3a093aeSKhan, Imran 	FUNCTION(nav_dr),
1288a3a093aeSKhan, Imran 	FUNCTION(nav_pps),
1289a3a093aeSKhan, Imran 	FUNCTION(pa_indicator),
1290a3a093aeSKhan, Imran 	FUNCTION(pci_e0),
1291a3a093aeSKhan, Imran 	FUNCTION(phase_flag),
1292a3a093aeSKhan, Imran 	FUNCTION(pll_bypassnl),
1293a3a093aeSKhan, Imran 	FUNCTION(pll_reset),
1294a3a093aeSKhan, Imran 	FUNCTION(pri_mi2s),
1295a3a093aeSKhan, Imran 	FUNCTION(pri_mi2s_ws),
1296a3a093aeSKhan, Imran 	FUNCTION(prng_rosc),
1297a3a093aeSKhan, Imran 	FUNCTION(pwr_crypto),
1298a3a093aeSKhan, Imran 	FUNCTION(pwr_modem),
1299a3a093aeSKhan, Imran 	FUNCTION(pwr_nav),
1300a3a093aeSKhan, Imran 	FUNCTION(qdss_cti0_a),
1301a3a093aeSKhan, Imran 	FUNCTION(qdss_cti0_b),
1302a3a093aeSKhan, Imran 	FUNCTION(qdss_cti1_a),
1303a3a093aeSKhan, Imran 	FUNCTION(qdss_cti1_b),
1304a3a093aeSKhan, Imran 	FUNCTION(qdss),
1305a3a093aeSKhan, Imran 	FUNCTION(qlink_enable),
1306a3a093aeSKhan, Imran 	FUNCTION(qlink_request),
1307a3a093aeSKhan, Imran 	FUNCTION(qua_mi2s),
1308a3a093aeSKhan, Imran 	FUNCTION(sd_card),
1309a3a093aeSKhan, Imran 	FUNCTION(sd_write),
1310a3a093aeSKhan, Imran 	FUNCTION(sdc40),
1311a3a093aeSKhan, Imran 	FUNCTION(sdc41),
1312a3a093aeSKhan, Imran 	FUNCTION(sdc42),
1313a3a093aeSKhan, Imran 	FUNCTION(sdc43),
1314a3a093aeSKhan, Imran 	FUNCTION(sdc4_clk),
1315a3a093aeSKhan, Imran 	FUNCTION(sdc4_cmd),
1316a3a093aeSKhan, Imran 	FUNCTION(sec_mi2s),
1317a3a093aeSKhan, Imran 	FUNCTION(sp_cmu),
1318a3a093aeSKhan, Imran 	FUNCTION(spkr_i2s),
1319a3a093aeSKhan, Imran 	FUNCTION(ssbi1),
1320a3a093aeSKhan, Imran 	FUNCTION(ssc_irq),
1321a3a093aeSKhan, Imran 	FUNCTION(ter_mi2s),
1322a3a093aeSKhan, Imran 	FUNCTION(tgu_ch0),
1323a3a093aeSKhan, Imran 	FUNCTION(tgu_ch1),
1324a3a093aeSKhan, Imran 	FUNCTION(tsense_pwm1),
1325a3a093aeSKhan, Imran 	FUNCTION(tsense_pwm2),
1326fa21cbeaSMarc Gonzalez 	FUNCTION(tsif0),
1327fa21cbeaSMarc Gonzalez 	FUNCTION(tsif1),
1328a3a093aeSKhan, Imran 	FUNCTION(uim1_clk),
1329a3a093aeSKhan, Imran 	FUNCTION(uim1_data),
1330a3a093aeSKhan, Imran 	FUNCTION(uim1_present),
1331a3a093aeSKhan, Imran 	FUNCTION(uim1_reset),
1332a3a093aeSKhan, Imran 	FUNCTION(uim2_clk),
1333a3a093aeSKhan, Imran 	FUNCTION(uim2_data),
1334a3a093aeSKhan, Imran 	FUNCTION(uim2_present),
1335a3a093aeSKhan, Imran 	FUNCTION(uim2_reset),
1336a3a093aeSKhan, Imran 	FUNCTION(uim_batt),
1337a3a093aeSKhan, Imran 	FUNCTION(usb_phy),
1338a3a093aeSKhan, Imran 	FUNCTION(vfr_1),
1339a3a093aeSKhan, Imran 	FUNCTION(vsense_clkout),
1340a3a093aeSKhan, Imran 	FUNCTION(vsense_data0),
1341a3a093aeSKhan, Imran 	FUNCTION(vsense_data1),
1342a3a093aeSKhan, Imran 	FUNCTION(vsense_mode),
1343a3a093aeSKhan, Imran 	FUNCTION(wlan1_adc0),
1344a3a093aeSKhan, Imran 	FUNCTION(wlan1_adc1),
1345a3a093aeSKhan, Imran 	FUNCTION(wlan2_adc0),
1346a3a093aeSKhan, Imran 	FUNCTION(wlan2_adc1),
1347a3a093aeSKhan, Imran };
1348a3a093aeSKhan, Imran 
1349a3a093aeSKhan, Imran static const struct msm_pingroup msm8998_groups[] = {
1350a3a093aeSKhan, Imran 	PINGROUP(0, EAST, blsp_spi1, blsp_uart1_a, blsp_uim1_a, _, _, _, _, _, _),
1351a3a093aeSKhan, Imran 	PINGROUP(1, EAST, blsp_spi1, blsp_uart1_a, blsp_uim1_a, _, _, _, _, _, _),
1352a3a093aeSKhan, Imran 	PINGROUP(2, EAST, blsp_spi1, blsp_uart1_a, blsp_i2c1, _, _, _, _, _, _),
1353a3a093aeSKhan, Imran 	PINGROUP(3, EAST, blsp_spi1, blsp_uart1_a, blsp_i2c1, _, _, _, _, _, _),
1354a3a093aeSKhan, Imran 	PINGROUP(4, WEST, blsp_spi8, blsp_uart8_a, blsp_uim8_a, _, qdss_cti0_b, _, _, _, _),
1355a3a093aeSKhan, Imran 	PINGROUP(5, WEST, blsp_spi8, blsp_uart8_a, blsp_uim8_a, _, qdss_cti0_b, _, _, _, _),
1356a3a093aeSKhan, Imran 	PINGROUP(6, WEST, blsp_spi8, blsp_uart8_a, blsp_i2c8, _, _, _, _, _, _),
1357a3a093aeSKhan, Imran 	PINGROUP(7, WEST, blsp_spi8, blsp_uart8_a, blsp_i2c8, ddr_bist, _, atest_tsens2, atest_usb1, _, _),
1358a3a093aeSKhan, Imran 	PINGROUP(8, EAST, blsp_spi4, blsp_uart1_b, blsp_uim1_b, _, ddr_bist, _, wlan1_adc1, atest_usb13, bimc_dte1),
1359fa21cbeaSMarc Gonzalez 	PINGROUP(9, EAST, blsp_spi4, blsp_uart1_b, blsp_uim1_b, tsif0, ddr_bist, _, wlan1_adc0, atest_usb12, bimc_dte0),
1360a3a093aeSKhan, Imran 	PINGROUP(10, EAST, mdp_vsync_a, blsp_spi4, blsp_uart1_b, blsp_i2c4, ddr_bist, atest_gpsadc1, wlan2_adc1, atest_usb11, bimc_dte1),
1361a3a093aeSKhan, Imran 	PINGROUP(11, EAST, mdp_vsync_a, edp_lcd, blsp_spi4, blsp_uart1_b, blsp_i2c4, dbg_out, atest_gpsadc0, wlan2_adc0, atest_usb10),
1362a3a093aeSKhan, Imran 	PINGROUP(12, EAST, mdp_vsync, m_voc, _, _, _, _, _, _, _),
1363a3a093aeSKhan, Imran 	PINGROUP(13, EAST, cam_mclk, pll_bypassnl, qdss, _, _, _, _, _, _),
1364a3a093aeSKhan, Imran 	PINGROUP(14, EAST, cam_mclk, pll_reset, qdss, _, _, _, _, _, _),
1365a3a093aeSKhan, Imran 	PINGROUP(15, EAST, cam_mclk, qdss, _, _, _, _, _, _, _),
1366a3a093aeSKhan, Imran 	PINGROUP(16, EAST, cam_mclk, qdss, _, _, _, _, _, _, _),
1367a3a093aeSKhan, Imran 	PINGROUP(17, EAST, cci_i2c, qdss, _, _, _, _, _, _, _),
1368a3a093aeSKhan, Imran 	PINGROUP(18, EAST, cci_i2c, phase_flag, qdss, _, _, _, _, _, _),
1369a3a093aeSKhan, Imran 	PINGROUP(19, EAST, cci_i2c, phase_flag, qdss, _, _, _, _, _, _),
1370a3a093aeSKhan, Imran 	PINGROUP(20, EAST, cci_i2c, qdss, _, _, _, _, _, _, _),
1371a3a093aeSKhan, Imran 	PINGROUP(21, EAST, cci_timer0, _, qdss, vsense_data0, _, _, _, _, _),
1372a3a093aeSKhan, Imran 	PINGROUP(22, EAST, cci_timer1, _, qdss, vsense_data1, _, _, _, _, _),
1373a3a093aeSKhan, Imran 	PINGROUP(23, EAST, cci_timer2, blsp1_spi_b, qdss, vsense_mode, _, _, _, _, _),
1374a3a093aeSKhan, Imran 	PINGROUP(24, EAST, cci_timer3, cci_async, blsp1_spi_a, _, qdss, vsense_clkout, _, _, _),
1375a3a093aeSKhan, Imran 	PINGROUP(25, EAST, cci_timer4, cci_async, blsp2_spi, _, qdss, _, _, _, _),
1376a3a093aeSKhan, Imran 	PINGROUP(26, EAST, cci_async, qdss, _, _, _, _, _, _, _),
1377a3a093aeSKhan, Imran 	PINGROUP(27, EAST, blsp1_spi_a, qdss, _, _, _, _, _, _, _),
1378a3a093aeSKhan, Imran 	PINGROUP(28, EAST, blsp1_spi_b, qdss, _, _, _, _, _, _, _),
1379a3a093aeSKhan, Imran 	PINGROUP(29, EAST, blsp2_spi, _, qdss, _, _, _, _, _, _),
1380a3a093aeSKhan, Imran 	PINGROUP(30, EAST, hdmi_rcv, blsp2_spi, qdss, _, _, _, _, _, _),
1381a3a093aeSKhan, Imran 	PINGROUP(31, EAST, hdmi_cec, blsp_spi2, blsp_uart2_a, blsp_uim2_a, pwr_modem, _, _, _, _),
1382a3a093aeSKhan, Imran 	PINGROUP(32, EAST, hdmi_ddc, blsp_spi2, blsp_uart2_a, blsp_i2c2, pwr_nav, _, _, _, _),
1383a3a093aeSKhan, Imran 	PINGROUP(33, EAST, hdmi_ddc, blsp_spi2, blsp_uart2_a, blsp_i2c2, pwr_crypto, _, _, _, _),
1384a3a093aeSKhan, Imran 	PINGROUP(34, EAST, hdmi_hot, edp_hot, blsp_spi2, blsp_uart2_a, blsp_uim2_a, _, _, _, _),
1385a3a093aeSKhan, Imran 	PINGROUP(35, NORTH, pci_e0, jitter_bist, _, _, _, _, _, _, _),
1386a3a093aeSKhan, Imran 	PINGROUP(36, NORTH, pci_e0, agera_pll, _, atest_tsens, _, _, _, _, _),
1387a3a093aeSKhan, Imran 	PINGROUP(37, NORTH, agera_pll, _, _, _, _, _, _, _, _),
1388a3a093aeSKhan, Imran 	PINGROUP(38, WEST, usb_phy, _, _, _, _, _, _, _, _),
1389a3a093aeSKhan, Imran 	PINGROUP(39, WEST, lpass_slimbus, _, _, _, _, _, _, _, _),
1390fa21cbeaSMarc Gonzalez 	PINGROUP(40, EAST, sd_write, tsif0, _, _, _, _, _, _, _),
1391a3a093aeSKhan, Imran 	PINGROUP(41, EAST, blsp_spi6, blsp_uart3_b, blsp_uim3_b, _, qdss, _, _, _, _),
1392a3a093aeSKhan, Imran 	PINGROUP(42, EAST, blsp_spi6, blsp_uart3_b, blsp_uim3_b, _, qdss, _, _, _, _),
1393a3a093aeSKhan, Imran 	PINGROUP(43, EAST, blsp_spi6, blsp_uart3_b, blsp_i2c6, _, qdss, _, _, _, _),
1394a3a093aeSKhan, Imran 	PINGROUP(44, EAST, blsp_spi6, blsp_uart3_b, blsp_i2c6, _, qdss, _, _, _, _),
1395a3a093aeSKhan, Imran 	PINGROUP(45, EAST, blsp_spi3, blsp_uart3_a, blsp_uim3_a, _, _, _, _, _, _),
1396a3a093aeSKhan, Imran 	PINGROUP(46, EAST, blsp_spi3, blsp_uart3_a, blsp_uim3_a, _, _, _, _, _, _),
1397a3a093aeSKhan, Imran 	PINGROUP(47, EAST, blsp_spi3, blsp_uart3_a, blsp_i2c3, _, _, _, _, _, _),
1398a3a093aeSKhan, Imran 	PINGROUP(48, EAST, blsp_spi3, blsp_uart3_a, blsp_i2c3, _, _, _, _, _, _),
1399a3a093aeSKhan, Imran 	PINGROUP(49, NORTH, blsp_spi9, blsp_uart9_a, blsp_uim9_a, blsp10_spi_b, qdss_cti0_a, _, _, _, _),
1400a3a093aeSKhan, Imran 	PINGROUP(50, NORTH, blsp_spi9, blsp_uart9_a, blsp_uim9_a, blsp10_spi_b, qdss_cti0_a, _, _, _, _),
1401a3a093aeSKhan, Imran 	PINGROUP(51, NORTH, blsp_spi9, blsp_uart9_a, blsp_i2c9, blsp10_spi_a, _, _, _, _, _),
1402a3a093aeSKhan, Imran 	PINGROUP(52, NORTH, blsp_spi9, blsp_uart9_a, blsp_i2c9, blsp10_spi_a, _, _, _, _, _),
1403a3a093aeSKhan, Imran 	PINGROUP(53, WEST, blsp_spi7, blsp_uart7_a, blsp_uim7_a, _, _, _, _, _, _),
1404a3a093aeSKhan, Imran 	PINGROUP(54, WEST, blsp_spi7, blsp_uart7_a, blsp_uim7_a, _, _, _, _, _, _),
1405a3a093aeSKhan, Imran 	PINGROUP(55, WEST, blsp_spi7, blsp_uart7_a, blsp_i2c7, _, _, _, _, _, _),
1406a3a093aeSKhan, Imran 	PINGROUP(56, WEST, blsp_spi7, blsp_uart7_a, blsp_i2c7, _, _, _, _, _, _),
1407a3a093aeSKhan, Imran 	PINGROUP(57, WEST, qua_mi2s, blsp10_spi, gcc_gp1_a, _, _, _, _, _, _),
1408a3a093aeSKhan, Imran 	PINGROUP(58, WEST, qua_mi2s, blsp_spi11, blsp_uart8_b, blsp_uim8_b, gcc_gp2_a, _, qdss_cti1_a, _, _),
1409a3a093aeSKhan, Imran 	PINGROUP(59, WEST, qua_mi2s, blsp_spi11, blsp_uart8_b, blsp_uim8_b, gcc_gp3_a, _, qdss_cti1_a, _, _),
1410a3a093aeSKhan, Imran 	PINGROUP(60, WEST, qua_mi2s, blsp_spi11, blsp_uart8_b, blsp_i2c11, cri_trng0, _, _, _, _),
1411a3a093aeSKhan, Imran 	PINGROUP(61, WEST, qua_mi2s, blsp_spi11, blsp_uart8_b, blsp_i2c11, cri_trng1, _, _, _, _),
1412a3a093aeSKhan, Imran 	PINGROUP(62, WEST, qua_mi2s, cri_trng, _, _, _, _, _, _, _),
1413a3a093aeSKhan, Imran 	PINGROUP(63, WEST, qua_mi2s, _, _, _, _, _, _, _, _),
1414a3a093aeSKhan, Imran 	PINGROUP(64, WEST, pri_mi2s, sp_cmu, _, _, _, _, _, _, _),
1415a3a093aeSKhan, Imran 	PINGROUP(65, WEST, pri_mi2s, blsp_spi10, blsp_uart7_b, blsp_uim7_b, _, _, _, _, _),
1416a3a093aeSKhan, Imran 	PINGROUP(66, WEST, pri_mi2s_ws, blsp_spi10, blsp_uart7_b, blsp_uim7_b, _, _, _, _, _),
1417a3a093aeSKhan, Imran 	PINGROUP(67, WEST, pri_mi2s, blsp_spi10, blsp_uart7_b, blsp_i2c10, _, _, _, _, _),
1418a3a093aeSKhan, Imran 	PINGROUP(68, WEST, pri_mi2s, blsp_spi10, blsp_uart7_b, blsp_i2c10, _, _, _, _, _),
1419a3a093aeSKhan, Imran 	PINGROUP(69, WEST, spkr_i2s, audio_ref, _, _, _, _, _, _, _),
1420a3a093aeSKhan, Imran 	PINGROUP(70, WEST, lpass_slimbus, spkr_i2s, blsp9_spi, _, _, _, _, _, _),
1421a3a093aeSKhan, Imran 	PINGROUP(71, WEST, lpass_slimbus, spkr_i2s, blsp9_spi, tsense_pwm1, tsense_pwm2, _, _, _, _),
1422a3a093aeSKhan, Imran 	PINGROUP(72, WEST, lpass_slimbus, spkr_i2s, blsp9_spi, _, _, _, _, _, _),
1423a3a093aeSKhan, Imran 	PINGROUP(73, WEST, btfm_slimbus, phase_flag, _, _, _, _, _, _, _),
1424a3a093aeSKhan, Imran 	PINGROUP(74, WEST, btfm_slimbus, ter_mi2s, phase_flag, _, _, _, _, _, _),
1425a3a093aeSKhan, Imran 	PINGROUP(75, WEST, ter_mi2s, phase_flag, qdss, _, _, _, _, _, _),
1426a3a093aeSKhan, Imran 	PINGROUP(76, WEST, ter_mi2s, phase_flag, qdss, _, _, _, _, _, _),
1427a3a093aeSKhan, Imran 	PINGROUP(77, WEST, ter_mi2s, phase_flag, qdss, _, _, _, _, _, _),
1428a3a093aeSKhan, Imran 	PINGROUP(78, WEST, ter_mi2s, gcc_gp1_b, _, _, _, _, _, _, _),
1429a3a093aeSKhan, Imran 	PINGROUP(79, WEST, sec_mi2s, _, qdss, _, _, _, _, _, _),
1430a3a093aeSKhan, Imran 	PINGROUP(80, WEST, sec_mi2s, _, qdss, _, _, _, _, _, _),
1431a3a093aeSKhan, Imran 	PINGROUP(81, WEST, sec_mi2s, blsp_spi12, blsp_uart9_b, blsp_uim9_b, gcc_gp2_b, _, _, _, _),
1432a3a093aeSKhan, Imran 	PINGROUP(82, WEST, sec_mi2s, blsp_spi12, blsp_uart9_b, blsp_uim9_b, gcc_gp3_b, _, _, _, _),
1433a3a093aeSKhan, Imran 	PINGROUP(83, WEST, sec_mi2s, blsp_spi12, blsp_uart9_b, blsp_i2c12, _, _, _, _, _),
1434a3a093aeSKhan, Imran 	PINGROUP(84, WEST, blsp_spi12, blsp_uart9_b, blsp_i2c12, _, _, _, _, _, _),
1435a3a093aeSKhan, Imran 	PINGROUP(85, EAST, blsp_spi5, blsp_uart2_b, blsp_uim2_b, _, _, _, _, _, _),
1436a3a093aeSKhan, Imran 	PINGROUP(86, EAST, blsp_spi5, blsp_uart2_b, blsp_uim2_b, _, _, _, _, _, _),
1437a3a093aeSKhan, Imran 	PINGROUP(87, EAST, blsp_spi5, blsp_uart2_b, blsp_i2c5, _, _, _, _, _, _),
1438a3a093aeSKhan, Imran 	PINGROUP(88, EAST, blsp_spi5, blsp_uart2_b, blsp_i2c5, _, _, _, _, _, _),
1439fa21cbeaSMarc Gonzalez 	PINGROUP(89, EAST, tsif0, phase_flag, _, _, _, _, _, _, _),
1440fa21cbeaSMarc Gonzalez 	PINGROUP(90, EAST, tsif0, mdp_vsync0, mdp_vsync1, mdp_vsync2, mdp_vsync3, blsp1_spi, tgu_ch0, qdss_cti1_b, _),
1441fa21cbeaSMarc Gonzalez 	PINGROUP(91, EAST, tsif0, sdc4_cmd, tgu_ch1, phase_flag, qdss_cti1_b, _, _, _, _),
1442fa21cbeaSMarc Gonzalez 	PINGROUP(92, EAST, tsif1, sdc43, vfr_1, phase_flag, _, _, _, _, _),
1443fa21cbeaSMarc Gonzalez 	PINGROUP(93, EAST, tsif1, sdc4_clk, _, qdss, _, _, _, _, _),
1444fa21cbeaSMarc Gonzalez 	PINGROUP(94, EAST, tsif1, sdc42, _, _, _, _, _, _, _),
1445fa21cbeaSMarc Gonzalez 	PINGROUP(95, EAST, tsif1, sdc41, _, _, _, _, _, _, _),
1446fa21cbeaSMarc Gonzalez 	PINGROUP(96, EAST, tsif1, sdc40, phase_flag, _, _, _, _, _, _),
1447a3a093aeSKhan, Imran 	PINGROUP(97, WEST, _, mdp_vsync_b, ldo_en, _, _, _, _, _, _),
1448a3a093aeSKhan, Imran 	PINGROUP(98, WEST, _, mdp_vsync_b, ldo_update, _, _, _, _, _, _),
1449a3a093aeSKhan, Imran 	PINGROUP(99, WEST, _, _, _, _, _, _, _, _, _),
1450a3a093aeSKhan, Imran 	PINGROUP(100, WEST, _, _, blsp_uart8, _, _, _, _, _, _),
1451a3a093aeSKhan, Imran 	PINGROUP(101, WEST, _, blsp_uart8, _, _, _, _, _, _, _),
1452a3a093aeSKhan, Imran 	PINGROUP(102, WEST, _, blsp11_i2c, prng_rosc, _, _, _, _, _, _),
1453a3a093aeSKhan, Imran 	PINGROUP(103, WEST, _, blsp11_i2c, phase_flag, _, _, _, _, _, _),
1454a3a093aeSKhan, Imran 	PINGROUP(104, WEST, _, _, _, _, _, _, _, _, _),
1455a3a093aeSKhan, Imran 	PINGROUP(105, NORTH, uim2_data, _, _, _, _, _, _, _, _),
1456a3a093aeSKhan, Imran 	PINGROUP(106, NORTH, uim2_clk, _, _, _, _, _, _, _, _),
1457a3a093aeSKhan, Imran 	PINGROUP(107, NORTH, uim2_reset, _, _, _, _, _, _, _, _),
1458a3a093aeSKhan, Imran 	PINGROUP(108, NORTH, uim2_present, _, _, _, _, _, _, _, _),
1459a3a093aeSKhan, Imran 	PINGROUP(109, NORTH, uim1_data, _, _, _, _, _, _, _, _),
1460a3a093aeSKhan, Imran 	PINGROUP(110, NORTH, uim1_clk, _, _, _, _, _, _, _, _),
1461a3a093aeSKhan, Imran 	PINGROUP(111, NORTH, uim1_reset, _, _, _, _, _, _, _, _),
1462a3a093aeSKhan, Imran 	PINGROUP(112, NORTH, uim1_present, _, _, _, _, _, _, _, _),
1463a3a093aeSKhan, Imran 	PINGROUP(113, NORTH, uim_batt, _, _, _, _, _, _, _, _),
1464a3a093aeSKhan, Imran 	PINGROUP(114, WEST, _, _, phase_flag, _, _, _, _, _, _),
1465a3a093aeSKhan, Imran 	PINGROUP(115, WEST, _, nav_dr, phase_flag, _, _, _, _, _, _),
1466a3a093aeSKhan, Imran 	PINGROUP(116, WEST, phase_flag, _, _, _, _, _, _, _, _),
1467a3a093aeSKhan, Imran 	PINGROUP(117, EAST, phase_flag, qdss, atest_char, _, _, _, _, _, _),
1468a3a093aeSKhan, Imran 	PINGROUP(118, EAST, adsp_ext, phase_flag, qdss, atest_char, _, _, _, _, _),
1469a3a093aeSKhan, Imran 	PINGROUP(119, EAST, phase_flag, qdss, atest_char, _, _, _, _, _, _),
1470a3a093aeSKhan, Imran 	PINGROUP(120, EAST, phase_flag, qdss, atest_char, _, _, _, _, _, _),
1471a3a093aeSKhan, Imran 	PINGROUP(121, EAST, phase_flag, qdss, atest_char, _, _, _, _, _, _),
1472a3a093aeSKhan, Imran 	PINGROUP(122, EAST, phase_flag, qdss, _, _, _, _, _, _, _),
1473a3a093aeSKhan, Imran 	PINGROUP(123, EAST, phase_flag, qdss, _, _, _, _, _, _, _),
1474a3a093aeSKhan, Imran 	PINGROUP(124, EAST, phase_flag, qdss, _, _, _, _, _, _, _),
1475a3a093aeSKhan, Imran 	PINGROUP(125, EAST, phase_flag, _, _, _, _, _, _, _, _),
1476a3a093aeSKhan, Imran 	PINGROUP(126, EAST, phase_flag, _, _, _, _, _, _, _, _),
1477a3a093aeSKhan, Imran 	PINGROUP(127, WEST, _, _, _, _, _, _, _, _, _),
1478a3a093aeSKhan, Imran 	PINGROUP(128, WEST, modem_tsync, nav_pps, phase_flag, _, _, _, _, _, _),
1479a3a093aeSKhan, Imran 	PINGROUP(129, WEST, phase_flag, _, _, _, _, _, _, _, _),
1480a3a093aeSKhan, Imran 	PINGROUP(130, NORTH, qlink_request, phase_flag, _, _, _, _, _, _, _),
1481a3a093aeSKhan, Imran 	PINGROUP(131, NORTH, qlink_enable, phase_flag, _, _, _, _, _, _, _),
1482a3a093aeSKhan, Imran 	PINGROUP(132, WEST, _, phase_flag, _, _, _, _, _, _, _),
1483a3a093aeSKhan, Imran 	PINGROUP(133, WEST, phase_flag, _, _, _, _, _, _, _, _),
1484a3a093aeSKhan, Imran 	PINGROUP(134, WEST, phase_flag, _, _, _, _, _, _, _, _),
1485a3a093aeSKhan, Imran 	PINGROUP(135, WEST, _, pa_indicator, _, _, _, _, _, _, _),
1486a3a093aeSKhan, Imran 	PINGROUP(136, WEST, _, _, _, _, _, _, _, _, _),
1487a3a093aeSKhan, Imran 	PINGROUP(137, WEST, _, _, _, _, _, _, _, _, _),
1488a3a093aeSKhan, Imran 	PINGROUP(138, WEST, _, _, _, _, _, _, _, _, _),
1489a3a093aeSKhan, Imran 	PINGROUP(139, WEST, _, _, _, _, _, _, _, _, _),
1490a3a093aeSKhan, Imran 	PINGROUP(140, WEST, _, _, _, _, _, _, _, _, _),
1491a3a093aeSKhan, Imran 	PINGROUP(141, WEST, _, _, _, _, _, _, _, _, _),
1492a3a093aeSKhan, Imran 	PINGROUP(142, WEST, _, ssbi1, _, _, _, _, _, _, _),
1493a3a093aeSKhan, Imran 	PINGROUP(143, WEST, isense_dbg, _, _, _, _, _, _, _, _),
1494a3a093aeSKhan, Imran 	PINGROUP(144, WEST, mss_lte, _, _, _, _, _, _, _, _),
1495a3a093aeSKhan, Imran 	PINGROUP(145, WEST, mss_lte, _, _, _, _, _, _, _, _),
1496a3a093aeSKhan, Imran 	PINGROUP(146, WEST, _, _, _, _, _, _, _, _, _),
1497a3a093aeSKhan, Imran 	PINGROUP(147, WEST, _, _, _, _, _, _, _, _, _),
1498a3a093aeSKhan, Imran 	PINGROUP(148, WEST, _, _, _, _, _, _, _, _, _),
1499a3a093aeSKhan, Imran 	PINGROUP(149, WEST, _, _, _, _, _, _, _, _, _),
1500a3a093aeSKhan, Imran 	SDC_QDSD_PINGROUP(sdc2_clk, 0x999000, 14, 6),
1501a3a093aeSKhan, Imran 	SDC_QDSD_PINGROUP(sdc2_cmd, 0x999000, 11, 3),
1502a3a093aeSKhan, Imran 	SDC_QDSD_PINGROUP(sdc2_data, 0x999000, 9, 0),
1503a3a093aeSKhan, Imran 	UFS_RESET(ufs_reset, 0x19d000),
1504a3a093aeSKhan, Imran };
1505a3a093aeSKhan, Imran 
1506*29f6e7e3SKonrad Dybcio static const struct msm_gpio_wakeirq_map msm8998_mpm_map[] = {
1507*29f6e7e3SKonrad Dybcio 	{ 1, 3 }, { 5, 4 }, { 9, 5 }, { 11, 6 }, { 22, 8 }, { 24, 9 }, { 26, 10 },
1508*29f6e7e3SKonrad Dybcio 	{ 34, 11 }, { 36, 12 }, { 37, 13 }, { 38, 14 }, { 40, 15 }, { 42, 16 }, { 46, 17 },
1509*29f6e7e3SKonrad Dybcio 	{ 50, 18 }, { 53, 19 }, { 54, 20 }, { 56, 21 }, { 57, 22 }, { 58, 23 }, { 59, 24 },
1510*29f6e7e3SKonrad Dybcio 	{ 60, 25 }, { 61, 26 }, { 62, 27 }, { 63, 28 }, { 64, 29 }, { 66, 7 }, { 71, 30 },
1511*29f6e7e3SKonrad Dybcio 	{ 73, 31 }, { 77, 32 }, { 78, 33 }, { 79, 34 }, { 80, 35 }, { 82, 36 }, { 86, 37 },
1512*29f6e7e3SKonrad Dybcio 	{ 91, 38 }, { 92, 39 }, { 95, 40 }, { 97, 41 }, { 101, 42 }, { 104, 43 }, { 106, 44 },
1513*29f6e7e3SKonrad Dybcio 	{ 108, 45 }, { 110, 48 }, { 112, 46 }, { 113, 47 }, { 115, 51 }, { 116, 54 }, { 117, 55 },
1514*29f6e7e3SKonrad Dybcio 	{ 118, 56 }, { 119, 57 }, { 120, 58 }, { 121, 59 }, { 122, 60 }, { 123, 61 }, { 124, 62 },
1515*29f6e7e3SKonrad Dybcio 	{ 125, 63 }, { 126, 64 }, { 127, 50 }, { 129, 65 }, { 131, 66 }, { 132, 67 }, { 133, 68 },
1516*29f6e7e3SKonrad Dybcio };
1517*29f6e7e3SKonrad Dybcio 
1518a3a093aeSKhan, Imran static const struct msm_pinctrl_soc_data msm8998_pinctrl = {
1519a3a093aeSKhan, Imran 	.pins = msm8998_pins,
1520a3a093aeSKhan, Imran 	.npins = ARRAY_SIZE(msm8998_pins),
1521a3a093aeSKhan, Imran 	.functions = msm8998_functions,
1522a3a093aeSKhan, Imran 	.nfunctions = ARRAY_SIZE(msm8998_functions),
1523a3a093aeSKhan, Imran 	.groups = msm8998_groups,
1524a3a093aeSKhan, Imran 	.ngroups = ARRAY_SIZE(msm8998_groups),
1525a3a093aeSKhan, Imran 	.ngpios = 150,
1526*29f6e7e3SKonrad Dybcio 	.wakeirq_map = msm8998_mpm_map,
1527*29f6e7e3SKonrad Dybcio 	.nwakeirq_map = ARRAY_SIZE(msm8998_mpm_map),
1528a3a093aeSKhan, Imran };
1529a3a093aeSKhan, Imran 
1530a3a093aeSKhan, Imran static int msm8998_pinctrl_probe(struct platform_device *pdev)
1531a3a093aeSKhan, Imran {
1532a3a093aeSKhan, Imran 	return msm_pinctrl_probe(pdev, &msm8998_pinctrl);
1533a3a093aeSKhan, Imran }
1534a3a093aeSKhan, Imran 
1535a3a093aeSKhan, Imran static const struct of_device_id msm8998_pinctrl_of_match[] = {
1536a3a093aeSKhan, Imran 	{ .compatible = "qcom,msm8998-pinctrl", },
1537a3a093aeSKhan, Imran 	{ },
1538a3a093aeSKhan, Imran };
1539a3a093aeSKhan, Imran 
1540a3a093aeSKhan, Imran static struct platform_driver msm8998_pinctrl_driver = {
1541a3a093aeSKhan, Imran 	.driver = {
1542a3a093aeSKhan, Imran 		.name = "msm8998-pinctrl",
1543a3a093aeSKhan, Imran 		.of_match_table = msm8998_pinctrl_of_match,
1544a3a093aeSKhan, Imran 	},
1545a3a093aeSKhan, Imran 	.probe = msm8998_pinctrl_probe,
1546a3a093aeSKhan, Imran 	.remove = msm_pinctrl_remove,
1547a3a093aeSKhan, Imran };
1548a3a093aeSKhan, Imran 
1549a3a093aeSKhan, Imran static int __init msm8998_pinctrl_init(void)
1550a3a093aeSKhan, Imran {
1551a3a093aeSKhan, Imran 	return platform_driver_register(&msm8998_pinctrl_driver);
1552a3a093aeSKhan, Imran }
1553a3a093aeSKhan, Imran arch_initcall(msm8998_pinctrl_init);
1554a3a093aeSKhan, Imran 
1555a3a093aeSKhan, Imran static void __exit msm8998_pinctrl_exit(void)
1556a3a093aeSKhan, Imran {
1557a3a093aeSKhan, Imran 	platform_driver_unregister(&msm8998_pinctrl_driver);
1558a3a093aeSKhan, Imran }
1559a3a093aeSKhan, Imran module_exit(msm8998_pinctrl_exit);
1560a3a093aeSKhan, Imran 
1561a3a093aeSKhan, Imran MODULE_DESCRIPTION("QTI msm8998 pinctrl driver");
1562a3a093aeSKhan, Imran MODULE_LICENSE("GPL v2");
1563a3a093aeSKhan, Imran MODULE_DEVICE_TABLE(of, msm8998_pinctrl_of_match);
1564