1*11138a5cSDmitry Baryshkov // SPDX-License-Identifier: GPL-2.0-only
2*11138a5cSDmitry Baryshkov /*
3*11138a5cSDmitry Baryshkov * Copyright (c) 2020-2021, The Linux Foundation. All rights reserved.
4*11138a5cSDmitry Baryshkov * Copyright (c) 2021, Linaro Limited
5*11138a5cSDmitry Baryshkov */
6*11138a5cSDmitry Baryshkov
7*11138a5cSDmitry Baryshkov #include <linux/module.h>
8*11138a5cSDmitry Baryshkov #include <linux/of.h>
9*11138a5cSDmitry Baryshkov #include <linux/platform_device.h>
10*11138a5cSDmitry Baryshkov
11*11138a5cSDmitry Baryshkov #include "pinctrl-msm.h"
12*11138a5cSDmitry Baryshkov
13*11138a5cSDmitry Baryshkov #define REG_SIZE 0x1000
14*11138a5cSDmitry Baryshkov
15*11138a5cSDmitry Baryshkov #define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7, f8, f9) \
16*11138a5cSDmitry Baryshkov { \
17*11138a5cSDmitry Baryshkov .grp = PINCTRL_PINGROUP("gpio" #id, \
18*11138a5cSDmitry Baryshkov gpio##id##_pins, \
19*11138a5cSDmitry Baryshkov ARRAY_SIZE(gpio##id##_pins)), \
20*11138a5cSDmitry Baryshkov .funcs = (int[]){ \
21*11138a5cSDmitry Baryshkov msm_mux_gpio, /* gpio mode */ \
22*11138a5cSDmitry Baryshkov msm_mux_##f1, \
23*11138a5cSDmitry Baryshkov msm_mux_##f2, \
24*11138a5cSDmitry Baryshkov msm_mux_##f3, \
25*11138a5cSDmitry Baryshkov msm_mux_##f4, \
26*11138a5cSDmitry Baryshkov msm_mux_##f5, \
27*11138a5cSDmitry Baryshkov msm_mux_##f6, \
28*11138a5cSDmitry Baryshkov msm_mux_##f7, \
29*11138a5cSDmitry Baryshkov msm_mux_##f8, \
30*11138a5cSDmitry Baryshkov msm_mux_##f9 \
31*11138a5cSDmitry Baryshkov }, \
32*11138a5cSDmitry Baryshkov .nfuncs = 10, \
33*11138a5cSDmitry Baryshkov .ctl_reg = REG_SIZE * id, \
34*11138a5cSDmitry Baryshkov .io_reg = 0x4 + REG_SIZE * id, \
35*11138a5cSDmitry Baryshkov .intr_cfg_reg = 0x8 + REG_SIZE * id, \
36*11138a5cSDmitry Baryshkov .intr_status_reg = 0xc + REG_SIZE * id, \
37*11138a5cSDmitry Baryshkov .intr_target_reg = 0x8 + REG_SIZE * id, \
38*11138a5cSDmitry Baryshkov .mux_bit = 2, \
39*11138a5cSDmitry Baryshkov .pull_bit = 0, \
40*11138a5cSDmitry Baryshkov .drv_bit = 6, \
41*11138a5cSDmitry Baryshkov .egpio_enable = 12, \
42*11138a5cSDmitry Baryshkov .egpio_present = 11, \
43*11138a5cSDmitry Baryshkov .oe_bit = 9, \
44*11138a5cSDmitry Baryshkov .in_bit = 0, \
45*11138a5cSDmitry Baryshkov .out_bit = 1, \
46*11138a5cSDmitry Baryshkov .intr_enable_bit = 0, \
47*11138a5cSDmitry Baryshkov .intr_status_bit = 0, \
48*11138a5cSDmitry Baryshkov .intr_target_bit = 5, \
49*11138a5cSDmitry Baryshkov .intr_target_kpss_val = 4, \
50*11138a5cSDmitry Baryshkov .intr_raw_status_bit = 4, \
51*11138a5cSDmitry Baryshkov .intr_polarity_bit = 1, \
52*11138a5cSDmitry Baryshkov .intr_detection_bit = 2, \
53*11138a5cSDmitry Baryshkov .intr_detection_width = 2, \
54*11138a5cSDmitry Baryshkov }
55*11138a5cSDmitry Baryshkov
56*11138a5cSDmitry Baryshkov #define SDC_QDSD_PINGROUP(pg_name, ctl, pull, drv) \
57*11138a5cSDmitry Baryshkov { \
58*11138a5cSDmitry Baryshkov .grp = PINCTRL_PINGROUP(#pg_name, \
59*11138a5cSDmitry Baryshkov pg_name##_pins, \
60*11138a5cSDmitry Baryshkov ARRAY_SIZE(pg_name##_pins)), \
61*11138a5cSDmitry Baryshkov .ctl_reg = ctl, \
62*11138a5cSDmitry Baryshkov .io_reg = 0, \
63*11138a5cSDmitry Baryshkov .intr_cfg_reg = 0, \
64*11138a5cSDmitry Baryshkov .intr_status_reg = 0, \
65*11138a5cSDmitry Baryshkov .intr_target_reg = 0, \
66*11138a5cSDmitry Baryshkov .mux_bit = -1, \
67*11138a5cSDmitry Baryshkov .pull_bit = pull, \
68*11138a5cSDmitry Baryshkov .drv_bit = drv, \
69*11138a5cSDmitry Baryshkov .oe_bit = -1, \
70*11138a5cSDmitry Baryshkov .in_bit = -1, \
71*11138a5cSDmitry Baryshkov .out_bit = -1, \
72*11138a5cSDmitry Baryshkov .intr_enable_bit = -1, \
73*11138a5cSDmitry Baryshkov .intr_status_bit = -1, \
74*11138a5cSDmitry Baryshkov .intr_target_bit = -1, \
75*11138a5cSDmitry Baryshkov .intr_raw_status_bit = -1, \
76*11138a5cSDmitry Baryshkov .intr_polarity_bit = -1, \
77*11138a5cSDmitry Baryshkov .intr_detection_bit = -1, \
78*11138a5cSDmitry Baryshkov .intr_detection_width = -1, \
79*11138a5cSDmitry Baryshkov }
80*11138a5cSDmitry Baryshkov
81*11138a5cSDmitry Baryshkov static const struct pinctrl_pin_desc sar2130p_pins[] = {
82*11138a5cSDmitry Baryshkov PINCTRL_PIN(0, "GPIO_0"),
83*11138a5cSDmitry Baryshkov PINCTRL_PIN(1, "GPIO_1"),
84*11138a5cSDmitry Baryshkov PINCTRL_PIN(2, "GPIO_2"),
85*11138a5cSDmitry Baryshkov PINCTRL_PIN(3, "GPIO_3"),
86*11138a5cSDmitry Baryshkov PINCTRL_PIN(4, "GPIO_4"),
87*11138a5cSDmitry Baryshkov PINCTRL_PIN(5, "GPIO_5"),
88*11138a5cSDmitry Baryshkov PINCTRL_PIN(6, "GPIO_6"),
89*11138a5cSDmitry Baryshkov PINCTRL_PIN(7, "GPIO_7"),
90*11138a5cSDmitry Baryshkov PINCTRL_PIN(8, "GPIO_8"),
91*11138a5cSDmitry Baryshkov PINCTRL_PIN(9, "GPIO_9"),
92*11138a5cSDmitry Baryshkov PINCTRL_PIN(10, "GPIO_10"),
93*11138a5cSDmitry Baryshkov PINCTRL_PIN(11, "GPIO_11"),
94*11138a5cSDmitry Baryshkov PINCTRL_PIN(12, "GPIO_12"),
95*11138a5cSDmitry Baryshkov PINCTRL_PIN(13, "GPIO_13"),
96*11138a5cSDmitry Baryshkov PINCTRL_PIN(14, "GPIO_14"),
97*11138a5cSDmitry Baryshkov PINCTRL_PIN(15, "GPIO_15"),
98*11138a5cSDmitry Baryshkov PINCTRL_PIN(16, "GPIO_16"),
99*11138a5cSDmitry Baryshkov PINCTRL_PIN(17, "GPIO_17"),
100*11138a5cSDmitry Baryshkov PINCTRL_PIN(18, "GPIO_18"),
101*11138a5cSDmitry Baryshkov PINCTRL_PIN(19, "GPIO_19"),
102*11138a5cSDmitry Baryshkov PINCTRL_PIN(20, "GPIO_20"),
103*11138a5cSDmitry Baryshkov PINCTRL_PIN(21, "GPIO_21"),
104*11138a5cSDmitry Baryshkov PINCTRL_PIN(22, "GPIO_22"),
105*11138a5cSDmitry Baryshkov PINCTRL_PIN(23, "GPIO_23"),
106*11138a5cSDmitry Baryshkov PINCTRL_PIN(24, "GPIO_24"),
107*11138a5cSDmitry Baryshkov PINCTRL_PIN(25, "GPIO_25"),
108*11138a5cSDmitry Baryshkov PINCTRL_PIN(26, "GPIO_26"),
109*11138a5cSDmitry Baryshkov PINCTRL_PIN(27, "GPIO_27"),
110*11138a5cSDmitry Baryshkov PINCTRL_PIN(28, "GPIO_28"),
111*11138a5cSDmitry Baryshkov PINCTRL_PIN(29, "GPIO_29"),
112*11138a5cSDmitry Baryshkov PINCTRL_PIN(30, "GPIO_30"),
113*11138a5cSDmitry Baryshkov PINCTRL_PIN(31, "GPIO_31"),
114*11138a5cSDmitry Baryshkov PINCTRL_PIN(32, "GPIO_32"),
115*11138a5cSDmitry Baryshkov PINCTRL_PIN(33, "GPIO_33"),
116*11138a5cSDmitry Baryshkov PINCTRL_PIN(34, "GPIO_34"),
117*11138a5cSDmitry Baryshkov PINCTRL_PIN(35, "GPIO_35"),
118*11138a5cSDmitry Baryshkov PINCTRL_PIN(36, "GPIO_36"),
119*11138a5cSDmitry Baryshkov PINCTRL_PIN(37, "GPIO_37"),
120*11138a5cSDmitry Baryshkov PINCTRL_PIN(38, "GPIO_38"),
121*11138a5cSDmitry Baryshkov PINCTRL_PIN(39, "GPIO_39"),
122*11138a5cSDmitry Baryshkov PINCTRL_PIN(40, "GPIO_40"),
123*11138a5cSDmitry Baryshkov PINCTRL_PIN(41, "GPIO_41"),
124*11138a5cSDmitry Baryshkov PINCTRL_PIN(42, "GPIO_42"),
125*11138a5cSDmitry Baryshkov PINCTRL_PIN(43, "GPIO_43"),
126*11138a5cSDmitry Baryshkov PINCTRL_PIN(44, "GPIO_44"),
127*11138a5cSDmitry Baryshkov PINCTRL_PIN(45, "GPIO_45"),
128*11138a5cSDmitry Baryshkov PINCTRL_PIN(46, "GPIO_46"),
129*11138a5cSDmitry Baryshkov PINCTRL_PIN(47, "GPIO_47"),
130*11138a5cSDmitry Baryshkov PINCTRL_PIN(48, "GPIO_48"),
131*11138a5cSDmitry Baryshkov PINCTRL_PIN(49, "GPIO_49"),
132*11138a5cSDmitry Baryshkov PINCTRL_PIN(50, "GPIO_50"),
133*11138a5cSDmitry Baryshkov PINCTRL_PIN(51, "GPIO_51"),
134*11138a5cSDmitry Baryshkov PINCTRL_PIN(52, "GPIO_52"),
135*11138a5cSDmitry Baryshkov PINCTRL_PIN(53, "GPIO_53"),
136*11138a5cSDmitry Baryshkov PINCTRL_PIN(54, "GPIO_54"),
137*11138a5cSDmitry Baryshkov PINCTRL_PIN(55, "GPIO_55"),
138*11138a5cSDmitry Baryshkov PINCTRL_PIN(56, "GPIO_56"),
139*11138a5cSDmitry Baryshkov PINCTRL_PIN(57, "GPIO_57"),
140*11138a5cSDmitry Baryshkov PINCTRL_PIN(58, "GPIO_58"),
141*11138a5cSDmitry Baryshkov PINCTRL_PIN(59, "GPIO_59"),
142*11138a5cSDmitry Baryshkov PINCTRL_PIN(60, "GPIO_60"),
143*11138a5cSDmitry Baryshkov PINCTRL_PIN(61, "GPIO_61"),
144*11138a5cSDmitry Baryshkov PINCTRL_PIN(62, "GPIO_62"),
145*11138a5cSDmitry Baryshkov PINCTRL_PIN(63, "GPIO_63"),
146*11138a5cSDmitry Baryshkov PINCTRL_PIN(64, "GPIO_64"),
147*11138a5cSDmitry Baryshkov PINCTRL_PIN(65, "GPIO_65"),
148*11138a5cSDmitry Baryshkov PINCTRL_PIN(66, "GPIO_66"),
149*11138a5cSDmitry Baryshkov PINCTRL_PIN(67, "GPIO_67"),
150*11138a5cSDmitry Baryshkov PINCTRL_PIN(68, "GPIO_68"),
151*11138a5cSDmitry Baryshkov PINCTRL_PIN(69, "GPIO_69"),
152*11138a5cSDmitry Baryshkov PINCTRL_PIN(70, "GPIO_70"),
153*11138a5cSDmitry Baryshkov PINCTRL_PIN(71, "GPIO_71"),
154*11138a5cSDmitry Baryshkov PINCTRL_PIN(72, "GPIO_72"),
155*11138a5cSDmitry Baryshkov PINCTRL_PIN(73, "GPIO_73"),
156*11138a5cSDmitry Baryshkov PINCTRL_PIN(74, "GPIO_74"),
157*11138a5cSDmitry Baryshkov PINCTRL_PIN(75, "GPIO_75"),
158*11138a5cSDmitry Baryshkov PINCTRL_PIN(76, "GPIO_76"),
159*11138a5cSDmitry Baryshkov PINCTRL_PIN(77, "GPIO_77"),
160*11138a5cSDmitry Baryshkov PINCTRL_PIN(78, "GPIO_78"),
161*11138a5cSDmitry Baryshkov PINCTRL_PIN(79, "GPIO_79"),
162*11138a5cSDmitry Baryshkov PINCTRL_PIN(80, "GPIO_80"),
163*11138a5cSDmitry Baryshkov PINCTRL_PIN(81, "GPIO_81"),
164*11138a5cSDmitry Baryshkov PINCTRL_PIN(82, "GPIO_82"),
165*11138a5cSDmitry Baryshkov PINCTRL_PIN(83, "GPIO_83"),
166*11138a5cSDmitry Baryshkov PINCTRL_PIN(84, "GPIO_84"),
167*11138a5cSDmitry Baryshkov PINCTRL_PIN(85, "GPIO_85"),
168*11138a5cSDmitry Baryshkov PINCTRL_PIN(86, "GPIO_86"),
169*11138a5cSDmitry Baryshkov PINCTRL_PIN(87, "GPIO_87"),
170*11138a5cSDmitry Baryshkov PINCTRL_PIN(88, "GPIO_88"),
171*11138a5cSDmitry Baryshkov PINCTRL_PIN(89, "GPIO_89"),
172*11138a5cSDmitry Baryshkov PINCTRL_PIN(90, "GPIO_90"),
173*11138a5cSDmitry Baryshkov PINCTRL_PIN(91, "GPIO_91"),
174*11138a5cSDmitry Baryshkov PINCTRL_PIN(92, "GPIO_92"),
175*11138a5cSDmitry Baryshkov PINCTRL_PIN(93, "GPIO_93"),
176*11138a5cSDmitry Baryshkov PINCTRL_PIN(94, "GPIO_94"),
177*11138a5cSDmitry Baryshkov PINCTRL_PIN(95, "GPIO_95"),
178*11138a5cSDmitry Baryshkov PINCTRL_PIN(96, "GPIO_96"),
179*11138a5cSDmitry Baryshkov PINCTRL_PIN(97, "GPIO_97"),
180*11138a5cSDmitry Baryshkov PINCTRL_PIN(98, "GPIO_98"),
181*11138a5cSDmitry Baryshkov PINCTRL_PIN(99, "GPIO_99"),
182*11138a5cSDmitry Baryshkov PINCTRL_PIN(100, "GPIO_100"),
183*11138a5cSDmitry Baryshkov PINCTRL_PIN(101, "GPIO_101"),
184*11138a5cSDmitry Baryshkov PINCTRL_PIN(102, "GPIO_102"),
185*11138a5cSDmitry Baryshkov PINCTRL_PIN(103, "GPIO_103"),
186*11138a5cSDmitry Baryshkov PINCTRL_PIN(104, "GPIO_104"),
187*11138a5cSDmitry Baryshkov PINCTRL_PIN(105, "GPIO_105"),
188*11138a5cSDmitry Baryshkov PINCTRL_PIN(106, "GPIO_106"),
189*11138a5cSDmitry Baryshkov PINCTRL_PIN(107, "GPIO_107"),
190*11138a5cSDmitry Baryshkov PINCTRL_PIN(108, "GPIO_108"),
191*11138a5cSDmitry Baryshkov PINCTRL_PIN(109, "GPIO_109"),
192*11138a5cSDmitry Baryshkov PINCTRL_PIN(110, "GPIO_110"),
193*11138a5cSDmitry Baryshkov PINCTRL_PIN(111, "GPIO_111"),
194*11138a5cSDmitry Baryshkov PINCTRL_PIN(112, "GPIO_112"),
195*11138a5cSDmitry Baryshkov PINCTRL_PIN(113, "GPIO_113"),
196*11138a5cSDmitry Baryshkov PINCTRL_PIN(114, "GPIO_114"),
197*11138a5cSDmitry Baryshkov PINCTRL_PIN(115, "GPIO_115"),
198*11138a5cSDmitry Baryshkov PINCTRL_PIN(116, "GPIO_116"),
199*11138a5cSDmitry Baryshkov PINCTRL_PIN(117, "GPIO_117"),
200*11138a5cSDmitry Baryshkov PINCTRL_PIN(118, "GPIO_118"),
201*11138a5cSDmitry Baryshkov PINCTRL_PIN(119, "GPIO_119"),
202*11138a5cSDmitry Baryshkov PINCTRL_PIN(120, "GPIO_120"),
203*11138a5cSDmitry Baryshkov PINCTRL_PIN(121, "GPIO_121"),
204*11138a5cSDmitry Baryshkov PINCTRL_PIN(122, "GPIO_122"),
205*11138a5cSDmitry Baryshkov PINCTRL_PIN(123, "GPIO_123"),
206*11138a5cSDmitry Baryshkov PINCTRL_PIN(124, "GPIO_124"),
207*11138a5cSDmitry Baryshkov PINCTRL_PIN(125, "GPIO_125"),
208*11138a5cSDmitry Baryshkov PINCTRL_PIN(126, "GPIO_126"),
209*11138a5cSDmitry Baryshkov PINCTRL_PIN(127, "GPIO_127"),
210*11138a5cSDmitry Baryshkov PINCTRL_PIN(128, "GPIO_128"),
211*11138a5cSDmitry Baryshkov PINCTRL_PIN(129, "GPIO_129"),
212*11138a5cSDmitry Baryshkov PINCTRL_PIN(130, "GPIO_130"),
213*11138a5cSDmitry Baryshkov PINCTRL_PIN(131, "GPIO_131"),
214*11138a5cSDmitry Baryshkov PINCTRL_PIN(132, "GPIO_132"),
215*11138a5cSDmitry Baryshkov PINCTRL_PIN(133, "GPIO_133"),
216*11138a5cSDmitry Baryshkov PINCTRL_PIN(134, "GPIO_134"),
217*11138a5cSDmitry Baryshkov PINCTRL_PIN(135, "GPIO_135"),
218*11138a5cSDmitry Baryshkov PINCTRL_PIN(136, "GPIO_136"),
219*11138a5cSDmitry Baryshkov PINCTRL_PIN(137, "GPIO_137"),
220*11138a5cSDmitry Baryshkov PINCTRL_PIN(138, "GPIO_138"),
221*11138a5cSDmitry Baryshkov PINCTRL_PIN(139, "GPIO_139"),
222*11138a5cSDmitry Baryshkov PINCTRL_PIN(140, "GPIO_140"),
223*11138a5cSDmitry Baryshkov PINCTRL_PIN(141, "GPIO_141"),
224*11138a5cSDmitry Baryshkov PINCTRL_PIN(142, "GPIO_142"),
225*11138a5cSDmitry Baryshkov PINCTRL_PIN(143, "GPIO_143"),
226*11138a5cSDmitry Baryshkov PINCTRL_PIN(144, "GPIO_144"),
227*11138a5cSDmitry Baryshkov PINCTRL_PIN(145, "GPIO_145"),
228*11138a5cSDmitry Baryshkov PINCTRL_PIN(146, "GPIO_146"),
229*11138a5cSDmitry Baryshkov PINCTRL_PIN(147, "GPIO_147"),
230*11138a5cSDmitry Baryshkov PINCTRL_PIN(148, "GPIO_148"),
231*11138a5cSDmitry Baryshkov PINCTRL_PIN(149, "GPIO_149"),
232*11138a5cSDmitry Baryshkov PINCTRL_PIN(150, "GPIO_150"),
233*11138a5cSDmitry Baryshkov PINCTRL_PIN(151, "GPIO_151"),
234*11138a5cSDmitry Baryshkov PINCTRL_PIN(152, "GPIO_152"),
235*11138a5cSDmitry Baryshkov PINCTRL_PIN(153, "GPIO_153"),
236*11138a5cSDmitry Baryshkov PINCTRL_PIN(154, "GPIO_154"),
237*11138a5cSDmitry Baryshkov PINCTRL_PIN(155, "GPIO_155"),
238*11138a5cSDmitry Baryshkov PINCTRL_PIN(156, "SDC1_RCLK"),
239*11138a5cSDmitry Baryshkov PINCTRL_PIN(157, "SDC1_CLK"),
240*11138a5cSDmitry Baryshkov PINCTRL_PIN(158, "SDC1_CMD"),
241*11138a5cSDmitry Baryshkov PINCTRL_PIN(159, "SDC1_DATA"),
242*11138a5cSDmitry Baryshkov };
243*11138a5cSDmitry Baryshkov
244*11138a5cSDmitry Baryshkov #define DECLARE_MSM_GPIO_PINS(pin) \
245*11138a5cSDmitry Baryshkov static const unsigned int gpio##pin##_pins[] = { pin }
246*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(0);
247*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(1);
248*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(2);
249*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(3);
250*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(4);
251*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(5);
252*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(6);
253*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(7);
254*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(8);
255*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(9);
256*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(10);
257*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(11);
258*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(12);
259*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(13);
260*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(14);
261*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(15);
262*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(16);
263*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(17);
264*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(18);
265*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(19);
266*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(20);
267*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(21);
268*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(22);
269*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(23);
270*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(24);
271*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(25);
272*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(26);
273*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(27);
274*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(28);
275*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(29);
276*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(30);
277*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(31);
278*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(32);
279*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(33);
280*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(34);
281*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(35);
282*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(36);
283*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(37);
284*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(38);
285*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(39);
286*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(40);
287*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(41);
288*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(42);
289*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(43);
290*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(44);
291*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(45);
292*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(46);
293*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(47);
294*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(48);
295*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(49);
296*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(50);
297*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(51);
298*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(52);
299*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(53);
300*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(54);
301*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(55);
302*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(56);
303*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(57);
304*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(58);
305*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(59);
306*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(60);
307*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(61);
308*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(62);
309*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(63);
310*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(64);
311*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(65);
312*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(66);
313*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(67);
314*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(68);
315*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(69);
316*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(70);
317*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(71);
318*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(72);
319*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(73);
320*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(74);
321*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(75);
322*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(76);
323*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(77);
324*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(78);
325*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(79);
326*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(80);
327*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(81);
328*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(82);
329*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(83);
330*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(84);
331*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(85);
332*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(86);
333*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(87);
334*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(88);
335*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(89);
336*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(90);
337*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(91);
338*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(92);
339*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(93);
340*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(94);
341*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(95);
342*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(96);
343*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(97);
344*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(98);
345*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(99);
346*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(100);
347*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(101);
348*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(102);
349*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(103);
350*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(104);
351*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(105);
352*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(106);
353*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(107);
354*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(108);
355*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(109);
356*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(110);
357*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(111);
358*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(112);
359*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(113);
360*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(114);
361*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(115);
362*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(116);
363*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(117);
364*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(118);
365*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(119);
366*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(120);
367*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(121);
368*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(122);
369*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(123);
370*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(124);
371*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(125);
372*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(126);
373*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(127);
374*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(128);
375*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(129);
376*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(130);
377*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(131);
378*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(132);
379*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(133);
380*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(134);
381*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(135);
382*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(136);
383*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(137);
384*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(138);
385*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(139);
386*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(140);
387*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(141);
388*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(142);
389*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(143);
390*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(144);
391*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(145);
392*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(146);
393*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(147);
394*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(148);
395*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(149);
396*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(150);
397*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(151);
398*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(152);
399*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(153);
400*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(154);
401*11138a5cSDmitry Baryshkov DECLARE_MSM_GPIO_PINS(155);
402*11138a5cSDmitry Baryshkov
403*11138a5cSDmitry Baryshkov static const unsigned int sdc1_rclk_pins[] = { 156 };
404*11138a5cSDmitry Baryshkov static const unsigned int sdc1_clk_pins[] = { 157 };
405*11138a5cSDmitry Baryshkov static const unsigned int sdc1_cmd_pins[] = { 158 };
406*11138a5cSDmitry Baryshkov static const unsigned int sdc1_data_pins[] = { 159 };
407*11138a5cSDmitry Baryshkov
408*11138a5cSDmitry Baryshkov enum sar2130p_functions {
409*11138a5cSDmitry Baryshkov msm_mux_gpio,
410*11138a5cSDmitry Baryshkov msm_mux_aoss_cti,
411*11138a5cSDmitry Baryshkov msm_mux_atest_char,
412*11138a5cSDmitry Baryshkov msm_mux_atest_char0,
413*11138a5cSDmitry Baryshkov msm_mux_atest_char1,
414*11138a5cSDmitry Baryshkov msm_mux_atest_char2,
415*11138a5cSDmitry Baryshkov msm_mux_atest_char3,
416*11138a5cSDmitry Baryshkov msm_mux_atest_usb0,
417*11138a5cSDmitry Baryshkov msm_mux_atest_usb00,
418*11138a5cSDmitry Baryshkov msm_mux_atest_usb01,
419*11138a5cSDmitry Baryshkov msm_mux_atest_usb02,
420*11138a5cSDmitry Baryshkov msm_mux_atest_usb03,
421*11138a5cSDmitry Baryshkov msm_mux_audio_ref,
422*11138a5cSDmitry Baryshkov msm_mux_cam_mclk,
423*11138a5cSDmitry Baryshkov msm_mux_cci_async,
424*11138a5cSDmitry Baryshkov msm_mux_cci_i2c,
425*11138a5cSDmitry Baryshkov msm_mux_cci_timer0,
426*11138a5cSDmitry Baryshkov msm_mux_cci_timer1,
427*11138a5cSDmitry Baryshkov msm_mux_cci_timer2,
428*11138a5cSDmitry Baryshkov msm_mux_cci_timer3,
429*11138a5cSDmitry Baryshkov msm_mux_cci_timer4,
430*11138a5cSDmitry Baryshkov msm_mux_cri_trng,
431*11138a5cSDmitry Baryshkov msm_mux_cri_trng0,
432*11138a5cSDmitry Baryshkov msm_mux_cri_trng1,
433*11138a5cSDmitry Baryshkov msm_mux_dbg_out,
434*11138a5cSDmitry Baryshkov msm_mux_ddr_bist,
435*11138a5cSDmitry Baryshkov msm_mux_ddr_pxi0,
436*11138a5cSDmitry Baryshkov msm_mux_ddr_pxi1,
437*11138a5cSDmitry Baryshkov msm_mux_ddr_pxi2,
438*11138a5cSDmitry Baryshkov msm_mux_ddr_pxi3,
439*11138a5cSDmitry Baryshkov msm_mux_dp0_hot,
440*11138a5cSDmitry Baryshkov msm_mux_ext_mclk0,
441*11138a5cSDmitry Baryshkov msm_mux_ext_mclk1,
442*11138a5cSDmitry Baryshkov msm_mux_gcc_gp1,
443*11138a5cSDmitry Baryshkov msm_mux_gcc_gp2,
444*11138a5cSDmitry Baryshkov msm_mux_gcc_gp3,
445*11138a5cSDmitry Baryshkov msm_mux_host2wlan_sol,
446*11138a5cSDmitry Baryshkov msm_mux_i2s0_data0,
447*11138a5cSDmitry Baryshkov msm_mux_i2s0_data1,
448*11138a5cSDmitry Baryshkov msm_mux_i2s0_sck,
449*11138a5cSDmitry Baryshkov msm_mux_i2s0_ws,
450*11138a5cSDmitry Baryshkov msm_mux_ibi_i3c,
451*11138a5cSDmitry Baryshkov msm_mux_jitter_bist,
452*11138a5cSDmitry Baryshkov msm_mux_mdp_vsync,
453*11138a5cSDmitry Baryshkov msm_mux_mdp_vsync0,
454*11138a5cSDmitry Baryshkov msm_mux_mdp_vsync1,
455*11138a5cSDmitry Baryshkov msm_mux_mdp_vsync2,
456*11138a5cSDmitry Baryshkov msm_mux_mdp_vsync3,
457*11138a5cSDmitry Baryshkov msm_mux_pcie0_clkreqn,
458*11138a5cSDmitry Baryshkov msm_mux_pcie1_clkreqn,
459*11138a5cSDmitry Baryshkov msm_mux_phase_flag0,
460*11138a5cSDmitry Baryshkov msm_mux_phase_flag1,
461*11138a5cSDmitry Baryshkov msm_mux_phase_flag10,
462*11138a5cSDmitry Baryshkov msm_mux_phase_flag11,
463*11138a5cSDmitry Baryshkov msm_mux_phase_flag12,
464*11138a5cSDmitry Baryshkov msm_mux_phase_flag13,
465*11138a5cSDmitry Baryshkov msm_mux_phase_flag14,
466*11138a5cSDmitry Baryshkov msm_mux_phase_flag15,
467*11138a5cSDmitry Baryshkov msm_mux_phase_flag16,
468*11138a5cSDmitry Baryshkov msm_mux_phase_flag17,
469*11138a5cSDmitry Baryshkov msm_mux_phase_flag18,
470*11138a5cSDmitry Baryshkov msm_mux_phase_flag19,
471*11138a5cSDmitry Baryshkov msm_mux_phase_flag2,
472*11138a5cSDmitry Baryshkov msm_mux_phase_flag20,
473*11138a5cSDmitry Baryshkov msm_mux_phase_flag21,
474*11138a5cSDmitry Baryshkov msm_mux_phase_flag22,
475*11138a5cSDmitry Baryshkov msm_mux_phase_flag23,
476*11138a5cSDmitry Baryshkov msm_mux_phase_flag24,
477*11138a5cSDmitry Baryshkov msm_mux_phase_flag25,
478*11138a5cSDmitry Baryshkov msm_mux_phase_flag26,
479*11138a5cSDmitry Baryshkov msm_mux_phase_flag27,
480*11138a5cSDmitry Baryshkov msm_mux_phase_flag28,
481*11138a5cSDmitry Baryshkov msm_mux_phase_flag29,
482*11138a5cSDmitry Baryshkov msm_mux_phase_flag3,
483*11138a5cSDmitry Baryshkov msm_mux_phase_flag30,
484*11138a5cSDmitry Baryshkov msm_mux_phase_flag31,
485*11138a5cSDmitry Baryshkov msm_mux_phase_flag4,
486*11138a5cSDmitry Baryshkov msm_mux_phase_flag5,
487*11138a5cSDmitry Baryshkov msm_mux_phase_flag6,
488*11138a5cSDmitry Baryshkov msm_mux_phase_flag7,
489*11138a5cSDmitry Baryshkov msm_mux_phase_flag8,
490*11138a5cSDmitry Baryshkov msm_mux_phase_flag9,
491*11138a5cSDmitry Baryshkov msm_mux_pll_bist,
492*11138a5cSDmitry Baryshkov msm_mux_pll_clk,
493*11138a5cSDmitry Baryshkov msm_mux_prng_rosc0,
494*11138a5cSDmitry Baryshkov msm_mux_prng_rosc1,
495*11138a5cSDmitry Baryshkov msm_mux_prng_rosc2,
496*11138a5cSDmitry Baryshkov msm_mux_prng_rosc3,
497*11138a5cSDmitry Baryshkov msm_mux_qdss_cti,
498*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio,
499*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio0,
500*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio1,
501*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio10,
502*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio11,
503*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio12,
504*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio13,
505*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio14,
506*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio15,
507*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio2,
508*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio3,
509*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio4,
510*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio5,
511*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio6,
512*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio7,
513*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio8,
514*11138a5cSDmitry Baryshkov msm_mux_qdss_gpio9,
515*11138a5cSDmitry Baryshkov msm_mux_qspi0,
516*11138a5cSDmitry Baryshkov msm_mux_qspi1,
517*11138a5cSDmitry Baryshkov msm_mux_qspi2,
518*11138a5cSDmitry Baryshkov msm_mux_qspi3,
519*11138a5cSDmitry Baryshkov msm_mux_qspi_clk,
520*11138a5cSDmitry Baryshkov msm_mux_qspi_cs0,
521*11138a5cSDmitry Baryshkov msm_mux_qspi_cs1,
522*11138a5cSDmitry Baryshkov msm_mux_qup0,
523*11138a5cSDmitry Baryshkov msm_mux_qup1,
524*11138a5cSDmitry Baryshkov msm_mux_qup2,
525*11138a5cSDmitry Baryshkov msm_mux_qup3,
526*11138a5cSDmitry Baryshkov msm_mux_qup4,
527*11138a5cSDmitry Baryshkov msm_mux_qup5,
528*11138a5cSDmitry Baryshkov msm_mux_qup6,
529*11138a5cSDmitry Baryshkov msm_mux_qup7,
530*11138a5cSDmitry Baryshkov msm_mux_qup8,
531*11138a5cSDmitry Baryshkov msm_mux_qup9,
532*11138a5cSDmitry Baryshkov msm_mux_qup10,
533*11138a5cSDmitry Baryshkov msm_mux_qup11,
534*11138a5cSDmitry Baryshkov msm_mux_tb_trig,
535*11138a5cSDmitry Baryshkov msm_mux_tgu_ch0,
536*11138a5cSDmitry Baryshkov msm_mux_tgu_ch1,
537*11138a5cSDmitry Baryshkov msm_mux_tgu_ch2,
538*11138a5cSDmitry Baryshkov msm_mux_tgu_ch3,
539*11138a5cSDmitry Baryshkov msm_mux_tmess_prng0,
540*11138a5cSDmitry Baryshkov msm_mux_tmess_prng1,
541*11138a5cSDmitry Baryshkov msm_mux_tmess_prng2,
542*11138a5cSDmitry Baryshkov msm_mux_tmess_prng3,
543*11138a5cSDmitry Baryshkov msm_mux_tsense_pwm1,
544*11138a5cSDmitry Baryshkov msm_mux_tsense_pwm2,
545*11138a5cSDmitry Baryshkov msm_mux_usb0_phy,
546*11138a5cSDmitry Baryshkov msm_mux_vsense_trigger,
547*11138a5cSDmitry Baryshkov msm_mux__,
548*11138a5cSDmitry Baryshkov };
549*11138a5cSDmitry Baryshkov
550*11138a5cSDmitry Baryshkov static const char * const gpio_groups[] = {
551*11138a5cSDmitry Baryshkov "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
552*11138a5cSDmitry Baryshkov "gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
553*11138a5cSDmitry Baryshkov "gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
554*11138a5cSDmitry Baryshkov "gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
555*11138a5cSDmitry Baryshkov "gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
556*11138a5cSDmitry Baryshkov "gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
557*11138a5cSDmitry Baryshkov "gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
558*11138a5cSDmitry Baryshkov "gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
559*11138a5cSDmitry Baryshkov "gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
560*11138a5cSDmitry Baryshkov "gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
561*11138a5cSDmitry Baryshkov "gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
562*11138a5cSDmitry Baryshkov "gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84",
563*11138a5cSDmitry Baryshkov "gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91",
564*11138a5cSDmitry Baryshkov "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98",
565*11138a5cSDmitry Baryshkov "gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104",
566*11138a5cSDmitry Baryshkov "gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110",
567*11138a5cSDmitry Baryshkov "gpio111", "gpio112", "gpio113", "gpio114", "gpio115", "gpio116",
568*11138a5cSDmitry Baryshkov "gpio117", "gpio118", "gpio119", "gpio120", "gpio121", "gpio122",
569*11138a5cSDmitry Baryshkov "gpio123", "gpio124", "gpio125", "gpio126", "gpio127", "gpio128",
570*11138a5cSDmitry Baryshkov "gpio129", "gpio130", "gpio131", "gpio132", "gpio133", "gpio134",
571*11138a5cSDmitry Baryshkov "gpio135", "gpio136", "gpio137", "gpio138", "gpio139", "gpio140",
572*11138a5cSDmitry Baryshkov "gpio141", "gpio142", "gpio143", "gpio144", "gpio145", "gpio146",
573*11138a5cSDmitry Baryshkov "gpio147", "gpio148", "gpio149", "gpio150", "gpio151", "gpio152",
574*11138a5cSDmitry Baryshkov "gpio153", "gpio154", "gpio155",
575*11138a5cSDmitry Baryshkov };
576*11138a5cSDmitry Baryshkov
577*11138a5cSDmitry Baryshkov static const char * const aoss_cti_groups[] = {
578*11138a5cSDmitry Baryshkov "gpio20", "gpio21", "gpio22", "gpio23",
579*11138a5cSDmitry Baryshkov };
580*11138a5cSDmitry Baryshkov
581*11138a5cSDmitry Baryshkov static const char * const atest_char_groups[] = {
582*11138a5cSDmitry Baryshkov "gpio45",
583*11138a5cSDmitry Baryshkov };
584*11138a5cSDmitry Baryshkov
585*11138a5cSDmitry Baryshkov static const char * const atest_char0_groups[] = {
586*11138a5cSDmitry Baryshkov "gpio90",
587*11138a5cSDmitry Baryshkov };
588*11138a5cSDmitry Baryshkov
589*11138a5cSDmitry Baryshkov static const char * const atest_char1_groups[] = {
590*11138a5cSDmitry Baryshkov "gpio89",
591*11138a5cSDmitry Baryshkov };
592*11138a5cSDmitry Baryshkov
593*11138a5cSDmitry Baryshkov static const char * const atest_char2_groups[] = {
594*11138a5cSDmitry Baryshkov "gpio88",
595*11138a5cSDmitry Baryshkov };
596*11138a5cSDmitry Baryshkov
597*11138a5cSDmitry Baryshkov static const char * const atest_char3_groups[] = {
598*11138a5cSDmitry Baryshkov "gpio87",
599*11138a5cSDmitry Baryshkov };
600*11138a5cSDmitry Baryshkov
601*11138a5cSDmitry Baryshkov static const char * const atest_usb0_groups[] = {
602*11138a5cSDmitry Baryshkov "gpio26",
603*11138a5cSDmitry Baryshkov };
604*11138a5cSDmitry Baryshkov
605*11138a5cSDmitry Baryshkov static const char * const atest_usb00_groups[] = {
606*11138a5cSDmitry Baryshkov "gpio110",
607*11138a5cSDmitry Baryshkov };
608*11138a5cSDmitry Baryshkov
609*11138a5cSDmitry Baryshkov static const char * const atest_usb01_groups[] = {
610*11138a5cSDmitry Baryshkov "gpio109",
611*11138a5cSDmitry Baryshkov };
612*11138a5cSDmitry Baryshkov
613*11138a5cSDmitry Baryshkov static const char * const atest_usb02_groups[] = {
614*11138a5cSDmitry Baryshkov "gpio27",
615*11138a5cSDmitry Baryshkov };
616*11138a5cSDmitry Baryshkov
617*11138a5cSDmitry Baryshkov static const char * const atest_usb03_groups[] = {
618*11138a5cSDmitry Baryshkov "gpio60",
619*11138a5cSDmitry Baryshkov };
620*11138a5cSDmitry Baryshkov
621*11138a5cSDmitry Baryshkov static const char * const audio_ref_groups[] = {
622*11138a5cSDmitry Baryshkov "gpio103",
623*11138a5cSDmitry Baryshkov };
624*11138a5cSDmitry Baryshkov
625*11138a5cSDmitry Baryshkov static const char * const cam_mclk_groups[] = {
626*11138a5cSDmitry Baryshkov "gpio69", "gpio70", "gpio71", "gpio72", "gpio73", "gpio74", "gpio75",
627*11138a5cSDmitry Baryshkov "gpio76",
628*11138a5cSDmitry Baryshkov };
629*11138a5cSDmitry Baryshkov
630*11138a5cSDmitry Baryshkov static const char * const cci_async_groups[] = {
631*11138a5cSDmitry Baryshkov "gpio80", "gpio81", "gpio82",
632*11138a5cSDmitry Baryshkov };
633*11138a5cSDmitry Baryshkov
634*11138a5cSDmitry Baryshkov static const char * const cci_i2c_groups[] = {
635*11138a5cSDmitry Baryshkov "gpio67", "gpio68", "gpio78", "gpio79", "gpio80", "gpio81", "gpio83",
636*11138a5cSDmitry Baryshkov "gpio84", "gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90",
637*11138a5cSDmitry Baryshkov "gpio91", "gpio92",
638*11138a5cSDmitry Baryshkov };
639*11138a5cSDmitry Baryshkov
640*11138a5cSDmitry Baryshkov static const char * const cci_timer0_groups[] = {
641*11138a5cSDmitry Baryshkov "gpio77",
642*11138a5cSDmitry Baryshkov };
643*11138a5cSDmitry Baryshkov
644*11138a5cSDmitry Baryshkov static const char * const cci_timer1_groups[] = {
645*11138a5cSDmitry Baryshkov "gpio78",
646*11138a5cSDmitry Baryshkov };
647*11138a5cSDmitry Baryshkov
648*11138a5cSDmitry Baryshkov static const char * const cci_timer2_groups[] = {
649*11138a5cSDmitry Baryshkov "gpio79",
650*11138a5cSDmitry Baryshkov };
651*11138a5cSDmitry Baryshkov
652*11138a5cSDmitry Baryshkov static const char * const cci_timer3_groups[] = {
653*11138a5cSDmitry Baryshkov "gpio80",
654*11138a5cSDmitry Baryshkov };
655*11138a5cSDmitry Baryshkov
656*11138a5cSDmitry Baryshkov static const char * const cci_timer4_groups[] = {
657*11138a5cSDmitry Baryshkov "gpio81",
658*11138a5cSDmitry Baryshkov };
659*11138a5cSDmitry Baryshkov
660*11138a5cSDmitry Baryshkov static const char * const cri_trng_groups[] = {
661*11138a5cSDmitry Baryshkov "gpio60",
662*11138a5cSDmitry Baryshkov };
663*11138a5cSDmitry Baryshkov
664*11138a5cSDmitry Baryshkov static const char * const cri_trng0_groups[] = {
665*11138a5cSDmitry Baryshkov "gpio70",
666*11138a5cSDmitry Baryshkov };
667*11138a5cSDmitry Baryshkov
668*11138a5cSDmitry Baryshkov static const char * const cri_trng1_groups[] = {
669*11138a5cSDmitry Baryshkov "gpio71",
670*11138a5cSDmitry Baryshkov };
671*11138a5cSDmitry Baryshkov
672*11138a5cSDmitry Baryshkov static const char * const dbg_out_groups[] = {
673*11138a5cSDmitry Baryshkov "gpio59",
674*11138a5cSDmitry Baryshkov };
675*11138a5cSDmitry Baryshkov
676*11138a5cSDmitry Baryshkov static const char * const ddr_bist_groups[] = {
677*11138a5cSDmitry Baryshkov "gpio4", "gpio5", "gpio100", "gpio103",
678*11138a5cSDmitry Baryshkov };
679*11138a5cSDmitry Baryshkov
680*11138a5cSDmitry Baryshkov static const char * const ddr_pxi0_groups[] = {
681*11138a5cSDmitry Baryshkov "gpio56", "gpio57",
682*11138a5cSDmitry Baryshkov };
683*11138a5cSDmitry Baryshkov
684*11138a5cSDmitry Baryshkov static const char * const ddr_pxi1_groups[] = {
685*11138a5cSDmitry Baryshkov "gpio41", "gpio45",
686*11138a5cSDmitry Baryshkov };
687*11138a5cSDmitry Baryshkov
688*11138a5cSDmitry Baryshkov static const char * const ddr_pxi2_groups[] = {
689*11138a5cSDmitry Baryshkov "gpio48", "gpio55",
690*11138a5cSDmitry Baryshkov };
691*11138a5cSDmitry Baryshkov
692*11138a5cSDmitry Baryshkov static const char * const ddr_pxi3_groups[] = {
693*11138a5cSDmitry Baryshkov "gpio46", "gpio47",
694*11138a5cSDmitry Baryshkov };
695*11138a5cSDmitry Baryshkov
696*11138a5cSDmitry Baryshkov static const char * const dp0_hot_groups[] = {
697*11138a5cSDmitry Baryshkov "gpio35", "gpio103",
698*11138a5cSDmitry Baryshkov };
699*11138a5cSDmitry Baryshkov
700*11138a5cSDmitry Baryshkov static const char * const ext_mclk0_groups[] = {
701*11138a5cSDmitry Baryshkov "gpio104",
702*11138a5cSDmitry Baryshkov };
703*11138a5cSDmitry Baryshkov
704*11138a5cSDmitry Baryshkov static const char * const ext_mclk1_groups[] = {
705*11138a5cSDmitry Baryshkov "gpio103",
706*11138a5cSDmitry Baryshkov };
707*11138a5cSDmitry Baryshkov
708*11138a5cSDmitry Baryshkov static const char * const gcc_gp1_groups[] = {
709*11138a5cSDmitry Baryshkov "gpio129", "gpio132",
710*11138a5cSDmitry Baryshkov };
711*11138a5cSDmitry Baryshkov
712*11138a5cSDmitry Baryshkov static const char * const gcc_gp2_groups[] = {
713*11138a5cSDmitry Baryshkov "gpio130", "gpio135",
714*11138a5cSDmitry Baryshkov };
715*11138a5cSDmitry Baryshkov
716*11138a5cSDmitry Baryshkov static const char * const gcc_gp3_groups[] = {
717*11138a5cSDmitry Baryshkov "gpio131", "gpio136",
718*11138a5cSDmitry Baryshkov };
719*11138a5cSDmitry Baryshkov
720*11138a5cSDmitry Baryshkov static const char * const host2wlan_sol_groups[] = {
721*11138a5cSDmitry Baryshkov "gpio111",
722*11138a5cSDmitry Baryshkov };
723*11138a5cSDmitry Baryshkov
724*11138a5cSDmitry Baryshkov static const char * const i2s0_data0_groups[] = {
725*11138a5cSDmitry Baryshkov "gpio106",
726*11138a5cSDmitry Baryshkov };
727*11138a5cSDmitry Baryshkov
728*11138a5cSDmitry Baryshkov static const char * const i2s0_data1_groups[] = {
729*11138a5cSDmitry Baryshkov "gpio107",
730*11138a5cSDmitry Baryshkov };
731*11138a5cSDmitry Baryshkov
732*11138a5cSDmitry Baryshkov static const char * const i2s0_sck_groups[] = {
733*11138a5cSDmitry Baryshkov "gpio105",
734*11138a5cSDmitry Baryshkov };
735*11138a5cSDmitry Baryshkov
736*11138a5cSDmitry Baryshkov static const char * const i2s0_ws_groups[] = {
737*11138a5cSDmitry Baryshkov "gpio108",
738*11138a5cSDmitry Baryshkov };
739*11138a5cSDmitry Baryshkov
740*11138a5cSDmitry Baryshkov static const char * const ibi_i3c_groups[] = {
741*11138a5cSDmitry Baryshkov "gpio0", "gpio1", "gpio91", "gpio92",
742*11138a5cSDmitry Baryshkov };
743*11138a5cSDmitry Baryshkov
744*11138a5cSDmitry Baryshkov static const char * const jitter_bist_groups[] = {
745*11138a5cSDmitry Baryshkov "gpio0",
746*11138a5cSDmitry Baryshkov };
747*11138a5cSDmitry Baryshkov
748*11138a5cSDmitry Baryshkov static const char * const mdp_vsync_groups[] = {
749*11138a5cSDmitry Baryshkov "gpio12", "gpio13", "gpio41", "gpio49", "gpio50",
750*11138a5cSDmitry Baryshkov };
751*11138a5cSDmitry Baryshkov
752*11138a5cSDmitry Baryshkov static const char * const mdp_vsync0_groups[] = {
753*11138a5cSDmitry Baryshkov "gpio49",
754*11138a5cSDmitry Baryshkov };
755*11138a5cSDmitry Baryshkov
756*11138a5cSDmitry Baryshkov static const char * const mdp_vsync1_groups[] = {
757*11138a5cSDmitry Baryshkov "gpio49",
758*11138a5cSDmitry Baryshkov };
759*11138a5cSDmitry Baryshkov
760*11138a5cSDmitry Baryshkov static const char * const mdp_vsync2_groups[] = {
761*11138a5cSDmitry Baryshkov "gpio50",
762*11138a5cSDmitry Baryshkov };
763*11138a5cSDmitry Baryshkov
764*11138a5cSDmitry Baryshkov static const char * const mdp_vsync3_groups[] = {
765*11138a5cSDmitry Baryshkov "gpio50",
766*11138a5cSDmitry Baryshkov };
767*11138a5cSDmitry Baryshkov
768*11138a5cSDmitry Baryshkov static const char * const pcie0_clkreqn_groups[] = {
769*11138a5cSDmitry Baryshkov "gpio56",
770*11138a5cSDmitry Baryshkov };
771*11138a5cSDmitry Baryshkov
772*11138a5cSDmitry Baryshkov static const char * const pcie1_clkreqn_groups[] = {
773*11138a5cSDmitry Baryshkov "gpio59",
774*11138a5cSDmitry Baryshkov };
775*11138a5cSDmitry Baryshkov
776*11138a5cSDmitry Baryshkov static const char * const phase_flag0_groups[] = {
777*11138a5cSDmitry Baryshkov "gpio133",
778*11138a5cSDmitry Baryshkov };
779*11138a5cSDmitry Baryshkov
780*11138a5cSDmitry Baryshkov static const char * const phase_flag1_groups[] = {
781*11138a5cSDmitry Baryshkov "gpio128",
782*11138a5cSDmitry Baryshkov };
783*11138a5cSDmitry Baryshkov
784*11138a5cSDmitry Baryshkov static const char * const phase_flag10_groups[] = {
785*11138a5cSDmitry Baryshkov "gpio94",
786*11138a5cSDmitry Baryshkov };
787*11138a5cSDmitry Baryshkov
788*11138a5cSDmitry Baryshkov static const char * const phase_flag11_groups[] = {
789*11138a5cSDmitry Baryshkov "gpio93",
790*11138a5cSDmitry Baryshkov };
791*11138a5cSDmitry Baryshkov
792*11138a5cSDmitry Baryshkov static const char * const phase_flag12_groups[] = {
793*11138a5cSDmitry Baryshkov "gpio134",
794*11138a5cSDmitry Baryshkov };
795*11138a5cSDmitry Baryshkov
796*11138a5cSDmitry Baryshkov static const char * const phase_flag13_groups[] = {
797*11138a5cSDmitry Baryshkov "gpio139",
798*11138a5cSDmitry Baryshkov };
799*11138a5cSDmitry Baryshkov
800*11138a5cSDmitry Baryshkov static const char * const phase_flag14_groups[] = {
801*11138a5cSDmitry Baryshkov "gpio138",
802*11138a5cSDmitry Baryshkov };
803*11138a5cSDmitry Baryshkov
804*11138a5cSDmitry Baryshkov static const char * const phase_flag15_groups[] = {
805*11138a5cSDmitry Baryshkov "gpio137",
806*11138a5cSDmitry Baryshkov };
807*11138a5cSDmitry Baryshkov
808*11138a5cSDmitry Baryshkov static const char * const phase_flag16_groups[] = {
809*11138a5cSDmitry Baryshkov "gpio62",
810*11138a5cSDmitry Baryshkov };
811*11138a5cSDmitry Baryshkov
812*11138a5cSDmitry Baryshkov static const char * const phase_flag17_groups[] = {
813*11138a5cSDmitry Baryshkov "gpio61",
814*11138a5cSDmitry Baryshkov };
815*11138a5cSDmitry Baryshkov
816*11138a5cSDmitry Baryshkov static const char * const phase_flag18_groups[] = {
817*11138a5cSDmitry Baryshkov "gpio41",
818*11138a5cSDmitry Baryshkov };
819*11138a5cSDmitry Baryshkov
820*11138a5cSDmitry Baryshkov static const char * const phase_flag19_groups[] = {
821*11138a5cSDmitry Baryshkov "gpio23",
822*11138a5cSDmitry Baryshkov };
823*11138a5cSDmitry Baryshkov
824*11138a5cSDmitry Baryshkov static const char * const phase_flag2_groups[] = {
825*11138a5cSDmitry Baryshkov "gpio127",
826*11138a5cSDmitry Baryshkov };
827*11138a5cSDmitry Baryshkov
828*11138a5cSDmitry Baryshkov static const char * const phase_flag20_groups[] = {
829*11138a5cSDmitry Baryshkov "gpio22",
830*11138a5cSDmitry Baryshkov };
831*11138a5cSDmitry Baryshkov
832*11138a5cSDmitry Baryshkov static const char * const phase_flag21_groups[] = {
833*11138a5cSDmitry Baryshkov "gpio21",
834*11138a5cSDmitry Baryshkov };
835*11138a5cSDmitry Baryshkov
836*11138a5cSDmitry Baryshkov static const char * const phase_flag22_groups[] = {
837*11138a5cSDmitry Baryshkov "gpio19",
838*11138a5cSDmitry Baryshkov };
839*11138a5cSDmitry Baryshkov
840*11138a5cSDmitry Baryshkov static const char * const phase_flag23_groups[] = {
841*11138a5cSDmitry Baryshkov "gpio18",
842*11138a5cSDmitry Baryshkov };
843*11138a5cSDmitry Baryshkov
844*11138a5cSDmitry Baryshkov static const char * const phase_flag24_groups[] = {
845*11138a5cSDmitry Baryshkov "gpio17",
846*11138a5cSDmitry Baryshkov };
847*11138a5cSDmitry Baryshkov
848*11138a5cSDmitry Baryshkov static const char * const phase_flag25_groups[] = {
849*11138a5cSDmitry Baryshkov "gpio16",
850*11138a5cSDmitry Baryshkov };
851*11138a5cSDmitry Baryshkov
852*11138a5cSDmitry Baryshkov static const char * const phase_flag26_groups[] = {
853*11138a5cSDmitry Baryshkov "gpio13",
854*11138a5cSDmitry Baryshkov };
855*11138a5cSDmitry Baryshkov
856*11138a5cSDmitry Baryshkov static const char * const phase_flag27_groups[] = {
857*11138a5cSDmitry Baryshkov "gpio12",
858*11138a5cSDmitry Baryshkov };
859*11138a5cSDmitry Baryshkov
860*11138a5cSDmitry Baryshkov static const char * const phase_flag28_groups[] = {
861*11138a5cSDmitry Baryshkov "gpio3",
862*11138a5cSDmitry Baryshkov };
863*11138a5cSDmitry Baryshkov
864*11138a5cSDmitry Baryshkov static const char * const phase_flag29_groups[] = {
865*11138a5cSDmitry Baryshkov "gpio2",
866*11138a5cSDmitry Baryshkov };
867*11138a5cSDmitry Baryshkov
868*11138a5cSDmitry Baryshkov static const char * const phase_flag3_groups[] = {
869*11138a5cSDmitry Baryshkov "gpio126",
870*11138a5cSDmitry Baryshkov };
871*11138a5cSDmitry Baryshkov
872*11138a5cSDmitry Baryshkov static const char * const phase_flag30_groups[] = {
873*11138a5cSDmitry Baryshkov "gpio149",
874*11138a5cSDmitry Baryshkov };
875*11138a5cSDmitry Baryshkov
876*11138a5cSDmitry Baryshkov static const char * const phase_flag31_groups[] = {
877*11138a5cSDmitry Baryshkov "gpio148",
878*11138a5cSDmitry Baryshkov };
879*11138a5cSDmitry Baryshkov
880*11138a5cSDmitry Baryshkov static const char * const phase_flag4_groups[] = {
881*11138a5cSDmitry Baryshkov "gpio151",
882*11138a5cSDmitry Baryshkov };
883*11138a5cSDmitry Baryshkov
884*11138a5cSDmitry Baryshkov static const char * const phase_flag5_groups[] = {
885*11138a5cSDmitry Baryshkov "gpio150",
886*11138a5cSDmitry Baryshkov };
887*11138a5cSDmitry Baryshkov
888*11138a5cSDmitry Baryshkov static const char * const phase_flag6_groups[] = {
889*11138a5cSDmitry Baryshkov "gpio98",
890*11138a5cSDmitry Baryshkov };
891*11138a5cSDmitry Baryshkov
892*11138a5cSDmitry Baryshkov static const char * const phase_flag7_groups[] = {
893*11138a5cSDmitry Baryshkov "gpio97",
894*11138a5cSDmitry Baryshkov };
895*11138a5cSDmitry Baryshkov
896*11138a5cSDmitry Baryshkov static const char * const phase_flag8_groups[] = {
897*11138a5cSDmitry Baryshkov "gpio96",
898*11138a5cSDmitry Baryshkov };
899*11138a5cSDmitry Baryshkov
900*11138a5cSDmitry Baryshkov static const char * const phase_flag9_groups[] = {
901*11138a5cSDmitry Baryshkov "gpio95",
902*11138a5cSDmitry Baryshkov };
903*11138a5cSDmitry Baryshkov
904*11138a5cSDmitry Baryshkov static const char * const pll_bist_groups[] = {
905*11138a5cSDmitry Baryshkov "gpio8",
906*11138a5cSDmitry Baryshkov };
907*11138a5cSDmitry Baryshkov
908*11138a5cSDmitry Baryshkov static const char * const pll_clk_groups[] = {
909*11138a5cSDmitry Baryshkov "gpio54",
910*11138a5cSDmitry Baryshkov };
911*11138a5cSDmitry Baryshkov
912*11138a5cSDmitry Baryshkov static const char * const prng_rosc0_groups[] = {
913*11138a5cSDmitry Baryshkov "gpio72",
914*11138a5cSDmitry Baryshkov };
915*11138a5cSDmitry Baryshkov
916*11138a5cSDmitry Baryshkov static const char * const prng_rosc1_groups[] = {
917*11138a5cSDmitry Baryshkov "gpio73",
918*11138a5cSDmitry Baryshkov };
919*11138a5cSDmitry Baryshkov
920*11138a5cSDmitry Baryshkov static const char * const prng_rosc2_groups[] = {
921*11138a5cSDmitry Baryshkov "gpio74",
922*11138a5cSDmitry Baryshkov };
923*11138a5cSDmitry Baryshkov
924*11138a5cSDmitry Baryshkov static const char * const prng_rosc3_groups[] = {
925*11138a5cSDmitry Baryshkov "gpio75",
926*11138a5cSDmitry Baryshkov };
927*11138a5cSDmitry Baryshkov
928*11138a5cSDmitry Baryshkov static const char * const qdss_cti_groups[] = {
929*11138a5cSDmitry Baryshkov "gpio28", "gpio29", "gpio36", "gpio37", "gpio38", "gpio38", "gpio47",
930*11138a5cSDmitry Baryshkov "gpio48", "gpio53", "gpio53", "gpio105", "gpio106", "gpio154",
931*11138a5cSDmitry Baryshkov "gpio155",
932*11138a5cSDmitry Baryshkov };
933*11138a5cSDmitry Baryshkov
934*11138a5cSDmitry Baryshkov static const char * const qdss_gpio_groups[] = {
935*11138a5cSDmitry Baryshkov "gpio89", "gpio90", "gpio109", "gpio110",
936*11138a5cSDmitry Baryshkov };
937*11138a5cSDmitry Baryshkov
938*11138a5cSDmitry Baryshkov static const char * const qdss_gpio0_groups[] = {
939*11138a5cSDmitry Baryshkov "gpio24", "gpio65",
940*11138a5cSDmitry Baryshkov };
941*11138a5cSDmitry Baryshkov
942*11138a5cSDmitry Baryshkov static const char * const qdss_gpio1_groups[] = {
943*11138a5cSDmitry Baryshkov "gpio25", "gpio66",
944*11138a5cSDmitry Baryshkov };
945*11138a5cSDmitry Baryshkov
946*11138a5cSDmitry Baryshkov static const char * const qdss_gpio10_groups[] = {
947*11138a5cSDmitry Baryshkov "gpio63", "gpio83",
948*11138a5cSDmitry Baryshkov };
949*11138a5cSDmitry Baryshkov
950*11138a5cSDmitry Baryshkov static const char * const qdss_gpio11_groups[] = {
951*11138a5cSDmitry Baryshkov "gpio64", "gpio84",
952*11138a5cSDmitry Baryshkov };
953*11138a5cSDmitry Baryshkov
954*11138a5cSDmitry Baryshkov static const char * const qdss_gpio12_groups[] = {
955*11138a5cSDmitry Baryshkov "gpio39", "gpio85",
956*11138a5cSDmitry Baryshkov };
957*11138a5cSDmitry Baryshkov
958*11138a5cSDmitry Baryshkov static const char * const qdss_gpio13_groups[] = {
959*11138a5cSDmitry Baryshkov "gpio10", "gpio86",
960*11138a5cSDmitry Baryshkov };
961*11138a5cSDmitry Baryshkov
962*11138a5cSDmitry Baryshkov static const char * const qdss_gpio14_groups[] = {
963*11138a5cSDmitry Baryshkov "gpio45", "gpio87",
964*11138a5cSDmitry Baryshkov };
965*11138a5cSDmitry Baryshkov
966*11138a5cSDmitry Baryshkov static const char * const qdss_gpio15_groups[] = {
967*11138a5cSDmitry Baryshkov "gpio11", "gpio88",
968*11138a5cSDmitry Baryshkov };
969*11138a5cSDmitry Baryshkov
970*11138a5cSDmitry Baryshkov static const char * const qdss_gpio2_groups[] = {
971*11138a5cSDmitry Baryshkov "gpio26", "gpio67",
972*11138a5cSDmitry Baryshkov };
973*11138a5cSDmitry Baryshkov
974*11138a5cSDmitry Baryshkov static const char * const qdss_gpio3_groups[] = {
975*11138a5cSDmitry Baryshkov "gpio27", "gpio68",
976*11138a5cSDmitry Baryshkov };
977*11138a5cSDmitry Baryshkov
978*11138a5cSDmitry Baryshkov static const char * const qdss_gpio4_groups[] = {
979*11138a5cSDmitry Baryshkov "gpio30", "gpio77",
980*11138a5cSDmitry Baryshkov };
981*11138a5cSDmitry Baryshkov
982*11138a5cSDmitry Baryshkov static const char * const qdss_gpio5_groups[] = {
983*11138a5cSDmitry Baryshkov "gpio31", "gpio78",
984*11138a5cSDmitry Baryshkov };
985*11138a5cSDmitry Baryshkov
986*11138a5cSDmitry Baryshkov static const char * const qdss_gpio6_groups[] = {
987*11138a5cSDmitry Baryshkov "gpio4", "gpio79",
988*11138a5cSDmitry Baryshkov };
989*11138a5cSDmitry Baryshkov
990*11138a5cSDmitry Baryshkov static const char * const qdss_gpio7_groups[] = {
991*11138a5cSDmitry Baryshkov "gpio5", "gpio80",
992*11138a5cSDmitry Baryshkov };
993*11138a5cSDmitry Baryshkov
994*11138a5cSDmitry Baryshkov static const char * const qdss_gpio8_groups[] = {
995*11138a5cSDmitry Baryshkov "gpio6", "gpio81",
996*11138a5cSDmitry Baryshkov };
997*11138a5cSDmitry Baryshkov
998*11138a5cSDmitry Baryshkov static const char * const qdss_gpio9_groups[] = {
999*11138a5cSDmitry Baryshkov "gpio7", "gpio82",
1000*11138a5cSDmitry Baryshkov };
1001*11138a5cSDmitry Baryshkov
1002*11138a5cSDmitry Baryshkov static const char * const qspi0_groups[] = {
1003*11138a5cSDmitry Baryshkov "gpio32",
1004*11138a5cSDmitry Baryshkov };
1005*11138a5cSDmitry Baryshkov
1006*11138a5cSDmitry Baryshkov static const char * const qspi1_groups[] = {
1007*11138a5cSDmitry Baryshkov "gpio33",
1008*11138a5cSDmitry Baryshkov };
1009*11138a5cSDmitry Baryshkov
1010*11138a5cSDmitry Baryshkov static const char * const qspi2_groups[] = {
1011*11138a5cSDmitry Baryshkov "gpio36",
1012*11138a5cSDmitry Baryshkov };
1013*11138a5cSDmitry Baryshkov
1014*11138a5cSDmitry Baryshkov static const char * const qspi3_groups[] = {
1015*11138a5cSDmitry Baryshkov "gpio37",
1016*11138a5cSDmitry Baryshkov };
1017*11138a5cSDmitry Baryshkov
1018*11138a5cSDmitry Baryshkov static const char * const qspi_clk_groups[] = {
1019*11138a5cSDmitry Baryshkov "gpio34",
1020*11138a5cSDmitry Baryshkov };
1021*11138a5cSDmitry Baryshkov
1022*11138a5cSDmitry Baryshkov static const char * const qspi_cs0_groups[] = {
1023*11138a5cSDmitry Baryshkov "gpio35",
1024*11138a5cSDmitry Baryshkov };
1025*11138a5cSDmitry Baryshkov
1026*11138a5cSDmitry Baryshkov static const char * const qspi_cs1_groups[] = {
1027*11138a5cSDmitry Baryshkov "gpio38",
1028*11138a5cSDmitry Baryshkov };
1029*11138a5cSDmitry Baryshkov
1030*11138a5cSDmitry Baryshkov static const char * const qup0_groups[] = {
1031*11138a5cSDmitry Baryshkov "gpio0", "gpio1", "gpio2", "gpio3", "gpio93",
1032*11138a5cSDmitry Baryshkov };
1033*11138a5cSDmitry Baryshkov
1034*11138a5cSDmitry Baryshkov static const char * const qup1_groups[] = {
1035*11138a5cSDmitry Baryshkov "gpio2", "gpio3", "gpio61", "gpio62",
1036*11138a5cSDmitry Baryshkov };
1037*11138a5cSDmitry Baryshkov
1038*11138a5cSDmitry Baryshkov static const char * const qup2_groups[] = {
1039*11138a5cSDmitry Baryshkov "gpio12", "gpio13", "gpio22", "gpio23",
1040*11138a5cSDmitry Baryshkov };
1041*11138a5cSDmitry Baryshkov
1042*11138a5cSDmitry Baryshkov static const char * const qup3_groups[] = {
1043*11138a5cSDmitry Baryshkov "gpio16", "gpio17", "gpio18", "gpio19", "gpio41",
1044*11138a5cSDmitry Baryshkov };
1045*11138a5cSDmitry Baryshkov
1046*11138a5cSDmitry Baryshkov static const char * const qup4_groups[] = {
1047*11138a5cSDmitry Baryshkov "gpio20", "gpio21", "gpio22", "gpio23", "gpio94",
1048*11138a5cSDmitry Baryshkov };
1049*11138a5cSDmitry Baryshkov
1050*11138a5cSDmitry Baryshkov static const char * const qup5_groups[] = {
1051*11138a5cSDmitry Baryshkov "gpio95", "gpio96", "gpio97", "gpio98",
1052*11138a5cSDmitry Baryshkov };
1053*11138a5cSDmitry Baryshkov
1054*11138a5cSDmitry Baryshkov static const char * const qup6_groups[] = {
1055*11138a5cSDmitry Baryshkov "gpio63", "gpio64", "gpio91", "gpio92",
1056*11138a5cSDmitry Baryshkov };
1057*11138a5cSDmitry Baryshkov
1058*11138a5cSDmitry Baryshkov static const char * const qup7_groups[] = {
1059*11138a5cSDmitry Baryshkov "gpio24", "gpio25", "gpio26", "gpio27",
1060*11138a5cSDmitry Baryshkov };
1061*11138a5cSDmitry Baryshkov
1062*11138a5cSDmitry Baryshkov static const char * const qup8_groups[] = {
1063*11138a5cSDmitry Baryshkov "gpio8", "gpio9", "gpio10", "gpio11",
1064*11138a5cSDmitry Baryshkov };
1065*11138a5cSDmitry Baryshkov
1066*11138a5cSDmitry Baryshkov static const char * const qup9_groups[] = {
1067*11138a5cSDmitry Baryshkov "gpio34", "gpio35", "gpio109", "gpio110",
1068*11138a5cSDmitry Baryshkov };
1069*11138a5cSDmitry Baryshkov
1070*11138a5cSDmitry Baryshkov static const char * const qup10_groups[] = {
1071*11138a5cSDmitry Baryshkov "gpio4", "gpio5", "gpio6", "gpio7",
1072*11138a5cSDmitry Baryshkov };
1073*11138a5cSDmitry Baryshkov
1074*11138a5cSDmitry Baryshkov static const char * const qup11_groups[] = {
1075*11138a5cSDmitry Baryshkov "gpio14", "gpio15", "gpio28", "gpio30",
1076*11138a5cSDmitry Baryshkov };
1077*11138a5cSDmitry Baryshkov
1078*11138a5cSDmitry Baryshkov static const char * const tb_trig_groups[] = {
1079*11138a5cSDmitry Baryshkov "gpio69",
1080*11138a5cSDmitry Baryshkov };
1081*11138a5cSDmitry Baryshkov
1082*11138a5cSDmitry Baryshkov static const char * const tgu_ch0_groups[] = {
1083*11138a5cSDmitry Baryshkov "gpio20",
1084*11138a5cSDmitry Baryshkov };
1085*11138a5cSDmitry Baryshkov
1086*11138a5cSDmitry Baryshkov static const char * const tgu_ch1_groups[] = {
1087*11138a5cSDmitry Baryshkov "gpio21",
1088*11138a5cSDmitry Baryshkov };
1089*11138a5cSDmitry Baryshkov
1090*11138a5cSDmitry Baryshkov static const char * const tgu_ch2_groups[] = {
1091*11138a5cSDmitry Baryshkov "gpio22",
1092*11138a5cSDmitry Baryshkov };
1093*11138a5cSDmitry Baryshkov
1094*11138a5cSDmitry Baryshkov static const char * const tgu_ch3_groups[] = {
1095*11138a5cSDmitry Baryshkov "gpio23",
1096*11138a5cSDmitry Baryshkov };
1097*11138a5cSDmitry Baryshkov
1098*11138a5cSDmitry Baryshkov static const char * const tmess_prng0_groups[] = {
1099*11138a5cSDmitry Baryshkov "gpio80",
1100*11138a5cSDmitry Baryshkov };
1101*11138a5cSDmitry Baryshkov
1102*11138a5cSDmitry Baryshkov static const char * const tmess_prng1_groups[] = {
1103*11138a5cSDmitry Baryshkov "gpio79",
1104*11138a5cSDmitry Baryshkov };
1105*11138a5cSDmitry Baryshkov
1106*11138a5cSDmitry Baryshkov static const char * const tmess_prng2_groups[] = {
1107*11138a5cSDmitry Baryshkov "gpio83",
1108*11138a5cSDmitry Baryshkov };
1109*11138a5cSDmitry Baryshkov
1110*11138a5cSDmitry Baryshkov static const char * const tmess_prng3_groups[] = {
1111*11138a5cSDmitry Baryshkov "gpio81",
1112*11138a5cSDmitry Baryshkov };
1113*11138a5cSDmitry Baryshkov
1114*11138a5cSDmitry Baryshkov static const char * const tsense_pwm1_groups[] = {
1115*11138a5cSDmitry Baryshkov "gpio86",
1116*11138a5cSDmitry Baryshkov };
1117*11138a5cSDmitry Baryshkov
1118*11138a5cSDmitry Baryshkov static const char * const tsense_pwm2_groups[] = {
1119*11138a5cSDmitry Baryshkov "gpio86",
1120*11138a5cSDmitry Baryshkov };
1121*11138a5cSDmitry Baryshkov
1122*11138a5cSDmitry Baryshkov static const char * const usb0_phy_groups[] = {
1123*11138a5cSDmitry Baryshkov "gpio100",
1124*11138a5cSDmitry Baryshkov };
1125*11138a5cSDmitry Baryshkov
1126*11138a5cSDmitry Baryshkov static const char * const vsense_trigger_groups[] = {
1127*11138a5cSDmitry Baryshkov "gpio36",
1128*11138a5cSDmitry Baryshkov };
1129*11138a5cSDmitry Baryshkov
1130*11138a5cSDmitry Baryshkov static const struct pinfunction sar2130p_functions[] = {
1131*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(gpio),
1132*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup0),
1133*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(ibi_i3c),
1134*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(jitter_bist),
1135*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup1),
1136*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag29),
1137*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag28),
1138*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup10),
1139*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(ddr_bist),
1140*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio6),
1141*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio7),
1142*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio8),
1143*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio9),
1144*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup8),
1145*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(pll_bist),
1146*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio13),
1147*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio15),
1148*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup2),
1149*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(mdp_vsync),
1150*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag27),
1151*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag26),
1152*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup11),
1153*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup3),
1154*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag25),
1155*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag24),
1156*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag23),
1157*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag22),
1158*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup4),
1159*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(aoss_cti),
1160*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tgu_ch0),
1161*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag21),
1162*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tgu_ch1),
1163*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag20),
1164*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tgu_ch2),
1165*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag19),
1166*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tgu_ch3),
1167*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup7),
1168*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio0),
1169*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio1),
1170*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio2),
1171*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_usb0),
1172*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio3),
1173*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_usb02),
1174*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_cti),
1175*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio4),
1176*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio5),
1177*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qspi0),
1178*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qspi1),
1179*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qspi_clk),
1180*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup9),
1181*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qspi_cs0),
1182*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(dp0_hot),
1183*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qspi2),
1184*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(vsense_trigger),
1185*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qspi3),
1186*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qspi_cs1),
1187*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio12),
1188*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag18),
1189*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(ddr_pxi1),
1190*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio14),
1191*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_char),
1192*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(ddr_pxi3),
1193*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(ddr_pxi2),
1194*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(mdp_vsync0),
1195*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(mdp_vsync1),
1196*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(mdp_vsync2),
1197*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(mdp_vsync3),
1198*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(pll_clk),
1199*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(pcie0_clkreqn),
1200*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(ddr_pxi0),
1201*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(pcie1_clkreqn),
1202*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(dbg_out),
1203*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cri_trng),
1204*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_usb03),
1205*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag17),
1206*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag16),
1207*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup6),
1208*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio10),
1209*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio11),
1210*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cci_i2c),
1211*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cam_mclk),
1212*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tb_trig),
1213*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cri_trng0),
1214*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cri_trng1),
1215*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(prng_rosc0),
1216*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(prng_rosc1),
1217*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(prng_rosc2),
1218*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(prng_rosc3),
1219*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cci_timer0),
1220*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cci_timer1),
1221*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cci_timer2),
1222*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tmess_prng1),
1223*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cci_timer3),
1224*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cci_async),
1225*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tmess_prng0),
1226*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(cci_timer4),
1227*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tmess_prng3),
1228*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tmess_prng2),
1229*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tsense_pwm1),
1230*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(tsense_pwm2),
1231*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_char3),
1232*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_char2),
1233*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qdss_gpio),
1234*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_char1),
1235*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_char0),
1236*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag11),
1237*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag10),
1238*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(qup5),
1239*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag9),
1240*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag8),
1241*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag7),
1242*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag6),
1243*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(usb0_phy),
1244*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(ext_mclk1),
1245*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(audio_ref),
1246*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(ext_mclk0),
1247*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(i2s0_sck),
1248*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(i2s0_data0),
1249*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(i2s0_data1),
1250*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(i2s0_ws),
1251*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_usb01),
1252*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(atest_usb00),
1253*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(host2wlan_sol),
1254*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag3),
1255*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag2),
1256*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag1),
1257*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(gcc_gp1),
1258*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(gcc_gp2),
1259*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(gcc_gp3),
1260*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag0),
1261*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag12),
1262*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag15),
1263*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag14),
1264*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag13),
1265*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag31),
1266*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag30),
1267*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag5),
1268*11138a5cSDmitry Baryshkov MSM_PIN_FUNCTION(phase_flag4),
1269*11138a5cSDmitry Baryshkov };
1270*11138a5cSDmitry Baryshkov
1271*11138a5cSDmitry Baryshkov /* Every pin is maintained as a single group, and missing or non-existing pin
1272*11138a5cSDmitry Baryshkov * would be maintained as dummy group to synchronize pin group index with
1273*11138a5cSDmitry Baryshkov * pin descriptor registered with pinctrl core.
1274*11138a5cSDmitry Baryshkov * Clients would not be able to request these dummy pin groups.
1275*11138a5cSDmitry Baryshkov */
1276*11138a5cSDmitry Baryshkov static const struct msm_pingroup sar2130p_groups[] = {
1277*11138a5cSDmitry Baryshkov [0] = PINGROUP(0, qup0, ibi_i3c, jitter_bist, _, _, _, _, _, _),
1278*11138a5cSDmitry Baryshkov [1] = PINGROUP(1, qup0, ibi_i3c, _, _, _, _, _, _, _),
1279*11138a5cSDmitry Baryshkov [2] = PINGROUP(2, qup0, qup1, phase_flag29, _, _, _, _, _, _),
1280*11138a5cSDmitry Baryshkov [3] = PINGROUP(3, qup0, qup1, phase_flag28, _, _, _, _, _, _),
1281*11138a5cSDmitry Baryshkov [4] = PINGROUP(4, qup10, ddr_bist, qdss_gpio6, _, _, _, _, _, _),
1282*11138a5cSDmitry Baryshkov [5] = PINGROUP(5, qup10, ddr_bist, qdss_gpio7, _, _, _, _, _, _),
1283*11138a5cSDmitry Baryshkov [6] = PINGROUP(6, qup10, qdss_gpio8, _, _, _, _, _, _, _),
1284*11138a5cSDmitry Baryshkov [7] = PINGROUP(7, qup10, qdss_gpio9, _, _, _, _, _, _, _),
1285*11138a5cSDmitry Baryshkov [8] = PINGROUP(8, qup8, pll_bist, _, _, _, _, _, _, _),
1286*11138a5cSDmitry Baryshkov [9] = PINGROUP(9, qup8, _, _, _, _, _, _, _, _),
1287*11138a5cSDmitry Baryshkov [10] = PINGROUP(10, qup8, qdss_gpio13, _, _, _, _, _, _, _),
1288*11138a5cSDmitry Baryshkov [11] = PINGROUP(11, qup8, qdss_gpio15, _, _, _, _, _, _, _),
1289*11138a5cSDmitry Baryshkov [12] = PINGROUP(12, qup2, mdp_vsync, phase_flag27, _, _, _, _, _, _),
1290*11138a5cSDmitry Baryshkov [13] = PINGROUP(13, qup2, mdp_vsync, phase_flag26, _, _, _, _, _, _),
1291*11138a5cSDmitry Baryshkov [14] = PINGROUP(14, qup11, _, _, _, _, _, _, _, _),
1292*11138a5cSDmitry Baryshkov [15] = PINGROUP(15, qup11, _, _, _, _, _, _, _, _),
1293*11138a5cSDmitry Baryshkov [16] = PINGROUP(16, qup3, phase_flag25, _, _, _, _, _, _, _),
1294*11138a5cSDmitry Baryshkov [17] = PINGROUP(17, qup3, phase_flag24, _, _, _, _, _, _, _),
1295*11138a5cSDmitry Baryshkov [18] = PINGROUP(18, qup3, phase_flag23, _, _, _, _, _, _, _),
1296*11138a5cSDmitry Baryshkov [19] = PINGROUP(19, qup3, phase_flag22, _, _, _, _, _, _, _),
1297*11138a5cSDmitry Baryshkov [20] = PINGROUP(20, qup4, aoss_cti, tgu_ch0, _, _, _, _, _, _),
1298*11138a5cSDmitry Baryshkov [21] = PINGROUP(21, qup4, aoss_cti, phase_flag21, tgu_ch1, _, _, _, _, _),
1299*11138a5cSDmitry Baryshkov [22] = PINGROUP(22, qup4, qup2, aoss_cti, phase_flag20, tgu_ch2, _, _, _, _),
1300*11138a5cSDmitry Baryshkov [23] = PINGROUP(23, qup4, qup2, aoss_cti, phase_flag19, tgu_ch3, _, _, _, _),
1301*11138a5cSDmitry Baryshkov [24] = PINGROUP(24, qup7, qdss_gpio0, _, _, _, _, _, _, _),
1302*11138a5cSDmitry Baryshkov [25] = PINGROUP(25, qup7, qdss_gpio1, _, _, _, _, _, _, _),
1303*11138a5cSDmitry Baryshkov [26] = PINGROUP(26, qup7, qdss_gpio2, atest_usb0, _, _, _, _, _, _),
1304*11138a5cSDmitry Baryshkov [27] = PINGROUP(27, qup7, qdss_gpio3, atest_usb02, _, _, _, _, _, _),
1305*11138a5cSDmitry Baryshkov [28] = PINGROUP(28, qup11, qdss_cti, _, _, _, _, _, _, _),
1306*11138a5cSDmitry Baryshkov [29] = PINGROUP(29, qdss_cti, _, _, _, _, _, _, _, _),
1307*11138a5cSDmitry Baryshkov [30] = PINGROUP(30, qup11, qdss_gpio4, _, _, _, _, _, _, _),
1308*11138a5cSDmitry Baryshkov [31] = PINGROUP(31, qdss_gpio5, _, _, _, _, _, _, _, _),
1309*11138a5cSDmitry Baryshkov [32] = PINGROUP(32, qspi0, _, _, _, _, _, _, _, _),
1310*11138a5cSDmitry Baryshkov [33] = PINGROUP(33, qspi1, _, _, _, _, _, _, _, _),
1311*11138a5cSDmitry Baryshkov [34] = PINGROUP(34, qspi_clk, qup9, _, _, _, _, _, _, _),
1312*11138a5cSDmitry Baryshkov [35] = PINGROUP(35, qspi_cs0, qup9, dp0_hot, _, _, _, _, _, _),
1313*11138a5cSDmitry Baryshkov [36] = PINGROUP(36, qspi2, qdss_cti, vsense_trigger, _, _, _, _, _, _),
1314*11138a5cSDmitry Baryshkov [37] = PINGROUP(37, qspi3, qdss_cti, _, _, _, _, _, _, _),
1315*11138a5cSDmitry Baryshkov [38] = PINGROUP(38, qspi_cs1, qdss_cti, qdss_cti, _, _, _, _, _, _),
1316*11138a5cSDmitry Baryshkov [39] = PINGROUP(39, qdss_gpio12, _, _, _, _, _, _, _, _),
1317*11138a5cSDmitry Baryshkov [40] = PINGROUP(40, _, _, _, _, _, _, _, _, _),
1318*11138a5cSDmitry Baryshkov [41] = PINGROUP(41, qup3, mdp_vsync, phase_flag18, _, ddr_pxi1, _, _, _, _),
1319*11138a5cSDmitry Baryshkov [42] = PINGROUP(42, _, _, _, _, _, _, _, _, _),
1320*11138a5cSDmitry Baryshkov [43] = PINGROUP(43, _, _, _, _, _, _, _, _, _),
1321*11138a5cSDmitry Baryshkov [44] = PINGROUP(44, _, _, _, _, _, _, _, _, _),
1322*11138a5cSDmitry Baryshkov [45] = PINGROUP(45, qdss_gpio14, ddr_pxi1, atest_char, _, _, _, _, _, _),
1323*11138a5cSDmitry Baryshkov [46] = PINGROUP(46, ddr_pxi3, _, _, _, _, _, _, _, _),
1324*11138a5cSDmitry Baryshkov [47] = PINGROUP(47, qdss_cti, ddr_pxi3, _, _, _, _, _, _, _),
1325*11138a5cSDmitry Baryshkov [48] = PINGROUP(48, qdss_cti, ddr_pxi2, _, _, _, _, _, _, _),
1326*11138a5cSDmitry Baryshkov [49] = PINGROUP(49, mdp_vsync, mdp_vsync0, mdp_vsync1, _, _, _, _, _, _),
1327*11138a5cSDmitry Baryshkov [50] = PINGROUP(50, mdp_vsync, mdp_vsync2, mdp_vsync3, _, _, _, _, _, _),
1328*11138a5cSDmitry Baryshkov [51] = PINGROUP(51, _, _, _, _, _, _, _, _, _),
1329*11138a5cSDmitry Baryshkov [52] = PINGROUP(52, _, _, _, _, _, _, _, _, _),
1330*11138a5cSDmitry Baryshkov [53] = PINGROUP(53, qdss_cti, qdss_cti, _, _, _, _, _, _, _),
1331*11138a5cSDmitry Baryshkov [54] = PINGROUP(54, pll_clk, _, _, _, _, _, _, _, _),
1332*11138a5cSDmitry Baryshkov [55] = PINGROUP(55, _, ddr_pxi2, _, _, _, _, _, _, _),
1333*11138a5cSDmitry Baryshkov [56] = PINGROUP(56, pcie0_clkreqn, _, ddr_pxi0, _, _, _, _, _, _),
1334*11138a5cSDmitry Baryshkov [57] = PINGROUP(57, ddr_pxi0, _, _, _, _, _, _, _, _),
1335*11138a5cSDmitry Baryshkov [58] = PINGROUP(58, _, _, _, _, _, _, _, _, _),
1336*11138a5cSDmitry Baryshkov [59] = PINGROUP(59, pcie1_clkreqn, dbg_out, _, _, _, _, _, _, _),
1337*11138a5cSDmitry Baryshkov [60] = PINGROUP(60, cri_trng, atest_usb03, _, _, _, _, _, _, _),
1338*11138a5cSDmitry Baryshkov [61] = PINGROUP(61, qup1, phase_flag17, _, _, _, _, _, _, _),
1339*11138a5cSDmitry Baryshkov [62] = PINGROUP(62, qup1, phase_flag16, _, _, _, _, _, _, _),
1340*11138a5cSDmitry Baryshkov [63] = PINGROUP(63, qup6, qdss_gpio10, _, _, _, _, _, _, _),
1341*11138a5cSDmitry Baryshkov [64] = PINGROUP(64, qup6, qdss_gpio11, _, _, _, _, _, _, _),
1342*11138a5cSDmitry Baryshkov [65] = PINGROUP(65, qdss_gpio0, _, _, _, _, _, _, _, _),
1343*11138a5cSDmitry Baryshkov [66] = PINGROUP(66, qdss_gpio1, _, _, _, _, _, _, _, _),
1344*11138a5cSDmitry Baryshkov [67] = PINGROUP(67, cci_i2c, qdss_gpio2, _, _, _, _, _, _, _),
1345*11138a5cSDmitry Baryshkov [68] = PINGROUP(68, cci_i2c, qdss_gpio3, _, _, _, _, _, _, _),
1346*11138a5cSDmitry Baryshkov [69] = PINGROUP(69, cam_mclk, tb_trig, _, _, _, _, _, _, _),
1347*11138a5cSDmitry Baryshkov [70] = PINGROUP(70, cam_mclk, cri_trng0, _, _, _, _, _, _, _),
1348*11138a5cSDmitry Baryshkov [71] = PINGROUP(71, cam_mclk, cri_trng1, _, _, _, _, _, _, _),
1349*11138a5cSDmitry Baryshkov [72] = PINGROUP(72, cam_mclk, prng_rosc0, _, _, _, _, _, _, _),
1350*11138a5cSDmitry Baryshkov [73] = PINGROUP(73, cam_mclk, prng_rosc1, _, _, _, _, _, _, _),
1351*11138a5cSDmitry Baryshkov [74] = PINGROUP(74, cam_mclk, prng_rosc2, _, _, _, _, _, _, _),
1352*11138a5cSDmitry Baryshkov [75] = PINGROUP(75, cam_mclk, prng_rosc3, _, _, _, _, _, _, _),
1353*11138a5cSDmitry Baryshkov [76] = PINGROUP(76, cam_mclk, _, _, _, _, _, _, _, _),
1354*11138a5cSDmitry Baryshkov [77] = PINGROUP(77, cci_timer0, qdss_gpio4, _, _, _, _, _, _, _),
1355*11138a5cSDmitry Baryshkov [78] = PINGROUP(78, cci_timer1, cci_i2c, qdss_gpio5, _, _, _, _, _, _),
1356*11138a5cSDmitry Baryshkov [79] = PINGROUP(79, cci_timer2, cci_i2c, tmess_prng1, qdss_gpio6, _, _, _, _, _),
1357*11138a5cSDmitry Baryshkov [80] = PINGROUP(80, cci_timer3, cci_i2c, cci_async, tmess_prng0, qdss_gpio7, _, _, _, _),
1358*11138a5cSDmitry Baryshkov [81] = PINGROUP(81, cci_timer4, cci_i2c, cci_async, tmess_prng3, qdss_gpio8, _, _, _, _),
1359*11138a5cSDmitry Baryshkov [82] = PINGROUP(82, cci_async, qdss_gpio9, _, _, _, _, _, _, _),
1360*11138a5cSDmitry Baryshkov [83] = PINGROUP(83, cci_i2c, tmess_prng2, qdss_gpio10, _, _, _, _, _, _),
1361*11138a5cSDmitry Baryshkov [84] = PINGROUP(84, cci_i2c, qdss_gpio11, _, _, _, _, _, _, _),
1362*11138a5cSDmitry Baryshkov [85] = PINGROUP(85, cci_i2c, qdss_gpio12, _, _, _, _, _, _, _),
1363*11138a5cSDmitry Baryshkov [86] = PINGROUP(86, cci_i2c, qdss_gpio13, tsense_pwm1, tsense_pwm2, _, _, _, _, _),
1364*11138a5cSDmitry Baryshkov [87] = PINGROUP(87, cci_i2c, qdss_gpio14, atest_char3, _, _, _, _, _, _),
1365*11138a5cSDmitry Baryshkov [88] = PINGROUP(88, cci_i2c, qdss_gpio15, atest_char2, _, _, _, _, _, _),
1366*11138a5cSDmitry Baryshkov [89] = PINGROUP(89, cci_i2c, qdss_gpio, atest_char1, _, _, _, _, _, _),
1367*11138a5cSDmitry Baryshkov [90] = PINGROUP(90, cci_i2c, qdss_gpio, atest_char0, _, _, _, _, _, _),
1368*11138a5cSDmitry Baryshkov [91] = PINGROUP(91, cci_i2c, qup6, ibi_i3c, _, _, _, _, _, _),
1369*11138a5cSDmitry Baryshkov [92] = PINGROUP(92, cci_i2c, qup6, ibi_i3c, _, _, _, _, _, _),
1370*11138a5cSDmitry Baryshkov [93] = PINGROUP(93, qup0, phase_flag11, _, _, _, _, _, _, _),
1371*11138a5cSDmitry Baryshkov [94] = PINGROUP(94, qup4, phase_flag10, _, _, _, _, _, _, _),
1372*11138a5cSDmitry Baryshkov [95] = PINGROUP(95, qup5, phase_flag9, _, _, _, _, _, _, _),
1373*11138a5cSDmitry Baryshkov [96] = PINGROUP(96, qup5, phase_flag8, _, _, _, _, _, _, _),
1374*11138a5cSDmitry Baryshkov [97] = PINGROUP(97, qup5, phase_flag7, _, _, _, _, _, _, _),
1375*11138a5cSDmitry Baryshkov [98] = PINGROUP(98, qup5, phase_flag6, _, _, _, _, _, _, _),
1376*11138a5cSDmitry Baryshkov [99] = PINGROUP(99, _, _, _, _, _, _, _, _, _),
1377*11138a5cSDmitry Baryshkov [100] = PINGROUP(100, usb0_phy, ddr_bist, _, _, _, _, _, _, _),
1378*11138a5cSDmitry Baryshkov [101] = PINGROUP(101, _, _, _, _, _, _, _, _, _),
1379*11138a5cSDmitry Baryshkov [102] = PINGROUP(102, _, _, _, _, _, _, _, _, _),
1380*11138a5cSDmitry Baryshkov [103] = PINGROUP(103, ext_mclk1, audio_ref, dp0_hot, ddr_bist, _, _, _, _, _),
1381*11138a5cSDmitry Baryshkov [104] = PINGROUP(104, ext_mclk0, _, _, _, _, _, _, _, _),
1382*11138a5cSDmitry Baryshkov [105] = PINGROUP(105, i2s0_sck, _, qdss_cti, _, _, _, _, _, _),
1383*11138a5cSDmitry Baryshkov [106] = PINGROUP(106, i2s0_data0, _, qdss_cti, _, _, _, _, _, _),
1384*11138a5cSDmitry Baryshkov [107] = PINGROUP(107, i2s0_data1, _, _, _, _, _, _, _, _),
1385*11138a5cSDmitry Baryshkov [108] = PINGROUP(108, i2s0_ws, _, _, _, _, _, _, _, _),
1386*11138a5cSDmitry Baryshkov [109] = PINGROUP(109, qup9, qdss_gpio, atest_usb01, _, _, _, _, _, _),
1387*11138a5cSDmitry Baryshkov [110] = PINGROUP(110, qup9, qdss_gpio, atest_usb00, _, _, _, _, _, _),
1388*11138a5cSDmitry Baryshkov [111] = PINGROUP(111, host2wlan_sol, _, _, _, _, _, _, _, _),
1389*11138a5cSDmitry Baryshkov [112] = PINGROUP(112, _, _, _, _, _, _, _, _, _),
1390*11138a5cSDmitry Baryshkov [113] = PINGROUP(113, _, _, _, _, _, _, _, _, _),
1391*11138a5cSDmitry Baryshkov [114] = PINGROUP(114, _, _, _, _, _, _, _, _, _),
1392*11138a5cSDmitry Baryshkov [115] = PINGROUP(115, _, _, _, _, _, _, _, _, _),
1393*11138a5cSDmitry Baryshkov [116] = PINGROUP(116, _, _, _, _, _, _, _, _, _),
1394*11138a5cSDmitry Baryshkov [117] = PINGROUP(117, _, _, _, _, _, _, _, _, _),
1395*11138a5cSDmitry Baryshkov [118] = PINGROUP(118, _, _, _, _, _, _, _, _, _),
1396*11138a5cSDmitry Baryshkov [119] = PINGROUP(119, _, _, _, _, _, _, _, _, _),
1397*11138a5cSDmitry Baryshkov [120] = PINGROUP(120, _, _, _, _, _, _, _, _, _),
1398*11138a5cSDmitry Baryshkov [121] = PINGROUP(121, _, _, _, _, _, _, _, _, _),
1399*11138a5cSDmitry Baryshkov [122] = PINGROUP(122, _, _, _, _, _, _, _, _, _),
1400*11138a5cSDmitry Baryshkov [123] = PINGROUP(123, _, _, _, _, _, _, _, _, _),
1401*11138a5cSDmitry Baryshkov [124] = PINGROUP(124, _, _, _, _, _, _, _, _, _),
1402*11138a5cSDmitry Baryshkov [125] = PINGROUP(125, _, _, _, _, _, _, _, _, _),
1403*11138a5cSDmitry Baryshkov [126] = PINGROUP(126, phase_flag3, _, _, _, _, _, _, _, _),
1404*11138a5cSDmitry Baryshkov [127] = PINGROUP(127, phase_flag2, _, _, _, _, _, _, _, _),
1405*11138a5cSDmitry Baryshkov [128] = PINGROUP(128, phase_flag1, _, _, _, _, _, _, _, _),
1406*11138a5cSDmitry Baryshkov [129] = PINGROUP(129, gcc_gp1, _, _, _, _, _, _, _, _),
1407*11138a5cSDmitry Baryshkov [130] = PINGROUP(130, gcc_gp2, _, _, _, _, _, _, _, _),
1408*11138a5cSDmitry Baryshkov [131] = PINGROUP(131, gcc_gp3, _, _, _, _, _, _, _, _),
1409*11138a5cSDmitry Baryshkov [132] = PINGROUP(132, gcc_gp1, _, _, _, _, _, _, _, _),
1410*11138a5cSDmitry Baryshkov [133] = PINGROUP(133, phase_flag0, _, _, _, _, _, _, _, _),
1411*11138a5cSDmitry Baryshkov [134] = PINGROUP(134, phase_flag12, _, _, _, _, _, _, _, _),
1412*11138a5cSDmitry Baryshkov [135] = PINGROUP(135, gcc_gp2, _, _, _, _, _, _, _, _),
1413*11138a5cSDmitry Baryshkov [136] = PINGROUP(136, gcc_gp3, _, _, _, _, _, _, _, _),
1414*11138a5cSDmitry Baryshkov [137] = PINGROUP(137, phase_flag15, _, _, _, _, _, _, _, _),
1415*11138a5cSDmitry Baryshkov [138] = PINGROUP(138, phase_flag14, _, _, _, _, _, _, _, _),
1416*11138a5cSDmitry Baryshkov [139] = PINGROUP(139, phase_flag13, _, _, _, _, _, _, _, _),
1417*11138a5cSDmitry Baryshkov [140] = PINGROUP(140, _, _, _, _, _, _, _, _, _),
1418*11138a5cSDmitry Baryshkov [141] = PINGROUP(141, _, _, _, _, _, _, _, _, _),
1419*11138a5cSDmitry Baryshkov [142] = PINGROUP(142, _, _, _, _, _, _, _, _, _),
1420*11138a5cSDmitry Baryshkov [143] = PINGROUP(143, _, _, _, _, _, _, _, _, _),
1421*11138a5cSDmitry Baryshkov [144] = PINGROUP(144, _, _, _, _, _, _, _, _, _),
1422*11138a5cSDmitry Baryshkov [145] = PINGROUP(145, _, _, _, _, _, _, _, _, _),
1423*11138a5cSDmitry Baryshkov [146] = PINGROUP(146, _, _, _, _, _, _, _, _, _),
1424*11138a5cSDmitry Baryshkov [147] = PINGROUP(147, _, _, _, _, _, _, _, _, _),
1425*11138a5cSDmitry Baryshkov [148] = PINGROUP(148, phase_flag31, _, _, _, _, _, _, _, _),
1426*11138a5cSDmitry Baryshkov [149] = PINGROUP(149, phase_flag30, _, _, _, _, _, _, _, _),
1427*11138a5cSDmitry Baryshkov [150] = PINGROUP(150, phase_flag5, _, _, _, _, _, _, _, _),
1428*11138a5cSDmitry Baryshkov [151] = PINGROUP(151, phase_flag4, _, _, _, _, _, _, _, _),
1429*11138a5cSDmitry Baryshkov [152] = PINGROUP(152, _, _, _, _, _, _, _, _, _),
1430*11138a5cSDmitry Baryshkov [153] = PINGROUP(153, _, _, _, _, _, _, _, _, _),
1431*11138a5cSDmitry Baryshkov [154] = PINGROUP(154, qdss_cti, _, _, _, _, _, _, _, _),
1432*11138a5cSDmitry Baryshkov [155] = PINGROUP(155, qdss_cti, _, _, _, _, _, _, _, _),
1433*11138a5cSDmitry Baryshkov [156] = SDC_QDSD_PINGROUP(sdc1_rclk, 0xa1000, 0, 0),
1434*11138a5cSDmitry Baryshkov [157] = SDC_QDSD_PINGROUP(sdc1_clk, 0xa0000, 13, 6),
1435*11138a5cSDmitry Baryshkov [158] = SDC_QDSD_PINGROUP(sdc1_cmd, 0xa0000, 11, 3),
1436*11138a5cSDmitry Baryshkov [159] = SDC_QDSD_PINGROUP(sdc1_data, 0xa0000, 9, 0),
1437*11138a5cSDmitry Baryshkov };
1438*11138a5cSDmitry Baryshkov
1439*11138a5cSDmitry Baryshkov static const struct msm_gpio_wakeirq_map sar2130p_pdc_map[] = {
1440*11138a5cSDmitry Baryshkov { 0, 50 }, { 3, 68 }, { 6, 88 }, { 7, 55 }, { 10, 66 }, { 11, 96 },
1441*11138a5cSDmitry Baryshkov { 12, 48 }, { 13, 49 }, { 15, 62 }, { 18, 57 }, { 19, 59 }, { 23, 51 },
1442*11138a5cSDmitry Baryshkov { 27, 74 }, { 28, 67 }, { 29, 84 }, { 30, 58 }, { 31, 94 }, { 32, 60 },
1443*11138a5cSDmitry Baryshkov { 33, 61 }, { 35, 69 }, { 37, 70 }, { 38, 64 }, { 39, 65 }, { 40, 63 },
1444*11138a5cSDmitry Baryshkov { 41, 92 }, { 42, 82 }, { 44, 83 }, { 45, 43 }, { 46, 72 }, { 47, 45 },
1445*11138a5cSDmitry Baryshkov { 48, 44 }, { 49, 71 }, { 50, 87 }, { 53, 77 }, { 54, 78 },
1446*11138a5cSDmitry Baryshkov { 55, 106 }, { 56, 79 }, { 57, 80 }, { 58, 107 }, { 59, 81 },
1447*11138a5cSDmitry Baryshkov { 60, 89 }, { 61, 54 }, { 62, 73 }, { 63, 93 }, { 64, 86 }, { 65, 75 },
1448*11138a5cSDmitry Baryshkov { 67, 42 }, { 68, 76 }, { 76, 116 }, { 77, 12 }, { 83, 13 },
1449*11138a5cSDmitry Baryshkov { 91, 90 }, { 94, 95 }, { 95, 91 }, { 98, 47 }, { 100, 85 },
1450*11138a5cSDmitry Baryshkov { 101, 52 }, { 102, 53 }, { 103, 97 }, { 104, 98 }, { 105, 99 },
1451*11138a5cSDmitry Baryshkov { 106, 100 }, { 107, 101 }, { 108, 102 }, { 109, 103 }, { 111, 104 },
1452*11138a5cSDmitry Baryshkov { 113, 46 }, { 114, 56 }, { 115, 108 }, { 116, 109 }, { 117, 110 },
1453*11138a5cSDmitry Baryshkov { 118, 111 }, { 121, 112 }, { 122, 113 }, { 124, 114 }, { 127, 115 },
1454*11138a5cSDmitry Baryshkov { 132, 118 }, { 134, 119 }, { 135, 120 }, { 136, 121 }, { 139, 122 },
1455*11138a5cSDmitry Baryshkov { 140, 123 }, { 141, 124 }, { 143, 128 }, { 144, 129 }, { 145, 130 },
1456*11138a5cSDmitry Baryshkov { 146, 131 }, { 148, 132 }, { 150, 133 }, { 151, 134 }, { 153, 135 },
1457*11138a5cSDmitry Baryshkov { 155, 137 },
1458*11138a5cSDmitry Baryshkov };
1459*11138a5cSDmitry Baryshkov
1460*11138a5cSDmitry Baryshkov static const struct msm_pinctrl_soc_data sar2130p_tlmm = {
1461*11138a5cSDmitry Baryshkov .pins = sar2130p_pins,
1462*11138a5cSDmitry Baryshkov .npins = ARRAY_SIZE(sar2130p_pins),
1463*11138a5cSDmitry Baryshkov .functions = sar2130p_functions,
1464*11138a5cSDmitry Baryshkov .nfunctions = ARRAY_SIZE(sar2130p_functions),
1465*11138a5cSDmitry Baryshkov .groups = sar2130p_groups,
1466*11138a5cSDmitry Baryshkov .ngroups = ARRAY_SIZE(sar2130p_groups),
1467*11138a5cSDmitry Baryshkov .ngpios = 156,
1468*11138a5cSDmitry Baryshkov .wakeirq_map = sar2130p_pdc_map,
1469*11138a5cSDmitry Baryshkov .nwakeirq_map = ARRAY_SIZE(sar2130p_pdc_map),
1470*11138a5cSDmitry Baryshkov };
1471*11138a5cSDmitry Baryshkov
sar2130p_tlmm_probe(struct platform_device * pdev)1472*11138a5cSDmitry Baryshkov static int sar2130p_tlmm_probe(struct platform_device *pdev)
1473*11138a5cSDmitry Baryshkov {
1474*11138a5cSDmitry Baryshkov return msm_pinctrl_probe(pdev, &sar2130p_tlmm);
1475*11138a5cSDmitry Baryshkov }
1476*11138a5cSDmitry Baryshkov
1477*11138a5cSDmitry Baryshkov static const struct of_device_id sar2130p_tlmm_of_match[] = {
1478*11138a5cSDmitry Baryshkov { .compatible = "qcom,sar2130p-tlmm", .data = &sar2130p_tlmm},
1479*11138a5cSDmitry Baryshkov { },
1480*11138a5cSDmitry Baryshkov };
1481*11138a5cSDmitry Baryshkov MODULE_DEVICE_TABLE(of, sar2130p_tlmm_of_match);
1482*11138a5cSDmitry Baryshkov
1483*11138a5cSDmitry Baryshkov static struct platform_driver sar2130p_tlmm_driver = {
1484*11138a5cSDmitry Baryshkov .driver = {
1485*11138a5cSDmitry Baryshkov .name = "sar2130p-tlmm",
1486*11138a5cSDmitry Baryshkov .of_match_table = sar2130p_tlmm_of_match,
1487*11138a5cSDmitry Baryshkov },
1488*11138a5cSDmitry Baryshkov .probe = sar2130p_tlmm_probe,
1489*11138a5cSDmitry Baryshkov .remove = msm_pinctrl_remove,
1490*11138a5cSDmitry Baryshkov };
1491*11138a5cSDmitry Baryshkov
sar2130p_tlmm_init(void)1492*11138a5cSDmitry Baryshkov static int __init sar2130p_tlmm_init(void)
1493*11138a5cSDmitry Baryshkov {
1494*11138a5cSDmitry Baryshkov return platform_driver_register(&sar2130p_tlmm_driver);
1495*11138a5cSDmitry Baryshkov }
1496*11138a5cSDmitry Baryshkov arch_initcall(sar2130p_tlmm_init);
1497*11138a5cSDmitry Baryshkov
sar2130p_tlmm_exit(void)1498*11138a5cSDmitry Baryshkov static void __exit sar2130p_tlmm_exit(void)
1499*11138a5cSDmitry Baryshkov {
1500*11138a5cSDmitry Baryshkov platform_driver_unregister(&sar2130p_tlmm_driver);
1501*11138a5cSDmitry Baryshkov }
1502*11138a5cSDmitry Baryshkov module_exit(sar2130p_tlmm_exit);
1503*11138a5cSDmitry Baryshkov
1504*11138a5cSDmitry Baryshkov MODULE_DESCRIPTION("QTI SAR2130P TLMM driver");
1505*11138a5cSDmitry Baryshkov MODULE_LICENSE("GPL");
1506