e2fsprogs: break out libcomerr/libss, FS#1310
[openwrt/staging/lynxis.git] / target / linux / ipq806x / patches-4.9 / 852-ipq4019-pinctrl-Updated-various-Pin-definitions.patch
1 From fc6cf61517b8b4ab4678659936fc7572f699d6e7 Mon Sep 17 00:00:00 2001
2 From: Ram Chandra Jangir <rjangir@codeaurora.org>
3 Date: Tue, 28 Mar 2017 14:00:00 +0530
4 Subject: [PATCH] ipq4019: pinctrl: Updated various Pin definitions
5
6 Populate default values for various GPIO functions
7
8 Signed-off-by: Ram Chandra Jangir <rjangir@codeaurora.org>
9 ---
10 drivers/pinctrl/qcom/pinctrl-ipq4019.c | 1189 +++++++++++++++++++++++++++++---
11 1 file changed, 1111 insertions(+), 78 deletions(-)
12
13 --- a/drivers/pinctrl/qcom/pinctrl-ipq4019.c
14 +++ b/drivers/pinctrl/qcom/pinctrl-ipq4019.c
15 @@ -276,16 +276,531 @@ DECLARE_QCA_GPIO_PINS(99);
16
17
18 enum ipq4019_functions {
19 + qca_mux_rmii0_refclk,
20 + qca_mux_wifi0_rfsilient0,
21 + qca_mux_wifi1_rfsilient0,
22 + qca_mux_smart2,
23 + qca_mux_led4,
24 + qca_mux_wifi0_cal,
25 + qca_mux_wifi1_cal,
26 + qca_mux_wifi_wci0,
27 + qca_mux_rmii0_dv,
28 + qca_mux_wifi_wci1,
29 + qca_mux_rmii1_refclk,
30 + qca_mux_blsp_spi1,
31 + qca_mux_led5,
32 + qca_mux_rmii10,
33 + qca_mux_led6,
34 + qca_mux_rmii11,
35 + qca_mux_led7,
36 + qca_mux_rmii1_dv,
37 + qca_mux_led8,
38 + qca_mux_rmii1_tx,
39 + qca_mux_aud_pin,
40 + qca_mux_led9,
41 + qca_mux_rmii1_rx,
42 + qca_mux_led10,
43 + qca_mux_wifi0_rfsilient1,
44 + qca_mux_wifi1_rfsilient1,
45 + qca_mux_led11,
46 + qca_mux_boot7,
47 + qca_mux_qpic_pad,
48 + qca_mux_pcie_clk,
49 + qca_mux_tm_clk0,
50 + qca_mux_wifi00,
51 + qca_mux_wifi10,
52 + qca_mux_mdio1,
53 + qca_mux_prng_rosc,
54 + qca_mux_dbg_out,
55 + qca_mux_tm0,
56 + qca_mux_wifi01,
57 + qca_mux_wifi11,
58 + qca_mux_atest_char3,
59 + qca_mux_pmu0,
60 + qca_mux_boot8,
61 + qca_mux_tm1,
62 + qca_mux_atest_char2,
63 + qca_mux_pmu1,
64 + qca_mux_boot9,
65 + qca_mux_tm2,
66 + qca_mux_atest_char1,
67 + qca_mux_tm_ack,
68 + qca_mux_wifi03,
69 + qca_mux_wifi13,
70 + qca_mux_qpic_pad4,
71 + qca_mux_atest_char0,
72 + qca_mux_tm3,
73 + qca_mux_wifi02,
74 + qca_mux_wifi12,
75 + qca_mux_qpic_pad5,
76 + qca_mux_smart3,
77 + qca_mux_wcss0_dbg14,
78 + qca_mux_tm4,
79 + qca_mux_wifi04,
80 + qca_mux_wifi14,
81 + qca_mux_qpic_pad6,
82 + qca_mux_wcss0_dbg15,
83 + qca_mux_qdss_tracectl_a,
84 + qca_mux_boot18,
85 + qca_mux_tm5,
86 + qca_mux_qpic_pad7,
87 + qca_mux_atest_char,
88 + qca_mux_wcss0_dbg4,
89 + qca_mux_qdss_traceclk_a,
90 + qca_mux_boot19,
91 + qca_mux_tm6,
92 + qca_mux_wcss0_dbg5,
93 + qca_mux_qdss_cti_trig_out_a0,
94 + qca_mux_boot14,
95 + qca_mux_tm7,
96 + qca_mux_chip_rst,
97 + qca_mux_wcss0_dbg6,
98 + qca_mux_qdss_cti_trig_out_b0,
99 + qca_mux_boot11,
100 + qca_mux_tm8,
101 + qca_mux_wcss0_dbg7,
102 + qca_mux_wcss1_dbg7,
103 + qca_mux_boot20,
104 + qca_mux_tm9,
105 + qca_mux_qpic_pad1,
106 + qca_mux_wcss0_dbg8,
107 + qca_mux_wcss1_dbg8,
108 + qca_mux_qpic_pad2,
109 + qca_mux_wcss0_dbg9,
110 + qca_mux_wcss1_dbg9,
111 + qca_mux_qpic_pad3,
112 + qca_mux_wcss0_dbg10,
113 + qca_mux_wcss1_dbg10,
114 + qca_mux_qpic_pad0,
115 + qca_mux_wcss0_dbg11,
116 + qca_mux_wcss1_dbg11,
117 + qca_mux_qpic_pad8,
118 + qca_mux_wcss0_dbg12,
119 + qca_mux_wcss1_dbg12,
120 + qca_mux_wifi034,
121 + qca_mux_wifi134,
122 + qca_mux_jtag_tdi,
123 qca_mux_gpio,
124 + qca_mux_i2s_rx_bclk,
125 + qca_mux_jtag_tck,
126 + qca_mux_i2s_rx_fsync,
127 + qca_mux_jtag_tms,
128 + qca_mux_i2s_rxd,
129 + qca_mux_smart0,
130 + qca_mux_jtag_tdo,
131 + qca_mux_jtag_rst,
132 + qca_mux_jtag_trst,
133 + qca_mux_mdio0,
134 + qca_mux_wcss0_dbg18,
135 + qca_mux_wcss1_dbg18,
136 + qca_mux_qdss_tracedata_a,
137 + qca_mux_mdc,
138 + qca_mux_wcss0_dbg19,
139 + qca_mux_wcss1_dbg19,
140 qca_mux_blsp_uart1,
141 + qca_mux_wifi0_uart,
142 + qca_mux_wifi1_uart,
143 + qca_mux_smart1,
144 + qca_mux_wcss0_dbg20,
145 + qca_mux_wcss1_dbg20,
146 + qca_mux_wifi0_uart0,
147 + qca_mux_wifi1_uart0,
148 + qca_mux_wcss0_dbg21,
149 + qca_mux_wcss1_dbg21,
150 qca_mux_blsp_i2c0,
151 + qca_mux_wcss0_dbg22,
152 + qca_mux_wcss1_dbg22,
153 + qca_mux_wcss0_dbg23,
154 + qca_mux_wcss1_dbg23,
155 + qca_mux_blsp_spi0,
156 qca_mux_blsp_i2c1,
157 + qca_mux_wcss0_dbg24,
158 + qca_mux_wcss1_dbg24,
159 + qca_mux_wcss0_dbg25,
160 + qca_mux_wcss1_dbg25,
161 + qca_mux_wcss0_dbg26,
162 + qca_mux_wcss1_dbg26,
163 + qca_mux_wcss0_dbg,
164 + qca_mux_wcss1_dbg,
165 qca_mux_blsp_uart0,
166 - qca_mux_blsp_spi1,
167 - qca_mux_blsp_spi0,
168 + qca_mux_led0,
169 + qca_mux_wcss0_dbg28,
170 + qca_mux_wcss1_dbg28,
171 + qca_mux_led1,
172 + qca_mux_wcss0_dbg29,
173 + qca_mux_wcss1_dbg29,
174 + qca_mux_wifi0_uart1,
175 + qca_mux_wifi1_uart1,
176 + qca_mux_wcss0_dbg30,
177 + qca_mux_wcss1_dbg30,
178 + qca_mux_wcss0_dbg31,
179 + qca_mux_wcss1_dbg31,
180 + qca_mux_i2s_rx_mclk,
181 + qca_mux_wcss0_dbg16,
182 + qca_mux_wcss1_dbg16,
183 + qca_mux_wcss0_dbg17,
184 + qca_mux_wcss1_dbg17,
185 + qca_mux_rgmii0,
186 + qca_mux_sdio0,
187 + qca_mux_rgmii1,
188 + qca_mux_sdio1,
189 + qca_mux_rgmii2,
190 + qca_mux_i2s_tx_mclk,
191 + qca_mux_sdio2,
192 + qca_mux_rgmii3,
193 + qca_mux_i2s_tx_bclk,
194 + qca_mux_sdio3,
195 + qca_mux_rgmii_rx,
196 + qca_mux_i2s_tx_fsync,
197 + qca_mux_sdio_clk,
198 + qca_mux_rgmii_txc,
199 + qca_mux_i2s_td1,
200 + qca_mux_sdio_cmd,
201 + qca_mux_i2s_td2,
202 + qca_mux_sdio4,
203 + qca_mux_i2s_td3,
204 + qca_mux_sdio5,
205 + qca_mux_audio_pwm0,
206 + qca_mux_sdio6,
207 + qca_mux_audio_pwm1,
208 + qca_mux_wcss0_dbg27,
209 + qca_mux_wcss1_dbg27,
210 + qca_mux_sdio7,
211 + qca_mux_rgmii_rxc,
212 + qca_mux_audio_pwm2,
213 + qca_mux_rgmii_tx,
214 + qca_mux_audio_pwm3,
215 + qca_mux_boot2,
216 + qca_mux_i2s_spdif_in,
217 + qca_mux_i2s_spdif_out,
218 + qca_mux_rmii00,
219 + qca_mux_led2,
220 + qca_mux_rmii01,
221 + qca_mux_wifi0_wci,
222 + qca_mux_wifi1_wci,
223 + qca_mux_boot4,
224 + qca_mux_rmii0_tx,
225 + qca_mux_boot5,
226 + qca_mux_rmii0_rx,
227 + qca_mux_pcie_clk1,
228 + qca_mux_led3,
229 + qca_mux_sdio_cd,
230 qca_mux_NA,
231 };
232
233 +static const char * const rmii0_refclk_groups[] = {
234 + "gpio40",
235 +};
236 +static const char * const wifi0_rfsilient0_groups[] = {
237 + "gpio40",
238 +};
239 +static const char * const wifi1_rfsilient0_groups[] = {
240 + "gpio40",
241 +};
242 +static const char * const smart2_groups[] = {
243 + "gpio40", "gpio41", "gpio48", "gpio49",
244 +};
245 +static const char * const led4_groups[] = {
246 + "gpio40",
247 +};
248 +static const char * const wifi0_cal_groups[] = {
249 + "gpio41", "gpio51",
250 +};
251 +static const char * const wifi1_cal_groups[] = {
252 + "gpio41", "gpio51",
253 +};
254 +static const char * const wifi_wci0_groups[] = {
255 + "gpio42",
256 +};
257 +static const char * const rmii0_dv_groups[] = {
258 + "gpio43",
259 +};
260 +static const char * const wifi_wci1_groups[] = {
261 + "gpio43",
262 +};
263 +static const char * const rmii1_refclk_groups[] = {
264 + "gpio44",
265 +};
266 +static const char * const blsp_spi1_groups[] = {
267 + "gpio44", "gpio45", "gpio46", "gpio47",
268 +};
269 +static const char * const led5_groups[] = {
270 + "gpio44",
271 +};
272 +static const char * const rmii10_groups[] = {
273 + "gpio45", "gpio50",
274 +};
275 +static const char * const led6_groups[] = {
276 + "gpio45",
277 +};
278 +static const char * const rmii11_groups[] = {
279 + "gpio46", "gpio51",
280 +};
281 +static const char * const led7_groups[] = {
282 + "gpio46",
283 +};
284 +static const char * const rmii1_dv_groups[] = {
285 + "gpio47",
286 +};
287 +static const char * const led8_groups[] = {
288 + "gpio47",
289 +};
290 +static const char * const rmii1_tx_groups[] = {
291 + "gpio48",
292 +};
293 +static const char * const aud_pin_groups[] = {
294 + "gpio48", "gpio49", "gpio50", "gpio51",
295 +};
296 +static const char * const led9_groups[] = {
297 + "gpio48",
298 +};
299 +static const char * const rmii1_rx_groups[] = {
300 + "gpio49",
301 +};
302 +static const char * const led10_groups[] = {
303 + "gpio49",
304 +};
305 +static const char * const wifi0_rfsilient1_groups[] = {
306 + "gpio50",
307 +};
308 +static const char * const wifi1_rfsilient1_groups[] = {
309 + "gpio50",
310 +};
311 +static const char * const led11_groups[] = {
312 + "gpio50",
313 +};
314 +static const char * const boot7_groups[] = {
315 + "gpio51",
316 +};
317 +static const char * const qpic_pad_groups[] = {
318 + "gpio52", "gpio53", "gpio54", "gpio55", "gpio56", "gpio61", "gpio62",
319 + "gpio63", "gpio69",
320 +};
321 +static const char * const pcie_clk_groups[] = {
322 + "gpio52",
323 +};
324 +static const char * const tm_clk0_groups[] = {
325 + "gpio52",
326 +};
327 +static const char * const wifi00_groups[] = {
328 + "gpio52",
329 +};
330 +static const char * const wifi10_groups[] = {
331 + "gpio52",
332 +};
333 +static const char * const mdio1_groups[] = {
334 + "gpio53",
335 +};
336 +static const char * const prng_rosc_groups[] = {
337 + "gpio53",
338 +};
339 +static const char * const dbg_out_groups[] = {
340 + "gpio53",
341 +};
342 +static const char * const tm0_groups[] = {
343 + "gpio53",
344 +};
345 +static const char * const wifi01_groups[] = {
346 + "gpio53",
347 +};
348 +static const char * const wifi11_groups[] = {
349 + "gpio53",
350 +};
351 +static const char * const atest_char3_groups[] = {
352 + "gpio54",
353 +};
354 +static const char * const pmu0_groups[] = {
355 + "gpio54",
356 +};
357 +static const char * const boot8_groups[] = {
358 + "gpio54",
359 +};
360 +static const char * const tm1_groups[] = {
361 + "gpio54",
362 +};
363 +static const char * const atest_char2_groups[] = {
364 + "gpio55",
365 +};
366 +static const char * const pmu1_groups[] = {
367 + "gpio55",
368 +};
369 +static const char * const boot9_groups[] = {
370 + "gpio55",
371 +};
372 +static const char * const tm2_groups[] = {
373 + "gpio55",
374 +};
375 +static const char * const atest_char1_groups[] = {
376 + "gpio56",
377 +};
378 +static const char * const tm_ack_groups[] = {
379 + "gpio56",
380 +};
381 +static const char * const wifi03_groups[] = {
382 + "gpio56",
383 +};
384 +static const char * const wifi13_groups[] = {
385 + "gpio56",
386 +};
387 +static const char * const qpic_pad4_groups[] = {
388 + "gpio57",
389 +};
390 +static const char * const atest_char0_groups[] = {
391 + "gpio57",
392 +};
393 +static const char * const tm3_groups[] = {
394 + "gpio57",
395 +};
396 +static const char * const wifi02_groups[] = {
397 + "gpio57",
398 +};
399 +static const char * const wifi12_groups[] = {
400 + "gpio57",
401 +};
402 +static const char * const qpic_pad5_groups[] = {
403 + "gpio58",
404 +};
405 +static const char * const smart3_groups[] = {
406 + "gpio58", "gpio59", "gpio60", "gpio61",
407 +};
408 +static const char * const wcss0_dbg14_groups[] = {
409 + "gpio58",
410 +};
411 +static const char * const tm4_groups[] = {
412 + "gpio58",
413 +};
414 +static const char * const wifi04_groups[] = {
415 + "gpio58",
416 +};
417 +static const char * const wifi14_groups[] = {
418 + "gpio58",
419 +};
420 +static const char * const qpic_pad6_groups[] = {
421 + "gpio59",
422 +};
423 +static const char * const wcss0_dbg15_groups[] = {
424 + "gpio59",
425 +};
426 +static const char * const qdss_tracectl_a_groups[] = {
427 + "gpio59",
428 +};
429 +static const char * const boot18_groups[] = {
430 + "gpio59",
431 +};
432 +static const char * const tm5_groups[] = {
433 + "gpio59",
434 +};
435 +static const char * const qpic_pad7_groups[] = {
436 + "gpio60",
437 +};
438 +static const char * const atest_char_groups[] = {
439 + "gpio60",
440 +};
441 +static const char * const wcss0_dbg4_groups[] = {
442 + "gpio60",
443 +};
444 +static const char * const qdss_traceclk_a_groups[] = {
445 + "gpio60",
446 +};
447 +static const char * const boot19_groups[] = {
448 + "gpio60",
449 +};
450 +static const char * const tm6_groups[] = {
451 + "gpio60",
452 +};
453 +static const char * const wcss0_dbg5_groups[] = {
454 + "gpio61",
455 +};
456 +static const char * const qdss_cti_trig_out_a0_groups[] = {
457 + "gpio61",
458 +};
459 +static const char * const boot14_groups[] = {
460 + "gpio61",
461 +};
462 +static const char * const tm7_groups[] = {
463 + "gpio61",
464 +};
465 +static const char * const chip_rst_groups[] = {
466 + "gpio62",
467 +};
468 +static const char * const wcss0_dbg6_groups[] = {
469 + "gpio62",
470 +};
471 +static const char * const qdss_cti_trig_out_b0_groups[] = {
472 + "gpio62",
473 +};
474 +static const char * const boot11_groups[] = {
475 + "gpio62",
476 +};
477 +static const char * const tm8_groups[] = {
478 + "gpio62",
479 +};
480 +static const char * const wcss0_dbg7_groups[] = {
481 + "gpio63",
482 +};
483 +static const char * const wcss1_dbg7_groups[] = {
484 + "gpio63",
485 +};
486 +static const char * const boot20_groups[] = {
487 + "gpio63",
488 +};
489 +static const char * const tm9_groups[] = {
490 + "gpio63",
491 +};
492 +static const char * const qpic_pad1_groups[] = {
493 + "gpio64",
494 +};
495 +static const char * const wcss0_dbg8_groups[] = {
496 + "gpio64",
497 +};
498 +static const char * const wcss1_dbg8_groups[] = {
499 + "gpio64",
500 +};
501 +static const char * const qpic_pad2_groups[] = {
502 + "gpio65",
503 +};
504 +static const char * const wcss0_dbg9_groups[] = {
505 + "gpio65",
506 +};
507 +static const char * const wcss1_dbg9_groups[] = {
508 + "gpio65",
509 +};
510 +static const char * const qpic_pad3_groups[] = {
511 + "gpio66",
512 +};
513 +static const char * const wcss0_dbg10_groups[] = {
514 + "gpio66",
515 +};
516 +static const char * const wcss1_dbg10_groups[] = {
517 + "gpio66",
518 +};
519 +static const char * const qpic_pad0_groups[] = {
520 + "gpio67",
521 +};
522 +static const char * const wcss0_dbg11_groups[] = {
523 + "gpio67",
524 +};
525 +static const char * const wcss1_dbg11_groups[] = {
526 + "gpio67",
527 +};
528 +static const char * const qpic_pad8_groups[] = {
529 + "gpio68",
530 +};
531 +static const char * const wcss0_dbg12_groups[] = {
532 + "gpio68",
533 +};
534 +static const char * const wcss1_dbg12_groups[] = {
535 + "gpio68",
536 +};
537 +static const char * const wifi034_groups[] = {
538 + "gpio98",
539 +};
540 +static const char * const wifi134_groups[] = {
541 + "gpio98",
542 +};
543 +static const char * const jtag_tdi_groups[] = {
544 + "gpio0",
545 +};
546 static const char * const gpio_groups[] = {
547 "gpio0", "gpio1", "gpio2", "gpio3", "gpio4", "gpio5", "gpio6", "gpio7",
548 "gpio8", "gpio9", "gpio10", "gpio11", "gpio12", "gpio13", "gpio14",
549 @@ -303,13 +818,103 @@ static const char * const gpio_groups[]
550 "gpio92", "gpio93", "gpio94", "gpio95", "gpio96", "gpio97", "gpio98",
551 "gpio99",
552 };
553 -
554 +static const char * const i2s_rx_bclk_groups[] = {
555 + "gpio0", "gpio21", "gpio60",
556 +};
557 +static const char * const jtag_tck_groups[] = {
558 + "gpio1",
559 +};
560 +static const char * const i2s_rx_fsync_groups[] = {
561 + "gpio1", "gpio22", "gpio61",
562 +};
563 +static const char * const jtag_tms_groups[] = {
564 + "gpio2",
565 +};
566 +static const char * const i2s_rxd_groups[] = {
567 + "gpio2", "gpio23", "gpio63",
568 +};
569 +static const char * const smart0_groups[] = {
570 + "gpio0", "gpio1", "gpio2", "gpio5", "gpio44", "gpio45", "gpio46",
571 + "gpio47",
572 +};
573 +static const char * const jtag_tdo_groups[] = {
574 + "gpio3",
575 +};
576 +static const char * const jtag_rst_groups[] = {
577 + "gpio4",
578 +};
579 +static const char * const jtag_trst_groups[] = {
580 + "gpio5",
581 +};
582 +static const char * const mdio0_groups[] = {
583 + "gpio6",
584 +};
585 +static const char * const wcss0_dbg18_groups[] = {
586 + "gpio6", "gpio22", "gpio39",
587 +};
588 +static const char * const wcss1_dbg18_groups[] = {
589 + "gpio6", "gpio22", "gpio39",
590 +};
591 +static const char * const qdss_tracedata_a_groups[] = {
592 + "gpio6", "gpio7", "gpio8", "gpio9", "gpio10", "gpio11", "gpio16",
593 + "gpio17", "gpio37", "gpio38", "gpio39", "gpio40", "gpio41", "gpio42",
594 + "gpio43",
595 +};
596 +static const char * const mdc_groups[] = {
597 + "gpio7", "gpio52",
598 +};
599 +static const char * const wcss0_dbg19_groups[] = {
600 + "gpio7", "gpio23", "gpio40",
601 +};
602 +static const char * const wcss1_dbg19_groups[] = {
603 + "gpio7", "gpio23", "gpio40",
604 +};
605 static const char * const blsp_uart1_groups[] = {
606 "gpio8", "gpio9", "gpio10", "gpio11",
607 };
608 +static const char * const wifi0_uart_groups[] = {
609 + "gpio8", "gpio9", "gpio11", "gpio19", "gpio62",
610 +};
611 +static const char * const wifi1_uart_groups[] = {
612 + "gpio8", "gpio11", "gpio19", "gpio62", "gpio63",
613 +};
614 +static const char * const smart1_groups[] = {
615 + "gpio8", "gpio9", "gpio16", "gpio17", "gpio58", "gpio59", "gpio60",
616 + "gpio61",
617 +};
618 +static const char * const wcss0_dbg20_groups[] = {
619 + "gpio8", "gpio24", "gpio41",
620 +};
621 +static const char * const wcss1_dbg20_groups[] = {
622 + "gpio8", "gpio24", "gpio41",
623 +};
624 +static const char * const wifi0_uart0_groups[] = {
625 + "gpio9", "gpio10",
626 +};
627 +static const char * const wifi1_uart0_groups[] = {
628 + "gpio9", "gpio10",
629 +};
630 +static const char * const wcss0_dbg21_groups[] = {
631 + "gpio9", "gpio25", "gpio42",
632 +};
633 +static const char * const wcss1_dbg21_groups[] = {
634 + "gpio9", "gpio25", "gpio42",
635 +};
636 static const char * const blsp_i2c0_groups[] = {
637 "gpio10", "gpio11", "gpio20", "gpio21", "gpio58", "gpio59",
638 };
639 +static const char * const wcss0_dbg22_groups[] = {
640 + "gpio10", "gpio26", "gpio43",
641 +};
642 +static const char * const wcss1_dbg22_groups[] = {
643 + "gpio10", "gpio26", "gpio43",
644 +};
645 +static const char * const wcss0_dbg23_groups[] = {
646 + "gpio11", "gpio27", "gpio44",
647 +};
648 +static const char * const wcss1_dbg23_groups[] = {
649 + "gpio11", "gpio27", "gpio44",
650 +};
651 static const char * const blsp_spi0_groups[] = {
652 "gpio12", "gpio13", "gpio14", "gpio15", "gpio45",
653 "gpio54", "gpio55", "gpio56", "gpio57",
654 @@ -317,94 +922,582 @@ static const char * const blsp_spi0_grou
655 static const char * const blsp_i2c1_groups[] = {
656 "gpio12", "gpio13", "gpio34", "gpio35",
657 };
658 +static const char * const wcss0_dbg24_groups[] = {
659 + "gpio12", "gpio28", "gpio45",
660 +};
661 +static const char * const wcss1_dbg24_groups[] = {
662 + "gpio12", "gpio28", "gpio45",
663 +};
664 +static const char * const wcss0_dbg25_groups[] = {
665 + "gpio13", "gpio29", "gpio46",
666 +};
667 +static const char * const wcss1_dbg25_groups[] = {
668 + "gpio13", "gpio29", "gpio46",
669 +};
670 +static const char * const wcss0_dbg26_groups[] = {
671 + "gpio14", "gpio30", "gpio47",
672 +};
673 +static const char * const wcss1_dbg26_groups[] = {
674 + "gpio14", "gpio30", "gpio47",
675 +};
676 +static const char * const wcss0_dbg_groups[] = {
677 + "gpio15", "gpio69",
678 +};
679 +static const char * const wcss1_dbg_groups[] = {
680 + "gpio15",
681 +};
682 static const char * const blsp_uart0_groups[] = {
683 "gpio16", "gpio17", "gpio60", "gpio61",
684 };
685 -static const char * const blsp_spi1_groups[] = {
686 - "gpio44", "gpio45", "gpio46", "gpio47",
687 +static const char * const led0_groups[] = {
688 + "gpio16", "gpio36", "gpio60",
689 +};
690 +static const char * const wcss0_dbg28_groups[] = {
691 + "gpio16", "gpio32", "gpio49",
692 +};
693 +static const char * const wcss1_dbg28_groups[] = {
694 + "gpio16", "gpio32", "gpio49",
695 +};
696 +static const char * const led1_groups[] = {
697 + "gpio17", "gpio37", "gpio61",
698 +};
699 +static const char * const wcss0_dbg29_groups[] = {
700 + "gpio17", "gpio33", "gpio50",
701 +};
702 +static const char * const wcss1_dbg29_groups[] = {
703 + "gpio17", "gpio33", "gpio50",
704 +};
705 +static const char * const wifi0_uart1_groups[] = {
706 + "gpio18", "gpio63",
707 +};
708 +static const char * const wifi1_uart1_groups[] = {
709 + "gpio18", "gpio63",
710 +};
711 +static const char * const wcss0_dbg30_groups[] = {
712 + "gpio18", "gpio34", "gpio51",
713 +};
714 +static const char * const wcss1_dbg30_groups[] = {
715 + "gpio18", "gpio34", "gpio51",
716 +};
717 +static const char * const wcss0_dbg31_groups[] = {
718 + "gpio19", "gpio35", "gpio52",
719 +};
720 +static const char * const wcss1_dbg31_groups[] = {
721 + "gpio19", "gpio35",
722 +};
723 +static const char * const i2s_rx_mclk_groups[] = {
724 + "gpio20", "gpio58",
725 +};
726 +static const char * const wcss0_dbg16_groups[] = {
727 + "gpio20", "gpio37",
728 +};
729 +static const char * const wcss1_dbg16_groups[] = {
730 + "gpio20", "gpio37",
731 +};
732 +static const char * const wcss0_dbg17_groups[] = {
733 + "gpio21", "gpio38",
734 +};
735 +static const char * const wcss1_dbg17_groups[] = {
736 + "gpio21", "gpio38",
737 +};
738 +static const char * const rgmii0_groups[] = {
739 + "gpio22", "gpio28",
740 +};
741 +static const char * const sdio0_groups[] = {
742 + "gpio23",
743 +};
744 +static const char * const rgmii1_groups[] = {
745 + "gpio23", "gpio29",
746 +};
747 +static const char * const sdio1_groups[] = {
748 + "gpio24",
749 +};
750 +static const char * const rgmii2_groups[] = {
751 + "gpio24", "gpio30",
752 +};
753 +static const char * const i2s_tx_mclk_groups[] = {
754 + "gpio24", "gpio52",
755 +};
756 +static const char * const sdio2_groups[] = {
757 + "gpio25",
758 +};
759 +static const char * const rgmii3_groups[] = {
760 + "gpio25", "gpio31",
761 +};
762 +static const char * const i2s_tx_bclk_groups[] = {
763 + "gpio25", "gpio53", "gpio60",
764 +};
765 +static const char * const sdio3_groups[] = {
766 + "gpio26",
767 +};
768 +static const char * const rgmii_rx_groups[] = {
769 + "gpio26",
770 +};
771 +static const char * const i2s_tx_fsync_groups[] = {
772 + "gpio26", "gpio57", "gpio61",
773 +};
774 +static const char * const sdio_clk_groups[] = {
775 + "gpio27",
776 +};
777 +static const char * const rgmii_txc_groups[] = {
778 + "gpio27",
779 +};
780 +static const char * const i2s_td1_groups[] = {
781 + "gpio27", "gpio54", "gpio63",
782 +};
783 +static const char * const sdio_cmd_groups[] = {
784 + "gpio28",
785 +};
786 +static const char * const i2s_td2_groups[] = {
787 + "gpio28", "gpio55",
788 +};
789 +static const char * const sdio4_groups[] = {
790 + "gpio29",
791 +};
792 +static const char * const i2s_td3_groups[] = {
793 + "gpio29", "gpio56",
794 +};
795 +static const char * const sdio5_groups[] = {
796 + "gpio30",
797 +};
798 +static const char * const audio_pwm0_groups[] = {
799 + "gpio30", "gpio64",
800 +};
801 +static const char * const sdio6_groups[] = {
802 + "gpio31",
803 +};
804 +static const char * const audio_pwm1_groups[] = {
805 + "gpio31", "gpio65",
806 +};
807 +static const char * const wcss0_dbg27_groups[] = {
808 + "gpio31", "gpio48",
809 +};
810 +static const char * const wcss1_dbg27_groups[] = {
811 + "gpio31", "gpio48",
812 +};
813 +static const char * const sdio7_groups[] = {
814 + "gpio32",
815 +};
816 +static const char * const rgmii_rxc_groups[] = {
817 + "gpio32",
818 +};
819 +static const char * const audio_pwm2_groups[] = {
820 + "gpio32", "gpio66",
821 +};
822 +static const char * const rgmii_tx_groups[] = {
823 + "gpio33",
824 +};
825 +static const char * const audio_pwm3_groups[] = {
826 + "gpio33", "gpio67",
827 +};
828 +static const char * const boot2_groups[] = {
829 + "gpio33",
830 +};
831 +static const char * const i2s_spdif_in_groups[] = {
832 + "gpio34", "gpio59", "gpio63",
833 +};
834 +static const char * const i2s_spdif_out_groups[] = {
835 + "gpio35", "gpio62", "gpio63",
836 +};
837 +static const char * const rmii00_groups[] = {
838 + "gpio36", "gpio41",
839 +};
840 +static const char * const led2_groups[] = {
841 + "gpio36", "gpio38", "gpio58",
842 +};
843 +static const char * const rmii01_groups[] = {
844 + "gpio37", "gpio42",
845 +};
846 +static const char * const wifi0_wci_groups[] = {
847 + "gpio37",
848 +};
849 +static const char * const wifi1_wci_groups[] = {
850 + "gpio37",
851 +};
852 +static const char * const boot4_groups[] = {
853 + "gpio37",
854 +};
855 +static const char * const rmii0_tx_groups[] = {
856 + "gpio38",
857 +};
858 +static const char * const boot5_groups[] = {
859 + "gpio38",
860 +};
861 +static const char * const rmii0_rx_groups[] = {
862 + "gpio39",
863 +};
864 +static const char * const pcie_clk1_groups[] = {
865 + "gpio39",
866 +};
867 +static const char * const led3_groups[] = {
868 + "gpio39",
869 +};
870 +static const char * const sdio_cd_groups[] = {
871 + "gpio22",
872 };
873
874 static const struct msm_function ipq4019_functions[] = {
875 + FUNCTION(rmii0_refclk),
876 + FUNCTION(wifi0_rfsilient0),
877 + FUNCTION(wifi1_rfsilient0),
878 + FUNCTION(smart2),
879 + FUNCTION(led4),
880 + FUNCTION(wifi0_cal),
881 + FUNCTION(wifi1_cal),
882 + FUNCTION(wifi_wci0),
883 + FUNCTION(rmii0_dv),
884 + FUNCTION(wifi_wci1),
885 + FUNCTION(rmii1_refclk),
886 + FUNCTION(blsp_spi1),
887 + FUNCTION(led5),
888 + FUNCTION(rmii10),
889 + FUNCTION(led6),
890 + FUNCTION(rmii11),
891 + FUNCTION(led7),
892 + FUNCTION(rmii1_dv),
893 + FUNCTION(led8),
894 + FUNCTION(rmii1_tx),
895 + FUNCTION(aud_pin),
896 + FUNCTION(led9),
897 + FUNCTION(rmii1_rx),
898 + FUNCTION(led10),
899 + FUNCTION(wifi0_rfsilient1),
900 + FUNCTION(wifi1_rfsilient1),
901 + FUNCTION(led11),
902 + FUNCTION(boot7),
903 + FUNCTION(qpic_pad),
904 + FUNCTION(pcie_clk),
905 + FUNCTION(tm_clk0),
906 + FUNCTION(wifi00),
907 + FUNCTION(wifi10),
908 + FUNCTION(mdio1),
909 + FUNCTION(prng_rosc),
910 + FUNCTION(dbg_out),
911 + FUNCTION(tm0),
912 + FUNCTION(wifi01),
913 + FUNCTION(wifi11),
914 + FUNCTION(atest_char3),
915 + FUNCTION(pmu0),
916 + FUNCTION(boot8),
917 + FUNCTION(tm1),
918 + FUNCTION(atest_char2),
919 + FUNCTION(pmu1),
920 + FUNCTION(boot9),
921 + FUNCTION(tm2),
922 + FUNCTION(atest_char1),
923 + FUNCTION(tm_ack),
924 + FUNCTION(wifi03),
925 + FUNCTION(wifi13),
926 + FUNCTION(qpic_pad4),
927 + FUNCTION(atest_char0),
928 + FUNCTION(tm3),
929 + FUNCTION(wifi02),
930 + FUNCTION(wifi12),
931 + FUNCTION(qpic_pad5),
932 + FUNCTION(smart3),
933 + FUNCTION(wcss0_dbg14),
934 + FUNCTION(tm4),
935 + FUNCTION(wifi04),
936 + FUNCTION(wifi14),
937 + FUNCTION(qpic_pad6),
938 + FUNCTION(wcss0_dbg15),
939 + FUNCTION(qdss_tracectl_a),
940 + FUNCTION(boot18),
941 + FUNCTION(tm5),
942 + FUNCTION(qpic_pad7),
943 + FUNCTION(atest_char),
944 + FUNCTION(wcss0_dbg4),
945 + FUNCTION(qdss_traceclk_a),
946 + FUNCTION(boot19),
947 + FUNCTION(tm6),
948 + FUNCTION(wcss0_dbg5),
949 + FUNCTION(qdss_cti_trig_out_a0),
950 + FUNCTION(boot14),
951 + FUNCTION(tm7),
952 + FUNCTION(chip_rst),
953 + FUNCTION(wcss0_dbg6),
954 + FUNCTION(qdss_cti_trig_out_b0),
955 + FUNCTION(boot11),
956 + FUNCTION(tm8),
957 + FUNCTION(wcss0_dbg7),
958 + FUNCTION(wcss1_dbg7),
959 + FUNCTION(boot20),
960 + FUNCTION(tm9),
961 + FUNCTION(qpic_pad1),
962 + FUNCTION(wcss0_dbg8),
963 + FUNCTION(wcss1_dbg8),
964 + FUNCTION(qpic_pad2),
965 + FUNCTION(wcss0_dbg9),
966 + FUNCTION(wcss1_dbg9),
967 + FUNCTION(qpic_pad3),
968 + FUNCTION(wcss0_dbg10),
969 + FUNCTION(wcss1_dbg10),
970 + FUNCTION(qpic_pad0),
971 + FUNCTION(wcss0_dbg11),
972 + FUNCTION(wcss1_dbg11),
973 + FUNCTION(qpic_pad8),
974 + FUNCTION(wcss0_dbg12),
975 + FUNCTION(wcss1_dbg12),
976 + FUNCTION(wifi034),
977 + FUNCTION(wifi134),
978 + FUNCTION(jtag_tdi),
979 FUNCTION(gpio),
980 + FUNCTION(i2s_rx_bclk),
981 + FUNCTION(jtag_tck),
982 + FUNCTION(i2s_rx_fsync),
983 + FUNCTION(jtag_tms),
984 + FUNCTION(i2s_rxd),
985 + FUNCTION(smart0),
986 + FUNCTION(jtag_tdo),
987 + FUNCTION(jtag_rst),
988 + FUNCTION(jtag_trst),
989 + FUNCTION(mdio0),
990 + FUNCTION(wcss0_dbg18),
991 + FUNCTION(wcss1_dbg18),
992 + FUNCTION(qdss_tracedata_a),
993 + FUNCTION(mdc),
994 + FUNCTION(wcss0_dbg19),
995 + FUNCTION(wcss1_dbg19),
996 FUNCTION(blsp_uart1),
997 + FUNCTION(wifi0_uart),
998 + FUNCTION(wifi1_uart),
999 + FUNCTION(smart1),
1000 + FUNCTION(wcss0_dbg20),
1001 + FUNCTION(wcss1_dbg20),
1002 + FUNCTION(wifi0_uart0),
1003 + FUNCTION(wifi1_uart0),
1004 + FUNCTION(wcss0_dbg21),
1005 + FUNCTION(wcss1_dbg21),
1006 FUNCTION(blsp_i2c0),
1007 + FUNCTION(wcss0_dbg22),
1008 + FUNCTION(wcss1_dbg22),
1009 + FUNCTION(wcss0_dbg23),
1010 + FUNCTION(wcss1_dbg23),
1011 + FUNCTION(blsp_spi0),
1012 FUNCTION(blsp_i2c1),
1013 + FUNCTION(wcss0_dbg24),
1014 + FUNCTION(wcss1_dbg24),
1015 + FUNCTION(wcss0_dbg25),
1016 + FUNCTION(wcss1_dbg25),
1017 + FUNCTION(wcss0_dbg26),
1018 + FUNCTION(wcss1_dbg26),
1019 + FUNCTION(wcss0_dbg),
1020 + FUNCTION(wcss1_dbg),
1021 FUNCTION(blsp_uart0),
1022 - FUNCTION(blsp_spi1),
1023 - FUNCTION(blsp_spi0),
1024 + FUNCTION(led0),
1025 + FUNCTION(wcss0_dbg28),
1026 + FUNCTION(wcss1_dbg28),
1027 + FUNCTION(led1),
1028 + FUNCTION(wcss0_dbg29),
1029 + FUNCTION(wcss1_dbg29),
1030 + FUNCTION(wifi0_uart1),
1031 + FUNCTION(wifi1_uart1),
1032 + FUNCTION(wcss0_dbg30),
1033 + FUNCTION(wcss1_dbg30),
1034 + FUNCTION(wcss0_dbg31),
1035 + FUNCTION(wcss1_dbg31),
1036 + FUNCTION(i2s_rx_mclk),
1037 + FUNCTION(wcss0_dbg16),
1038 + FUNCTION(wcss1_dbg16),
1039 + FUNCTION(wcss0_dbg17),
1040 + FUNCTION(wcss1_dbg17),
1041 + FUNCTION(rgmii0),
1042 + FUNCTION(sdio0),
1043 + FUNCTION(rgmii1),
1044 + FUNCTION(sdio1),
1045 + FUNCTION(rgmii2),
1046 + FUNCTION(i2s_tx_mclk),
1047 + FUNCTION(sdio2),
1048 + FUNCTION(rgmii3),
1049 + FUNCTION(i2s_tx_bclk),
1050 + FUNCTION(sdio3),
1051 + FUNCTION(rgmii_rx),
1052 + FUNCTION(i2s_tx_fsync),
1053 + FUNCTION(sdio_clk),
1054 + FUNCTION(rgmii_txc),
1055 + FUNCTION(i2s_td1),
1056 + FUNCTION(sdio_cmd),
1057 + FUNCTION(i2s_td2),
1058 + FUNCTION(sdio4),
1059 + FUNCTION(i2s_td3),
1060 + FUNCTION(sdio5),
1061 + FUNCTION(audio_pwm0),
1062 + FUNCTION(sdio6),
1063 + FUNCTION(audio_pwm1),
1064 + FUNCTION(wcss0_dbg27),
1065 + FUNCTION(wcss1_dbg27),
1066 + FUNCTION(sdio7),
1067 + FUNCTION(rgmii_rxc),
1068 + FUNCTION(audio_pwm2),
1069 + FUNCTION(rgmii_tx),
1070 + FUNCTION(audio_pwm3),
1071 + FUNCTION(boot2),
1072 + FUNCTION(i2s_spdif_in),
1073 + FUNCTION(i2s_spdif_out),
1074 + FUNCTION(rmii00),
1075 + FUNCTION(led2),
1076 + FUNCTION(rmii01),
1077 + FUNCTION(wifi0_wci),
1078 + FUNCTION(wifi1_wci),
1079 + FUNCTION(boot4),
1080 + FUNCTION(rmii0_tx),
1081 + FUNCTION(boot5),
1082 + FUNCTION(rmii0_rx),
1083 + FUNCTION(pcie_clk1),
1084 + FUNCTION(led3),
1085 + FUNCTION(sdio_cd),
1086 };
1087
1088 static const struct msm_pingroup ipq4019_groups[] = {
1089 - PINGROUP(0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1090 - PINGROUP(1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1091 - PINGROUP(2, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1092 - PINGROUP(3, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1093 - PINGROUP(4, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1094 - PINGROUP(5, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1095 - PINGROUP(6, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1096 - PINGROUP(7, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1097 - PINGROUP(8, blsp_uart1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1098 - PINGROUP(9, blsp_uart1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1099 - PINGROUP(10, blsp_uart1, NA, NA, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1100 - PINGROUP(11, blsp_uart1, NA, NA, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1101 - PINGROUP(12, blsp_spi0, blsp_i2c1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1102 - PINGROUP(13, blsp_spi0, blsp_i2c1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1103 - PINGROUP(14, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1104 - PINGROUP(15, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1105 - PINGROUP(16, blsp_uart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1106 - PINGROUP(17, blsp_uart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1107 - PINGROUP(18, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1108 - PINGROUP(19, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1109 - PINGROUP(20, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1110 - PINGROUP(21, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1111 - PINGROUP(22, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1112 - PINGROUP(23, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1113 - PINGROUP(24, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1114 - PINGROUP(25, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1115 - PINGROUP(26, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1116 - PINGROUP(27, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1117 - PINGROUP(28, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1118 - PINGROUP(29, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1119 - PINGROUP(30, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1120 - PINGROUP(31, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1121 - PINGROUP(32, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1122 - PINGROUP(33, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1123 - PINGROUP(34, blsp_i2c1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1124 - PINGROUP(35, blsp_i2c1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1125 - PINGROUP(36, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1126 - PINGROUP(37, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1127 - PINGROUP(38, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1128 - PINGROUP(39, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1129 - PINGROUP(40, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1130 - PINGROUP(41, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1131 - PINGROUP(42, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1132 - PINGROUP(43, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1133 - PINGROUP(44, NA, blsp_spi1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1134 - PINGROUP(45, NA, blsp_spi1, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1135 - PINGROUP(46, NA, blsp_spi1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1136 - PINGROUP(47, NA, blsp_spi1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1137 - PINGROUP(48, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1138 - PINGROUP(49, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1139 - PINGROUP(50, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1140 - PINGROUP(51, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1141 - PINGROUP(52, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1142 - PINGROUP(53, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1143 - PINGROUP(54, NA, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1144 - PINGROUP(55, NA, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1145 - PINGROUP(56, NA, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1146 - PINGROUP(57, NA, blsp_spi0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1147 - PINGROUP(58, NA, NA, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1148 - PINGROUP(59, NA, blsp_i2c0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1149 - PINGROUP(60, NA, blsp_uart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1150 - PINGROUP(61, NA, blsp_uart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1151 - PINGROUP(62, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1152 - PINGROUP(63, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1153 - PINGROUP(64, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1154 - PINGROUP(65, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1155 - PINGROUP(66, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1156 - PINGROUP(67, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1157 - PINGROUP(68, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1158 - PINGROUP(69, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1159 + PINGROUP(0, jtag_tdi, smart0, i2s_rx_bclk, NA, NA, NA, NA, NA, NA, NA,
1160 + NA, NA, NA, NA),
1161 + PINGROUP(1, jtag_tck, smart0, i2s_rx_fsync, NA, NA, NA, NA, NA, NA, NA,
1162 + NA, NA, NA, NA),
1163 + PINGROUP(2, jtag_tms, smart0, i2s_rxd, NA, NA, NA, NA, NA, NA, NA, NA,
1164 + NA, NA, NA),
1165 + PINGROUP(3, jtag_tdo, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
1166 + NA),
1167 + PINGROUP(4, jtag_rst, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
1168 + NA),
1169 + PINGROUP(5, jtag_trst, smart0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
1170 + NA, NA),
1171 + PINGROUP(6, mdio0, NA, wcss0_dbg18, wcss1_dbg18, NA, qdss_tracedata_a,
1172 + NA, NA, NA, NA, NA, NA, NA, NA),
1173 + PINGROUP(7, mdc, NA, wcss0_dbg19, wcss1_dbg19, NA, qdss_tracedata_a,
1174 + NA, NA, NA, NA, NA, NA, NA, NA),
1175 + PINGROUP(8, blsp_uart1, wifi0_uart, wifi1_uart, smart1, NA,
1176 + wcss0_dbg20, wcss1_dbg20, NA, qdss_tracedata_a, NA, NA, NA,
1177 + NA, NA),
1178 + PINGROUP(9, blsp_uart1, wifi0_uart0, wifi1_uart0, smart1, wifi0_uart,
1179 + NA, wcss0_dbg21, wcss1_dbg21, NA, qdss_tracedata_a, NA, NA,
1180 + NA, NA),
1181 + PINGROUP(10, blsp_uart1, wifi0_uart0, wifi1_uart0, blsp_i2c0, NA,
1182 + wcss0_dbg22, wcss1_dbg22, NA, qdss_tracedata_a, NA, NA, NA,
1183 + NA, NA),
1184 + PINGROUP(11, blsp_uart1, wifi0_uart, wifi1_uart, blsp_i2c0, NA,
1185 + wcss0_dbg23, wcss1_dbg23, NA, qdss_tracedata_a, NA, NA, NA,
1186 + NA, NA),
1187 + PINGROUP(12, blsp_spi0, blsp_i2c1, NA, wcss0_dbg24, wcss1_dbg24, NA,
1188 + NA, NA, NA, NA, NA, NA, NA, NA),
1189 + PINGROUP(13, blsp_spi0, blsp_i2c1, NA, wcss0_dbg25, wcss1_dbg25, NA,
1190 + NA, NA, NA, NA, NA, NA, NA, NA),
1191 + PINGROUP(14, blsp_spi0, NA, wcss0_dbg26, wcss1_dbg26, NA, NA, NA, NA,
1192 + NA, NA, NA, NA, NA, NA),
1193 + PINGROUP(15, blsp_spi0, NA, wcss0_dbg, wcss1_dbg, NA, NA, NA, NA, NA,
1194 + NA, NA, NA, NA, NA),
1195 + PINGROUP(16, blsp_uart0, led0, smart1, NA, wcss0_dbg28, wcss1_dbg28,
1196 + NA, qdss_tracedata_a, NA, NA, NA, NA, NA, NA),
1197 + PINGROUP(17, blsp_uart0, led1, smart1, NA, wcss0_dbg29, wcss1_dbg29,
1198 + NA, qdss_tracedata_a, NA, NA, NA, NA, NA, NA),
1199 + PINGROUP(18, wifi0_uart1, wifi1_uart1, NA, wcss0_dbg30, wcss1_dbg30,
1200 + NA, NA, NA, NA, NA, NA, NA, NA, NA),
1201 + PINGROUP(19, wifi0_uart, wifi1_uart, NA, wcss0_dbg31, wcss1_dbg31, NA,
1202 + NA, NA, NA, NA, NA, NA, NA, NA),
1203 + PINGROUP(20, blsp_i2c0, i2s_rx_mclk, NA, wcss0_dbg16, wcss1_dbg16, NA,
1204 + NA, NA, NA, NA, NA, NA, NA, NA),
1205 + PINGROUP(21, blsp_i2c0, i2s_rx_bclk, NA, wcss0_dbg17, wcss1_dbg17, NA,
1206 + NA, NA, NA, NA, NA, NA, NA, NA),
1207 + PINGROUP(22, rgmii0, i2s_rx_fsync, NA, wcss0_dbg18, wcss1_dbg18, NA,
1208 + NA, NA, NA, NA, NA, NA, NA, NA),
1209 + PINGROUP(23, sdio0, rgmii1, i2s_rxd, NA, wcss0_dbg19, wcss1_dbg19, NA,
1210 + NA, NA, NA, NA, NA, NA, NA),
1211 + PINGROUP(24, sdio1, rgmii2, i2s_tx_mclk, NA, wcss0_dbg20, wcss1_dbg20,
1212 + NA, NA, NA, NA, NA, NA, NA, NA),
1213 + PINGROUP(25, sdio2, rgmii3, i2s_tx_bclk, NA, wcss0_dbg21, wcss1_dbg21,
1214 + NA, NA, NA, NA, NA, NA, NA, NA),
1215 + PINGROUP(26, sdio3, rgmii_rx, i2s_tx_fsync, NA, wcss0_dbg22,
1216 + wcss1_dbg22, NA, NA, NA, NA, NA, NA, NA, NA),
1217 + PINGROUP(27, sdio_clk, rgmii_txc, i2s_td1, NA, wcss0_dbg23,
1218 + wcss1_dbg23, NA, NA, NA, NA, NA, NA, NA, NA),
1219 + PINGROUP(28, sdio_cmd, rgmii0, i2s_td2, NA, wcss0_dbg24, wcss1_dbg24,
1220 + NA, NA, NA, NA, NA, NA, NA, NA),
1221 + PINGROUP(29, sdio4, rgmii1, i2s_td3, NA, wcss0_dbg25, wcss1_dbg25, NA,
1222 + NA, NA, NA, NA, NA, NA, NA),
1223 + PINGROUP(30, sdio5, rgmii2, audio_pwm0, NA, wcss0_dbg26, wcss1_dbg26,
1224 + NA, NA, NA, NA, NA, NA, NA, NA),
1225 + PINGROUP(31, sdio6, rgmii3, audio_pwm1, NA, wcss0_dbg27, wcss1_dbg27,
1226 + NA, NA, NA, NA, NA, NA, NA, NA),
1227 + PINGROUP(32, sdio7, rgmii_rxc, audio_pwm2, NA, wcss0_dbg28,
1228 + wcss1_dbg28, NA, NA, NA, NA, NA, NA, NA, NA),
1229 + PINGROUP(33, rgmii_tx, audio_pwm3, NA, wcss0_dbg29, wcss1_dbg29, NA,
1230 + boot2, NA, NA, NA, NA, NA, NA, NA),
1231 + PINGROUP(34, blsp_i2c1, i2s_spdif_in, NA, wcss0_dbg30, wcss1_dbg30, NA,
1232 + NA, NA, NA, NA, NA, NA, NA, NA),
1233 + PINGROUP(35, blsp_i2c1, i2s_spdif_out, NA, wcss0_dbg31, wcss1_dbg31,
1234 + NA, NA, NA, NA, NA, NA, NA, NA, NA),
1235 + PINGROUP(36, rmii00, led2, led0, NA, NA, NA, NA, NA, NA, NA, NA, NA,
1236 + NA, NA),
1237 + PINGROUP(37, rmii01, wifi0_wci, wifi1_wci, led1, NA, NA, wcss0_dbg16,
1238 + wcss1_dbg16, NA, qdss_tracedata_a, boot4, NA, NA, NA),
1239 + PINGROUP(38, rmii0_tx, led2, NA, NA, wcss0_dbg17, wcss1_dbg17, NA,
1240 + qdss_tracedata_a, boot5, NA, NA, NA, NA, NA),
1241 + PINGROUP(39, rmii0_rx, pcie_clk1, led3, NA, NA, wcss0_dbg18,
1242 + wcss1_dbg18, NA, NA, qdss_tracedata_a, NA, NA, NA, NA),
1243 + PINGROUP(40, rmii0_refclk, wifi0_rfsilient0, wifi1_rfsilient0, smart2,
1244 + led4, NA, NA, wcss0_dbg19, wcss1_dbg19, NA, NA,
1245 + qdss_tracedata_a, NA, NA),
1246 + PINGROUP(41, rmii00, wifi0_cal, wifi1_cal, smart2, NA, NA, wcss0_dbg20,
1247 + wcss1_dbg20, NA, NA, qdss_tracedata_a, NA, NA, NA),
1248 + PINGROUP(42, rmii01, wifi_wci0, NA, NA, wcss0_dbg21, wcss1_dbg21, NA,
1249 + NA, qdss_tracedata_a, NA, NA, NA, NA, NA),
1250 + PINGROUP(43, rmii0_dv, wifi_wci1, NA, NA, wcss0_dbg22, wcss1_dbg22, NA,
1251 + NA, qdss_tracedata_a, NA, NA, NA, NA, NA),
1252 + PINGROUP(44, rmii1_refclk, blsp_spi1, smart0, led5, NA, NA,
1253 + wcss0_dbg23, wcss1_dbg23, NA, NA, NA, NA, NA, NA),
1254 + PINGROUP(45, rmii10, blsp_spi1, blsp_spi0, smart0, led6, NA, NA,
1255 + wcss0_dbg24, wcss1_dbg24, NA, NA, NA, NA, NA),
1256 + PINGROUP(46, rmii11, blsp_spi1, smart0, led7, NA, NA, wcss0_dbg25,
1257 + wcss1_dbg25, NA, NA, NA, NA, NA, NA),
1258 + PINGROUP(47, rmii1_dv, blsp_spi1, smart0, led8, NA, NA, wcss0_dbg26,
1259 + wcss1_dbg26, NA, NA, NA, NA, NA, NA),
1260 + PINGROUP(48, rmii1_tx, aud_pin, smart2, led9, NA, NA, wcss0_dbg27,
1261 + wcss1_dbg27, NA, NA, NA, NA, NA, NA),
1262 + PINGROUP(49, rmii1_rx, aud_pin, smart2, led10, NA, NA, wcss0_dbg28,
1263 + wcss1_dbg28, NA, NA, NA, NA, NA, NA),
1264 + PINGROUP(50, rmii10, aud_pin, wifi0_rfsilient1, wifi1_rfsilient1,
1265 + led11, NA, NA, wcss0_dbg29, wcss1_dbg29, NA, NA, NA, NA, NA),
1266 + PINGROUP(51, rmii11, aud_pin, wifi0_cal, wifi1_cal, NA, NA,
1267 + wcss0_dbg30, wcss1_dbg30, NA, boot7, NA, NA, NA, NA),
1268 + PINGROUP(52, qpic_pad, mdc, pcie_clk, i2s_tx_mclk, NA, NA, wcss0_dbg31,
1269 + tm_clk0, wifi00, wifi10, NA, NA, NA, NA),
1270 + PINGROUP(53, qpic_pad, mdio1, i2s_tx_bclk, prng_rosc, dbg_out, tm0,
1271 + wifi01, wifi11, NA, NA, NA, NA, NA, NA),
1272 + PINGROUP(54, qpic_pad, blsp_spi0, i2s_td1, atest_char3, pmu0, NA, NA,
1273 + boot8, tm1, NA, NA, NA, NA, NA),
1274 + PINGROUP(55, qpic_pad, blsp_spi0, i2s_td2, atest_char2, pmu1, NA, NA,
1275 + boot9, tm2, NA, NA, NA, NA, NA),
1276 + PINGROUP(56, qpic_pad, blsp_spi0, i2s_td3, atest_char1, NA, tm_ack,
1277 + wifi03, wifi13, NA, NA, NA, NA, NA, NA),
1278 + PINGROUP(57, qpic_pad4, blsp_spi0, i2s_tx_fsync, atest_char0, NA, tm3,
1279 + wifi02, wifi12, NA, NA, NA, NA, NA, NA),
1280 + PINGROUP(58, qpic_pad5, led2, blsp_i2c0, smart3, smart1, i2s_rx_mclk,
1281 + NA, wcss0_dbg14, tm4, wifi04, wifi14, NA, NA, NA),
1282 + PINGROUP(59, qpic_pad6, blsp_i2c0, smart3, smart1, i2s_spdif_in, NA,
1283 + NA, wcss0_dbg15, qdss_tracectl_a, boot18, tm5, NA, NA, NA),
1284 + PINGROUP(60, qpic_pad7, blsp_uart0, smart1, smart3, led0, i2s_tx_bclk,
1285 + i2s_rx_bclk, atest_char, NA, wcss0_dbg4, qdss_traceclk_a,
1286 + boot19, tm6, NA),
1287 + PINGROUP(61, qpic_pad, blsp_uart0, smart1, smart3, led1, i2s_tx_fsync,
1288 + i2s_rx_fsync, NA, NA, wcss0_dbg5, qdss_cti_trig_out_a0,
1289 + boot14, tm7, NA),
1290 + PINGROUP(62, qpic_pad, chip_rst, wifi0_uart, wifi1_uart, i2s_spdif_out,
1291 + NA, NA, wcss0_dbg6, qdss_cti_trig_out_b0, boot11, tm8, NA, NA,
1292 + NA),
1293 + PINGROUP(63, qpic_pad, wifi0_uart1, wifi1_uart1, wifi1_uart, i2s_td1,
1294 + i2s_rxd, i2s_spdif_out, i2s_spdif_in, NA, wcss0_dbg7,
1295 + wcss1_dbg7, boot20, tm9, NA),
1296 + PINGROUP(64, qpic_pad1, audio_pwm0, NA, wcss0_dbg8, wcss1_dbg8, NA, NA,
1297 + NA, NA, NA, NA, NA, NA, NA),
1298 + PINGROUP(65, qpic_pad2, audio_pwm1, NA, wcss0_dbg9, wcss1_dbg9, NA, NA,
1299 + NA, NA, NA, NA, NA, NA, NA),
1300 + PINGROUP(66, qpic_pad3, audio_pwm2, NA, wcss0_dbg10, wcss1_dbg10, NA,
1301 + NA, NA, NA, NA, NA, NA, NA, NA),
1302 + PINGROUP(67, qpic_pad0, audio_pwm3, NA, wcss0_dbg11, wcss1_dbg11, NA,
1303 + NA, NA, NA, NA, NA, NA, NA, NA),
1304 + PINGROUP(68, qpic_pad8, NA, wcss0_dbg12, wcss1_dbg12, NA, NA, NA, NA,
1305 + NA, NA, NA, NA, NA, NA),
1306 + PINGROUP(69, qpic_pad, NA, wcss0_dbg, NA, NA, NA, NA, NA, NA, NA, NA,
1307 + NA, NA, NA),
1308 PINGROUP(70, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1309 PINGROUP(71, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1310 PINGROUP(72, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1311 @@ -433,7 +1526,8 @@ static const struct msm_pingroup ipq4019
1312 PINGROUP(95, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1313 PINGROUP(96, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1314 PINGROUP(97, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1315 - PINGROUP(98, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1316 + PINGROUP(98, wifi034, wifi134, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA,
1317 + NA, NA),
1318 PINGROUP(99, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
1319 };
1320
1321 @@ -460,6 +1554,7 @@ static const struct of_device_id ipq4019
1322 static struct platform_driver ipq4019_pinctrl_driver = {
1323 .driver = {
1324 .name = "ipq4019-pinctrl",
1325 + .owner = THIS_MODULE,
1326 .of_match_table = ipq4019_pinctrl_of_match,
1327 },
1328 .probe = ipq4019_pinctrl_probe,