xref: /linux/drivers/pinctrl/qcom/pinctrl-sm8350.c (revision 22ee670a)
1d5d348a3SVinod Koul // SPDX-License-Identifier: GPL-2.0-only
2d5d348a3SVinod Koul /*
3d5d348a3SVinod Koul  * Copyright (c) 2019-2020, The Linux Foundation. All rights reserved.
4d5d348a3SVinod Koul  * Copyright (c) 2020-2021, Linaro Limited
5d5d348a3SVinod Koul  */
6d5d348a3SVinod Koul 
7d5d348a3SVinod Koul #include <linux/module.h>
8d5d348a3SVinod Koul #include <linux/of.h>
9d5d348a3SVinod Koul #include <linux/platform_device.h>
10d5d348a3SVinod Koul 
11d5d348a3SVinod Koul #include "pinctrl-msm.h"
12d5d348a3SVinod Koul 
13d5d348a3SVinod Koul #define REG_SIZE 0x1000
14d5d348a3SVinod Koul 
15d5d348a3SVinod Koul #define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9) \
16d5d348a3SVinod Koul 	{					        \
176a16d1a5SRohit Agarwal 		.grp = PINCTRL_PINGROUP("gpio" #id, 	\
186a16d1a5SRohit Agarwal 			gpio##id##_pins, 		\
196a16d1a5SRohit Agarwal 			ARRAY_SIZE(gpio##id##_pins)),	\
20d5d348a3SVinod Koul 		.funcs = (int[]){			\
21d5d348a3SVinod Koul 			msm_mux_gpio, /* gpio mode */	\
22d5d348a3SVinod Koul 			msm_mux_##f1,			\
23d5d348a3SVinod Koul 			msm_mux_##f2,			\
24d5d348a3SVinod Koul 			msm_mux_##f3,			\
25d5d348a3SVinod Koul 			msm_mux_##f4,			\
26d5d348a3SVinod Koul 			msm_mux_##f5,			\
27d5d348a3SVinod Koul 			msm_mux_##f6,			\
28d5d348a3SVinod Koul 			msm_mux_##f7,			\
29d5d348a3SVinod Koul 			msm_mux_##f8,			\
30d5d348a3SVinod Koul 			msm_mux_##f9			\
31d5d348a3SVinod Koul 		},				        \
32d5d348a3SVinod Koul 		.nfuncs = 10,				\
33d5d348a3SVinod Koul 		.ctl_reg = REG_SIZE * id,		\
34d5d348a3SVinod Koul 		.io_reg = REG_SIZE * id + 0x4,		\
35d5d348a3SVinod Koul 		.intr_cfg_reg = REG_SIZE * id + 0x8,	\
36d5d348a3SVinod Koul 		.intr_status_reg = REG_SIZE * id + 0xc,	\
37d5d348a3SVinod Koul 		.intr_target_reg = REG_SIZE * id + 0x8,	\
38d5d348a3SVinod Koul 		.mux_bit = 2,			\
39d5d348a3SVinod Koul 		.pull_bit = 0,			\
40d5d348a3SVinod Koul 		.drv_bit = 6,			\
41d5d348a3SVinod Koul 		.oe_bit = 9,			\
42d5d348a3SVinod Koul 		.in_bit = 0,			\
43d5d348a3SVinod Koul 		.out_bit = 1,			\
44d5d348a3SVinod Koul 		.intr_enable_bit = 0,		\
45d5d348a3SVinod Koul 		.intr_status_bit = 0,		\
46d5d348a3SVinod Koul 		.intr_target_bit = 5,		\
47d5d348a3SVinod Koul 		.intr_target_kpss_val = 3,	\
48d5d348a3SVinod Koul 		.intr_raw_status_bit = 4,	\
49d5d348a3SVinod Koul 		.intr_polarity_bit = 1,		\
50d5d348a3SVinod Koul 		.intr_detection_bit = 2,	\
51d5d348a3SVinod Koul 		.intr_detection_width = 2,	\
52d5d348a3SVinod Koul 	}
53d5d348a3SVinod Koul 
54d5d348a3SVinod Koul #define SDC_PINGROUP(pg_name, ctl, pull, drv)	\
55d5d348a3SVinod Koul 	{					        \
566a16d1a5SRohit Agarwal 		.grp = PINCTRL_PINGROUP(#pg_name, 	\
576a16d1a5SRohit Agarwal 			pg_name##_pins, 		\
586a16d1a5SRohit Agarwal 			ARRAY_SIZE(pg_name##_pins)),	\
59d5d348a3SVinod Koul 		.ctl_reg = ctl,				\
60d5d348a3SVinod Koul 		.io_reg = 0,				\
61d5d348a3SVinod Koul 		.intr_cfg_reg = 0,			\
62d5d348a3SVinod Koul 		.intr_status_reg = 0,			\
63d5d348a3SVinod Koul 		.intr_target_reg = 0,			\
64d5d348a3SVinod Koul 		.mux_bit = -1,				\
65d5d348a3SVinod Koul 		.pull_bit = pull,			\
66d5d348a3SVinod Koul 		.drv_bit = drv,				\
67d5d348a3SVinod Koul 		.oe_bit = -1,				\
68d5d348a3SVinod Koul 		.in_bit = -1,				\
69d5d348a3SVinod Koul 		.out_bit = -1,				\
70d5d348a3SVinod Koul 		.intr_enable_bit = -1,			\
71d5d348a3SVinod Koul 		.intr_status_bit = -1,			\
72d5d348a3SVinod Koul 		.intr_target_bit = -1,			\
73d5d348a3SVinod Koul 		.intr_raw_status_bit = -1,		\
74d5d348a3SVinod Koul 		.intr_polarity_bit = -1,		\
75d5d348a3SVinod Koul 		.intr_detection_bit = -1,		\
76d5d348a3SVinod Koul 		.intr_detection_width = -1,		\
77d5d348a3SVinod Koul 	}
78d5d348a3SVinod Koul 
79d5d348a3SVinod Koul #define UFS_RESET(pg_name, offset)				\
80d5d348a3SVinod Koul 	{					        \
816a16d1a5SRohit Agarwal 		.grp = PINCTRL_PINGROUP(#pg_name, 	\
826a16d1a5SRohit Agarwal 			pg_name##_pins, 		\
836a16d1a5SRohit Agarwal 			ARRAY_SIZE(pg_name##_pins)),	\
84d5d348a3SVinod Koul 		.ctl_reg = offset,			\
85d5d348a3SVinod Koul 		.io_reg = offset + 0x4,			\
86d5d348a3SVinod Koul 		.intr_cfg_reg = 0,			\
87d5d348a3SVinod Koul 		.intr_status_reg = 0,			\
88d5d348a3SVinod Koul 		.intr_target_reg = 0,			\
89d5d348a3SVinod Koul 		.mux_bit = -1,				\
90d5d348a3SVinod Koul 		.pull_bit = 3,				\
91d5d348a3SVinod Koul 		.drv_bit = 0,				\
92d5d348a3SVinod Koul 		.oe_bit = -1,				\
93d5d348a3SVinod Koul 		.in_bit = -1,				\
94d5d348a3SVinod Koul 		.out_bit = 0,				\
95d5d348a3SVinod Koul 		.intr_enable_bit = -1,			\
96d5d348a3SVinod Koul 		.intr_status_bit = -1,			\
97d5d348a3SVinod Koul 		.intr_target_bit = -1,			\
98d5d348a3SVinod Koul 		.intr_raw_status_bit = -1,		\
99d5d348a3SVinod Koul 		.intr_polarity_bit = -1,		\
100d5d348a3SVinod Koul 		.intr_detection_bit = -1,		\
101d5d348a3SVinod Koul 		.intr_detection_width = -1,		\
102d5d348a3SVinod Koul 	}
103d5d348a3SVinod Koul 
104d5d348a3SVinod Koul static const struct pinctrl_pin_desc sm8350_pins[] = {
105d5d348a3SVinod Koul 	PINCTRL_PIN(0, "GPIO_0"),
106d5d348a3SVinod Koul 	PINCTRL_PIN(1, "GPIO_1"),
107d5d348a3SVinod Koul 	PINCTRL_PIN(2, "GPIO_2"),
108d5d348a3SVinod Koul 	PINCTRL_PIN(3, "GPIO_3"),
109d5d348a3SVinod Koul 	PINCTRL_PIN(4, "GPIO_4"),
110d5d348a3SVinod Koul 	PINCTRL_PIN(5, "GPIO_5"),
111d5d348a3SVinod Koul 	PINCTRL_PIN(6, "GPIO_6"),
112d5d348a3SVinod Koul 	PINCTRL_PIN(7, "GPIO_7"),
113d5d348a3SVinod Koul 	PINCTRL_PIN(8, "GPIO_8"),
114d5d348a3SVinod Koul 	PINCTRL_PIN(9, "GPIO_9"),
115d5d348a3SVinod Koul 	PINCTRL_PIN(10, "GPIO_10"),
116d5d348a3SVinod Koul 	PINCTRL_PIN(11, "GPIO_11"),
117d5d348a3SVinod Koul 	PINCTRL_PIN(12, "GPIO_12"),
118d5d348a3SVinod Koul 	PINCTRL_PIN(13, "GPIO_13"),
119d5d348a3SVinod Koul 	PINCTRL_PIN(14, "GPIO_14"),
120d5d348a3SVinod Koul 	PINCTRL_PIN(15, "GPIO_15"),
121d5d348a3SVinod Koul 	PINCTRL_PIN(16, "GPIO_16"),
122d5d348a3SVinod Koul 	PINCTRL_PIN(17, "GPIO_17"),
123d5d348a3SVinod Koul 	PINCTRL_PIN(18, "GPIO_18"),
124d5d348a3SVinod Koul 	PINCTRL_PIN(19, "GPIO_19"),
125d5d348a3SVinod Koul 	PINCTRL_PIN(20, "GPIO_20"),
126d5d348a3SVinod Koul 	PINCTRL_PIN(21, "GPIO_21"),
127d5d348a3SVinod Koul 	PINCTRL_PIN(22, "GPIO_22"),
128d5d348a3SVinod Koul 	PINCTRL_PIN(23, "GPIO_23"),
129d5d348a3SVinod Koul 	PINCTRL_PIN(24, "GPIO_24"),
130d5d348a3SVinod Koul 	PINCTRL_PIN(25, "GPIO_25"),
131d5d348a3SVinod Koul 	PINCTRL_PIN(26, "GPIO_26"),
132d5d348a3SVinod Koul 	PINCTRL_PIN(27, "GPIO_27"),
133d5d348a3SVinod Koul 	PINCTRL_PIN(28, "GPIO_28"),
134d5d348a3SVinod Koul 	PINCTRL_PIN(29, "GPIO_29"),
135d5d348a3SVinod Koul 	PINCTRL_PIN(30, "GPIO_30"),
136d5d348a3SVinod Koul 	PINCTRL_PIN(31, "GPIO_31"),
137d5d348a3SVinod Koul 	PINCTRL_PIN(32, "GPIO_32"),
138d5d348a3SVinod Koul 	PINCTRL_PIN(33, "GPIO_33"),
139d5d348a3SVinod Koul 	PINCTRL_PIN(34, "GPIO_34"),
140d5d348a3SVinod Koul 	PINCTRL_PIN(35, "GPIO_35"),
141d5d348a3SVinod Koul 	PINCTRL_PIN(36, "GPIO_36"),
142d5d348a3SVinod Koul 	PINCTRL_PIN(37, "GPIO_37"),
143d5d348a3SVinod Koul 	PINCTRL_PIN(38, "GPIO_38"),
144d5d348a3SVinod Koul 	PINCTRL_PIN(39, "GPIO_39"),
145d5d348a3SVinod Koul 	PINCTRL_PIN(40, "GPIO_40"),
146d5d348a3SVinod Koul 	PINCTRL_PIN(41, "GPIO_41"),
147d5d348a3SVinod Koul 	PINCTRL_PIN(42, "GPIO_42"),
148d5d348a3SVinod Koul 	PINCTRL_PIN(43, "GPIO_43"),
149d5d348a3SVinod Koul 	PINCTRL_PIN(44, "GPIO_44"),
150d5d348a3SVinod Koul 	PINCTRL_PIN(45, "GPIO_45"),
151d5d348a3SVinod Koul 	PINCTRL_PIN(46, "GPIO_46"),
152d5d348a3SVinod Koul 	PINCTRL_PIN(47, "GPIO_47"),
153d5d348a3SVinod Koul 	PINCTRL_PIN(48, "GPIO_48"),
154d5d348a3SVinod Koul 	PINCTRL_PIN(49, "GPIO_49"),
155d5d348a3SVinod Koul 	PINCTRL_PIN(50, "GPIO_50"),
156d5d348a3SVinod Koul 	PINCTRL_PIN(51, "GPIO_51"),
157d5d348a3SVinod Koul 	PINCTRL_PIN(52, "GPIO_52"),
158d5d348a3SVinod Koul 	PINCTRL_PIN(53, "GPIO_53"),
159d5d348a3SVinod Koul 	PINCTRL_PIN(54, "GPIO_54"),
160d5d348a3SVinod Koul 	PINCTRL_PIN(55, "GPIO_55"),
161d5d348a3SVinod Koul 	PINCTRL_PIN(56, "GPIO_56"),
162d5d348a3SVinod Koul 	PINCTRL_PIN(57, "GPIO_57"),
163d5d348a3SVinod Koul 	PINCTRL_PIN(58, "GPIO_58"),
164d5d348a3SVinod Koul 	PINCTRL_PIN(59, "GPIO_59"),
165d5d348a3SVinod Koul 	PINCTRL_PIN(60, "GPIO_60"),
166d5d348a3SVinod Koul 	PINCTRL_PIN(61, "GPIO_61"),
167d5d348a3SVinod Koul 	PINCTRL_PIN(62, "GPIO_62"),
168d5d348a3SVinod Koul 	PINCTRL_PIN(63, "GPIO_63"),
169d5d348a3SVinod Koul 	PINCTRL_PIN(64, "GPIO_64"),
170d5d348a3SVinod Koul 	PINCTRL_PIN(65, "GPIO_65"),
171d5d348a3SVinod Koul 	PINCTRL_PIN(66, "GPIO_66"),
172d5d348a3SVinod Koul 	PINCTRL_PIN(67, "GPIO_67"),
173d5d348a3SVinod Koul 	PINCTRL_PIN(68, "GPIO_68"),
174d5d348a3SVinod Koul 	PINCTRL_PIN(69, "GPIO_69"),
175d5d348a3SVinod Koul 	PINCTRL_PIN(70, "GPIO_70"),
176d5d348a3SVinod Koul 	PINCTRL_PIN(71, "GPIO_71"),
177d5d348a3SVinod Koul 	PINCTRL_PIN(72, "GPIO_72"),
178d5d348a3SVinod Koul 	PINCTRL_PIN(73, "GPIO_73"),
179d5d348a3SVinod Koul 	PINCTRL_PIN(74, "GPIO_74"),
180d5d348a3SVinod Koul 	PINCTRL_PIN(75, "GPIO_75"),
181d5d348a3SVinod Koul 	PINCTRL_PIN(76, "GPIO_76"),
182d5d348a3SVinod Koul 	PINCTRL_PIN(77, "GPIO_77"),
183d5d348a3SVinod Koul 	PINCTRL_PIN(78, "GPIO_78"),
184d5d348a3SVinod Koul 	PINCTRL_PIN(79, "GPIO_79"),
185d5d348a3SVinod Koul 	PINCTRL_PIN(80, "GPIO_80"),
186d5d348a3SVinod Koul 	PINCTRL_PIN(81, "GPIO_81"),
187d5d348a3SVinod Koul 	PINCTRL_PIN(82, "GPIO_82"),
188d5d348a3SVinod Koul 	PINCTRL_PIN(83, "GPIO_83"),
189d5d348a3SVinod Koul 	PINCTRL_PIN(84, "GPIO_84"),
190d5d348a3SVinod Koul 	PINCTRL_PIN(85, "GPIO_85"),
191d5d348a3SVinod Koul 	PINCTRL_PIN(86, "GPIO_86"),
192d5d348a3SVinod Koul 	PINCTRL_PIN(87, "GPIO_87"),
193d5d348a3SVinod Koul 	PINCTRL_PIN(88, "GPIO_88"),
194d5d348a3SVinod Koul 	PINCTRL_PIN(89, "GPIO_89"),
195d5d348a3SVinod Koul 	PINCTRL_PIN(90, "GPIO_90"),
196d5d348a3SVinod Koul 	PINCTRL_PIN(91, "GPIO_91"),
197d5d348a3SVinod Koul 	PINCTRL_PIN(92, "GPIO_92"),
198d5d348a3SVinod Koul 	PINCTRL_PIN(93, "GPIO_93"),
199d5d348a3SVinod Koul 	PINCTRL_PIN(94, "GPIO_94"),
200d5d348a3SVinod Koul 	PINCTRL_PIN(95, "GPIO_95"),
201d5d348a3SVinod Koul 	PINCTRL_PIN(96, "GPIO_96"),
202d5d348a3SVinod Koul 	PINCTRL_PIN(97, "GPIO_97"),
203d5d348a3SVinod Koul 	PINCTRL_PIN(98, "GPIO_98"),
204d5d348a3SVinod Koul 	PINCTRL_PIN(99, "GPIO_99"),
205d5d348a3SVinod Koul 	PINCTRL_PIN(100, "GPIO_100"),
206d5d348a3SVinod Koul 	PINCTRL_PIN(101, "GPIO_101"),
207d5d348a3SVinod Koul 	PINCTRL_PIN(102, "GPIO_102"),
208d5d348a3SVinod Koul 	PINCTRL_PIN(103, "GPIO_103"),
209d5d348a3SVinod Koul 	PINCTRL_PIN(104, "GPIO_104"),
210d5d348a3SVinod Koul 	PINCTRL_PIN(105, "GPIO_105"),
211d5d348a3SVinod Koul 	PINCTRL_PIN(106, "GPIO_106"),
212d5d348a3SVinod Koul 	PINCTRL_PIN(107, "GPIO_107"),
213d5d348a3SVinod Koul 	PINCTRL_PIN(108, "GPIO_108"),
214d5d348a3SVinod Koul 	PINCTRL_PIN(109, "GPIO_109"),
215d5d348a3SVinod Koul 	PINCTRL_PIN(110, "GPIO_110"),
216d5d348a3SVinod Koul 	PINCTRL_PIN(111, "GPIO_111"),
217d5d348a3SVinod Koul 	PINCTRL_PIN(112, "GPIO_112"),
218d5d348a3SVinod Koul 	PINCTRL_PIN(113, "GPIO_113"),
219d5d348a3SVinod Koul 	PINCTRL_PIN(114, "GPIO_114"),
220d5d348a3SVinod Koul 	PINCTRL_PIN(115, "GPIO_115"),
221d5d348a3SVinod Koul 	PINCTRL_PIN(116, "GPIO_116"),
222d5d348a3SVinod Koul 	PINCTRL_PIN(117, "GPIO_117"),
223d5d348a3SVinod Koul 	PINCTRL_PIN(118, "GPIO_118"),
224d5d348a3SVinod Koul 	PINCTRL_PIN(119, "GPIO_119"),
225d5d348a3SVinod Koul 	PINCTRL_PIN(120, "GPIO_120"),
226d5d348a3SVinod Koul 	PINCTRL_PIN(121, "GPIO_121"),
227d5d348a3SVinod Koul 	PINCTRL_PIN(122, "GPIO_122"),
228d5d348a3SVinod Koul 	PINCTRL_PIN(123, "GPIO_123"),
229d5d348a3SVinod Koul 	PINCTRL_PIN(124, "GPIO_124"),
230d5d348a3SVinod Koul 	PINCTRL_PIN(125, "GPIO_125"),
231d5d348a3SVinod Koul 	PINCTRL_PIN(126, "GPIO_126"),
232d5d348a3SVinod Koul 	PINCTRL_PIN(127, "GPIO_127"),
233d5d348a3SVinod Koul 	PINCTRL_PIN(128, "GPIO_128"),
234d5d348a3SVinod Koul 	PINCTRL_PIN(129, "GPIO_129"),
235d5d348a3SVinod Koul 	PINCTRL_PIN(130, "GPIO_130"),
236d5d348a3SVinod Koul 	PINCTRL_PIN(131, "GPIO_131"),
237d5d348a3SVinod Koul 	PINCTRL_PIN(132, "GPIO_132"),
238d5d348a3SVinod Koul 	PINCTRL_PIN(133, "GPIO_133"),
239d5d348a3SVinod Koul 	PINCTRL_PIN(134, "GPIO_134"),
240d5d348a3SVinod Koul 	PINCTRL_PIN(135, "GPIO_135"),
241d5d348a3SVinod Koul 	PINCTRL_PIN(136, "GPIO_136"),
242d5d348a3SVinod Koul 	PINCTRL_PIN(137, "GPIO_137"),
243d5d348a3SVinod Koul 	PINCTRL_PIN(138, "GPIO_138"),
244d5d348a3SVinod Koul 	PINCTRL_PIN(139, "GPIO_139"),
245d5d348a3SVinod Koul 	PINCTRL_PIN(140, "GPIO_140"),
246d5d348a3SVinod Koul 	PINCTRL_PIN(141, "GPIO_141"),
247d5d348a3SVinod Koul 	PINCTRL_PIN(142, "GPIO_142"),
248d5d348a3SVinod Koul 	PINCTRL_PIN(143, "GPIO_143"),
249d5d348a3SVinod Koul 	PINCTRL_PIN(144, "GPIO_144"),
250d5d348a3SVinod Koul 	PINCTRL_PIN(145, "GPIO_145"),
251d5d348a3SVinod Koul 	PINCTRL_PIN(146, "GPIO_146"),
252d5d348a3SVinod Koul 	PINCTRL_PIN(147, "GPIO_147"),
253d5d348a3SVinod Koul 	PINCTRL_PIN(148, "GPIO_148"),
254d5d348a3SVinod Koul 	PINCTRL_PIN(149, "GPIO_149"),
255d5d348a3SVinod Koul 	PINCTRL_PIN(150, "GPIO_150"),
256d5d348a3SVinod Koul 	PINCTRL_PIN(151, "GPIO_151"),
257d5d348a3SVinod Koul 	PINCTRL_PIN(152, "GPIO_152"),
258d5d348a3SVinod Koul 	PINCTRL_PIN(153, "GPIO_153"),
259d5d348a3SVinod Koul 	PINCTRL_PIN(154, "GPIO_154"),
260d5d348a3SVinod Koul 	PINCTRL_PIN(155, "GPIO_155"),
261d5d348a3SVinod Koul 	PINCTRL_PIN(156, "GPIO_156"),
262d5d348a3SVinod Koul 	PINCTRL_PIN(157, "GPIO_157"),
263d5d348a3SVinod Koul 	PINCTRL_PIN(158, "GPIO_158"),
264d5d348a3SVinod Koul 	PINCTRL_PIN(159, "GPIO_159"),
265d5d348a3SVinod Koul 	PINCTRL_PIN(160, "GPIO_160"),
266d5d348a3SVinod Koul 	PINCTRL_PIN(161, "GPIO_161"),
267d5d348a3SVinod Koul 	PINCTRL_PIN(162, "GPIO_162"),
268d5d348a3SVinod Koul 	PINCTRL_PIN(163, "GPIO_163"),
269d5d348a3SVinod Koul 	PINCTRL_PIN(164, "GPIO_164"),
270d5d348a3SVinod Koul 	PINCTRL_PIN(165, "GPIO_165"),
271d5d348a3SVinod Koul 	PINCTRL_PIN(166, "GPIO_166"),
272d5d348a3SVinod Koul 	PINCTRL_PIN(167, "GPIO_167"),
273d5d348a3SVinod Koul 	PINCTRL_PIN(168, "GPIO_168"),
274d5d348a3SVinod Koul 	PINCTRL_PIN(169, "GPIO_169"),
275d5d348a3SVinod Koul 	PINCTRL_PIN(170, "GPIO_170"),
276d5d348a3SVinod Koul 	PINCTRL_PIN(171, "GPIO_171"),
277d5d348a3SVinod Koul 	PINCTRL_PIN(172, "GPIO_172"),
278d5d348a3SVinod Koul 	PINCTRL_PIN(173, "GPIO_173"),
279d5d348a3SVinod Koul 	PINCTRL_PIN(174, "GPIO_174"),
280d5d348a3SVinod Koul 	PINCTRL_PIN(175, "GPIO_175"),
281d5d348a3SVinod Koul 	PINCTRL_PIN(176, "GPIO_176"),
282d5d348a3SVinod Koul 	PINCTRL_PIN(177, "GPIO_177"),
283d5d348a3SVinod Koul 	PINCTRL_PIN(178, "GPIO_178"),
284d5d348a3SVinod Koul 	PINCTRL_PIN(179, "GPIO_179"),
285d5d348a3SVinod Koul 	PINCTRL_PIN(180, "GPIO_180"),
286d5d348a3SVinod Koul 	PINCTRL_PIN(181, "GPIO_181"),
287d5d348a3SVinod Koul 	PINCTRL_PIN(182, "GPIO_182"),
288d5d348a3SVinod Koul 	PINCTRL_PIN(183, "GPIO_183"),
289d5d348a3SVinod Koul 	PINCTRL_PIN(184, "GPIO_184"),
290d5d348a3SVinod Koul 	PINCTRL_PIN(185, "GPIO_185"),
291d5d348a3SVinod Koul 	PINCTRL_PIN(186, "GPIO_186"),
292d5d348a3SVinod Koul 	PINCTRL_PIN(187, "GPIO_187"),
293d5d348a3SVinod Koul 	PINCTRL_PIN(188, "GPIO_188"),
294d5d348a3SVinod Koul 	PINCTRL_PIN(189, "GPIO_189"),
295d5d348a3SVinod Koul 	PINCTRL_PIN(190, "GPIO_190"),
296d5d348a3SVinod Koul 	PINCTRL_PIN(191, "GPIO_191"),
297d5d348a3SVinod Koul 	PINCTRL_PIN(192, "GPIO_192"),
298d5d348a3SVinod Koul 	PINCTRL_PIN(193, "GPIO_193"),
299d5d348a3SVinod Koul 	PINCTRL_PIN(194, "GPIO_194"),
300d5d348a3SVinod Koul 	PINCTRL_PIN(195, "GPIO_195"),
301d5d348a3SVinod Koul 	PINCTRL_PIN(196, "GPIO_196"),
302d5d348a3SVinod Koul 	PINCTRL_PIN(197, "GPIO_197"),
303d5d348a3SVinod Koul 	PINCTRL_PIN(198, "GPIO_198"),
304d5d348a3SVinod Koul 	PINCTRL_PIN(199, "GPIO_199"),
305d5d348a3SVinod Koul 	PINCTRL_PIN(200, "GPIO_200"),
306d5d348a3SVinod Koul 	PINCTRL_PIN(201, "GPIO_201"),
307d5d348a3SVinod Koul 	PINCTRL_PIN(202, "GPIO_202"),
308d5d348a3SVinod Koul 	PINCTRL_PIN(203, "UFS_RESET"),
309d5d348a3SVinod Koul 	PINCTRL_PIN(204, "SDC2_CLK"),
310d5d348a3SVinod Koul 	PINCTRL_PIN(205, "SDC2_CMD"),
311d5d348a3SVinod Koul 	PINCTRL_PIN(206, "SDC2_DATA"),
312d5d348a3SVinod Koul };
313d5d348a3SVinod Koul 
314d5d348a3SVinod Koul #define DECLARE_MSM_GPIO_PINS(pin) \
315d5d348a3SVinod Koul 	static const unsigned int gpio##pin##_pins[] = { pin }
316d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(0);
317d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(1);
318d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(2);
319d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(3);
320d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(4);
321d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(5);
322d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(6);
323d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(7);
324d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(8);
325d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(9);
326d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(10);
327d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(11);
328d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(12);
329d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(13);
330d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(14);
331d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(15);
332d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(16);
333d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(17);
334d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(18);
335d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(19);
336d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(20);
337d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(21);
338d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(22);
339d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(23);
340d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(24);
341d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(25);
342d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(26);
343d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(27);
344d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(28);
345d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(29);
346d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(30);
347d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(31);
348d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(32);
349d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(33);
350d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(34);
351d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(35);
352d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(36);
353d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(37);
354d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(38);
355d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(39);
356d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(40);
357d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(41);
358d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(42);
359d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(43);
360d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(44);
361d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(45);
362d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(46);
363d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(47);
364d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(48);
365d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(49);
366d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(50);
367d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(51);
368d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(52);
369d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(53);
370d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(54);
371d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(55);
372d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(56);
373d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(57);
374d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(58);
375d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(59);
376d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(60);
377d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(61);
378d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(62);
379d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(63);
380d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(64);
381d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(65);
382d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(66);
383d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(67);
384d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(68);
385d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(69);
386d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(70);
387d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(71);
388d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(72);
389d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(73);
390d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(74);
391d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(75);
392d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(76);
393d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(77);
394d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(78);
395d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(79);
396d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(80);
397d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(81);
398d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(82);
399d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(83);
400d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(84);
401d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(85);
402d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(86);
403d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(87);
404d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(88);
405d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(89);
406d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(90);
407d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(91);
408d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(92);
409d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(93);
410d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(94);
411d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(95);
412d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(96);
413d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(97);
414d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(98);
415d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(99);
416d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(100);
417d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(101);
418d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(102);
419d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(103);
420d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(104);
421d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(105);
422d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(106);
423d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(107);
424d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(108);
425d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(109);
426d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(110);
427d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(111);
428d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(112);
429d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(113);
430d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(114);
431d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(115);
432d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(116);
433d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(117);
434d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(118);
435d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(119);
436d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(120);
437d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(121);
438d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(122);
439d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(123);
440d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(124);
441d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(125);
442d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(126);
443d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(127);
444d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(128);
445d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(129);
446d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(130);
447d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(131);
448d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(132);
449d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(133);
450d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(134);
451d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(135);
452d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(136);
453d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(137);
454d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(138);
455d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(139);
456d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(140);
457d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(141);
458d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(142);
459d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(143);
460d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(144);
461d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(145);
462d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(146);
463d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(147);
464d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(148);
465d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(149);
466d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(150);
467d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(151);
468d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(152);
469d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(153);
470d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(154);
471d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(155);
472d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(156);
473d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(157);
474d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(158);
475d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(159);
476d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(160);
477d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(161);
478d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(162);
479d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(163);
480d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(164);
481d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(165);
482d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(166);
483d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(167);
484d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(168);
485d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(169);
486d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(170);
487d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(171);
488d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(172);
489d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(173);
490d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(174);
491d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(175);
492d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(176);
493d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(177);
494d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(178);
495d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(179);
496d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(180);
497d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(181);
498d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(182);
499d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(183);
500d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(184);
501d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(185);
502d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(186);
503d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(187);
504d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(188);
505d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(189);
506d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(190);
507d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(191);
508d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(192);
509d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(193);
510d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(194);
511d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(195);
512d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(196);
513d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(197);
514d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(198);
515d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(199);
516d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(200);
517d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(201);
518d5d348a3SVinod Koul DECLARE_MSM_GPIO_PINS(202);
519d5d348a3SVinod Koul 
520d5d348a3SVinod Koul static const unsigned int ufs_reset_pins[] = { 203 };
521d5d348a3SVinod Koul static const unsigned int sdc2_clk_pins[] = { 204 };
522d5d348a3SVinod Koul static const unsigned int sdc2_cmd_pins[] = { 205 };
523d5d348a3SVinod Koul static const unsigned int sdc2_data_pins[] = { 206 };
524d5d348a3SVinod Koul 
525d5d348a3SVinod Koul enum sm8350_functions {
526d5d348a3SVinod Koul 	msm_mux_atest_char,
527d5d348a3SVinod Koul 	msm_mux_atest_usb,
528d5d348a3SVinod Koul 	msm_mux_audio_ref,
529d5d348a3SVinod Koul 	msm_mux_cam_mclk,
530d5d348a3SVinod Koul 	msm_mux_cci_async,
531d5d348a3SVinod Koul 	msm_mux_cci_i2c,
532d5d348a3SVinod Koul 	msm_mux_cci_timer,
533d5d348a3SVinod Koul 	msm_mux_cmu_rng,
534d5d348a3SVinod Koul 	msm_mux_coex_uart1,
535d5d348a3SVinod Koul 	msm_mux_coex_uart2,
536d5d348a3SVinod Koul 	msm_mux_cri_trng,
537d5d348a3SVinod Koul 	msm_mux_cri_trng0,
538d5d348a3SVinod Koul 	msm_mux_cri_trng1,
539d5d348a3SVinod Koul 	msm_mux_dbg_out,
540d5d348a3SVinod Koul 	msm_mux_ddr_bist,
541d5d348a3SVinod Koul 	msm_mux_ddr_pxi0,
542d5d348a3SVinod Koul 	msm_mux_ddr_pxi1,
543d5d348a3SVinod Koul 	msm_mux_ddr_pxi2,
544d5d348a3SVinod Koul 	msm_mux_ddr_pxi3,
545d5d348a3SVinod Koul 	msm_mux_dp_hot,
546d5d348a3SVinod Koul 	msm_mux_dp_lcd,
547d5d348a3SVinod Koul 	msm_mux_gcc_gp1,
548d5d348a3SVinod Koul 	msm_mux_gcc_gp2,
549d5d348a3SVinod Koul 	msm_mux_gcc_gp3,
550d5d348a3SVinod Koul 	msm_mux_gpio,
551d5d348a3SVinod Koul 	msm_mux_ibi_i3c,
552d5d348a3SVinod Koul 	msm_mux_jitter_bist,
553d5d348a3SVinod Koul 	msm_mux_lpass_slimbus,
554d5d348a3SVinod Koul 	msm_mux_mdp_vsync,
555d5d348a3SVinod Koul 	msm_mux_mdp_vsync0,
556d5d348a3SVinod Koul 	msm_mux_mdp_vsync1,
557d5d348a3SVinod Koul 	msm_mux_mdp_vsync2,
558d5d348a3SVinod Koul 	msm_mux_mdp_vsync3,
559d5d348a3SVinod Koul 	msm_mux_mi2s0_data0,
560d5d348a3SVinod Koul 	msm_mux_mi2s0_data1,
561d5d348a3SVinod Koul 	msm_mux_mi2s0_sck,
562d5d348a3SVinod Koul 	msm_mux_mi2s0_ws,
563d5d348a3SVinod Koul 	msm_mux_mi2s1_data0,
564d5d348a3SVinod Koul 	msm_mux_mi2s1_data1,
565d5d348a3SVinod Koul 	msm_mux_mi2s1_sck,
566d5d348a3SVinod Koul 	msm_mux_mi2s1_ws,
567d5d348a3SVinod Koul 	msm_mux_mi2s2_data0,
568d5d348a3SVinod Koul 	msm_mux_mi2s2_data1,
569d5d348a3SVinod Koul 	msm_mux_mi2s2_sck,
570d5d348a3SVinod Koul 	msm_mux_mi2s2_ws,
571d5d348a3SVinod Koul 	msm_mux_mss_grfc0,
572d5d348a3SVinod Koul 	msm_mux_mss_grfc1,
573d5d348a3SVinod Koul 	msm_mux_mss_grfc10,
574d5d348a3SVinod Koul 	msm_mux_mss_grfc11,
575d5d348a3SVinod Koul 	msm_mux_mss_grfc12,
576d5d348a3SVinod Koul 	msm_mux_mss_grfc2,
577d5d348a3SVinod Koul 	msm_mux_mss_grfc3,
578d5d348a3SVinod Koul 	msm_mux_mss_grfc4,
579d5d348a3SVinod Koul 	msm_mux_mss_grfc5,
580d5d348a3SVinod Koul 	msm_mux_mss_grfc6,
581d5d348a3SVinod Koul 	msm_mux_mss_grfc7,
582d5d348a3SVinod Koul 	msm_mux_mss_grfc8,
583d5d348a3SVinod Koul 	msm_mux_mss_grfc9,
584d5d348a3SVinod Koul 	msm_mux_nav_gpio,
585d5d348a3SVinod Koul 	msm_mux_pa_indicator,
586d5d348a3SVinod Koul 	msm_mux_pcie0_clkreqn,
587d5d348a3SVinod Koul 	msm_mux_pcie1_clkreqn,
588d5d348a3SVinod Koul 	msm_mux_phase_flag,
589d5d348a3SVinod Koul 	msm_mux_pll_bist,
590d5d348a3SVinod Koul 	msm_mux_pll_clk,
591d5d348a3SVinod Koul 	msm_mux_pri_mi2s,
592d5d348a3SVinod Koul 	msm_mux_prng_rosc,
593d5d348a3SVinod Koul 	msm_mux_qdss_cti,
594d5d348a3SVinod Koul 	msm_mux_qdss_gpio,
595d5d348a3SVinod Koul 	msm_mux_qlink0_enable,
596d5d348a3SVinod Koul 	msm_mux_qlink0_request,
597d5d348a3SVinod Koul 	msm_mux_qlink0_wmss,
598d5d348a3SVinod Koul 	msm_mux_qlink1_enable,
599d5d348a3SVinod Koul 	msm_mux_qlink1_request,
600d5d348a3SVinod Koul 	msm_mux_qlink1_wmss,
601d5d348a3SVinod Koul 	msm_mux_qlink2_enable,
602d5d348a3SVinod Koul 	msm_mux_qlink2_request,
603d5d348a3SVinod Koul 	msm_mux_qlink2_wmss,
604d5d348a3SVinod Koul 	msm_mux_qspi0,
605d5d348a3SVinod Koul 	msm_mux_qspi1,
606d5d348a3SVinod Koul 	msm_mux_qspi2,
607d5d348a3SVinod Koul 	msm_mux_qspi3,
608d5d348a3SVinod Koul 	msm_mux_qspi_clk,
609d5d348a3SVinod Koul 	msm_mux_qspi_cs,
610d5d348a3SVinod Koul 	msm_mux_qup0,
611d5d348a3SVinod Koul 	msm_mux_qup1,
612d5d348a3SVinod Koul 	msm_mux_qup10,
613d5d348a3SVinod Koul 	msm_mux_qup11,
614d5d348a3SVinod Koul 	msm_mux_qup12,
615d5d348a3SVinod Koul 	msm_mux_qup13,
616d5d348a3SVinod Koul 	msm_mux_qup14,
617d5d348a3SVinod Koul 	msm_mux_qup15,
618d5d348a3SVinod Koul 	msm_mux_qup16,
619d5d348a3SVinod Koul 	msm_mux_qup17,
620d5d348a3SVinod Koul 	msm_mux_qup18,
621d5d348a3SVinod Koul 	msm_mux_qup19,
622d5d348a3SVinod Koul 	msm_mux_qup2,
623d5d348a3SVinod Koul 	msm_mux_qup3,
624d5d348a3SVinod Koul 	msm_mux_qup4,
625d5d348a3SVinod Koul 	msm_mux_qup5,
626d5d348a3SVinod Koul 	msm_mux_qup6,
627d5d348a3SVinod Koul 	msm_mux_qup7,
628d5d348a3SVinod Koul 	msm_mux_qup8,
629d5d348a3SVinod Koul 	msm_mux_qup9,
630d5d348a3SVinod Koul 	msm_mux_qup_l4,
631d5d348a3SVinod Koul 	msm_mux_qup_l5,
632d5d348a3SVinod Koul 	msm_mux_qup_l6,
633d5d348a3SVinod Koul 	msm_mux_sd_write,
634d5d348a3SVinod Koul 	msm_mux_sdc40,
635d5d348a3SVinod Koul 	msm_mux_sdc41,
636d5d348a3SVinod Koul 	msm_mux_sdc42,
637d5d348a3SVinod Koul 	msm_mux_sdc43,
638d5d348a3SVinod Koul 	msm_mux_sdc4_clk,
639d5d348a3SVinod Koul 	msm_mux_sdc4_cmd,
640d5d348a3SVinod Koul 	msm_mux_sec_mi2s,
641d5d348a3SVinod Koul 	msm_mux_tb_trig,
642d5d348a3SVinod Koul 	msm_mux_tgu_ch0,
643d5d348a3SVinod Koul 	msm_mux_tgu_ch1,
644d5d348a3SVinod Koul 	msm_mux_tgu_ch2,
645d5d348a3SVinod Koul 	msm_mux_tgu_ch3,
646d5d348a3SVinod Koul 	msm_mux_tsense_pwm1,
647d5d348a3SVinod Koul 	msm_mux_tsense_pwm2,
648d5d348a3SVinod Koul 	msm_mux_uim0_clk,
649d5d348a3SVinod Koul 	msm_mux_uim0_data,
650d5d348a3SVinod Koul 	msm_mux_uim0_present,
651d5d348a3SVinod Koul 	msm_mux_uim0_reset,
652d5d348a3SVinod Koul 	msm_mux_uim1_clk,
653d5d348a3SVinod Koul 	msm_mux_uim1_data,
654d5d348a3SVinod Koul 	msm_mux_uim1_present,
655d5d348a3SVinod Koul 	msm_mux_uim1_reset,
656d5d348a3SVinod Koul 	msm_mux_usb2phy_ac,
657d5d348a3SVinod Koul 	msm_mux_usb_phy,
658d5d348a3SVinod Koul 	msm_mux_vfr_0,
659d5d348a3SVinod Koul 	msm_mux_vfr_1,
660d5d348a3SVinod Koul 	msm_mux_vsense_trigger,
661d5d348a3SVinod Koul 	msm_mux__,
662d5d348a3SVinod Koul };
663d5d348a3SVinod Koul 
664d5d348a3SVinod Koul static const char * const gpio_groups[] = {
665d5d348a3SVinod Koul 	"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
666d5d348a3SVinod Koul 	"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
667d5d348a3SVinod Koul 	"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
668d5d348a3SVinod Koul 	"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
669d5d348a3SVinod Koul 	"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
670d5d348a3SVinod Koul 	"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
671d5d348a3SVinod Koul 	"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
672d5d348a3SVinod Koul 	"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
673d5d348a3SVinod Koul 	"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
674d5d348a3SVinod Koul 	"gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
675d5d348a3SVinod Koul 	"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
676d5d348a3SVinod Koul 	"gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84",
677d5d348a3SVinod Koul 	"gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91",
678d5d348a3SVinod Koul 	"gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98",
679d5d348a3SVinod Koul 	"gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104",
680d5d348a3SVinod Koul 	"gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110",
681d5d348a3SVinod Koul 	"gpio111", "gpio112", "gpio113", "gpio114", "gpio115", "gpio116",
682d5d348a3SVinod Koul 	"gpio117", "gpio118", "gpio119", "gpio120", "gpio121", "gpio122",
683d5d348a3SVinod Koul 	"gpio123", "gpio124", "gpio125", "gpio126", "gpio127", "gpio128",
684d5d348a3SVinod Koul 	"gpio129", "gpio130", "gpio131", "gpio132", "gpio133", "gpio134",
685d5d348a3SVinod Koul 	"gpio135", "gpio136", "gpio137", "gpio138", "gpio139", "gpio140",
686d5d348a3SVinod Koul 	"gpio141", "gpio142", "gpio143", "gpio144", "gpio145", "gpio146",
687d5d348a3SVinod Koul 	"gpio147", "gpio148", "gpio149", "gpio150", "gpio151", "gpio152",
688d5d348a3SVinod Koul 	"gpio153", "gpio154", "gpio155", "gpio156", "gpio157", "gpio158",
689d5d348a3SVinod Koul 	"gpio159", "gpio160", "gpio161", "gpio162", "gpio163", "gpio164",
690d5d348a3SVinod Koul 	"gpio165", "gpio166", "gpio167", "gpio168", "gpio169", "gpio170",
691d5d348a3SVinod Koul 	"gpio171", "gpio172", "gpio173", "gpio174", "gpio175", "gpio176",
692d5d348a3SVinod Koul 	"gpio177", "gpio178", "gpio179", "gpio180", "gpio181", "gpio182",
693d5d348a3SVinod Koul 	"gpio183", "gpio184", "gpio185", "gpio186", "gpio187", "gpio188",
694d5d348a3SVinod Koul 	"gpio189", "gpio190", "gpio191", "gpio192", "gpio193", "gpio194",
695d5d348a3SVinod Koul 	"gpio195", "gpio196", "gpio197", "gpio198", "gpio199", "gpio200",
696d5d348a3SVinod Koul 	"gpio201", "gpio202",
697d5d348a3SVinod Koul };
698d5d348a3SVinod Koul 
699d5d348a3SVinod Koul static const char * const atest_char_groups[] = {
700d5d348a3SVinod Koul 	"gpio85", "gpio86", "gpio87", "gpio115", "gpio117",
701d5d348a3SVinod Koul };
702d5d348a3SVinod Koul 
703d5d348a3SVinod Koul static const char * const atest_usb_groups[] = {
704d5d348a3SVinod Koul 	"gpio55", "gpio80", "gpio81", "gpio151", "gpio152",
705d5d348a3SVinod Koul 	"gpio153", "gpio154", "gpio158", "gpio159", "gpio161",
706d5d348a3SVinod Koul };
707d5d348a3SVinod Koul 
708d5d348a3SVinod Koul static const char * const audio_ref_groups[] = {
709d5d348a3SVinod Koul 	"gpio124",
710d5d348a3SVinod Koul };
711d5d348a3SVinod Koul 
712d5d348a3SVinod Koul static const char * const cam_mclk_groups[] = {
713d5d348a3SVinod Koul 	"gpio100", "gpio101", "gpio102", "gpio103", "gpio104", "gpio105",
714d5d348a3SVinod Koul };
715d5d348a3SVinod Koul 
716d5d348a3SVinod Koul static const char * const cci_async_groups[] = {
717d5d348a3SVinod Koul 	"gpio106", "gpio118", "gpio119",
718d5d348a3SVinod Koul };
719d5d348a3SVinod Koul 
720d5d348a3SVinod Koul static const char * const cci_i2c_groups[] = {
721d5d348a3SVinod Koul 	"gpio107", "gpio108", "gpio109", "gpio110", "gpio111", "gpio112",
722d5d348a3SVinod Koul 	"gpio113", "gpio114",
723d5d348a3SVinod Koul };
724d5d348a3SVinod Koul 
725d5d348a3SVinod Koul static const char * const cci_timer_groups[] = {
726d5d348a3SVinod Koul 	"gpio115", "gpio116", "gpio117", "gpio118", "gpio119",
727d5d348a3SVinod Koul };
728d5d348a3SVinod Koul 
729d5d348a3SVinod Koul static const char * const cmu_rng_groups[] = {
730d5d348a3SVinod Koul 	"gpio174", "gpio175", "gpio176", "gpio177",
731d5d348a3SVinod Koul };
732d5d348a3SVinod Koul 
733d5d348a3SVinod Koul static const char * const coex_uart1_groups[] = {
734d5d348a3SVinod Koul 	"gpio151", "gpio152",
735d5d348a3SVinod Koul };
736d5d348a3SVinod Koul 
737d5d348a3SVinod Koul static const char * const coex_uart2_groups[] = {
738d5d348a3SVinod Koul 	"gpio153", "gpio154",
739d5d348a3SVinod Koul };
740d5d348a3SVinod Koul 
741d5d348a3SVinod Koul static const char * const cri_trng_groups[] = {
742d5d348a3SVinod Koul 	"gpio186",
743d5d348a3SVinod Koul };
744d5d348a3SVinod Koul 
745d5d348a3SVinod Koul static const char * const cri_trng0_groups[] = {
746d5d348a3SVinod Koul 	"gpio183",
747d5d348a3SVinod Koul };
748d5d348a3SVinod Koul 
749d5d348a3SVinod Koul static const char * const cri_trng1_groups[] = {
750d5d348a3SVinod Koul 	"gpio184",
751d5d348a3SVinod Koul };
752d5d348a3SVinod Koul 
753d5d348a3SVinod Koul static const char * const dbg_out_groups[] = {
754d5d348a3SVinod Koul 	"gpio14",
755d5d348a3SVinod Koul };
756d5d348a3SVinod Koul 
757d5d348a3SVinod Koul static const char * const ddr_bist_groups[] = {
758d5d348a3SVinod Koul 	"gpio36", "gpio37", "gpio40", "gpio41",
759d5d348a3SVinod Koul };
760d5d348a3SVinod Koul 
761d5d348a3SVinod Koul static const char * const ddr_pxi0_groups[] = {
762d5d348a3SVinod Koul 	"gpio51", "gpio52",
763d5d348a3SVinod Koul };
764d5d348a3SVinod Koul 
765d5d348a3SVinod Koul static const char * const ddr_pxi1_groups[] = {
766d5d348a3SVinod Koul 	"gpio48", "gpio49",
767d5d348a3SVinod Koul };
768d5d348a3SVinod Koul 
769d5d348a3SVinod Koul static const char * const ddr_pxi2_groups[] = {
770d5d348a3SVinod Koul 	"gpio45", "gpio47",
771d5d348a3SVinod Koul };
772d5d348a3SVinod Koul 
773d5d348a3SVinod Koul static const char * const ddr_pxi3_groups[] = {
774d5d348a3SVinod Koul 	"gpio43", "gpio44",
775d5d348a3SVinod Koul };
776d5d348a3SVinod Koul 
777d5d348a3SVinod Koul static const char * const dp_hot_groups[] = {
778d5d348a3SVinod Koul 	"gpio87",
779d5d348a3SVinod Koul };
780d5d348a3SVinod Koul 
781d5d348a3SVinod Koul static const char * const dp_lcd_groups[] = {
782d5d348a3SVinod Koul 	"gpio83",
783d5d348a3SVinod Koul };
784d5d348a3SVinod Koul 
785d5d348a3SVinod Koul static const char * const gcc_gp1_groups[] = {
786d5d348a3SVinod Koul 	"gpio115", "gpio129",
787d5d348a3SVinod Koul };
788d5d348a3SVinod Koul 
789d5d348a3SVinod Koul static const char * const gcc_gp2_groups[] = {
790d5d348a3SVinod Koul 	"gpio116", "gpio130",
791d5d348a3SVinod Koul };
792d5d348a3SVinod Koul 
793d5d348a3SVinod Koul static const char * const gcc_gp3_groups[] = {
794d5d348a3SVinod Koul 	"gpio117", "gpio131",
795d5d348a3SVinod Koul };
796d5d348a3SVinod Koul 
797d5d348a3SVinod Koul static const char * const ibi_i3c_groups[] = {
798d5d348a3SVinod Koul 	"gpio36", "gpio37", "gpio56", "gpio57", "gpio60", "gpio61",
799d5d348a3SVinod Koul };
800d5d348a3SVinod Koul 
801d5d348a3SVinod Koul static const char * const jitter_bist_groups[] = {
802d5d348a3SVinod Koul 	"gpio80",
803d5d348a3SVinod Koul };
804d5d348a3SVinod Koul 
805d5d348a3SVinod Koul static const char * const lpass_slimbus_groups[] = {
806d5d348a3SVinod Koul 	"gpio129", "gpio130",
807d5d348a3SVinod Koul };
808d5d348a3SVinod Koul 
809d5d348a3SVinod Koul static const char * const mdp_vsync_groups[] = {
810d5d348a3SVinod Koul 	"gpio15", "gpio26", "gpio82", "gpio83", "gpio84",
811d5d348a3SVinod Koul };
812d5d348a3SVinod Koul 
813d5d348a3SVinod Koul static const char * const mdp_vsync0_groups[] = {
814d5d348a3SVinod Koul 	"gpio86",
815d5d348a3SVinod Koul };
816d5d348a3SVinod Koul 
817d5d348a3SVinod Koul static const char * const mdp_vsync1_groups[] = {
818d5d348a3SVinod Koul 	"gpio86",
819d5d348a3SVinod Koul };
820d5d348a3SVinod Koul 
821d5d348a3SVinod Koul static const char * const mdp_vsync2_groups[] = {
822d5d348a3SVinod Koul 	"gpio87",
823d5d348a3SVinod Koul };
824d5d348a3SVinod Koul 
825d5d348a3SVinod Koul static const char * const mdp_vsync3_groups[] = {
826d5d348a3SVinod Koul 	"gpio87",
827d5d348a3SVinod Koul };
828d5d348a3SVinod Koul 
829d5d348a3SVinod Koul static const char * const mi2s0_data0_groups[] = {
830d5d348a3SVinod Koul 	"gpio126",
831d5d348a3SVinod Koul };
832d5d348a3SVinod Koul 
833d5d348a3SVinod Koul static const char * const mi2s0_data1_groups[] = {
834d5d348a3SVinod Koul 	"gpio127",
835d5d348a3SVinod Koul };
836d5d348a3SVinod Koul 
837d5d348a3SVinod Koul static const char * const mi2s0_sck_groups[] = {
838d5d348a3SVinod Koul 	"gpio125",
839d5d348a3SVinod Koul };
840d5d348a3SVinod Koul 
841d5d348a3SVinod Koul static const char * const mi2s0_ws_groups[] = {
842d5d348a3SVinod Koul 	"gpio128",
843d5d348a3SVinod Koul };
844d5d348a3SVinod Koul 
845d5d348a3SVinod Koul static const char * const mi2s1_data0_groups[] = {
846d5d348a3SVinod Koul 	"gpio130",
847d5d348a3SVinod Koul };
848d5d348a3SVinod Koul 
849d5d348a3SVinod Koul static const char * const mi2s1_data1_groups[] = {
850d5d348a3SVinod Koul 	"gpio131",
851d5d348a3SVinod Koul };
852d5d348a3SVinod Koul 
853d5d348a3SVinod Koul static const char * const mi2s1_sck_groups[] = {
854d5d348a3SVinod Koul 	"gpio129",
855d5d348a3SVinod Koul };
856d5d348a3SVinod Koul 
857d5d348a3SVinod Koul static const char * const mi2s1_ws_groups[] = {
858d5d348a3SVinod Koul 	"gpio132",
859d5d348a3SVinod Koul };
860d5d348a3SVinod Koul 
861d5d348a3SVinod Koul static const char * const mi2s2_data0_groups[] = {
862d5d348a3SVinod Koul 	"gpio121",
863d5d348a3SVinod Koul };
864d5d348a3SVinod Koul 
865d5d348a3SVinod Koul static const char * const mi2s2_data1_groups[] = {
866d5d348a3SVinod Koul 	"gpio124",
867d5d348a3SVinod Koul };
868d5d348a3SVinod Koul 
869d5d348a3SVinod Koul static const char * const mi2s2_sck_groups[] = {
870d5d348a3SVinod Koul 	"gpio120",
871d5d348a3SVinod Koul };
872d5d348a3SVinod Koul 
873d5d348a3SVinod Koul static const char * const mi2s2_ws_groups[] = {
874d5d348a3SVinod Koul 	"gpio122",
875d5d348a3SVinod Koul };
876d5d348a3SVinod Koul 
877d5d348a3SVinod Koul static const char * const mss_grfc0_groups[] = {
878d5d348a3SVinod Koul 	"gpio141", "gpio158",
879d5d348a3SVinod Koul };
880d5d348a3SVinod Koul 
881d5d348a3SVinod Koul static const char * const mss_grfc1_groups[] = {
882d5d348a3SVinod Koul 	"gpio142",
883d5d348a3SVinod Koul };
884d5d348a3SVinod Koul 
885d5d348a3SVinod Koul static const char * const mss_grfc10_groups[] = {
886d5d348a3SVinod Koul 	"gpio153",
887d5d348a3SVinod Koul };
888d5d348a3SVinod Koul 
889d5d348a3SVinod Koul static const char * const mss_grfc11_groups[] = {
890d5d348a3SVinod Koul 	"gpio154",
891d5d348a3SVinod Koul };
892d5d348a3SVinod Koul 
893d5d348a3SVinod Koul static const char * const mss_grfc12_groups[] = {
894d5d348a3SVinod Koul 	"gpio157",
895d5d348a3SVinod Koul };
896d5d348a3SVinod Koul 
897d5d348a3SVinod Koul static const char * const mss_grfc2_groups[] = {
898d5d348a3SVinod Koul 	"gpio143",
899d5d348a3SVinod Koul };
900d5d348a3SVinod Koul 
901d5d348a3SVinod Koul static const char * const mss_grfc3_groups[] = {
902d5d348a3SVinod Koul 	"gpio144",
903d5d348a3SVinod Koul };
904d5d348a3SVinod Koul 
905d5d348a3SVinod Koul static const char * const mss_grfc4_groups[] = {
906d5d348a3SVinod Koul 	"gpio145",
907d5d348a3SVinod Koul };
908d5d348a3SVinod Koul 
909d5d348a3SVinod Koul static const char * const mss_grfc5_groups[] = {
910d5d348a3SVinod Koul 	"gpio146",
911d5d348a3SVinod Koul };
912d5d348a3SVinod Koul 
913d5d348a3SVinod Koul static const char * const mss_grfc6_groups[] = {
914d5d348a3SVinod Koul 	"gpio147",
915d5d348a3SVinod Koul };
916d5d348a3SVinod Koul 
917d5d348a3SVinod Koul static const char * const mss_grfc7_groups[] = {
918d5d348a3SVinod Koul 	"gpio148",
919d5d348a3SVinod Koul };
920d5d348a3SVinod Koul 
921d5d348a3SVinod Koul static const char * const mss_grfc8_groups[] = {
922d5d348a3SVinod Koul 	"gpio149",
923d5d348a3SVinod Koul };
924d5d348a3SVinod Koul 
925d5d348a3SVinod Koul static const char * const mss_grfc9_groups[] = {
926d5d348a3SVinod Koul 	"gpio150",
927d5d348a3SVinod Koul };
928d5d348a3SVinod Koul 
929d5d348a3SVinod Koul static const char * const nav_gpio_groups[] = {
930d5d348a3SVinod Koul 	"gpio155", "gpio156", "gpio157",
931d5d348a3SVinod Koul };
932d5d348a3SVinod Koul 
933d5d348a3SVinod Koul static const char * const pa_indicator_groups[] = {
934d5d348a3SVinod Koul 	"gpio157",
935d5d348a3SVinod Koul };
936d5d348a3SVinod Koul 
937d5d348a3SVinod Koul static const char * const pcie0_clkreqn_groups[] = {
938d5d348a3SVinod Koul 	"gpio95",
939d5d348a3SVinod Koul };
940d5d348a3SVinod Koul 
941d5d348a3SVinod Koul static const char * const pcie1_clkreqn_groups[] = {
942d5d348a3SVinod Koul 	"gpio98",
943d5d348a3SVinod Koul };
944d5d348a3SVinod Koul 
945d5d348a3SVinod Koul static const char * const phase_flag_groups[] = {
946d5d348a3SVinod Koul 	"gpio12", "gpio13", "gpio16", "gpio17", "gpio28", "gpio29", "gpio30",
947d5d348a3SVinod Koul 	"gpio31", "gpio32", "gpio33", "gpio34", "gpio35", "gpio72", "gpio73",
948d5d348a3SVinod Koul 	"gpio74", "gpio75", "gpio76", "gpio77", "gpio78", "gpio79", "gpio103",
949d5d348a3SVinod Koul 	"gpio104", "gpio105", "gpio106", "gpio107", "gpio108", "gpio109",
950d5d348a3SVinod Koul 	"gpio110", "gpio111", "gpio112", "gpio113", "gpio114",
951d5d348a3SVinod Koul };
952d5d348a3SVinod Koul 
953d5d348a3SVinod Koul static const char * const pll_bist_groups[] = {
954d5d348a3SVinod Koul 	"gpio81",
955d5d348a3SVinod Koul };
956d5d348a3SVinod Koul 
957d5d348a3SVinod Koul static const char * const pll_clk_groups[] = {
958d5d348a3SVinod Koul 	"gpio81",
959d5d348a3SVinod Koul };
960d5d348a3SVinod Koul 
961d5d348a3SVinod Koul static const char * const pri_mi2s_groups[] = {
962d5d348a3SVinod Koul 	"gpio123",
963d5d348a3SVinod Koul };
964d5d348a3SVinod Koul 
965d5d348a3SVinod Koul static const char * const prng_rosc_groups[] = {
966d5d348a3SVinod Koul 	"gpio185",
967d5d348a3SVinod Koul };
968d5d348a3SVinod Koul 
969d5d348a3SVinod Koul static const char * const qdss_cti_groups[] = {
970d5d348a3SVinod Koul 	"gpio14", "gpio27", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91", "gpio92",
971d5d348a3SVinod Koul };
972d5d348a3SVinod Koul 
973d5d348a3SVinod Koul static const char * const qdss_gpio_groups[] = {
974d5d348a3SVinod Koul 	"gpio100", "gpio101", "gpio102", "gpio103", "gpio104", "gpio105", "gpio106", "gpio107",
975d5d348a3SVinod Koul 	"gpio108", "gpio109", "gpio110", "gpio111", "gpio112", "gpio113", "gpio114", "gpio115",
976d5d348a3SVinod Koul 	"gpio116", "gpio117", "gpio183", "gpio184", "gpio185", "gpio186", "gpio187", "gpio188",
977d5d348a3SVinod Koul 	"gpio189", "gpio190", "gpio191", "gpio192", "gpio193", "gpio194", "gpio195", "gpio196",
978d5d348a3SVinod Koul 	"gpio197", "gpio198", "gpio199", "gpio200",
979d5d348a3SVinod Koul };
980d5d348a3SVinod Koul 
981d5d348a3SVinod Koul static const char * const qlink0_enable_groups[] = {
982d5d348a3SVinod Koul 	"gpio160",
983d5d348a3SVinod Koul };
984d5d348a3SVinod Koul 
985d5d348a3SVinod Koul static const char * const qlink0_request_groups[] = {
986d5d348a3SVinod Koul 	"gpio159",
987d5d348a3SVinod Koul };
988d5d348a3SVinod Koul 
989d5d348a3SVinod Koul static const char * const qlink0_wmss_groups[] = {
990d5d348a3SVinod Koul 	"gpio161",
991d5d348a3SVinod Koul };
992d5d348a3SVinod Koul 
993d5d348a3SVinod Koul static const char * const qlink1_enable_groups[] = {
994d5d348a3SVinod Koul 	"gpio163",
995d5d348a3SVinod Koul };
996d5d348a3SVinod Koul 
997d5d348a3SVinod Koul static const char * const qlink1_request_groups[] = {
998d5d348a3SVinod Koul 	"gpio162",
999d5d348a3SVinod Koul };
1000d5d348a3SVinod Koul 
1001d5d348a3SVinod Koul static const char * const qlink1_wmss_groups[] = {
1002d5d348a3SVinod Koul 	"gpio164",
1003d5d348a3SVinod Koul };
1004d5d348a3SVinod Koul 
1005d5d348a3SVinod Koul static const char * const qlink2_enable_groups[] = {
1006d5d348a3SVinod Koul 	"gpio166",
1007d5d348a3SVinod Koul };
1008d5d348a3SVinod Koul 
1009d5d348a3SVinod Koul static const char * const qlink2_request_groups[] = {
1010d5d348a3SVinod Koul 	"gpio165",
1011d5d348a3SVinod Koul };
1012d5d348a3SVinod Koul 
1013d5d348a3SVinod Koul static const char * const qlink2_wmss_groups[] = {
1014d5d348a3SVinod Koul 	"gpio167",
1015d5d348a3SVinod Koul };
1016d5d348a3SVinod Koul 
1017d5d348a3SVinod Koul static const char * const qspi0_groups[] = {
1018d5d348a3SVinod Koul 	"gpio44",
1019d5d348a3SVinod Koul };
1020d5d348a3SVinod Koul 
1021d5d348a3SVinod Koul static const char * const qspi1_groups[] = {
1022d5d348a3SVinod Koul 	"gpio45",
1023d5d348a3SVinod Koul };
1024d5d348a3SVinod Koul 
1025d5d348a3SVinod Koul static const char * const qspi2_groups[] = {
1026d5d348a3SVinod Koul 	"gpio48",
1027d5d348a3SVinod Koul };
1028d5d348a3SVinod Koul 
1029d5d348a3SVinod Koul static const char * const qspi3_groups[] = {
1030d5d348a3SVinod Koul 	"gpio49",
1031d5d348a3SVinod Koul };
1032d5d348a3SVinod Koul 
1033d5d348a3SVinod Koul static const char * const qspi_clk_groups[] = {
1034d5d348a3SVinod Koul 	"gpio50",
1035d5d348a3SVinod Koul };
1036d5d348a3SVinod Koul 
1037d5d348a3SVinod Koul static const char * const qspi_cs_groups[] = {
1038d5d348a3SVinod Koul 	"gpio47", "gpio51",
1039d5d348a3SVinod Koul };
1040d5d348a3SVinod Koul 
1041d5d348a3SVinod Koul static const char * const qup0_groups[] = {
1042d5d348a3SVinod Koul 	"gpio4", "gpio5", "gpio6", "gpio7",
1043d5d348a3SVinod Koul };
1044d5d348a3SVinod Koul 
1045d5d348a3SVinod Koul static const char * const qup1_groups[] = {
1046d5d348a3SVinod Koul 	"gpio8", "gpio9", "gpio10", "gpio11",
1047d5d348a3SVinod Koul };
1048d5d348a3SVinod Koul 
1049d5d348a3SVinod Koul static const char * const qup10_groups[] = {
1050d5d348a3SVinod Koul 	"gpio44", "gpio45", "gpio46", "gpio47",
1051d5d348a3SVinod Koul };
1052d5d348a3SVinod Koul 
1053d5d348a3SVinod Koul static const char * const qup11_groups[] = {
1054d5d348a3SVinod Koul 	"gpio48", "gpio49", "gpio50", "gpio51",
1055d5d348a3SVinod Koul };
1056d5d348a3SVinod Koul 
1057d5d348a3SVinod Koul static const char * const qup12_groups[] = {
1058d5d348a3SVinod Koul 	"gpio52", "gpio53", "gpio54", "gpio55",
1059d5d348a3SVinod Koul };
1060d5d348a3SVinod Koul 
1061d5d348a3SVinod Koul static const char * const qup13_groups[] = {
1062d5d348a3SVinod Koul 	"gpio0", "gpio1", "gpio2", "gpio3",
1063d5d348a3SVinod Koul };
1064d5d348a3SVinod Koul 
1065d5d348a3SVinod Koul static const char * const qup14_groups[] = {
1066d5d348a3SVinod Koul 	"gpio56", "gpio57", "gpio58", "gpio59",
1067d5d348a3SVinod Koul };
1068d5d348a3SVinod Koul 
1069d5d348a3SVinod Koul static const char * const qup15_groups[] = {
1070d5d348a3SVinod Koul 	"gpio60", "gpio61", "gpio62", "gpio63",
1071d5d348a3SVinod Koul };
1072d5d348a3SVinod Koul 
1073d5d348a3SVinod Koul static const char * const qup16_groups[] = {
1074d5d348a3SVinod Koul 	"gpio64", "gpio65", "gpio66", "gpio67",
1075d5d348a3SVinod Koul };
1076d5d348a3SVinod Koul 
1077d5d348a3SVinod Koul static const char * const qup17_groups[] = {
1078d5d348a3SVinod Koul 	"gpio72", "gpio73", "gpio74", "gpio75",
1079d5d348a3SVinod Koul };
1080d5d348a3SVinod Koul 
1081d5d348a3SVinod Koul static const char * const qup18_groups[] = {
1082d5d348a3SVinod Koul 	"gpio68", "gpio69", "gpio70", "gpio71",
1083d5d348a3SVinod Koul };
1084d5d348a3SVinod Koul 
1085d5d348a3SVinod Koul static const char * const qup19_groups[] = {
1086d5d348a3SVinod Koul 	"gpio76", "gpio77", "gpio78", "gpio79",
1087d5d348a3SVinod Koul };
1088d5d348a3SVinod Koul 
1089d5d348a3SVinod Koul static const char * const qup2_groups[] = {
1090d5d348a3SVinod Koul 	"gpio12", "gpio13", "gpio14", "gpio15",
1091d5d348a3SVinod Koul };
1092d5d348a3SVinod Koul 
1093d5d348a3SVinod Koul static const char * const qup3_groups[] = {
1094d5d348a3SVinod Koul 	"gpio16", "gpio17", "gpio18", "gpio19",
1095d5d348a3SVinod Koul };
1096d5d348a3SVinod Koul 
1097d5d348a3SVinod Koul static const char * const qup4_groups[] = {
1098d5d348a3SVinod Koul 	"gpio20", "gpio21", "gpio22", "gpio23",
1099d5d348a3SVinod Koul };
1100d5d348a3SVinod Koul 
1101d5d348a3SVinod Koul static const char * const qup5_groups[] = {
1102d5d348a3SVinod Koul 	"gpio24", "gpio25", "gpio26", "gpio27",
1103d5d348a3SVinod Koul };
1104d5d348a3SVinod Koul 
1105d5d348a3SVinod Koul static const char * const qup6_groups[] = {
1106d5d348a3SVinod Koul 	"gpio28", "gpio29", "gpio30", "gpio31",
1107d5d348a3SVinod Koul };
1108d5d348a3SVinod Koul 
1109d5d348a3SVinod Koul static const char * const qup7_groups[] = {
1110d5d348a3SVinod Koul 	"gpio32", "gpio33", "gpio34", "gpio35",
1111d5d348a3SVinod Koul };
1112d5d348a3SVinod Koul 
1113d5d348a3SVinod Koul static const char * const qup8_groups[] = {
1114d5d348a3SVinod Koul 	"gpio36", "gpio37", "gpio38", "gpio39",
1115d5d348a3SVinod Koul };
1116d5d348a3SVinod Koul 
1117d5d348a3SVinod Koul static const char * const qup9_groups[] = {
1118d5d348a3SVinod Koul 	"gpio40", "gpio41", "gpio42", "gpio43",
1119d5d348a3SVinod Koul };
1120d5d348a3SVinod Koul 
1121d5d348a3SVinod Koul static const char * const qup_l4_groups[] = {
1122d5d348a3SVinod Koul 	"gpio2", "gpio6", "gpio58", "gpio63",
1123d5d348a3SVinod Koul };
1124d5d348a3SVinod Koul 
1125d5d348a3SVinod Koul static const char * const qup_l5_groups[] = {
1126d5d348a3SVinod Koul 	"gpio3", "gpio7", "gpio59", "gpio66",
1127d5d348a3SVinod Koul };
1128d5d348a3SVinod Koul 
1129d5d348a3SVinod Koul static const char * const qup_l6_groups[] = {
1130d5d348a3SVinod Koul 	"gpio10", "gpio42", "gpio62", "gpio67",
1131d5d348a3SVinod Koul };
1132d5d348a3SVinod Koul 
1133d5d348a3SVinod Koul static const char * const sd_write_groups[] = {
1134d5d348a3SVinod Koul 	"gpio93",
1135d5d348a3SVinod Koul };
1136d5d348a3SVinod Koul 
1137d5d348a3SVinod Koul static const char * const sdc40_groups[] = {
1138d5d348a3SVinod Koul 	"gpio44",
1139d5d348a3SVinod Koul };
1140d5d348a3SVinod Koul 
1141d5d348a3SVinod Koul static const char * const sdc41_groups[] = {
1142d5d348a3SVinod Koul 	"gpio45",
1143d5d348a3SVinod Koul };
1144d5d348a3SVinod Koul 
1145d5d348a3SVinod Koul static const char * const sdc42_groups[] = {
1146d5d348a3SVinod Koul 	"gpio48",
1147d5d348a3SVinod Koul };
1148d5d348a3SVinod Koul 
1149d5d348a3SVinod Koul static const char * const sdc43_groups[] = {
1150d5d348a3SVinod Koul 	"gpio49",
1151d5d348a3SVinod Koul };
1152d5d348a3SVinod Koul 
1153d5d348a3SVinod Koul static const char * const sdc4_clk_groups[] = {
1154d5d348a3SVinod Koul 	"gpio50",
1155d5d348a3SVinod Koul };
1156d5d348a3SVinod Koul 
1157d5d348a3SVinod Koul static const char * const sdc4_cmd_groups[] = {
1158d5d348a3SVinod Koul 	"gpio51",
1159d5d348a3SVinod Koul };
1160d5d348a3SVinod Koul 
1161d5d348a3SVinod Koul static const char * const sec_mi2s_groups[] = {
1162d5d348a3SVinod Koul 	"gpio124",
1163d5d348a3SVinod Koul };
1164d5d348a3SVinod Koul 
1165d5d348a3SVinod Koul static const char * const tb_trig_groups[] = {
1166d5d348a3SVinod Koul 	"gpio64", "gpio136",
1167d5d348a3SVinod Koul };
1168d5d348a3SVinod Koul 
1169d5d348a3SVinod Koul static const char * const tgu_ch0_groups[] = {
1170d5d348a3SVinod Koul 	"gpio99",
1171d5d348a3SVinod Koul };
1172d5d348a3SVinod Koul 
1173d5d348a3SVinod Koul static const char * const tgu_ch1_groups[] = {
1174d5d348a3SVinod Koul 	"gpio100",
1175d5d348a3SVinod Koul };
1176d5d348a3SVinod Koul 
1177d5d348a3SVinod Koul static const char * const tgu_ch2_groups[] = {
1178d5d348a3SVinod Koul 	"gpio101",
1179d5d348a3SVinod Koul };
1180d5d348a3SVinod Koul 
1181d5d348a3SVinod Koul static const char * const tgu_ch3_groups[] = {
1182d5d348a3SVinod Koul 	"gpio102",
1183d5d348a3SVinod Koul };
1184d5d348a3SVinod Koul 
1185d5d348a3SVinod Koul static const char * const tsense_pwm1_groups[] = {
1186d5d348a3SVinod Koul 	"gpio88",
1187d5d348a3SVinod Koul };
1188d5d348a3SVinod Koul 
1189d5d348a3SVinod Koul static const char * const tsense_pwm2_groups[] = {
1190d5d348a3SVinod Koul 	"gpio88",
1191d5d348a3SVinod Koul };
1192d5d348a3SVinod Koul 
1193d5d348a3SVinod Koul static const char * const uim0_clk_groups[] = {
1194d5d348a3SVinod Koul 	"gpio138",
1195d5d348a3SVinod Koul };
1196d5d348a3SVinod Koul 
1197d5d348a3SVinod Koul static const char * const uim0_data_groups[] = {
1198d5d348a3SVinod Koul 	"gpio137",
1199d5d348a3SVinod Koul };
1200d5d348a3SVinod Koul 
1201d5d348a3SVinod Koul static const char * const uim0_present_groups[] = {
1202d5d348a3SVinod Koul 	"gpio140",
1203d5d348a3SVinod Koul };
1204d5d348a3SVinod Koul 
1205d5d348a3SVinod Koul static const char * const uim0_reset_groups[] = {
1206d5d348a3SVinod Koul 	"gpio139",
1207d5d348a3SVinod Koul };
1208d5d348a3SVinod Koul 
1209d5d348a3SVinod Koul static const char * const uim1_clk_groups[] = {
1210d5d348a3SVinod Koul 	"gpio134",
1211d5d348a3SVinod Koul };
1212d5d348a3SVinod Koul 
1213d5d348a3SVinod Koul static const char * const uim1_data_groups[] = {
1214d5d348a3SVinod Koul 	"gpio133",
1215d5d348a3SVinod Koul };
1216d5d348a3SVinod Koul 
1217d5d348a3SVinod Koul static const char * const uim1_present_groups[] = {
1218d5d348a3SVinod Koul 	"gpio136",
1219d5d348a3SVinod Koul };
1220d5d348a3SVinod Koul 
1221d5d348a3SVinod Koul static const char * const uim1_reset_groups[] = {
1222d5d348a3SVinod Koul 	"gpio135",
1223d5d348a3SVinod Koul };
1224d5d348a3SVinod Koul 
1225d5d348a3SVinod Koul static const char * const usb2phy_ac_groups[] = {
1226d5d348a3SVinod Koul 	"gpio39", "gpio80",
1227d5d348a3SVinod Koul };
1228d5d348a3SVinod Koul 
1229d5d348a3SVinod Koul static const char * const usb_phy_groups[] = {
1230d5d348a3SVinod Koul 	"gpio81",
1231d5d348a3SVinod Koul };
1232d5d348a3SVinod Koul 
1233d5d348a3SVinod Koul static const char * const vfr_0_groups[] = {
1234d5d348a3SVinod Koul 	"gpio84",
1235d5d348a3SVinod Koul };
1236d5d348a3SVinod Koul 
1237d5d348a3SVinod Koul static const char * const vfr_1_groups[] = {
1238d5d348a3SVinod Koul 	"gpio90",
1239d5d348a3SVinod Koul };
1240d5d348a3SVinod Koul 
1241d5d348a3SVinod Koul static const char * const vsense_trigger_groups[] = {
1242d5d348a3SVinod Koul 	"gpio78",
1243d5d348a3SVinod Koul };
1244d5d348a3SVinod Koul 
1245c7a291dbSRohit Agarwal static const struct pinfunction sm8350_functions[] = {
1246c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_char),
1247c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(atest_usb),
1248c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(audio_ref),
1249c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cam_mclk),
1250c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_async),
1251c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_i2c),
1252c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cci_timer),
1253c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cmu_rng),
1254c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(coex_uart1),
1255c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(coex_uart2),
1256c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cri_trng),
1257c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cri_trng0),
1258c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(cri_trng1),
1259c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dbg_out),
1260c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ddr_bist),
1261c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ddr_pxi0),
1262c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ddr_pxi1),
1263c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ddr_pxi2),
1264c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ddr_pxi3),
1265c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dp_hot),
1266c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(dp_lcd),
1267c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_gp1),
1268c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_gp2),
1269c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gcc_gp3),
1270c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(gpio),
1271c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(ibi_i3c),
1272c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(jitter_bist),
1273c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(lpass_slimbus),
1274c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mdp_vsync),
1275c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mdp_vsync0),
1276c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mdp_vsync1),
1277c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mdp_vsync2),
1278c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mdp_vsync3),
1279c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s0_data0),
1280c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s0_data1),
1281c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s0_sck),
1282c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s0_ws),
1283c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s1_data0),
1284c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s1_data1),
1285c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s1_sck),
1286c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s1_ws),
1287c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s2_data0),
1288c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s2_data1),
1289c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s2_sck),
1290c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mi2s2_ws),
1291c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc0),
1292c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc1),
1293c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc10),
1294c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc11),
1295c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc12),
1296c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc2),
1297c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc3),
1298c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc4),
1299c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc5),
1300c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc6),
1301c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc7),
1302c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc8),
1303c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(mss_grfc9),
1304c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(nav_gpio),
1305c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pa_indicator),
1306c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pcie0_clkreqn),
1307c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pcie1_clkreqn),
1308c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(phase_flag),
1309c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pll_bist),
1310c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pll_clk),
1311c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(pri_mi2s),
1312c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(prng_rosc),
1313c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_cti),
1314c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qdss_gpio),
1315c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qlink0_enable),
1316c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qlink0_request),
1317c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qlink0_wmss),
1318c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qlink1_enable),
1319c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qlink1_request),
1320c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qlink1_wmss),
1321c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qlink2_enable),
1322c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qlink2_request),
1323c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qlink2_wmss),
1324c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qspi0),
1325c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qspi1),
1326c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qspi2),
1327c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qspi3),
1328c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qspi_clk),
1329c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qspi_cs),
1330c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup0),
1331c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup1),
1332c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup10),
1333c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup11),
1334c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup12),
1335c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup13),
1336c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup14),
1337c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup15),
1338c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup16),
1339c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup17),
1340c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup18),
1341c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup19),
1342c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup2),
1343c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup3),
1344c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup4),
1345c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup5),
1346c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup6),
1347c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup7),
1348c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup8),
1349c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup9),
1350c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup_l4),
1351c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup_l5),
1352c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(qup_l6),
1353c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sd_write),
1354c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sdc40),
1355c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sdc41),
1356c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sdc42),
1357c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sdc43),
1358c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sdc4_clk),
1359c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sdc4_cmd),
1360c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(sec_mi2s),
1361c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(tb_trig),
1362c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(tgu_ch0),
1363c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(tgu_ch1),
1364c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(tgu_ch2),
1365c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(tgu_ch3),
1366c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(tsense_pwm1),
1367c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(tsense_pwm2),
1368c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim0_clk),
1369c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim0_data),
1370c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim0_present),
1371c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim0_reset),
1372c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim1_clk),
1373c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim1_data),
1374c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim1_present),
1375c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(uim1_reset),
1376c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(usb2phy_ac),
1377c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(usb_phy),
1378c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(vfr_0),
1379c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(vfr_1),
1380c7a291dbSRohit Agarwal 	MSM_PIN_FUNCTION(vsense_trigger),
1381d5d348a3SVinod Koul };
1382d5d348a3SVinod Koul 
1383d5d348a3SVinod Koul /* Every pin is maintained as a single group, and missing or non-existing pin
1384d5d348a3SVinod Koul  * would be maintained as dummy group to synchronize pin group index with
1385d5d348a3SVinod Koul  * pin descriptor registered with pinctrl core.
1386d5d348a3SVinod Koul  * Clients would not be able to request these dummy pin groups.
1387d5d348a3SVinod Koul  */
1388d5d348a3SVinod Koul static const struct msm_pingroup sm8350_groups[] = {
1389d5d348a3SVinod Koul 	[0] = PINGROUP(0, qup13, _, _, _, _, _, _, _, _),
1390d5d348a3SVinod Koul 	[1] = PINGROUP(1, qup13, _, _, _, _, _, _, _, _),
1391d5d348a3SVinod Koul 	[2] = PINGROUP(2, qup13, qup_l4, _, _, _, _, _, _, _),
1392d5d348a3SVinod Koul 	[3] = PINGROUP(3, qup13, qup_l5, _, _, _, _, _, _, _),
1393d5d348a3SVinod Koul 	[4] = PINGROUP(4, qup0, _, _, _, _, _, _, _, _),
1394d5d348a3SVinod Koul 	[5] = PINGROUP(5, qup0, _, _, _, _, _, _, _, _),
1395d5d348a3SVinod Koul 	[6] = PINGROUP(6, qup0, qup_l4, _, _, _, _, _, _, _),
1396d5d348a3SVinod Koul 	[7] = PINGROUP(7, qup0, qup_l5, _, _, _, _, _, _, _),
1397d5d348a3SVinod Koul 	[8] = PINGROUP(8, qup1, _, _, _, _, _, _, _, _),
1398d5d348a3SVinod Koul 	[9] = PINGROUP(9, qup1, _, _, _, _, _, _, _, _),
1399d5d348a3SVinod Koul 	[10] = PINGROUP(10, qup1, qup_l6, _, _, _, _, _, _, _),
1400d5d348a3SVinod Koul 	[11] = PINGROUP(11, qup1, _, _, _, _, _, _, _, _),
1401d5d348a3SVinod Koul 	[12] = PINGROUP(12, qup2, phase_flag, _, _, _, _, _, _, _),
1402d5d348a3SVinod Koul 	[13] = PINGROUP(13, qup2, phase_flag, _, _, _, _, _, _, _),
1403d5d348a3SVinod Koul 	[14] = PINGROUP(14, qup2, qdss_cti, dbg_out, _, _, _, _, _, _),
1404d5d348a3SVinod Koul 	[15] = PINGROUP(15, qup2, mdp_vsync, _, _, _, _, _, _, _),
1405d5d348a3SVinod Koul 	[16] = PINGROUP(16, qup3, phase_flag, _, _, _, _, _, _, _),
1406d5d348a3SVinod Koul 	[17] = PINGROUP(17, qup3, phase_flag, _, _, _, _, _, _, _),
1407d5d348a3SVinod Koul 	[18] = PINGROUP(18, qup3, _, _, _, _, _, _, _, _),
1408d5d348a3SVinod Koul 	[19] = PINGROUP(19, qup3, _, _, _, _, _, _, _, _),
1409d5d348a3SVinod Koul 	[20] = PINGROUP(20, qup4, _, _, _, _, _, _, _, _),
1410d5d348a3SVinod Koul 	[21] = PINGROUP(21, qup4, _, _, _, _, _, _, _, _),
1411d5d348a3SVinod Koul 	[22] = PINGROUP(22, qup4, _, _, _, _, _, _, _, _),
1412d5d348a3SVinod Koul 	[23] = PINGROUP(23, qup4, _, _, _, _, _, _, _, _),
1413d5d348a3SVinod Koul 	[24] = PINGROUP(24, qup5, _, _, _, _, _, _, _, _),
1414d5d348a3SVinod Koul 	[25] = PINGROUP(25, qup5, _, _, _, _, _, _, _, _),
1415d5d348a3SVinod Koul 	[26] = PINGROUP(26, qup5, mdp_vsync, _, _, _, _, _, _, _),
1416d5d348a3SVinod Koul 	[27] = PINGROUP(27, qup5, qdss_cti, _, _, _, _, _, _, _),
1417d5d348a3SVinod Koul 	[28] = PINGROUP(28, qup6, phase_flag, _, _, _, _, _, _, _),
1418d5d348a3SVinod Koul 	[29] = PINGROUP(29, qup6, phase_flag, _, _, _, _, _, _, _),
1419d5d348a3SVinod Koul 	[30] = PINGROUP(30, qup6, phase_flag, _, _, _, _, _, _, _),
1420d5d348a3SVinod Koul 	[31] = PINGROUP(31, qup6, phase_flag, _, _, _, _, _, _, _),
1421d5d348a3SVinod Koul 	[32] = PINGROUP(32, qup7, phase_flag, _, _, _, _, _, _, _),
1422d5d348a3SVinod Koul 	[33] = PINGROUP(33, qup7, phase_flag, _, _, _, _, _, _, _),
1423d5d348a3SVinod Koul 	[34] = PINGROUP(34, qup7, phase_flag, _, _, _, _, _, _, _),
1424d5d348a3SVinod Koul 	[35] = PINGROUP(35, qup7, phase_flag, _, _, _, _, _, _, _),
1425d5d348a3SVinod Koul 	[36] = PINGROUP(36, qup8, ibi_i3c, ddr_bist, _, _, _, _, _, _),
1426d5d348a3SVinod Koul 	[37] = PINGROUP(37, qup8, ibi_i3c, ddr_bist, _, _, _, _, _, _),
1427d5d348a3SVinod Koul 	[38] = PINGROUP(38, qup8, _, _, _, _, _, _, _, _),
1428d5d348a3SVinod Koul 	[39] = PINGROUP(39, qup8, usb2phy_ac, _, _, _, _, _, _, _),
1429d5d348a3SVinod Koul 	[40] = PINGROUP(40, qup9, ddr_bist, _, _, _, _, _, _, _),
1430d5d348a3SVinod Koul 	[41] = PINGROUP(41, qup9, ddr_bist, _, _, _, _, _, _, _),
1431d5d348a3SVinod Koul 	[42] = PINGROUP(42, qup9, qup_l6, _, _, _, _, _, _, _),
1432d5d348a3SVinod Koul 	[43] = PINGROUP(43, qup9, ddr_pxi3, _, _, _, _, _, _, _),
1433d5d348a3SVinod Koul 	[44] = PINGROUP(44, qup10, qspi0, sdc40, ddr_pxi3, _, _, _, _, _),
1434d5d348a3SVinod Koul 	[45] = PINGROUP(45, qup10, qspi1, sdc41, ddr_pxi2, _, _, _, _, _),
1435d5d348a3SVinod Koul 	[46] = PINGROUP(46, qup10, _, _, _, _, _, _, _, _),
1436d5d348a3SVinod Koul 	[47] = PINGROUP(47, qup10, qspi_cs, ddr_pxi2, _, _, _, _, _, _),
1437d5d348a3SVinod Koul 	[48] = PINGROUP(48, qup11, qspi2, sdc42, ddr_pxi1, _, _, _, _, _),
1438d5d348a3SVinod Koul 	[49] = PINGROUP(49, qup11, qspi3, sdc43, ddr_pxi1, _, _, _, _, _),
1439d5d348a3SVinod Koul 	[50] = PINGROUP(50, qup11, qspi_clk, sdc4_clk, _, _, _, _, _, _),
1440d5d348a3SVinod Koul 	[51] = PINGROUP(51, qup11, qspi_cs, sdc4_cmd, ddr_pxi0, _, _, _, _, _),
1441d5d348a3SVinod Koul 	[52] = PINGROUP(52, qup12, ddr_pxi0, _, _, _, _, _, _, _),
1442d5d348a3SVinod Koul 	[53] = PINGROUP(53, qup12, _, _, _, _, _, _, _, _),
1443d5d348a3SVinod Koul 	[54] = PINGROUP(54, qup12, _, _, _, _, _, _, _, _),
1444d5d348a3SVinod Koul 	[55] = PINGROUP(55, qup12, atest_usb, _, _, _, _, _, _, _),
1445d5d348a3SVinod Koul 	[56] = PINGROUP(56, qup14, ibi_i3c, _, _, _, _, _, _, _),
1446d5d348a3SVinod Koul 	[57] = PINGROUP(57, qup14, ibi_i3c, _, _, _, _, _, _, _),
1447d5d348a3SVinod Koul 	[58] = PINGROUP(58, qup14, qup_l4, _, _, _, _, _, _, _),
1448d5d348a3SVinod Koul 	[59] = PINGROUP(59, qup14, qup_l5, _, _, _, _, _, _, _),
1449d5d348a3SVinod Koul 	[60] = PINGROUP(60, qup15, ibi_i3c, _, _, _, _, _, _, _),
1450d5d348a3SVinod Koul 	[61] = PINGROUP(61, qup15, ibi_i3c, _, _, _, _, _, _, _),
1451d5d348a3SVinod Koul 	[62] = PINGROUP(62, qup15, qup_l6, _, _, _, _, _, _, _),
1452d5d348a3SVinod Koul 	[63] = PINGROUP(63, qup15, qup_l4, _, _, _, _, _, _, _),
1453d5d348a3SVinod Koul 	[64] = PINGROUP(64, qup16, tb_trig, _, _, _, _, _, _, _),
1454d5d348a3SVinod Koul 	[65] = PINGROUP(65, qup16, _, _, _, _, _, _, _, _),
1455d5d348a3SVinod Koul 	[66] = PINGROUP(66, qup16, qup_l5, _, _, _, _, _, _, _),
1456d5d348a3SVinod Koul 	[67] = PINGROUP(67, qup16, qup_l6, _, _, _, _, _, _, _),
1457d5d348a3SVinod Koul 	[68] = PINGROUP(68, qup18, _, _, _, _, _, _, _, _),
1458d5d348a3SVinod Koul 	[69] = PINGROUP(69, qup18, _, _, _, _, _, _, _, _),
1459d5d348a3SVinod Koul 	[70] = PINGROUP(70, qup18, _, _, _, _, _, _, _, _),
1460d5d348a3SVinod Koul 	[71] = PINGROUP(71, qup18, _, _, _, _, _, _, _, _),
1461d5d348a3SVinod Koul 	[72] = PINGROUP(72, qup17, phase_flag, _, _, _, _, _, _, _),
1462d5d348a3SVinod Koul 	[73] = PINGROUP(73, qup17, phase_flag, _, _, _, _, _, _, _),
1463d5d348a3SVinod Koul 	[74] = PINGROUP(74, qup17, phase_flag, _, _, _, _, _, _, _),
1464d5d348a3SVinod Koul 	[75] = PINGROUP(75, qup17, phase_flag, _, _, _, _, _, _, _),
1465d5d348a3SVinod Koul 	[76] = PINGROUP(76, qup19, phase_flag, _, _, _, _, _, _, _),
1466d5d348a3SVinod Koul 	[77] = PINGROUP(77, qup19, phase_flag, _, _, _, _, _, _, _),
1467d5d348a3SVinod Koul 	[78] = PINGROUP(78, qup19, phase_flag, _, vsense_trigger, _, _, _, _, _),
1468d5d348a3SVinod Koul 	[79] = PINGROUP(79, qup19, phase_flag, _, _, _, _, _, _, _),
1469d5d348a3SVinod Koul 	[80] = PINGROUP(80, usb2phy_ac, jitter_bist, atest_usb, _, _, _, _, _, _),
1470d5d348a3SVinod Koul 	[81] = PINGROUP(81, usb_phy, pll_bist, pll_clk, atest_usb, _, _, _, _, _),
1471d5d348a3SVinod Koul 	[82] = PINGROUP(82, mdp_vsync, _, _, _, _, _, _, _, _),
1472d5d348a3SVinod Koul 	[83] = PINGROUP(83, mdp_vsync, dp_lcd, _, _, _, _, _, _, _),
1473d5d348a3SVinod Koul 	[84] = PINGROUP(84, mdp_vsync, vfr_0, _, _, _, _, _, _, _),
1474d5d348a3SVinod Koul 	[85] = PINGROUP(85, atest_char, _, _, _, _, _, _, _, _),
1475d5d348a3SVinod Koul 	[86] = PINGROUP(86, mdp_vsync0, mdp_vsync1, atest_char, _, _, _, _, _, _),
1476d5d348a3SVinod Koul 	[87] = PINGROUP(87, dp_hot, mdp_vsync2, mdp_vsync3, qdss_cti, atest_char, _, _, _, _),
1477d5d348a3SVinod Koul 	[88] = PINGROUP(88, qdss_cti, tsense_pwm1, tsense_pwm2, _, _, _, _, _, _),
1478d5d348a3SVinod Koul 	[89] = PINGROUP(89, qdss_cti, _, _, _, _, _, _, _, _),
1479d5d348a3SVinod Koul 	[90] = PINGROUP(90, vfr_1, qdss_cti, _, _, _, _, _, _, _),
1480d5d348a3SVinod Koul 	[91] = PINGROUP(91, qdss_cti, _, _, _, _, _, _, _, _),
1481d5d348a3SVinod Koul 	[92] = PINGROUP(92, qdss_cti, _, _, _, _, _, _, _, _),
1482d5d348a3SVinod Koul 	[93] = PINGROUP(93, sd_write, _, _, _, _, _, _, _, _),
1483d5d348a3SVinod Koul 	[94] = PINGROUP(94, _, _, _, _, _, _, _, _, _),
1484d5d348a3SVinod Koul 	[95] = PINGROUP(95, pcie0_clkreqn, _, _, _, _, _, _, _, _),
1485d5d348a3SVinod Koul 	[96] = PINGROUP(96, _, _, _, _, _, _, _, _, _),
1486d5d348a3SVinod Koul 	[97] = PINGROUP(97, _, _, _, _, _, _, _, _, _),
1487d5d348a3SVinod Koul 	[98] = PINGROUP(98, pcie1_clkreqn, _, _, _, _, _, _, _, _),
1488d5d348a3SVinod Koul 	[99] = PINGROUP(99, tgu_ch0, _, _, _, _, _, _, _, _),
1489d5d348a3SVinod Koul 	[100] = PINGROUP(100, cam_mclk, tgu_ch1, qdss_gpio, _, _, _, _, _, _),
1490d5d348a3SVinod Koul 	[101] = PINGROUP(101, cam_mclk, tgu_ch2, qdss_gpio, _, _, _, _, _, _),
1491d5d348a3SVinod Koul 	[102] = PINGROUP(102, cam_mclk, tgu_ch3, qdss_gpio, _, _, _, _, _, _),
1492d5d348a3SVinod Koul 	[103] = PINGROUP(103, cam_mclk, phase_flag, _, qdss_gpio, _, _, _, _, _),
1493d5d348a3SVinod Koul 	[104] = PINGROUP(104, cam_mclk, phase_flag, _, qdss_gpio, _, _, _, _, _),
1494d5d348a3SVinod Koul 	[105] = PINGROUP(105, cam_mclk, phase_flag, _, qdss_gpio, _, _, _, _, _),
1495d5d348a3SVinod Koul 	[106] = PINGROUP(106, cci_async, phase_flag, _, qdss_gpio, _, _, _, _, _),
1496d5d348a3SVinod Koul 	[107] = PINGROUP(107, cci_i2c, phase_flag, _, qdss_gpio, _, _, _, _, _),
1497d5d348a3SVinod Koul 	[108] = PINGROUP(108, cci_i2c, phase_flag, _, qdss_gpio, _, _, _, _, _),
1498d5d348a3SVinod Koul 	[109] = PINGROUP(109, cci_i2c, phase_flag, _, qdss_gpio, _, _, _, _, _),
1499d5d348a3SVinod Koul 	[110] = PINGROUP(110, cci_i2c, phase_flag, _, qdss_gpio, _, _, _, _, _),
1500d5d348a3SVinod Koul 	[111] = PINGROUP(111, cci_i2c, phase_flag, _, qdss_gpio, _, _, _, _, _),
1501d5d348a3SVinod Koul 	[112] = PINGROUP(112, cci_i2c, phase_flag, _, qdss_gpio, _, _, _, _, _),
1502d5d348a3SVinod Koul 	[113] = PINGROUP(113, cci_i2c, phase_flag, _, qdss_gpio, _, _, _, _, _),
1503d5d348a3SVinod Koul 	[114] = PINGROUP(114, cci_i2c, phase_flag, _, qdss_gpio, _, _, _, _, _),
1504d5d348a3SVinod Koul 	[115] = PINGROUP(115, cci_timer, gcc_gp1, qdss_gpio, atest_char, _, _, _, _, _),
1505d5d348a3SVinod Koul 	[116] = PINGROUP(116, cci_timer, gcc_gp2, qdss_gpio, _, _, _, _, _, _),
1506d5d348a3SVinod Koul 	[117] = PINGROUP(117, cci_timer, gcc_gp3, qdss_gpio, atest_char, _, _, _, _, _),
1507d5d348a3SVinod Koul 	[118] = PINGROUP(118, cci_timer, cci_async, _, _, _, _, _, _, _),
1508d5d348a3SVinod Koul 	[119] = PINGROUP(119, cci_timer, cci_async, _, _, _, _, _, _, _),
1509d5d348a3SVinod Koul 	[120] = PINGROUP(120, mi2s2_sck, _, _, _, _, _, _, _, _),
1510d5d348a3SVinod Koul 	[121] = PINGROUP(121, mi2s2_data0, _, _, _, _, _, _, _, _),
1511d5d348a3SVinod Koul 	[122] = PINGROUP(122, mi2s2_ws, _, _, _, _, _, _, _, _),
1512d5d348a3SVinod Koul 	[123] = PINGROUP(123, pri_mi2s, _, _, _, _, _, _, _, _),
1513d5d348a3SVinod Koul 	[124] = PINGROUP(124, sec_mi2s, audio_ref, mi2s2_data1, _, _, _, _, _, _),
1514d5d348a3SVinod Koul 	[125] = PINGROUP(125, mi2s0_sck, _, _, _, _, _, _, _, _),
1515d5d348a3SVinod Koul 	[126] = PINGROUP(126, mi2s0_data0, _, _, _, _, _, _, _, _),
1516d5d348a3SVinod Koul 	[127] = PINGROUP(127, mi2s0_data1, _, _, _, _, _, _, _, _),
1517d5d348a3SVinod Koul 	[128] = PINGROUP(128, mi2s0_ws, _, _, _, _, _, _, _, _),
1518d5d348a3SVinod Koul 	[129] = PINGROUP(129, lpass_slimbus, mi2s1_sck, gcc_gp1, _, _, _, _, _, _),
1519d5d348a3SVinod Koul 	[130] = PINGROUP(130, lpass_slimbus, mi2s1_data0, gcc_gp2, _, _, _, _, _, _),
1520d5d348a3SVinod Koul 	[131] = PINGROUP(131, mi2s1_data1, gcc_gp3, _, _, _, _, _, _, _),
1521d5d348a3SVinod Koul 	[132] = PINGROUP(132, mi2s1_ws, _, _, _, _, _, _, _, _),
1522d5d348a3SVinod Koul 	[133] = PINGROUP(133, uim1_data, _, _, _, _, _, _, _, _),
1523d5d348a3SVinod Koul 	[134] = PINGROUP(134, uim1_clk, _, _, _, _, _, _, _, _),
1524d5d348a3SVinod Koul 	[135] = PINGROUP(135, uim1_reset, _, _, _, _, _, _, _, _),
1525d5d348a3SVinod Koul 	[136] = PINGROUP(136, uim1_present, tb_trig, _, _, _, _, _, _, _),
1526d5d348a3SVinod Koul 	[137] = PINGROUP(137, uim0_data, _, _, _, _, _, _, _, _),
1527d5d348a3SVinod Koul 	[138] = PINGROUP(138, uim0_clk, _, _, _, _, _, _, _, _),
1528d5d348a3SVinod Koul 	[139] = PINGROUP(139, uim0_reset, _, _, _, _, _, _, _, _),
1529d5d348a3SVinod Koul 	[140] = PINGROUP(140, uim0_present, _, _, _, _, _, _, _, _),
1530d5d348a3SVinod Koul 	[141] = PINGROUP(141, _, mss_grfc0, _, _, _, _, _, _, _),
1531d5d348a3SVinod Koul 	[142] = PINGROUP(142, _, mss_grfc1, _, _, _, _, _, _, _),
1532d5d348a3SVinod Koul 	[143] = PINGROUP(143, _, mss_grfc2, _, _, _, _, _, _, _),
1533d5d348a3SVinod Koul 	[144] = PINGROUP(144, _, mss_grfc3, _, _, _, _, _, _, _),
1534d5d348a3SVinod Koul 	[145] = PINGROUP(145, _, mss_grfc4, _, _, _, _, _, _, _),
1535d5d348a3SVinod Koul 	[146] = PINGROUP(146, _, mss_grfc5, _, _, _, _, _, _, _),
1536d5d348a3SVinod Koul 	[147] = PINGROUP(147, _, mss_grfc6, _, _, _, _, _, _, _),
1537d5d348a3SVinod Koul 	[148] = PINGROUP(148, _, mss_grfc7, _, _, _, _, _, _, _),
1538d5d348a3SVinod Koul 	[149] = PINGROUP(149, _, mss_grfc8, _, _, _, _, _, _, _),
1539d5d348a3SVinod Koul 	[150] = PINGROUP(150, _, mss_grfc9, _, _, _, _, _, _, _),
1540d5d348a3SVinod Koul 	[151] = PINGROUP(151, coex_uart1, atest_usb, _, _, _, _, _, _, _),
1541d5d348a3SVinod Koul 	[152] = PINGROUP(152, coex_uart1, atest_usb, _, _, _, _, _, _, _),
1542d5d348a3SVinod Koul 	[153] = PINGROUP(153, coex_uart2, mss_grfc10, atest_usb, _, _, _, _, _, _),
1543d5d348a3SVinod Koul 	[154] = PINGROUP(154, coex_uart2, mss_grfc11, atest_usb, _, _, _, _, _, _),
1544d5d348a3SVinod Koul 	[155] = PINGROUP(155, nav_gpio, _, _, _, _, _, _, _, _),
1545d5d348a3SVinod Koul 	[156] = PINGROUP(156, nav_gpio, _, _, _, _, _, _, _, _),
1546d5d348a3SVinod Koul 	[157] = PINGROUP(157, mss_grfc12, pa_indicator, nav_gpio, _, _, _, _, _, _),
1547d5d348a3SVinod Koul 	[158] = PINGROUP(158, mss_grfc0, atest_usb, _, _, _, _, _, _, _),
1548d5d348a3SVinod Koul 	[159] = PINGROUP(159, qlink0_request, atest_usb, _, _, _, _, _, _, _),
1549d5d348a3SVinod Koul 	[160] = PINGROUP(160, qlink0_enable, _, _, _, _, _, _, _, _),
1550d5d348a3SVinod Koul 	[161] = PINGROUP(161, qlink0_wmss, atest_usb, _, _, _, _, _, _, _),
1551d5d348a3SVinod Koul 	[162] = PINGROUP(162, qlink1_request, _, _, _, _, _, _, _, _),
1552d5d348a3SVinod Koul 	[163] = PINGROUP(163, qlink1_enable, _, _, _, _, _, _, _, _),
1553d5d348a3SVinod Koul 	[164] = PINGROUP(164, qlink1_wmss, _, _, _, _, _, _, _, _),
1554d5d348a3SVinod Koul 	[165] = PINGROUP(165, qlink2_request, _, _, _, _, _, _, _, _),
1555d5d348a3SVinod Koul 	[166] = PINGROUP(166, qlink2_enable, _, _, _, _, _, _, _, _),
1556d5d348a3SVinod Koul 	[167] = PINGROUP(167, qlink2_wmss, _, _, _, _, _, _, _, _),
1557d5d348a3SVinod Koul 	[168] = PINGROUP(168, _, _, _, _, _, _, _, _, _),
1558d5d348a3SVinod Koul 	[169] = PINGROUP(169, _, _, _, _, _, _, _, _, _),
1559d5d348a3SVinod Koul 	[170] = PINGROUP(170, _, _, _, _, _, _, _, _, _),
1560d5d348a3SVinod Koul 	[171] = PINGROUP(171, _, _, _, _, _, _, _, _, _),
1561d5d348a3SVinod Koul 	[172] = PINGROUP(172, _, _, _, _, _, _, _, _, _),
1562d5d348a3SVinod Koul 	[173] = PINGROUP(173, _, _, _, _, _, _, _, _, _),
1563d5d348a3SVinod Koul 	[174] = PINGROUP(174, cmu_rng, _, _, _, _, _, _, _, _),
1564d5d348a3SVinod Koul 	[175] = PINGROUP(175, cmu_rng, _, _, _, _, _, _, _, _),
1565d5d348a3SVinod Koul 	[176] = PINGROUP(176, cmu_rng, _, _, _, _, _, _, _, _),
1566d5d348a3SVinod Koul 	[177] = PINGROUP(177, cmu_rng, _, _, _, _, _, _, _, _),
1567d5d348a3SVinod Koul 	[178] = PINGROUP(178, _, _, _, _, _, _, _, _, _),
1568d5d348a3SVinod Koul 	[179] = PINGROUP(179, _, _, _, _, _, _, _, _, _),
1569d5d348a3SVinod Koul 	[180] = PINGROUP(180, _, _, _, _, _, _, _, _, _),
1570d5d348a3SVinod Koul 	[181] = PINGROUP(181, _, _, _, _, _, _, _, _, _),
1571d5d348a3SVinod Koul 	[182] = PINGROUP(182, _, _, _, _, _, _, _, _, _),
1572d5d348a3SVinod Koul 	[183] = PINGROUP(183, cri_trng0, qdss_gpio, _, _, _, _, _, _, _),
1573d5d348a3SVinod Koul 	[184] = PINGROUP(184, cri_trng1, qdss_gpio, _, _, _, _, _, _, _),
1574d5d348a3SVinod Koul 	[185] = PINGROUP(185, prng_rosc, qdss_gpio, _, _, _, _, _, _, _),
1575d5d348a3SVinod Koul 	[186] = PINGROUP(186, cri_trng, qdss_gpio, _, _, _, _, _, _, _),
1576d5d348a3SVinod Koul 	[187] = PINGROUP(187, qdss_gpio, _, _, _, _, _, _, _, _),
1577d5d348a3SVinod Koul 	[188] = PINGROUP(188, qdss_gpio, _, _, _, _, _, _, _, _),
1578d5d348a3SVinod Koul 	[189] = PINGROUP(189, qdss_gpio, _, _, _, _, _, _, _, _),
1579d5d348a3SVinod Koul 	[190] = PINGROUP(190, qdss_gpio, _, _, _, _, _, _, _, _),
1580d5d348a3SVinod Koul 	[191] = PINGROUP(191, qdss_gpio, _, _, _, _, _, _, _, _),
1581d5d348a3SVinod Koul 	[192] = PINGROUP(192, qdss_gpio, _, _, _, _, _, _, _, _),
1582d5d348a3SVinod Koul 	[193] = PINGROUP(193, qdss_gpio, _, _, _, _, _, _, _, _),
1583d5d348a3SVinod Koul 	[194] = PINGROUP(194, qdss_gpio, _, _, _, _, _, _, _, _),
1584d5d348a3SVinod Koul 	[195] = PINGROUP(195, qdss_gpio, _, _, _, _, _, _, _, _),
1585d5d348a3SVinod Koul 	[196] = PINGROUP(196, qdss_gpio, _, _, _, _, _, _, _, _),
1586d5d348a3SVinod Koul 	[197] = PINGROUP(197, qdss_gpio, _, _, _, _, _, _, _, _),
1587d5d348a3SVinod Koul 	[198] = PINGROUP(198, qdss_gpio, _, _, _, _, _, _, _, _),
1588d5d348a3SVinod Koul 	[199] = PINGROUP(199, qdss_gpio, _, _, _, _, _, _, _, _),
1589d5d348a3SVinod Koul 	[200] = PINGROUP(200, qdss_gpio, _, _, _, _, _, _, _, _),
1590d5d348a3SVinod Koul 	[201] = PINGROUP(201, _, _, _, _, _, _, _, _, _),
1591d5d348a3SVinod Koul 	[202] = PINGROUP(202, _, _, _, _, _, _, _, _, _),
159262209e80SBjorn Andersson 	[203] = UFS_RESET(ufs_reset, 0xd8000),
159362209e80SBjorn Andersson 	[204] = SDC_PINGROUP(sdc2_clk, 0xcf000, 14, 6),
159462209e80SBjorn Andersson 	[205] = SDC_PINGROUP(sdc2_cmd, 0xcf000, 11, 3),
159562209e80SBjorn Andersson 	[206] = SDC_PINGROUP(sdc2_data, 0xcf000, 9, 0),
1596d5d348a3SVinod Koul };
1597d5d348a3SVinod Koul 
1598552bad04SLina Iyer static const struct msm_gpio_wakeirq_map sm8350_pdc_map[] = {
1599552bad04SLina Iyer 	{ 2, 117 }, { 7, 82 }, { 11, 83 }, { 14, 80 }, { 15, 146 },
1600552bad04SLina Iyer 	{ 19, 121 }, { 23, 84 }, { 26, 86 }, { 27, 75 }, { 31, 85 },
1601552bad04SLina Iyer 	{ 32, 97 }, { 34, 98 }, { 35, 131 }, { 36, 79 }, { 38, 99 },
1602552bad04SLina Iyer 	{ 39, 92 }, { 40, 101 }, { 43, 137 }, { 44, 102 }, { 46, 96 },
1603552bad04SLina Iyer 	{ 47, 93 }, { 50, 108 }, { 51, 127 }, { 55, 128 }, { 56, 81 },
1604552bad04SLina Iyer 	{ 59, 112 }, { 60, 119 }, { 63, 73 }, { 67, 74 }, { 71, 134 },
1605552bad04SLina Iyer 	{ 75, 103 }, { 79, 104 }, { 80, 126 }, { 81, 139 }, { 82, 140 },
1606552bad04SLina Iyer 	{ 83, 141 }, { 84, 124 }, { 85, 109 }, { 86, 143 }, { 87, 138 },
1607552bad04SLina Iyer 	{ 88, 122 }, { 89, 113 }, { 90, 114 }, { 91, 115 }, { 92, 76 },
1608552bad04SLina Iyer 	{ 95, 147 }, { 96, 148 }, { 98, 149 }, { 99, 150 }, { 115, 125 },
1609552bad04SLina Iyer 	{ 116, 106 }, { 117, 105 }, { 118, 116 }, { 119, 123 }, { 130, 145 },
1610552bad04SLina Iyer 	{ 136, 72 }, { 140, 100 }, { 151, 110 }, { 153, 95 }, { 155, 107 },
1611552bad04SLina Iyer 	{ 156, 94 }, { 157, 111 }, { 159, 118 }, { 162, 77 }, { 165, 78 },
1612552bad04SLina Iyer 	{ 169, 70 }, { 172, 132 }, { 174, 87 }, { 175, 88 }, { 177, 89 },
1613552bad04SLina Iyer 	{ 179, 120 }, { 180, 129 }, { 183, 90 }, { 185, 136 }, { 187, 142 },
1614552bad04SLina Iyer 	{ 190, 144 }, { 198, 91 }, { 200, 133 }, { 202, 135 },
1615552bad04SLina Iyer };
1616552bad04SLina Iyer 
1617d5d348a3SVinod Koul static const struct msm_pinctrl_soc_data sm8350_tlmm = {
1618d5d348a3SVinod Koul 	.pins = sm8350_pins,
1619d5d348a3SVinod Koul 	.npins = ARRAY_SIZE(sm8350_pins),
1620d5d348a3SVinod Koul 	.functions = sm8350_functions,
1621d5d348a3SVinod Koul 	.nfunctions = ARRAY_SIZE(sm8350_functions),
1622d5d348a3SVinod Koul 	.groups = sm8350_groups,
1623d5d348a3SVinod Koul 	.ngroups = ARRAY_SIZE(sm8350_groups),
1624d5d348a3SVinod Koul 	.ngpios = 204,
1625552bad04SLina Iyer 	.wakeirq_map = sm8350_pdc_map,
1626552bad04SLina Iyer 	.nwakeirq_map = ARRAY_SIZE(sm8350_pdc_map),
1627d5d348a3SVinod Koul };
1628d5d348a3SVinod Koul 
sm8350_tlmm_probe(struct platform_device * pdev)1629d5d348a3SVinod Koul static int sm8350_tlmm_probe(struct platform_device *pdev)
1630d5d348a3SVinod Koul {
1631d5d348a3SVinod Koul 	return msm_pinctrl_probe(pdev, &sm8350_tlmm);
1632d5d348a3SVinod Koul }
1633d5d348a3SVinod Koul 
1634d5d348a3SVinod Koul static const struct of_device_id sm8350_tlmm_of_match[] = {
1635d5d348a3SVinod Koul 	{ .compatible = "qcom,sm8350-tlmm", },
1636d5d348a3SVinod Koul 	{ },
1637d5d348a3SVinod Koul };
1638d5d348a3SVinod Koul 
1639d5d348a3SVinod Koul static struct platform_driver sm8350_tlmm_driver = {
1640d5d348a3SVinod Koul 	.driver = {
1641d5d348a3SVinod Koul 		.name = "sm8350-tlmm",
1642d5d348a3SVinod Koul 		.of_match_table = sm8350_tlmm_of_match,
1643d5d348a3SVinod Koul 	},
1644d5d348a3SVinod Koul 	.probe = sm8350_tlmm_probe,
1645*22ee670aSUwe Kleine-König 	.remove_new = msm_pinctrl_remove,
1646d5d348a3SVinod Koul };
1647d5d348a3SVinod Koul 
sm8350_tlmm_init(void)1648d5d348a3SVinod Koul static int __init sm8350_tlmm_init(void)
1649d5d348a3SVinod Koul {
1650d5d348a3SVinod Koul 	return platform_driver_register(&sm8350_tlmm_driver);
1651d5d348a3SVinod Koul }
1652d5d348a3SVinod Koul arch_initcall(sm8350_tlmm_init);
1653d5d348a3SVinod Koul 
sm8350_tlmm_exit(void)1654d5d348a3SVinod Koul static void __exit sm8350_tlmm_exit(void)
1655d5d348a3SVinod Koul {
1656d5d348a3SVinod Koul 	platform_driver_unregister(&sm8350_tlmm_driver);
1657d5d348a3SVinod Koul }
1658d5d348a3SVinod Koul module_exit(sm8350_tlmm_exit);
1659d5d348a3SVinod Koul 
1660d5d348a3SVinod Koul MODULE_DESCRIPTION("QTI SM8350 TLMM driver");
1661d5d348a3SVinod Koul MODULE_LICENSE("GPL v2");
1662d5d348a3SVinod Koul MODULE_DEVICE_TABLE(of, sm8350_tlmm_of_match);
1663