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