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