Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
pfc-sh7372.c
Go to the documentation of this file.
1 /*
2  * sh7372 processor support - PFC hardware block
3  *
4  * Copyright (C) 2010 Kuninori Morimoto <[email protected]>
5  *
6  * Based on
7  * sh7367 processor support - PFC hardware block
8  * Copyright (C) 2010 Magnus Damm
9  *
10  * This program is free software; you can redistribute it and/or modify
11  * it under the terms of the GNU General Public License as published by
12  * the Free Software Foundation; version 2 of the License.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
22  */
23 #include <linux/init.h>
24 #include <linux/kernel.h>
25 #include <linux/sh_pfc.h>
26 #include <mach/irqs.h>
27 #include <mach/sh7372.h>
28 
29 #define CPU_ALL_PORT(fn, pfx, sfx) \
30  PORT_10(fn, pfx, sfx), PORT_90(fn, pfx, sfx), \
31  PORT_10(fn, pfx##10, sfx), PORT_10(fn, pfx##11, sfx), \
32  PORT_10(fn, pfx##12, sfx), PORT_10(fn, pfx##13, sfx), \
33  PORT_10(fn, pfx##14, sfx), PORT_10(fn, pfx##15, sfx), \
34  PORT_10(fn, pfx##16, sfx), PORT_10(fn, pfx##17, sfx), \
35  PORT_10(fn, pfx##18, sfx), PORT_1(fn, pfx##190, sfx)
36 
37 enum {
39 
40  /* PORT0_DATA -> PORT190_DATA */
44 
45  /* PORT0_IN -> PORT190_IN */
47  PORT_ALL(IN),
49 
50  /* PORT0_IN_PU -> PORT190_IN_PU */
52  PORT_ALL(IN_PU),
54 
55  /* PORT0_IN_PD -> PORT190_IN_PD */
57  PORT_ALL(IN_PD),
59 
60  /* PORT0_OUT -> PORT190_OUT */
62  PORT_ALL(OUT),
64 
66  PORT_ALL(FN_IN), /* PORT0_FN_IN -> PORT190_FN_IN */
67  PORT_ALL(FN_OUT), /* PORT0_FN_OUT -> PORT190_FN_OUT */
68  PORT_ALL(FN0), /* PORT0_FN0 -> PORT190_FN0 */
69  PORT_ALL(FN1), /* PORT0_FN1 -> PORT190_FN1 */
70  PORT_ALL(FN2), /* PORT0_FN2 -> PORT190_FN2 */
71  PORT_ALL(FN3), /* PORT0_FN3 -> PORT190_FN3 */
72  PORT_ALL(FN4), /* PORT0_FN4 -> PORT190_FN4 */
73  PORT_ALL(FN5), /* PORT0_FN5 -> PORT190_FN5 */
74  PORT_ALL(FN6), /* PORT0_FN6 -> PORT190_FN6 */
75  PORT_ALL(FN7), /* PORT0_FN7 -> PORT190_FN7 */
76 
96 
104 
116 
118 
119  /* IRQ */
133 
134  /* MSIOF0 */
139 
140  /* MSIOF1 */
149 
150  /* MSIOF2 */
155 
156  /* BBIF1 */
160 
161  /* BBIF2 */
164 
165  /* FSI */
169 
170  /* FMSI */
174 
175  /* SCIFA0 */
178 
179  /* SCIFA1 */
182 
183  /* SCIFA2 */
186 
187  /* SCIFA3 */
191 
192  /* SCIFA4 */
194 
195  /* SCIFA5 */
197 
198  /* SCIFB */
201 
202  /* CEU */
209 
210  /* USB0 */
213 
214  /* USB1 */
220 
221  /* GPIO */
223 
224  /* BSC */
227 
235 
238 
239  /* BSC/FLCTL */
245 
246  /* MMCIF(1) */
250 
251  /* MMCIF(2) */
255 
256  /* SPU2 */
258 
259  /* FLCTL */
261 
262  /* HSI */
266 
267  /* MFI */
270 
275 
282 
283  /* SIM */
285 
286  /* TPU */
290 
291  /* I2C2 */
293 
294  /* I2C3(1) */
296 
297  /* I2C3(2) */
299 
300  /* I2C4(2) */
302 
303  /* I2C4(2) */
305 
306  /* KEYSC */
315 
316  /* LCDC */
322 
329 
330  /* IRDA */
333 
334  /* TSIF1 */
339 
342 
343  /* TSIF2 */
346 
347  /* HDMI */
349 
350  /* SDHI0 */
355 
356  /* SDHI1 */
359 
360  /* SDHI2 */
363 
364  /* SDENC */
367 
369 };
370 
371 static pinmux_enum_t pinmux_data[] = {
372 
373  /* specify valid pin states for each pin in GPIO mode */
379 
380  PORT_DATA_O(10), PORT_DATA_O(11),
382  PORT_DATA_IO_PD(14), PORT_DATA_O(15),
384  PORT_DATA_I_PD(18), PORT_DATA_IO(19),
385 
386  PORT_DATA_IO(20), PORT_DATA_IO(21),
387  PORT_DATA_IO(22), PORT_DATA_IO(23),
388  PORT_DATA_IO(24), PORT_DATA_IO(25),
389  PORT_DATA_IO(26), PORT_DATA_IO(27),
390  PORT_DATA_IO(28), PORT_DATA_IO(29),
391 
392  PORT_DATA_IO(30), PORT_DATA_IO(31),
393  PORT_DATA_IO(32), PORT_DATA_IO(33),
394  PORT_DATA_IO(34), PORT_DATA_IO(35),
395  PORT_DATA_IO(36), PORT_DATA_IO(37),
396  PORT_DATA_IO(38), PORT_DATA_IO(39),
397 
398  PORT_DATA_IO(40), PORT_DATA_IO(41),
399  PORT_DATA_IO(42), PORT_DATA_IO(43),
400  PORT_DATA_IO(44), PORT_DATA_IO(45),
403 
409 
411  PORT_DATA_IO(62), PORT_DATA_O(63),
412  PORT_DATA_O(64), PORT_DATA_IO_PU(65),
413  PORT_DATA_O(66), PORT_DATA_IO_PU(67), /*66?*/
414  PORT_DATA_O(68), PORT_DATA_IO(69),
415 
416  PORT_DATA_IO(70), PORT_DATA_IO(71),
417  PORT_DATA_O(72), PORT_DATA_I_PU(73),
421 
427 
432  PORT_DATA_IO_PU_PD(98), PORT_DATA_O(99), /*99?*/
433 
434  PORT_DATA_IO_PD(100), PORT_DATA_IO_PD(101),
435  PORT_DATA_IO_PD(102), PORT_DATA_IO_PD(103),
436  PORT_DATA_IO_PD(104), PORT_DATA_IO_PD(105),
437  PORT_DATA_IO_PU(106), PORT_DATA_IO_PU(107),
438  PORT_DATA_IO_PU(108), PORT_DATA_IO_PU(109),
439 
440  PORT_DATA_IO_PU(110), PORT_DATA_IO_PU(111),
441  PORT_DATA_IO_PD(112), PORT_DATA_IO_PD(113),
442  PORT_DATA_IO_PU(114), PORT_DATA_IO_PU(115),
443  PORT_DATA_IO_PU(116), PORT_DATA_IO_PU(117),
444  PORT_DATA_IO_PU(118), PORT_DATA_IO_PU(119),
445 
446  PORT_DATA_IO_PU(120), PORT_DATA_IO_PD(121),
447  PORT_DATA_IO_PD(122), PORT_DATA_IO_PD(123),
448  PORT_DATA_IO_PD(124), PORT_DATA_IO_PD(125),
449  PORT_DATA_IO_PD(126), PORT_DATA_IO_PD(127),
451 
455  PORT_DATA_IO_PD(136), PORT_DATA_IO_PD(137),
456  PORT_DATA_IO_PD(138), PORT_DATA_IO_PD(139),
457 
458  PORT_DATA_IO_PD(140), PORT_DATA_IO_PD(141),
460  PORT_DATA_IO_PD(144), PORT_DATA_IO_PD(145),
461  PORT_DATA_IO_PD(146), PORT_DATA_IO_PD(147),
462  PORT_DATA_IO_PD(148), PORT_DATA_IO_PD(149),
463 
464  PORT_DATA_IO_PD(150), PORT_DATA_IO_PD(151),
467  PORT_DATA_IO_PD(156), PORT_DATA_IO_PD(157),
468  PORT_DATA_I_PD(158), PORT_DATA_IO_PD(159),
469 
470  PORT_DATA_O(160), PORT_DATA_IO_PD(161),
471  PORT_DATA_IO_PD(162), PORT_DATA_IO_PD(163),
472  PORT_DATA_I_PD(164), PORT_DATA_IO_PD(165),
473  PORT_DATA_I_PD(166), PORT_DATA_I_PD(167),
474  PORT_DATA_I_PD(168), PORT_DATA_I_PD(169),
475 
476  PORT_DATA_I_PD(170), PORT_DATA_O(171),
480  PORT_DATA_IO_PU_PD(178), PORT_DATA_O(179),
481 
484  PORT_DATA_IO_PU_PD(184), PORT_DATA_O(185),
487 
488  PORT_DATA_IO_PU_PD(190),
489 
490  /* IRQ */
491  PINMUX_DATA(IRQ0_6_MARK, PORT6_FN0, MSEL1CR_0_0),
492  PINMUX_DATA(IRQ0_162_MARK, PORT162_FN0, MSEL1CR_0_1),
493  PINMUX_DATA(IRQ1_MARK, PORT12_FN0),
494  PINMUX_DATA(IRQ2_4_MARK, PORT4_FN0, MSEL1CR_2_0),
495  PINMUX_DATA(IRQ2_5_MARK, PORT5_FN0, MSEL1CR_2_1),
496  PINMUX_DATA(IRQ3_8_MARK, PORT8_FN0, MSEL1CR_3_0),
497  PINMUX_DATA(IRQ3_16_MARK, PORT16_FN0, MSEL1CR_3_1),
498  PINMUX_DATA(IRQ4_17_MARK, PORT17_FN0, MSEL1CR_4_0),
499  PINMUX_DATA(IRQ4_163_MARK, PORT163_FN0, MSEL1CR_4_1),
500  PINMUX_DATA(IRQ5_MARK, PORT18_FN0),
501  PINMUX_DATA(IRQ6_39_MARK, PORT39_FN0, MSEL1CR_6_0),
502  PINMUX_DATA(IRQ6_164_MARK, PORT164_FN0, MSEL1CR_6_1),
503  PINMUX_DATA(IRQ7_40_MARK, PORT40_FN0, MSEL1CR_7_1),
504  PINMUX_DATA(IRQ7_167_MARK, PORT167_FN0, MSEL1CR_7_0),
505  PINMUX_DATA(IRQ8_41_MARK, PORT41_FN0, MSEL1CR_8_1),
506  PINMUX_DATA(IRQ8_168_MARK, PORT168_FN0, MSEL1CR_8_0),
507  PINMUX_DATA(IRQ9_42_MARK, PORT42_FN0, MSEL1CR_9_0),
508  PINMUX_DATA(IRQ9_169_MARK, PORT169_FN0, MSEL1CR_9_1),
509  PINMUX_DATA(IRQ10_MARK, PORT65_FN0, MSEL1CR_9_1),
510  PINMUX_DATA(IRQ11_MARK, PORT67_FN0),
511  PINMUX_DATA(IRQ12_80_MARK, PORT80_FN0, MSEL1CR_12_0),
512  PINMUX_DATA(IRQ12_137_MARK, PORT137_FN0, MSEL1CR_12_1),
513  PINMUX_DATA(IRQ13_81_MARK, PORT81_FN0, MSEL1CR_13_0),
514  PINMUX_DATA(IRQ13_145_MARK, PORT145_FN0, MSEL1CR_13_1),
515  PINMUX_DATA(IRQ14_82_MARK, PORT82_FN0, MSEL1CR_14_0),
516  PINMUX_DATA(IRQ14_146_MARK, PORT146_FN0, MSEL1CR_14_1),
517  PINMUX_DATA(IRQ15_83_MARK, PORT83_FN0, MSEL1CR_15_0),
518  PINMUX_DATA(IRQ15_147_MARK, PORT147_FN0, MSEL1CR_15_1),
519  PINMUX_DATA(IRQ16_84_MARK, PORT84_FN0, MSEL1CR_16_0),
520  PINMUX_DATA(IRQ16_170_MARK, PORT170_FN0, MSEL1CR_16_1),
521  PINMUX_DATA(IRQ17_MARK, PORT85_FN0),
522  PINMUX_DATA(IRQ18_MARK, PORT86_FN0),
523  PINMUX_DATA(IRQ19_MARK, PORT87_FN0),
524  PINMUX_DATA(IRQ20_MARK, PORT92_FN0),
525  PINMUX_DATA(IRQ21_MARK, PORT93_FN0),
526  PINMUX_DATA(IRQ22_MARK, PORT94_FN0),
527  PINMUX_DATA(IRQ23_MARK, PORT95_FN0),
528  PINMUX_DATA(IRQ24_MARK, PORT112_FN0),
529  PINMUX_DATA(IRQ25_MARK, PORT119_FN0),
530  PINMUX_DATA(IRQ26_121_MARK, PORT121_FN0, MSEL1CR_26_1),
531  PINMUX_DATA(IRQ26_172_MARK, PORT172_FN0, MSEL1CR_26_0),
532  PINMUX_DATA(IRQ27_122_MARK, PORT122_FN0, MSEL1CR_27_1),
533  PINMUX_DATA(IRQ27_180_MARK, PORT180_FN0, MSEL1CR_27_0),
534  PINMUX_DATA(IRQ28_123_MARK, PORT123_FN0, MSEL1CR_28_1),
535  PINMUX_DATA(IRQ28_181_MARK, PORT181_FN0, MSEL1CR_28_0),
536  PINMUX_DATA(IRQ29_129_MARK, PORT129_FN0, MSEL1CR_29_1),
537  PINMUX_DATA(IRQ29_182_MARK, PORT182_FN0, MSEL1CR_29_0),
538  PINMUX_DATA(IRQ30_130_MARK, PORT130_FN0, MSEL1CR_30_1),
539  PINMUX_DATA(IRQ30_183_MARK, PORT183_FN0, MSEL1CR_30_0),
540  PINMUX_DATA(IRQ31_138_MARK, PORT138_FN0, MSEL1CR_31_1),
541  PINMUX_DATA(IRQ31_184_MARK, PORT184_FN0, MSEL1CR_31_0),
542 
543  /* Function 1 */
544  PINMUX_DATA(BBIF2_TSCK1_MARK, PORT0_FN1),
545  PINMUX_DATA(BBIF2_TSYNC1_MARK, PORT1_FN1),
546  PINMUX_DATA(BBIF2_TXD1_MARK, PORT2_FN1),
547  PINMUX_DATA(BBIF2_RXD_MARK, PORT3_FN1),
548  PINMUX_DATA(FSIACK_MARK, PORT4_FN1),
549  PINMUX_DATA(FSIAILR_MARK, PORT5_FN1),
550  PINMUX_DATA(FSIAIBT_MARK, PORT6_FN1),
551  PINMUX_DATA(FSIAISLD_MARK, PORT7_FN1),
552  PINMUX_DATA(FSIAOMC_MARK, PORT8_FN1),
553  PINMUX_DATA(FSIAOLR_MARK, PORT9_FN1),
554  PINMUX_DATA(FSIAOBT_MARK, PORT10_FN1),
555  PINMUX_DATA(FSIAOSLD_MARK, PORT11_FN1),
556  PINMUX_DATA(FMSOCK_MARK, PORT12_FN1),
557  PINMUX_DATA(FMSOOLR_MARK, PORT13_FN1),
558  PINMUX_DATA(FMSOOBT_MARK, PORT14_FN1),
559  PINMUX_DATA(FMSOSLD_MARK, PORT15_FN1),
560  PINMUX_DATA(FMSOILR_MARK, PORT16_FN1),
561  PINMUX_DATA(FMSOIBT_MARK, PORT17_FN1),
562  PINMUX_DATA(FMSISLD_MARK, PORT18_FN1),
563  PINMUX_DATA(A0_MARK, PORT19_FN1),
564  PINMUX_DATA(A1_MARK, PORT20_FN1),
565  PINMUX_DATA(A2_MARK, PORT21_FN1),
566  PINMUX_DATA(A3_MARK, PORT22_FN1),
567  PINMUX_DATA(A4_FOE_MARK, PORT23_FN1),
568  PINMUX_DATA(A5_FCDE_MARK, PORT24_FN1),
569  PINMUX_DATA(A6_MARK, PORT25_FN1),
570  PINMUX_DATA(A7_MARK, PORT26_FN1),
571  PINMUX_DATA(A8_MARK, PORT27_FN1),
572  PINMUX_DATA(A9_MARK, PORT28_FN1),
573  PINMUX_DATA(A10_MARK, PORT29_FN1),
574  PINMUX_DATA(A11_MARK, PORT30_FN1),
575  PINMUX_DATA(A12_MARK, PORT31_FN1),
576  PINMUX_DATA(A13_MARK, PORT32_FN1),
577  PINMUX_DATA(A14_MARK, PORT33_FN1),
578  PINMUX_DATA(A15_MARK, PORT34_FN1),
579  PINMUX_DATA(A16_MARK, PORT35_FN1),
580  PINMUX_DATA(A17_MARK, PORT36_FN1),
581  PINMUX_DATA(A18_MARK, PORT37_FN1),
582  PINMUX_DATA(A19_MARK, PORT38_FN1),
583  PINMUX_DATA(A20_MARK, PORT39_FN1),
584  PINMUX_DATA(A21_MARK, PORT40_FN1),
585  PINMUX_DATA(A22_MARK, PORT41_FN1),
586  PINMUX_DATA(A23_MARK, PORT42_FN1),
587  PINMUX_DATA(A24_MARK, PORT43_FN1),
588  PINMUX_DATA(A25_MARK, PORT44_FN1),
589  PINMUX_DATA(A26_MARK, PORT45_FN1),
590  PINMUX_DATA(D0_NAF0_MARK, PORT46_FN1),
591  PINMUX_DATA(D1_NAF1_MARK, PORT47_FN1),
592  PINMUX_DATA(D2_NAF2_MARK, PORT48_FN1),
593  PINMUX_DATA(D3_NAF3_MARK, PORT49_FN1),
594  PINMUX_DATA(D4_NAF4_MARK, PORT50_FN1),
595  PINMUX_DATA(D5_NAF5_MARK, PORT51_FN1),
596  PINMUX_DATA(D6_NAF6_MARK, PORT52_FN1),
597  PINMUX_DATA(D7_NAF7_MARK, PORT53_FN1),
598  PINMUX_DATA(D8_NAF8_MARK, PORT54_FN1),
599  PINMUX_DATA(D9_NAF9_MARK, PORT55_FN1),
600  PINMUX_DATA(D10_NAF10_MARK, PORT56_FN1),
601  PINMUX_DATA(D11_NAF11_MARK, PORT57_FN1),
602  PINMUX_DATA(D12_NAF12_MARK, PORT58_FN1),
603  PINMUX_DATA(D13_NAF13_MARK, PORT59_FN1),
604  PINMUX_DATA(D14_NAF14_MARK, PORT60_FN1),
605  PINMUX_DATA(D15_NAF15_MARK, PORT61_FN1),
606  PINMUX_DATA(CS0_MARK, PORT62_FN1),
607  PINMUX_DATA(CS2_MARK, PORT63_FN1),
608  PINMUX_DATA(CS4_MARK, PORT64_FN1),
609  PINMUX_DATA(CS5A_MARK, PORT65_FN1),
610  PINMUX_DATA(CS5B_MARK, PORT66_FN1),
611  PINMUX_DATA(CS6A_MARK, PORT67_FN1),
612  PINMUX_DATA(FCE0_MARK, PORT68_FN1),
613  PINMUX_DATA(RD_FSC_MARK, PORT69_FN1),
614  PINMUX_DATA(WE0_FWE_MARK, PORT70_FN1),
615  PINMUX_DATA(WE1_MARK, PORT71_FN1),
616  PINMUX_DATA(CKO_MARK, PORT72_FN1),
617  PINMUX_DATA(FRB_MARK, PORT73_FN1),
618  PINMUX_DATA(WAIT_MARK, PORT74_FN1),
619  PINMUX_DATA(RDWR_MARK, PORT75_FN1),
620  PINMUX_DATA(MEMC_AD0_MARK, PORT76_FN1),
621  PINMUX_DATA(MEMC_AD1_MARK, PORT77_FN1),
622  PINMUX_DATA(MEMC_AD2_MARK, PORT78_FN1),
623  PINMUX_DATA(MEMC_AD3_MARK, PORT79_FN1),
624  PINMUX_DATA(MEMC_AD4_MARK, PORT80_FN1),
625  PINMUX_DATA(MEMC_AD5_MARK, PORT81_FN1),
626  PINMUX_DATA(MEMC_AD6_MARK, PORT82_FN1),
627  PINMUX_DATA(MEMC_AD7_MARK, PORT83_FN1),
628  PINMUX_DATA(MEMC_AD8_MARK, PORT84_FN1),
629  PINMUX_DATA(MEMC_AD9_MARK, PORT85_FN1),
630  PINMUX_DATA(MEMC_AD10_MARK, PORT86_FN1),
631  PINMUX_DATA(MEMC_AD11_MARK, PORT87_FN1),
632  PINMUX_DATA(MEMC_AD12_MARK, PORT88_FN1),
633  PINMUX_DATA(MEMC_AD13_MARK, PORT89_FN1),
634  PINMUX_DATA(MEMC_AD14_MARK, PORT90_FN1),
635  PINMUX_DATA(MEMC_AD15_MARK, PORT91_FN1),
636  PINMUX_DATA(MEMC_CS0_MARK, PORT92_FN1),
638  PINMUX_DATA(MEMC_CS1_MEMC_A1_MARK, PORT94_FN1),
641  PINMUX_DATA(MEMC_NOE_MARK, PORT97_FN1),
642  PINMUX_DATA(MEMC_NWE_MARK, PORT98_FN1),
643  PINMUX_DATA(MEMC_INT_MARK, PORT99_FN1),
644  PINMUX_DATA(VIO_VD_MARK, PORT100_FN1),
645  PINMUX_DATA(VIO_HD_MARK, PORT101_FN1),
646  PINMUX_DATA(VIO_D0_MARK, PORT102_FN1),
647  PINMUX_DATA(VIO_D1_MARK, PORT103_FN1),
648  PINMUX_DATA(VIO_D2_MARK, PORT104_FN1),
649  PINMUX_DATA(VIO_D3_MARK, PORT105_FN1),
650  PINMUX_DATA(VIO_D4_MARK, PORT106_FN1),
651  PINMUX_DATA(VIO_D5_MARK, PORT107_FN1),
652  PINMUX_DATA(VIO_D6_MARK, PORT108_FN1),
653  PINMUX_DATA(VIO_D7_MARK, PORT109_FN1),
654  PINMUX_DATA(VIO_D8_MARK, PORT110_FN1),
655  PINMUX_DATA(VIO_D9_MARK, PORT111_FN1),
656  PINMUX_DATA(VIO_D10_MARK, PORT112_FN1),
657  PINMUX_DATA(VIO_D11_MARK, PORT113_FN1),
658  PINMUX_DATA(VIO_D12_MARK, PORT114_FN1),
659  PINMUX_DATA(VIO_D13_MARK, PORT115_FN1),
660  PINMUX_DATA(VIO_D14_MARK, PORT116_FN1),
661  PINMUX_DATA(VIO_D15_MARK, PORT117_FN1),
662  PINMUX_DATA(VIO_CLK_MARK, PORT118_FN1),
663  PINMUX_DATA(VIO_FIELD_MARK, PORT119_FN1),
664  PINMUX_DATA(VIO_CKO_MARK, PORT120_FN1),
665  PINMUX_DATA(LCDD0_MARK, PORT121_FN1),
666  PINMUX_DATA(LCDD1_MARK, PORT122_FN1),
667  PINMUX_DATA(LCDD2_MARK, PORT123_FN1),
668  PINMUX_DATA(LCDD3_MARK, PORT124_FN1),
669  PINMUX_DATA(LCDD4_MARK, PORT125_FN1),
670  PINMUX_DATA(LCDD5_MARK, PORT126_FN1),
671  PINMUX_DATA(LCDD6_MARK, PORT127_FN1),
672  PINMUX_DATA(LCDD7_MARK, PORT128_FN1),
673  PINMUX_DATA(LCDD8_MARK, PORT129_FN1),
674  PINMUX_DATA(LCDD9_MARK, PORT130_FN1),
675  PINMUX_DATA(LCDD10_MARK, PORT131_FN1),
676  PINMUX_DATA(LCDD11_MARK, PORT132_FN1),
677  PINMUX_DATA(LCDD12_MARK, PORT133_FN1),
678  PINMUX_DATA(LCDD13_MARK, PORT134_FN1),
679  PINMUX_DATA(LCDD14_MARK, PORT135_FN1),
680  PINMUX_DATA(LCDD15_MARK, PORT136_FN1),
681  PINMUX_DATA(LCDD16_MARK, PORT137_FN1),
682  PINMUX_DATA(LCDD17_MARK, PORT138_FN1),
683  PINMUX_DATA(LCDD18_MARK, PORT139_FN1),
684  PINMUX_DATA(LCDD19_MARK, PORT140_FN1),
685  PINMUX_DATA(LCDD20_MARK, PORT141_FN1),
686  PINMUX_DATA(LCDD21_MARK, PORT142_FN1),
687  PINMUX_DATA(LCDD22_MARK, PORT143_FN1),
688  PINMUX_DATA(LCDD23_MARK, PORT144_FN1),
689  PINMUX_DATA(LCDHSYN_MARK, PORT145_FN1),
690  PINMUX_DATA(LCDVSYN_MARK, PORT146_FN1),
691  PINMUX_DATA(LCDDCK_MARK, PORT147_FN1),
692  PINMUX_DATA(LCDRD_MARK, PORT148_FN1),
693  PINMUX_DATA(LCDDISP_MARK, PORT149_FN1),
694  PINMUX_DATA(LCDLCLK_MARK, PORT150_FN1),
695  PINMUX_DATA(LCDDON_MARK, PORT151_FN1),
696  PINMUX_DATA(SCIFA0_TXD_MARK, PORT152_FN1),
697  PINMUX_DATA(SCIFA0_RXD_MARK, PORT153_FN1),
698  PINMUX_DATA(SCIFA1_TXD_MARK, PORT154_FN1),
699  PINMUX_DATA(SCIFA1_RXD_MARK, PORT155_FN1),
700  PINMUX_DATA(TS_SPSYNC1_MARK, PORT156_FN1),
701  PINMUX_DATA(TS_SDAT1_MARK, PORT157_FN1),
702  PINMUX_DATA(TS_SDEN1_MARK, PORT158_FN1),
703  PINMUX_DATA(TS_SCK1_MARK, PORT159_FN1),
704  PINMUX_DATA(TPU0TO0_MARK, PORT160_FN1),
705  PINMUX_DATA(TPU0TO1_MARK, PORT161_FN1),
706  PINMUX_DATA(SCIFB_SCK_MARK, PORT162_FN1),
707  PINMUX_DATA(SCIFB_RTS_MARK, PORT163_FN1),
708  PINMUX_DATA(SCIFB_CTS_MARK, PORT164_FN1),
709  PINMUX_DATA(SCIFB_TXD_MARK, PORT165_FN1),
710  PINMUX_DATA(SCIFB_RXD_MARK, PORT166_FN1),
711  PINMUX_DATA(VBUS0_0_MARK, PORT167_FN1),
712  PINMUX_DATA(VBUS0_1_MARK, PORT168_FN1),
713  PINMUX_DATA(HDMI_HPD_MARK, PORT169_FN1),
714  PINMUX_DATA(HDMI_CEC_MARK, PORT170_FN1),
715  PINMUX_DATA(SDHICLK0_MARK, PORT171_FN1),
716  PINMUX_DATA(SDHICD0_MARK, PORT172_FN1),
717  PINMUX_DATA(SDHID0_0_MARK, PORT173_FN1),
718  PINMUX_DATA(SDHID0_1_MARK, PORT174_FN1),
719  PINMUX_DATA(SDHID0_2_MARK, PORT175_FN1),
720  PINMUX_DATA(SDHID0_3_MARK, PORT176_FN1),
721  PINMUX_DATA(SDHICMD0_MARK, PORT177_FN1),
722  PINMUX_DATA(SDHIWP0_MARK, PORT178_FN1),
723  PINMUX_DATA(SDHICLK1_MARK, PORT179_FN1),
724  PINMUX_DATA(SDHID1_0_MARK, PORT180_FN1),
725  PINMUX_DATA(SDHID1_1_MARK, PORT181_FN1),
726  PINMUX_DATA(SDHID1_2_MARK, PORT182_FN1),
727  PINMUX_DATA(SDHID1_3_MARK, PORT183_FN1),
728  PINMUX_DATA(SDHICMD1_MARK, PORT184_FN1),
729  PINMUX_DATA(SDHICLK2_MARK, PORT185_FN1),
730  PINMUX_DATA(SDHID2_0_MARK, PORT186_FN1),
731  PINMUX_DATA(SDHID2_1_MARK, PORT187_FN1),
732  PINMUX_DATA(SDHID2_2_MARK, PORT188_FN1),
733  PINMUX_DATA(SDHID2_3_MARK, PORT189_FN1),
734  PINMUX_DATA(SDHICMD2_MARK, PORT190_FN1),
735 
736  /* Function 2 */
737  PINMUX_DATA(FSIBCK_MARK, PORT4_FN2),
738  PINMUX_DATA(SCIFA4_RXD_MARK, PORT5_FN2),
739  PINMUX_DATA(SCIFA4_TXD_MARK, PORT6_FN2),
740  PINMUX_DATA(SCIFA5_RXD_MARK, PORT8_FN2),
741  PINMUX_DATA(FSIASPDIF_11_MARK, PORT11_FN2),
742  PINMUX_DATA(SCIFA5_TXD_MARK, PORT12_FN2),
743  PINMUX_DATA(FMSIOLR_MARK, PORT13_FN2),
744  PINMUX_DATA(FMSIOBT_MARK, PORT14_FN2),
745  PINMUX_DATA(FSIASPDIF_15_MARK, PORT15_FN2),
746  PINMUX_DATA(FMSIILR_MARK, PORT16_FN2),
747  PINMUX_DATA(FMSIIBT_MARK, PORT17_FN2),
748  PINMUX_DATA(BS_MARK, PORT19_FN2),
749  PINMUX_DATA(MSIOF0_TSYNC_MARK, PORT36_FN2),
750  PINMUX_DATA(MSIOF0_TSCK_MARK, PORT37_FN2),
751  PINMUX_DATA(MSIOF0_RXD_MARK, PORT38_FN2),
752  PINMUX_DATA(MSIOF0_RSCK_MARK, PORT39_FN2),
753  PINMUX_DATA(MSIOF0_RSYNC_MARK, PORT40_FN2),
754  PINMUX_DATA(MSIOF0_MCK0_MARK, PORT41_FN2),
755  PINMUX_DATA(MSIOF0_MCK1_MARK, PORT42_FN2),
756  PINMUX_DATA(MSIOF0_SS1_MARK, PORT43_FN2),
757  PINMUX_DATA(MSIOF0_SS2_MARK, PORT44_FN2),
758  PINMUX_DATA(MSIOF0_TXD_MARK, PORT45_FN2),
759  PINMUX_DATA(FMSICK_MARK, PORT65_FN2),
760  PINMUX_DATA(FCE1_MARK, PORT66_FN2),
761  PINMUX_DATA(BBIF1_RXD_MARK, PORT76_FN2),
762  PINMUX_DATA(BBIF1_TSYNC_MARK, PORT77_FN2),
763  PINMUX_DATA(BBIF1_TSCK_MARK, PORT78_FN2),
764  PINMUX_DATA(BBIF1_TXD_MARK, PORT79_FN2),
765  PINMUX_DATA(BBIF1_RSCK_MARK, PORT80_FN2),
766  PINMUX_DATA(BBIF1_RSYNC_MARK, PORT81_FN2),
767  PINMUX_DATA(BBIF1_FLOW_MARK, PORT82_FN2),
768  PINMUX_DATA(BB_RX_FLOW_N_MARK, PORT83_FN2),
769  PINMUX_DATA(MSIOF1_RSCK_MARK, PORT84_FN2),
770  PINMUX_DATA(MSIOF1_RSYNC_MARK, PORT85_FN2),
771  PINMUX_DATA(MSIOF1_MCK0_MARK, PORT86_FN2),
772  PINMUX_DATA(MSIOF1_MCK1_MARK, PORT87_FN2),
779  PINMUX_DATA(SCIFA2_CTS1_MARK, PORT94_FN2),
780  PINMUX_DATA(SCIFA2_RTS1_MARK, PORT95_FN2),
781  PINMUX_DATA(SCIFA2_TXD1_MARK, PORT96_FN2),
782  PINMUX_DATA(SCIFA2_RXD1_MARK, PORT97_FN2),
783  PINMUX_DATA(SCIFA2_SCK1_MARK, PORT98_FN2),
784  PINMUX_DATA(I2C_SCL2_MARK, PORT110_FN2),
785  PINMUX_DATA(I2C_SDA2_MARK, PORT111_FN2),
786  PINMUX_DATA(I2C_SCL3_MARK, PORT114_FN2, MSEL4CR_16_1),
787  PINMUX_DATA(I2C_SDA3_MARK, PORT115_FN2, MSEL4CR_16_1),
788  PINMUX_DATA(I2C_SCL4_MARK, PORT116_FN2, MSEL4CR_17_1),
789  PINMUX_DATA(I2C_SDA4_MARK, PORT117_FN2, MSEL4CR_17_1),
790  PINMUX_DATA(MSIOF2_RSCK_MARK, PORT134_FN2),
791  PINMUX_DATA(MSIOF2_RSYNC_MARK, PORT135_FN2),
792  PINMUX_DATA(MSIOF2_MCK0_MARK, PORT136_FN2),
793  PINMUX_DATA(MSIOF2_MCK1_MARK, PORT137_FN2),
794  PINMUX_DATA(MSIOF2_SS1_MARK, PORT138_FN2),
795  PINMUX_DATA(MSIOF2_SS2_MARK, PORT139_FN2),
797  PINMUX_DATA(SCIFA3_RTS_141_MARK, PORT141_FN2),
798  PINMUX_DATA(SCIFA3_SCK_MARK, PORT142_FN2),
799  PINMUX_DATA(SCIFA3_TXD_MARK, PORT143_FN2),
800  PINMUX_DATA(SCIFA3_RXD_MARK, PORT144_FN2),
801  PINMUX_DATA(MSIOF2_TSYNC_MARK, PORT148_FN2),
802  PINMUX_DATA(MSIOF2_TSCK_MARK, PORT149_FN2),
803  PINMUX_DATA(MSIOF2_RXD_MARK, PORT150_FN2),
804  PINMUX_DATA(MSIOF2_TXD_MARK, PORT151_FN2),
805  PINMUX_DATA(SCIFA0_SCK_MARK, PORT156_FN2),
806  PINMUX_DATA(SCIFA0_RTS_MARK, PORT157_FN2),
807  PINMUX_DATA(SCIFA0_CTS_MARK, PORT158_FN2),
808  PINMUX_DATA(SCIFA1_SCK_MARK, PORT159_FN2),
809  PINMUX_DATA(SCIFA1_RTS_MARK, PORT160_FN2),
810  PINMUX_DATA(SCIFA1_CTS_MARK, PORT161_FN2),
811 
812  /* Function 3 */
813  PINMUX_DATA(VIO_CKO1_MARK, PORT16_FN3),
814  PINMUX_DATA(VIO_CKO2_MARK, PORT17_FN3),
822  PINMUX_DATA(MMCD1_0_MARK, PORT54_FN3, MSEL4CR_15_1),
823  PINMUX_DATA(MMCD1_1_MARK, PORT55_FN3, MSEL4CR_15_1),
824  PINMUX_DATA(MMCD1_2_MARK, PORT56_FN3, MSEL4CR_15_1),
825  PINMUX_DATA(MMCD1_3_MARK, PORT57_FN3, MSEL4CR_15_1),
826  PINMUX_DATA(MMCD1_4_MARK, PORT58_FN3, MSEL4CR_15_1),
827  PINMUX_DATA(MMCD1_5_MARK, PORT59_FN3, MSEL4CR_15_1),
828  PINMUX_DATA(MMCD1_6_MARK, PORT60_FN3, MSEL4CR_15_1),
829  PINMUX_DATA(MMCD1_7_MARK, PORT61_FN3, MSEL4CR_15_1),
830  PINMUX_DATA(VINT_I_MARK, PORT65_FN3),
831  PINMUX_DATA(MMCCLK1_MARK, PORT66_FN3, MSEL4CR_15_1),
832  PINMUX_DATA(MMCCMD1_MARK, PORT67_FN3, MSEL4CR_15_1),
833  PINMUX_DATA(TPU0TO2_93_MARK, PORT93_FN3),
834  PINMUX_DATA(TPU0TO2_99_MARK, PORT99_FN3),
835  PINMUX_DATA(TPU0TO3_MARK, PORT112_FN3),
836  PINMUX_DATA(IDIN_0_MARK, PORT113_FN3),
837  PINMUX_DATA(EXTLP_0_MARK, PORT114_FN3),
838  PINMUX_DATA(OVCN2_0_MARK, PORT115_FN3),
839  PINMUX_DATA(PWEN_0_MARK, PORT116_FN3),
840  PINMUX_DATA(OVCN_0_MARK, PORT117_FN3),
841  PINMUX_DATA(KEYOUT7_MARK, PORT121_FN3),
842  PINMUX_DATA(KEYOUT6_MARK, PORT122_FN3),
843  PINMUX_DATA(KEYOUT5_MARK, PORT123_FN3),
844  PINMUX_DATA(KEYOUT4_MARK, PORT124_FN3),
845  PINMUX_DATA(KEYOUT3_MARK, PORT125_FN3),
846  PINMUX_DATA(KEYOUT2_MARK, PORT126_FN3),
847  PINMUX_DATA(KEYOUT1_MARK, PORT127_FN3),
848  PINMUX_DATA(KEYOUT0_MARK, PORT128_FN3),
849  PINMUX_DATA(KEYIN7_MARK, PORT129_FN3),
850  PINMUX_DATA(KEYIN6_MARK, PORT130_FN3),
851  PINMUX_DATA(KEYIN5_MARK, PORT131_FN3),
852  PINMUX_DATA(KEYIN4_MARK, PORT132_FN3),
857  PINMUX_DATA(TS_SPSYNC2_MARK, PORT137_FN3),
858  PINMUX_DATA(IROUT_139_MARK, PORT139_FN3),
859  PINMUX_DATA(IRDA_OUT_MARK, PORT140_FN3),
860  PINMUX_DATA(IRDA_IN_MARK, PORT141_FN3),
861  PINMUX_DATA(IRDA_FIRSEL_MARK, PORT142_FN3),
862  PINMUX_DATA(TS_SDAT2_MARK, PORT145_FN3),
863  PINMUX_DATA(TS_SDEN2_MARK, PORT146_FN3),
864  PINMUX_DATA(TS_SCK2_MARK, PORT147_FN3),
865 
866  /* Function 4 */
868  PINMUX_DATA(SCIFA3_RTS_44_MARK, PORT44_FN4),
869  PINMUX_DATA(GP_RX_FLAG_MARK, PORT76_FN4),
870  PINMUX_DATA(GP_RX_DATA_MARK, PORT77_FN4),
871  PINMUX_DATA(GP_TX_READY_MARK, PORT78_FN4),
872  PINMUX_DATA(GP_RX_WAKE_MARK, PORT79_FN4),
873  PINMUX_DATA(MP_TX_FLAG_MARK, PORT80_FN4),
874  PINMUX_DATA(MP_TX_DATA_MARK, PORT81_FN4),
875  PINMUX_DATA(MP_RX_READY_MARK, PORT82_FN4),
876  PINMUX_DATA(MP_TX_WAKE_MARK, PORT83_FN4),
877  PINMUX_DATA(MMCD0_0_MARK, PORT84_FN4, MSEL4CR_15_0),
878  PINMUX_DATA(MMCD0_1_MARK, PORT85_FN4, MSEL4CR_15_0),
879  PINMUX_DATA(MMCD0_2_MARK, PORT86_FN4, MSEL4CR_15_0),
880  PINMUX_DATA(MMCD0_3_MARK, PORT87_FN4, MSEL4CR_15_0),
881  PINMUX_DATA(MMCD0_4_MARK, PORT88_FN4, MSEL4CR_15_0),
882  PINMUX_DATA(MMCD0_5_MARK, PORT89_FN4, MSEL4CR_15_0),
883  PINMUX_DATA(MMCD0_6_MARK, PORT90_FN4, MSEL4CR_15_0),
884  PINMUX_DATA(MMCD0_7_MARK, PORT91_FN4, MSEL4CR_15_0),
885  PINMUX_DATA(MMCCMD0_MARK, PORT92_FN4, MSEL4CR_15_0),
886  PINMUX_DATA(SIM_RST_MARK, PORT94_FN4),
887  PINMUX_DATA(SIM_CLK_MARK, PORT95_FN4),
888  PINMUX_DATA(SIM_D_MARK, PORT98_FN4),
889  PINMUX_DATA(MMCCLK0_MARK, PORT99_FN4, MSEL4CR_15_0),
892  PINMUX_DATA(PWEN_1_115_MARK, PORT115_FN4),
893  PINMUX_DATA(EXTLP_1_MARK, PORT116_FN4),
894  PINMUX_DATA(OVCN2_1_MARK, PORT117_FN4),
899  PINMUX_DATA(PWEN_1_138_MARK, PORT138_FN4),
900  PINMUX_DATA(IROUT_140_MARK, PORT140_FN4),
901  PINMUX_DATA(LCDCS_MARK, PORT145_FN4),
902  PINMUX_DATA(LCDWR_MARK, PORT147_FN4),
903  PINMUX_DATA(LCDRS_MARK, PORT149_FN4),
905 
906  /* Function 5 */
907  PINMUX_DATA(GPI0_MARK, PORT41_FN5),
908  PINMUX_DATA(GPI1_MARK, PORT42_FN5),
909  PINMUX_DATA(GPO0_MARK, PORT43_FN5),
910  PINMUX_DATA(GPO1_MARK, PORT44_FN5),
911  PINMUX_DATA(I2C_SCL3S_MARK, PORT137_FN5, MSEL4CR_16_0),
912  PINMUX_DATA(I2C_SDA3S_MARK, PORT145_FN5, MSEL4CR_16_0),
913  PINMUX_DATA(I2C_SCL4S_MARK, PORT146_FN5, MSEL4CR_17_0),
914  PINMUX_DATA(I2C_SDA4S_MARK, PORT147_FN5, MSEL4CR_17_0),
915 
916  /* Function select */
919 
924 
927 
930 };
931 
932 static struct pinmux_gpio pinmux_gpios[] = {
933 
934  /* PORT */
935  GPIO_PORT_ALL(),
936 
937  /* IRQ */
938  GPIO_FN(IRQ0_6), GPIO_FN(IRQ0_162), GPIO_FN(IRQ1),
939  GPIO_FN(IRQ2_4), GPIO_FN(IRQ2_5), GPIO_FN(IRQ3_8),
940  GPIO_FN(IRQ3_16), GPIO_FN(IRQ4_17), GPIO_FN(IRQ4_163),
941  GPIO_FN(IRQ5), GPIO_FN(IRQ6_39), GPIO_FN(IRQ6_164),
942  GPIO_FN(IRQ7_40), GPIO_FN(IRQ7_167), GPIO_FN(IRQ8_41),
943  GPIO_FN(IRQ8_168), GPIO_FN(IRQ9_42), GPIO_FN(IRQ9_169),
944  GPIO_FN(IRQ10), GPIO_FN(IRQ11), GPIO_FN(IRQ12_80),
945  GPIO_FN(IRQ12_137), GPIO_FN(IRQ13_81), GPIO_FN(IRQ13_145),
946  GPIO_FN(IRQ14_82), GPIO_FN(IRQ14_146), GPIO_FN(IRQ15_83),
947  GPIO_FN(IRQ15_147), GPIO_FN(IRQ16_84), GPIO_FN(IRQ16_170),
948  GPIO_FN(IRQ17), GPIO_FN(IRQ18), GPIO_FN(IRQ19),
949  GPIO_FN(IRQ20), GPIO_FN(IRQ21), GPIO_FN(IRQ22),
950  GPIO_FN(IRQ23), GPIO_FN(IRQ24), GPIO_FN(IRQ25),
951  GPIO_FN(IRQ26_121), GPIO_FN(IRQ26_172), GPIO_FN(IRQ27_122),
952  GPIO_FN(IRQ27_180), GPIO_FN(IRQ28_123), GPIO_FN(IRQ28_181),
953  GPIO_FN(IRQ29_129), GPIO_FN(IRQ29_182), GPIO_FN(IRQ30_130),
954  GPIO_FN(IRQ30_183), GPIO_FN(IRQ31_138), GPIO_FN(IRQ31_184),
955 
956  /* MSIOF0 */
957  GPIO_FN(MSIOF0_TSYNC), GPIO_FN(MSIOF0_TSCK), GPIO_FN(MSIOF0_RXD),
958  GPIO_FN(MSIOF0_RSCK), GPIO_FN(MSIOF0_RSYNC), GPIO_FN(MSIOF0_MCK0),
959  GPIO_FN(MSIOF0_MCK1), GPIO_FN(MSIOF0_SS1), GPIO_FN(MSIOF0_SS2),
960  GPIO_FN(MSIOF0_TXD),
961 
962  /* MSIOF1 */
963  GPIO_FN(MSIOF1_TSCK_39), GPIO_FN(MSIOF1_TSCK_88),
964  GPIO_FN(MSIOF1_TSYNC_40), GPIO_FN(MSIOF1_TSYNC_89),
965  GPIO_FN(MSIOF1_TXD_41), GPIO_FN(MSIOF1_TXD_90),
966  GPIO_FN(MSIOF1_RXD_42), GPIO_FN(MSIOF1_RXD_91),
967  GPIO_FN(MSIOF1_SS1_43), GPIO_FN(MSIOF1_SS1_92),
968  GPIO_FN(MSIOF1_SS2_44), GPIO_FN(MSIOF1_SS2_93),
969  GPIO_FN(MSIOF1_RSCK), GPIO_FN(MSIOF1_RSYNC),
970  GPIO_FN(MSIOF1_MCK0), GPIO_FN(MSIOF1_MCK1),
971 
972  /* MSIOF2 */
973  GPIO_FN(MSIOF2_RSCK), GPIO_FN(MSIOF2_RSYNC), GPIO_FN(MSIOF2_MCK0),
974  GPIO_FN(MSIOF2_MCK1), GPIO_FN(MSIOF2_SS1), GPIO_FN(MSIOF2_SS2),
975  GPIO_FN(MSIOF2_TSYNC), GPIO_FN(MSIOF2_TSCK), GPIO_FN(MSIOF2_RXD),
976  GPIO_FN(MSIOF2_TXD),
977 
978  /* BBIF1 */
979  GPIO_FN(BBIF1_RXD), GPIO_FN(BBIF1_TSYNC), GPIO_FN(BBIF1_TSCK),
980  GPIO_FN(BBIF1_TXD), GPIO_FN(BBIF1_RSCK), GPIO_FN(BBIF1_RSYNC),
981  GPIO_FN(BBIF1_FLOW), GPIO_FN(BB_RX_FLOW_N),
982 
983  /* BBIF2 */
984  GPIO_FN(BBIF2_TSCK1), GPIO_FN(BBIF2_TSYNC1),
985  GPIO_FN(BBIF2_TXD1), GPIO_FN(BBIF2_RXD),
986 
987  /* FSI */
988  GPIO_FN(FSIACK), GPIO_FN(FSIBCK), GPIO_FN(FSIAILR),
989  GPIO_FN(FSIAIBT), GPIO_FN(FSIAISLD), GPIO_FN(FSIAOMC),
990  GPIO_FN(FSIAOLR), GPIO_FN(FSIAOBT), GPIO_FN(FSIAOSLD),
991  GPIO_FN(FSIASPDIF_11), GPIO_FN(FSIASPDIF_15),
992 
993  /* FMSI */
994  GPIO_FN(FMSOCK), GPIO_FN(FMSOOLR), GPIO_FN(FMSIOLR),
995  GPIO_FN(FMSOOBT), GPIO_FN(FMSIOBT), GPIO_FN(FMSOSLD),
996  GPIO_FN(FMSOILR), GPIO_FN(FMSIILR), GPIO_FN(FMSOIBT),
997  GPIO_FN(FMSIIBT), GPIO_FN(FMSISLD), GPIO_FN(FMSICK),
998 
999  /* SCIFA0 */
1000  GPIO_FN(SCIFA0_TXD), GPIO_FN(SCIFA0_RXD), GPIO_FN(SCIFA0_SCK),
1001  GPIO_FN(SCIFA0_RTS), GPIO_FN(SCIFA0_CTS),
1002 
1003  /* SCIFA1 */
1004  GPIO_FN(SCIFA1_TXD), GPIO_FN(SCIFA1_RXD), GPIO_FN(SCIFA1_SCK),
1005  GPIO_FN(SCIFA1_RTS), GPIO_FN(SCIFA1_CTS),
1006 
1007  /* SCIFA2 */
1008  GPIO_FN(SCIFA2_CTS1), GPIO_FN(SCIFA2_RTS1), GPIO_FN(SCIFA2_TXD1),
1009  GPIO_FN(SCIFA2_RXD1), GPIO_FN(SCIFA2_SCK1),
1010 
1011  /* SCIFA3 */
1012  GPIO_FN(SCIFA3_CTS_43), GPIO_FN(SCIFA3_CTS_140),
1013  GPIO_FN(SCIFA3_RTS_44), GPIO_FN(SCIFA3_RTS_141),
1014  GPIO_FN(SCIFA3_SCK), GPIO_FN(SCIFA3_TXD),
1015  GPIO_FN(SCIFA3_RXD),
1016 
1017  /* SCIFA4 */
1018  GPIO_FN(SCIFA4_RXD), GPIO_FN(SCIFA4_TXD),
1019 
1020  /* SCIFA5 */
1021  GPIO_FN(SCIFA5_RXD), GPIO_FN(SCIFA5_TXD),
1022 
1023  /* SCIFB */
1024  GPIO_FN(SCIFB_SCK), GPIO_FN(SCIFB_RTS), GPIO_FN(SCIFB_CTS),
1025  GPIO_FN(SCIFB_TXD), GPIO_FN(SCIFB_RXD),
1026 
1027  /* CEU */
1028  GPIO_FN(VIO_HD), GPIO_FN(VIO_CKO1), GPIO_FN(VIO_CKO2),
1029  GPIO_FN(VIO_VD), GPIO_FN(VIO_CLK), GPIO_FN(VIO_FIELD),
1030  GPIO_FN(VIO_CKO), GPIO_FN(VIO_D0), GPIO_FN(VIO_D1),
1032  GPIO_FN(VIO_D5), GPIO_FN(VIO_D6), GPIO_FN(VIO_D7),
1033  GPIO_FN(VIO_D8), GPIO_FN(VIO_D9), GPIO_FN(VIO_D10),
1034  GPIO_FN(VIO_D11), GPIO_FN(VIO_D12), GPIO_FN(VIO_D13),
1035  GPIO_FN(VIO_D14), GPIO_FN(VIO_D15),
1036 
1037  /* USB0 */
1038  GPIO_FN(IDIN_0), GPIO_FN(EXTLP_0), GPIO_FN(OVCN2_0),
1039  GPIO_FN(PWEN_0), GPIO_FN(OVCN_0), GPIO_FN(VBUS0_0),
1040 
1041  /* USB1 */
1042  GPIO_FN(IDIN_1_18), GPIO_FN(IDIN_1_113),
1043  GPIO_FN(OVCN_1_114), GPIO_FN(OVCN_1_162),
1044  GPIO_FN(PWEN_1_115), GPIO_FN(PWEN_1_138),
1045  GPIO_FN(EXTLP_1), GPIO_FN(OVCN2_1),
1046  GPIO_FN(VBUS0_1),
1047 
1048  /* GPIO */
1049  GPIO_FN(GPI0), GPIO_FN(GPI1), GPIO_FN(GPO0), GPIO_FN(GPO1),
1050 
1051  /* BSC */
1052  GPIO_FN(BS), GPIO_FN(WE1), GPIO_FN(CKO),
1053  GPIO_FN(WAIT), GPIO_FN(RDWR),
1054 
1055  GPIO_FN(A0), GPIO_FN(A1), GPIO_FN(A2),
1056  GPIO_FN(A3), GPIO_FN(A6), GPIO_FN(A7),
1057  GPIO_FN(A8), GPIO_FN(A9), GPIO_FN(A10),
1059  GPIO_FN(A14), GPIO_FN(A15), GPIO_FN(A16),
1060  GPIO_FN(A17), GPIO_FN(A18), GPIO_FN(A19),
1061  GPIO_FN(A20), GPIO_FN(A21), GPIO_FN(A22),
1063  GPIO_FN(A26),
1064 
1065  GPIO_FN(CS0), GPIO_FN(CS2), GPIO_FN(CS4),
1066  GPIO_FN(CS5A), GPIO_FN(CS5B), GPIO_FN(CS6A),
1067 
1068  /* BSC/FLCTL */
1069  GPIO_FN(RD_FSC), GPIO_FN(WE0_FWE), GPIO_FN(A4_FOE),
1070  GPIO_FN(A5_FCDE), GPIO_FN(D0_NAF0), GPIO_FN(D1_NAF1),
1071  GPIO_FN(D2_NAF2), GPIO_FN(D3_NAF3), GPIO_FN(D4_NAF4),
1072  GPIO_FN(D5_NAF5), GPIO_FN(D6_NAF6), GPIO_FN(D7_NAF7),
1073  GPIO_FN(D8_NAF8), GPIO_FN(D9_NAF9), GPIO_FN(D10_NAF10),
1074  GPIO_FN(D11_NAF11), GPIO_FN(D12_NAF12), GPIO_FN(D13_NAF13),
1075  GPIO_FN(D14_NAF14), GPIO_FN(D15_NAF15),
1076 
1077  /* MMCIF(1) */
1078  GPIO_FN(MMCD0_0), GPIO_FN(MMCD0_1), GPIO_FN(MMCD0_2),
1079  GPIO_FN(MMCD0_3), GPIO_FN(MMCD0_4), GPIO_FN(MMCD0_5),
1080  GPIO_FN(MMCD0_6), GPIO_FN(MMCD0_7), GPIO_FN(MMCCMD0),
1081  GPIO_FN(MMCCLK0),
1082 
1083  /* MMCIF(2) */
1084  GPIO_FN(MMCD1_0), GPIO_FN(MMCD1_1), GPIO_FN(MMCD1_2),
1085  GPIO_FN(MMCD1_3), GPIO_FN(MMCD1_4), GPIO_FN(MMCD1_5),
1086  GPIO_FN(MMCD1_6), GPIO_FN(MMCD1_7), GPIO_FN(MMCCLK1),
1087  GPIO_FN(MMCCMD1),
1088 
1089  /* SPU2 */
1090  GPIO_FN(VINT_I),
1091 
1092  /* FLCTL */
1093  GPIO_FN(FCE1), GPIO_FN(FCE0), GPIO_FN(FRB),
1094 
1095  /* HSI */
1096  GPIO_FN(GP_RX_FLAG), GPIO_FN(GP_RX_DATA), GPIO_FN(GP_TX_READY),
1097  GPIO_FN(GP_RX_WAKE), GPIO_FN(MP_TX_FLAG), GPIO_FN(MP_TX_DATA),
1098  GPIO_FN(MP_RX_READY), GPIO_FN(MP_TX_WAKE),
1099 
1100  /* MFI */
1101  GPIO_FN(MFIv6),
1102  GPIO_FN(MFIv4),
1103 
1104  GPIO_FN(MEMC_BUSCLK_MEMC_A0), GPIO_FN(MEMC_ADV_MEMC_DREQ0),
1105  GPIO_FN(MEMC_WAIT_MEMC_DREQ1), GPIO_FN(MEMC_CS1_MEMC_A1),
1106  GPIO_FN(MEMC_CS0), GPIO_FN(MEMC_NOE),
1107  GPIO_FN(MEMC_NWE), GPIO_FN(MEMC_INT),
1108 
1109  GPIO_FN(MEMC_AD0), GPIO_FN(MEMC_AD1), GPIO_FN(MEMC_AD2),
1110  GPIO_FN(MEMC_AD3), GPIO_FN(MEMC_AD4), GPIO_FN(MEMC_AD5),
1111  GPIO_FN(MEMC_AD6), GPIO_FN(MEMC_AD7), GPIO_FN(MEMC_AD8),
1112  GPIO_FN(MEMC_AD9), GPIO_FN(MEMC_AD10), GPIO_FN(MEMC_AD11),
1113  GPIO_FN(MEMC_AD12), GPIO_FN(MEMC_AD13), GPIO_FN(MEMC_AD14),
1114  GPIO_FN(MEMC_AD15),
1115 
1116  /* SIM */
1117  GPIO_FN(SIM_RST), GPIO_FN(SIM_CLK), GPIO_FN(SIM_D),
1118 
1119  /* TPU */
1120  GPIO_FN(TPU0TO0), GPIO_FN(TPU0TO1), GPIO_FN(TPU0TO2_93),
1121  GPIO_FN(TPU0TO2_99), GPIO_FN(TPU0TO3),
1122 
1123  /* I2C2 */
1124  GPIO_FN(I2C_SCL2), GPIO_FN(I2C_SDA2),
1125 
1126  /* I2C3(1) */
1127  GPIO_FN(I2C_SCL3), GPIO_FN(I2C_SDA3),
1128 
1129  /* I2C3(2) */
1130  GPIO_FN(I2C_SCL3S), GPIO_FN(I2C_SDA3S),
1131 
1132  /* I2C4(2) */
1133  GPIO_FN(I2C_SCL4), GPIO_FN(I2C_SDA4),
1134 
1135  /* I2C4(2) */
1136  GPIO_FN(I2C_SCL4S), GPIO_FN(I2C_SDA4S),
1137 
1138  /* KEYSC */
1139  GPIO_FN(KEYOUT0), GPIO_FN(KEYIN0_121), GPIO_FN(KEYIN0_136),
1140  GPIO_FN(KEYOUT1), GPIO_FN(KEYIN1_122), GPIO_FN(KEYIN1_135),
1141  GPIO_FN(KEYOUT2), GPIO_FN(KEYIN2_123), GPIO_FN(KEYIN2_134),
1142  GPIO_FN(KEYOUT3), GPIO_FN(KEYIN3_124), GPIO_FN(KEYIN3_133),
1143  GPIO_FN(KEYOUT4), GPIO_FN(KEYIN4), GPIO_FN(KEYOUT5),
1144  GPIO_FN(KEYIN5), GPIO_FN(KEYOUT6), GPIO_FN(KEYIN6),
1145  GPIO_FN(KEYOUT7), GPIO_FN(KEYIN7),
1146 
1147  /* LCDC */
1148  GPIO_FN(LCDHSYN), GPIO_FN(LCDCS), GPIO_FN(LCDVSYN),
1149  GPIO_FN(LCDDCK), GPIO_FN(LCDWR), GPIO_FN(LCDRD),
1150  GPIO_FN(LCDDISP), GPIO_FN(LCDRS), GPIO_FN(LCDLCLK),
1151  GPIO_FN(LCDDON),
1152 
1153  GPIO_FN(LCDD0), GPIO_FN(LCDD1), GPIO_FN(LCDD2),
1154  GPIO_FN(LCDD3), GPIO_FN(LCDD4), GPIO_FN(LCDD5),
1155  GPIO_FN(LCDD6), GPIO_FN(LCDD7), GPIO_FN(LCDD8),
1156  GPIO_FN(LCDD9), GPIO_FN(LCDD10), GPIO_FN(LCDD11),
1157  GPIO_FN(LCDD12), GPIO_FN(LCDD13), GPIO_FN(LCDD14),
1158  GPIO_FN(LCDD15), GPIO_FN(LCDD16), GPIO_FN(LCDD17),
1159  GPIO_FN(LCDD18), GPIO_FN(LCDD19), GPIO_FN(LCDD20),
1161 
1162  GPIO_FN(LCDC0_SELECT),
1163  GPIO_FN(LCDC1_SELECT),
1164 
1165  /* IRDA */
1166  GPIO_FN(IRDA_OUT), GPIO_FN(IRDA_IN), GPIO_FN(IRDA_FIRSEL),
1167  GPIO_FN(IROUT_139), GPIO_FN(IROUT_140),
1168 
1169  /* TSIF1 */
1170  GPIO_FN(TS0_1SELECT),
1171  GPIO_FN(TS0_2SELECT),
1172  GPIO_FN(TS1_1SELECT),
1173  GPIO_FN(TS1_2SELECT),
1174 
1175  GPIO_FN(TS_SPSYNC1), GPIO_FN(TS_SDAT1),
1176  GPIO_FN(TS_SDEN1), GPIO_FN(TS_SCK1),
1177 
1178  /* TSIF2 */
1179  GPIO_FN(TS_SPSYNC2), GPIO_FN(TS_SDAT2),
1180  GPIO_FN(TS_SDEN2), GPIO_FN(TS_SCK2),
1181 
1182  /* HDMI */
1183  GPIO_FN(HDMI_HPD), GPIO_FN(HDMI_CEC),
1184 
1185  /* SDHI0 */
1186  GPIO_FN(SDHICLK0), GPIO_FN(SDHICD0), GPIO_FN(SDHICMD0),
1187  GPIO_FN(SDHIWP0), GPIO_FN(SDHID0_0), GPIO_FN(SDHID0_1),
1188  GPIO_FN(SDHID0_2), GPIO_FN(SDHID0_3),
1189 
1190  /* SDHI1 */
1191  GPIO_FN(SDHICLK1), GPIO_FN(SDHICMD1), GPIO_FN(SDHID1_0),
1192  GPIO_FN(SDHID1_1), GPIO_FN(SDHID1_2), GPIO_FN(SDHID1_3),
1193 
1194  /* SDHI2 */
1195  GPIO_FN(SDHICLK2), GPIO_FN(SDHICMD2), GPIO_FN(SDHID2_0),
1196  GPIO_FN(SDHID2_1), GPIO_FN(SDHID2_2), GPIO_FN(SDHID2_3),
1197 
1198  /* SDENC */
1199  GPIO_FN(SDENC_CPG),
1200  GPIO_FN(SDENC_DV_CLKI),
1201 };
1202 
1203 static struct pinmux_cfg_reg pinmux_config_regs[] = {
1204  PORTCR(0, 0xE6051000), /* PORT0CR */
1205  PORTCR(1, 0xE6051001), /* PORT1CR */
1206  PORTCR(2, 0xE6051002), /* PORT2CR */
1207  PORTCR(3, 0xE6051003), /* PORT3CR */
1208  PORTCR(4, 0xE6051004), /* PORT4CR */
1209  PORTCR(5, 0xE6051005), /* PORT5CR */
1210  PORTCR(6, 0xE6051006), /* PORT6CR */
1211  PORTCR(7, 0xE6051007), /* PORT7CR */
1212  PORTCR(8, 0xE6051008), /* PORT8CR */
1213  PORTCR(9, 0xE6051009), /* PORT9CR */
1214  PORTCR(10, 0xE605100A), /* PORT10CR */
1215  PORTCR(11, 0xE605100B), /* PORT11CR */
1216  PORTCR(12, 0xE605100C), /* PORT12CR */
1217  PORTCR(13, 0xE605100D), /* PORT13CR */
1218  PORTCR(14, 0xE605100E), /* PORT14CR */
1219  PORTCR(15, 0xE605100F), /* PORT15CR */
1220  PORTCR(16, 0xE6051010), /* PORT16CR */
1221  PORTCR(17, 0xE6051011), /* PORT17CR */
1222  PORTCR(18, 0xE6051012), /* PORT18CR */
1223  PORTCR(19, 0xE6051013), /* PORT19CR */
1224  PORTCR(20, 0xE6051014), /* PORT20CR */
1225  PORTCR(21, 0xE6051015), /* PORT21CR */
1226  PORTCR(22, 0xE6051016), /* PORT22CR */
1227  PORTCR(23, 0xE6051017), /* PORT23CR */
1228  PORTCR(24, 0xE6051018), /* PORT24CR */
1229  PORTCR(25, 0xE6051019), /* PORT25CR */
1230  PORTCR(26, 0xE605101A), /* PORT26CR */
1231  PORTCR(27, 0xE605101B), /* PORT27CR */
1232  PORTCR(28, 0xE605101C), /* PORT28CR */
1233  PORTCR(29, 0xE605101D), /* PORT29CR */
1234  PORTCR(30, 0xE605101E), /* PORT30CR */
1235  PORTCR(31, 0xE605101F), /* PORT31CR */
1236  PORTCR(32, 0xE6051020), /* PORT32CR */
1237  PORTCR(33, 0xE6051021), /* PORT33CR */
1238  PORTCR(34, 0xE6051022), /* PORT34CR */
1239  PORTCR(35, 0xE6051023), /* PORT35CR */
1240  PORTCR(36, 0xE6051024), /* PORT36CR */
1241  PORTCR(37, 0xE6051025), /* PORT37CR */
1242  PORTCR(38, 0xE6051026), /* PORT38CR */
1243  PORTCR(39, 0xE6051027), /* PORT39CR */
1244  PORTCR(40, 0xE6051028), /* PORT40CR */
1245  PORTCR(41, 0xE6051029), /* PORT41CR */
1246  PORTCR(42, 0xE605102A), /* PORT42CR */
1247  PORTCR(43, 0xE605102B), /* PORT43CR */
1248  PORTCR(44, 0xE605102C), /* PORT44CR */
1249  PORTCR(45, 0xE605102D), /* PORT45CR */
1250  PORTCR(46, 0xE605202E), /* PORT46CR */
1251  PORTCR(47, 0xE605202F), /* PORT47CR */
1252  PORTCR(48, 0xE6052030), /* PORT48CR */
1253  PORTCR(49, 0xE6052031), /* PORT49CR */
1254  PORTCR(50, 0xE6052032), /* PORT50CR */
1255  PORTCR(51, 0xE6052033), /* PORT51CR */
1256  PORTCR(52, 0xE6052034), /* PORT52CR */
1257  PORTCR(53, 0xE6052035), /* PORT53CR */
1258  PORTCR(54, 0xE6052036), /* PORT54CR */
1259  PORTCR(55, 0xE6052037), /* PORT55CR */
1260  PORTCR(56, 0xE6052038), /* PORT56CR */
1261  PORTCR(57, 0xE6052039), /* PORT57CR */
1262  PORTCR(58, 0xE605203A), /* PORT58CR */
1263  PORTCR(59, 0xE605203B), /* PORT59CR */
1264  PORTCR(60, 0xE605203C), /* PORT60CR */
1265  PORTCR(61, 0xE605203D), /* PORT61CR */
1266  PORTCR(62, 0xE605203E), /* PORT62CR */
1267  PORTCR(63, 0xE605203F), /* PORT63CR */
1268  PORTCR(64, 0xE6052040), /* PORT64CR */
1269  PORTCR(65, 0xE6052041), /* PORT65CR */
1270  PORTCR(66, 0xE6052042), /* PORT66CR */
1271  PORTCR(67, 0xE6052043), /* PORT67CR */
1272  PORTCR(68, 0xE6052044), /* PORT68CR */
1273  PORTCR(69, 0xE6052045), /* PORT69CR */
1274  PORTCR(70, 0xE6052046), /* PORT70CR */
1275  PORTCR(71, 0xE6052047), /* PORT71CR */
1276  PORTCR(72, 0xE6052048), /* PORT72CR */
1277  PORTCR(73, 0xE6052049), /* PORT73CR */
1278  PORTCR(74, 0xE605204A), /* PORT74CR */
1279  PORTCR(75, 0xE605204B), /* PORT75CR */
1280  PORTCR(76, 0xE605004C), /* PORT76CR */
1281  PORTCR(77, 0xE605004D), /* PORT77CR */
1282  PORTCR(78, 0xE605004E), /* PORT78CR */
1283  PORTCR(79, 0xE605004F), /* PORT79CR */
1284  PORTCR(80, 0xE6050050), /* PORT80CR */
1285  PORTCR(81, 0xE6050051), /* PORT81CR */
1286  PORTCR(82, 0xE6050052), /* PORT82CR */
1287  PORTCR(83, 0xE6050053), /* PORT83CR */
1288  PORTCR(84, 0xE6050054), /* PORT84CR */
1289  PORTCR(85, 0xE6050055), /* PORT85CR */
1290  PORTCR(86, 0xE6050056), /* PORT86CR */
1291  PORTCR(87, 0xE6050057), /* PORT87CR */
1292  PORTCR(88, 0xE6050058), /* PORT88CR */
1293  PORTCR(89, 0xE6050059), /* PORT89CR */
1294  PORTCR(90, 0xE605005A), /* PORT90CR */
1295  PORTCR(91, 0xE605005B), /* PORT91CR */
1296  PORTCR(92, 0xE605005C), /* PORT92CR */
1297  PORTCR(93, 0xE605005D), /* PORT93CR */
1298  PORTCR(94, 0xE605005E), /* PORT94CR */
1299  PORTCR(95, 0xE605005F), /* PORT95CR */
1300  PORTCR(96, 0xE6050060), /* PORT96CR */
1301  PORTCR(97, 0xE6050061), /* PORT97CR */
1302  PORTCR(98, 0xE6050062), /* PORT98CR */
1303  PORTCR(99, 0xE6050063), /* PORT99CR */
1304  PORTCR(100, 0xE6053064), /* PORT100CR */
1305  PORTCR(101, 0xE6053065), /* PORT101CR */
1306  PORTCR(102, 0xE6053066), /* PORT102CR */
1307  PORTCR(103, 0xE6053067), /* PORT103CR */
1308  PORTCR(104, 0xE6053068), /* PORT104CR */
1309  PORTCR(105, 0xE6053069), /* PORT105CR */
1310  PORTCR(106, 0xE605306A), /* PORT106CR */
1311  PORTCR(107, 0xE605306B), /* PORT107CR */
1312  PORTCR(108, 0xE605306C), /* PORT108CR */
1313  PORTCR(109, 0xE605306D), /* PORT109CR */
1314  PORTCR(110, 0xE605306E), /* PORT110CR */
1315  PORTCR(111, 0xE605306F), /* PORT111CR */
1316  PORTCR(112, 0xE6053070), /* PORT112CR */
1317  PORTCR(113, 0xE6053071), /* PORT113CR */
1318  PORTCR(114, 0xE6053072), /* PORT114CR */
1319  PORTCR(115, 0xE6053073), /* PORT115CR */
1320  PORTCR(116, 0xE6053074), /* PORT116CR */
1321  PORTCR(117, 0xE6053075), /* PORT117CR */
1322  PORTCR(118, 0xE6053076), /* PORT118CR */
1323  PORTCR(119, 0xE6053077), /* PORT119CR */
1324  PORTCR(120, 0xE6053078), /* PORT120CR */
1325  PORTCR(121, 0xE6050079), /* PORT121CR */
1326  PORTCR(122, 0xE605007A), /* PORT122CR */
1327  PORTCR(123, 0xE605007B), /* PORT123CR */
1328  PORTCR(124, 0xE605007C), /* PORT124CR */
1329  PORTCR(125, 0xE605007D), /* PORT125CR */
1330  PORTCR(126, 0xE605007E), /* PORT126CR */
1331  PORTCR(127, 0xE605007F), /* PORT127CR */
1332  PORTCR(128, 0xE6050080), /* PORT128CR */
1333  PORTCR(129, 0xE6050081), /* PORT129CR */
1334  PORTCR(130, 0xE6050082), /* PORT130CR */
1335  PORTCR(131, 0xE6050083), /* PORT131CR */
1336  PORTCR(132, 0xE6050084), /* PORT132CR */
1337  PORTCR(133, 0xE6050085), /* PORT133CR */
1338  PORTCR(134, 0xE6050086), /* PORT134CR */
1339  PORTCR(135, 0xE6050087), /* PORT135CR */
1340  PORTCR(136, 0xE6050088), /* PORT136CR */
1341  PORTCR(137, 0xE6050089), /* PORT137CR */
1342  PORTCR(138, 0xE605008A), /* PORT138CR */
1343  PORTCR(139, 0xE605008B), /* PORT139CR */
1344  PORTCR(140, 0xE605008C), /* PORT140CR */
1345  PORTCR(141, 0xE605008D), /* PORT141CR */
1346  PORTCR(142, 0xE605008E), /* PORT142CR */
1347  PORTCR(143, 0xE605008F), /* PORT143CR */
1348  PORTCR(144, 0xE6050090), /* PORT144CR */
1349  PORTCR(145, 0xE6050091), /* PORT145CR */
1350  PORTCR(146, 0xE6050092), /* PORT146CR */
1351  PORTCR(147, 0xE6050093), /* PORT147CR */
1352  PORTCR(148, 0xE6050094), /* PORT148CR */
1353  PORTCR(149, 0xE6050095), /* PORT149CR */
1354  PORTCR(150, 0xE6050096), /* PORT150CR */
1355  PORTCR(151, 0xE6050097), /* PORT151CR */
1356  PORTCR(152, 0xE6053098), /* PORT152CR */
1357  PORTCR(153, 0xE6053099), /* PORT153CR */
1358  PORTCR(154, 0xE605309A), /* PORT154CR */
1359  PORTCR(155, 0xE605309B), /* PORT155CR */
1360  PORTCR(156, 0xE605009C), /* PORT156CR */
1361  PORTCR(157, 0xE605009D), /* PORT157CR */
1362  PORTCR(158, 0xE605009E), /* PORT158CR */
1363  PORTCR(159, 0xE605009F), /* PORT159CR */
1364  PORTCR(160, 0xE60500A0), /* PORT160CR */
1365  PORTCR(161, 0xE60500A1), /* PORT161CR */
1366  PORTCR(162, 0xE60500A2), /* PORT162CR */
1367  PORTCR(163, 0xE60500A3), /* PORT163CR */
1368  PORTCR(164, 0xE60500A4), /* PORT164CR */
1369  PORTCR(165, 0xE60500A5), /* PORT165CR */
1370  PORTCR(166, 0xE60500A6), /* PORT166CR */
1371  PORTCR(167, 0xE60520A7), /* PORT167CR */
1372  PORTCR(168, 0xE60520A8), /* PORT168CR */
1373  PORTCR(169, 0xE60520A9), /* PORT169CR */
1374  PORTCR(170, 0xE60520AA), /* PORT170CR */
1375  PORTCR(171, 0xE60520AB), /* PORT171CR */
1376  PORTCR(172, 0xE60520AC), /* PORT172CR */
1377  PORTCR(173, 0xE60520AD), /* PORT173CR */
1378  PORTCR(174, 0xE60520AE), /* PORT174CR */
1379  PORTCR(175, 0xE60520AF), /* PORT175CR */
1380  PORTCR(176, 0xE60520B0), /* PORT176CR */
1381  PORTCR(177, 0xE60520B1), /* PORT177CR */
1382  PORTCR(178, 0xE60520B2), /* PORT178CR */
1383  PORTCR(179, 0xE60520B3), /* PORT179CR */
1384  PORTCR(180, 0xE60520B4), /* PORT180CR */
1385  PORTCR(181, 0xE60520B5), /* PORT181CR */
1386  PORTCR(182, 0xE60520B6), /* PORT182CR */
1387  PORTCR(183, 0xE60520B7), /* PORT183CR */
1388  PORTCR(184, 0xE60520B8), /* PORT184CR */
1389  PORTCR(185, 0xE60520B9), /* PORT185CR */
1390  PORTCR(186, 0xE60520BA), /* PORT186CR */
1391  PORTCR(187, 0xE60520BB), /* PORT187CR */
1392  PORTCR(188, 0xE60520BC), /* PORT188CR */
1393  PORTCR(189, 0xE60520BD), /* PORT189CR */
1394  PORTCR(190, 0xE60520BE), /* PORT190CR */
1395 
1396  { PINMUX_CFG_REG("MSEL1CR", 0xE605800C, 32, 1) {
1403  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1404  0, 0, 0, 0, 0, 0, 0, 0,
1410  0, 0, 0, 0,
1415  0, 0,
1419  0, 0,
1421  }
1422  },
1423  { PINMUX_CFG_REG("MSEL3CR", 0xE6058020, 32, 1) {
1424  0, 0, 0, 0,
1425  0, 0, 0, 0,
1428  0, 0, 0, 0,
1429  0, 0, 0, 0,
1432  0, 0, 0, 0,
1433  0, 0, 0, 0,
1435  0, 0, 0, 0,
1436  0, 0, 0, 0,
1437  0, 0,
1439  0, 0, 0, 0,
1441  0, 0, 0, 0,
1442  0, 0, 0, 0,
1443  0, 0, 0, 0,
1444  }
1445  },
1446  { PINMUX_CFG_REG("MSEL4CR", 0xE6058024, 32, 1) {
1447  0, 0, 0, 0,
1448  0, 0, 0, 0,
1449  0, 0, 0, 0,
1450  0, 0, 0, 0,
1451  0, 0, 0, 0,
1452  0, 0, 0, 0,
1459  0, 0, 0, 0,
1460  0, 0,
1462  0, 0, 0, 0,
1463  0, 0,
1465  0, 0,
1467  0, 0, 0, 0,
1469  0, 0,
1470  }
1471  },
1472  { },
1473 };
1474 
1475 static struct pinmux_data_reg pinmux_data_regs[] = {
1476  { PINMUX_DATA_REG("PORTL095_064DR", 0xE6054008, 32) {
1477  PORT95_DATA, PORT94_DATA, PORT93_DATA, PORT92_DATA,
1478  PORT91_DATA, PORT90_DATA, PORT89_DATA, PORT88_DATA,
1479  PORT87_DATA, PORT86_DATA, PORT85_DATA, PORT84_DATA,
1480  PORT83_DATA, PORT82_DATA, PORT81_DATA, PORT80_DATA,
1481  PORT79_DATA, PORT78_DATA, PORT77_DATA, PORT76_DATA,
1482  0, 0, 0, 0,
1483  0, 0, 0, 0,
1484  0, 0, 0, 0,
1485  }
1486  },
1487  { PINMUX_DATA_REG("PORTL127_096DR", 0xE605400C, 32) {
1488  PORT127_DATA, PORT126_DATA, PORT125_DATA, PORT124_DATA,
1489  PORT123_DATA, PORT122_DATA, PORT121_DATA, 0,
1490  0, 0, 0, 0,
1491  0, 0, 0, 0,
1492  0, 0, 0, 0,
1493  0, 0, 0, 0,
1494  0, 0, 0, 0,
1495  PORT99_DATA, PORT98_DATA, PORT97_DATA, PORT96_DATA,
1496  }
1497  },
1498  { PINMUX_DATA_REG("PORTL159_128DR", 0xE6054010, 32) {
1499  PORT159_DATA, PORT158_DATA, PORT157_DATA, PORT156_DATA,
1500  0, 0, 0, 0,
1501  PORT151_DATA, PORT150_DATA, PORT149_DATA, PORT148_DATA,
1502  PORT147_DATA, PORT146_DATA, PORT145_DATA, PORT144_DATA,
1503  PORT143_DATA, PORT142_DATA, PORT141_DATA, PORT140_DATA,
1504  PORT139_DATA, PORT138_DATA, PORT137_DATA, PORT136_DATA,
1505  PORT135_DATA, PORT134_DATA, PORT133_DATA, PORT132_DATA,
1506  PORT131_DATA, PORT130_DATA, PORT129_DATA, PORT128_DATA,
1507  }
1508  },
1509  { PINMUX_DATA_REG("PORTL191_160DR", 0xE6054014, 32) {
1510  0, 0, 0, 0,
1511  0, 0, 0, 0,
1512  0, 0, 0, 0,
1513  0, 0, 0, 0,
1514  0, 0, 0, 0,
1515  0, 0, 0, 0,
1516  0, PORT166_DATA, PORT165_DATA, PORT164_DATA,
1517  PORT163_DATA, PORT162_DATA, PORT161_DATA, PORT160_DATA,
1518  }
1519  },
1520  { PINMUX_DATA_REG("PORTD031_000DR", 0xE6055000, 32) {
1521  PORT31_DATA, PORT30_DATA, PORT29_DATA, PORT28_DATA,
1522  PORT27_DATA, PORT26_DATA, PORT25_DATA, PORT24_DATA,
1523  PORT23_DATA, PORT22_DATA, PORT21_DATA, PORT20_DATA,
1524  PORT19_DATA, PORT18_DATA, PORT17_DATA, PORT16_DATA,
1525  PORT15_DATA, PORT14_DATA, PORT13_DATA, PORT12_DATA,
1526  PORT11_DATA, PORT10_DATA, PORT9_DATA, PORT8_DATA,
1527  PORT7_DATA, PORT6_DATA, PORT5_DATA, PORT4_DATA,
1528  PORT3_DATA, PORT2_DATA, PORT1_DATA, PORT0_DATA,
1529  }
1530  },
1531  { PINMUX_DATA_REG("PORTD063_032DR", 0xE6055004, 32) {
1532  0, 0, 0, 0, 0, 0, 0, 0,
1533  0, 0, 0, 0, 0, 0, 0, 0,
1534  0, 0, PORT45_DATA, PORT44_DATA,
1535  PORT43_DATA, PORT42_DATA, PORT41_DATA, PORT40_DATA,
1536  PORT39_DATA, PORT38_DATA, PORT37_DATA, PORT36_DATA,
1537  PORT35_DATA, PORT34_DATA, PORT33_DATA, PORT32_DATA,
1538  }
1539  },
1540  { PINMUX_DATA_REG("PORTR063_032DR", 0xE6056004, 32) {
1541  PORT63_DATA, PORT62_DATA, PORT61_DATA, PORT60_DATA,
1542  PORT59_DATA, PORT58_DATA, PORT57_DATA, PORT56_DATA,
1543  PORT55_DATA, PORT54_DATA, PORT53_DATA, PORT52_DATA,
1544  PORT51_DATA, PORT50_DATA, PORT49_DATA, PORT48_DATA,
1545  PORT47_DATA, PORT46_DATA, 0, 0,
1546  0, 0, 0, 0,
1547  0, 0, 0, 0,
1548  0, 0, 0, 0,
1549  }
1550  },
1551  { PINMUX_DATA_REG("PORTR095_064DR", 0xE6056008, 32) {
1552  0, 0, 0, 0,
1553  0, 0, 0, 0,
1554  0, 0, 0, 0,
1555  0, 0, 0, 0,
1556  0, 0, 0, 0,
1557  PORT75_DATA, PORT74_DATA, PORT73_DATA, PORT72_DATA,
1558  PORT71_DATA, PORT70_DATA, PORT69_DATA, PORT68_DATA,
1559  PORT67_DATA, PORT66_DATA, PORT65_DATA, PORT64_DATA,
1560  }
1561  },
1562  { PINMUX_DATA_REG("PORTR191_160DR", 0xE6056014, 32) {
1563  0, PORT190_DATA, PORT189_DATA, PORT188_DATA,
1564  PORT187_DATA, PORT186_DATA, PORT185_DATA, PORT184_DATA,
1565  PORT183_DATA, PORT182_DATA, PORT181_DATA, PORT180_DATA,
1566  PORT179_DATA, PORT178_DATA, PORT177_DATA, PORT176_DATA,
1567  PORT175_DATA, PORT174_DATA, PORT173_DATA, PORT172_DATA,
1568  PORT171_DATA, PORT170_DATA, PORT169_DATA, PORT168_DATA,
1569  PORT167_DATA, 0, 0, 0,
1570  0, 0, 0, 0,
1571  }
1572  },
1573  { PINMUX_DATA_REG("PORTU127_096DR", 0xE605700C, 32) {
1574  0, 0, 0, 0,
1575  0, 0, 0, PORT120_DATA,
1576  PORT119_DATA, PORT118_DATA, PORT117_DATA, PORT116_DATA,
1577  PORT115_DATA, PORT114_DATA, PORT113_DATA, PORT112_DATA,
1578  PORT111_DATA, PORT110_DATA, PORT109_DATA, PORT108_DATA,
1579  PORT107_DATA, PORT106_DATA, PORT105_DATA, PORT104_DATA,
1580  PORT103_DATA, PORT102_DATA, PORT101_DATA, PORT100_DATA,
1581  0, 0, 0, 0,
1582  }
1583  },
1584  { PINMUX_DATA_REG("PORTU159_128DR", 0xE6057010, 32) {
1585  0, 0, 0, 0,
1586  PORT155_DATA, PORT154_DATA, PORT153_DATA, PORT152_DATA,
1587  0, 0, 0, 0,
1588  0, 0, 0, 0,
1589  0, 0, 0, 0,
1590  0, 0, 0, 0,
1591  0, 0, 0, 0,
1592  0, 0, 0, 0,
1593  }
1594  },
1595  { },
1596 };
1597 
1598 #define EXT_IRQ16L(n) evt2irq(0x200 + ((n) << 5))
1599 #define EXT_IRQ16H(n) evt2irq(0x3200 + (((n) - 16) << 5))
1600 static struct pinmux_irq pinmux_irqs[] = {
1601  PINMUX_IRQ(EXT_IRQ16L(0), PORT6_FN0, PORT162_FN0),
1602  PINMUX_IRQ(EXT_IRQ16L(1), PORT12_FN0),
1603  PINMUX_IRQ(EXT_IRQ16L(2), PORT4_FN0, PORT5_FN0),
1604  PINMUX_IRQ(EXT_IRQ16L(3), PORT8_FN0, PORT16_FN0),
1605  PINMUX_IRQ(EXT_IRQ16L(4), PORT17_FN0, PORT163_FN0),
1606  PINMUX_IRQ(EXT_IRQ16L(5), PORT18_FN0),
1607  PINMUX_IRQ(EXT_IRQ16L(6), PORT39_FN0, PORT164_FN0),
1608  PINMUX_IRQ(EXT_IRQ16L(7), PORT40_FN0, PORT167_FN0),
1609  PINMUX_IRQ(EXT_IRQ16L(8), PORT41_FN0, PORT168_FN0),
1610  PINMUX_IRQ(EXT_IRQ16L(9), PORT42_FN0, PORT169_FN0),
1611  PINMUX_IRQ(EXT_IRQ16L(10), PORT65_FN0),
1612  PINMUX_IRQ(EXT_IRQ16L(11), PORT67_FN0),
1613  PINMUX_IRQ(EXT_IRQ16L(12), PORT80_FN0, PORT137_FN0),
1614  PINMUX_IRQ(EXT_IRQ16L(13), PORT81_FN0, PORT145_FN0),
1615  PINMUX_IRQ(EXT_IRQ16L(14), PORT82_FN0, PORT146_FN0),
1616  PINMUX_IRQ(EXT_IRQ16L(15), PORT83_FN0, PORT147_FN0),
1617  PINMUX_IRQ(EXT_IRQ16H(16), PORT84_FN0, PORT170_FN0),
1618  PINMUX_IRQ(EXT_IRQ16H(17), PORT85_FN0),
1619  PINMUX_IRQ(EXT_IRQ16H(18), PORT86_FN0),
1620  PINMUX_IRQ(EXT_IRQ16H(19), PORT87_FN0),
1621  PINMUX_IRQ(EXT_IRQ16H(20), PORT92_FN0),
1622  PINMUX_IRQ(EXT_IRQ16H(21), PORT93_FN0),
1623  PINMUX_IRQ(EXT_IRQ16H(22), PORT94_FN0),
1624  PINMUX_IRQ(EXT_IRQ16H(23), PORT95_FN0),
1625  PINMUX_IRQ(EXT_IRQ16H(24), PORT112_FN0),
1626  PINMUX_IRQ(EXT_IRQ16H(25), PORT119_FN0),
1627  PINMUX_IRQ(EXT_IRQ16H(26), PORT121_FN0, PORT172_FN0),
1628  PINMUX_IRQ(EXT_IRQ16H(27), PORT122_FN0, PORT180_FN0),
1629  PINMUX_IRQ(EXT_IRQ16H(28), PORT123_FN0, PORT181_FN0),
1630  PINMUX_IRQ(EXT_IRQ16H(29), PORT129_FN0, PORT182_FN0),
1631  PINMUX_IRQ(EXT_IRQ16H(30), PORT130_FN0, PORT183_FN0),
1632  PINMUX_IRQ(EXT_IRQ16H(31), PORT138_FN0, PORT184_FN0),
1633 };
1634 
1635 static struct pinmux_info sh7372_pinmux_info = {
1636  .name = "sh7372_pfc",
1637  .reserved_id = PINMUX_RESERVED,
1638  .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END },
1639  .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
1642  .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
1643  .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END },
1644  .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
1645 
1646  .first_gpio = GPIO_PORT0,
1647  .last_gpio = GPIO_FN_SDENC_DV_CLKI,
1648 
1649  .gpios = pinmux_gpios,
1650  .cfg_regs = pinmux_config_regs,
1651  .data_regs = pinmux_data_regs,
1652 
1653  .gpio_data = pinmux_data,
1654  .gpio_data_size = ARRAY_SIZE(pinmux_data),
1655 
1656  .gpio_irq = pinmux_irqs,
1657  .gpio_irq_size = ARRAY_SIZE(pinmux_irqs),
1658 };
1659 
1661 {
1662  register_pinmux(&sh7372_pinmux_info);
1663 }