xref: /openbmc/linux/drivers/pinctrl/qcom/pinctrl-apq8084.c (revision c4f6f9c0f38a30148f05bf477ffe3213b8dc2e0c)
1*c4f6f9c0SGeorgi Djakov /*
2*c4f6f9c0SGeorgi Djakov  * Copyright (c) 2014, The Linux Foundation. All rights reserved.
3*c4f6f9c0SGeorgi Djakov  *
4*c4f6f9c0SGeorgi Djakov  * This program is free software; you can redistribute it and/or modify
5*c4f6f9c0SGeorgi Djakov  * it under the terms of the GNU General Public License version 2 and
6*c4f6f9c0SGeorgi Djakov  * only version 2 as published by the Free Software Foundation.
7*c4f6f9c0SGeorgi Djakov  *
8*c4f6f9c0SGeorgi Djakov  * This program is distributed in the hope that it will be useful,
9*c4f6f9c0SGeorgi Djakov  * but WITHOUT ANY WARRANTY; without even the implied warranty of
10*c4f6f9c0SGeorgi Djakov  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
11*c4f6f9c0SGeorgi Djakov  * GNU General Public License for more details.
12*c4f6f9c0SGeorgi Djakov  *
13*c4f6f9c0SGeorgi Djakov  */
14*c4f6f9c0SGeorgi Djakov 
15*c4f6f9c0SGeorgi Djakov #include <linux/module.h>
16*c4f6f9c0SGeorgi Djakov #include <linux/of.h>
17*c4f6f9c0SGeorgi Djakov #include <linux/platform_device.h>
18*c4f6f9c0SGeorgi Djakov #include <linux/pinctrl/pinctrl.h>
19*c4f6f9c0SGeorgi Djakov 
20*c4f6f9c0SGeorgi Djakov #include "pinctrl-msm.h"
21*c4f6f9c0SGeorgi Djakov 
22*c4f6f9c0SGeorgi Djakov static const struct pinctrl_pin_desc apq8084_pins[] = {
23*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(0, "GPIO_0"),
24*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(1, "GPIO_1"),
25*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(2, "GPIO_2"),
26*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(3, "GPIO_3"),
27*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(4, "GPIO_4"),
28*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(5, "GPIO_5"),
29*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(6, "GPIO_6"),
30*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(7, "GPIO_7"),
31*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(8, "GPIO_8"),
32*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(9, "GPIO_9"),
33*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(10, "GPIO_10"),
34*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(11, "GPIO_11"),
35*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(12, "GPIO_12"),
36*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(13, "GPIO_13"),
37*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(14, "GPIO_14"),
38*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(15, "GPIO_15"),
39*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(16, "GPIO_16"),
40*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(17, "GPIO_17"),
41*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(18, "GPIO_18"),
42*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(19, "GPIO_19"),
43*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(20, "GPIO_20"),
44*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(21, "GPIO_21"),
45*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(22, "GPIO_22"),
46*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(23, "GPIO_23"),
47*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(24, "GPIO_24"),
48*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(25, "GPIO_25"),
49*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(26, "GPIO_26"),
50*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(27, "GPIO_27"),
51*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(28, "GPIO_28"),
52*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(29, "GPIO_29"),
53*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(30, "GPIO_30"),
54*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(31, "GPIO_31"),
55*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(32, "GPIO_32"),
56*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(33, "GPIO_33"),
57*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(34, "GPIO_34"),
58*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(35, "GPIO_35"),
59*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(36, "GPIO_36"),
60*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(37, "GPIO_37"),
61*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(38, "GPIO_38"),
62*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(39, "GPIO_39"),
63*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(40, "GPIO_40"),
64*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(41, "GPIO_41"),
65*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(42, "GPIO_42"),
66*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(43, "GPIO_43"),
67*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(44, "GPIO_44"),
68*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(45, "GPIO_45"),
69*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(46, "GPIO_46"),
70*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(47, "GPIO_47"),
71*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(48, "GPIO_48"),
72*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(49, "GPIO_49"),
73*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(50, "GPIO_50"),
74*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(51, "GPIO_51"),
75*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(52, "GPIO_52"),
76*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(53, "GPIO_53"),
77*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(54, "GPIO_54"),
78*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(55, "GPIO_55"),
79*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(56, "GPIO_56"),
80*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(57, "GPIO_57"),
81*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(58, "GPIO_58"),
82*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(59, "GPIO_59"),
83*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(60, "GPIO_60"),
84*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(61, "GPIO_61"),
85*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(62, "GPIO_62"),
86*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(63, "GPIO_63"),
87*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(64, "GPIO_64"),
88*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(65, "GPIO_65"),
89*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(66, "GPIO_66"),
90*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(67, "GPIO_67"),
91*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(68, "GPIO_68"),
92*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(69, "GPIO_69"),
93*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(70, "GPIO_70"),
94*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(71, "GPIO_71"),
95*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(72, "GPIO_72"),
96*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(73, "GPIO_73"),
97*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(74, "GPIO_74"),
98*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(75, "GPIO_75"),
99*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(76, "GPIO_76"),
100*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(77, "GPIO_77"),
101*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(78, "GPIO_78"),
102*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(79, "GPIO_79"),
103*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(80, "GPIO_80"),
104*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(81, "GPIO_81"),
105*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(82, "GPIO_82"),
106*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(83, "GPIO_83"),
107*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(84, "GPIO_84"),
108*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(85, "GPIO_85"),
109*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(86, "GPIO_86"),
110*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(87, "GPIO_87"),
111*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(88, "GPIO_88"),
112*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(89, "GPIO_89"),
113*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(90, "GPIO_90"),
114*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(91, "GPIO_91"),
115*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(92, "GPIO_92"),
116*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(93, "GPIO_93"),
117*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(94, "GPIO_94"),
118*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(95, "GPIO_95"),
119*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(96, "GPIO_96"),
120*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(97, "GPIO_97"),
121*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(98, "GPIO_98"),
122*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(99, "GPIO_99"),
123*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(100, "GPIO_100"),
124*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(101, "GPIO_101"),
125*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(102, "GPIO_102"),
126*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(103, "GPIO_103"),
127*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(104, "GPIO_104"),
128*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(105, "GPIO_105"),
129*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(106, "GPIO_106"),
130*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(107, "GPIO_107"),
131*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(108, "GPIO_108"),
132*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(109, "GPIO_109"),
133*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(110, "GPIO_110"),
134*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(111, "GPIO_111"),
135*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(112, "GPIO_112"),
136*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(113, "GPIO_113"),
137*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(114, "GPIO_114"),
138*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(115, "GPIO_115"),
139*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(116, "GPIO_116"),
140*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(117, "GPIO_117"),
141*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(118, "GPIO_118"),
142*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(119, "GPIO_119"),
143*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(120, "GPIO_120"),
144*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(121, "GPIO_121"),
145*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(122, "GPIO_122"),
146*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(123, "GPIO_123"),
147*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(124, "GPIO_124"),
148*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(125, "GPIO_125"),
149*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(126, "GPIO_126"),
150*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(127, "GPIO_127"),
151*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(128, "GPIO_128"),
152*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(129, "GPIO_129"),
153*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(130, "GPIO_130"),
154*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(131, "GPIO_131"),
155*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(132, "GPIO_132"),
156*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(133, "GPIO_133"),
157*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(134, "GPIO_134"),
158*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(135, "GPIO_135"),
159*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(136, "GPIO_136"),
160*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(137, "GPIO_137"),
161*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(138, "GPIO_138"),
162*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(139, "GPIO_139"),
163*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(140, "GPIO_140"),
164*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(141, "GPIO_141"),
165*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(142, "GPIO_142"),
166*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(143, "GPIO_143"),
167*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(144, "GPIO_144"),
168*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(145, "GPIO_145"),
169*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(146, "GPIO_146"),
170*c4f6f9c0SGeorgi Djakov 
171*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(147, "SDC1_CLK"),
172*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(148, "SDC1_CMD"),
173*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(149, "SDC1_DATA"),
174*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(150, "SDC2_CLK"),
175*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(151, "SDC2_CMD"),
176*c4f6f9c0SGeorgi Djakov 	PINCTRL_PIN(152, "SDC2_DATA"),
177*c4f6f9c0SGeorgi Djakov };
178*c4f6f9c0SGeorgi Djakov 
179*c4f6f9c0SGeorgi Djakov #define DECLARE_APQ_GPIO_PINS(pin) static const unsigned int gpio##pin##_pins[] = { pin }
180*c4f6f9c0SGeorgi Djakov 
181*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(0);
182*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(1);
183*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(2);
184*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(3);
185*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(4);
186*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(5);
187*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(6);
188*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(7);
189*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(8);
190*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(9);
191*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(10);
192*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(11);
193*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(12);
194*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(13);
195*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(14);
196*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(15);
197*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(16);
198*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(17);
199*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(18);
200*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(19);
201*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(20);
202*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(21);
203*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(22);
204*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(23);
205*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(24);
206*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(25);
207*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(26);
208*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(27);
209*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(28);
210*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(29);
211*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(30);
212*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(31);
213*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(32);
214*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(33);
215*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(34);
216*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(35);
217*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(36);
218*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(37);
219*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(38);
220*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(39);
221*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(40);
222*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(41);
223*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(42);
224*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(43);
225*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(44);
226*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(45);
227*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(46);
228*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(47);
229*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(48);
230*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(49);
231*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(50);
232*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(51);
233*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(52);
234*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(53);
235*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(54);
236*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(55);
237*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(56);
238*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(57);
239*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(58);
240*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(59);
241*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(60);
242*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(61);
243*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(62);
244*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(63);
245*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(64);
246*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(65);
247*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(66);
248*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(67);
249*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(68);
250*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(69);
251*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(70);
252*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(71);
253*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(72);
254*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(73);
255*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(74);
256*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(75);
257*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(76);
258*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(77);
259*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(78);
260*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(79);
261*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(80);
262*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(81);
263*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(82);
264*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(83);
265*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(84);
266*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(85);
267*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(86);
268*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(87);
269*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(88);
270*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(89);
271*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(90);
272*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(91);
273*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(92);
274*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(93);
275*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(94);
276*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(95);
277*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(96);
278*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(97);
279*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(98);
280*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(99);
281*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(100);
282*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(101);
283*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(102);
284*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(103);
285*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(104);
286*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(105);
287*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(106);
288*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(107);
289*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(108);
290*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(109);
291*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(110);
292*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(111);
293*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(112);
294*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(113);
295*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(114);
296*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(115);
297*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(116);
298*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(117);
299*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(118);
300*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(119);
301*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(120);
302*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(121);
303*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(122);
304*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(123);
305*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(124);
306*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(125);
307*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(126);
308*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(127);
309*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(128);
310*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(129);
311*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(130);
312*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(131);
313*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(132);
314*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(133);
315*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(134);
316*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(135);
317*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(136);
318*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(137);
319*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(138);
320*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(139);
321*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(140);
322*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(141);
323*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(142);
324*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(143);
325*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(144);
326*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(145);
327*c4f6f9c0SGeorgi Djakov DECLARE_APQ_GPIO_PINS(146);
328*c4f6f9c0SGeorgi Djakov 
329*c4f6f9c0SGeorgi Djakov static const unsigned int sdc1_clk_pins[] = { 147 };
330*c4f6f9c0SGeorgi Djakov static const unsigned int sdc1_cmd_pins[] = { 148 };
331*c4f6f9c0SGeorgi Djakov static const unsigned int sdc1_data_pins[] = { 149 };
332*c4f6f9c0SGeorgi Djakov static const unsigned int sdc2_clk_pins[] = { 150 };
333*c4f6f9c0SGeorgi Djakov static const unsigned int sdc2_cmd_pins[] = { 151 };
334*c4f6f9c0SGeorgi Djakov static const unsigned int sdc2_data_pins[] = { 152 };
335*c4f6f9c0SGeorgi Djakov 
336*c4f6f9c0SGeorgi Djakov #define FUNCTION(fname)					\
337*c4f6f9c0SGeorgi Djakov 	[APQ_MUX_##fname] = {				\
338*c4f6f9c0SGeorgi Djakov 		.name = #fname,				\
339*c4f6f9c0SGeorgi Djakov 		.groups = fname##_groups,		\
340*c4f6f9c0SGeorgi Djakov 		.ngroups = ARRAY_SIZE(fname##_groups),	\
341*c4f6f9c0SGeorgi Djakov 	}
342*c4f6f9c0SGeorgi Djakov 
343*c4f6f9c0SGeorgi Djakov #define PINGROUP(id, f1, f2, f3, f4, f5, f6, f7)        \
344*c4f6f9c0SGeorgi Djakov 	{						\
345*c4f6f9c0SGeorgi Djakov 		.name = "gpio" #id,			\
346*c4f6f9c0SGeorgi Djakov 		.pins = gpio##id##_pins,		\
347*c4f6f9c0SGeorgi Djakov 		.npins = ARRAY_SIZE(gpio##id##_pins),	\
348*c4f6f9c0SGeorgi Djakov 		.funcs = (int[]){			\
349*c4f6f9c0SGeorgi Djakov 			APQ_MUX_gpio,			\
350*c4f6f9c0SGeorgi Djakov 			APQ_MUX_##f1,			\
351*c4f6f9c0SGeorgi Djakov 			APQ_MUX_##f2,			\
352*c4f6f9c0SGeorgi Djakov 			APQ_MUX_##f3,			\
353*c4f6f9c0SGeorgi Djakov 			APQ_MUX_##f4,			\
354*c4f6f9c0SGeorgi Djakov 			APQ_MUX_##f5,			\
355*c4f6f9c0SGeorgi Djakov 			APQ_MUX_##f6,			\
356*c4f6f9c0SGeorgi Djakov 			APQ_MUX_##f7			\
357*c4f6f9c0SGeorgi Djakov 		},					\
358*c4f6f9c0SGeorgi Djakov 		.nfuncs = 8,				\
359*c4f6f9c0SGeorgi Djakov 		.ctl_reg = 0x1000 + 0x10 * id,		\
360*c4f6f9c0SGeorgi Djakov 		.io_reg = 0x1004 + 0x10 * id,		\
361*c4f6f9c0SGeorgi Djakov 		.intr_cfg_reg = 0x1008 + 0x10 * id,	\
362*c4f6f9c0SGeorgi Djakov 		.intr_status_reg = 0x100c + 0x10 * id,	\
363*c4f6f9c0SGeorgi Djakov 		.intr_target_reg = 0x1008 + 0x10 * id,	\
364*c4f6f9c0SGeorgi Djakov 		.mux_bit = 2,				\
365*c4f6f9c0SGeorgi Djakov 		.pull_bit = 0,				\
366*c4f6f9c0SGeorgi Djakov 		.drv_bit = 6,				\
367*c4f6f9c0SGeorgi Djakov 		.oe_bit = 9,				\
368*c4f6f9c0SGeorgi Djakov 		.in_bit = 0,				\
369*c4f6f9c0SGeorgi Djakov 		.out_bit = 1,				\
370*c4f6f9c0SGeorgi Djakov 		.intr_enable_bit = 0,			\
371*c4f6f9c0SGeorgi Djakov 		.intr_status_bit = 0,			\
372*c4f6f9c0SGeorgi Djakov 		.intr_ack_high = 0,			\
373*c4f6f9c0SGeorgi Djakov 		.intr_target_bit = 5,			\
374*c4f6f9c0SGeorgi Djakov 		.intr_raw_status_bit = 4,		\
375*c4f6f9c0SGeorgi Djakov 		.intr_polarity_bit = 1,			\
376*c4f6f9c0SGeorgi Djakov 		.intr_detection_bit = 2,		\
377*c4f6f9c0SGeorgi Djakov 		.intr_detection_width = 2,		\
378*c4f6f9c0SGeorgi Djakov 	}
379*c4f6f9c0SGeorgi Djakov 
380*c4f6f9c0SGeorgi Djakov #define SDC_PINGROUP(pg_name, ctl, pull, drv)		\
381*c4f6f9c0SGeorgi Djakov 	{						\
382*c4f6f9c0SGeorgi Djakov 		.name = #pg_name,	                \
383*c4f6f9c0SGeorgi Djakov 		.pins = pg_name##_pins,                 \
384*c4f6f9c0SGeorgi Djakov 		.npins = ARRAY_SIZE(pg_name##_pins),    \
385*c4f6f9c0SGeorgi Djakov 		.ctl_reg = ctl,                         \
386*c4f6f9c0SGeorgi Djakov 		.io_reg = 0,                            \
387*c4f6f9c0SGeorgi Djakov 		.intr_cfg_reg = 0,                      \
388*c4f6f9c0SGeorgi Djakov 		.intr_status_reg = 0,                   \
389*c4f6f9c0SGeorgi Djakov 		.intr_target_reg = 0,                   \
390*c4f6f9c0SGeorgi Djakov 		.mux_bit = -1,                          \
391*c4f6f9c0SGeorgi Djakov 		.pull_bit = pull,                       \
392*c4f6f9c0SGeorgi Djakov 		.drv_bit = drv,                         \
393*c4f6f9c0SGeorgi Djakov 		.oe_bit = -1,                           \
394*c4f6f9c0SGeorgi Djakov 		.in_bit = -1,                           \
395*c4f6f9c0SGeorgi Djakov 		.out_bit = -1,                          \
396*c4f6f9c0SGeorgi Djakov 		.intr_enable_bit = -1,                  \
397*c4f6f9c0SGeorgi Djakov 		.intr_status_bit = -1,                  \
398*c4f6f9c0SGeorgi Djakov 		.intr_target_bit = -1,                  \
399*c4f6f9c0SGeorgi Djakov 		.intr_raw_status_bit = -1,              \
400*c4f6f9c0SGeorgi Djakov 		.intr_polarity_bit = -1,                \
401*c4f6f9c0SGeorgi Djakov 		.intr_detection_bit = -1,               \
402*c4f6f9c0SGeorgi Djakov 		.intr_detection_width = -1,             \
403*c4f6f9c0SGeorgi Djakov 	}
404*c4f6f9c0SGeorgi Djakov 
405*c4f6f9c0SGeorgi Djakov enum apq8084_functions {
406*c4f6f9c0SGeorgi Djakov 	APQ_MUX_adsp_ext,
407*c4f6f9c0SGeorgi Djakov 	APQ_MUX_audio_ref,
408*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c1,
409*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c2,
410*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c3,
411*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c4,
412*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c5,
413*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c6,
414*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c7,
415*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c8,
416*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c9,
417*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c10,
418*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c11,
419*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_i2c12,
420*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi1,
421*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi1_cs1,
422*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi1_cs2,
423*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi1_cs3,
424*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi2,
425*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi3,
426*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi3_cs1,
427*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi3_cs2,
428*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi3_cs3,
429*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi4,
430*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi5,
431*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi6,
432*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi7,
433*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi8,
434*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi9,
435*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi10,
436*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi10_cs1,
437*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi10_cs2,
438*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi10_cs3,
439*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi11,
440*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_spi12,
441*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart1,
442*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart2,
443*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart3,
444*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart4,
445*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart5,
446*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart6,
447*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart7,
448*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart8,
449*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart9,
450*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart10,
451*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart11,
452*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uart12,
453*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim1,
454*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim2,
455*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim3,
456*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim4,
457*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim5,
458*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim6,
459*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim7,
460*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim8,
461*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim9,
462*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim10,
463*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim11,
464*c4f6f9c0SGeorgi Djakov 	APQ_MUX_blsp_uim12,
465*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cam_mclk0,
466*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cam_mclk1,
467*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cam_mclk2,
468*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cam_mclk3,
469*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cci_async,
470*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cci_async_in0,
471*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cci_i2c0,
472*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cci_i2c1,
473*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cci_timer0,
474*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cci_timer1,
475*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cci_timer2,
476*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cci_timer3,
477*c4f6f9c0SGeorgi Djakov 	APQ_MUX_cci_timer4,
478*c4f6f9c0SGeorgi Djakov 	APQ_MUX_edp_hpd,
479*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gcc_gp1,
480*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gcc_gp2,
481*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gcc_gp3,
482*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gcc_obt,
483*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gcc_vtt,
484*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gp_mn,
485*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gp_pdm0,
486*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gp_pdm1,
487*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gp_pdm2,
488*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gp0_clk,
489*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gp1_clk,
490*c4f6f9c0SGeorgi Djakov 	APQ_MUX_gpio,
491*c4f6f9c0SGeorgi Djakov 	APQ_MUX_hdmi_cec,
492*c4f6f9c0SGeorgi Djakov 	APQ_MUX_hdmi_ddc,
493*c4f6f9c0SGeorgi Djakov 	APQ_MUX_hdmi_dtest,
494*c4f6f9c0SGeorgi Djakov 	APQ_MUX_hdmi_hpd,
495*c4f6f9c0SGeorgi Djakov 	APQ_MUX_hdmi_rcv,
496*c4f6f9c0SGeorgi Djakov 	APQ_MUX_hsic,
497*c4f6f9c0SGeorgi Djakov 	APQ_MUX_ldo_en,
498*c4f6f9c0SGeorgi Djakov 	APQ_MUX_ldo_update,
499*c4f6f9c0SGeorgi Djakov 	APQ_MUX_mdp_vsync,
500*c4f6f9c0SGeorgi Djakov 	APQ_MUX_pci_e0,
501*c4f6f9c0SGeorgi Djakov 	APQ_MUX_pci_e0_n,
502*c4f6f9c0SGeorgi Djakov 	APQ_MUX_pci_e0_rst,
503*c4f6f9c0SGeorgi Djakov 	APQ_MUX_pci_e1,
504*c4f6f9c0SGeorgi Djakov 	APQ_MUX_pci_e1_rst,
505*c4f6f9c0SGeorgi Djakov 	APQ_MUX_pci_e1_rst_n,
506*c4f6f9c0SGeorgi Djakov 	APQ_MUX_pci_e1_clkreq_n,
507*c4f6f9c0SGeorgi Djakov 	APQ_MUX_pri_mi2s,
508*c4f6f9c0SGeorgi Djakov 	APQ_MUX_qua_mi2s,
509*c4f6f9c0SGeorgi Djakov 	APQ_MUX_sata_act,
510*c4f6f9c0SGeorgi Djakov 	APQ_MUX_sata_devsleep,
511*c4f6f9c0SGeorgi Djakov 	APQ_MUX_sata_devsleep_n,
512*c4f6f9c0SGeorgi Djakov 	APQ_MUX_sd_write,
513*c4f6f9c0SGeorgi Djakov 	APQ_MUX_sdc_emmc_mode,
514*c4f6f9c0SGeorgi Djakov 	APQ_MUX_sdc3,
515*c4f6f9c0SGeorgi Djakov 	APQ_MUX_sdc4,
516*c4f6f9c0SGeorgi Djakov 	APQ_MUX_sec_mi2s,
517*c4f6f9c0SGeorgi Djakov 	APQ_MUX_slimbus,
518*c4f6f9c0SGeorgi Djakov 	APQ_MUX_spdif_tx,
519*c4f6f9c0SGeorgi Djakov 	APQ_MUX_spkr_i2s,
520*c4f6f9c0SGeorgi Djakov 	APQ_MUX_spkr_i2s_ws,
521*c4f6f9c0SGeorgi Djakov 	APQ_MUX_spss_geni,
522*c4f6f9c0SGeorgi Djakov 	APQ_MUX_ter_mi2s,
523*c4f6f9c0SGeorgi Djakov 	APQ_MUX_tsif1,
524*c4f6f9c0SGeorgi Djakov 	APQ_MUX_tsif2,
525*c4f6f9c0SGeorgi Djakov 	APQ_MUX_uim,
526*c4f6f9c0SGeorgi Djakov 	APQ_MUX_uim_batt_alarm,
527*c4f6f9c0SGeorgi Djakov 	APQ_MUX_NA,
528*c4f6f9c0SGeorgi Djakov };
529*c4f6f9c0SGeorgi Djakov 
530*c4f6f9c0SGeorgi Djakov static const char * const gpio_groups[] = {
531*c4f6f9c0SGeorgi Djakov 	"gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
532*c4f6f9c0SGeorgi Djakov 	"gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
533*c4f6f9c0SGeorgi Djakov 	"gpio15", "gpio16", "gpio17", "gpio18", "gpio19", "gpio20", "gpio21",
534*c4f6f9c0SGeorgi Djakov 	"gpio22", "gpio23", "gpio24", "gpio25", "gpio26", "gpio27", "gpio28",
535*c4f6f9c0SGeorgi Djakov 	"gpio29", "gpio30", "gpio31", "gpio32", "gpio33", "gpio34", "gpio35",
536*c4f6f9c0SGeorgi Djakov 	"gpio36", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
537*c4f6f9c0SGeorgi Djakov 	"gpio43", "gpio44", "gpio45", "gpio46", "gpio47", "gpio48", "gpio49",
538*c4f6f9c0SGeorgi Djakov 	"gpio50", "gpio51", "gpio52", "gpio53", "gpio54", "gpio55", "gpio56",
539*c4f6f9c0SGeorgi Djakov 	"gpio57", "gpio58", "gpio59", "gpio60", "gpio61", "gpio62", "gpio63",
540*c4f6f9c0SGeorgi Djakov 	"gpio64", "gpio65", "gpio66", "gpio67", "gpio68", "gpio69", "gpio70",
541*c4f6f9c0SGeorgi Djakov 	"gpio71", "gpio72", "gpio73", "gpio74", "gpio75", "gpio76", "gpio77",
542*c4f6f9c0SGeorgi Djakov 	"gpio78", "gpio79", "gpio80", "gpio81", "gpio82", "gpio83", "gpio84",
543*c4f6f9c0SGeorgi Djakov 	"gpio85", "gpio86", "gpio87", "gpio88", "gpio89", "gpio90", "gpio91",
544*c4f6f9c0SGeorgi Djakov 	"gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98",
545*c4f6f9c0SGeorgi Djakov 	"gpio99", "gpio100", "gpio101", "gpio102", "gpio103", "gpio104",
546*c4f6f9c0SGeorgi Djakov 	"gpio105", "gpio106", "gpio107", "gpio108", "gpio109", "gpio110",
547*c4f6f9c0SGeorgi Djakov 	"gpio111", "gpio112", "gpio113", "gpio114", "gpio115", "gpio116",
548*c4f6f9c0SGeorgi Djakov 	"gpio117", "gpio118", "gpio119", "gpio120", "gpio121", "gpio122",
549*c4f6f9c0SGeorgi Djakov 	"gpio123", "gpio124", "gpio125", "gpio126", "gpio127", "gpio128",
550*c4f6f9c0SGeorgi Djakov 	"gpio129", "gpio130", "gpio131", "gpio132", "gpio133", "gpio134",
551*c4f6f9c0SGeorgi Djakov 	"gpio135", "gpio136", "gpio137", "gpio138", "gpio139", "gpio140",
552*c4f6f9c0SGeorgi Djakov 	"gpio141", "gpio142", "gpio143", "gpio144", "gpio145", "gpio146"
553*c4f6f9c0SGeorgi Djakov };
554*c4f6f9c0SGeorgi Djakov 
555*c4f6f9c0SGeorgi Djakov static const char * const adsp_ext_groups[] = {
556*c4f6f9c0SGeorgi Djakov 	"gpio34"
557*c4f6f9c0SGeorgi Djakov };
558*c4f6f9c0SGeorgi Djakov static const char * const audio_ref_groups[] = {
559*c4f6f9c0SGeorgi Djakov 	"gpio100"
560*c4f6f9c0SGeorgi Djakov };
561*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c1_groups[] = {
562*c4f6f9c0SGeorgi Djakov 	"gpio2", "gpio3"
563*c4f6f9c0SGeorgi Djakov };
564*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c2_groups[] = {
565*c4f6f9c0SGeorgi Djakov 	"gpio6", "gpio7"
566*c4f6f9c0SGeorgi Djakov };
567*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c3_groups[] = {
568*c4f6f9c0SGeorgi Djakov 	"gpio10", "gpio11"
569*c4f6f9c0SGeorgi Djakov };
570*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c4_groups[] = {
571*c4f6f9c0SGeorgi Djakov 	"gpio29", "gpio30"
572*c4f6f9c0SGeorgi Djakov };
573*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c5_groups[] = {
574*c4f6f9c0SGeorgi Djakov 	"gpio41", "gpio42"
575*c4f6f9c0SGeorgi Djakov };
576*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c6_groups[] = {
577*c4f6f9c0SGeorgi Djakov 	"gpio45", "gpio46"
578*c4f6f9c0SGeorgi Djakov };
579*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c7_groups[] = {
580*c4f6f9c0SGeorgi Djakov 	"gpio132", "gpio133"
581*c4f6f9c0SGeorgi Djakov };
582*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c8_groups[] = {
583*c4f6f9c0SGeorgi Djakov 	"gpio53", "gpio54"
584*c4f6f9c0SGeorgi Djakov };
585*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c9_groups[] = {
586*c4f6f9c0SGeorgi Djakov 	"gpio57", "gpio58"
587*c4f6f9c0SGeorgi Djakov };
588*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c10_groups[] = {
589*c4f6f9c0SGeorgi Djakov 	"gpio61", "gpio62"
590*c4f6f9c0SGeorgi Djakov };
591*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c11_groups[] = {
592*c4f6f9c0SGeorgi Djakov 	"gpio65", "gpio66"
593*c4f6f9c0SGeorgi Djakov };
594*c4f6f9c0SGeorgi Djakov static const char * const blsp_i2c12_groups[] = {
595*c4f6f9c0SGeorgi Djakov 	"gpio49", "gpio50"
596*c4f6f9c0SGeorgi Djakov };
597*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi1_groups[] = {
598*c4f6f9c0SGeorgi Djakov 	"gpio0", "gpio1", "gpio2", "gpio3"
599*c4f6f9c0SGeorgi Djakov };
600*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi2_groups[] = {
601*c4f6f9c0SGeorgi Djakov 	"gpio4", "gpio5", "gpio6", "gpio7"
602*c4f6f9c0SGeorgi Djakov };
603*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi3_groups[] = {
604*c4f6f9c0SGeorgi Djakov 	"gpio8", "gpio9", "gpio10", "gpio11"
605*c4f6f9c0SGeorgi Djakov };
606*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi4_groups[] = {
607*c4f6f9c0SGeorgi Djakov 	"gpio27", "gpio28", "gpio29", "gpio30"
608*c4f6f9c0SGeorgi Djakov };
609*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi5_groups[] = {
610*c4f6f9c0SGeorgi Djakov 	"gpio39", "gpio40", "gpio41", "gpio42"
611*c4f6f9c0SGeorgi Djakov };
612*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi6_groups[] = {
613*c4f6f9c0SGeorgi Djakov 	"gpio43", "gpio44", "gpio45", "gpio46"
614*c4f6f9c0SGeorgi Djakov };
615*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi7_groups[] = {
616*c4f6f9c0SGeorgi Djakov 	"gpio130", "gpio131", "gpio132", "gpio133"
617*c4f6f9c0SGeorgi Djakov };
618*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi8_groups[] = {
619*c4f6f9c0SGeorgi Djakov 	"gpio51", "gpio52", "gpio53", "gpio54"
620*c4f6f9c0SGeorgi Djakov };
621*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi9_groups[] = {
622*c4f6f9c0SGeorgi Djakov 	"gpio55", "gpio56", "gpio57", "gpio58"
623*c4f6f9c0SGeorgi Djakov };
624*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi10_groups[] = {
625*c4f6f9c0SGeorgi Djakov 	"gpio59", "gpio60", "gpio61", "gpio62"
626*c4f6f9c0SGeorgi Djakov };
627*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi11_groups[] = {
628*c4f6f9c0SGeorgi Djakov 	"gpio63", "gpio64", "gpio65", "gpio66"
629*c4f6f9c0SGeorgi Djakov };
630*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi12_groups[] = {
631*c4f6f9c0SGeorgi Djakov 	"gpio47", "gpio48", "gpio49", "gpio50"
632*c4f6f9c0SGeorgi Djakov };
633*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart1_groups[] = {
634*c4f6f9c0SGeorgi Djakov 	"gpio0", "gpio1", "gpio2", "gpio3"
635*c4f6f9c0SGeorgi Djakov };
636*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart2_groups[] = {
637*c4f6f9c0SGeorgi Djakov 	"gpio4", "gpio5", "gpio6", "gpio7"
638*c4f6f9c0SGeorgi Djakov };
639*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart3_groups[] = {
640*c4f6f9c0SGeorgi Djakov 	"gpio8"
641*c4f6f9c0SGeorgi Djakov };
642*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart4_groups[] = {
643*c4f6f9c0SGeorgi Djakov 	"gpio27", "gpio28", "gpio29", "gpio30"
644*c4f6f9c0SGeorgi Djakov };
645*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart5_groups[] = {
646*c4f6f9c0SGeorgi Djakov 	"gpio39", "gpio40", "gpio41", "gpio42"
647*c4f6f9c0SGeorgi Djakov };
648*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart6_groups[] = {
649*c4f6f9c0SGeorgi Djakov 	"gpio43", "gpio44", "gpio45", "gpio46"
650*c4f6f9c0SGeorgi Djakov };
651*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart7_groups[] = {
652*c4f6f9c0SGeorgi Djakov 	"gpio130", "gpio131", "gpio132", "gpio133"
653*c4f6f9c0SGeorgi Djakov };
654*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart8_groups[] = {
655*c4f6f9c0SGeorgi Djakov 	"gpio51", "gpio52", "gpio53", "gpio54"
656*c4f6f9c0SGeorgi Djakov };
657*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart9_groups[] = {
658*c4f6f9c0SGeorgi Djakov 	"gpio55", "gpio56", "gpio57", "gpio58"
659*c4f6f9c0SGeorgi Djakov };
660*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart10_groups[] = {
661*c4f6f9c0SGeorgi Djakov 	"gpio59", "gpio60", "gpio61", "gpio62"
662*c4f6f9c0SGeorgi Djakov };
663*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart11_groups[] = {
664*c4f6f9c0SGeorgi Djakov 	"gpio63", "gpio64", "gpio65", "gpio66"
665*c4f6f9c0SGeorgi Djakov };
666*c4f6f9c0SGeorgi Djakov static const char * const blsp_uart12_groups[] = {
667*c4f6f9c0SGeorgi Djakov 	"gpio47", "gpio48", "gpio49", "gpio50"
668*c4f6f9c0SGeorgi Djakov };
669*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim1_groups[] = {
670*c4f6f9c0SGeorgi Djakov 	"gpio0", "gpio1"
671*c4f6f9c0SGeorgi Djakov };
672*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim2_groups[] = {
673*c4f6f9c0SGeorgi Djakov 	"gpio4", "gpio5"
674*c4f6f9c0SGeorgi Djakov };
675*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim3_groups[] = {
676*c4f6f9c0SGeorgi Djakov 	"gpio8", "gpio9"
677*c4f6f9c0SGeorgi Djakov };
678*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim4_groups[] = {
679*c4f6f9c0SGeorgi Djakov 	"gpio27", "gpio28"
680*c4f6f9c0SGeorgi Djakov };
681*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim5_groups[] = {
682*c4f6f9c0SGeorgi Djakov 	"gpio39", "gpio40"
683*c4f6f9c0SGeorgi Djakov };
684*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim6_groups[] = {
685*c4f6f9c0SGeorgi Djakov 	"gpio43", "gpio44"
686*c4f6f9c0SGeorgi Djakov };
687*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim7_groups[] = {
688*c4f6f9c0SGeorgi Djakov 	"gpio130", "gpio131"
689*c4f6f9c0SGeorgi Djakov };
690*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim8_groups[] = {
691*c4f6f9c0SGeorgi Djakov 	"gpio51", "gpio52"
692*c4f6f9c0SGeorgi Djakov };
693*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim9_groups[] = {
694*c4f6f9c0SGeorgi Djakov 	"gpio55", "gpio56"
695*c4f6f9c0SGeorgi Djakov };
696*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim10_groups[] = {
697*c4f6f9c0SGeorgi Djakov 	"gpio59", "gpio60"
698*c4f6f9c0SGeorgi Djakov };
699*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim11_groups[] = {
700*c4f6f9c0SGeorgi Djakov 	"gpio63", "gpio64"
701*c4f6f9c0SGeorgi Djakov };
702*c4f6f9c0SGeorgi Djakov static const char * const blsp_uim12_groups[] = {
703*c4f6f9c0SGeorgi Djakov 	"gpio47", "gpio48"
704*c4f6f9c0SGeorgi Djakov };
705*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi1_cs1_groups[] = {
706*c4f6f9c0SGeorgi Djakov 	"gpio116"
707*c4f6f9c0SGeorgi Djakov };
708*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi1_cs2_groups[] = {
709*c4f6f9c0SGeorgi Djakov 	"gpio117"
710*c4f6f9c0SGeorgi Djakov };
711*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi1_cs3_groups[] = {
712*c4f6f9c0SGeorgi Djakov 	"gpio118"
713*c4f6f9c0SGeorgi Djakov };
714*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi3_cs1_groups[] = {
715*c4f6f9c0SGeorgi Djakov 	"gpio67"
716*c4f6f9c0SGeorgi Djakov };
717*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi3_cs2_groups[] = {
718*c4f6f9c0SGeorgi Djakov 	"gpio71"
719*c4f6f9c0SGeorgi Djakov };
720*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi3_cs3_groups[] = {
721*c4f6f9c0SGeorgi Djakov 	"gpio72"
722*c4f6f9c0SGeorgi Djakov };
723*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi10_cs1_groups[] = {
724*c4f6f9c0SGeorgi Djakov 	"gpio106"
725*c4f6f9c0SGeorgi Djakov };
726*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi10_cs2_groups[] = {
727*c4f6f9c0SGeorgi Djakov 	"gpio111"
728*c4f6f9c0SGeorgi Djakov };
729*c4f6f9c0SGeorgi Djakov static const char * const blsp_spi10_cs3_groups[] = {
730*c4f6f9c0SGeorgi Djakov 	"gpio128"
731*c4f6f9c0SGeorgi Djakov };
732*c4f6f9c0SGeorgi Djakov static const char * const cam_mclk0_groups[] = {
733*c4f6f9c0SGeorgi Djakov 	"gpio15"
734*c4f6f9c0SGeorgi Djakov };
735*c4f6f9c0SGeorgi Djakov static const char * const cam_mclk1_groups[] = {
736*c4f6f9c0SGeorgi Djakov 	"gpio16"
737*c4f6f9c0SGeorgi Djakov };
738*c4f6f9c0SGeorgi Djakov static const char * const cam_mclk2_groups[] = {
739*c4f6f9c0SGeorgi Djakov 	"gpio17"
740*c4f6f9c0SGeorgi Djakov };
741*c4f6f9c0SGeorgi Djakov static const char * const cam_mclk3_groups[] = {
742*c4f6f9c0SGeorgi Djakov 	"gpio18"
743*c4f6f9c0SGeorgi Djakov };
744*c4f6f9c0SGeorgi Djakov static const char * const cci_async_groups[] = {
745*c4f6f9c0SGeorgi Djakov 	"gpio26", "gpio119"
746*c4f6f9c0SGeorgi Djakov };
747*c4f6f9c0SGeorgi Djakov static const char * const cci_async_in0_groups[] = {
748*c4f6f9c0SGeorgi Djakov 	"gpio120"
749*c4f6f9c0SGeorgi Djakov };
750*c4f6f9c0SGeorgi Djakov static const char * const cci_i2c0_groups[] = {
751*c4f6f9c0SGeorgi Djakov 	"gpio19", "gpio20"
752*c4f6f9c0SGeorgi Djakov };
753*c4f6f9c0SGeorgi Djakov static const char * const cci_i2c1_groups[] = {
754*c4f6f9c0SGeorgi Djakov 	"gpio21", "gpio22"
755*c4f6f9c0SGeorgi Djakov };
756*c4f6f9c0SGeorgi Djakov static const char * const cci_timer0_groups[] = {
757*c4f6f9c0SGeorgi Djakov 	"gpio23"
758*c4f6f9c0SGeorgi Djakov };
759*c4f6f9c0SGeorgi Djakov static const char * const cci_timer1_groups[] = {
760*c4f6f9c0SGeorgi Djakov 	"gpio24"
761*c4f6f9c0SGeorgi Djakov };
762*c4f6f9c0SGeorgi Djakov static const char * const cci_timer2_groups[] = {
763*c4f6f9c0SGeorgi Djakov 	"gpio25"
764*c4f6f9c0SGeorgi Djakov };
765*c4f6f9c0SGeorgi Djakov static const char * const cci_timer3_groups[] = {
766*c4f6f9c0SGeorgi Djakov 	"gpio26"
767*c4f6f9c0SGeorgi Djakov };
768*c4f6f9c0SGeorgi Djakov static const char * const cci_timer4_groups[] = {
769*c4f6f9c0SGeorgi Djakov 	"gpio119"
770*c4f6f9c0SGeorgi Djakov };
771*c4f6f9c0SGeorgi Djakov static const char * const edp_hpd_groups[] = {
772*c4f6f9c0SGeorgi Djakov 	"gpio103"
773*c4f6f9c0SGeorgi Djakov };
774*c4f6f9c0SGeorgi Djakov static const char * const gcc_gp1_groups[] = {
775*c4f6f9c0SGeorgi Djakov 	"gpio37"
776*c4f6f9c0SGeorgi Djakov };
777*c4f6f9c0SGeorgi Djakov static const char * const gcc_gp2_groups[] = {
778*c4f6f9c0SGeorgi Djakov 	"gpio38"
779*c4f6f9c0SGeorgi Djakov };
780*c4f6f9c0SGeorgi Djakov static const char * const gcc_gp3_groups[] = {
781*c4f6f9c0SGeorgi Djakov 	"gpio86"
782*c4f6f9c0SGeorgi Djakov };
783*c4f6f9c0SGeorgi Djakov static const char * const gcc_obt_groups[] = {
784*c4f6f9c0SGeorgi Djakov 	"gpio127"
785*c4f6f9c0SGeorgi Djakov };
786*c4f6f9c0SGeorgi Djakov static const char * const gcc_vtt_groups[] = {
787*c4f6f9c0SGeorgi Djakov 	"gpio126"
788*c4f6f9c0SGeorgi Djakov };
789*c4f6f9c0SGeorgi Djakov static const char * const gp_mn_groups[] = {
790*c4f6f9c0SGeorgi Djakov 	"gpio29"
791*c4f6f9c0SGeorgi Djakov };
792*c4f6f9c0SGeorgi Djakov static const char * const gp_pdm0_groups[] = {
793*c4f6f9c0SGeorgi Djakov 	"gpio48", "gpio83"
794*c4f6f9c0SGeorgi Djakov };
795*c4f6f9c0SGeorgi Djakov static const char * const gp_pdm1_groups[] = {
796*c4f6f9c0SGeorgi Djakov 	"gpio84", "gpio101"
797*c4f6f9c0SGeorgi Djakov };
798*c4f6f9c0SGeorgi Djakov static const char * const gp_pdm2_groups[] = {
799*c4f6f9c0SGeorgi Djakov 	"gpio85", "gpio110"
800*c4f6f9c0SGeorgi Djakov };
801*c4f6f9c0SGeorgi Djakov static const char * const gp0_clk_groups[] = {
802*c4f6f9c0SGeorgi Djakov 	"gpio25"
803*c4f6f9c0SGeorgi Djakov };
804*c4f6f9c0SGeorgi Djakov static const char * const gp1_clk_groups[] = {
805*c4f6f9c0SGeorgi Djakov 	"gpio26"
806*c4f6f9c0SGeorgi Djakov };
807*c4f6f9c0SGeorgi Djakov static const char * const hdmi_cec_groups[] = {
808*c4f6f9c0SGeorgi Djakov 	"gpio31"
809*c4f6f9c0SGeorgi Djakov };
810*c4f6f9c0SGeorgi Djakov static const char * const hdmi_ddc_groups[] = {
811*c4f6f9c0SGeorgi Djakov 	"gpio32", "gpio33"
812*c4f6f9c0SGeorgi Djakov };
813*c4f6f9c0SGeorgi Djakov static const char * const hdmi_dtest_groups[] = {
814*c4f6f9c0SGeorgi Djakov 	"gpio123"
815*c4f6f9c0SGeorgi Djakov };
816*c4f6f9c0SGeorgi Djakov static const char * const hdmi_hpd_groups[] = {
817*c4f6f9c0SGeorgi Djakov 	"gpio34"
818*c4f6f9c0SGeorgi Djakov };
819*c4f6f9c0SGeorgi Djakov static const char * const hdmi_rcv_groups[] = {
820*c4f6f9c0SGeorgi Djakov 	"gpio125"
821*c4f6f9c0SGeorgi Djakov };
822*c4f6f9c0SGeorgi Djakov static const char * const hsic_groups[] = {
823*c4f6f9c0SGeorgi Djakov 	"gpio134", "gpio135"
824*c4f6f9c0SGeorgi Djakov };
825*c4f6f9c0SGeorgi Djakov static const char * const ldo_en_groups[] = {
826*c4f6f9c0SGeorgi Djakov 	"gpio124"
827*c4f6f9c0SGeorgi Djakov };
828*c4f6f9c0SGeorgi Djakov static const char * const ldo_update_groups[] = {
829*c4f6f9c0SGeorgi Djakov 	"gpio125"
830*c4f6f9c0SGeorgi Djakov };
831*c4f6f9c0SGeorgi Djakov static const char * const mdp_vsync_groups[] = {
832*c4f6f9c0SGeorgi Djakov 	"gpio12", "gpio13", "gpio14"
833*c4f6f9c0SGeorgi Djakov };
834*c4f6f9c0SGeorgi Djakov static const char * const pci_e0_groups[] = {
835*c4f6f9c0SGeorgi Djakov 	"gpio68", "gpio70"
836*c4f6f9c0SGeorgi Djakov };
837*c4f6f9c0SGeorgi Djakov static const char * const pci_e0_n_groups[] = {
838*c4f6f9c0SGeorgi Djakov 	"gpio68", "gpio70"
839*c4f6f9c0SGeorgi Djakov };
840*c4f6f9c0SGeorgi Djakov static const char * const pci_e0_rst_groups[] = {
841*c4f6f9c0SGeorgi Djakov 	"gpio70"
842*c4f6f9c0SGeorgi Djakov };
843*c4f6f9c0SGeorgi Djakov static const char * const pci_e1_groups[] = {
844*c4f6f9c0SGeorgi Djakov 	"gpio140"
845*c4f6f9c0SGeorgi Djakov };
846*c4f6f9c0SGeorgi Djakov static const char * const pci_e1_rst_groups[] = {
847*c4f6f9c0SGeorgi Djakov 	"gpio140"
848*c4f6f9c0SGeorgi Djakov };
849*c4f6f9c0SGeorgi Djakov static const char * const pci_e1_rst_n_groups[] = {
850*c4f6f9c0SGeorgi Djakov 	"gpio140"
851*c4f6f9c0SGeorgi Djakov };
852*c4f6f9c0SGeorgi Djakov static const char * const pci_e1_clkreq_n_groups[] = {
853*c4f6f9c0SGeorgi Djakov 	"gpio141"
854*c4f6f9c0SGeorgi Djakov };
855*c4f6f9c0SGeorgi Djakov static const char * const pri_mi2s_groups[] = {
856*c4f6f9c0SGeorgi Djakov 	"gpio76", "gpio77", "gpio78", "gpio79", "gpio80"
857*c4f6f9c0SGeorgi Djakov };
858*c4f6f9c0SGeorgi Djakov static const char * const qua_mi2s_groups[] = {
859*c4f6f9c0SGeorgi Djakov 	"gpio91", "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97"
860*c4f6f9c0SGeorgi Djakov };
861*c4f6f9c0SGeorgi Djakov static const char * const sata_act_groups[] = {
862*c4f6f9c0SGeorgi Djakov 	"gpio129"
863*c4f6f9c0SGeorgi Djakov };
864*c4f6f9c0SGeorgi Djakov static const char * const sata_devsleep_groups[] = {
865*c4f6f9c0SGeorgi Djakov 	"gpio119"
866*c4f6f9c0SGeorgi Djakov };
867*c4f6f9c0SGeorgi Djakov static const char * const sata_devsleep_n_groups[] = {
868*c4f6f9c0SGeorgi Djakov 	"gpio119"
869*c4f6f9c0SGeorgi Djakov };
870*c4f6f9c0SGeorgi Djakov static const char * const sd_write_groups[] = {
871*c4f6f9c0SGeorgi Djakov 	"gpio75"
872*c4f6f9c0SGeorgi Djakov };
873*c4f6f9c0SGeorgi Djakov static const char * const sdc_emmc_mode_groups[] = {
874*c4f6f9c0SGeorgi Djakov 	"gpio146"
875*c4f6f9c0SGeorgi Djakov };
876*c4f6f9c0SGeorgi Djakov static const char * const sdc3_groups[] = {
877*c4f6f9c0SGeorgi Djakov 	"gpio67", "gpio68", "gpio69", "gpio70", "gpio71", "gpio72"
878*c4f6f9c0SGeorgi Djakov };
879*c4f6f9c0SGeorgi Djakov static const char * const sdc4_groups[] = {
880*c4f6f9c0SGeorgi Djakov 	"gpio82", "gpio83", "gpio84", "gpio85", "gpio86",
881*c4f6f9c0SGeorgi Djakov 	"gpio91", "gpio95", "gpio96", "gpio97", "gpio101"
882*c4f6f9c0SGeorgi Djakov };
883*c4f6f9c0SGeorgi Djakov static const char * const sec_mi2s_groups[] = {
884*c4f6f9c0SGeorgi Djakov 	"gpio81", "gpio82", "gpio83", "gpio84", "gpio85"
885*c4f6f9c0SGeorgi Djakov };
886*c4f6f9c0SGeorgi Djakov static const char * const slimbus_groups[] = {
887*c4f6f9c0SGeorgi Djakov 	"gpio98", "gpio99"
888*c4f6f9c0SGeorgi Djakov };
889*c4f6f9c0SGeorgi Djakov static const char * const spdif_tx_groups[] = {
890*c4f6f9c0SGeorgi Djakov 	"gpio124", "gpio136", "gpio142"
891*c4f6f9c0SGeorgi Djakov };
892*c4f6f9c0SGeorgi Djakov static const char * const spkr_i2s_groups[] = {
893*c4f6f9c0SGeorgi Djakov 	"gpio98", "gpio99", "gpio100"
894*c4f6f9c0SGeorgi Djakov };
895*c4f6f9c0SGeorgi Djakov static const char * const spkr_i2s_ws_groups[] = {
896*c4f6f9c0SGeorgi Djakov 	"gpio104"
897*c4f6f9c0SGeorgi Djakov };
898*c4f6f9c0SGeorgi Djakov static const char * const spss_geni_groups[] = {
899*c4f6f9c0SGeorgi Djakov 	"gpio8", "gpio9"
900*c4f6f9c0SGeorgi Djakov };
901*c4f6f9c0SGeorgi Djakov static const char * const ter_mi2s_groups[] = {
902*c4f6f9c0SGeorgi Djakov 	"gpio86", "gpio87", "gpio88", "gpio89", "gpio90"
903*c4f6f9c0SGeorgi Djakov };
904*c4f6f9c0SGeorgi Djakov static const char * const tsif1_groups[] = {
905*c4f6f9c0SGeorgi Djakov 	"gpio82", "gpio83", "gpio84", "gpio85", "gpio86"
906*c4f6f9c0SGeorgi Djakov };
907*c4f6f9c0SGeorgi Djakov static const char * const tsif2_groups[] = {
908*c4f6f9c0SGeorgi Djakov 	"gpio91", "gpio95", "gpio96", "gpio97", "gpio101"
909*c4f6f9c0SGeorgi Djakov };
910*c4f6f9c0SGeorgi Djakov static const char * const uim_groups[] = {
911*c4f6f9c0SGeorgi Djakov 	"gpio130", "gpio131", "gpio132", "gpio133"
912*c4f6f9c0SGeorgi Djakov };
913*c4f6f9c0SGeorgi Djakov static const char * const uim_batt_alarm_groups[] = {
914*c4f6f9c0SGeorgi Djakov 	"gpio102"
915*c4f6f9c0SGeorgi Djakov };
916*c4f6f9c0SGeorgi Djakov static const struct msm_function apq8084_functions[] = {
917*c4f6f9c0SGeorgi Djakov 	FUNCTION(adsp_ext),
918*c4f6f9c0SGeorgi Djakov 	FUNCTION(audio_ref),
919*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c1),
920*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c2),
921*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c3),
922*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c4),
923*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c5),
924*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c6),
925*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c7),
926*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c8),
927*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c9),
928*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c10),
929*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c11),
930*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_i2c12),
931*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi1),
932*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi1_cs1),
933*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi1_cs2),
934*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi1_cs3),
935*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi2),
936*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi3),
937*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi3_cs1),
938*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi3_cs2),
939*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi3_cs3),
940*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi4),
941*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi5),
942*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi6),
943*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi7),
944*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi8),
945*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi9),
946*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi10),
947*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi10_cs1),
948*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi10_cs2),
949*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi10_cs3),
950*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi11),
951*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_spi12),
952*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart1),
953*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart2),
954*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart3),
955*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart4),
956*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart5),
957*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart6),
958*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart7),
959*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart8),
960*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart9),
961*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart10),
962*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart11),
963*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uart12),
964*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim1),
965*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim2),
966*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim3),
967*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim4),
968*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim5),
969*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim6),
970*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim7),
971*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim8),
972*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim9),
973*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim10),
974*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim11),
975*c4f6f9c0SGeorgi Djakov 	FUNCTION(blsp_uim12),
976*c4f6f9c0SGeorgi Djakov 	FUNCTION(cam_mclk0),
977*c4f6f9c0SGeorgi Djakov 	FUNCTION(cam_mclk1),
978*c4f6f9c0SGeorgi Djakov 	FUNCTION(cam_mclk2),
979*c4f6f9c0SGeorgi Djakov 	FUNCTION(cam_mclk3),
980*c4f6f9c0SGeorgi Djakov 	FUNCTION(cci_async),
981*c4f6f9c0SGeorgi Djakov 	FUNCTION(cci_async_in0),
982*c4f6f9c0SGeorgi Djakov 	FUNCTION(cci_i2c0),
983*c4f6f9c0SGeorgi Djakov 	FUNCTION(cci_i2c1),
984*c4f6f9c0SGeorgi Djakov 	FUNCTION(cci_timer0),
985*c4f6f9c0SGeorgi Djakov 	FUNCTION(cci_timer1),
986*c4f6f9c0SGeorgi Djakov 	FUNCTION(cci_timer2),
987*c4f6f9c0SGeorgi Djakov 	FUNCTION(cci_timer3),
988*c4f6f9c0SGeorgi Djakov 	FUNCTION(cci_timer4),
989*c4f6f9c0SGeorgi Djakov 	FUNCTION(edp_hpd),
990*c4f6f9c0SGeorgi Djakov 	FUNCTION(gcc_gp1),
991*c4f6f9c0SGeorgi Djakov 	FUNCTION(gcc_gp2),
992*c4f6f9c0SGeorgi Djakov 	FUNCTION(gcc_gp3),
993*c4f6f9c0SGeorgi Djakov 	FUNCTION(gcc_obt),
994*c4f6f9c0SGeorgi Djakov 	FUNCTION(gcc_vtt),
995*c4f6f9c0SGeorgi Djakov 	FUNCTION(gp_mn),
996*c4f6f9c0SGeorgi Djakov 	FUNCTION(gp_pdm0),
997*c4f6f9c0SGeorgi Djakov 	FUNCTION(gp_pdm1),
998*c4f6f9c0SGeorgi Djakov 	FUNCTION(gp_pdm2),
999*c4f6f9c0SGeorgi Djakov 	FUNCTION(gp0_clk),
1000*c4f6f9c0SGeorgi Djakov 	FUNCTION(gp1_clk),
1001*c4f6f9c0SGeorgi Djakov 	FUNCTION(gpio),
1002*c4f6f9c0SGeorgi Djakov 	FUNCTION(hdmi_cec),
1003*c4f6f9c0SGeorgi Djakov 	FUNCTION(hdmi_ddc),
1004*c4f6f9c0SGeorgi Djakov 	FUNCTION(hdmi_dtest),
1005*c4f6f9c0SGeorgi Djakov 	FUNCTION(hdmi_hpd),
1006*c4f6f9c0SGeorgi Djakov 	FUNCTION(hdmi_rcv),
1007*c4f6f9c0SGeorgi Djakov 	FUNCTION(hsic),
1008*c4f6f9c0SGeorgi Djakov 	FUNCTION(ldo_en),
1009*c4f6f9c0SGeorgi Djakov 	FUNCTION(ldo_update),
1010*c4f6f9c0SGeorgi Djakov 	FUNCTION(mdp_vsync),
1011*c4f6f9c0SGeorgi Djakov 	FUNCTION(pci_e0),
1012*c4f6f9c0SGeorgi Djakov 	FUNCTION(pci_e0_n),
1013*c4f6f9c0SGeorgi Djakov 	FUNCTION(pci_e0_rst),
1014*c4f6f9c0SGeorgi Djakov 	FUNCTION(pci_e1),
1015*c4f6f9c0SGeorgi Djakov 	FUNCTION(pci_e1_rst),
1016*c4f6f9c0SGeorgi Djakov 	FUNCTION(pci_e1_rst_n),
1017*c4f6f9c0SGeorgi Djakov 	FUNCTION(pci_e1_clkreq_n),
1018*c4f6f9c0SGeorgi Djakov 	FUNCTION(pri_mi2s),
1019*c4f6f9c0SGeorgi Djakov 	FUNCTION(qua_mi2s),
1020*c4f6f9c0SGeorgi Djakov 	FUNCTION(sata_act),
1021*c4f6f9c0SGeorgi Djakov 	FUNCTION(sata_devsleep),
1022*c4f6f9c0SGeorgi Djakov 	FUNCTION(sata_devsleep_n),
1023*c4f6f9c0SGeorgi Djakov 	FUNCTION(sd_write),
1024*c4f6f9c0SGeorgi Djakov 	FUNCTION(sdc_emmc_mode),
1025*c4f6f9c0SGeorgi Djakov 	FUNCTION(sdc3),
1026*c4f6f9c0SGeorgi Djakov 	FUNCTION(sdc4),
1027*c4f6f9c0SGeorgi Djakov 	FUNCTION(sec_mi2s),
1028*c4f6f9c0SGeorgi Djakov 	FUNCTION(slimbus),
1029*c4f6f9c0SGeorgi Djakov 	FUNCTION(spdif_tx),
1030*c4f6f9c0SGeorgi Djakov 	FUNCTION(spkr_i2s),
1031*c4f6f9c0SGeorgi Djakov 	FUNCTION(spkr_i2s_ws),
1032*c4f6f9c0SGeorgi Djakov 	FUNCTION(spss_geni),
1033*c4f6f9c0SGeorgi Djakov 	FUNCTION(ter_mi2s),
1034*c4f6f9c0SGeorgi Djakov 	FUNCTION(tsif1),
1035*c4f6f9c0SGeorgi Djakov 	FUNCTION(tsif2),
1036*c4f6f9c0SGeorgi Djakov 	FUNCTION(uim),
1037*c4f6f9c0SGeorgi Djakov 	FUNCTION(uim_batt_alarm),
1038*c4f6f9c0SGeorgi Djakov };
1039*c4f6f9c0SGeorgi Djakov 
1040*c4f6f9c0SGeorgi Djakov static const struct msm_pingroup apq8084_groups[] = {
1041*c4f6f9c0SGeorgi Djakov 	PINGROUP(0,   blsp_spi1, blsp_uart1, blsp_uim1, NA, NA, NA, NA),
1042*c4f6f9c0SGeorgi Djakov 	PINGROUP(1,   blsp_spi1, blsp_uart1, blsp_uim1, NA, NA, NA, NA),
1043*c4f6f9c0SGeorgi Djakov 	PINGROUP(2,   blsp_spi1, blsp_uart1, blsp_i2c1, NA, NA, NA, NA),
1044*c4f6f9c0SGeorgi Djakov 	PINGROUP(3,   blsp_spi1, blsp_uart1, blsp_i2c1, NA, NA, NA, NA),
1045*c4f6f9c0SGeorgi Djakov 	PINGROUP(4,   blsp_spi2, blsp_uart2, blsp_uim2, NA, NA, NA, NA),
1046*c4f6f9c0SGeorgi Djakov 	PINGROUP(5,   blsp_spi2, blsp_uart2, blsp_uim2, NA, NA, NA, NA),
1047*c4f6f9c0SGeorgi Djakov 	PINGROUP(6,   blsp_spi2, blsp_uart2, blsp_i2c2, NA, NA, NA, NA),
1048*c4f6f9c0SGeorgi Djakov 	PINGROUP(7,   blsp_spi2, blsp_uart2, blsp_i2c2, NA, NA, NA, NA),
1049*c4f6f9c0SGeorgi Djakov 	PINGROUP(8,   blsp_spi3, blsp_uart3, blsp_uim3, spss_geni, NA, NA, NA),
1050*c4f6f9c0SGeorgi Djakov 	PINGROUP(9,   blsp_spi3, blsp_uim3, blsp_uart3, spss_geni, NA, NA, NA),
1051*c4f6f9c0SGeorgi Djakov 	PINGROUP(10,  blsp_spi3, blsp_uart3, blsp_i2c3, NA, NA, NA, NA),
1052*c4f6f9c0SGeorgi Djakov 	PINGROUP(11,  blsp_spi3, blsp_uart3, blsp_i2c3, NA, NA, NA, NA),
1053*c4f6f9c0SGeorgi Djakov 	PINGROUP(12,  mdp_vsync, NA, NA, NA, NA, NA, NA),
1054*c4f6f9c0SGeorgi Djakov 	PINGROUP(13,  mdp_vsync, NA, NA, NA, NA, NA, NA),
1055*c4f6f9c0SGeorgi Djakov 	PINGROUP(14,  mdp_vsync, NA, NA, NA, NA, NA, NA),
1056*c4f6f9c0SGeorgi Djakov 	PINGROUP(15,  cam_mclk0, NA, NA, NA, NA, NA, NA),
1057*c4f6f9c0SGeorgi Djakov 	PINGROUP(16,  cam_mclk1, NA, NA, NA, NA, NA, NA),
1058*c4f6f9c0SGeorgi Djakov 	PINGROUP(17,  cam_mclk2, NA, NA, NA, NA, NA, NA),
1059*c4f6f9c0SGeorgi Djakov 	PINGROUP(18,  cam_mclk3, NA, NA, NA, NA, NA, NA),
1060*c4f6f9c0SGeorgi Djakov 	PINGROUP(19,  cci_i2c0, NA, NA, NA, NA, NA, NA),
1061*c4f6f9c0SGeorgi Djakov 	PINGROUP(20,  cci_i2c0, NA, NA, NA, NA, NA, NA),
1062*c4f6f9c0SGeorgi Djakov 	PINGROUP(21,  cci_i2c1, NA, NA, NA, NA, NA, NA),
1063*c4f6f9c0SGeorgi Djakov 	PINGROUP(22,  cci_i2c1, NA, NA, NA, NA, NA, NA),
1064*c4f6f9c0SGeorgi Djakov 	PINGROUP(23,  cci_timer0, NA, NA, NA, NA, NA, NA),
1065*c4f6f9c0SGeorgi Djakov 	PINGROUP(24,  cci_timer1, NA, NA, NA, NA, NA, NA),
1066*c4f6f9c0SGeorgi Djakov 	PINGROUP(25,  cci_timer2, gp0_clk, NA, NA, NA, NA, NA),
1067*c4f6f9c0SGeorgi Djakov 	PINGROUP(26,  cci_timer3, cci_async, gp1_clk, NA, NA, NA, NA),
1068*c4f6f9c0SGeorgi Djakov 	PINGROUP(27,  blsp_spi4, blsp_uart4, blsp_uim4, NA, NA, NA, NA),
1069*c4f6f9c0SGeorgi Djakov 	PINGROUP(28,  blsp_spi4, blsp_uart4, blsp_uim4, NA, NA, NA, NA),
1070*c4f6f9c0SGeorgi Djakov 	PINGROUP(29,  blsp_spi4, blsp_uart4, blsp_i2c4, gp_mn, NA, NA, NA),
1071*c4f6f9c0SGeorgi Djakov 	PINGROUP(30,  blsp_spi4, blsp_uart4, blsp_i2c4, NA, NA, NA, NA),
1072*c4f6f9c0SGeorgi Djakov 	PINGROUP(31,  hdmi_cec, NA, NA, NA, NA, NA, NA),
1073*c4f6f9c0SGeorgi Djakov 	PINGROUP(32,  hdmi_ddc, NA, NA, NA, NA, NA, NA),
1074*c4f6f9c0SGeorgi Djakov 	PINGROUP(33,  hdmi_ddc, NA, NA, NA, NA, NA, NA),
1075*c4f6f9c0SGeorgi Djakov 	PINGROUP(34,  hdmi_hpd, NA, adsp_ext, NA, NA, NA, NA),
1076*c4f6f9c0SGeorgi Djakov 	PINGROUP(35,  NA, NA, NA, NA, NA, NA, NA),
1077*c4f6f9c0SGeorgi Djakov 	PINGROUP(36,  NA, NA, NA, NA, NA, NA, NA),
1078*c4f6f9c0SGeorgi Djakov 	PINGROUP(37,  gcc_gp1, NA, NA, NA, NA, NA, NA),
1079*c4f6f9c0SGeorgi Djakov 	PINGROUP(38,  gcc_gp2, NA, NA, NA, NA, NA, NA),
1080*c4f6f9c0SGeorgi Djakov 	PINGROUP(39,  blsp_spi5, blsp_uart5, blsp_uim5, NA, NA, NA, NA),
1081*c4f6f9c0SGeorgi Djakov 	PINGROUP(40,  blsp_spi5, blsp_uart5, blsp_uim5, NA, NA, NA, NA),
1082*c4f6f9c0SGeorgi Djakov 	PINGROUP(41,  blsp_spi5, blsp_uart5, blsp_i2c5, NA, NA, NA, NA),
1083*c4f6f9c0SGeorgi Djakov 	PINGROUP(42,  blsp_spi5, blsp_uart5, blsp_i2c5, NA, NA, NA, NA),
1084*c4f6f9c0SGeorgi Djakov 	PINGROUP(43,  blsp_spi6, blsp_uart6, blsp_uim6, NA, NA, NA, NA),
1085*c4f6f9c0SGeorgi Djakov 	PINGROUP(44,  blsp_spi6, blsp_uart6, blsp_uim6, NA, NA, NA, NA),
1086*c4f6f9c0SGeorgi Djakov 	PINGROUP(45,  blsp_spi6, blsp_uart6, blsp_i2c6, NA, NA, NA, NA),
1087*c4f6f9c0SGeorgi Djakov 	PINGROUP(46,  blsp_spi6, blsp_uart6, blsp_i2c6, NA, NA, NA, NA),
1088*c4f6f9c0SGeorgi Djakov 	PINGROUP(47,  blsp_spi12, blsp_uart12, blsp_uim12, NA, NA, NA, NA),
1089*c4f6f9c0SGeorgi Djakov 	PINGROUP(48,  blsp_spi12, blsp_uart12, blsp_uim12, gp_pdm0, NA, NA, NA),
1090*c4f6f9c0SGeorgi Djakov 	PINGROUP(49,  blsp_spi12, blsp_uart12, blsp_i2c12, NA, NA, NA, NA),
1091*c4f6f9c0SGeorgi Djakov 	PINGROUP(50,  blsp_spi12, blsp_uart12, blsp_i2c12, NA, NA, NA, NA),
1092*c4f6f9c0SGeorgi Djakov 	PINGROUP(51,  blsp_spi8, blsp_uart8, blsp_uim8, NA, NA, NA, NA),
1093*c4f6f9c0SGeorgi Djakov 	PINGROUP(52,  blsp_spi8, blsp_uart8, blsp_uim8, NA, NA, NA, NA),
1094*c4f6f9c0SGeorgi Djakov 	PINGROUP(53,  blsp_spi8, blsp_uart8, blsp_i2c8, NA, NA, NA, NA),
1095*c4f6f9c0SGeorgi Djakov 	PINGROUP(54,  blsp_spi8, blsp_uart8, blsp_i2c8, NA, NA, NA, NA),
1096*c4f6f9c0SGeorgi Djakov 	PINGROUP(55,  blsp_spi9, blsp_uart9, blsp_uim9, NA, NA, NA, NA),
1097*c4f6f9c0SGeorgi Djakov 	PINGROUP(56,  blsp_spi9, blsp_uart9, blsp_uim9, NA, NA, NA, NA),
1098*c4f6f9c0SGeorgi Djakov 	PINGROUP(57,  blsp_spi9, blsp_uart9, blsp_i2c9, NA, NA, NA, NA),
1099*c4f6f9c0SGeorgi Djakov 	PINGROUP(58,  blsp_spi9, blsp_uart9, blsp_i2c9, NA, NA, NA, NA),
1100*c4f6f9c0SGeorgi Djakov 	PINGROUP(59,  blsp_spi10, blsp_uart10, blsp_uim10, NA, NA, NA, NA),
1101*c4f6f9c0SGeorgi Djakov 	PINGROUP(60,  blsp_spi10, blsp_uart10, blsp_uim10, NA, NA, NA, NA),
1102*c4f6f9c0SGeorgi Djakov 	PINGROUP(61,  blsp_spi10, blsp_uart10, blsp_i2c10, NA, NA, NA, NA),
1103*c4f6f9c0SGeorgi Djakov 	PINGROUP(62,  blsp_spi10, blsp_uart10, blsp_i2c10, NA, NA, NA, NA),
1104*c4f6f9c0SGeorgi Djakov 	PINGROUP(63,  blsp_spi11, blsp_uart11, blsp_uim11, NA, NA, NA, NA),
1105*c4f6f9c0SGeorgi Djakov 	PINGROUP(64,  blsp_spi11, blsp_uart11, blsp_uim11, NA, NA, NA, NA),
1106*c4f6f9c0SGeorgi Djakov 	PINGROUP(65,  blsp_spi11, blsp_uart11, blsp_i2c11, NA, NA, NA, NA),
1107*c4f6f9c0SGeorgi Djakov 	PINGROUP(66,  blsp_spi11, blsp_uart11, blsp_i2c11, NA, NA, NA, NA),
1108*c4f6f9c0SGeorgi Djakov 	PINGROUP(67,  sdc3, blsp_spi3_cs1, NA, NA, NA, NA, NA),
1109*c4f6f9c0SGeorgi Djakov 	PINGROUP(68,  sdc3, pci_e0, NA, NA, NA, NA, NA),
1110*c4f6f9c0SGeorgi Djakov 	PINGROUP(69,  sdc3, NA, NA, NA, NA, NA, NA),
1111*c4f6f9c0SGeorgi Djakov 	PINGROUP(70,  sdc3, pci_e0_n, pci_e0, NA, NA, NA, NA),
1112*c4f6f9c0SGeorgi Djakov 	PINGROUP(71,  sdc3, blsp_spi3_cs2, NA, NA, NA, NA, NA),
1113*c4f6f9c0SGeorgi Djakov 	PINGROUP(72,  sdc3, blsp_spi3_cs3, NA, NA, NA, NA, NA),
1114*c4f6f9c0SGeorgi Djakov 	PINGROUP(73,  NA, NA, NA, NA, NA, NA, NA),
1115*c4f6f9c0SGeorgi Djakov 	PINGROUP(74,  NA, NA, NA, NA, NA, NA, NA),
1116*c4f6f9c0SGeorgi Djakov 	PINGROUP(75,  sd_write, NA, NA, NA, NA, NA, NA),
1117*c4f6f9c0SGeorgi Djakov 	PINGROUP(76,  pri_mi2s, NA, NA, NA, NA, NA, NA),
1118*c4f6f9c0SGeorgi Djakov 	PINGROUP(77,  pri_mi2s, NA, NA, NA, NA, NA, NA),
1119*c4f6f9c0SGeorgi Djakov 	PINGROUP(78,  pri_mi2s, NA, NA, NA, NA, NA, NA),
1120*c4f6f9c0SGeorgi Djakov 	PINGROUP(79,  pri_mi2s, NA, NA, NA, NA, NA, NA),
1121*c4f6f9c0SGeorgi Djakov 	PINGROUP(80,  pri_mi2s, NA, NA, NA, NA, NA, NA),
1122*c4f6f9c0SGeorgi Djakov 	PINGROUP(81,  sec_mi2s, NA, NA, NA, NA, NA, NA),
1123*c4f6f9c0SGeorgi Djakov 	PINGROUP(82,  sec_mi2s, sdc4, tsif1, NA, NA, NA, NA),
1124*c4f6f9c0SGeorgi Djakov 	PINGROUP(83,  sec_mi2s, sdc4, tsif1, NA, NA, NA, gp_pdm0),
1125*c4f6f9c0SGeorgi Djakov 	PINGROUP(84,  sec_mi2s, sdc4, tsif1, NA, NA, NA, gp_pdm1),
1126*c4f6f9c0SGeorgi Djakov 	PINGROUP(85,  sec_mi2s, sdc4, tsif1, NA, gp_pdm2, NA, NA),
1127*c4f6f9c0SGeorgi Djakov 	PINGROUP(86,  ter_mi2s, sdc4, tsif1, NA, NA, NA, gcc_gp3),
1128*c4f6f9c0SGeorgi Djakov 	PINGROUP(87,  ter_mi2s, NA, NA, NA, NA, NA, NA),
1129*c4f6f9c0SGeorgi Djakov 	PINGROUP(88,  ter_mi2s, NA, NA, NA, NA, NA, NA),
1130*c4f6f9c0SGeorgi Djakov 	PINGROUP(89,  ter_mi2s, NA, NA, NA, NA, NA, NA),
1131*c4f6f9c0SGeorgi Djakov 	PINGROUP(90,  ter_mi2s, NA, NA, NA, NA, NA, NA),
1132*c4f6f9c0SGeorgi Djakov 	PINGROUP(91,  qua_mi2s, sdc4, tsif2, NA, NA, NA, NA),
1133*c4f6f9c0SGeorgi Djakov 	PINGROUP(92,  qua_mi2s, NA, NA, NA, NA, NA, NA),
1134*c4f6f9c0SGeorgi Djakov 	PINGROUP(93,  qua_mi2s, NA, NA, NA, NA, NA, NA),
1135*c4f6f9c0SGeorgi Djakov 	PINGROUP(94,  qua_mi2s, NA, NA, NA, NA, NA, NA),
1136*c4f6f9c0SGeorgi Djakov 	PINGROUP(95,  qua_mi2s, sdc4, tsif2, NA, NA, NA, gcc_gp1),
1137*c4f6f9c0SGeorgi Djakov 	PINGROUP(96,  qua_mi2s, sdc4, tsif2, NA, NA, NA, gcc_gp2),
1138*c4f6f9c0SGeorgi Djakov 	PINGROUP(97,  qua_mi2s, sdc4, tsif2, NA, gcc_gp3, NA, NA),
1139*c4f6f9c0SGeorgi Djakov 	PINGROUP(98,  slimbus, spkr_i2s, NA, NA, NA, NA, NA),
1140*c4f6f9c0SGeorgi Djakov 	PINGROUP(99,  slimbus, spkr_i2s, NA, NA, NA, NA, NA),
1141*c4f6f9c0SGeorgi Djakov 	PINGROUP(100, audio_ref, spkr_i2s, NA, NA, NA, NA, NA),
1142*c4f6f9c0SGeorgi Djakov 	PINGROUP(101, sdc4, tsif2, gp_pdm1, NA, NA, NA, NA),
1143*c4f6f9c0SGeorgi Djakov 	PINGROUP(102, uim_batt_alarm, NA, NA, NA, NA, NA, NA),
1144*c4f6f9c0SGeorgi Djakov 	PINGROUP(103, edp_hpd, NA, NA, NA, NA, NA, NA),
1145*c4f6f9c0SGeorgi Djakov 	PINGROUP(104, spkr_i2s, NA, NA, NA, NA, NA, NA),
1146*c4f6f9c0SGeorgi Djakov 	PINGROUP(105, NA, NA, NA, NA, NA, NA, NA),
1147*c4f6f9c0SGeorgi Djakov 	PINGROUP(106, blsp_spi10_cs1, NA, NA, NA, NA, NA, NA),
1148*c4f6f9c0SGeorgi Djakov 	PINGROUP(107, NA, NA, NA, NA, NA, NA, NA),
1149*c4f6f9c0SGeorgi Djakov 	PINGROUP(108, NA, NA, NA, NA, NA, NA, NA),
1150*c4f6f9c0SGeorgi Djakov 	PINGROUP(109, NA, NA, NA, NA, NA, NA, NA),
1151*c4f6f9c0SGeorgi Djakov 	PINGROUP(110, gp_pdm2, NA, NA, NA, NA, NA, NA),
1152*c4f6f9c0SGeorgi Djakov 	PINGROUP(111, blsp_spi10_cs2, NA, NA, NA, NA, NA, NA),
1153*c4f6f9c0SGeorgi Djakov 	PINGROUP(112, NA, NA, NA, NA, NA, NA, NA),
1154*c4f6f9c0SGeorgi Djakov 	PINGROUP(113, NA, NA, NA, NA, NA, NA, NA),
1155*c4f6f9c0SGeorgi Djakov 	PINGROUP(114, NA, NA, NA, NA, NA, NA, NA),
1156*c4f6f9c0SGeorgi Djakov 	PINGROUP(115, NA, NA, NA, NA, NA, NA, NA),
1157*c4f6f9c0SGeorgi Djakov 	PINGROUP(116, blsp_spi1_cs1, NA, NA, NA, NA, NA, NA),
1158*c4f6f9c0SGeorgi Djakov 	PINGROUP(117, blsp_spi1_cs2, NA, NA, NA, NA, NA, NA),
1159*c4f6f9c0SGeorgi Djakov 	PINGROUP(118, blsp_spi1_cs3, NA, NA, NA, NA, NA, NA),
1160*c4f6f9c0SGeorgi Djakov 	PINGROUP(119, cci_timer4, cci_async, sata_devsleep, sata_devsleep_n, NA, NA, NA),
1161*c4f6f9c0SGeorgi Djakov 	PINGROUP(120, cci_async, NA, NA, NA, NA, NA, NA),
1162*c4f6f9c0SGeorgi Djakov 	PINGROUP(121, NA, NA, NA, NA, NA, NA, NA),
1163*c4f6f9c0SGeorgi Djakov 	PINGROUP(122, NA, NA, NA, NA, NA, NA, NA),
1164*c4f6f9c0SGeorgi Djakov 	PINGROUP(123, hdmi_dtest, NA, NA, NA, NA, NA, NA),
1165*c4f6f9c0SGeorgi Djakov 	PINGROUP(124, spdif_tx, ldo_en, NA, NA, NA, NA, NA),
1166*c4f6f9c0SGeorgi Djakov 	PINGROUP(125, ldo_update, hdmi_rcv, NA, NA, NA, NA, NA),
1167*c4f6f9c0SGeorgi Djakov 	PINGROUP(126, gcc_vtt, NA, NA, NA, NA, NA, NA),
1168*c4f6f9c0SGeorgi Djakov 	PINGROUP(127, gcc_obt, NA, NA, NA, NA, NA, NA),
1169*c4f6f9c0SGeorgi Djakov 	PINGROUP(128, blsp_spi10_cs3, NA, NA, NA, NA, NA, NA),
1170*c4f6f9c0SGeorgi Djakov 	PINGROUP(129, sata_act, NA, NA, NA, NA, NA, NA),
1171*c4f6f9c0SGeorgi Djakov 	PINGROUP(130, uim, blsp_spi7, blsp_uart7, blsp_uim7, NA, NA, NA),
1172*c4f6f9c0SGeorgi Djakov 	PINGROUP(131, uim, blsp_spi7, blsp_uart7, blsp_uim7, NA, NA, NA),
1173*c4f6f9c0SGeorgi Djakov 	PINGROUP(132, uim, blsp_spi7, blsp_uart7, blsp_i2c7, NA, NA, NA),
1174*c4f6f9c0SGeorgi Djakov 	PINGROUP(133, uim, blsp_spi7, blsp_uart7, blsp_i2c7, NA, NA, NA),
1175*c4f6f9c0SGeorgi Djakov 	PINGROUP(134, hsic, NA, NA, NA, NA, NA, NA),
1176*c4f6f9c0SGeorgi Djakov 	PINGROUP(135, hsic, NA, NA, NA, NA, NA, NA),
1177*c4f6f9c0SGeorgi Djakov 	PINGROUP(136, spdif_tx, NA, NA, NA, NA, NA, NA),
1178*c4f6f9c0SGeorgi Djakov 	PINGROUP(137, NA, NA, NA, NA, NA, NA, NA),
1179*c4f6f9c0SGeorgi Djakov 	PINGROUP(138, NA, NA, NA, NA, NA, NA, NA),
1180*c4f6f9c0SGeorgi Djakov 	PINGROUP(139, NA, NA, NA, NA, NA, NA, NA),
1181*c4f6f9c0SGeorgi Djakov 	PINGROUP(140, pci_e1_rst_n, pci_e1_rst, NA, NA, NA, NA, NA),
1182*c4f6f9c0SGeorgi Djakov 	PINGROUP(141, pci_e1_clkreq_n, NA, NA, NA, NA, NA, NA),
1183*c4f6f9c0SGeorgi Djakov 	PINGROUP(142, spdif_tx, NA, NA, NA, NA, NA, NA),
1184*c4f6f9c0SGeorgi Djakov 	PINGROUP(143, NA, NA, NA, NA, NA, NA, NA),
1185*c4f6f9c0SGeorgi Djakov 	PINGROUP(144, NA, NA, NA, NA, NA, NA, NA),
1186*c4f6f9c0SGeorgi Djakov 	PINGROUP(145, NA, NA, NA, NA, NA, NA, NA),
1187*c4f6f9c0SGeorgi Djakov 	PINGROUP(146, sdc_emmc_mode, NA, NA, NA, NA, NA, NA),
1188*c4f6f9c0SGeorgi Djakov 
1189*c4f6f9c0SGeorgi Djakov 	SDC_PINGROUP(sdc1_clk, 0x2044, 13, 6),
1190*c4f6f9c0SGeorgi Djakov 	SDC_PINGROUP(sdc1_cmd, 0x2044, 11, 3),
1191*c4f6f9c0SGeorgi Djakov 	SDC_PINGROUP(sdc1_data, 0x2044, 9, 0),
1192*c4f6f9c0SGeorgi Djakov 	SDC_PINGROUP(sdc2_clk, 0x2048, 14, 6),
1193*c4f6f9c0SGeorgi Djakov 	SDC_PINGROUP(sdc2_cmd, 0x2048, 11, 3),
1194*c4f6f9c0SGeorgi Djakov 	SDC_PINGROUP(sdc2_data, 0x2048, 9, 0),
1195*c4f6f9c0SGeorgi Djakov };
1196*c4f6f9c0SGeorgi Djakov 
1197*c4f6f9c0SGeorgi Djakov #define NUM_GPIO_PINGROUPS 147
1198*c4f6f9c0SGeorgi Djakov 
1199*c4f6f9c0SGeorgi Djakov static const struct msm_pinctrl_soc_data apq8084_pinctrl = {
1200*c4f6f9c0SGeorgi Djakov 	.pins = apq8084_pins,
1201*c4f6f9c0SGeorgi Djakov 	.npins = ARRAY_SIZE(apq8084_pins),
1202*c4f6f9c0SGeorgi Djakov 	.functions = apq8084_functions,
1203*c4f6f9c0SGeorgi Djakov 	.nfunctions = ARRAY_SIZE(apq8084_functions),
1204*c4f6f9c0SGeorgi Djakov 	.groups = apq8084_groups,
1205*c4f6f9c0SGeorgi Djakov 	.ngroups = ARRAY_SIZE(apq8084_groups),
1206*c4f6f9c0SGeorgi Djakov 	.ngpios = NUM_GPIO_PINGROUPS,
1207*c4f6f9c0SGeorgi Djakov };
1208*c4f6f9c0SGeorgi Djakov 
1209*c4f6f9c0SGeorgi Djakov static int apq8084_pinctrl_probe(struct platform_device *pdev)
1210*c4f6f9c0SGeorgi Djakov {
1211*c4f6f9c0SGeorgi Djakov 	return msm_pinctrl_probe(pdev, &apq8084_pinctrl);
1212*c4f6f9c0SGeorgi Djakov }
1213*c4f6f9c0SGeorgi Djakov 
1214*c4f6f9c0SGeorgi Djakov static const struct of_device_id apq8084_pinctrl_of_match[] = {
1215*c4f6f9c0SGeorgi Djakov 	{ .compatible = "qcom,apq8084-pinctrl", },
1216*c4f6f9c0SGeorgi Djakov 	{ },
1217*c4f6f9c0SGeorgi Djakov };
1218*c4f6f9c0SGeorgi Djakov 
1219*c4f6f9c0SGeorgi Djakov static struct platform_driver apq8084_pinctrl_driver = {
1220*c4f6f9c0SGeorgi Djakov 	.driver = {
1221*c4f6f9c0SGeorgi Djakov 		.name = "apq8084-pinctrl",
1222*c4f6f9c0SGeorgi Djakov 		.owner = THIS_MODULE,
1223*c4f6f9c0SGeorgi Djakov 		.of_match_table = apq8084_pinctrl_of_match,
1224*c4f6f9c0SGeorgi Djakov 	},
1225*c4f6f9c0SGeorgi Djakov 	.probe = apq8084_pinctrl_probe,
1226*c4f6f9c0SGeorgi Djakov 	.remove = msm_pinctrl_remove,
1227*c4f6f9c0SGeorgi Djakov };
1228*c4f6f9c0SGeorgi Djakov 
1229*c4f6f9c0SGeorgi Djakov static int __init apq8084_pinctrl_init(void)
1230*c4f6f9c0SGeorgi Djakov {
1231*c4f6f9c0SGeorgi Djakov 	return platform_driver_register(&apq8084_pinctrl_driver);
1232*c4f6f9c0SGeorgi Djakov }
1233*c4f6f9c0SGeorgi Djakov arch_initcall(apq8084_pinctrl_init);
1234*c4f6f9c0SGeorgi Djakov 
1235*c4f6f9c0SGeorgi Djakov static void __exit apq8084_pinctrl_exit(void)
1236*c4f6f9c0SGeorgi Djakov {
1237*c4f6f9c0SGeorgi Djakov 	platform_driver_unregister(&apq8084_pinctrl_driver);
1238*c4f6f9c0SGeorgi Djakov }
1239*c4f6f9c0SGeorgi Djakov module_exit(apq8084_pinctrl_exit);
1240*c4f6f9c0SGeorgi Djakov 
1241*c4f6f9c0SGeorgi Djakov MODULE_DESCRIPTION("Qualcomm APQ8084 pinctrl driver");
1242*c4f6f9c0SGeorgi Djakov MODULE_LICENSE("GPL v2");
1243*c4f6f9c0SGeorgi Djakov MODULE_DEVICE_TABLE(of, apq8084_pinctrl_of_match);
1244