Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * Copyright (C) 2012-2013  Renesas Solutions Corp.
   4 * Copyright (C) 2013  Magnus Damm
   5 * Copyright (C) 2012  Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
   6 */
   7#include <linux/io.h>
   8#include <linux/kernel.h>
   9#include <linux/pinctrl/pinconf-generic.h>
  10
  11#include "sh_pfc.h"
  12
  13#define CPU_ALL_PORT(fn, pfx, sfx)					\
  14	/*  Port0 - Port30 */						\
  15	PORT_10(0, fn, pfx, sfx),					\
  16	PORT_10(10, fn, pfx##1, sfx),					\
  17	PORT_10(20, fn, pfx##2, sfx),					\
  18	PORT_1(30, fn, pfx##30, sfx),					\
  19	/* Port32 - Port40 */						\
  20	PORT_1(32, fn, pfx##32, sfx),	PORT_1(33, fn, pfx##33, sfx),	\
  21	PORT_1(34, fn, pfx##34, sfx),	PORT_1(35, fn, pfx##35, sfx),	\
  22	PORT_1(36, fn, pfx##36, sfx),	PORT_1(37, fn, pfx##37, sfx),	\
  23	PORT_1(38, fn, pfx##38, sfx),	PORT_1(39, fn, pfx##39, sfx),	\
  24	PORT_1(40, fn, pfx##40, sfx),					\
  25	/* Port64  - Port85 */						\
  26	PORT_1(64, fn, pfx##64, sfx),	PORT_1(65, fn, pfx##65, sfx),	\
  27	PORT_1(66, fn, pfx##66, sfx),	PORT_1(67, fn, pfx##67, sfx),	\
  28	PORT_1(68, fn, pfx##68, sfx),	PORT_1(69, fn, pfx##69, sfx),	\
  29	PORT_10(70, fn, pfx##7, sfx),					\
  30	PORT_1(80, fn, pfx##80, sfx),	PORT_1(81, fn, pfx##81, sfx),	\
  31	PORT_1(82, fn, pfx##82, sfx),	PORT_1(83, fn, pfx##83, sfx),	\
  32	PORT_1(84, fn, pfx##84, sfx),	PORT_1(85, fn, pfx##85, sfx),	\
  33	/* Port96  - Port126 */						\
  34	PORT_1(96, fn, pfx##96, sfx),	PORT_1(97, fn, pfx##97, sfx),	\
  35	PORT_1(98, fn, pfx##98, sfx),	PORT_1(99, fn, pfx##99, sfx),	\
  36	PORT_10(100, fn, pfx##10, sfx),					\
  37	PORT_10(110, fn, pfx##11, sfx),					\
  38	PORT_1(120, fn, pfx##120, sfx),	PORT_1(121, fn, pfx##121, sfx),	\
  39	PORT_1(122, fn, pfx##122, sfx),	PORT_1(123, fn, pfx##123, sfx),	\
  40	PORT_1(124, fn, pfx##124, sfx),	PORT_1(125, fn, pfx##125, sfx),	\
  41	PORT_1(126, fn, pfx##126, sfx),					\
  42	/* Port128 - Port134 */						\
  43	PORT_1(128, fn, pfx##128, sfx),	PORT_1(129, fn, pfx##129, sfx),	\
  44	PORT_1(130, fn, pfx##130, sfx),	PORT_1(131, fn, pfx##131, sfx),	\
  45	PORT_1(132, fn, pfx##132, sfx),	PORT_1(133, fn, pfx##133, sfx),	\
  46	PORT_1(134, fn, pfx##134, sfx),					\
  47	/* Port160 - Port178 */						\
  48	PORT_10(160, fn, pfx##16, sfx),					\
  49	PORT_1(170, fn, pfx##170, sfx),	PORT_1(171, fn, pfx##171, sfx),	\
  50	PORT_1(172, fn, pfx##172, sfx),	PORT_1(173, fn, pfx##173, sfx),	\
  51	PORT_1(174, fn, pfx##174, sfx),	PORT_1(175, fn, pfx##175, sfx),	\
  52	PORT_1(176, fn, pfx##176, sfx),	PORT_1(177, fn, pfx##177, sfx),	\
  53	PORT_1(178, fn, pfx##178, sfx),					\
  54	/* Port192 - Port222 */						\
  55	PORT_1(192, fn, pfx##192, sfx),	PORT_1(193, fn, pfx##193, sfx),	\
  56	PORT_1(194, fn, pfx##194, sfx),	PORT_1(195, fn, pfx##195, sfx),	\
  57	PORT_1(196, fn, pfx##196, sfx),	PORT_1(197, fn, pfx##197, sfx),	\
  58	PORT_1(198, fn, pfx##198, sfx),	PORT_1(199, fn, pfx##199, sfx),	\
  59	PORT_10(200, fn, pfx##20, sfx),					\
  60	PORT_10(210, fn, pfx##21, sfx),					\
  61	PORT_1(220, fn, pfx##220, sfx),	PORT_1(221, fn, pfx##221, sfx),	\
  62	PORT_1(222, fn, pfx##222, sfx),					\
  63	/* Port224 - Port250 */						\
  64	PORT_1(224, fn, pfx##224, sfx),	PORT_1(225, fn, pfx##225, sfx),	\
  65	PORT_1(226, fn, pfx##226, sfx),	PORT_1(227, fn, pfx##227, sfx),	\
  66	PORT_1(228, fn, pfx##228, sfx),	PORT_1(229, fn, pfx##229, sfx),	\
  67	PORT_10(230, fn, pfx##23, sfx),					\
  68	PORT_10(240, fn, pfx##24, sfx),					\
  69	PORT_1(250, fn, pfx##250, sfx),					\
  70	/* Port256 - Port283 */						\
  71	PORT_1(256, fn, pfx##256, sfx),	PORT_1(257, fn, pfx##257, sfx),	\
  72	PORT_1(258, fn, pfx##258, sfx),	PORT_1(259, fn, pfx##259, sfx),	\
  73	PORT_10(260, fn, pfx##26, sfx),					\
  74	PORT_10(270, fn, pfx##27, sfx),					\
  75	PORT_1(280, fn, pfx##280, sfx),	PORT_1(281, fn, pfx##281, sfx),	\
  76	PORT_1(282, fn, pfx##282, sfx),	PORT_1(283, fn, pfx##283, sfx),	\
  77	/* Port288 - Port308 */						\
  78	PORT_1(288, fn, pfx##288, sfx),	PORT_1(289, fn, pfx##289, sfx),	\
  79	PORT_10(290, fn, pfx##29, sfx),					\
  80	PORT_1(300, fn, pfx##300, sfx),	PORT_1(301, fn, pfx##301, sfx),	\
  81	PORT_1(302, fn, pfx##302, sfx),	PORT_1(303, fn, pfx##303, sfx),	\
  82	PORT_1(304, fn, pfx##304, sfx),	PORT_1(305, fn, pfx##305, sfx),	\
  83	PORT_1(306, fn, pfx##306, sfx),	PORT_1(307, fn, pfx##307, sfx),	\
  84	PORT_1(308, fn, pfx##308, sfx),					\
  85	/* Port320 - Port329 */						\
  86	PORT_10(320, fn, pfx##32, sfx)
  87
  88
  89enum {
  90	PINMUX_RESERVED = 0,
  91
  92	/* PORT0_DATA -> PORT329_DATA */
  93	PINMUX_DATA_BEGIN,
  94	PORT_ALL(DATA),
  95	PINMUX_DATA_END,
  96
  97	/* PORT0_IN -> PORT329_IN */
  98	PINMUX_INPUT_BEGIN,
  99	PORT_ALL(IN),
 100	PINMUX_INPUT_END,
 101
 102	/* PORT0_OUT -> PORT329_OUT */
 103	PINMUX_OUTPUT_BEGIN,
 104	PORT_ALL(OUT),
 105	PINMUX_OUTPUT_END,
 106
 107	PINMUX_FUNCTION_BEGIN,
 108	PORT_ALL(FN_IN), /* PORT0_FN_IN -> PORT329_FN_IN */
 109	PORT_ALL(FN_OUT), /* PORT0_FN_OUT -> PORT329_FN_OUT */
 110	PORT_ALL(FN0), /* PORT0_FN0 -> PORT329_FN0 */
 111	PORT_ALL(FN1), /* PORT0_FN1 -> PORT329_FN1 */
 112	PORT_ALL(FN2), /* PORT0_FN2 -> PORT329_FN2 */
 113	PORT_ALL(FN3), /* PORT0_FN3 -> PORT329_FN3 */
 114	PORT_ALL(FN4), /* PORT0_FN4 -> PORT329_FN4 */
 115	PORT_ALL(FN5), /* PORT0_FN5 -> PORT329_FN5 */
 116	PORT_ALL(FN6), /* PORT0_FN6 -> PORT329_FN6 */
 117	PORT_ALL(FN7), /* PORT0_FN7 -> PORT329_FN7 */
 118
 119	MSEL1CR_31_0, MSEL1CR_31_1,
 120	MSEL1CR_27_0, MSEL1CR_27_1,
 121	MSEL1CR_25_0, MSEL1CR_25_1,
 122	MSEL1CR_24_0, MSEL1CR_24_1,
 123	MSEL1CR_22_0, MSEL1CR_22_1,
 124	MSEL1CR_21_0, MSEL1CR_21_1,
 125	MSEL1CR_20_0, MSEL1CR_20_1,
 126	MSEL1CR_19_0, MSEL1CR_19_1,
 127	MSEL1CR_18_0, MSEL1CR_18_1,
 128	MSEL1CR_17_0, MSEL1CR_17_1,
 129	MSEL1CR_16_0, MSEL1CR_16_1,
 130	MSEL1CR_15_0, MSEL1CR_15_1,
 131	MSEL1CR_14_0, MSEL1CR_14_1,
 132	MSEL1CR_13_0, MSEL1CR_13_1,
 133	MSEL1CR_12_0, MSEL1CR_12_1,
 134	MSEL1CR_11_0, MSEL1CR_11_1,
 135	MSEL1CR_10_0, MSEL1CR_10_1,
 136	MSEL1CR_09_0, MSEL1CR_09_1,
 137	MSEL1CR_08_0, MSEL1CR_08_1,
 138	MSEL1CR_07_0, MSEL1CR_07_1,
 139	MSEL1CR_06_0, MSEL1CR_06_1,
 140	MSEL1CR_05_0, MSEL1CR_05_1,
 141	MSEL1CR_04_0, MSEL1CR_04_1,
 142	MSEL1CR_03_0, MSEL1CR_03_1,
 143	MSEL1CR_02_0, MSEL1CR_02_1,
 144	MSEL1CR_01_0, MSEL1CR_01_1,
 145	MSEL1CR_00_0, MSEL1CR_00_1,
 146
 147	MSEL3CR_31_0, MSEL3CR_31_1,
 148	MSEL3CR_28_0, MSEL3CR_28_1,
 149	MSEL3CR_27_0, MSEL3CR_27_1,
 150	MSEL3CR_26_0, MSEL3CR_26_1,
 151	MSEL3CR_23_0, MSEL3CR_23_1,
 152	MSEL3CR_22_0, MSEL3CR_22_1,
 153	MSEL3CR_21_0, MSEL3CR_21_1,
 154	MSEL3CR_20_0, MSEL3CR_20_1,
 155	MSEL3CR_19_0, MSEL3CR_19_1,
 156	MSEL3CR_18_0, MSEL3CR_18_1,
 157	MSEL3CR_17_0, MSEL3CR_17_1,
 158	MSEL3CR_16_0, MSEL3CR_16_1,
 159	MSEL3CR_15_0, MSEL3CR_15_1,
 160	MSEL3CR_12_0, MSEL3CR_12_1,
 161	MSEL3CR_11_0, MSEL3CR_11_1,
 162	MSEL3CR_10_0, MSEL3CR_10_1,
 163	MSEL3CR_09_0, MSEL3CR_09_1,
 164	MSEL3CR_06_0, MSEL3CR_06_1,
 165	MSEL3CR_03_0, MSEL3CR_03_1,
 166	MSEL3CR_01_0, MSEL3CR_01_1,
 167	MSEL3CR_00_0, MSEL3CR_00_1,
 168
 169	MSEL4CR_30_0, MSEL4CR_30_1,
 170	MSEL4CR_29_0, MSEL4CR_29_1,
 171	MSEL4CR_28_0, MSEL4CR_28_1,
 172	MSEL4CR_27_0, MSEL4CR_27_1,
 173	MSEL4CR_26_0, MSEL4CR_26_1,
 174	MSEL4CR_25_0, MSEL4CR_25_1,
 175	MSEL4CR_24_0, MSEL4CR_24_1,
 176	MSEL4CR_23_0, MSEL4CR_23_1,
 177	MSEL4CR_22_0, MSEL4CR_22_1,
 178	MSEL4CR_21_0, MSEL4CR_21_1,
 179	MSEL4CR_20_0, MSEL4CR_20_1,
 180	MSEL4CR_19_0, MSEL4CR_19_1,
 181	MSEL4CR_18_0, MSEL4CR_18_1,
 182	MSEL4CR_17_0, MSEL4CR_17_1,
 183	MSEL4CR_16_0, MSEL4CR_16_1,
 184	MSEL4CR_15_0, MSEL4CR_15_1,
 185	MSEL4CR_14_0, MSEL4CR_14_1,
 186	MSEL4CR_13_0, MSEL4CR_13_1,
 187	MSEL4CR_12_0, MSEL4CR_12_1,
 188	MSEL4CR_11_0, MSEL4CR_11_1,
 189	MSEL4CR_10_0, MSEL4CR_10_1,
 190	MSEL4CR_09_0, MSEL4CR_09_1,
 191	MSEL4CR_07_0, MSEL4CR_07_1,
 192	MSEL4CR_04_0, MSEL4CR_04_1,
 193	MSEL4CR_01_0, MSEL4CR_01_1,
 194
 195	MSEL5CR_31_0, MSEL5CR_31_1,
 196	MSEL5CR_30_0, MSEL5CR_30_1,
 197	MSEL5CR_29_0, MSEL5CR_29_1,
 198	MSEL5CR_28_0, MSEL5CR_28_1,
 199	MSEL5CR_27_0, MSEL5CR_27_1,
 200	MSEL5CR_26_0, MSEL5CR_26_1,
 201	MSEL5CR_25_0, MSEL5CR_25_1,
 202	MSEL5CR_24_0, MSEL5CR_24_1,
 203	MSEL5CR_23_0, MSEL5CR_23_1,
 204	MSEL5CR_22_0, MSEL5CR_22_1,
 205	MSEL5CR_21_0, MSEL5CR_21_1,
 206	MSEL5CR_20_0, MSEL5CR_20_1,
 207	MSEL5CR_19_0, MSEL5CR_19_1,
 208	MSEL5CR_18_0, MSEL5CR_18_1,
 209	MSEL5CR_17_0, MSEL5CR_17_1,
 210	MSEL5CR_16_0, MSEL5CR_16_1,
 211	MSEL5CR_15_0, MSEL5CR_15_1,
 212	MSEL5CR_14_0, MSEL5CR_14_1,
 213	MSEL5CR_13_0, MSEL5CR_13_1,
 214	MSEL5CR_12_0, MSEL5CR_12_1,
 215	MSEL5CR_11_0, MSEL5CR_11_1,
 216	MSEL5CR_10_0, MSEL5CR_10_1,
 217	MSEL5CR_09_0, MSEL5CR_09_1,
 218	MSEL5CR_08_0, MSEL5CR_08_1,
 219	MSEL5CR_07_0, MSEL5CR_07_1,
 220	MSEL5CR_06_0, MSEL5CR_06_1,
 221
 222	MSEL8CR_16_0, MSEL8CR_16_1,
 223	MSEL8CR_01_0, MSEL8CR_01_1,
 224	MSEL8CR_00_0, MSEL8CR_00_1,
 225
 226	PINMUX_FUNCTION_END,
 227
 228	PINMUX_MARK_BEGIN,
 229
 230
 231#define F1(a)	a##_MARK
 232#define F2(a)	a##_MARK
 233#define F3(a)	a##_MARK
 234#define F4(a)	a##_MARK
 235#define F5(a)	a##_MARK
 236#define F6(a)	a##_MARK
 237#define F7(a)	a##_MARK
 238#define IRQ(a)	IRQ##a##_MARK
 239
 240	F1(LCDD0), F3(PDM2_CLK_0), F7(DU0_DR0), IRQ(0), /* Port0 */
 241	F1(LCDD1), F3(PDM2_DATA_1), F7(DU0_DR19), IRQ(1),
 242	F1(LCDD2), F3(PDM3_CLK_2), F7(DU0_DR2), IRQ(2),
 243	F1(LCDD3), F3(PDM3_DATA_3), F7(DU0_DR3), IRQ(3),
 244	F1(LCDD4), F3(PDM4_CLK_4), F7(DU0_DR4), IRQ(4),
 245	F1(LCDD5), F3(PDM4_DATA_5), F7(DU0_DR5), IRQ(5),
 246	F1(LCDD6), F3(PDM0_OUTCLK_6), F7(DU0_DR6), IRQ(6),
 247	F1(LCDD7), F3(PDM0_OUTDATA_7), F7(DU0_DR7), IRQ(7),
 248	F1(LCDD8), F3(PDM1_OUTCLK_8), F7(DU0_DG0), IRQ(8),
 249	F1(LCDD9), F3(PDM1_OUTDATA_9), F7(DU0_DG1), IRQ(9),
 250	F1(LCDD10), F3(FSICCK), F7(DU0_DG2), IRQ(10), /* Port10 */
 251	F1(LCDD11), F3(FSICISLD), F7(DU0_DG3), IRQ(11),
 252	F1(LCDD12), F3(FSICOMC), F7(DU0_DG4), IRQ(12),
 253	F1(LCDD13), F3(FSICOLR), F4(FSICILR), F7(DU0_DG5), IRQ(13),
 254	F1(LCDD14), F3(FSICOBT), F4(FSICIBT), F7(DU0_DG6), IRQ(14),
 255	F1(LCDD15), F3(FSICOSLD), F7(DU0_DG7), IRQ(15),
 256	F1(LCDD16), F4(TPU1TO1), F7(DU0_DB0),
 257	F1(LCDD17), F4(SF_IRQ_00), F7(DU0_DB1),
 258	F1(LCDD18), F4(SF_IRQ_01), F7(DU0_DB2),
 259	F1(LCDD19), F3(SCIFB3_RTS_19), F7(DU0_DB3),
 260	F1(LCDD20), F3(SCIFB3_CTS_20), F7(DU0_DB4), /* Port20 */
 261	F1(LCDD21), F3(SCIFB3_TXD_21), F7(DU0_DB5),
 262	F1(LCDD22), F3(SCIFB3_RXD_22), F7(DU0_DB6),
 263	F1(LCDD23), F3(SCIFB3_SCK_23), F7(DU0_DB7),
 264	F1(LCDHSYN), F2(LCDCS), F3(SCIFB1_RTS_24),
 265	F7(DU0_EXHSYNC_N_CSYNC_N_HSYNC_N),
 266	F1(LCDVSYN), F3(SCIFB1_CTS_25), F7(DU0_EXVSYNC_N_VSYNC_N_CSYNC_N),
 267	F1(LCDDCK), F2(LCDWR), F3(SCIFB1_TXD_26), F7(DU0_DOTCLKIN),
 268	F1(LCDDISP), F2(LCDRS), F3(SCIFB1_RXD_27), F7(DU0_DOTCLKOUT),
 269	F1(LCDRD_N), F3(SCIFB1_SCK_28), F7(DU0_DOTCLKOUTB),
 270	F1(LCDLCLK), F4(SF_IRQ_02), F7(DU0_DISP_CSYNC_N_DE),
 271	F1(LCDDON), F4(SF_IRQ_03), F7(DU0_ODDF_N_CLAMP), /* Port30 */
 272
 273	F1(SCIFA0_RTS), F5(SIM0_DET), F7(CSCIF0_RTS), /* Port32 */
 274	F1(SCIFA0_CTS), F5(SIM1_DET), F7(CSCIF0_CTS),
 275	F1(SCIFA0_SCK), F5(SIM0_PWRON), F7(CSCIF0_SCK),
 276	F1(SCIFA1_RTS), F7(CSCIF1_RTS),
 277	F1(SCIFA1_CTS), F7(CSCIF1_CTS),
 278	F1(SCIFA1_SCK), F7(CSCIF1_SCK),
 279	F1(SCIFB0_RTS), F3(TPU0TO1), F4(SCIFB3_RTS_38), F7(CHSCIF0_HRTS),
 280	F1(SCIFB0_CTS), F3(TPU0TO2), F4(SCIFB3_CTS_39), F7(CHSCIF0_HCTS),
 281	F1(SCIFB0_SCK), F3(TPU0TO3), F4(SCIFB3_SCK_40),
 282	F7(CHSCIF0_HSCK), /* Port40 */
 283
 284	F1(PDM0_DATA), /* Port64 */
 285	F1(PDM1_DATA),
 286	F1(HSI_RX_WAKE), F2(SCIFB2_CTS_66), F3(MSIOF3_SYNC), F5(GenIO4),
 287	IRQ(40),
 288	F1(HSI_RX_READY), F2(SCIFB1_TXD_67), F5(GIO_OUT3_67), F7(CHSCIF1_HTX),
 289	F1(HSI_RX_FLAG), F2(SCIFB2_TXD_68), F3(MSIOF3_TXD), F5(GIO_OUT4_68),
 290	F1(HSI_RX_DATA), F2(SCIFB2_RXD_69), F3(MSIOF3_RXD), F5(GIO_OUT5_69),
 291	F1(HSI_TX_FLAG), F2(SCIFB1_RTS_70), F5(GIO_OUT1_70), F6(HSIC_TSTCLK0),
 292	F7(CHSCIF1_HRTS), /* Port70 */
 293	F1(HSI_TX_DATA), F2(SCIFB1_CTS_71), F5(GIO_OUT2_71), F6(HSIC_TSTCLK1),
 294	F7(CHSCIF1_HCTS),
 295	F1(HSI_TX_WAKE), F2(SCIFB1_RXD_72), F5(GenIO8), F7(CHSCIF1_HRX),
 296	F1(HSI_TX_READY), F2(SCIFB2_RTS_73), F3(MSIOF3_SCK), F5(GIO_OUT0_73),
 297	F1(IRDA_OUT), F1(IRDA_IN), F1(IRDA_FIRSEL), F1(TPU0TO0),
 298	F1(DIGRFEN), F1(GPS_TIMESTAMP), F1(TXP), /* Port80 */
 299	F1(TXP2), F1(COEX_0), F1(COEX_1), IRQ(19), IRQ(18), /* Port85 */
 300
 301	F1(KEYIN0), /* Port96 */
 302	F1(KEYIN1), F1(KEYIN2), F1(KEYIN3), F1(KEYIN4), /* Port100 */
 303	F1(KEYIN5), F1(KEYIN6), IRQ(41), F1(KEYIN7), IRQ(42),
 304	F2(KEYOUT0), F2(KEYOUT1), F2(KEYOUT2), F2(KEYOUT3),
 305	F2(KEYOUT4), F2(KEYOUT5), IRQ(43), F2(KEYOUT6), IRQ(44), /* Port110 */
 306	F2(KEYOUT7), F5(RFANAEN), IRQ(45),
 307	F1(KEYIN8), F2(KEYOUT8), F4(SF_IRQ_04), IRQ(46),
 308	F1(KEYIN9), F2(KEYOUT9), F4(SF_IRQ_05), IRQ(47),
 309	F1(KEYIN10), F2(KEYOUT10), F4(SF_IRQ_06), IRQ(48),
 310	F1(KEYIN11), F2(KEYOUT11), F4(SF_IRQ_07), IRQ(49),
 311	F1(SCIFA0_TXD), F7(CSCIF0_TX), F1(SCIFA0_RXD), F7(CSCIF0_RX),
 312	F1(SCIFA1_TXD), F7(CSCIF1_TX), F1(SCIFA1_RXD), F7(CSCIF1_RX),
 313	F3(SF_PORT_1_120), F4(SCIFB3_RXD_120), F7(DU0_CDE), /* Port120 */
 314	F3(SF_PORT_0_121), F4(SCIFB3_TXD_121),
 315	F1(SCIFB0_TXD), F7(CHSCIF0_HTX),
 316	F1(SCIFB0_RXD), F7(CHSCIF0_HRX), F3(ISP_STROBE_124),
 317	F1(STP_ISD_0), F2(PDM4_CLK_125), F3(MSIOF2_TXD), F5(SIM0_VOLTSEL0),
 318	F1(TS_SDEN), F2(MSIOF7_SYNC), F3(STP_ISEN_1),
 319	F1(STP_ISEN_0), F2(PDM1_OUTDATA_128), F3(MSIOF2_SYNC),
 320	F5(SIM1_VOLTSEL1), F1(TS_SPSYNC), F2(MSIOF7_RXD), F3(STP_ISSYNC_1),
 321	F1(STP_ISSYNC_0), F2(PDM4_DATA_130), F3(MSIOF2_RXD),
 322	F5(SIM0_VOLTSEL1), /* Port130 */
 323	F1(STP_OPWM_0), F5(SIM1_PWRON), F1(TS_SCK), F2(MSIOF7_SCK),
 324	F3(STP_ISCLK_1), F1(STP_ISCLK_0), F2(PDM1_OUTCLK_133), F3(MSIOF2_SCK),
 325	F5(SIM1_VOLTSEL0), F1(TS_SDAT), F2(MSIOF7_TXD), F3(STP_ISD_1),
 326	IRQ(20), /* Port160 */
 327	IRQ(21), IRQ(22), IRQ(23),
 328	F1(MMCD0_0), F1(MMCD0_1), F1(MMCD0_2), F1(MMCD0_3),
 329	F1(MMCD0_4), F1(MMCD0_5), F1(MMCD0_6), /* Port170 */
 330	F1(MMCD0_7), F1(MMCCMD0), F1(MMCCLK0), F1(MMCRST),
 331	IRQ(24), IRQ(25), IRQ(26), IRQ(27),
 332	F1(A10), F2(MMCD1_7), IRQ(31), /* Port192 */
 333	F1(A9), F2(MMCD1_6), IRQ(32),
 334	F1(A8), F2(MMCD1_5), IRQ(33),
 335	F1(A7), F2(MMCD1_4), IRQ(34),
 336	F1(A6), F2(MMCD1_3), IRQ(35),
 337	F1(A5), F2(MMCD1_2), IRQ(36),
 338	F1(A4), F2(MMCD1_1), IRQ(37),
 339	F1(A3), F2(MMCD1_0), IRQ(38),
 340	F1(A2), F2(MMCCMD1), IRQ(39), /* Port200 */
 341	F1(A1),
 342	F1(A0), F2(BS),
 343	F1(CKO), F2(MMCCLK1),
 344	F1(CS0_N), F5(SIM0_GPO1),
 345	F1(CS2_N), F5(SIM0_GPO2),
 346	F1(CS4_N), F2(VIO_VD), F5(SIM1_GPO0),
 347	F1(D15), F5(GIO_OUT15),
 348	F1(D14), F5(GIO_OUT14),
 349	F1(D13), F5(GIO_OUT13),
 350	F1(D12), F5(GIO_OUT12), /* Port210 */
 351	F1(D11), F5(WGM_TXP2),
 352	F1(D10), F5(WGM_GPS_TIMEM_ASK_RFCLK),
 353	F1(D9), F2(VIO_D9), F5(GIO_OUT9),
 354	F1(D8), F2(VIO_D8), F5(GIO_OUT8),
 355	F1(D7), F2(VIO_D7), F5(GIO_OUT7),
 356	F1(D6), F2(VIO_D6), F5(GIO_OUT6),
 357	F1(D5), F2(VIO_D5), F5(GIO_OUT5_217),
 358	F1(D4), F2(VIO_D4), F5(GIO_OUT4_218),
 359	F1(D3), F2(VIO_D3), F5(GIO_OUT3_219),
 360	F1(D2), F2(VIO_D2), F5(GIO_OUT2_220), /* Port220 */
 361	F1(D1), F2(VIO_D1), F5(GIO_OUT1_221),
 362	F1(D0), F2(VIO_D0), F5(GIO_OUT0_222),
 363	F1(RDWR_224), F2(VIO_HD), F5(SIM1_GPO2),
 364	F1(RD_N), F1(WAIT_N), F2(VIO_CLK), F5(SIM1_GPO1),
 365	F1(WE0_N), F2(RDWR_227),
 366	F1(WE1_N), F5(SIM0_GPO0),
 367	F1(PWMO), F2(VIO_CKO1_229),
 368	F1(SLIM_CLK), F2(VIO_CKO4_230), /* Port230 */
 369	F1(SLIM_DATA), F2(VIO_CKO5_231), F2(VIO_CKO2_232), F4(SF_PORT_0_232),
 370	F2(VIO_CKO3_233), F4(SF_PORT_1_233),
 371	F1(FSIACK), F2(PDM3_CLK_234), F3(ISP_IRIS1_234),
 372	F1(FSIAISLD), F2(PDM3_DATA_235),
 373	F1(FSIAOMC), F2(PDM0_OUTCLK_236), F3(ISP_IRIS0_236),
 374	F1(FSIAOLR), F2(FSIAILR), F1(FSIAOBT), F2(FSIAIBT),
 375	F1(FSIAOSLD), F2(PDM0_OUTDATA_239),
 376	F1(FSIBISLD), /* Port240 */
 377	F1(FSIBOLR), F2(FSIBILR), F1(FSIBOMC), F3(ISP_SHUTTER1_242),
 378	F1(FSIBOBT), F2(FSIBIBT), F1(FSIBOSLD), F2(FSIASPDIF),
 379	F1(FSIBCK), F3(ISP_SHUTTER0_245),
 380	F1(ISP_IRIS1_246), F1(ISP_IRIS0_247), F1(ISP_SHUTTER1_248),
 381	F1(ISP_SHUTTER0_249), F1(ISP_STROBE_250), /* Port250 */
 382	F1(MSIOF0_SYNC), F1(MSIOF0_RXD), F1(MSIOF0_SCK), F1(MSIOF0_SS2),
 383	F3(VIO_CKO3_259), F1(MSIOF0_TXD), /* Port260 */
 384	F2(SCIFB1_SCK_261), F7(CHSCIF1_HSCK), F2(SCIFB2_SCK_262),
 385	F1(MSIOF1_SS2), F4(MSIOF5_SS2), F1(MSIOF1_TXD), F4(MSIOF5_TXD),
 386	F1(MSIOF1_RXD), F4(MSIOF5_RXD), F1(MSIOF1_SS1), F4(MSIOF5_SS1),
 387	F1(MSIOF0_SS1), F1(MSIOF1_SCK), F4(MSIOF5_SCK),
 388	F1(MSIOF1_SYNC), F4(MSIOF5_SYNC),
 389	F1(MSIOF2_SS1), F3(VIO_CKO5_270), /* Port270 */
 390	F1(MSIOF2_SS2), F3(VIO_CKO2_271), F1(MSIOF3_SS2), F3(VIO_CKO1_272),
 391	F1(MSIOF3_SS1), F3(VIO_CKO4_273), F1(MSIOF4_SS2), F4(TPU1TO0),
 392	F1(IC_DP), F1(SIM0_RST), F1(IC_DM), F1(SIM0_BSICOMP),
 393	F1(SIM0_CLK), F1(SIM0_IO), /* Port280 */
 394	F1(SIM1_IO), F2(PDM2_DATA_281), F1(SIM1_CLK), F2(PDM2_CLK_282),
 395	F1(SIM1_RST), F1(SDHID1_0), F3(STMDATA0_2),
 396	F1(SDHID1_1), F3(STMDATA1_2), IRQ(51), /* Port290 */
 397	F1(SDHID1_2), F3(STMDATA2_2), F1(SDHID1_3), F3(STMDATA3_2),
 398	F1(SDHICLK1), F3(STMCLK_2), F1(SDHICMD1), F3(STMSIDI_2),
 399	F1(SDHID2_0), F2(MSIOF4_TXD), F3(SCIFB2_TXD_295), F4(MSIOF6_TXD),
 400	F1(SDHID2_1), F4(MSIOF6_SS2), IRQ(52),
 401	F1(SDHID2_2), F2(MSIOF4_RXD), F3(SCIFB2_RXD_297), F4(MSIOF6_RXD),
 402	F1(SDHID2_3), F2(MSIOF4_SYNC), F3(SCIFB2_CTS_298), F4(MSIOF6_SYNC),
 403	F1(SDHICLK2), F2(MSIOF4_SCK), F3(SCIFB2_SCK_299), F4(MSIOF6_SCK),
 404	F1(SDHICMD2), F2(MSIOF4_SS1), F3(SCIFB2_RTS_300),
 405	F4(MSIOF6_SS1), /* Port300 */
 406	F1(SDHICD0), IRQ(50), F1(SDHID0_0), F3(STMDATA0_1),
 407	F1(SDHID0_1), F3(STMDATA1_1), F1(SDHID0_2), F3(STMDATA2_1),
 408	F1(SDHID0_3), F3(STMDATA3_1), F1(SDHICMD0), F3(STMSIDI_1),
 409	F1(SDHIWP0), F1(SDHICLK0), F3(STMCLK_1), IRQ(16), /* Port320 */
 410	IRQ(17), IRQ(28), IRQ(29), IRQ(30), IRQ(53), IRQ(54),
 411	IRQ(55), IRQ(56), IRQ(57),
 412	PINMUX_MARK_END,
 413};
 414
 415static const u16 pinmux_data[] = {
 416	/* specify valid pin states for each pin in GPIO mode */
 417	PINMUX_DATA_ALL(),
 418
 419	/* Port0 */
 420	PINMUX_DATA(LCDD0_MARK,		PORT0_FN1),
 421	PINMUX_DATA(PDM2_CLK_0_MARK,	PORT0_FN3),
 422	PINMUX_DATA(DU0_DR0_MARK,	PORT0_FN7),
 423	PINMUX_DATA(IRQ0_MARK,		PORT0_FN0),
 424
 425	/* Port1 */
 426	PINMUX_DATA(LCDD1_MARK,		PORT1_FN1),
 427	PINMUX_DATA(PDM2_DATA_1_MARK,	PORT1_FN3,	MSEL3CR_12_0),
 428	PINMUX_DATA(DU0_DR19_MARK,	PORT1_FN7),
 429	PINMUX_DATA(IRQ1_MARK,		PORT1_FN0),
 430
 431	/* Port2 */
 432	PINMUX_DATA(LCDD2_MARK,		PORT2_FN1),
 433	PINMUX_DATA(PDM3_CLK_2_MARK,	PORT2_FN3),
 434	PINMUX_DATA(DU0_DR2_MARK,	PORT2_FN7),
 435	PINMUX_DATA(IRQ2_MARK,		PORT2_FN0),
 436
 437	/* Port3 */
 438	PINMUX_DATA(LCDD3_MARK,		PORT3_FN1),
 439	PINMUX_DATA(PDM3_DATA_3_MARK,	PORT3_FN3,	MSEL3CR_12_0),
 440	PINMUX_DATA(DU0_DR3_MARK,	PORT3_FN7),
 441	PINMUX_DATA(IRQ3_MARK,		PORT3_FN0),
 442
 443	/* Port4 */
 444	PINMUX_DATA(LCDD4_MARK,		PORT4_FN1),
 445	PINMUX_DATA(PDM4_CLK_4_MARK,	PORT4_FN3),
 446	PINMUX_DATA(DU0_DR4_MARK,	PORT4_FN7),
 447	PINMUX_DATA(IRQ4_MARK,		PORT4_FN0),
 448
 449	/* Port5 */
 450	PINMUX_DATA(LCDD5_MARK,		PORT5_FN1),
 451	PINMUX_DATA(PDM4_DATA_5_MARK,	PORT5_FN3,	MSEL3CR_12_0),
 452	PINMUX_DATA(DU0_DR5_MARK,	PORT5_FN7),
 453	PINMUX_DATA(IRQ5_MARK,		PORT5_FN0),
 454
 455	/* Port6 */
 456	PINMUX_DATA(LCDD6_MARK,		PORT6_FN1),
 457	PINMUX_DATA(PDM0_OUTCLK_6_MARK,	PORT6_FN3),
 458	PINMUX_DATA(DU0_DR6_MARK,	PORT6_FN7),
 459	PINMUX_DATA(IRQ6_MARK,		PORT6_FN0),
 460
 461	/* Port7 */
 462	PINMUX_DATA(LCDD7_MARK,			PORT7_FN1),
 463	PINMUX_DATA(PDM0_OUTDATA_7_MARK,	PORT7_FN3),
 464	PINMUX_DATA(DU0_DR7_MARK,		PORT7_FN7),
 465	PINMUX_DATA(IRQ7_MARK,			PORT7_FN0),
 466
 467	/* Port8 */
 468	PINMUX_DATA(LCDD8_MARK,		PORT8_FN1),
 469	PINMUX_DATA(PDM1_OUTCLK_8_MARK,	PORT8_FN3),
 470	PINMUX_DATA(DU0_DG0_MARK,	PORT8_FN7),
 471	PINMUX_DATA(IRQ8_MARK,		PORT8_FN0),
 472
 473	/* Port9 */
 474	PINMUX_DATA(LCDD9_MARK,		PORT9_FN1),
 475	PINMUX_DATA(PDM1_OUTDATA_9_MARK, PORT9_FN3),
 476	PINMUX_DATA(DU0_DG1_MARK,	PORT9_FN7),
 477	PINMUX_DATA(IRQ9_MARK,		PORT9_FN0),
 478
 479	/* Port10 */
 480	PINMUX_DATA(LCDD10_MARK,		PORT10_FN1),
 481	PINMUX_DATA(FSICCK_MARK,		PORT10_FN3),
 482	PINMUX_DATA(DU0_DG2_MARK,		PORT10_FN7),
 483	PINMUX_DATA(IRQ10_MARK,			PORT10_FN0),
 484
 485	/* Port11 */
 486	PINMUX_DATA(LCDD11_MARK,		PORT11_FN1),
 487	PINMUX_DATA(FSICISLD_MARK,		PORT11_FN3),
 488	PINMUX_DATA(DU0_DG3_MARK,		PORT11_FN7),
 489	PINMUX_DATA(IRQ11_MARK,			PORT11_FN0),
 490
 491	/* Port12 */
 492	PINMUX_DATA(LCDD12_MARK,		PORT12_FN1),
 493	PINMUX_DATA(FSICOMC_MARK,		PORT12_FN3),
 494	PINMUX_DATA(DU0_DG4_MARK,		PORT12_FN7),
 495	PINMUX_DATA(IRQ12_MARK,			PORT12_FN0),
 496
 497	/* Port13 */
 498	PINMUX_DATA(LCDD13_MARK,		PORT13_FN1),
 499	PINMUX_DATA(FSICOLR_MARK,		PORT13_FN3),
 500	PINMUX_DATA(FSICILR_MARK,		PORT13_FN4),
 501	PINMUX_DATA(DU0_DG5_MARK,		PORT13_FN7),
 502	PINMUX_DATA(IRQ13_MARK,			PORT13_FN0),
 503
 504	/* Port14 */
 505	PINMUX_DATA(LCDD14_MARK,		PORT14_FN1),
 506	PINMUX_DATA(FSICOBT_MARK,		PORT14_FN3),
 507	PINMUX_DATA(FSICIBT_MARK,		PORT14_FN4),
 508	PINMUX_DATA(DU0_DG6_MARK,		PORT14_FN7),
 509	PINMUX_DATA(IRQ14_MARK,			PORT14_FN0),
 510
 511	/* Port15 */
 512	PINMUX_DATA(LCDD15_MARK,		PORT15_FN1),
 513	PINMUX_DATA(FSICOSLD_MARK,		PORT15_FN3),
 514	PINMUX_DATA(DU0_DG7_MARK,		PORT15_FN7),
 515	PINMUX_DATA(IRQ15_MARK,			PORT15_FN0),
 516
 517	/* Port16 */
 518	PINMUX_DATA(LCDD16_MARK,		PORT16_FN1),
 519	PINMUX_DATA(TPU1TO1_MARK,		PORT16_FN4),
 520	PINMUX_DATA(DU0_DB0_MARK,		PORT16_FN7),
 521
 522	/* Port17 */
 523	PINMUX_DATA(LCDD17_MARK,		PORT17_FN1),
 524	PINMUX_DATA(SF_IRQ_00_MARK,		PORT17_FN4),
 525	PINMUX_DATA(DU0_DB1_MARK,		PORT17_FN7),
 526
 527	/* Port18 */
 528	PINMUX_DATA(LCDD18_MARK,		PORT18_FN1),
 529	PINMUX_DATA(SF_IRQ_01_MARK,		PORT18_FN4),
 530	PINMUX_DATA(DU0_DB2_MARK,		PORT18_FN7),
 531
 532	/* Port19 */
 533	PINMUX_DATA(LCDD19_MARK,		PORT19_FN1),
 534	PINMUX_DATA(SCIFB3_RTS_19_MARK,		PORT19_FN3),
 535	PINMUX_DATA(DU0_DB3_MARK,		PORT19_FN7),
 536
 537	/* Port20 */
 538	PINMUX_DATA(LCDD20_MARK,		PORT20_FN1),
 539	PINMUX_DATA(SCIFB3_CTS_20_MARK,		PORT20_FN3,	MSEL3CR_09_0),
 540	PINMUX_DATA(DU0_DB4_MARK,		PORT20_FN7),
 541
 542	/* Port21 */
 543	PINMUX_DATA(LCDD21_MARK,		PORT21_FN1),
 544	PINMUX_DATA(SCIFB3_TXD_21_MARK,		PORT21_FN3,	MSEL3CR_09_0),
 545	PINMUX_DATA(DU0_DB5_MARK,		PORT21_FN7),
 546
 547	/* Port22 */
 548	PINMUX_DATA(LCDD22_MARK,		PORT22_FN1),
 549	PINMUX_DATA(SCIFB3_RXD_22_MARK,		PORT22_FN3,	MSEL3CR_09_0),
 550	PINMUX_DATA(DU0_DB6_MARK,		PORT22_FN7),
 551
 552	/* Port23 */
 553	PINMUX_DATA(LCDD23_MARK,		PORT23_FN1),
 554	PINMUX_DATA(SCIFB3_SCK_23_MARK,		PORT23_FN3),
 555	PINMUX_DATA(DU0_DB7_MARK,		PORT23_FN7),
 556
 557	/* Port24 */
 558	PINMUX_DATA(LCDHSYN_MARK,			PORT24_FN1),
 559	PINMUX_DATA(LCDCS_MARK,				PORT24_FN2),
 560	PINMUX_DATA(SCIFB1_RTS_24_MARK,			PORT24_FN3),
 561	PINMUX_DATA(DU0_EXHSYNC_N_CSYNC_N_HSYNC_N_MARK,	PORT24_FN7),
 562
 563	/* Port25 */
 564	PINMUX_DATA(LCDVSYN_MARK,			PORT25_FN1),
 565	PINMUX_DATA(SCIFB1_CTS_25_MARK, PORT25_FN3, MSEL3CR_11_0),
 566	PINMUX_DATA(DU0_EXVSYNC_N_VSYNC_N_CSYNC_N_MARK,	PORT25_FN7),
 567
 568	/* Port26 */
 569	PINMUX_DATA(LCDDCK_MARK,		PORT26_FN1),
 570	PINMUX_DATA(LCDWR_MARK,			PORT26_FN2),
 571	PINMUX_DATA(SCIFB1_TXD_26_MARK,		PORT26_FN3,	MSEL3CR_11_0),
 572	PINMUX_DATA(DU0_DOTCLKIN_MARK,		PORT26_FN7),
 573
 574	/* Port27 */
 575	PINMUX_DATA(LCDDISP_MARK,		PORT27_FN1),
 576	PINMUX_DATA(LCDRS_MARK,			PORT27_FN2),
 577	PINMUX_DATA(SCIFB1_RXD_27_MARK,		PORT27_FN3,	MSEL3CR_11_0),
 578	PINMUX_DATA(DU0_DOTCLKOUT_MARK,		PORT27_FN7),
 579
 580	/* Port28 */
 581	PINMUX_DATA(LCDRD_N_MARK,		PORT28_FN1),
 582	PINMUX_DATA(SCIFB1_SCK_28_MARK,		PORT28_FN3),
 583	PINMUX_DATA(DU0_DOTCLKOUTB_MARK,	PORT28_FN7),
 584
 585	/* Port29 */
 586	PINMUX_DATA(LCDLCLK_MARK,		PORT29_FN1),
 587	PINMUX_DATA(SF_IRQ_02_MARK,		PORT29_FN4),
 588	PINMUX_DATA(DU0_DISP_CSYNC_N_DE_MARK,	PORT29_FN7),
 589
 590	/* Port30 */
 591	PINMUX_DATA(LCDDON_MARK,		PORT30_FN1),
 592	PINMUX_DATA(SF_IRQ_03_MARK,		PORT30_FN4),
 593	PINMUX_DATA(DU0_ODDF_N_CLAMP_MARK,	PORT30_FN7),
 594
 595	/* Port32 */
 596	PINMUX_DATA(SCIFA0_RTS_MARK,		PORT32_FN1),
 597	PINMUX_DATA(SIM0_DET_MARK,		PORT32_FN5),
 598	PINMUX_DATA(CSCIF0_RTS_MARK,		PORT32_FN7),
 599
 600	/* Port33 */
 601	PINMUX_DATA(SCIFA0_CTS_MARK,		PORT33_FN1),
 602	PINMUX_DATA(SIM1_DET_MARK,		PORT33_FN5),
 603	PINMUX_DATA(CSCIF0_CTS_MARK,		PORT33_FN7),
 604
 605	/* Port34 */
 606	PINMUX_DATA(SCIFA0_SCK_MARK,		PORT34_FN1),
 607	PINMUX_DATA(SIM0_PWRON_MARK,		PORT34_FN5),
 608	PINMUX_DATA(CSCIF0_SCK_MARK,		PORT34_FN7),
 609
 610	/* Port35 */
 611	PINMUX_DATA(SCIFA1_RTS_MARK,		PORT35_FN1),
 612	PINMUX_DATA(CSCIF1_RTS_MARK,		PORT35_FN7),
 613
 614	/* Port36 */
 615	PINMUX_DATA(SCIFA1_CTS_MARK,		PORT36_FN1),
 616	PINMUX_DATA(CSCIF1_CTS_MARK,		PORT36_FN7),
 617
 618	/* Port37 */
 619	PINMUX_DATA(SCIFA1_SCK_MARK,		PORT37_FN1),
 620	PINMUX_DATA(CSCIF1_SCK_MARK,		PORT37_FN7),
 621
 622	/* Port38 */
 623	PINMUX_DATA(SCIFB0_RTS_MARK,		PORT38_FN1),
 624	PINMUX_DATA(TPU0TO1_MARK,		PORT38_FN3),
 625	PINMUX_DATA(SCIFB3_RTS_38_MARK,		PORT38_FN4),
 626	PINMUX_DATA(CHSCIF0_HRTS_MARK,		PORT38_FN7),
 627
 628	/* Port39 */
 629	PINMUX_DATA(SCIFB0_CTS_MARK,		PORT39_FN1),
 630	PINMUX_DATA(TPU0TO2_MARK,		PORT39_FN3),
 631	PINMUX_DATA(SCIFB3_CTS_39_MARK,		PORT39_FN4,	MSEL3CR_09_1),
 632	PINMUX_DATA(CHSCIF0_HCTS_MARK,		PORT39_FN7),
 633
 634	/* Port40 */
 635	PINMUX_DATA(SCIFB0_SCK_MARK,		PORT40_FN1),
 636	PINMUX_DATA(TPU0TO3_MARK,		PORT40_FN3),
 637	PINMUX_DATA(SCIFB3_SCK_40_MARK,		PORT40_FN4),
 638	PINMUX_DATA(CHSCIF0_HSCK_MARK,		PORT40_FN7),
 639
 640	/* Port64 */
 641	PINMUX_DATA(PDM0_DATA_MARK,		PORT64_FN1),
 642
 643	/* Port65 */
 644	PINMUX_DATA(PDM1_DATA_MARK,		PORT65_FN1),
 645
 646	/* Port66 */
 647	PINMUX_DATA(HSI_RX_WAKE_MARK,		PORT66_FN1),
 648	PINMUX_DATA(SCIFB2_CTS_66_MARK,		PORT66_FN2,	MSEL3CR_10_0),
 649	PINMUX_DATA(MSIOF3_SYNC_MARK,		PORT66_FN3),
 650	PINMUX_DATA(GenIO4_MARK,		PORT66_FN5),
 651	PINMUX_DATA(IRQ40_MARK,			PORT66_FN0),
 652
 653	/* Port67 */
 654	PINMUX_DATA(HSI_RX_READY_MARK,		PORT67_FN1),
 655	PINMUX_DATA(SCIFB1_TXD_67_MARK,		PORT67_FN2,	MSEL3CR_11_1),
 656	PINMUX_DATA(GIO_OUT3_67_MARK,		PORT67_FN5),
 657	PINMUX_DATA(CHSCIF1_HTX_MARK,		PORT67_FN7),
 658
 659	/* Port68 */
 660	PINMUX_DATA(HSI_RX_FLAG_MARK,		PORT68_FN1),
 661	PINMUX_DATA(SCIFB2_TXD_68_MARK,		PORT68_FN2,	MSEL3CR_10_0),
 662	PINMUX_DATA(MSIOF3_TXD_MARK,		PORT68_FN3),
 663	PINMUX_DATA(GIO_OUT4_68_MARK,		PORT68_FN5),
 664
 665	/* Port69 */
 666	PINMUX_DATA(HSI_RX_DATA_MARK,		PORT69_FN1),
 667	PINMUX_DATA(SCIFB2_RXD_69_MARK,		PORT69_FN2,	MSEL3CR_10_0),
 668	PINMUX_DATA(MSIOF3_RXD_MARK,		PORT69_FN3),
 669	PINMUX_DATA(GIO_OUT5_69_MARK,		PORT69_FN5),
 670
 671	/* Port70 */
 672	PINMUX_DATA(HSI_TX_FLAG_MARK,		PORT70_FN1),
 673	PINMUX_DATA(SCIFB1_RTS_70_MARK,		PORT70_FN2),
 674	PINMUX_DATA(GIO_OUT1_70_MARK,		PORT70_FN5),
 675	PINMUX_DATA(HSIC_TSTCLK0_MARK,		PORT70_FN6),
 676	PINMUX_DATA(CHSCIF1_HRTS_MARK,		PORT70_FN7),
 677
 678	/* Port71 */
 679	PINMUX_DATA(HSI_TX_DATA_MARK,		PORT71_FN1),
 680	PINMUX_DATA(SCIFB1_CTS_71_MARK,		PORT71_FN2,	MSEL3CR_11_1),
 681	PINMUX_DATA(GIO_OUT2_71_MARK,		PORT71_FN5),
 682	PINMUX_DATA(HSIC_TSTCLK1_MARK,		PORT71_FN6),
 683	PINMUX_DATA(CHSCIF1_HCTS_MARK,		PORT71_FN7),
 684
 685	/* Port72 */
 686	PINMUX_DATA(HSI_TX_WAKE_MARK,		PORT72_FN1),
 687	PINMUX_DATA(SCIFB1_RXD_72_MARK,		PORT72_FN2,	MSEL3CR_11_1),
 688	PINMUX_DATA(GenIO8_MARK,		PORT72_FN5),
 689	PINMUX_DATA(CHSCIF1_HRX_MARK,		PORT72_FN7),
 690
 691	/* Port73 */
 692	PINMUX_DATA(HSI_TX_READY_MARK,		PORT73_FN1),
 693	PINMUX_DATA(SCIFB2_RTS_73_MARK,		PORT73_FN2),
 694	PINMUX_DATA(MSIOF3_SCK_MARK,		PORT73_FN3),
 695	PINMUX_DATA(GIO_OUT0_73_MARK,		PORT73_FN5),
 696
 697	/* Port74 - Port85 */
 698	PINMUX_DATA(IRDA_OUT_MARK,		PORT74_FN1),
 699	PINMUX_DATA(IRDA_IN_MARK,		PORT75_FN1),
 700	PINMUX_DATA(IRDA_FIRSEL_MARK,		PORT76_FN1),
 701	PINMUX_DATA(TPU0TO0_MARK,		PORT77_FN1),
 702	PINMUX_DATA(DIGRFEN_MARK,		PORT78_FN1),
 703	PINMUX_DATA(GPS_TIMESTAMP_MARK,		PORT79_FN1),
 704	PINMUX_DATA(TXP_MARK,			PORT80_FN1),
 705	PINMUX_DATA(TXP2_MARK,			PORT81_FN1),
 706	PINMUX_DATA(COEX_0_MARK,		PORT82_FN1),
 707	PINMUX_DATA(COEX_1_MARK,		PORT83_FN1),
 708	PINMUX_DATA(IRQ19_MARK,			PORT84_FN0),
 709	PINMUX_DATA(IRQ18_MARK,			PORT85_FN0),
 710
 711	/* Port96 - Port101 */
 712	PINMUX_DATA(KEYIN0_MARK,		PORT96_FN1),
 713	PINMUX_DATA(KEYIN1_MARK,		PORT97_FN1),
 714	PINMUX_DATA(KEYIN2_MARK,		PORT98_FN1),
 715	PINMUX_DATA(KEYIN3_MARK,		PORT99_FN1),
 716	PINMUX_DATA(KEYIN4_MARK,		PORT100_FN1),
 717	PINMUX_DATA(KEYIN5_MARK,		PORT101_FN1),
 718
 719	/* Port102 */
 720	PINMUX_DATA(KEYIN6_MARK,		PORT102_FN1),
 721	PINMUX_DATA(IRQ41_MARK,			PORT102_FN0),
 722
 723	/* Port103 */
 724	PINMUX_DATA(KEYIN7_MARK,		PORT103_FN1),
 725	PINMUX_DATA(IRQ42_MARK,			PORT103_FN0),
 726
 727	/* Port104 - Port108 */
 728	PINMUX_DATA(KEYOUT0_MARK,		PORT104_FN2),
 729	PINMUX_DATA(KEYOUT1_MARK,		PORT105_FN2),
 730	PINMUX_DATA(KEYOUT2_MARK,		PORT106_FN2),
 731	PINMUX_DATA(KEYOUT3_MARK,		PORT107_FN2),
 732	PINMUX_DATA(KEYOUT4_MARK,		PORT108_FN2),
 733
 734	/* Port109 */
 735	PINMUX_DATA(KEYOUT5_MARK,		PORT109_FN2),
 736	PINMUX_DATA(IRQ43_MARK,			PORT109_FN0),
 737
 738	/* Port110 */
 739	PINMUX_DATA(KEYOUT6_MARK,		PORT110_FN2),
 740	PINMUX_DATA(IRQ44_MARK,			PORT110_FN0),
 741
 742	/* Port111 */
 743	PINMUX_DATA(KEYOUT7_MARK,		PORT111_FN2),
 744	PINMUX_DATA(RFANAEN_MARK,		PORT111_FN5),
 745	PINMUX_DATA(IRQ45_MARK,			PORT111_FN0),
 746
 747	/* Port112 */
 748	PINMUX_DATA(KEYIN8_MARK,		PORT112_FN1),
 749	PINMUX_DATA(KEYOUT8_MARK,		PORT112_FN2),
 750	PINMUX_DATA(SF_IRQ_04_MARK,		PORT112_FN4),
 751	PINMUX_DATA(IRQ46_MARK,			PORT112_FN0),
 752
 753	/* Port113 */
 754	PINMUX_DATA(KEYIN9_MARK,		PORT113_FN1),
 755	PINMUX_DATA(KEYOUT9_MARK,		PORT113_FN2),
 756	PINMUX_DATA(SF_IRQ_05_MARK,		PORT113_FN4),
 757	PINMUX_DATA(IRQ47_MARK,			PORT113_FN0),
 758
 759	/* Port114 */
 760	PINMUX_DATA(KEYIN10_MARK,		PORT114_FN1),
 761	PINMUX_DATA(KEYOUT10_MARK,		PORT114_FN2),
 762	PINMUX_DATA(SF_IRQ_06_MARK,		PORT114_FN4),
 763	PINMUX_DATA(IRQ48_MARK,			PORT114_FN0),
 764
 765	/* Port115 */
 766	PINMUX_DATA(KEYIN11_MARK,		PORT115_FN1),
 767	PINMUX_DATA(KEYOUT11_MARK,		PORT115_FN2),
 768	PINMUX_DATA(SF_IRQ_07_MARK,		PORT115_FN4),
 769	PINMUX_DATA(IRQ49_MARK,			PORT115_FN0),
 770
 771	/* Port116 */
 772	PINMUX_DATA(SCIFA0_TXD_MARK,		PORT116_FN1),
 773	PINMUX_DATA(CSCIF0_TX_MARK,		PORT116_FN7),
 774
 775	/* Port117 */
 776	PINMUX_DATA(SCIFA0_RXD_MARK,		PORT117_FN1),
 777	PINMUX_DATA(CSCIF0_RX_MARK,		PORT117_FN7),
 778
 779	/* Port118 */
 780	PINMUX_DATA(SCIFA1_TXD_MARK,		PORT118_FN1),
 781	PINMUX_DATA(CSCIF1_TX_MARK,		PORT118_FN7),
 782
 783	/* Port119 */
 784	PINMUX_DATA(SCIFA1_RXD_MARK,		PORT119_FN1),
 785	PINMUX_DATA(CSCIF1_RX_MARK,		PORT119_FN7),
 786
 787	/* Port120 */
 788	PINMUX_DATA(SF_PORT_1_120_MARK,		PORT120_FN3),
 789	PINMUX_DATA(SCIFB3_RXD_120_MARK,	PORT120_FN4,	MSEL3CR_09_1),
 790	PINMUX_DATA(DU0_CDE_MARK,		PORT120_FN7),
 791
 792	/* Port121 */
 793	PINMUX_DATA(SF_PORT_0_121_MARK,		PORT121_FN3),
 794	PINMUX_DATA(SCIFB3_TXD_121_MARK,	PORT121_FN4,	MSEL3CR_09_1),
 795
 796	/* Port122 */
 797	PINMUX_DATA(SCIFB0_TXD_MARK,		PORT122_FN1),
 798	PINMUX_DATA(CHSCIF0_HTX_MARK,		PORT122_FN7),
 799
 800	/* Port123 */
 801	PINMUX_DATA(SCIFB0_RXD_MARK,		PORT123_FN1),
 802	PINMUX_DATA(CHSCIF0_HRX_MARK,		PORT123_FN7),
 803
 804	/* Port124 */
 805	PINMUX_DATA(ISP_STROBE_124_MARK,	PORT124_FN3),
 806
 807	/* Port125 */
 808	PINMUX_DATA(STP_ISD_0_MARK,		PORT125_FN1),
 809	PINMUX_DATA(PDM4_CLK_125_MARK,		PORT125_FN2),
 810	PINMUX_DATA(MSIOF2_TXD_MARK,		PORT125_FN3),
 811	PINMUX_DATA(SIM0_VOLTSEL0_MARK,		PORT125_FN5),
 812
 813	/* Port126 */
 814	PINMUX_DATA(TS_SDEN_MARK,		PORT126_FN1),
 815	PINMUX_DATA(MSIOF7_SYNC_MARK,		PORT126_FN2),
 816	PINMUX_DATA(STP_ISEN_1_MARK,		PORT126_FN3),
 817
 818	/* Port128 */
 819	PINMUX_DATA(STP_ISEN_0_MARK,		PORT128_FN1),
 820	PINMUX_DATA(PDM1_OUTDATA_128_MARK,	PORT128_FN2),
 821	PINMUX_DATA(MSIOF2_SYNC_MARK,		PORT128_FN3),
 822	PINMUX_DATA(SIM1_VOLTSEL1_MARK,		PORT128_FN5),
 823
 824	/* Port129 */
 825	PINMUX_DATA(TS_SPSYNC_MARK,		PORT129_FN1),
 826	PINMUX_DATA(MSIOF7_RXD_MARK,		PORT129_FN2),
 827	PINMUX_DATA(STP_ISSYNC_1_MARK,		PORT129_FN3),
 828
 829	/* Port130 */
 830	PINMUX_DATA(STP_ISSYNC_0_MARK,		PORT130_FN1),
 831	PINMUX_DATA(PDM4_DATA_130_MARK,		PORT130_FN2,	MSEL3CR_12_1),
 832	PINMUX_DATA(MSIOF2_RXD_MARK,		PORT130_FN3),
 833	PINMUX_DATA(SIM0_VOLTSEL1_MARK,		PORT130_FN5),
 834
 835	/* Port131 */
 836	PINMUX_DATA(STP_OPWM_0_MARK,		PORT131_FN1),
 837	PINMUX_DATA(SIM1_PWRON_MARK,		PORT131_FN5),
 838
 839	/* Port132 */
 840	PINMUX_DATA(TS_SCK_MARK,		PORT132_FN1),
 841	PINMUX_DATA(MSIOF7_SCK_MARK,		PORT132_FN2),
 842	PINMUX_DATA(STP_ISCLK_1_MARK,		PORT132_FN3),
 843
 844	/* Port133 */
 845	PINMUX_DATA(STP_ISCLK_0_MARK,		PORT133_FN1),
 846	PINMUX_DATA(PDM1_OUTCLK_133_MARK,	PORT133_FN2),
 847	PINMUX_DATA(MSIOF2_SCK_MARK,		PORT133_FN3),
 848	PINMUX_DATA(SIM1_VOLTSEL0_MARK,		PORT133_FN5),
 849
 850	/* Port134 */
 851	PINMUX_DATA(TS_SDAT_MARK,		PORT134_FN1),
 852	PINMUX_DATA(MSIOF7_TXD_MARK,		PORT134_FN2),
 853	PINMUX_DATA(STP_ISD_1_MARK,		PORT134_FN3),
 854
 855	/* Port160 - Port178 */
 856	PINMUX_DATA(IRQ20_MARK,			PORT160_FN0),
 857	PINMUX_DATA(IRQ21_MARK,			PORT161_FN0),
 858	PINMUX_DATA(IRQ22_MARK,			PORT162_FN0),
 859	PINMUX_DATA(IRQ23_MARK,			PORT163_FN0),
 860	PINMUX_DATA(MMCD0_0_MARK,		PORT164_FN1),
 861	PINMUX_DATA(MMCD0_1_MARK,		PORT165_FN1),
 862	PINMUX_DATA(MMCD0_2_MARK,		PORT166_FN1),
 863	PINMUX_DATA(MMCD0_3_MARK,		PORT167_FN1),
 864	PINMUX_DATA(MMCD0_4_MARK,		PORT168_FN1),
 865	PINMUX_DATA(MMCD0_5_MARK,		PORT169_FN1),
 866	PINMUX_DATA(MMCD0_6_MARK,		PORT170_FN1),
 867	PINMUX_DATA(MMCD0_7_MARK,		PORT171_FN1),
 868	PINMUX_DATA(MMCCMD0_MARK,		PORT172_FN1),
 869	PINMUX_DATA(MMCCLK0_MARK,		PORT173_FN1),
 870	PINMUX_DATA(MMCRST_MARK,		PORT174_FN1),
 871	PINMUX_DATA(IRQ24_MARK,			PORT175_FN0),
 872	PINMUX_DATA(IRQ25_MARK,			PORT176_FN0),
 873	PINMUX_DATA(IRQ26_MARK,			PORT177_FN0),
 874	PINMUX_DATA(IRQ27_MARK,			PORT178_FN0),
 875
 876	/* Port192 - Port200 FN1 */
 877	PINMUX_DATA(A10_MARK,		PORT192_FN1),
 878	PINMUX_DATA(A9_MARK,		PORT193_FN1),
 879	PINMUX_DATA(A8_MARK,		PORT194_FN1),
 880	PINMUX_DATA(A7_MARK,		PORT195_FN1),
 881	PINMUX_DATA(A6_MARK,		PORT196_FN1),
 882	PINMUX_DATA(A5_MARK,		PORT197_FN1),
 883	PINMUX_DATA(A4_MARK,		PORT198_FN1),
 884	PINMUX_DATA(A3_MARK,		PORT199_FN1),
 885	PINMUX_DATA(A2_MARK,		PORT200_FN1),
 886
 887	/* Port192 - Port200 FN2 */
 888	PINMUX_DATA(MMCD1_7_MARK,		PORT192_FN2),
 889	PINMUX_DATA(MMCD1_6_MARK,		PORT193_FN2),
 890	PINMUX_DATA(MMCD1_5_MARK,		PORT194_FN2),
 891	PINMUX_DATA(MMCD1_4_MARK,		PORT195_FN2),
 892	PINMUX_DATA(MMCD1_3_MARK,		PORT196_FN2),
 893	PINMUX_DATA(MMCD1_2_MARK,		PORT197_FN2),
 894	PINMUX_DATA(MMCD1_1_MARK,		PORT198_FN2),
 895	PINMUX_DATA(MMCD1_0_MARK,		PORT199_FN2),
 896	PINMUX_DATA(MMCCMD1_MARK,		PORT200_FN2),
 897
 898	/* Port192 - Port200 IRQ */
 899	PINMUX_DATA(IRQ31_MARK,			PORT192_FN0),
 900	PINMUX_DATA(IRQ32_MARK,			PORT193_FN0),
 901	PINMUX_DATA(IRQ33_MARK,			PORT194_FN0),
 902	PINMUX_DATA(IRQ34_MARK,			PORT195_FN0),
 903	PINMUX_DATA(IRQ35_MARK,			PORT196_FN0),
 904	PINMUX_DATA(IRQ36_MARK,			PORT197_FN0),
 905	PINMUX_DATA(IRQ37_MARK,			PORT198_FN0),
 906	PINMUX_DATA(IRQ38_MARK,			PORT199_FN0),
 907	PINMUX_DATA(IRQ39_MARK,			PORT200_FN0),
 908
 909	/* Port201 */
 910	PINMUX_DATA(A1_MARK,		PORT201_FN1),
 911
 912	/* Port202 */
 913	PINMUX_DATA(A0_MARK,		PORT202_FN1),
 914	PINMUX_DATA(BS_MARK,		PORT202_FN2),
 915
 916	/* Port203 */
 917	PINMUX_DATA(CKO_MARK,		PORT203_FN1),
 918	PINMUX_DATA(MMCCLK1_MARK,	PORT203_FN2),
 919
 920	/* Port204 */
 921	PINMUX_DATA(CS0_N_MARK,		PORT204_FN1),
 922	PINMUX_DATA(SIM0_GPO1_MARK,	PORT204_FN5),
 923
 924	/* Port205 */
 925	PINMUX_DATA(CS2_N_MARK,		PORT205_FN1),
 926	PINMUX_DATA(SIM0_GPO2_MARK,	PORT205_FN5),
 927
 928	/* Port206 */
 929	PINMUX_DATA(CS4_N_MARK,		PORT206_FN1),
 930	PINMUX_DATA(VIO_VD_MARK,	PORT206_FN2),
 931	PINMUX_DATA(SIM1_GPO0_MARK,	PORT206_FN5),
 932
 933	/* Port207 - Port212 FN1 */
 934	PINMUX_DATA(D15_MARK,		PORT207_FN1),
 935	PINMUX_DATA(D14_MARK,		PORT208_FN1),
 936	PINMUX_DATA(D13_MARK,		PORT209_FN1),
 937	PINMUX_DATA(D12_MARK,		PORT210_FN1),
 938	PINMUX_DATA(D11_MARK,		PORT211_FN1),
 939	PINMUX_DATA(D10_MARK,		PORT212_FN1),
 940
 941	/* Port207 - Port212 FN5 */
 942	PINMUX_DATA(GIO_OUT15_MARK,			PORT207_FN5),
 943	PINMUX_DATA(GIO_OUT14_MARK,			PORT208_FN5),
 944	PINMUX_DATA(GIO_OUT13_MARK,			PORT209_FN5),
 945	PINMUX_DATA(GIO_OUT12_MARK,			PORT210_FN5),
 946	PINMUX_DATA(WGM_TXP2_MARK,			PORT211_FN5),
 947	PINMUX_DATA(WGM_GPS_TIMEM_ASK_RFCLK_MARK,	PORT212_FN5),
 948
 949	/* Port213 - Port222 FN1 */
 950	PINMUX_DATA(D9_MARK,		PORT213_FN1),
 951	PINMUX_DATA(D8_MARK,		PORT214_FN1),
 952	PINMUX_DATA(D7_MARK,		PORT215_FN1),
 953	PINMUX_DATA(D6_MARK,		PORT216_FN1),
 954	PINMUX_DATA(D5_MARK,		PORT217_FN1),
 955	PINMUX_DATA(D4_MARK,		PORT218_FN1),
 956	PINMUX_DATA(D3_MARK,		PORT219_FN1),
 957	PINMUX_DATA(D2_MARK,		PORT220_FN1),
 958	PINMUX_DATA(D1_MARK,		PORT221_FN1),
 959	PINMUX_DATA(D0_MARK,		PORT222_FN1),
 960
 961	/* Port213 - Port222 FN2 */
 962	PINMUX_DATA(VIO_D9_MARK,	PORT213_FN2),
 963	PINMUX_DATA(VIO_D8_MARK,	PORT214_FN2),
 964	PINMUX_DATA(VIO_D7_MARK,	PORT215_FN2),
 965	PINMUX_DATA(VIO_D6_MARK,	PORT216_FN2),
 966	PINMUX_DATA(VIO_D5_MARK,	PORT217_FN2),
 967	PINMUX_DATA(VIO_D4_MARK,	PORT218_FN2),
 968	PINMUX_DATA(VIO_D3_MARK,	PORT219_FN2),
 969	PINMUX_DATA(VIO_D2_MARK,	PORT220_FN2),
 970	PINMUX_DATA(VIO_D1_MARK,	PORT221_FN2),
 971	PINMUX_DATA(VIO_D0_MARK,	PORT222_FN2),
 972
 973	/* Port213 - Port222 FN5 */
 974	PINMUX_DATA(GIO_OUT9_MARK,	PORT213_FN5),
 975	PINMUX_DATA(GIO_OUT8_MARK,	PORT214_FN5),
 976	PINMUX_DATA(GIO_OUT7_MARK,	PORT215_FN5),
 977	PINMUX_DATA(GIO_OUT6_MARK,	PORT216_FN5),
 978	PINMUX_DATA(GIO_OUT5_217_MARK,	PORT217_FN5),
 979	PINMUX_DATA(GIO_OUT4_218_MARK,	PORT218_FN5),
 980	PINMUX_DATA(GIO_OUT3_219_MARK,	PORT219_FN5),
 981	PINMUX_DATA(GIO_OUT2_220_MARK,	PORT220_FN5),
 982	PINMUX_DATA(GIO_OUT1_221_MARK,	PORT221_FN5),
 983	PINMUX_DATA(GIO_OUT0_222_MARK,	PORT222_FN5),
 984
 985	/* Port224 */
 986	PINMUX_DATA(RDWR_224_MARK,	PORT224_FN1),
 987	PINMUX_DATA(VIO_HD_MARK,	PORT224_FN2),
 988	PINMUX_DATA(SIM1_GPO2_MARK,	PORT224_FN5),
 989
 990	/* Port225 */
 991	PINMUX_DATA(RD_N_MARK,		PORT225_FN1),
 992
 993	/* Port226 */
 994	PINMUX_DATA(WAIT_N_MARK,	PORT226_FN1),
 995	PINMUX_DATA(VIO_CLK_MARK,	PORT226_FN2),
 996	PINMUX_DATA(SIM1_GPO1_MARK,	PORT226_FN5),
 997
 998	/* Port227 */
 999	PINMUX_DATA(WE0_N_MARK,		PORT227_FN1),
1000	PINMUX_DATA(RDWR_227_MARK,	PORT227_FN2),
1001
1002	/* Port228 */
1003	PINMUX_DATA(WE1_N_MARK,		PORT228_FN1),
1004	PINMUX_DATA(SIM0_GPO0_MARK,	PORT228_FN5),
1005
1006	/* Port229 */
1007	PINMUX_DATA(PWMO_MARK,		PORT229_FN1),
1008	PINMUX_DATA(VIO_CKO1_229_MARK,	PORT229_FN2),
1009
1010	/* Port230 */
1011	PINMUX_DATA(SLIM_CLK_MARK,	PORT230_FN1),
1012	PINMUX_DATA(VIO_CKO4_230_MARK,	PORT230_FN2),
1013
1014	/* Port231 */
1015	PINMUX_DATA(SLIM_DATA_MARK,	PORT231_FN1),
1016	PINMUX_DATA(VIO_CKO5_231_MARK,	PORT231_FN2),
1017
1018	/* Port232 */
1019	PINMUX_DATA(VIO_CKO2_232_MARK,	PORT232_FN2),
1020	PINMUX_DATA(SF_PORT_0_232_MARK,	PORT232_FN4),
1021
1022	/* Port233 */
1023	PINMUX_DATA(VIO_CKO3_233_MARK,	PORT233_FN2),
1024	PINMUX_DATA(SF_PORT_1_233_MARK,	PORT233_FN4),
1025
1026	/* Port234 */
1027	PINMUX_DATA(FSIACK_MARK,	PORT234_FN1),
1028	PINMUX_DATA(PDM3_CLK_234_MARK,	PORT234_FN2),
1029	PINMUX_DATA(ISP_IRIS1_234_MARK,	PORT234_FN3),
1030
1031	/* Port235 */
1032	PINMUX_DATA(FSIAISLD_MARK,	PORT235_FN1),
1033	PINMUX_DATA(PDM3_DATA_235_MARK,	PORT235_FN2,	MSEL3CR_12_1),
1034
1035	/* Port236 */
1036	PINMUX_DATA(FSIAOMC_MARK,		PORT236_FN1),
1037	PINMUX_DATA(PDM0_OUTCLK_236_MARK,	PORT236_FN2),
1038	PINMUX_DATA(ISP_IRIS0_236_MARK,		PORT236_FN3),
1039
1040	/* Port237 */
1041	PINMUX_DATA(FSIAOLR_MARK,	PORT237_FN1),
1042	PINMUX_DATA(FSIAILR_MARK,	PORT237_FN2),
1043
1044	/* Port238 */
1045	PINMUX_DATA(FSIAOBT_MARK,	PORT238_FN1),
1046	PINMUX_DATA(FSIAIBT_MARK,	PORT238_FN2),
1047
1048	/* Port239 */
1049	PINMUX_DATA(FSIAOSLD_MARK,		PORT239_FN1),
1050	PINMUX_DATA(PDM0_OUTDATA_239_MARK,	PORT239_FN2),
1051
1052	/* Port240 */
1053	PINMUX_DATA(FSIBISLD_MARK,	PORT240_FN1),
1054
1055	/* Port241 */
1056	PINMUX_DATA(FSIBOLR_MARK,	PORT241_FN1),
1057	PINMUX_DATA(FSIBILR_MARK,	PORT241_FN2),
1058
1059	/* Port242 */
1060	PINMUX_DATA(FSIBOMC_MARK,		PORT242_FN1),
1061	PINMUX_DATA(ISP_SHUTTER1_242_MARK,	PORT242_FN3),
1062
1063	/* Port243 */
1064	PINMUX_DATA(FSIBOBT_MARK,	PORT243_FN1),
1065	PINMUX_DATA(FSIBIBT_MARK,	PORT243_FN2),
1066
1067	/* Port244 */
1068	PINMUX_DATA(FSIBOSLD_MARK,	PORT244_FN1),
1069	PINMUX_DATA(FSIASPDIF_MARK,	PORT244_FN2),
1070
1071	/* Port245 */
1072	PINMUX_DATA(FSIBCK_MARK,		PORT245_FN1),
1073	PINMUX_DATA(ISP_SHUTTER0_245_MARK,	PORT245_FN3),
1074
1075	/* Port246 - Port250 FN1 */
1076	PINMUX_DATA(ISP_IRIS1_246_MARK,		PORT246_FN1),
1077	PINMUX_DATA(ISP_IRIS0_247_MARK,		PORT247_FN1),
1078	PINMUX_DATA(ISP_SHUTTER1_248_MARK,	PORT248_FN1),
1079	PINMUX_DATA(ISP_SHUTTER0_249_MARK,	PORT249_FN1),
1080	PINMUX_DATA(ISP_STROBE_250_MARK,	PORT250_FN1),
1081
1082	/* Port256 - Port258 */
1083	PINMUX_DATA(MSIOF0_SYNC_MARK,		PORT256_FN1),
1084	PINMUX_DATA(MSIOF0_RXD_MARK,		PORT257_FN1),
1085	PINMUX_DATA(MSIOF0_SCK_MARK,		PORT258_FN1),
1086
1087	/* Port259 */
1088	PINMUX_DATA(MSIOF0_SS2_MARK,		PORT259_FN1),
1089	PINMUX_DATA(VIO_CKO3_259_MARK,		PORT259_FN3),
1090
1091	/* Port260 */
1092	PINMUX_DATA(MSIOF0_TXD_MARK,		PORT260_FN1),
1093
1094	/* Port261 */
1095	PINMUX_DATA(SCIFB1_SCK_261_MARK,	PORT261_FN2),
1096	PINMUX_DATA(CHSCIF1_HSCK_MARK,		PORT261_FN7),
1097
1098	/* Port262 */
1099	PINMUX_DATA(SCIFB2_SCK_262_MARK,	PORT262_FN2),
1100
1101	/* Port263 - Port266 FN1 */
1102	PINMUX_DATA(MSIOF1_SS2_MARK,		PORT263_FN1),
1103	PINMUX_DATA(MSIOF1_TXD_MARK,		PORT264_FN1),
1104	PINMUX_DATA(MSIOF1_RXD_MARK,		PORT265_FN1),
1105	PINMUX_DATA(MSIOF1_SS1_MARK,		PORT266_FN1),
1106
1107	/* Port263 - Port266 FN4 */
1108	PINMUX_DATA(MSIOF5_SS2_MARK,		PORT263_FN4),
1109	PINMUX_DATA(MSIOF5_TXD_MARK,		PORT264_FN4),
1110	PINMUX_DATA(MSIOF5_RXD_MARK,		PORT265_FN4),
1111	PINMUX_DATA(MSIOF5_SS1_MARK,		PORT266_FN4),
1112
1113	/* Port267 */
1114	PINMUX_DATA(MSIOF0_SS1_MARK,		PORT267_FN1),
1115
1116	/* Port268 */
1117	PINMUX_DATA(MSIOF1_SCK_MARK,		PORT268_FN1),
1118	PINMUX_DATA(MSIOF5_SCK_MARK,		PORT268_FN4),
1119
1120	/* Port269 */
1121	PINMUX_DATA(MSIOF1_SYNC_MARK,		PORT269_FN1),
1122	PINMUX_DATA(MSIOF5_SYNC_MARK,		PORT269_FN4),
1123
1124	/* Port270 - Port273 FN1 */
1125	PINMUX_DATA(MSIOF2_SS1_MARK,		PORT270_FN1),
1126	PINMUX_DATA(MSIOF2_SS2_MARK,		PORT271_FN1),
1127	PINMUX_DATA(MSIOF3_SS2_MARK,		PORT272_FN1),
1128	PINMUX_DATA(MSIOF3_SS1_MARK,		PORT273_FN1),
1129
1130	/* Port270 - Port273 FN3 */
1131	PINMUX_DATA(VIO_CKO5_270_MARK,		PORT270_FN3),
1132	PINMUX_DATA(VIO_CKO2_271_MARK,		PORT271_FN3),
1133	PINMUX_DATA(VIO_CKO1_272_MARK,		PORT272_FN3),
1134	PINMUX_DATA(VIO_CKO4_273_MARK,		PORT273_FN3),
1135
1136	/* Port274 */
1137	PINMUX_DATA(MSIOF4_SS2_MARK,		PORT274_FN1),
1138	PINMUX_DATA(TPU1TO0_MARK,		PORT274_FN4),
1139
1140	/* Port275 - Port280 */
1141	PINMUX_DATA(IC_DP_MARK,			PORT275_FN1),
1142	PINMUX_DATA(SIM0_RST_MARK,		PORT276_FN1),
1143	PINMUX_DATA(IC_DM_MARK,			PORT277_FN1),
1144	PINMUX_DATA(SIM0_BSICOMP_MARK,		PORT278_FN1),
1145	PINMUX_DATA(SIM0_CLK_MARK,		PORT279_FN1),
1146	PINMUX_DATA(SIM0_IO_MARK,		PORT280_FN1),
1147
1148	/* Port281 */
1149	PINMUX_DATA(SIM1_IO_MARK,		PORT281_FN1),
1150	PINMUX_DATA(PDM2_DATA_281_MARK,		PORT281_FN2,	MSEL3CR_12_1),
1151
1152	/* Port282 */
1153	PINMUX_DATA(SIM1_CLK_MARK,		PORT282_FN1),
1154	PINMUX_DATA(PDM2_CLK_282_MARK,		PORT282_FN2),
1155
1156	/* Port283 */
1157	PINMUX_DATA(SIM1_RST_MARK,		PORT283_FN1),
1158
1159	/* Port289 */
1160	PINMUX_DATA(SDHID1_0_MARK,		PORT289_FN1),
1161	PINMUX_DATA(STMDATA0_2_MARK,		PORT289_FN3),
1162
1163	/* Port290 */
1164	PINMUX_DATA(SDHID1_1_MARK,		PORT290_FN1),
1165	PINMUX_DATA(STMDATA1_2_MARK,		PORT290_FN3),
1166	PINMUX_DATA(IRQ51_MARK,			PORT290_FN0),
1167
1168	/* Port291 - Port294 FN1 */
1169	PINMUX_DATA(SDHID1_2_MARK,		PORT291_FN1),
1170	PINMUX_DATA(SDHID1_3_MARK,		PORT292_FN1),
1171	PINMUX_DATA(SDHICLK1_MARK,		PORT293_FN1),
1172	PINMUX_DATA(SDHICMD1_MARK,		PORT294_FN1),
1173
1174	/* Port291 - Port294 FN3 */
1175	PINMUX_DATA(STMDATA2_2_MARK,		PORT291_FN3),
1176	PINMUX_DATA(STMDATA3_2_MARK,		PORT292_FN3),
1177	PINMUX_DATA(STMCLK_2_MARK,		PORT293_FN3),
1178	PINMUX_DATA(STMSIDI_2_MARK,		PORT294_FN3),
1179
1180	/* Port295 */
1181	PINMUX_DATA(SDHID2_0_MARK,		PORT295_FN1),
1182	PINMUX_DATA(MSIOF4_TXD_MARK,		PORT295_FN2),
1183	PINMUX_DATA(SCIFB2_TXD_295_MARK,	PORT295_FN3,	MSEL3CR_10_1),
1184	PINMUX_DATA(MSIOF6_TXD_MARK,		PORT295_FN4),
1185
1186	/* Port296 */
1187	PINMUX_DATA(SDHID2_1_MARK,		PORT296_FN1),
1188	PINMUX_DATA(MSIOF6_SS2_MARK,		PORT296_FN4),
1189	PINMUX_DATA(IRQ52_MARK,			PORT296_FN0),
1190
1191	/* Port297 - Port300 FN1 */
1192	PINMUX_DATA(SDHID2_2_MARK,		PORT297_FN1),
1193	PINMUX_DATA(SDHID2_3_MARK,		PORT298_FN1),
1194	PINMUX_DATA(SDHICLK2_MARK,		PORT299_FN1),
1195	PINMUX_DATA(SDHICMD2_MARK,		PORT300_FN1),
1196
1197	/* Port297 - Port300 FN2 */
1198	PINMUX_DATA(MSIOF4_RXD_MARK,		PORT297_FN2),
1199	PINMUX_DATA(MSIOF4_SYNC_MARK,		PORT298_FN2),
1200	PINMUX_DATA(MSIOF4_SCK_MARK,		PORT299_FN2),
1201	PINMUX_DATA(MSIOF4_SS1_MARK,		PORT300_FN2),
1202
1203	/* Port297 - Port300 FN3 */
1204	PINMUX_DATA(SCIFB2_RXD_297_MARK,	PORT297_FN3,	MSEL3CR_10_1),
1205	PINMUX_DATA(SCIFB2_CTS_298_MARK,	PORT298_FN3,	MSEL3CR_10_1),
1206	PINMUX_DATA(SCIFB2_SCK_299_MARK,	PORT299_FN3),
1207	PINMUX_DATA(SCIFB2_RTS_300_MARK,	PORT300_FN3),
1208
1209	/* Port297 - Port300 FN4 */
1210	PINMUX_DATA(MSIOF6_RXD_MARK,		PORT297_FN4),
1211	PINMUX_DATA(MSIOF6_SYNC_MARK,		PORT298_FN4),
1212	PINMUX_DATA(MSIOF6_SCK_MARK,		PORT299_FN4),
1213	PINMUX_DATA(MSIOF6_SS1_MARK,		PORT300_FN4),
1214
1215	/* Port301 */
1216	PINMUX_DATA(SDHICD0_MARK,		PORT301_FN1),
1217	PINMUX_DATA(IRQ50_MARK,			PORT301_FN0),
1218
1219	/* Port302 - Port306 FN1 */
1220	PINMUX_DATA(SDHID0_0_MARK,		PORT302_FN1),
1221	PINMUX_DATA(SDHID0_1_MARK,		PORT303_FN1),
1222	PINMUX_DATA(SDHID0_2_MARK,		PORT304_FN1),
1223	PINMUX_DATA(SDHID0_3_MARK,		PORT305_FN1),
1224	PINMUX_DATA(SDHICMD0_MARK,		PORT306_FN1),
1225
1226	/* Port302 - Port306 FN3 */
1227	PINMUX_DATA(STMDATA0_1_MARK,		PORT302_FN3),
1228	PINMUX_DATA(STMDATA1_1_MARK,		PORT303_FN3),
1229	PINMUX_DATA(STMDATA2_1_MARK,		PORT304_FN3),
1230	PINMUX_DATA(STMDATA3_1_MARK,		PORT305_FN3),
1231	PINMUX_DATA(STMSIDI_1_MARK,		PORT306_FN3),
1232
1233	/* Port307 */
1234	PINMUX_DATA(SDHIWP0_MARK,		PORT307_FN1),
1235
1236	/* Port308 */
1237	PINMUX_DATA(SDHICLK0_MARK,		PORT308_FN1),
1238	PINMUX_DATA(STMCLK_1_MARK,		PORT308_FN3),
1239
1240	/* Port320 - Port329 */
1241	PINMUX_DATA(IRQ16_MARK,			PORT320_FN0),
1242	PINMUX_DATA(IRQ17_MARK,			PORT321_FN0),
1243	PINMUX_DATA(IRQ28_MARK,			PORT322_FN0),
1244	PINMUX_DATA(IRQ29_MARK,			PORT323_FN0),
1245	PINMUX_DATA(IRQ30_MARK,			PORT324_FN0),
1246	PINMUX_DATA(IRQ53_MARK,			PORT325_FN0),
1247	PINMUX_DATA(IRQ54_MARK,			PORT326_FN0),
1248	PINMUX_DATA(IRQ55_MARK,			PORT327_FN0),
1249	PINMUX_DATA(IRQ56_MARK,			PORT328_FN0),
1250	PINMUX_DATA(IRQ57_MARK,			PORT329_FN0),
1251};
1252
1253#define __O	(SH_PFC_PIN_CFG_OUTPUT)
1254#define __IO	(SH_PFC_PIN_CFG_INPUT | SH_PFC_PIN_CFG_OUTPUT)
1255#define __PUD	(SH_PFC_PIN_CFG_PULL_UP_DOWN)
1256
1257#define R8A73A4_PIN_IO_PU_PD(pin)       SH_PFC_PIN_CFG(pin, __IO | __PUD)
1258#define R8A73A4_PIN_O(pin)              SH_PFC_PIN_CFG(pin, __O)
1259
1260static const struct sh_pfc_pin pinmux_pins[] = {
1261	R8A73A4_PIN_IO_PU_PD(0), R8A73A4_PIN_IO_PU_PD(1),
1262	R8A73A4_PIN_IO_PU_PD(2), R8A73A4_PIN_IO_PU_PD(3),
1263	R8A73A4_PIN_IO_PU_PD(4), R8A73A4_PIN_IO_PU_PD(5),
1264	R8A73A4_PIN_IO_PU_PD(6), R8A73A4_PIN_IO_PU_PD(7),
1265	R8A73A4_PIN_IO_PU_PD(8), R8A73A4_PIN_IO_PU_PD(9),
1266	R8A73A4_PIN_IO_PU_PD(10), R8A73A4_PIN_IO_PU_PD(11),
1267	R8A73A4_PIN_IO_PU_PD(12), R8A73A4_PIN_IO_PU_PD(13),
1268	R8A73A4_PIN_IO_PU_PD(14), R8A73A4_PIN_IO_PU_PD(15),
1269	R8A73A4_PIN_IO_PU_PD(16), R8A73A4_PIN_IO_PU_PD(17),
1270	R8A73A4_PIN_IO_PU_PD(18), R8A73A4_PIN_IO_PU_PD(19),
1271	R8A73A4_PIN_IO_PU_PD(20), R8A73A4_PIN_IO_PU_PD(21),
1272	R8A73A4_PIN_IO_PU_PD(22), R8A73A4_PIN_IO_PU_PD(23),
1273	R8A73A4_PIN_IO_PU_PD(24), R8A73A4_PIN_IO_PU_PD(25),
1274	R8A73A4_PIN_IO_PU_PD(26), R8A73A4_PIN_IO_PU_PD(27),
1275	R8A73A4_PIN_IO_PU_PD(28), R8A73A4_PIN_IO_PU_PD(29),
1276	R8A73A4_PIN_IO_PU_PD(30),
1277	R8A73A4_PIN_IO_PU_PD(32), R8A73A4_PIN_IO_PU_PD(33),
1278	R8A73A4_PIN_IO_PU_PD(34), R8A73A4_PIN_IO_PU_PD(35),
1279	R8A73A4_PIN_IO_PU_PD(36), R8A73A4_PIN_IO_PU_PD(37),
1280	R8A73A4_PIN_IO_PU_PD(38), R8A73A4_PIN_IO_PU_PD(39),
1281	R8A73A4_PIN_IO_PU_PD(40),
1282	R8A73A4_PIN_IO_PU_PD(64), R8A73A4_PIN_IO_PU_PD(65),
1283	R8A73A4_PIN_IO_PU_PD(66), R8A73A4_PIN_IO_PU_PD(67),
1284	R8A73A4_PIN_IO_PU_PD(68), R8A73A4_PIN_IO_PU_PD(69),
1285	R8A73A4_PIN_IO_PU_PD(70), R8A73A4_PIN_IO_PU_PD(71),
1286	R8A73A4_PIN_IO_PU_PD(72), R8A73A4_PIN_IO_PU_PD(73),
1287	R8A73A4_PIN_O(74), R8A73A4_PIN_IO_PU_PD(75),
1288	R8A73A4_PIN_IO_PU_PD(76), R8A73A4_PIN_IO_PU_PD(77),
1289	R8A73A4_PIN_IO_PU_PD(78), R8A73A4_PIN_IO_PU_PD(79),
1290	R8A73A4_PIN_IO_PU_PD(80), R8A73A4_PIN_IO_PU_PD(81),
1291	R8A73A4_PIN_IO_PU_PD(82), R8A73A4_PIN_IO_PU_PD(83),
1292	R8A73A4_PIN_IO_PU_PD(84), R8A73A4_PIN_IO_PU_PD(85),
1293	R8A73A4_PIN_IO_PU_PD(96), R8A73A4_PIN_IO_PU_PD(97),
1294	R8A73A4_PIN_IO_PU_PD(98), R8A73A4_PIN_IO_PU_PD(99),
1295	R8A73A4_PIN_IO_PU_PD(100), R8A73A4_PIN_IO_PU_PD(101),
1296	R8A73A4_PIN_IO_PU_PD(102), R8A73A4_PIN_IO_PU_PD(103),
1297	R8A73A4_PIN_IO_PU_PD(104), R8A73A4_PIN_IO_PU_PD(105),
1298	R8A73A4_PIN_IO_PU_PD(106), R8A73A4_PIN_IO_PU_PD(107),
1299	R8A73A4_PIN_IO_PU_PD(108), R8A73A4_PIN_IO_PU_PD(109),
1300	R8A73A4_PIN_IO_PU_PD(110), R8A73A4_PIN_IO_PU_PD(111),
1301	R8A73A4_PIN_IO_PU_PD(112), R8A73A4_PIN_IO_PU_PD(113),
1302	R8A73A4_PIN_IO_PU_PD(114), R8A73A4_PIN_IO_PU_PD(115),
1303	R8A73A4_PIN_IO_PU_PD(116), R8A73A4_PIN_IO_PU_PD(117),
1304	R8A73A4_PIN_IO_PU_PD(118), R8A73A4_PIN_IO_PU_PD(119),
1305	R8A73A4_PIN_IO_PU_PD(120), R8A73A4_PIN_IO_PU_PD(121),
1306	R8A73A4_PIN_IO_PU_PD(122), R8A73A4_PIN_IO_PU_PD(123),
1307	R8A73A4_PIN_IO_PU_PD(124), R8A73A4_PIN_IO_PU_PD(125),
1308	R8A73A4_PIN_IO_PU_PD(126),
1309	R8A73A4_PIN_IO_PU_PD(128), R8A73A4_PIN_IO_PU_PD(129),
1310	R8A73A4_PIN_IO_PU_PD(130), R8A73A4_PIN_IO_PU_PD(131),
1311	R8A73A4_PIN_IO_PU_PD(132), R8A73A4_PIN_IO_PU_PD(133),
1312	R8A73A4_PIN_IO_PU_PD(134),
1313	R8A73A4_PIN_IO_PU_PD(160), R8A73A4_PIN_IO_PU_PD(161),
1314	R8A73A4_PIN_IO_PU_PD(162), R8A73A4_PIN_IO_PU_PD(163),
1315	R8A73A4_PIN_IO_PU_PD(164), R8A73A4_PIN_IO_PU_PD(165),
1316	R8A73A4_PIN_IO_PU_PD(166), R8A73A4_PIN_IO_PU_PD(167),
1317	R8A73A4_PIN_IO_PU_PD(168), R8A73A4_PIN_IO_PU_PD(169),
1318	R8A73A4_PIN_IO_PU_PD(170), R8A73A4_PIN_IO_PU_PD(171),
1319	R8A73A4_PIN_IO_PU_PD(172), R8A73A4_PIN_IO_PU_PD(173),
1320	R8A73A4_PIN_IO_PU_PD(174), R8A73A4_PIN_IO_PU_PD(175),
1321	R8A73A4_PIN_IO_PU_PD(176), R8A73A4_PIN_IO_PU_PD(177),
1322	R8A73A4_PIN_IO_PU_PD(178),
1323	R8A73A4_PIN_IO_PU_PD(192), R8A73A4_PIN_IO_PU_PD(193),
1324	R8A73A4_PIN_IO_PU_PD(194), R8A73A4_PIN_IO_PU_PD(195),
1325	R8A73A4_PIN_IO_PU_PD(196), R8A73A4_PIN_IO_PU_PD(197),
1326	R8A73A4_PIN_IO_PU_PD(198), R8A73A4_PIN_IO_PU_PD(199),
1327	R8A73A4_PIN_IO_PU_PD(200), R8A73A4_PIN_IO_PU_PD(201),
1328	R8A73A4_PIN_IO_PU_PD(202), R8A73A4_PIN_IO_PU_PD(203),
1329	R8A73A4_PIN_IO_PU_PD(204), R8A73A4_PIN_IO_PU_PD(205),
1330	R8A73A4_PIN_IO_PU_PD(206), R8A73A4_PIN_IO_PU_PD(207),
1331	R8A73A4_PIN_IO_PU_PD(208), R8A73A4_PIN_IO_PU_PD(209),
1332	R8A73A4_PIN_IO_PU_PD(210), R8A73A4_PIN_IO_PU_PD(211),
1333	R8A73A4_PIN_IO_PU_PD(212), R8A73A4_PIN_IO_PU_PD(213),
1334	R8A73A4_PIN_IO_PU_PD(214), R8A73A4_PIN_IO_PU_PD(215),
1335	R8A73A4_PIN_IO_PU_PD(216), R8A73A4_PIN_IO_PU_PD(217),
1336	R8A73A4_PIN_IO_PU_PD(218), R8A73A4_PIN_IO_PU_PD(219),
1337	R8A73A4_PIN_IO_PU_PD(220), R8A73A4_PIN_IO_PU_PD(221),
1338	R8A73A4_PIN_IO_PU_PD(222),
1339	R8A73A4_PIN_IO_PU_PD(224), R8A73A4_PIN_IO_PU_PD(225),
1340	R8A73A4_PIN_IO_PU_PD(226), R8A73A4_PIN_IO_PU_PD(227),
1341	R8A73A4_PIN_IO_PU_PD(228), R8A73A4_PIN_IO_PU_PD(229),
1342	R8A73A4_PIN_IO_PU_PD(230), R8A73A4_PIN_IO_PU_PD(231),
1343	R8A73A4_PIN_IO_PU_PD(232), R8A73A4_PIN_IO_PU_PD(233),
1344	R8A73A4_PIN_IO_PU_PD(234), R8A73A4_PIN_IO_PU_PD(235),
1345	R8A73A4_PIN_IO_PU_PD(236), R8A73A4_PIN_IO_PU_PD(237),
1346	R8A73A4_PIN_IO_PU_PD(238), R8A73A4_PIN_IO_PU_PD(239),
1347	R8A73A4_PIN_IO_PU_PD(240), R8A73A4_PIN_IO_PU_PD(241),
1348	R8A73A4_PIN_IO_PU_PD(242), R8A73A4_PIN_IO_PU_PD(243),
1349	R8A73A4_PIN_IO_PU_PD(244), R8A73A4_PIN_IO_PU_PD(245),
1350	R8A73A4_PIN_IO_PU_PD(246), R8A73A4_PIN_IO_PU_PD(247),
1351	R8A73A4_PIN_IO_PU_PD(248), R8A73A4_PIN_IO_PU_PD(249),
1352	R8A73A4_PIN_IO_PU_PD(250),
1353	R8A73A4_PIN_IO_PU_PD(256), R8A73A4_PIN_IO_PU_PD(257),
1354	R8A73A4_PIN_IO_PU_PD(258), R8A73A4_PIN_IO_PU_PD(259),
1355	R8A73A4_PIN_IO_PU_PD(260), R8A73A4_PIN_IO_PU_PD(261),
1356	R8A73A4_PIN_IO_PU_PD(262), R8A73A4_PIN_IO_PU_PD(263),
1357	R8A73A4_PIN_IO_PU_PD(264), R8A73A4_PIN_IO_PU_PD(265),
1358	R8A73A4_PIN_IO_PU_PD(266), R8A73A4_PIN_IO_PU_PD(267),
1359	R8A73A4_PIN_IO_PU_PD(268), R8A73A4_PIN_IO_PU_PD(269),
1360	R8A73A4_PIN_IO_PU_PD(270), R8A73A4_PIN_IO_PU_PD(271),
1361	R8A73A4_PIN_IO_PU_PD(272), R8A73A4_PIN_IO_PU_PD(273),
1362	R8A73A4_PIN_IO_PU_PD(274), R8A73A4_PIN_IO_PU_PD(275),
1363	R8A73A4_PIN_IO_PU_PD(276), R8A73A4_PIN_IO_PU_PD(277),
1364	R8A73A4_PIN_IO_PU_PD(278), R8A73A4_PIN_IO_PU_PD(279),
1365	R8A73A4_PIN_IO_PU_PD(280), R8A73A4_PIN_IO_PU_PD(281),
1366	R8A73A4_PIN_IO_PU_PD(282), R8A73A4_PIN_IO_PU_PD(283),
1367	R8A73A4_PIN_O(288), R8A73A4_PIN_IO_PU_PD(289),
1368	R8A73A4_PIN_IO_PU_PD(290), R8A73A4_PIN_IO_PU_PD(291),
1369	R8A73A4_PIN_IO_PU_PD(292), R8A73A4_PIN_IO_PU_PD(293),
1370	R8A73A4_PIN_IO_PU_PD(294), R8A73A4_PIN_IO_PU_PD(295),
1371	R8A73A4_PIN_IO_PU_PD(296), R8A73A4_PIN_IO_PU_PD(297),
1372	R8A73A4_PIN_IO_PU_PD(298), R8A73A4_PIN_IO_PU_PD(299),
1373	R8A73A4_PIN_IO_PU_PD(300), R8A73A4_PIN_IO_PU_PD(301),
1374	R8A73A4_PIN_IO_PU_PD(302), R8A73A4_PIN_IO_PU_PD(303),
1375	R8A73A4_PIN_IO_PU_PD(304), R8A73A4_PIN_IO_PU_PD(305),
1376	R8A73A4_PIN_IO_PU_PD(306), R8A73A4_PIN_IO_PU_PD(307),
1377	R8A73A4_PIN_IO_PU_PD(308),
1378	R8A73A4_PIN_IO_PU_PD(320), R8A73A4_PIN_IO_PU_PD(321),
1379	R8A73A4_PIN_IO_PU_PD(322), R8A73A4_PIN_IO_PU_PD(323),
1380	R8A73A4_PIN_IO_PU_PD(324), R8A73A4_PIN_IO_PU_PD(325),
1381	R8A73A4_PIN_IO_PU_PD(326), R8A73A4_PIN_IO_PU_PD(327),
1382	R8A73A4_PIN_IO_PU_PD(328), R8A73A4_PIN_IO_PU_PD(329),
1383};
1384
1385/* - IRQC ------------------------------------------------------------------- */
1386#define IRQC_PINS_MUX(pin, irq_mark)				\
1387static const unsigned int irqc_irq##irq_mark##_pins[] = {	\
1388	pin,							\
1389};								\
1390static const unsigned int irqc_irq##irq_mark##_mux[] = {	\
1391	IRQ##irq_mark##_MARK,					\
1392}
1393IRQC_PINS_MUX(0, 0);
1394IRQC_PINS_MUX(1, 1);
1395IRQC_PINS_MUX(2, 2);
1396IRQC_PINS_MUX(3, 3);
1397IRQC_PINS_MUX(4, 4);
1398IRQC_PINS_MUX(5, 5);
1399IRQC_PINS_MUX(6, 6);
1400IRQC_PINS_MUX(7, 7);
1401IRQC_PINS_MUX(8, 8);
1402IRQC_PINS_MUX(9, 9);
1403IRQC_PINS_MUX(10, 10);
1404IRQC_PINS_MUX(11, 11);
1405IRQC_PINS_MUX(12, 12);
1406IRQC_PINS_MUX(13, 13);
1407IRQC_PINS_MUX(14, 14);
1408IRQC_PINS_MUX(15, 15);
1409IRQC_PINS_MUX(66, 40);
1410IRQC_PINS_MUX(84, 19);
1411IRQC_PINS_MUX(85, 18);
1412IRQC_PINS_MUX(102, 41);
1413IRQC_PINS_MUX(103, 42);
1414IRQC_PINS_MUX(109, 43);
1415IRQC_PINS_MUX(110, 44);
1416IRQC_PINS_MUX(111, 45);
1417IRQC_PINS_MUX(112, 46);
1418IRQC_PINS_MUX(113, 47);
1419IRQC_PINS_MUX(114, 48);
1420IRQC_PINS_MUX(115, 49);
1421IRQC_PINS_MUX(160, 20);
1422IRQC_PINS_MUX(161, 21);
1423IRQC_PINS_MUX(162, 22);
1424IRQC_PINS_MUX(163, 23);
1425IRQC_PINS_MUX(175, 24);
1426IRQC_PINS_MUX(176, 25);
1427IRQC_PINS_MUX(177, 26);
1428IRQC_PINS_MUX(178, 27);
1429IRQC_PINS_MUX(192, 31);
1430IRQC_PINS_MUX(193, 32);
1431IRQC_PINS_MUX(194, 33);
1432IRQC_PINS_MUX(195, 34);
1433IRQC_PINS_MUX(196, 35);
1434IRQC_PINS_MUX(197, 36);
1435IRQC_PINS_MUX(198, 37);
1436IRQC_PINS_MUX(199, 38);
1437IRQC_PINS_MUX(200, 39);
1438IRQC_PINS_MUX(290, 51);
1439IRQC_PINS_MUX(296, 52);
1440IRQC_PINS_MUX(301, 50);
1441IRQC_PINS_MUX(320, 16);
1442IRQC_PINS_MUX(321, 17);
1443IRQC_PINS_MUX(322, 28);
1444IRQC_PINS_MUX(323, 29);
1445IRQC_PINS_MUX(324, 30);
1446IRQC_PINS_MUX(325, 53);
1447IRQC_PINS_MUX(326, 54);
1448IRQC_PINS_MUX(327, 55);
1449IRQC_PINS_MUX(328, 56);
1450IRQC_PINS_MUX(329, 57);
1451/* - MMCIF0 ----------------------------------------------------------------- */
1452static const unsigned int mmc0_data1_pins[] = {
1453	/* D[0] */
1454	164,
1455};
1456static const unsigned int mmc0_data1_mux[] = {
1457	MMCD0_0_MARK,
1458};
1459static const unsigned int mmc0_data4_pins[] = {
1460	/* D[0:3] */
1461	164, 165, 166, 167,
1462};
1463static const unsigned int mmc0_data4_mux[] = {
1464	MMCD0_0_MARK, MMCD0_1_MARK, MMCD0_2_MARK, MMCD0_3_MARK,
1465};
1466static const unsigned int mmc0_data8_pins[] = {
1467	/* D[0:7] */
1468	164, 165, 166, 167, 168, 169, 170, 171,
1469};
1470static const unsigned int mmc0_data8_mux[] = {
1471	MMCD0_0_MARK, MMCD0_1_MARK, MMCD0_2_MARK, MMCD0_3_MARK,
1472	MMCD0_4_MARK, MMCD0_5_MARK, MMCD0_6_MARK, MMCD0_7_MARK,
1473};
1474static const unsigned int mmc0_ctrl_pins[] = {
1475	/* CMD, CLK */
1476	172, 173,
1477};
1478static const unsigned int mmc0_ctrl_mux[] = {
1479	MMCCMD0_MARK, MMCCLK0_MARK,
1480};
1481/* - MMCIF1 ----------------------------------------------------------------- */
1482static const unsigned int mmc1_data1_pins[] = {
1483	/* D[0] */
1484	199,
1485};
1486static const unsigned int mmc1_data1_mux[] = {
1487	MMCD1_0_MARK,
1488};
1489static const unsigned int mmc1_data4_pins[] = {
1490	/* D[0:3] */
1491	199, 198, 197, 196,
1492};
1493static const unsigned int mmc1_data4_mux[] = {
1494	MMCD1_0_MARK, MMCD1_1_MARK, MMCD1_2_MARK, MMCD1_3_MARK,
1495};
1496static const unsigned int mmc1_data8_pins[] = {
1497	/* D[0:7] */
1498	199, 198, 197, 196, 195, 194, 193, 192,
1499};
1500static const unsigned int mmc1_data8_mux[] = {
1501	MMCD1_0_MARK, MMCD1_1_MARK, MMCD1_2_MARK, MMCD1_3_MARK,
1502	MMCD1_4_MARK, MMCD1_5_MARK, MMCD1_6_MARK, MMCD1_7_MARK,
1503};
1504static const unsigned int mmc1_ctrl_pins[] = {
1505	/* CMD, CLK */
1506	200, 203,
1507};
1508static const unsigned int mmc1_ctrl_mux[] = {
1509	MMCCMD1_MARK, MMCCLK1_MARK,
1510};
1511/* - SCIFA0 ----------------------------------------------------------------- */
1512static const unsigned int scifa0_data_pins[] = {
1513	/* SCIFA0_RXD, SCIFA0_TXD */
1514	117, 116,
1515};
1516static const unsigned int scifa0_data_mux[] = {
1517	SCIFA0_RXD_MARK, SCIFA0_TXD_MARK,
1518};
1519static const unsigned int scifa0_clk_pins[] = {
1520	/* SCIFA0_SCK */
1521	34,
1522};
1523static const unsigned int scifa0_clk_mux[] = {
1524	SCIFA0_SCK_MARK,
1525};
1526static const unsigned int scifa0_ctrl_pins[] = {
1527	/* SCIFA0_RTS, SCIFA0_CTS */
1528	32, 33,
1529};
1530static const unsigned int scifa0_ctrl_mux[] = {
1531	SCIFA0_RTS_MARK, SCIFA0_CTS_MARK,
1532};
1533/* - SCIFA1 ----------------------------------------------------------------- */
1534static const unsigned int scifa1_data_pins[] = {
1535	/* SCIFA1_RXD, SCIFA1_TXD */
1536	119, 118,
1537};
1538static const unsigned int scifa1_data_mux[] = {
1539	SCIFA1_RXD_MARK, SCIFA1_TXD_MARK,
1540};
1541static const unsigned int scifa1_clk_pins[] = {
1542	/* SCIFA1_SCK */
1543	37,
1544};
1545static const unsigned int scifa1_clk_mux[] = {
1546	SCIFA1_SCK_MARK,
1547};
1548static const unsigned int scifa1_ctrl_pins[] = {
1549	/* SCIFA1_RTS, SCIFA1_CTS */
1550	35, 36,
1551};
1552static const unsigned int scifa1_ctrl_mux[] = {
1553	SCIFA1_RTS_MARK, SCIFA1_CTS_MARK,
1554};
1555/* - SCIFB0 ----------------------------------------------------------------- */
1556static const unsigned int scifb0_data_pins[] = {
1557	/* SCIFB0_RXD, SCIFB0_TXD */
1558	123, 122,
1559};
1560static const unsigned int scifb0_data_mux[] = {
1561	SCIFB0_RXD_MARK, SCIFB0_TXD_MARK,
1562};
1563static const unsigned int scifb0_clk_pins[] = {
1564	/* SCIFB0_SCK */
1565	40,
1566};
1567static const unsigned int scifb0_clk_mux[] = {
1568	SCIFB0_SCK_MARK,
1569};
1570static const unsigned int scifb0_ctrl_pins[] = {
1571	/* SCIFB0_RTS, SCIFB0_CTS */
1572	38, 39,
1573};
1574static const unsigned int scifb0_ctrl_mux[] = {
1575	SCIFB0_RTS_MARK, SCIFB0_CTS_MARK,
1576};
1577/* - SCIFB1 ----------------------------------------------------------------- */
1578static const unsigned int scifb1_data_pins[] = {
1579	/* SCIFB1_RXD, SCIFB1_TXD */
1580	27, 26,
1581};
1582static const unsigned int scifb1_data_mux[] = {
1583	SCIFB1_RXD_27_MARK, SCIFB1_TXD_26_MARK,
1584};
1585static const unsigned int scifb1_clk_pins[] = {
1586	/* SCIFB1_SCK */
1587	28,
1588};
1589static const unsigned int scifb1_clk_mux[] = {
1590	SCIFB1_SCK_28_MARK,
1591};
1592static const unsigned int scifb1_ctrl_pins[] = {
1593	/* SCIFB1_RTS, SCIFB1_CTS */
1594	24, 25,
1595};
1596static const unsigned int scifb1_ctrl_mux[] = {
1597	SCIFB1_RTS_24_MARK, SCIFB1_CTS_25_MARK,
1598};
1599static const unsigned int scifb1_data_b_pins[] = {
1600	/* SCIFB1_RXD, SCIFB1_TXD */
1601	72, 67,
1602};
1603static const unsigned int scifb1_data_b_mux[] = {
1604	SCIFB1_RXD_72_MARK, SCIFB1_TXD_67_MARK,
1605};
1606static const unsigned int scifb1_clk_b_pins[] = {
1607	/* SCIFB1_SCK */
1608	261,
1609};
1610static const unsigned int scifb1_clk_b_mux[] = {
1611	SCIFB1_SCK_261_MARK,
1612};
1613static const unsigned int scifb1_ctrl_b_pins[] = {
1614	/* SCIFB1_RTS, SCIFB1_CTS */
1615	70, 71,
1616};
1617static const unsigned int scifb1_ctrl_b_mux[] = {
1618	SCIFB1_RTS_70_MARK, SCIFB1_CTS_71_MARK,
1619};
1620/* - SCIFB2 ----------------------------------------------------------------- */
1621static const unsigned int scifb2_data_pins[] = {
1622	/* SCIFB2_RXD, SCIFB2_TXD */
1623	69, 68,
1624};
1625static const unsigned int scifb2_data_mux[] = {
1626	SCIFB2_RXD_69_MARK, SCIFB2_TXD_68_MARK,
1627};
1628static const unsigned int scifb2_clk_pins[] = {
1629	/* SCIFB2_SCK */
1630	262,
1631};
1632static const unsigned int scifb2_clk_mux[] = {
1633	SCIFB2_SCK_262_MARK,
1634};
1635static const unsigned int scifb2_ctrl_pins[] = {
1636	/* SCIFB2_RTS, SCIFB2_CTS */
1637	73, 66,
1638};
1639static const unsigned int scifb2_ctrl_mux[] = {
1640	SCIFB2_RTS_73_MARK, SCIFB2_CTS_66_MARK,
1641};
1642static const unsigned int scifb2_data_b_pins[] = {
1643	/* SCIFB2_RXD, SCIFB2_TXD */
1644	297, 295,
1645};
1646static const unsigned int scifb2_data_b_mux[] = {
1647	SCIFB2_RXD_297_MARK, SCIFB2_TXD_295_MARK,
1648};
1649static const unsigned int scifb2_clk_b_pins[] = {
1650	/* SCIFB2_SCK */
1651	299,
1652};
1653static const unsigned int scifb2_clk_b_mux[] = {
1654	SCIFB2_SCK_299_MARK,
1655};
1656static const unsigned int scifb2_ctrl_b_pins[] = {
1657	/* SCIFB2_RTS, SCIFB2_CTS */
1658	300, 298,
1659};
1660static const unsigned int scifb2_ctrl_b_mux[] = {
1661	SCIFB2_RTS_300_MARK, SCIFB2_CTS_298_MARK,
1662};
1663/* - SCIFB3 ----------------------------------------------------------------- */
1664static const unsigned int scifb3_data_pins[] = {
1665	/* SCIFB3_RXD, SCIFB3_TXD */
1666	22, 21,
1667};
1668static const unsigned int scifb3_data_mux[] = {
1669	SCIFB3_RXD_22_MARK, SCIFB3_TXD_21_MARK,
1670};
1671static const unsigned int scifb3_clk_pins[] = {
1672	/* SCIFB3_SCK */
1673	23,
1674};
1675static const unsigned int scifb3_clk_mux[] = {
1676	SCIFB3_SCK_23_MARK,
1677};
1678static const unsigned int scifb3_ctrl_pins[] = {
1679	/* SCIFB3_RTS, SCIFB3_CTS */
1680	19, 20,
1681};
1682static const unsigned int scifb3_ctrl_mux[] = {
1683	SCIFB3_RTS_19_MARK, SCIFB3_CTS_20_MARK,
1684};
1685static const unsigned int scifb3_data_b_pins[] = {
1686	/* SCIFB3_RXD, SCIFB3_TXD */
1687	120, 121,
1688};
1689static const unsigned int scifb3_data_b_mux[] = {
1690	SCIFB3_RXD_120_MARK, SCIFB3_TXD_121_MARK,
1691};
1692static const unsigned int scifb3_clk_b_pins[] = {
1693	/* SCIFB3_SCK */
1694	40,
1695};
1696static const unsigned int scifb3_clk_b_mux[] = {
1697	SCIFB3_SCK_40_MARK,
1698};
1699static const unsigned int scifb3_ctrl_b_pins[] = {
1700	/* SCIFB3_RTS, SCIFB3_CTS */
1701	38, 39,
1702};
1703static const unsigned int scifb3_ctrl_b_mux[] = {
1704	SCIFB3_RTS_38_MARK, SCIFB3_CTS_39_MARK,
1705};
1706/* - SDHI0 ------------------------------------------------------------------ */
1707static const unsigned int sdhi0_data1_pins[] = {
1708	/* D0 */
1709	302,
1710};
1711static const unsigned int sdhi0_data1_mux[] = {
1712	SDHID0_0_MARK,
1713};
1714static const unsigned int sdhi0_data4_pins[] = {
1715	/* D[0:3] */
1716	302, 303, 304, 305,
1717};
1718static const unsigned int sdhi0_data4_mux[] = {
1719	SDHID0_0_MARK, SDHID0_1_MARK, SDHID0_2_MARK, SDHID0_3_MARK,
1720};
1721static const unsigned int sdhi0_ctrl_pins[] = {
1722	/* CLK, CMD */
1723	308, 306,
1724};
1725static const unsigned int sdhi0_ctrl_mux[] = {
1726	SDHICLK0_MARK, SDHICMD0_MARK,
1727};
1728static const unsigned int sdhi0_cd_pins[] = {
1729	/* CD */
1730	301,
1731};
1732static const unsigned int sdhi0_cd_mux[] = {
1733	SDHICD0_MARK,
1734};
1735static const unsigned int sdhi0_wp_pins[] = {
1736	/* WP */
1737	307,
1738};
1739static const unsigned int sdhi0_wp_mux[] = {
1740	SDHIWP0_MARK,
1741};
1742/* - SDHI1 ------------------------------------------------------------------ */
1743static const unsigned int sdhi1_data1_pins[] = {
1744	/* D0 */
1745	289,
1746};
1747static const unsigned int sdhi1_data1_mux[] = {
1748	SDHID1_0_MARK,
1749};
1750static const unsigned int sdhi1_data4_pins[] = {
1751	/* D[0:3] */
1752	289, 290, 291, 292,
1753};
1754static const unsigned int sdhi1_data4_mux[] = {
1755	SDHID1_0_MARK, SDHID1_1_MARK, SDHID1_2_MARK, SDHID1_3_MARK,
1756};
1757static const unsigned int sdhi1_ctrl_pins[] = {
1758	/* CLK, CMD */
1759	293, 294,
1760};
1761static const unsigned int sdhi1_ctrl_mux[] = {
1762	SDHICLK1_MARK, SDHICMD1_MARK,
1763};
1764/* - SDHI2 ------------------------------------------------------------------ */
1765static const unsigned int sdhi2_data1_pins[] = {
1766	/* D0 */
1767	295,
1768};
1769static const unsigned int sdhi2_data1_mux[] = {
1770	SDHID2_0_MARK,
1771};
1772static const unsigned int sdhi2_data4_pins[] = {
1773	/* D[0:3] */
1774	295, 296, 297, 298,
1775};
1776static const unsigned int sdhi2_data4_mux[] = {
1777	SDHID2_0_MARK, SDHID2_1_MARK, SDHID2_2_MARK, SDHID2_3_MARK,
1778};
1779static const unsigned int sdhi2_ctrl_pins[] = {
1780	/* CLK, CMD */
1781	299, 300,
1782};
1783static const unsigned int sdhi2_ctrl_mux[] = {
1784	SDHICLK2_MARK, SDHICMD2_MARK,
1785};
1786
1787static const struct sh_pfc_pin_group pinmux_groups[] = {
1788	SH_PFC_PIN_GROUP(irqc_irq0),
1789	SH_PFC_PIN_GROUP(irqc_irq1),
1790	SH_PFC_PIN_GROUP(irqc_irq2),
1791	SH_PFC_PIN_GROUP(irqc_irq3),
1792	SH_PFC_PIN_GROUP(irqc_irq4),
1793	SH_PFC_PIN_GROUP(irqc_irq5),
1794	SH_PFC_PIN_GROUP(irqc_irq6),
1795	SH_PFC_PIN_GROUP(irqc_irq7),
1796	SH_PFC_PIN_GROUP(irqc_irq8),
1797	SH_PFC_PIN_GROUP(irqc_irq9),
1798	SH_PFC_PIN_GROUP(irqc_irq10),
1799	SH_PFC_PIN_GROUP(irqc_irq11),
1800	SH_PFC_PIN_GROUP(irqc_irq12),
1801	SH_PFC_PIN_GROUP(irqc_irq13),
1802	SH_PFC_PIN_GROUP(irqc_irq14),
1803	SH_PFC_PIN_GROUP(irqc_irq15),
1804	SH_PFC_PIN_GROUP(irqc_irq16),
1805	SH_PFC_PIN_GROUP(irqc_irq17),
1806	SH_PFC_PIN_GROUP(irqc_irq18),
1807	SH_PFC_PIN_GROUP(irqc_irq19),
1808	SH_PFC_PIN_GROUP(irqc_irq20),
1809	SH_PFC_PIN_GROUP(irqc_irq21),
1810	SH_PFC_PIN_GROUP(irqc_irq22),
1811	SH_PFC_PIN_GROUP(irqc_irq23),
1812	SH_PFC_PIN_GROUP(irqc_irq24),
1813	SH_PFC_PIN_GROUP(irqc_irq25),
1814	SH_PFC_PIN_GROUP(irqc_irq26),
1815	SH_PFC_PIN_GROUP(irqc_irq27),
1816	SH_PFC_PIN_GROUP(irqc_irq28),
1817	SH_PFC_PIN_GROUP(irqc_irq29),
1818	SH_PFC_PIN_GROUP(irqc_irq30),
1819	SH_PFC_PIN_GROUP(irqc_irq31),
1820	SH_PFC_PIN_GROUP(irqc_irq32),
1821	SH_PFC_PIN_GROUP(irqc_irq33),
1822	SH_PFC_PIN_GROUP(irqc_irq34),
1823	SH_PFC_PIN_GROUP(irqc_irq35),
1824	SH_PFC_PIN_GROUP(irqc_irq36),
1825	SH_PFC_PIN_GROUP(irqc_irq37),
1826	SH_PFC_PIN_GROUP(irqc_irq38),
1827	SH_PFC_PIN_GROUP(irqc_irq39),
1828	SH_PFC_PIN_GROUP(irqc_irq40),
1829	SH_PFC_PIN_GROUP(irqc_irq41),
1830	SH_PFC_PIN_GROUP(irqc_irq42),
1831	SH_PFC_PIN_GROUP(irqc_irq43),
1832	SH_PFC_PIN_GROUP(irqc_irq44),
1833	SH_PFC_PIN_GROUP(irqc_irq45),
1834	SH_PFC_PIN_GROUP(irqc_irq46),
1835	SH_PFC_PIN_GROUP(irqc_irq47),
1836	SH_PFC_PIN_GROUP(irqc_irq48),
1837	SH_PFC_PIN_GROUP(irqc_irq49),
1838	SH_PFC_PIN_GROUP(irqc_irq50),
1839	SH_PFC_PIN_GROUP(irqc_irq51),
1840	SH_PFC_PIN_GROUP(irqc_irq52),
1841	SH_PFC_PIN_GROUP(irqc_irq53),
1842	SH_PFC_PIN_GROUP(irqc_irq54),
1843	SH_PFC_PIN_GROUP(irqc_irq55),
1844	SH_PFC_PIN_GROUP(irqc_irq56),
1845	SH_PFC_PIN_GROUP(irqc_irq57),
1846	SH_PFC_PIN_GROUP(mmc0_data1),
1847	SH_PFC_PIN_GROUP(mmc0_data4),
1848	SH_PFC_PIN_GROUP(mmc0_data8),
1849	SH_PFC_PIN_GROUP(mmc0_ctrl),
1850	SH_PFC_PIN_GROUP(mmc1_data1),
1851	SH_PFC_PIN_GROUP(mmc1_data4),
1852	SH_PFC_PIN_GROUP(mmc1_data8),
1853	SH_PFC_PIN_GROUP(mmc1_ctrl),
1854	SH_PFC_PIN_GROUP(scifa0_data),
1855	SH_PFC_PIN_GROUP(scifa0_clk),
1856	SH_PFC_PIN_GROUP(scifa0_ctrl),
1857	SH_PFC_PIN_GROUP(scifa1_data),
1858	SH_PFC_PIN_GROUP(scifa1_clk),
1859	SH_PFC_PIN_GROUP(scifa1_ctrl),
1860	SH_PFC_PIN_GROUP(scifb0_data),
1861	SH_PFC_PIN_GROUP(scifb0_clk),
1862	SH_PFC_PIN_GROUP(scifb0_ctrl),
1863	SH_PFC_PIN_GROUP(scifb1_data),
1864	SH_PFC_PIN_GROUP(scifb1_clk),
1865	SH_PFC_PIN_GROUP(scifb1_ctrl),
1866	SH_PFC_PIN_GROUP(scifb1_data_b),
1867	SH_PFC_PIN_GROUP(scifb1_clk_b),
1868	SH_PFC_PIN_GROUP(scifb1_ctrl_b),
1869	SH_PFC_PIN_GROUP(scifb2_data),
1870	SH_PFC_PIN_GROUP(scifb2_clk),
1871	SH_PFC_PIN_GROUP(scifb2_ctrl),
1872	SH_PFC_PIN_GROUP(scifb2_data_b),
1873	SH_PFC_PIN_GROUP(scifb2_clk_b),
1874	SH_PFC_PIN_GROUP(scifb2_ctrl_b),
1875	SH_PFC_PIN_GROUP(scifb3_data),
1876	SH_PFC_PIN_GROUP(scifb3_clk),
1877	SH_PFC_PIN_GROUP(scifb3_ctrl),
1878	SH_PFC_PIN_GROUP(scifb3_data_b),
1879	SH_PFC_PIN_GROUP(scifb3_clk_b),
1880	SH_PFC_PIN_GROUP(scifb3_ctrl_b),
1881	SH_PFC_PIN_GROUP(sdhi0_data1),
1882	SH_PFC_PIN_GROUP(sdhi0_data4),
1883	SH_PFC_PIN_GROUP(sdhi0_ctrl),
1884	SH_PFC_PIN_GROUP(sdhi0_cd),
1885	SH_PFC_PIN_GROUP(sdhi0_wp),
1886	SH_PFC_PIN_GROUP(sdhi1_data1),
1887	SH_PFC_PIN_GROUP(sdhi1_data4),
1888	SH_PFC_PIN_GROUP(sdhi1_ctrl),
1889	SH_PFC_PIN_GROUP(sdhi2_data1),
1890	SH_PFC_PIN_GROUP(sdhi2_data4),
1891	SH_PFC_PIN_GROUP(sdhi2_ctrl),
1892};
1893
1894static const char * const irqc_groups[] = {
1895	"irqc_irq0",
1896	"irqc_irq1",
1897	"irqc_irq2",
1898	"irqc_irq3",
1899	"irqc_irq4",
1900	"irqc_irq5",
1901	"irqc_irq6",
1902	"irqc_irq7",
1903	"irqc_irq8",
1904	"irqc_irq9",
1905	"irqc_irq10",
1906	"irqc_irq11",
1907	"irqc_irq12",
1908	"irqc_irq13",
1909	"irqc_irq14",
1910	"irqc_irq15",
1911	"irqc_irq16",
1912	"irqc_irq17",
1913	"irqc_irq18",
1914	"irqc_irq19",
1915	"irqc_irq20",
1916	"irqc_irq21",
1917	"irqc_irq22",
1918	"irqc_irq23",
1919	"irqc_irq24",
1920	"irqc_irq25",
1921	"irqc_irq26",
1922	"irqc_irq27",
1923	"irqc_irq28",
1924	"irqc_irq29",
1925	"irqc_irq30",
1926	"irqc_irq31",
1927	"irqc_irq32",
1928	"irqc_irq33",
1929	"irqc_irq34",
1930	"irqc_irq35",
1931	"irqc_irq36",
1932	"irqc_irq37",
1933	"irqc_irq38",
1934	"irqc_irq39",
1935	"irqc_irq40",
1936	"irqc_irq41",
1937	"irqc_irq42",
1938	"irqc_irq43",
1939	"irqc_irq44",
1940	"irqc_irq45",
1941	"irqc_irq46",
1942	"irqc_irq47",
1943	"irqc_irq48",
1944	"irqc_irq49",
1945	"irqc_irq50",
1946	"irqc_irq51",
1947	"irqc_irq52",
1948	"irqc_irq53",
1949	"irqc_irq54",
1950	"irqc_irq55",
1951	"irqc_irq56",
1952	"irqc_irq57",
1953};
1954
1955static const char * const mmc0_groups[] = {
1956	"mmc0_data1",
1957	"mmc0_data4",
1958	"mmc0_data8",
1959	"mmc0_ctrl",
1960};
1961
1962static const char * const mmc1_groups[] = {
1963	"mmc1_data1",
1964	"mmc1_data4",
1965	"mmc1_data8",
1966	"mmc1_ctrl",
1967};
1968
1969static const char * const scifa0_groups[] = {
1970	"scifa0_data",
1971	"scifa0_clk",
1972	"scifa0_ctrl",
1973};
1974
1975static const char * const scifa1_groups[] = {
1976	"scifa1_data",
1977	"scifa1_clk",
1978	"scifa1_ctrl",
1979};
1980
1981static const char * const scifb0_groups[] = {
1982	"scifb0_data",
1983	"scifb0_clk",
1984	"scifb0_ctrl",
1985};
1986
1987static const char * const scifb1_groups[] = {
1988	"scifb1_data",
1989	"scifb1_clk",
1990	"scifb1_ctrl",
1991	"scifb1_data_b",
1992	"scifb1_clk_b",
1993	"scifb1_ctrl_b",
1994};
1995
1996static const char * const scifb2_groups[] = {
1997	"scifb2_data",
1998	"scifb2_clk",
1999	"scifb2_ctrl",
2000	"scifb2_data_b",
2001	"scifb2_clk_b",
2002	"scifb2_ctrl_b",
2003};
2004
2005static const char * const scifb3_groups[] = {
2006	"scifb3_data",
2007	"scifb3_clk",
2008	"scifb3_ctrl",
2009	"scifb3_data_b",
2010	"scifb3_clk_b",
2011	"scifb3_ctrl_b",
2012};
2013
2014static const char * const sdhi0_groups[] = {
2015	"sdhi0_data1",
2016	"sdhi0_data4",
2017	"sdhi0_ctrl",
2018	"sdhi0_cd",
2019	"sdhi0_wp",
2020};
2021
2022static const char * const sdhi1_groups[] = {
2023	"sdhi1_data1",
2024	"sdhi1_data4",
2025	"sdhi1_ctrl",
2026};
2027
2028static const char * const sdhi2_groups[] = {
2029	"sdhi2_data1",
2030	"sdhi2_data4",
2031	"sdhi2_ctrl",
2032};
2033
2034static const struct sh_pfc_function pinmux_functions[] = {
2035	SH_PFC_FUNCTION(irqc),
2036	SH_PFC_FUNCTION(mmc0),
2037	SH_PFC_FUNCTION(mmc1),
2038	SH_PFC_FUNCTION(scifa0),
2039	SH_PFC_FUNCTION(scifa1),
2040	SH_PFC_FUNCTION(scifb0),
2041	SH_PFC_FUNCTION(scifb1),
2042	SH_PFC_FUNCTION(scifb2),
2043	SH_PFC_FUNCTION(scifb3),
2044	SH_PFC_FUNCTION(sdhi0),
2045	SH_PFC_FUNCTION(sdhi1),
2046	SH_PFC_FUNCTION(sdhi2),
2047};
2048
2049static const struct pinmux_cfg_reg pinmux_config_regs[] = {
2050	PORTCR(0, 0xe6050000),
2051	PORTCR(1, 0xe6050001),
2052	PORTCR(2, 0xe6050002),
2053	PORTCR(3, 0xe6050003),
2054	PORTCR(4, 0xe6050004),
2055	PORTCR(5, 0xe6050005),
2056	PORTCR(6, 0xe6050006),
2057	PORTCR(7, 0xe6050007),
2058	PORTCR(8, 0xe6050008),
2059	PORTCR(9, 0xe6050009),
2060	PORTCR(10, 0xe605000A),
2061	PORTCR(11, 0xe605000B),
2062	PORTCR(12, 0xe605000C),
2063	PORTCR(13, 0xe605000D),
2064	PORTCR(14, 0xe605000E),
2065	PORTCR(15, 0xe605000F),
2066	PORTCR(16, 0xe6050010),
2067	PORTCR(17, 0xe6050011),
2068	PORTCR(18, 0xe6050012),
2069	PORTCR(19, 0xe6050013),
2070	PORTCR(20, 0xe6050014),
2071	PORTCR(21, 0xe6050015),
2072	PORTCR(22, 0xe6050016),
2073	PORTCR(23, 0xe6050017),
2074	PORTCR(24, 0xe6050018),
2075	PORTCR(25, 0xe6050019),
2076	PORTCR(26, 0xe605001A),
2077	PORTCR(27, 0xe605001B),
2078	PORTCR(28, 0xe605001C),
2079	PORTCR(29, 0xe605001D),
2080	PORTCR(30, 0xe605001E),
2081	PORTCR(32, 0xe6051020),
2082	PORTCR(33, 0xe6051021),
2083	PORTCR(34, 0xe6051022),
2084	PORTCR(35, 0xe6051023),
2085	PORTCR(36, 0xe6051024),
2086	PORTCR(37, 0xe6051025),
2087	PORTCR(38, 0xe6051026),
2088	PORTCR(39, 0xe6051027),
2089	PORTCR(40, 0xe6051028),
2090	PORTCR(64, 0xe6050040),
2091	PORTCR(65, 0xe6050041),
2092	PORTCR(66, 0xe6050042),
2093	PORTCR(67, 0xe6050043),
2094	PORTCR(68, 0xe6050044),
2095	PORTCR(69, 0xe6050045),
2096	PORTCR(70, 0xe6050046),
2097	PORTCR(71, 0xe6050047),
2098	PORTCR(72, 0xe6050048),
2099	PORTCR(73, 0xe6050049),
2100	PORTCR(74, 0xe605004A),
2101	PORTCR(75, 0xe605004B),
2102	PORTCR(76, 0xe605004C),
2103	PORTCR(77, 0xe605004D),
2104	PORTCR(78, 0xe605004E),
2105	PORTCR(79, 0xe605004F),
2106	PORTCR(80, 0xe6050050),
2107	PORTCR(81, 0xe6050051),
2108	PORTCR(82, 0xe6050052),
2109	PORTCR(83, 0xe6050053),
2110	PORTCR(84, 0xe6050054),
2111	PORTCR(85, 0xe6050055),
2112	PORTCR(96, 0xe6051060),
2113	PORTCR(97, 0xe6051061),
2114	PORTCR(98, 0xe6051062),
2115	PORTCR(99, 0xe6051063),
2116	PORTCR(100, 0xe6051064),
2117	PORTCR(101, 0xe6051065),
2118	PORTCR(102, 0xe6051066),
2119	PORTCR(103, 0xe6051067),
2120	PORTCR(104, 0xe6051068),
2121	PORTCR(105, 0xe6051069),
2122	PORTCR(106, 0xe605106A),
2123	PORTCR(107, 0xe605106B),
2124	PORTCR(108, 0xe605106C),
2125	PORTCR(109, 0xe605106D),
2126	PORTCR(110, 0xe605106E),
2127	PORTCR(111, 0xe605106F),
2128	PORTCR(112, 0xe6051070),
2129	PORTCR(113, 0xe6051071),
2130	PORTCR(114, 0xe6051072),
2131	PORTCR(115, 0xe6051073),
2132	PORTCR(116, 0xe6051074),
2133	PORTCR(117, 0xe6051075),
2134	PORTCR(118, 0xe6051076),
2135	PORTCR(119, 0xe6051077),
2136	PORTCR(120, 0xe6051078),
2137	PORTCR(121, 0xe6051079),
2138	PORTCR(122, 0xe605107A),
2139	PORTCR(123, 0xe605107B),
2140	PORTCR(124, 0xe605107C),
2141	PORTCR(125, 0xe605107D),
2142	PORTCR(126, 0xe605107E),
2143	PORTCR(128, 0xe6051080),
2144	PORTCR(129, 0xe6051081),
2145	PORTCR(130, 0xe6051082),
2146	PORTCR(131, 0xe6051083),
2147	PORTCR(132, 0xe6051084),
2148	PORTCR(133, 0xe6051085),
2149	PORTCR(134, 0xe6051086),
2150	PORTCR(160, 0xe60520A0),
2151	PORTCR(161, 0xe60520A1),
2152	PORTCR(162, 0xe60520A2),
2153	PORTCR(163, 0xe60520A3),
2154	PORTCR(164, 0xe60520A4),
2155	PORTCR(165, 0xe60520A5),
2156	PORTCR(166, 0xe60520A6),
2157	PORTCR(167, 0xe60520A7),
2158	PORTCR(168, 0xe60520A8),
2159	PORTCR(169, 0xe60520A9),
2160	PORTCR(170, 0xe60520AA),
2161	PORTCR(171, 0xe60520AB),
2162	PORTCR(172, 0xe60520AC),
2163	PORTCR(173, 0xe60520AD),
2164	PORTCR(174, 0xe60520AE),
2165	PORTCR(175, 0xe60520AF),
2166	PORTCR(176, 0xe60520B0),
2167	PORTCR(177, 0xe60520B1),
2168	PORTCR(178, 0xe60520B2),
2169	PORTCR(192, 0xe60520C0),
2170	PORTCR(193, 0xe60520C1),
2171	PORTCR(194, 0xe60520C2),
2172	PORTCR(195, 0xe60520C3),
2173	PORTCR(196, 0xe60520C4),
2174	PORTCR(197, 0xe60520C5),
2175	PORTCR(198, 0xe60520C6),
2176	PORTCR(199, 0xe60520C7),
2177	PORTCR(200, 0xe60520C8),
2178	PORTCR(201, 0xe60520C9),
2179	PORTCR(202, 0xe60520CA),
2180	PORTCR(203, 0xe60520CB),
2181	PORTCR(204, 0xe60520CC),
2182	PORTCR(205, 0xe60520CD),
2183	PORTCR(206, 0xe60520CE),
2184	PORTCR(207, 0xe60520CF),
2185	PORTCR(208, 0xe60520D0),
2186	PORTCR(209, 0xe60520D1),
2187	PORTCR(210, 0xe60520D2),
2188	PORTCR(211, 0xe60520D3),
2189	PORTCR(212, 0xe60520D4),
2190	PORTCR(213, 0xe60520D5),
2191	PORTCR(214, 0xe60520D6),
2192	PORTCR(215, 0xe60520D7),
2193	PORTCR(216, 0xe60520D8),
2194	PORTCR(217, 0xe60520D9),
2195	PORTCR(218, 0xe60520DA),
2196	PORTCR(219, 0xe60520DB),
2197	PORTCR(220, 0xe60520DC),
2198	PORTCR(221, 0xe60520DD),
2199	PORTCR(222, 0xe60520DE),
2200	PORTCR(224, 0xe60520E0),
2201	PORTCR(225, 0xe60520E1),
2202	PORTCR(226, 0xe60520E2),
2203	PORTCR(227, 0xe60520E3),
2204	PORTCR(228, 0xe60520E4),
2205	PORTCR(229, 0xe60520E5),
2206	PORTCR(230, 0xe60520e6),
2207	PORTCR(231, 0xe60520E7),
2208	PORTCR(232, 0xe60520E8),
2209	PORTCR(233, 0xe60520E9),
2210	PORTCR(234, 0xe60520EA),
2211	PORTCR(235, 0xe60520EB),
2212	PORTCR(236, 0xe60520EC),
2213	PORTCR(237, 0xe60520ED),
2214	PORTCR(238, 0xe60520EE),
2215	PORTCR(239, 0xe60520EF),
2216	PORTCR(240, 0xe60520F0),
2217	PORTCR(241, 0xe60520F1),
2218	PORTCR(242, 0xe60520F2),
2219	PORTCR(243, 0xe60520F3),
2220	PORTCR(244, 0xe60520F4),
2221	PORTCR(245, 0xe60520F5),
2222	PORTCR(246, 0xe60520F6),
2223	PORTCR(247, 0xe60520F7),
2224	PORTCR(248, 0xe60520F8),
2225	PORTCR(249, 0xe60520F9),
2226	PORTCR(250, 0xe60520FA),
2227	PORTCR(256, 0xe6052100),
2228	PORTCR(257, 0xe6052101),
2229	PORTCR(258, 0xe6052102),
2230	PORTCR(259, 0xe6052103),
2231	PORTCR(260, 0xe6052104),
2232	PORTCR(261, 0xe6052105),
2233	PORTCR(262, 0xe6052106),
2234	PORTCR(263, 0xe6052107),
2235	PORTCR(264, 0xe6052108),
2236	PORTCR(265, 0xe6052109),
2237	PORTCR(266, 0xe605210A),
2238	PORTCR(267, 0xe605210B),
2239	PORTCR(268, 0xe605210C),
2240	PORTCR(269, 0xe605210D),
2241	PORTCR(270, 0xe605210E),
2242	PORTCR(271, 0xe605210F),
2243	PORTCR(272, 0xe6052110),
2244	PORTCR(273, 0xe6052111),
2245	PORTCR(274, 0xe6052112),
2246	PORTCR(275, 0xe6052113),
2247	PORTCR(276, 0xe6052114),
2248	PORTCR(277, 0xe6052115),
2249	PORTCR(278, 0xe6052116),
2250	PORTCR(279, 0xe6052117),
2251	PORTCR(280, 0xe6052118),
2252	PORTCR(281, 0xe6052119),
2253	PORTCR(282, 0xe605211A),
2254	PORTCR(283, 0xe605211B),
2255	PORTCR(288, 0xe6053120),
2256	PORTCR(289, 0xe6053121),
2257	PORTCR(290, 0xe6053122),
2258	PORTCR(291, 0xe6053123),
2259	PORTCR(292, 0xe6053124),
2260	PORTCR(293, 0xe6053125),
2261	PORTCR(294, 0xe6053126),
2262	PORTCR(295, 0xe6053127),
2263	PORTCR(296, 0xe6053128),
2264	PORTCR(297, 0xe6053129),
2265	PORTCR(298, 0xe605312A),
2266	PORTCR(299, 0xe605312B),
2267	PORTCR(300, 0xe605312C),
2268	PORTCR(301, 0xe605312D),
2269	PORTCR(302, 0xe605312E),
2270	PORTCR(303, 0xe605312F),
2271	PORTCR(304, 0xe6053130),
2272	PORTCR(305, 0xe6053131),
2273	PORTCR(306, 0xe6053132),
2274	PORTCR(307, 0xe6053133),
2275	PORTCR(308, 0xe6053134),
2276	PORTCR(320, 0xe6053140),
2277	PORTCR(321, 0xe6053141),
2278	PORTCR(322, 0xe6053142),
2279	PORTCR(323, 0xe6053143),
2280	PORTCR(324, 0xe6053144),
2281	PORTCR(325, 0xe6053145),
2282	PORTCR(326, 0xe6053146),
2283	PORTCR(327, 0xe6053147),
2284	PORTCR(328, 0xe6053148),
2285	PORTCR(329, 0xe6053149),
2286
2287	{ PINMUX_CFG_REG("MSEL1CR", 0xe605800c, 32, 1, GROUP(
2288			MSEL1CR_31_0, MSEL1CR_31_1,
2289			0, 0,
2290			0, 0,
2291			0, 0,
2292			MSEL1CR_27_0, MSEL1CR_27_1,
2293			0, 0,
2294			MSEL1CR_25_0, MSEL1CR_25_1,
2295			MSEL1CR_24_0, MSEL1CR_24_1,
2296			0, 0,
2297			MSEL1CR_22_0, MSEL1CR_22_1,
2298			MSEL1CR_21_0, MSEL1CR_21_1,
2299			MSEL1CR_20_0, MSEL1CR_20_1,
2300			MSEL1CR_19_0, MSEL1CR_19_1,
2301			MSEL1CR_18_0, MSEL1CR_18_1,
2302			MSEL1CR_17_0, MSEL1CR_17_1,
2303			MSEL1CR_16_0, MSEL1CR_16_1,
2304			MSEL1CR_15_0, MSEL1CR_15_1,
2305			MSEL1CR_14_0, MSEL1CR_14_1,
2306			MSEL1CR_13_0, MSEL1CR_13_1,
2307			MSEL1CR_12_0, MSEL1CR_12_1,
2308			MSEL1CR_11_0, MSEL1CR_11_1,
2309			MSEL1CR_10_0, MSEL1CR_10_1,
2310			MSEL1CR_09_0, MSEL1CR_09_1,
2311			MSEL1CR_08_0, MSEL1CR_08_1,
2312			MSEL1CR_07_0, MSEL1CR_07_1,
2313			MSEL1CR_06_0, MSEL1CR_06_1,
2314			MSEL1CR_05_0, MSEL1CR_05_1,
2315			MSEL1CR_04_0, MSEL1CR_04_1,
2316			MSEL1CR_03_0, MSEL1CR_03_1,
2317			MSEL1CR_02_0, MSEL1CR_02_1,
2318			MSEL1CR_01_0, MSEL1CR_01_1,
2319			MSEL1CR_00_0, MSEL1CR_00_1,
2320		))
2321	},
2322	{ PINMUX_CFG_REG("MSEL3CR", 0xe6058020, 32, 1, GROUP(
2323			MSEL3CR_31_0, MSEL3CR_31_1,
2324			0, 0,
2325			0, 0,
2326			MSEL3CR_28_0, MSEL3CR_28_1,
2327			MSEL3CR_27_0, MSEL3CR_27_1,
2328			MSEL3CR_26_0, MSEL3CR_26_1,
2329			0, 0,
2330			0, 0,
2331			MSEL3CR_23_0, MSEL3CR_23_1,
2332			MSEL3CR_22_0, MSEL3CR_22_1,
2333			MSEL3CR_21_0, MSEL3CR_21_1,
2334			MSEL3CR_20_0, MSEL3CR_20_1,
2335			MSEL3CR_19_0, MSEL3CR_19_1,
2336			MSEL3CR_18_0, MSEL3CR_18_1,
2337			MSEL3CR_17_0, MSEL3CR_17_1,
2338			MSEL3CR_16_0, MSEL3CR_16_1,
2339			MSEL3CR_15_0, MSEL3CR_15_1,
2340			0, 0,
2341			0, 0,
2342			MSEL3CR_12_0, MSEL3CR_12_1,
2343			MSEL3CR_11_0, MSEL3CR_11_1,
2344			MSEL3CR_10_0, MSEL3CR_10_1,
2345			MSEL3CR_09_0, MSEL3CR_09_1,
2346			0, 0,
2347			0, 0,
2348			MSEL3CR_06_0, MSEL3CR_06_1,
2349			0, 0,
2350			0, 0,
2351			MSEL3CR_03_0, MSEL3CR_03_1,
2352			0, 0,
2353			MSEL3CR_01_0, MSEL3CR_01_1,
2354			MSEL3CR_00_0, MSEL3CR_00_1,
2355			))
2356	},
2357	{ PINMUX_CFG_REG("MSEL4CR", 0xe6058024, 32, 1, GROUP(
2358			0, 0,
2359			MSEL4CR_30_0, MSEL4CR_30_1,
2360			MSEL4CR_29_0, MSEL4CR_29_1,
2361			MSEL4CR_28_0, MSEL4CR_28_1,
2362			MSEL4CR_27_0, MSEL4CR_27_1,
2363			MSEL4CR_26_0, MSEL4CR_26_1,
2364			MSEL4CR_25_0, MSEL4CR_25_1,
2365			MSEL4CR_24_0, MSEL4CR_24_1,
2366			MSEL4CR_23_0, MSEL4CR_23_1,
2367			MSEL4CR_22_0, MSEL4CR_22_1,
2368			MSEL4CR_21_0, MSEL4CR_21_1,
2369			MSEL4CR_20_0, MSEL4CR_20_1,
2370			MSEL4CR_19_0, MSEL4CR_19_1,
2371			MSEL4CR_18_0, MSEL4CR_18_1,
2372			MSEL4CR_17_0, MSEL4CR_17_1,
2373			MSEL4CR_16_0, MSEL4CR_16_1,
2374			MSEL4CR_15_0, MSEL4CR_15_1,
2375			MSEL4CR_14_0, MSEL4CR_14_1,
2376			MSEL4CR_13_0, MSEL4CR_13_1,
2377			MSEL4CR_12_0, MSEL4CR_12_1,
2378			MSEL4CR_11_0, MSEL4CR_11_1,
2379			MSEL4CR_10_0, MSEL4CR_10_1,
2380			MSEL4CR_09_0, MSEL4CR_09_1,
2381			0, 0,
2382			MSEL4CR_07_0, MSEL4CR_07_1,
2383			0, 0,
2384			0, 0,
2385			MSEL4CR_04_0, MSEL4CR_04_1,
2386			0, 0,
2387			0, 0,
2388			MSEL4CR_01_0, MSEL4CR_01_1,
2389			0, 0,
2390		))
2391	},
2392	{ PINMUX_CFG_REG("MSEL5CR", 0xe6058028, 32, 1, GROUP(
2393			MSEL5CR_31_0, MSEL5CR_31_1,
2394			MSEL5CR_30_0, MSEL5CR_30_1,
2395			MSEL5CR_29_0, MSEL5CR_29_1,
2396			MSEL5CR_28_0, MSEL5CR_28_1,
2397			MSEL5CR_27_0, MSEL5CR_27_1,
2398			MSEL5CR_26_0, MSEL5CR_26_1,
2399			MSEL5CR_25_0, MSEL5CR_25_1,
2400			MSEL5CR_24_0, MSEL5CR_24_1,
2401			MSEL5CR_23_0, MSEL5CR_23_1,
2402			MSEL5CR_22_0, MSEL5CR_22_1,
2403			MSEL5CR_21_0, MSEL5CR_21_1,
2404			MSEL5CR_20_0, MSEL5CR_20_1,
2405			MSEL5CR_19_0, MSEL5CR_19_1,
2406			MSEL5CR_18_0, MSEL5CR_18_1,
2407			MSEL5CR_17_0, MSEL5CR_17_1,
2408			MSEL5CR_16_0, MSEL5CR_16_1,
2409			MSEL5CR_15_0, MSEL5CR_15_1,
2410			MSEL5CR_14_0, MSEL5CR_14_1,
2411			MSEL5CR_13_0, MSEL5CR_13_1,
2412			MSEL5CR_12_0, MSEL5CR_12_1,
2413			MSEL5CR_11_0, MSEL5CR_11_1,
2414			MSEL5CR_10_0, MSEL5CR_10_1,
2415			MSEL5CR_09_0, MSEL5CR_09_1,
2416			MSEL5CR_08_0, MSEL5CR_08_1,
2417			MSEL5CR_07_0, MSEL5CR_07_1,
2418			MSEL5CR_06_0, MSEL5CR_06_1,
2419			0, 0,
2420			0, 0,
2421			0, 0,
2422			0, 0,
2423			0, 0,
2424			0, 0,
2425		))
2426	},
2427	{ PINMUX_CFG_REG("MSEL8CR", 0xe6058034, 32, 1, GROUP(
2428			0, 0,
2429			0, 0,
2430			0, 0,
2431			0, 0,
2432			0, 0,
2433			0, 0,
2434			0, 0,
2435			0, 0,
2436			0, 0,
2437			0, 0,
2438			0, 0,
2439			0, 0,
2440			0, 0,
2441			0, 0,
2442			0, 0,
2443			MSEL8CR_16_0, MSEL8CR_16_1,
2444			0, 0,
2445			0, 0,
2446			0, 0,
2447			0, 0,
2448			0, 0,
2449			0, 0,
2450			0, 0,
2451			0, 0,
2452			0, 0,
2453			0, 0,
2454			0, 0,
2455			0, 0,
2456			0, 0,
2457			0, 0,
2458			MSEL8CR_01_0, MSEL8CR_01_1,
2459			MSEL8CR_00_0, MSEL8CR_00_1,
2460		))
2461	},
2462	{ },
2463};
2464
2465static const struct pinmux_data_reg pinmux_data_regs[] = {
2466
2467	{ PINMUX_DATA_REG("PORTL031_000DR", 0xe6054000, 32, GROUP(
2468			0, PORT30_DATA, PORT29_DATA, PORT28_DATA,
2469			PORT27_DATA, PORT26_DATA, PORT25_DATA, PORT24_DATA,
2470			PORT23_DATA, PORT22_DATA, PORT21_DATA, PORT20_DATA,
2471			PORT19_DATA, PORT18_DATA, PORT17_DATA, PORT16_DATA,
2472			PORT15_DATA, PORT14_DATA, PORT13_DATA, PORT12_DATA,
2473			PORT11_DATA, PORT10_DATA, PORT9_DATA, PORT8_DATA,
2474			PORT7_DATA, PORT6_DATA, PORT5_DATA, PORT4_DATA,
2475			PORT3_DATA, PORT2_DATA, PORT1_DATA, PORT0_DATA,
2476		))
2477	},
2478	{ PINMUX_DATA_REG("PORTD063_032DR", 0xe6055000, 32, GROUP(
2479			0, 0, 0, 0,
2480			0, 0, 0, 0,
2481			0, 0, 0, 0,
2482			0, 0, 0, 0,
2483			0, 0, 0, 0,
2484			0, 0, 0, PORT40_DATA,
2485			PORT39_DATA, PORT38_DATA, PORT37_DATA, PORT36_DATA,
2486			PORT35_DATA, PORT34_DATA, PORT33_DATA, PORT32_DATA,
2487		))
2488	},
2489	{ PINMUX_DATA_REG("PORTL095_064DR", 0xe6054004, 32, GROUP(
2490			0, 0, 0, 0,
2491			0, 0, 0, 0,
2492			0, 0, PORT85_DATA, PORT84_DATA,
2493			PORT83_DATA, PORT82_DATA, PORT81_DATA, PORT80_DATA,
2494			PORT79_DATA, PORT78_DATA, PORT77_DATA, PORT76_DATA,
2495			PORT75_DATA, PORT74_DATA, PORT73_DATA, PORT72_DATA,
2496			PORT71_DATA, PORT70_DATA, PORT69_DATA, PORT68_DATA,
2497			PORT67_DATA, PORT66_DATA, PORT65_DATA, PORT64_DATA,
2498		))
2499	},
2500	{ PINMUX_DATA_REG("PORTD127_096DR", 0xe6055004, 32, GROUP(
2501			0, PORT126_DATA, PORT125_DATA, PORT124_DATA,
2502			PORT123_DATA, PORT122_DATA, PORT121_DATA, PORT120_DATA,
2503			PORT119_DATA, PORT118_DATA, PORT117_DATA, PORT116_DATA,
2504			PORT115_DATA, PORT114_DATA, PORT113_DATA, PORT112_DATA,
2505			PORT111_DATA, PORT110_DATA, PORT109_DATA, PORT108_DATA,
2506			PORT107_DATA, PORT106_DATA, PORT105_DATA, PORT104_DATA,
2507			PORT103_DATA, PORT102_DATA, PORT101_DATA, PORT100_DATA,
2508			PORT99_DATA, PORT98_DATA, PORT97_DATA, PORT96_DATA,
2509		))
2510	},
2511	{ PINMUX_DATA_REG("PORTD159_128DR", 0xe6055008, 32, GROUP(
2512			0, 0, 0, 0,
2513			0, 0, 0, 0,
2514			0, 0, 0, 0,
2515			0, 0, 0, 0,
2516			0, 0, 0, 0,
2517			0, 0, 0, 0,
2518			0, PORT134_DATA, PORT133_DATA, PORT132_DATA,
2519			PORT131_DATA, PORT130_DATA, PORT129_DATA, PORT128_DATA,
2520		))
2521	},
2522	{ PINMUX_DATA_REG("PORTR191_160DR", 0xe6056000, 32, GROUP(
2523			0, 0, 0, 0,
2524			0, 0, 0, 0,
2525			0, 0, 0, 0,
2526			0, PORT178_DATA, PORT177_DATA, PORT176_DATA,
2527			PORT175_DATA, PORT174_DATA, PORT173_DATA, PORT172_DATA,
2528			PORT171_DATA, PORT170_DATA, PORT169_DATA, PORT168_DATA,
2529			PORT167_DATA, PORT166_DATA, PORT165_DATA, PORT164_DATA,
2530			PORT163_DATA, PORT162_DATA, PORT161_DATA, PORT160_DATA,
2531		))
2532	},
2533	{ PINMUX_DATA_REG("PORTR223_192DR", 0xe6056004, 32, GROUP(
2534			0, PORT222_DATA, PORT221_DATA, PORT220_DATA,
2535			PORT219_DATA, PORT218_DATA, PORT217_DATA, PORT216_DATA,
2536			PORT215_DATA, PORT214_DATA, PORT213_DATA, PORT212_DATA,
2537			PORT211_DATA, PORT210_DATA, PORT209_DATA, PORT208_DATA,
2538			PORT207_DATA, PORT206_DATA, PORT205_DATA, PORT204_DATA,
2539			PORT203_DATA, PORT202_DATA, PORT201_DATA, PORT200_DATA,
2540			PORT199_DATA, PORT198_DATA, PORT197_DATA, PORT196_DATA,
2541			PORT195_DATA, PORT194_DATA, PORT193_DATA, PORT192_DATA,
2542		))
2543	},
2544	{ PINMUX_DATA_REG("PORTR255_224DR", 0xe6056008, 32, GROUP(
2545			0, 0, 0, 0,
2546			0, PORT250_DATA, PORT249_DATA, PORT248_DATA,
2547			PORT247_DATA, PORT246_DATA, PORT245_DATA, PORT244_DATA,
2548			PORT243_DATA, PORT242_DATA, PORT241_DATA, PORT240_DATA,
2549			PORT239_DATA, PORT238_DATA, PORT237_DATA, PORT236_DATA,
2550			PORT235_DATA, PORT234_DATA, PORT233_DATA, PORT232_DATA,
2551			PORT231_DATA, PORT230_DATA, PORT229_DATA, PORT228_DATA,
2552			PORT227_DATA, PORT226_DATA, PORT225_DATA, PORT224_DATA,
2553		))
2554	},
2555	{ PINMUX_DATA_REG("PORTR287_256DR", 0xe605600C, 32, GROUP(
2556			0, 0, 0, 0,
2557			PORT283_DATA, PORT282_DATA, PORT281_DATA, PORT280_DATA,
2558			PORT279_DATA, PORT278_DATA, PORT277_DATA, PORT276_DATA,
2559			PORT275_DATA, PORT274_DATA, PORT273_DATA, PORT272_DATA,
2560			PORT271_DATA, PORT270_DATA, PORT269_DATA, PORT268_DATA,
2561			PORT267_DATA, PORT266_DATA, PORT265_DATA, PORT264_DATA,
2562			PORT263_DATA, PORT262_DATA, PORT261_DATA, PORT260_DATA,
2563			PORT259_DATA, PORT258_DATA, PORT257_DATA, PORT256_DATA,
2564		))
2565	},
2566	{ PINMUX_DATA_REG("PORTU319_288DR", 0xe6057000, 32, GROUP(
2567			0, 0, 0, 0,
2568			0, 0, 0, 0,
2569			0, 0, 0, PORT308_DATA,
2570			PORT307_DATA, PORT306_DATA, PORT305_DATA, PORT304_DATA,
2571			PORT303_DATA, PORT302_DATA, PORT301_DATA, PORT300_DATA,
2572			PORT299_DATA, PORT298_DATA, PORT297_DATA, PORT296_DATA,
2573			PORT295_DATA, PORT294_DATA, PORT293_DATA, PORT292_DATA,
2574			PORT291_DATA, PORT290_DATA, PORT289_DATA, PORT288_DATA,
2575		))
2576	},
2577	{ PINMUX_DATA_REG("PORTU351_320DR", 0xe6057004, 32, GROUP(
2578			0, 0, 0, 0,
2579			0, 0, 0, 0,
2580			0, 0, 0, 0,
2581			0, 0, 0, 0,
2582			0, 0, 0, 0,
2583			0, 0, PORT329_DATA, PORT328_DATA,
2584			PORT327_DATA, PORT326_DATA, PORT325_DATA, PORT324_DATA,
2585			PORT323_DATA, PORT322_DATA, PORT321_DATA, PORT320_DATA,
2586		))
2587	},
2588	{ },
2589};
2590
2591static const struct pinmux_irq pinmux_irqs[] = {
2592	PINMUX_IRQ(0),		/* IRQ0 */
2593	PINMUX_IRQ(1),		/* IRQ1 */
2594	PINMUX_IRQ(2),		/* IRQ2 */
2595	PINMUX_IRQ(3),		/* IRQ3 */
2596	PINMUX_IRQ(4),		/* IRQ4 */
2597	PINMUX_IRQ(5),		/* IRQ5 */
2598	PINMUX_IRQ(6),		/* IRQ6 */
2599	PINMUX_IRQ(7),		/* IRQ7 */
2600	PINMUX_IRQ(8),		/* IRQ8 */
2601	PINMUX_IRQ(9),		/* IRQ9 */
2602	PINMUX_IRQ(10),		/* IRQ10 */
2603	PINMUX_IRQ(11),		/* IRQ11 */
2604	PINMUX_IRQ(12),		/* IRQ12 */
2605	PINMUX_IRQ(13),		/* IRQ13 */
2606	PINMUX_IRQ(14),		/* IRQ14 */
2607	PINMUX_IRQ(15),		/* IRQ15 */
2608	PINMUX_IRQ(320),	/* IRQ16 */
2609	PINMUX_IRQ(321),	/* IRQ17 */
2610	PINMUX_IRQ(85),		/* IRQ18 */
2611	PINMUX_IRQ(84),		/* IRQ19 */
2612	PINMUX_IRQ(160),	/* IRQ20 */
2613	PINMUX_IRQ(161),	/* IRQ21 */
2614	PINMUX_IRQ(162),	/* IRQ22 */
2615	PINMUX_IRQ(163),	/* IRQ23 */
2616	PINMUX_IRQ(175),	/* IRQ24 */
2617	PINMUX_IRQ(176),	/* IRQ25 */
2618	PINMUX_IRQ(177),	/* IRQ26 */
2619	PINMUX_IRQ(178),	/* IRQ27 */
2620	PINMUX_IRQ(322),	/* IRQ28 */
2621	PINMUX_IRQ(323),	/* IRQ29 */
2622	PINMUX_IRQ(324),	/* IRQ30 */
2623	PINMUX_IRQ(192),	/* IRQ31 */
2624	PINMUX_IRQ(193),	/* IRQ32 */
2625	PINMUX_IRQ(194),	/* IRQ33 */
2626	PINMUX_IRQ(195),	/* IRQ34 */
2627	PINMUX_IRQ(196),	/* IRQ35 */
2628	PINMUX_IRQ(197),	/* IRQ36 */
2629	PINMUX_IRQ(198),	/* IRQ37 */
2630	PINMUX_IRQ(199),	/* IRQ38 */
2631	PINMUX_IRQ(200),	/* IRQ39 */
2632	PINMUX_IRQ(66),		/* IRQ40 */
2633	PINMUX_IRQ(102),	/* IRQ41 */
2634	PINMUX_IRQ(103),	/* IRQ42 */
2635	PINMUX_IRQ(109),	/* IRQ43 */
2636	PINMUX_IRQ(110),	/* IRQ44 */
2637	PINMUX_IRQ(111),	/* IRQ45 */
2638	PINMUX_IRQ(112),	/* IRQ46 */
2639	PINMUX_IRQ(113),	/* IRQ47 */
2640	PINMUX_IRQ(114),	/* IRQ48 */
2641	PINMUX_IRQ(115),	/* IRQ49 */
2642	PINMUX_IRQ(301),	/* IRQ50 */
2643	PINMUX_IRQ(290),	/* IRQ51 */
2644	PINMUX_IRQ(296),	/* IRQ52 */
2645	PINMUX_IRQ(325),	/* IRQ53 */
2646	PINMUX_IRQ(326),	/* IRQ54 */
2647	PINMUX_IRQ(327),	/* IRQ55 */
2648	PINMUX_IRQ(328),	/* IRQ56 */
2649	PINMUX_IRQ(329),	/* IRQ57 */
2650};
2651
2652#define PORTCR_PULMD_OFF (0 << 6)
2653#define PORTCR_PULMD_DOWN (2 << 6)
2654#define PORTCR_PULMD_UP (3 << 6)
2655#define PORTCR_PULMD_MASK (3 << 6)
2656
2657static const unsigned int r8a73a4_portcr_offsets[] = {
2658	0x00000000, 0x00001000, 0x00000000, 0x00001000,
2659	0x00001000, 0x00002000, 0x00002000, 0x00002000,
2660	0x00002000, 0x00003000, 0x00003000,
2661};
2662
2663static unsigned int r8a73a4_pinmux_get_bias(struct sh_pfc *pfc,
2664					    unsigned int pin)
2665{
2666	void __iomem *addr;
2667
2668	addr = pfc->windows->virt + r8a73a4_portcr_offsets[pin >> 5] + pin;
2669
2670	switch (ioread8(addr) & PORTCR_PULMD_MASK) {
2671	case PORTCR_PULMD_UP:
2672		return PIN_CONFIG_BIAS_PULL_UP;
2673	case PORTCR_PULMD_DOWN:
2674		return PIN_CONFIG_BIAS_PULL_DOWN;
2675	case PORTCR_PULMD_OFF:
2676	default:
2677		return PIN_CONFIG_BIAS_DISABLE;
2678	}
2679}
2680
2681static void r8a73a4_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
2682				   unsigned int bias)
2683{
2684	void __iomem *addr;
2685	u32 value;
2686
2687	addr = pfc->windows->virt + r8a73a4_portcr_offsets[pin >> 5] + pin;
2688	value = ioread8(addr) & ~PORTCR_PULMD_MASK;
2689
2690	switch (bias) {
2691	case PIN_CONFIG_BIAS_PULL_UP:
2692		value |= PORTCR_PULMD_UP;
2693		break;
2694	case PIN_CONFIG_BIAS_PULL_DOWN:
2695		value |= PORTCR_PULMD_DOWN;
2696		break;
2697	}
2698
2699	iowrite8(value, addr);
2700}
2701
2702static const struct sh_pfc_soc_operations r8a73a4_pfc_ops = {
2703	.get_bias = r8a73a4_pinmux_get_bias,
2704	.set_bias = r8a73a4_pinmux_set_bias,
2705};
2706
2707const struct sh_pfc_soc_info r8a73a4_pinmux_info = {
2708	.name		= "r8a73a4_pfc",
2709	.ops		= &r8a73a4_pfc_ops,
2710
2711	.input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
2712	.output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
2713	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2714
2715	.pins = pinmux_pins,
2716	.nr_pins = ARRAY_SIZE(pinmux_pins),
2717
2718	.groups = pinmux_groups,
2719	.nr_groups = ARRAY_SIZE(pinmux_groups),
2720	.functions = pinmux_functions,
2721	.nr_functions = ARRAY_SIZE(pinmux_functions),
2722
2723	.cfg_regs = pinmux_config_regs,
2724	.data_regs = pinmux_data_regs,
2725
2726	.pinmux_data = pinmux_data,
2727	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
2728
2729	.gpio_irq = pinmux_irqs,
2730	.gpio_irq_size = ARRAY_SIZE(pinmux_irqs),
2731};