1 // SPDX-License-Identifier: GPL-2.0
2 /*
3  * R8A77990 processor support - PFC hardware block.
4  *
5  * Copyright (C) 2018 Renesas Electronics Corp.
6  *
7  * This file is based on the drivers/pinctrl/sh-pfc/pfc-r8a7796.c
8  *
9  * R8A7796 processor support - PFC hardware block.
10  *
11  * Copyright (C) 2016-2017 Renesas Electronics Corp.
12  */
13 
14 #include <linux/kernel.h>
15 
16 #include "core.h"
17 #include "sh_pfc.h"
18 
19 #define CFG_FLAGS (SH_PFC_PIN_CFG_PULL_UP | \
20 		   SH_PFC_PIN_CFG_PULL_DOWN)
21 
22 #define CPU_ALL_PORT(fn, sfx) \
23 	PORT_GP_CFG_18(0, fn, sfx, CFG_FLAGS), \
24 	PORT_GP_CFG_23(1, fn, sfx, CFG_FLAGS), \
25 	PORT_GP_CFG_26(2, fn, sfx, CFG_FLAGS), \
26 	PORT_GP_CFG_16(3, fn, sfx, CFG_FLAGS), \
27 	PORT_GP_CFG_11(4, fn, sfx, CFG_FLAGS), \
28 	PORT_GP_CFG_20(5, fn, sfx, CFG_FLAGS), \
29 	PORT_GP_CFG_18(6, fn, sfx, CFG_FLAGS)
30 /*
31  * F_() : just information
32  * FM() : macro for FN_xxx / xxx_MARK
33  */
34 
35 /* GPSR0 */
36 #define GPSR0_17	F_(SDA4,		IP7_27_24)
37 #define GPSR0_16	F_(SCL4,		IP7_23_20)
38 #define GPSR0_15	F_(D15,			IP7_19_16)
39 #define GPSR0_14	F_(D14,			IP7_15_12)
40 #define GPSR0_13	F_(D13,			IP7_11_8)
41 #define GPSR0_12	F_(D12,			IP7_7_4)
42 #define GPSR0_11	F_(D11,			IP7_3_0)
43 #define GPSR0_10	F_(D10,			IP6_31_28)
44 #define GPSR0_9		F_(D9,			IP6_27_24)
45 #define GPSR0_8		F_(D8,			IP6_23_20)
46 #define GPSR0_7		F_(D7,			IP6_19_16)
47 #define GPSR0_6		F_(D6,			IP6_15_12)
48 #define GPSR0_5		F_(D5,			IP6_11_8)
49 #define GPSR0_4		F_(D4,			IP6_7_4)
50 #define GPSR0_3		F_(D3,			IP6_3_0)
51 #define GPSR0_2		F_(D2,			IP5_31_28)
52 #define GPSR0_1		F_(D1,			IP5_27_24)
53 #define GPSR0_0		F_(D0,			IP5_23_20)
54 
55 /* GPSR1 */
56 #define GPSR1_22	F_(WE0_N,		IP5_19_16)
57 #define GPSR1_21	F_(CS0_N,		IP5_15_12)
58 #define GPSR1_20	FM(CLKOUT)
59 #define GPSR1_19	F_(A19,			IP5_11_8)
60 #define GPSR1_18	F_(A18,			IP5_7_4)
61 #define GPSR1_17	F_(A17,			IP5_3_0)
62 #define GPSR1_16	F_(A16,			IP4_31_28)
63 #define GPSR1_15	F_(A15,			IP4_27_24)
64 #define GPSR1_14	F_(A14,			IP4_23_20)
65 #define GPSR1_13	F_(A13,			IP4_19_16)
66 #define GPSR1_12	F_(A12,			IP4_15_12)
67 #define GPSR1_11	F_(A11,			IP4_11_8)
68 #define GPSR1_10	F_(A10,			IP4_7_4)
69 #define GPSR1_9		F_(A9,			IP4_3_0)
70 #define GPSR1_8		F_(A8,			IP3_31_28)
71 #define GPSR1_7		F_(A7,			IP3_27_24)
72 #define GPSR1_6		F_(A6,			IP3_23_20)
73 #define GPSR1_5		F_(A5,			IP3_19_16)
74 #define GPSR1_4		F_(A4,			IP3_15_12)
75 #define GPSR1_3		F_(A3,			IP3_11_8)
76 #define GPSR1_2		F_(A2,			IP3_7_4)
77 #define GPSR1_1		F_(A1,			IP3_3_0)
78 #define GPSR1_0		F_(A0,			IP2_31_28)
79 
80 /* GPSR2 */
81 #define GPSR2_25	F_(EX_WAIT0,		IP2_27_24)
82 #define GPSR2_24	F_(RD_WR_N,		IP2_23_20)
83 #define GPSR2_23	F_(RD_N,		IP2_19_16)
84 #define GPSR2_22	F_(BS_N,		IP2_15_12)
85 #define GPSR2_21	FM(AVB_PHY_INT)
86 #define GPSR2_20	F_(AVB_TXCREFCLK,	IP2_3_0)
87 #define GPSR2_19	FM(AVB_RD3)
88 #define GPSR2_18	F_(AVB_RD2,		IP1_31_28)
89 #define GPSR2_17	F_(AVB_RD1,		IP1_27_24)
90 #define GPSR2_16	F_(AVB_RD0,		IP1_23_20)
91 #define GPSR2_15	FM(AVB_RXC)
92 #define GPSR2_14	FM(AVB_RX_CTL)
93 #define GPSR2_13	F_(RPC_RESET_N,		IP1_19_16)
94 #define GPSR2_12	F_(RPC_INT_N,		IP1_15_12)
95 #define GPSR2_11	F_(QSPI1_SSL,		IP1_11_8)
96 #define GPSR2_10	F_(QSPI1_IO3,		IP1_7_4)
97 #define GPSR2_9		F_(QSPI1_IO2,		IP1_3_0)
98 #define GPSR2_8		F_(QSPI1_MISO_IO1,	IP0_31_28)
99 #define GPSR2_7		F_(QSPI1_MOSI_IO0,	IP0_27_24)
100 #define GPSR2_6		F_(QSPI1_SPCLK,		IP0_23_20)
101 #define GPSR2_5		FM(QSPI0_SSL)
102 #define GPSR2_4		F_(QSPI0_IO3,		IP0_19_16)
103 #define GPSR2_3		F_(QSPI0_IO2,		IP0_15_12)
104 #define GPSR2_2		F_(QSPI0_MISO_IO1,	IP0_11_8)
105 #define GPSR2_1		F_(QSPI0_MOSI_IO0,	IP0_7_4)
106 #define GPSR2_0		F_(QSPI0_SPCLK,		IP0_3_0)
107 
108 /* GPSR3 */
109 #define GPSR3_15	F_(SD1_WP,		IP11_7_4)
110 #define GPSR3_14	F_(SD1_CD,		IP11_3_0)
111 #define GPSR3_13	F_(SD0_WP,		IP10_31_28)
112 #define GPSR3_12	F_(SD0_CD,		IP10_27_24)
113 #define GPSR3_11	F_(SD1_DAT3,		IP9_11_8)
114 #define GPSR3_10	F_(SD1_DAT2,		IP9_7_4)
115 #define GPSR3_9		F_(SD1_DAT1,		IP9_3_0)
116 #define GPSR3_8		F_(SD1_DAT0,		IP8_31_28)
117 #define GPSR3_7		F_(SD1_CMD,		IP8_27_24)
118 #define GPSR3_6		F_(SD1_CLK,		IP8_23_20)
119 #define GPSR3_5		F_(SD0_DAT3,		IP8_19_16)
120 #define GPSR3_4		F_(SD0_DAT2,		IP8_15_12)
121 #define GPSR3_3		F_(SD0_DAT1,		IP8_11_8)
122 #define GPSR3_2		F_(SD0_DAT0,		IP8_7_4)
123 #define GPSR3_1		F_(SD0_CMD,		IP8_3_0)
124 #define GPSR3_0		F_(SD0_CLK,		IP7_31_28)
125 
126 /* GPSR4 */
127 #define GPSR4_10	F_(SD3_DS,		IP10_23_20)
128 #define GPSR4_9		F_(SD3_DAT7,		IP10_19_16)
129 #define GPSR4_8		F_(SD3_DAT6,		IP10_15_12)
130 #define GPSR4_7		F_(SD3_DAT5,		IP10_11_8)
131 #define GPSR4_6		F_(SD3_DAT4,		IP10_7_4)
132 #define GPSR4_5		F_(SD3_DAT3,		IP10_3_0)
133 #define GPSR4_4		F_(SD3_DAT2,		IP9_31_28)
134 #define GPSR4_3		F_(SD3_DAT1,		IP9_27_24)
135 #define GPSR4_2		F_(SD3_DAT0,		IP9_23_20)
136 #define GPSR4_1		F_(SD3_CMD,		IP9_19_16)
137 #define GPSR4_0		F_(SD3_CLK,		IP9_15_12)
138 
139 /* GPSR5 */
140 #define GPSR5_19	F_(MLB_DAT,		IP13_23_20)
141 #define GPSR5_18	F_(MLB_SIG,		IP13_19_16)
142 #define GPSR5_17	F_(MLB_CLK,		IP13_15_12)
143 #define GPSR5_16	F_(SSI_SDATA9,		IP13_11_8)
144 #define GPSR5_15	F_(MSIOF0_SS2,		IP13_7_4)
145 #define GPSR5_14	F_(MSIOF0_SS1,		IP13_3_0)
146 #define GPSR5_13	F_(MSIOF0_SYNC,		IP12_31_28)
147 #define GPSR5_12	F_(MSIOF0_TXD,		IP12_27_24)
148 #define GPSR5_11	F_(MSIOF0_RXD,		IP12_23_20)
149 #define GPSR5_10	F_(MSIOF0_SCK,		IP12_19_16)
150 #define GPSR5_9		F_(RX2_A,		IP12_15_12)
151 #define GPSR5_8		F_(TX2_A,		IP12_11_8)
152 #define GPSR5_7		F_(SCK2_A,		IP12_7_4)
153 #define GPSR5_6		F_(TX1,			IP12_3_0)
154 #define GPSR5_5		F_(RX1,			IP11_31_28)
155 #define GPSR5_4		F_(RTS0_N_TANS_A,	IP11_23_20)
156 #define GPSR5_3		F_(CTS0_N_A,		IP11_19_16)
157 #define GPSR5_2		F_(TX0_A,		IP11_15_12)
158 #define GPSR5_1		F_(RX0_A,		IP11_11_8)
159 #define GPSR5_0		F_(SCK0_A,		IP11_27_24)
160 
161 /* GPSR6 */
162 #define GPSR6_17	F_(USB30_PWEN,		IP15_27_24)
163 #define GPSR6_16	F_(SSI_SDATA6,		IP15_19_16)
164 #define GPSR6_15	F_(SSI_WS6,		IP15_15_12)
165 #define GPSR6_14	F_(SSI_SCK6,		IP15_11_8)
166 #define GPSR6_13	F_(SSI_SDATA5,		IP15_7_4)
167 #define GPSR6_12	F_(SSI_WS5,		IP15_3_0)
168 #define GPSR6_11	F_(SSI_SCK5,		IP14_31_28)
169 #define GPSR6_10	F_(SSI_SDATA4,		IP14_27_24)
170 #define GPSR6_9		F_(USB30_OVC,		IP15_31_28)
171 #define GPSR6_8		F_(AUDIO_CLKA,		IP15_23_20)
172 #define GPSR6_7		F_(SSI_SDATA3,		IP14_23_20)
173 #define GPSR6_6		F_(SSI_WS349,		IP14_19_16)
174 #define GPSR6_5		F_(SSI_SCK349,		IP14_15_12)
175 #define GPSR6_4		F_(SSI_SDATA2,		IP14_11_8)
176 #define GPSR6_3		F_(SSI_SDATA1,		IP14_7_4)
177 #define GPSR6_2		F_(SSI_SDATA0,		IP14_3_0)
178 #define GPSR6_1		F_(SSI_WS01239,		IP13_31_28)
179 #define GPSR6_0		F_(SSI_SCK01239,	IP13_27_24)
180 
181 /* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */		/* 8 */		/* 9 - F */
182 #define IP0_3_0		FM(QSPI0_SPCLK)		FM(HSCK4_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
183 #define IP0_7_4		FM(QSPI0_MOSI_IO0)	FM(HCTS4_N_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
184 #define IP0_11_8	FM(QSPI0_MISO_IO1)	FM(HRTS4_N_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
185 #define IP0_15_12	FM(QSPI0_IO2)		FM(HTX4_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
186 #define IP0_19_16	FM(QSPI0_IO3)		FM(HRX4_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
187 #define IP0_23_20	FM(QSPI1_SPCLK)		FM(RIF2_CLK_A)		FM(HSCK4_B)		FM(VI4_DATA0_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
188 #define IP0_27_24	FM(QSPI1_MOSI_IO0)	FM(RIF2_SYNC_A)		FM(HTX4_B)		FM(VI4_DATA1_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
189 #define IP0_31_28	FM(QSPI1_MISO_IO1)	FM(RIF2_D0_A)		FM(HRX4_B)		FM(VI4_DATA2_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
190 #define IP1_3_0		FM(QSPI1_IO2)		FM(RIF2_D1_A)		FM(HTX3_C)		FM(VI4_DATA3_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
191 #define IP1_7_4		FM(QSPI1_IO3)		FM(RIF3_CLK_A)		FM(HRX3_C)		FM(VI4_DATA4_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
192 #define IP1_11_8	FM(QSPI1_SSL)		FM(RIF3_SYNC_A)		FM(HSCK3_C)		FM(VI4_DATA5_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
193 #define IP1_15_12	FM(RPC_INT_N)		FM(RIF3_D0_A)		FM(HCTS3_N_C)		FM(VI4_DATA6_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
194 #define IP1_19_16	FM(RPC_RESET_N)		FM(RIF3_D1_A)		FM(HRTS3_N_C)		FM(VI4_DATA7_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
195 #define IP1_23_20	FM(AVB_RD0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
196 #define IP1_27_24	FM(AVB_RD1)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
197 #define IP1_31_28	FM(AVB_RD2)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
198 #define IP2_3_0		FM(AVB_TXCREFCLK)	F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
199 #define IP2_7_4		FM(AVB_MDIO)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
200 #define IP2_11_8	FM(AVB_MDC)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
201 #define IP2_15_12	FM(BS_N)		FM(PWM0_A)		FM(AVB_MAGIC)		FM(VI4_CLK)		F_(0, 0)		FM(TX3_C)	F_(0, 0)	FM(VI5_CLK_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
202 #define IP2_19_16	FM(RD_N)		FM(PWM1_A)		FM(AVB_LINK)		FM(VI4_FIELD)		F_(0, 0)		FM(RX3_C)	FM(FSCLKST2_N_A) FM(VI5_DATA0_B) F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
203 #define IP2_23_20	FM(RD_WR_N)		FM(SCL7_A)		FM(AVB_AVTP_MATCH_A)	FM(VI4_VSYNC_N)		FM(TX5_B)		FM(SCK3_C)	FM(PWM5_A)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
204 #define IP2_27_24	FM(EX_WAIT0)		FM(SDA7_A)		FM(AVB_AVTP_CAPTURE_A)	FM(VI4_HSYNC_N)		FM(RX5_B)		FM(PWM6_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
205 #define IP2_31_28	FM(A0)			FM(IRQ0)		FM(PWM2_A)		FM(MSIOF3_SS1_B)	FM(VI5_CLK_A)		FM(DU_CDE)	FM(HRX3_D)	FM(IERX)	FM(QSTB_QHE)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
206 #define IP3_3_0		FM(A1)			FM(IRQ1)		FM(PWM3_A)		FM(DU_DOTCLKIN1)	FM(VI5_DATA0_A)		FM(DU_DISP_CDE) FM(SDA6_B)	FM(IETX)	FM(QCPV_QDE)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
207 #define IP3_7_4		FM(A2)			FM(IRQ2)		FM(AVB_AVTP_PPS)	FM(VI4_CLKENB)		FM(VI5_DATA1_A)		FM(DU_DISP)	FM(SCL6_B)	F_(0, 0)	FM(QSTVB_QVE)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
208 #define IP3_11_8	FM(A3)			FM(CTS4_N_A)		FM(PWM4_A)		FM(VI4_DATA12)		F_(0, 0)		FM(DU_DOTCLKOUT0) FM(HTX3_D)	FM(IECLK)	FM(LCDOUT12)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
209 #define IP3_15_12	FM(A4)			FM(RTS4_N_TANS_A)	FM(MSIOF3_SYNC_B)	FM(VI4_DATA8)		FM(PWM2_B)		FM(DU_DG4)	FM(RIF2_CLK_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
210 #define IP3_19_16	FM(A5)			FM(SCK4_A)		FM(MSIOF3_SCK_B)	FM(VI4_DATA9)		FM(PWM3_B)		F_(0, 0)	FM(RIF2_SYNC_B)	F_(0, 0)	FM(QPOLA)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
211 #define IP3_23_20	FM(A6)			FM(RX4_A)		FM(MSIOF3_RXD_B)	FM(VI4_DATA10)		F_(0, 0)		F_(0, 0)	FM(RIF2_D0_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
212 #define IP3_27_24	FM(A7)			FM(TX4_A)		FM(MSIOF3_TXD_B)	FM(VI4_DATA11)		F_(0, 0)		F_(0, 0)	FM(RIF2_D1_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
213 #define IP3_31_28	FM(A8)			FM(SDA6_A)		FM(RX3_B)		FM(HRX4_C)		FM(VI5_HSYNC_N_A)	FM(DU_HSYNC)	FM(VI4_DATA0_B)	F_(0, 0)	FM(QSTH_QHS)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
214 
215 /* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */		/* 8 */		/* 9 - F */
216 #define IP4_3_0		FM(A9)			FM(TX5_A)		FM(IRQ3)		FM(VI4_DATA16)		FM(VI5_VSYNC_N_A)	FM(DU_DG7)	F_(0, 0)	F_(0, 0)	FM(LCDOUT15)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
217 #define IP4_7_4		FM(A10)			FM(IRQ4)		FM(MSIOF2_SYNC_B)	FM(VI4_DATA13)		FM(VI5_FIELD_A)		FM(DU_DG5)	FM(FSCLKST2_N_B) F_(0, 0)	FM(LCDOUT13)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
218 #define IP4_11_8	FM(A11)			FM(SCL6_A)		FM(TX3_B)		FM(HTX4_C)		F_(0, 0)		FM(DU_VSYNC)	FM(VI4_DATA1_B)	F_(0, 0)	FM(QSTVA_QVS)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
219 #define IP4_15_12	FM(A12)			FM(RX5_A)		FM(MSIOF2_SS2_B)	FM(VI4_DATA17)		FM(VI5_DATA3_A)		FM(DU_DG6)	F_(0, 0)	F_(0, 0)	FM(LCDOUT14)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
220 #define IP4_19_16	FM(A13)			FM(SCK5_A)		FM(MSIOF2_SCK_B)	FM(VI4_DATA14)		FM(HRX4_D)		FM(DU_DB2)	F_(0, 0)	F_(0, 0)	FM(LCDOUT2)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
221 #define IP4_23_20	FM(A14)			FM(MSIOF1_SS1)		FM(MSIOF2_RXD_B)	FM(VI4_DATA15)		FM(HTX4_D)		FM(DU_DB3)	F_(0, 0)	F_(0, 0)	FM(LCDOUT3)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
222 #define IP4_27_24	FM(A15)			FM(MSIOF1_SS2)		FM(MSIOF2_TXD_B)	FM(VI4_DATA18)		FM(VI5_DATA4_A)		FM(DU_DB4)	F_(0, 0)	F_(0, 0)	FM(LCDOUT4)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
223 #define IP4_31_28	FM(A16)			FM(MSIOF1_SYNC)		FM(MSIOF2_SS1_B)	FM(VI4_DATA19)		FM(VI5_DATA5_A)		FM(DU_DB5)	F_(0, 0)	F_(0, 0)	FM(LCDOUT5)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
224 #define IP5_3_0		FM(A17)			FM(MSIOF1_RXD)		F_(0, 0)		FM(VI4_DATA20)		FM(VI5_DATA6_A)		FM(DU_DB6)	F_(0, 0)	F_(0, 0)	FM(LCDOUT6)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
225 #define IP5_7_4		FM(A18)			FM(MSIOF1_TXD)		F_(0, 0)		FM(VI4_DATA21)		FM(VI5_DATA7_A)		FM(DU_DB0)	F_(0, 0)	FM(HRX4_E)	FM(LCDOUT0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
226 #define IP5_11_8	FM(A19)			FM(MSIOF1_SCK)		F_(0, 0)		FM(VI4_DATA22)		FM(VI5_DATA2_A)		FM(DU_DB1)	F_(0, 0)	FM(HTX4_E)	FM(LCDOUT1)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
227 #define IP5_15_12	FM(CS0_N)		FM(SCL5)		F_(0, 0)		F_(0, 0)		F_(0, 0)		FM(DU_DR0)	FM(VI4_DATA2_B)	F_(0, 0)	FM(LCDOUT16)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
228 #define IP5_19_16	FM(WE0_N)		FM(SDA5)		F_(0, 0)		F_(0, 0)		F_(0, 0)		FM(DU_DR1)	FM(VI4_DATA3_B)	F_(0, 0)	FM(LCDOUT17)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
229 #define IP5_23_20	FM(D0)			FM(MSIOF3_SCK_A)	F_(0, 0)		F_(0, 0)		F_(0, 0)		FM(DU_DR2)	FM(CTS4_N_C)	F_(0, 0)	FM(LCDOUT18)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
230 #define IP5_27_24	FM(D1)			FM(MSIOF3_SYNC_A)	FM(SCK3_A)		FM(VI4_DATA23)		FM(VI5_CLKENB_A)	FM(DU_DB7)	FM(RTS4_N_TANS_C) F_(0, 0)	FM(LCDOUT7)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
231 #define IP5_31_28	FM(D2)			FM(MSIOF3_RXD_A)	FM(RX5_C)		F_(0, 0)		FM(VI5_DATA14_A)	FM(DU_DR3)	FM(RX4_C)	F_(0, 0)	FM(LCDOUT19)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
232 #define IP6_3_0		FM(D3)			FM(MSIOF3_TXD_A)	FM(TX5_C)		F_(0, 0)		FM(VI5_DATA15_A)	FM(DU_DR4)	FM(TX4_C)	F_(0, 0)	FM(LCDOUT20)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
233 #define IP6_7_4		FM(D4)			FM(CANFD1_TX)		FM(HSCK3_B)		FM(CAN1_TX)		FM(RTS3_N_TANS_A)	FM(MSIOF3_SS2_A) F_(0, 0)	FM(VI5_DATA1_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
234 #define IP6_11_8	FM(D5)			FM(RX3_A)		FM(HRX3_B)		F_(0, 0)		F_(0, 0)		FM(DU_DR5)	FM(VI4_DATA4_B)	F_(0, 0)	FM(LCDOUT21)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
235 #define IP6_15_12	FM(D6)			FM(TX3_A)		FM(HTX3_B)		F_(0, 0)		F_(0, 0)		FM(DU_DR6)	FM(VI4_DATA5_B)	F_(0, 0)	FM(LCDOUT22)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
236 #define IP6_19_16	FM(D7)			FM(CANFD1_RX)		FM(IRQ5)		FM(CAN1_RX)		FM(CTS3_N_A)		F_(0, 0)	F_(0, 0)	FM(VI5_DATA2_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
237 #define IP6_23_20	FM(D8)			FM(MSIOF2_SCK_A)	FM(SCK4_B)		F_(0, 0)		FM(VI5_DATA12_A)	FM(DU_DR7)	FM(RIF3_CLK_B)	FM(HCTS3_N_E)	FM(LCDOUT23)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
238 #define IP6_27_24	FM(D9)			FM(MSIOF2_SYNC_A)	F_(0, 0)		F_(0, 0)		FM(VI5_DATA10_A)	FM(DU_DG0)	FM(RIF3_SYNC_B)	FM(HRX3_E)	FM(LCDOUT8)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
239 #define IP6_31_28	FM(D10)			FM(MSIOF2_RXD_A)	F_(0, 0)		F_(0, 0)		FM(VI5_DATA13_A)	FM(DU_DG1)	FM(RIF3_D0_B)	FM(HTX3_E)	FM(LCDOUT9)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
240 #define IP7_3_0		FM(D11)			FM(MSIOF2_TXD_A)	F_(0, 0)		F_(0, 0)		FM(VI5_DATA11_A)	FM(DU_DG2)	FM(RIF3_D1_B)	FM(HRTS3_N_E)	FM(LCDOUT10)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
241 #define IP7_7_4		FM(D12)			FM(CANFD0_TX)		FM(TX4_B)		FM(CAN0_TX)		FM(VI5_DATA8_A)		F_(0, 0)	F_(0, 0)	FM(VI5_DATA3_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
242 #define IP7_11_8	FM(D13)			FM(CANFD0_RX)		FM(RX4_B)		FM(CAN0_RX)		FM(VI5_DATA9_A)		FM(SCL7_B)	F_(0, 0)	FM(VI5_DATA4_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
243 #define IP7_15_12	FM(D14)			FM(CAN_CLK)		FM(HRX3_A)		FM(MSIOF2_SS2_A)	F_(0, 0)		FM(SDA7_B)	F_(0, 0)	FM(VI5_DATA5_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
244 #define IP7_19_16	FM(D15)			FM(MSIOF2_SS1_A)	FM(HTX3_A)		FM(MSIOF3_SS1_A)	F_(0, 0)		FM(DU_DG3)	F_(0, 0)	F_(0, 0)	FM(LCDOUT11)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
245 #define IP7_23_20	FM(SCL4)		FM(CS1_N_A26)		F_(0, 0)		F_(0, 0)		F_(0, 0)		FM(DU_DOTCLKIN0) FM(VI4_DATA6_B) FM(VI5_DATA6_B) FM(QCLK)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
246 #define IP7_27_24	FM(SDA4)		FM(WE1_N)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(VI4_DATA7_B)	FM(VI5_DATA7_B)	FM(QPOLB)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
247 #define IP7_31_28	FM(SD0_CLK)		FM(NFDATA8)		FM(SCL1_C)		FM(HSCK1_B)		FM(SDA2_E)		FM(FMCLK_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
248 
249 /* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */		/* 8 */		/* 9 - F */
250 #define IP8_3_0		FM(SD0_CMD)		FM(NFDATA9)		F_(0, 0)		FM(HRX1_B)		F_(0, 0)		FM(SPEEDIN_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
251 #define IP8_7_4		FM(SD0_DAT0)		FM(NFDATA10)		F_(0, 0)		FM(HTX1_B)		F_(0, 0)		FM(REMOCON_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
252 #define IP8_11_8	FM(SD0_DAT1)		FM(NFDATA11)		FM(SDA2_C)		FM(HCTS1_N_B)		F_(0, 0)		FM(FMIN_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
253 #define IP8_15_12	FM(SD0_DAT2)		FM(NFDATA12)		FM(SCL2_C)		FM(HRTS1_N_B)		F_(0, 0)		FM(BPFCLK_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
254 #define IP8_19_16	FM(SD0_DAT3)		FM(NFDATA13)		FM(SDA1_C)		FM(SCL2_E)		FM(SPEEDIN_C)		FM(REMOCON_C)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
255 #define IP8_23_20	FM(SD1_CLK)		FM(NFDATA14_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
256 #define IP8_27_24	FM(SD1_CMD)		FM(NFDATA15_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
257 #define IP8_31_28	FM(SD1_DAT0)		FM(NFWP_N_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
258 #define IP9_3_0		FM(SD1_DAT1)		FM(NFCE_N_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
259 #define IP9_7_4		FM(SD1_DAT2)		FM(NFALE_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
260 #define IP9_11_8	FM(SD1_DAT3)		FM(NFRB_N_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
261 #define IP9_15_12	FM(SD3_CLK)		FM(NFWE_N)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
262 #define IP9_19_16	FM(SD3_CMD)		FM(NFRE_N)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
263 #define IP9_23_20	FM(SD3_DAT0)		FM(NFDATA0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
264 #define IP9_27_24	FM(SD3_DAT1)		FM(NFDATA1)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
265 #define IP9_31_28	FM(SD3_DAT2)		FM(NFDATA2)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
266 #define IP10_3_0	FM(SD3_DAT3)		FM(NFDATA3)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
267 #define IP10_7_4	FM(SD3_DAT4)		FM(NFDATA4)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
268 #define IP10_11_8	FM(SD3_DAT5)		FM(NFDATA5)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
269 #define IP10_15_12	FM(SD3_DAT6)		FM(NFDATA6)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
270 #define IP10_19_16	FM(SD3_DAT7)		FM(NFDATA7)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
271 #define IP10_23_20	FM(SD3_DS)		FM(NFCLE)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
272 #define IP10_27_24	FM(SD0_CD)		FM(NFALE_A)		FM(SD3_CD)		FM(RIF0_CLK_B)		FM(SCL2_B)		FM(TCLK1_A)	FM(SSI_SCK2_B)	FM(TS_SCK0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
273 #define IP10_31_28	FM(SD0_WP)		FM(NFRB_N_A)		FM(SD3_WP)		FM(RIF0_D0_B)		FM(SDA2_B)		FM(TCLK2_A)	FM(SSI_WS2_B)	FM(TS_SDAT0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
274 #define IP11_3_0	FM(SD1_CD)		FM(NFCE_N_A)		FM(SSI_SCK1)		FM(RIF0_D1_B)		F_(0, 0)		F_(0, 0)	F_(0, 0)	FM(TS_SDEN0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
275 #define IP11_7_4	FM(SD1_WP)		FM(NFWP_N_A)		FM(SSI_WS1)		FM(RIF0_SYNC_B)		F_(0, 0)		F_(0, 0)	F_(0, 0)	FM(TS_SPSYNC0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
276 #define IP11_11_8	FM(RX0_A)		FM(HRX1_A)		FM(SSI_SCK2_A)		FM(RIF1_SYNC)		F_(0, 0)		F_(0, 0)	F_(0, 0)	FM(TS_SCK1)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
277 #define IP11_15_12	FM(TX0_A)		FM(HTX1_A)		FM(SSI_WS2_A)		FM(RIF1_D0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	FM(TS_SDAT1)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
278 #define IP11_19_16	FM(CTS0_N_A)		FM(NFDATA14_A)		FM(AUDIO_CLKOUT_A)	FM(RIF1_D1)		FM(SCIF_CLK_A)		FM(FMCLK_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
279 #define IP11_23_20	FM(RTS0_N_TANS_A)	FM(NFDATA15_A)		FM(AUDIO_CLKOUT1_A)	FM(RIF1_CLK)		FM(SCL2_A)		FM(FMIN_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
280 #define IP11_27_24	FM(SCK0_A)		FM(HSCK1_A)		FM(USB3HS0_ID)		FM(RTS1_N_TANS)		FM(SDA2_A)		FM(FMCLK_C)	F_(0, 0)	F_(0, 0)	FM(USB0_ID)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
281 #define IP11_31_28	FM(RX1)			FM(HRX2_B)		FM(SSI_SCK9_B)		FM(AUDIO_CLKOUT1_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
282 
283 /* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */		/* 8 */		/* 9 - F */
284 #define IP12_3_0	FM(TX1)			FM(HTX2_B)		FM(SSI_WS9_B)		FM(AUDIO_CLKOUT3_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
285 #define IP12_7_4	FM(SCK2_A)		FM(HSCK0_A)		FM(AUDIO_CLKB_A)	FM(CTS1_N)		FM(RIF0_CLK_A)		FM(REMOCON_A)	FM(SCIF_CLK_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
286 #define IP12_11_8	FM(TX2_A)		FM(HRX0_A)		FM(AUDIO_CLKOUT2_A)	F_(0, 0)		FM(SCL1_A)		F_(0, 0)	FM(FSO_CFE_0_N_A) FM(TS_SDEN1)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
287 #define IP12_15_12	FM(RX2_A)		FM(HTX0_A)		FM(AUDIO_CLKOUT3_A)	F_(0, 0)		FM(SDA1_A)		F_(0, 0)	FM(FSO_CFE_1_N_A) FM(TS_SPSYNC1) F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
288 #define IP12_19_16	FM(MSIOF0_SCK)		F_(0, 0)		FM(SSI_SCK78)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
289 #define IP12_23_20	FM(MSIOF0_RXD)		F_(0, 0)		FM(SSI_WS78)		F_(0, 0)		F_(0, 0)		FM(TX2_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
290 #define IP12_27_24	FM(MSIOF0_TXD)		F_(0, 0)		FM(SSI_SDATA7)		F_(0, 0)		F_(0, 0)		FM(RX2_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
291 #define IP12_31_28	FM(MSIOF0_SYNC)		FM(AUDIO_CLKOUT_B)	FM(SSI_SDATA8)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
292 #define IP13_3_0	FM(MSIOF0_SS1)		FM(HRX2_A)		FM(SSI_SCK4)		FM(HCTS0_N_A)		FM(BPFCLK_C)		FM(SPEEDIN_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
293 #define IP13_7_4	FM(MSIOF0_SS2)		FM(HTX2_A)		FM(SSI_WS4)		FM(HRTS0_N_A)		FM(FMIN_C)		FM(BPFCLK_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
294 #define IP13_11_8	FM(SSI_SDATA9)		F_(0, 0)		FM(AUDIO_CLKC_A)	FM(SCK1)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
295 #define IP13_15_12	FM(MLB_CLK)		FM(RX0_B)		F_(0, 0)		FM(RIF0_D0_A)		FM(SCL1_B)		FM(TCLK1_B)	F_(0, 0)	F_(0, 0)	FM(SIM0_RST_A)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
296 #define IP13_19_16	FM(MLB_SIG)		FM(SCK0_B)		F_(0, 0)		FM(RIF0_D1_A)		FM(SDA1_B)		FM(TCLK2_B)	F_(0, 0)	F_(0, 0)	FM(SIM0_D_A)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
297 #define IP13_23_20	FM(MLB_DAT)		FM(TX0_B)		F_(0, 0)		FM(RIF0_SYNC_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(SIM0_CLK_A)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
298 #define IP13_27_24	FM(SSI_SCK01239)	F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
299 #define IP13_31_28	FM(SSI_WS01239)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
300 #define IP14_3_0	FM(SSI_SDATA0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
301 #define IP14_7_4	FM(SSI_SDATA1)		FM(AUDIO_CLKC_B)	F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM0_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
302 #define IP14_11_8	FM(SSI_SDATA2)		FM(AUDIO_CLKOUT2_B)	FM(SSI_SCK9_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM1_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
303 #define IP14_15_12	FM(SSI_SCK349)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM2_C)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
304 #define IP14_19_16	FM(SSI_WS349)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM3_C)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
305 #define IP14_23_20	FM(SSI_SDATA3)		FM(AUDIO_CLKOUT1_C)	FM(AUDIO_CLKB_B)	F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM4_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
306 #define IP14_27_24	FM(SSI_SDATA4)		F_(0, 0)		FM(SSI_WS9_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM5_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
307 #define IP14_31_28	FM(SSI_SCK5)		FM(HRX0_B)		F_(0, 0)		FM(USB0_PWEN_B)		FM(SCL2_D)		F_(0, 0)	FM(PWM6_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
308 #define IP15_3_0	FM(SSI_WS5)		FM(HTX0_B)		F_(0, 0)		FM(USB0_OVC_B)		FM(SDA2_D)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
309 #define IP15_7_4	FM(SSI_SDATA5)		FM(HSCK0_B)		FM(AUDIO_CLKB_C)	FM(TPU0TO0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
310 #define IP15_11_8	FM(SSI_SCK6)		FM(HSCK2_A)		FM(AUDIO_CLKC_C)	FM(TPU0TO1)		F_(0, 0)		F_(0, 0)	FM(FSO_CFE_0_N_B) F_(0, 0)	FM(SIM0_RST_B)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
311 #define IP15_15_12	FM(SSI_WS6)		FM(HCTS2_N_A)		FM(AUDIO_CLKOUT2_C)	FM(TPU0TO2)		FM(SDA1_D)		F_(0, 0)	FM(FSO_CFE_1_N_B) F_(0, 0)	FM(SIM0_D_B)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
312 #define IP15_19_16	FM(SSI_SDATA6)		FM(HRTS2_N_A)		FM(AUDIO_CLKOUT3_C)	FM(TPU0TO3)		FM(SCL1_D)		F_(0, 0)	FM(FSO_TOE_N_B)	F_(0, 0)	FM(SIM0_CLK_B)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
313 #define IP15_23_20	FM(AUDIO_CLKA)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
314 #define IP15_27_24	FM(USB30_PWEN)		FM(USB0_PWEN_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
315 #define IP15_31_28	FM(USB30_OVC)		FM(USB0_OVC_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(FSO_TOE_N_A)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
316 
317 #define PINMUX_GPSR	\
318 \
319 													 \
320 													 \
321 													 \
322 													 \
323 													 \
324 													 \
325 				GPSR2_25								 \
326 				GPSR2_24								 \
327 				GPSR2_23								 \
328 		GPSR1_22	GPSR2_22								 \
329 		GPSR1_21	GPSR2_21								 \
330 		GPSR1_20	GPSR2_20								 \
331 		GPSR1_19	GPSR2_19					GPSR5_19		 \
332 		GPSR1_18	GPSR2_18					GPSR5_18		 \
333 GPSR0_17	GPSR1_17	GPSR2_17					GPSR5_17	GPSR6_17 \
334 GPSR0_16	GPSR1_16	GPSR2_16					GPSR5_16	GPSR6_16 \
335 GPSR0_15	GPSR1_15	GPSR2_15	GPSR3_15			GPSR5_15	GPSR6_15 \
336 GPSR0_14	GPSR1_14	GPSR2_14	GPSR3_14			GPSR5_14	GPSR6_14 \
337 GPSR0_13	GPSR1_13	GPSR2_13	GPSR3_13			GPSR5_13	GPSR6_13 \
338 GPSR0_12	GPSR1_12	GPSR2_12	GPSR3_12			GPSR5_12	GPSR6_12 \
339 GPSR0_11	GPSR1_11	GPSR2_11	GPSR3_11			GPSR5_11	GPSR6_11 \
340 GPSR0_10	GPSR1_10	GPSR2_10	GPSR3_10	GPSR4_10	GPSR5_10	GPSR6_10 \
341 GPSR0_9		GPSR1_9		GPSR2_9		GPSR3_9		GPSR4_9		GPSR5_9		GPSR6_9 \
342 GPSR0_8		GPSR1_8		GPSR2_8		GPSR3_8		GPSR4_8		GPSR5_8		GPSR6_8 \
343 GPSR0_7		GPSR1_7		GPSR2_7		GPSR3_7		GPSR4_7		GPSR5_7		GPSR6_7 \
344 GPSR0_6		GPSR1_6		GPSR2_6		GPSR3_6		GPSR4_6		GPSR5_6		GPSR6_6 \
345 GPSR0_5		GPSR1_5		GPSR2_5		GPSR3_5		GPSR4_5		GPSR5_5		GPSR6_5 \
346 GPSR0_4		GPSR1_4		GPSR2_4		GPSR3_4		GPSR4_4		GPSR5_4		GPSR6_4 \
347 GPSR0_3		GPSR1_3		GPSR2_3		GPSR3_3		GPSR4_3		GPSR5_3		GPSR6_3 \
348 GPSR0_2		GPSR1_2		GPSR2_2		GPSR3_2		GPSR4_2		GPSR5_2		GPSR6_2 \
349 GPSR0_1		GPSR1_1		GPSR2_1		GPSR3_1		GPSR4_1		GPSR5_1		GPSR6_1 \
350 GPSR0_0		GPSR1_0		GPSR2_0		GPSR3_0		GPSR4_0		GPSR5_0		GPSR6_0
351 
352 #define PINMUX_IPSR				\
353 \
354 FM(IP0_3_0)	IP0_3_0		FM(IP1_3_0)	IP1_3_0		FM(IP2_3_0)	IP2_3_0		FM(IP3_3_0)	IP3_3_0 \
355 FM(IP0_7_4)	IP0_7_4		FM(IP1_7_4)	IP1_7_4		FM(IP2_7_4)	IP2_7_4		FM(IP3_7_4)	IP3_7_4 \
356 FM(IP0_11_8)	IP0_11_8	FM(IP1_11_8)	IP1_11_8	FM(IP2_11_8)	IP2_11_8	FM(IP3_11_8)	IP3_11_8 \
357 FM(IP0_15_12)	IP0_15_12	FM(IP1_15_12)	IP1_15_12	FM(IP2_15_12)	IP2_15_12	FM(IP3_15_12)	IP3_15_12 \
358 FM(IP0_19_16)	IP0_19_16	FM(IP1_19_16)	IP1_19_16	FM(IP2_19_16)	IP2_19_16	FM(IP3_19_16)	IP3_19_16 \
359 FM(IP0_23_20)	IP0_23_20	FM(IP1_23_20)	IP1_23_20	FM(IP2_23_20)	IP2_23_20	FM(IP3_23_20)	IP3_23_20 \
360 FM(IP0_27_24)	IP0_27_24	FM(IP1_27_24)	IP1_27_24	FM(IP2_27_24)	IP2_27_24	FM(IP3_27_24)	IP3_27_24 \
361 FM(IP0_31_28)	IP0_31_28	FM(IP1_31_28)	IP1_31_28	FM(IP2_31_28)	IP2_31_28	FM(IP3_31_28)	IP3_31_28 \
362 \
363 FM(IP4_3_0)	IP4_3_0		FM(IP5_3_0)	IP5_3_0		FM(IP6_3_0)	IP6_3_0		FM(IP7_3_0)	IP7_3_0 \
364 FM(IP4_7_4)	IP4_7_4		FM(IP5_7_4)	IP5_7_4		FM(IP6_7_4)	IP6_7_4		FM(IP7_7_4)	IP7_7_4 \
365 FM(IP4_11_8)	IP4_11_8	FM(IP5_11_8)	IP5_11_8	FM(IP6_11_8)	IP6_11_8	FM(IP7_11_8)	IP7_11_8 \
366 FM(IP4_15_12)	IP4_15_12	FM(IP5_15_12)	IP5_15_12	FM(IP6_15_12)	IP6_15_12	FM(IP7_15_12)	IP7_15_12 \
367 FM(IP4_19_16)	IP4_19_16	FM(IP5_19_16)	IP5_19_16	FM(IP6_19_16)	IP6_19_16	FM(IP7_19_16)	IP7_19_16 \
368 FM(IP4_23_20)	IP4_23_20	FM(IP5_23_20)	IP5_23_20	FM(IP6_23_20)	IP6_23_20	FM(IP7_23_20)	IP7_23_20 \
369 FM(IP4_27_24)	IP4_27_24	FM(IP5_27_24)	IP5_27_24	FM(IP6_27_24)	IP6_27_24	FM(IP7_27_24)	IP7_27_24 \
370 FM(IP4_31_28)	IP4_31_28	FM(IP5_31_28)	IP5_31_28	FM(IP6_31_28)	IP6_31_28	FM(IP7_31_28)	IP7_31_28 \
371 \
372 FM(IP8_3_0)	IP8_3_0		FM(IP9_3_0)	IP9_3_0		FM(IP10_3_0)	IP10_3_0	FM(IP11_3_0)	IP11_3_0 \
373 FM(IP8_7_4)	IP8_7_4		FM(IP9_7_4)	IP9_7_4		FM(IP10_7_4)	IP10_7_4	FM(IP11_7_4)	IP11_7_4 \
374 FM(IP8_11_8)	IP8_11_8	FM(IP9_11_8)	IP9_11_8	FM(IP10_11_8)	IP10_11_8	FM(IP11_11_8)	IP11_11_8 \
375 FM(IP8_15_12)	IP8_15_12	FM(IP9_15_12)	IP9_15_12	FM(IP10_15_12)	IP10_15_12	FM(IP11_15_12)	IP11_15_12 \
376 FM(IP8_19_16)	IP8_19_16	FM(IP9_19_16)	IP9_19_16	FM(IP10_19_16)	IP10_19_16	FM(IP11_19_16)	IP11_19_16 \
377 FM(IP8_23_20)	IP8_23_20	FM(IP9_23_20)	IP9_23_20	FM(IP10_23_20)	IP10_23_20	FM(IP11_23_20)	IP11_23_20 \
378 FM(IP8_27_24)	IP8_27_24	FM(IP9_27_24)	IP9_27_24	FM(IP10_27_24)	IP10_27_24	FM(IP11_27_24)	IP11_27_24 \
379 FM(IP8_31_28)	IP8_31_28	FM(IP9_31_28)	IP9_31_28	FM(IP10_31_28)	IP10_31_28	FM(IP11_31_28)	IP11_31_28 \
380 \
381 FM(IP12_3_0)	IP12_3_0	FM(IP13_3_0)	IP13_3_0	FM(IP14_3_0)	IP14_3_0	FM(IP15_3_0)	IP15_3_0 \
382 FM(IP12_7_4)	IP12_7_4	FM(IP13_7_4)	IP13_7_4	FM(IP14_7_4)	IP14_7_4	FM(IP15_7_4)	IP15_7_4 \
383 FM(IP12_11_8)	IP12_11_8	FM(IP13_11_8)	IP13_11_8	FM(IP14_11_8)	IP14_11_8	FM(IP15_11_8)	IP15_11_8 \
384 FM(IP12_15_12)	IP12_15_12	FM(IP13_15_12)	IP13_15_12	FM(IP14_15_12)	IP14_15_12	FM(IP15_15_12)	IP15_15_12 \
385 FM(IP12_19_16)	IP12_19_16	FM(IP13_19_16)	IP13_19_16	FM(IP14_19_16)	IP14_19_16	FM(IP15_19_16)	IP15_19_16 \
386 FM(IP12_23_20)	IP12_23_20	FM(IP13_23_20)	IP13_23_20	FM(IP14_23_20)	IP14_23_20	FM(IP15_23_20)	IP15_23_20 \
387 FM(IP12_27_24)	IP12_27_24	FM(IP13_27_24)	IP13_27_24	FM(IP14_27_24)	IP14_27_24	FM(IP15_27_24)	IP15_27_24 \
388 FM(IP12_31_28)	IP12_31_28	FM(IP13_31_28)	IP13_31_28	FM(IP14_31_28)	IP14_31_28	FM(IP15_31_28)	IP15_31_28
389 
390 /* MOD_SEL0 */			/* 0 */				/* 1 */				/* 2 */				/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */
391 #define MOD_SEL0_30_29		FM(SEL_ADGB_0)			FM(SEL_ADGB_1)			FM(SEL_ADGB_2)			F_(0, 0)
392 #define MOD_SEL0_28		FM(SEL_DRIF0_0)			FM(SEL_DRIF0_1)
393 #define MOD_SEL0_27_26		FM(SEL_FM_0)			FM(SEL_FM_1)			FM(SEL_FM_2)			F_(0, 0)
394 #define MOD_SEL0_25		FM(SEL_FSO_0)			FM(SEL_FSO_1)
395 #define MOD_SEL0_24		FM(SEL_HSCIF0_0)		FM(SEL_HSCIF0_1)
396 #define MOD_SEL0_23		FM(SEL_HSCIF1_0)		FM(SEL_HSCIF1_1)
397 #define MOD_SEL0_22		FM(SEL_HSCIF2_0)		FM(SEL_HSCIF2_1)
398 #define MOD_SEL0_21_20		FM(SEL_I2C1_0)			FM(SEL_I2C1_1)			FM(SEL_I2C1_2)			FM(SEL_I2C1_3)		FM(SEL_I2C1_4)		F_(0, 0)	F_(0, 0)	F_(0, 0)
399 #define MOD_SEL0_19_18_17	FM(SEL_I2C2_0)			FM(SEL_I2C2_1)			FM(SEL_I2C2_2)			FM(SEL_I2C2_3)		FM(SEL_I2C2_4)		F_(0, 0)	F_(0, 0)	F_(0, 0)
400 #define MOD_SEL0_16		FM(SEL_NDFC_0)			FM(SEL_NDFC_1)
401 #define MOD_SEL0_15		FM(SEL_PWM0_0)			FM(SEL_PWM0_1)
402 #define MOD_SEL0_14		FM(SEL_PWM1_0)			FM(SEL_PWM1_1)
403 #define MOD_SEL0_13_12		FM(SEL_PWM2_0)			FM(SEL_PWM2_1)			FM(SEL_PWM2_2)			F_(0, 0)
404 #define MOD_SEL0_11_10		FM(SEL_PWM3_0)			FM(SEL_PWM3_1)			FM(SEL_PWM3_2)			F_(0, 0)
405 #define MOD_SEL0_9		FM(SEL_PWM4_0)			FM(SEL_PWM4_1)
406 #define MOD_SEL0_8		FM(SEL_PWM5_0)			FM(SEL_PWM5_1)
407 #define MOD_SEL0_7		FM(SEL_PWM6_0)			FM(SEL_PWM6_1)
408 #define MOD_SEL0_6_5		FM(SEL_REMOCON_0)		FM(SEL_REMOCON_1)		FM(SEL_REMOCON_2)		F_(0, 0)
409 #define MOD_SEL0_4		FM(SEL_SCIF_0)			FM(SEL_SCIF_1)
410 #define MOD_SEL0_3		FM(SEL_SCIF0_0)			FM(SEL_SCIF0_1)
411 #define MOD_SEL0_2		FM(SEL_SCIF2_0)			FM(SEL_SCIF2_1)
412 #define MOD_SEL0_1_0		FM(SEL_SPEED_PULSE_IF_0)	FM(SEL_SPEED_PULSE_IF_1)	FM(SEL_SPEED_PULSE_IF_2)	F_(0, 0)
413 
414 /* MOD_SEL1 */			/* 0 */				/* 1 */				/* 2 */				/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */
415 #define MOD_SEL1_31		FM(SEL_SIMCARD_0)		FM(SEL_SIMCARD_1)
416 #define MOD_SEL1_30		FM(SEL_SSI2_0)			FM(SEL_SSI2_1)
417 #define MOD_SEL1_29		FM(SEL_TIMER_TMU_0)		FM(SEL_TIMER_TMU_1)
418 #define MOD_SEL1_28		FM(SEL_USB_20_CH0_0)		FM(SEL_USB_20_CH0_1)
419 #define MOD_SEL1_26		FM(SEL_DRIF2_0)			FM(SEL_DRIF2_1)
420 #define MOD_SEL1_25		FM(SEL_DRIF3_0)			FM(SEL_DRIF3_1)
421 #define MOD_SEL1_24_23_22	FM(SEL_HSCIF3_0)		FM(SEL_HSCIF3_1)		FM(SEL_HSCIF3_2)		FM(SEL_HSCIF3_3)	FM(SEL_HSCIF3_4)	F_(0, 0)	F_(0, 0)	F_(0, 0)
422 #define MOD_SEL1_21_20_19	FM(SEL_HSCIF4_0)		FM(SEL_HSCIF4_1)		FM(SEL_HSCIF4_2)		FM(SEL_HSCIF4_3)	FM(SEL_HSCIF4_4)	F_(0, 0)	F_(0, 0)	F_(0, 0)
423 #define MOD_SEL1_18		FM(SEL_I2C6_0)			FM(SEL_I2C6_1)
424 #define MOD_SEL1_17		FM(SEL_I2C7_0)			FM(SEL_I2C7_1)
425 #define MOD_SEL1_16		FM(SEL_MSIOF2_0)		FM(SEL_MSIOF2_1)
426 #define MOD_SEL1_15		FM(SEL_MSIOF3_0)		FM(SEL_MSIOF3_1)
427 #define MOD_SEL1_14_13		FM(SEL_SCIF3_0)			FM(SEL_SCIF3_1)			FM(SEL_SCIF3_2)			F_(0, 0)
428 #define MOD_SEL1_12_11		FM(SEL_SCIF4_0)			FM(SEL_SCIF4_1)			FM(SEL_SCIF4_2)			F_(0, 0)
429 #define MOD_SEL1_10_9		FM(SEL_SCIF5_0)			FM(SEL_SCIF5_1)			FM(SEL_SCIF5_2)			F_(0, 0)
430 #define MOD_SEL1_8		FM(SEL_VIN4_0)			FM(SEL_VIN4_1)
431 #define MOD_SEL1_7		FM(SEL_VIN5_0)			FM(SEL_VIN5_1)
432 #define MOD_SEL1_6_5		FM(SEL_ADGC_0)			FM(SEL_ADGC_1)			FM(SEL_ADGC_2)			F_(0, 0)
433 #define MOD_SEL1_4		FM(SEL_SSI9_0)			FM(SEL_SSI9_1)
434 
435 #define PINMUX_MOD_SELS	\
436 \
437 			MOD_SEL1_31 \
438 MOD_SEL0_30_29		MOD_SEL1_30 \
439 			MOD_SEL1_29 \
440 MOD_SEL0_28		MOD_SEL1_28 \
441 MOD_SEL0_27_26 \
442 			MOD_SEL1_26 \
443 MOD_SEL0_25		MOD_SEL1_25 \
444 MOD_SEL0_24		MOD_SEL1_24_23_22 \
445 MOD_SEL0_23 \
446 MOD_SEL0_22 \
447 MOD_SEL0_21_20		MOD_SEL1_21_20_19 \
448 MOD_SEL0_19_18_17	MOD_SEL1_18 \
449 			MOD_SEL1_17 \
450 MOD_SEL0_16		MOD_SEL1_16 \
451 MOD_SEL0_15		MOD_SEL1_15 \
452 MOD_SEL0_14		MOD_SEL1_14_13 \
453 MOD_SEL0_13_12 \
454 			MOD_SEL1_12_11 \
455 MOD_SEL0_11_10 \
456 			MOD_SEL1_10_9 \
457 MOD_SEL0_9 \
458 MOD_SEL0_8		MOD_SEL1_8 \
459 MOD_SEL0_7		MOD_SEL1_7 \
460 MOD_SEL0_6_5		MOD_SEL1_6_5 \
461 MOD_SEL0_4		MOD_SEL1_4 \
462 MOD_SEL0_3 \
463 MOD_SEL0_2 \
464 MOD_SEL0_1_0
465 
466 /*
467  * These pins are not able to be muxed but have other properties
468  * that can be set, such as pull-up/pull-down enable.
469  */
470 #define PINMUX_STATIC \
471 	FM(AVB_TX_CTL) FM(AVB_TXC) FM(AVB_TD0) FM(AVB_TD1) FM(AVB_TD2) \
472 	FM(AVB_TD3) \
473 	FM(PRESETOUT_N) FM(FSCLKST_N) FM(TRST_N) FM(TCK) FM(TMS) FM(TDI) \
474 	FM(ASEBRK) \
475 	FM(MLB_REF)
476 
477 enum {
478 	PINMUX_RESERVED = 0,
479 
480 	PINMUX_DATA_BEGIN,
481 	GP_ALL(DATA),
482 	PINMUX_DATA_END,
483 
484 #define F_(x, y)
485 #define FM(x)	FN_##x,
486 	PINMUX_FUNCTION_BEGIN,
487 	GP_ALL(FN),
488 	PINMUX_GPSR
489 	PINMUX_IPSR
490 	PINMUX_MOD_SELS
491 	PINMUX_FUNCTION_END,
492 #undef F_
493 #undef FM
494 
495 #define F_(x, y)
496 #define FM(x)	x##_MARK,
497 	PINMUX_MARK_BEGIN,
498 	PINMUX_GPSR
499 	PINMUX_IPSR
500 	PINMUX_MOD_SELS
501 	PINMUX_STATIC
502 	PINMUX_MARK_END,
503 #undef F_
504 #undef FM
505 };
506 
507 static const u16 pinmux_data[] = {
508 	PINMUX_DATA_GP_ALL(),
509 
510 	PINMUX_SINGLE(CLKOUT),
511 	PINMUX_SINGLE(AVB_PHY_INT),
512 	PINMUX_SINGLE(AVB_RD3),
513 	PINMUX_SINGLE(AVB_RXC),
514 	PINMUX_SINGLE(AVB_RX_CTL),
515 	PINMUX_SINGLE(QSPI0_SSL),
516 
517 	/* IPSR0 */
518 	PINMUX_IPSR_GPSR(IP0_3_0,		QSPI0_SPCLK),
519 	PINMUX_IPSR_MSEL(IP0_3_0,		HSCK4_A,	SEL_HSCIF4_0),
520 
521 	PINMUX_IPSR_GPSR(IP0_7_4,		QSPI0_MOSI_IO0),
522 	PINMUX_IPSR_MSEL(IP0_7_4,		HCTS4_N_A,	SEL_HSCIF4_0),
523 
524 	PINMUX_IPSR_GPSR(IP0_11_8,		QSPI0_MISO_IO1),
525 	PINMUX_IPSR_MSEL(IP0_11_8,		HRTS4_N_A,	SEL_HSCIF4_0),
526 
527 	PINMUX_IPSR_GPSR(IP0_15_12,		QSPI0_IO2),
528 	PINMUX_IPSR_GPSR(IP0_15_12,		HTX4_A),
529 
530 	PINMUX_IPSR_GPSR(IP0_19_16,		QSPI0_IO3),
531 	PINMUX_IPSR_MSEL(IP0_19_16,		HRX4_A,		SEL_HSCIF4_0),
532 
533 	PINMUX_IPSR_GPSR(IP0_23_20,		QSPI1_SPCLK),
534 	PINMUX_IPSR_MSEL(IP0_23_20,		RIF2_CLK_A,	SEL_DRIF2_0),
535 	PINMUX_IPSR_MSEL(IP0_23_20,		HSCK4_B,	SEL_HSCIF4_1),
536 	PINMUX_IPSR_MSEL(IP0_23_20,		VI4_DATA0_A,	SEL_VIN4_0),
537 
538 	PINMUX_IPSR_GPSR(IP0_27_24,		QSPI1_MOSI_IO0),
539 	PINMUX_IPSR_MSEL(IP0_27_24,		RIF2_SYNC_A,	SEL_DRIF2_0),
540 	PINMUX_IPSR_GPSR(IP0_27_24,		HTX4_B),
541 	PINMUX_IPSR_MSEL(IP0_27_24,		VI4_DATA1_A,	SEL_VIN4_0),
542 
543 	PINMUX_IPSR_GPSR(IP0_31_28,		QSPI1_MISO_IO1),
544 	PINMUX_IPSR_MSEL(IP0_31_28,		RIF2_D0_A,	SEL_DRIF2_0),
545 	PINMUX_IPSR_MSEL(IP0_31_28,		HRX4_B,		SEL_HSCIF4_1),
546 	PINMUX_IPSR_MSEL(IP0_31_28,		VI4_DATA2_A,	SEL_VIN4_0),
547 
548 	/* IPSR1 */
549 	PINMUX_IPSR_GPSR(IP1_3_0,		QSPI1_IO2),
550 	PINMUX_IPSR_MSEL(IP1_3_0,		RIF2_D1_A,	SEL_DRIF2_0),
551 	PINMUX_IPSR_GPSR(IP1_3_0,		HTX3_C),
552 	PINMUX_IPSR_MSEL(IP1_3_0,		VI4_DATA3_A,	SEL_VIN4_0),
553 
554 	PINMUX_IPSR_GPSR(IP1_7_4,		QSPI1_IO3),
555 	PINMUX_IPSR_MSEL(IP1_7_4,		RIF3_CLK_A,	SEL_DRIF3_0),
556 	PINMUX_IPSR_MSEL(IP1_7_4,		HRX3_C,		SEL_HSCIF3_2),
557 	PINMUX_IPSR_MSEL(IP1_7_4,		VI4_DATA4_A,	SEL_VIN4_0),
558 
559 	PINMUX_IPSR_GPSR(IP1_11_8,		QSPI1_SSL),
560 	PINMUX_IPSR_MSEL(IP1_11_8,		RIF3_SYNC_A,	SEL_DRIF3_0),
561 	PINMUX_IPSR_MSEL(IP1_11_8,		HSCK3_C,	SEL_HSCIF3_2),
562 	PINMUX_IPSR_MSEL(IP1_11_8,		VI4_DATA5_A,	SEL_VIN4_0),
563 
564 	PINMUX_IPSR_GPSR(IP1_15_12,		RPC_INT_N),
565 	PINMUX_IPSR_MSEL(IP1_15_12,		RIF3_D0_A,	SEL_DRIF3_0),
566 	PINMUX_IPSR_MSEL(IP1_15_12,		HCTS3_N_C,	SEL_HSCIF3_2),
567 	PINMUX_IPSR_MSEL(IP1_15_12,		VI4_DATA6_A,	SEL_VIN4_0),
568 
569 	PINMUX_IPSR_GPSR(IP1_19_16,		RPC_RESET_N),
570 	PINMUX_IPSR_MSEL(IP1_19_16,		RIF3_D1_A,	SEL_DRIF3_0),
571 	PINMUX_IPSR_MSEL(IP1_19_16,		HRTS3_N_C,	SEL_HSCIF3_2),
572 	PINMUX_IPSR_MSEL(IP1_19_16,		VI4_DATA7_A,	SEL_VIN4_0),
573 
574 	PINMUX_IPSR_GPSR(IP1_23_20,		AVB_RD0),
575 
576 	PINMUX_IPSR_GPSR(IP1_27_24,		AVB_RD1),
577 
578 	PINMUX_IPSR_GPSR(IP1_31_28,		AVB_RD2),
579 
580 	/* IPSR2 */
581 	PINMUX_IPSR_GPSR(IP2_3_0,		AVB_TXCREFCLK),
582 
583 	PINMUX_IPSR_GPSR(IP2_7_4,		AVB_MDIO),
584 
585 	PINMUX_IPSR_GPSR(IP2_11_8,		AVB_MDC),
586 
587 	PINMUX_IPSR_GPSR(IP2_15_12,		BS_N),
588 	PINMUX_IPSR_MSEL(IP2_15_12,		PWM0_A,		SEL_PWM0_0),
589 	PINMUX_IPSR_GPSR(IP2_15_12,		AVB_MAGIC),
590 	PINMUX_IPSR_GPSR(IP2_15_12,		VI4_CLK),
591 	PINMUX_IPSR_GPSR(IP2_15_12,		TX3_C),
592 	PINMUX_IPSR_MSEL(IP2_15_12,		VI5_CLK_B,	SEL_VIN5_1),
593 
594 	PINMUX_IPSR_GPSR(IP2_19_16,		RD_N),
595 	PINMUX_IPSR_MSEL(IP2_19_16,		PWM1_A,		SEL_PWM1_0),
596 	PINMUX_IPSR_GPSR(IP2_19_16,		AVB_LINK),
597 	PINMUX_IPSR_GPSR(IP2_19_16,		VI4_FIELD),
598 	PINMUX_IPSR_MSEL(IP2_19_16,		RX3_C,		SEL_SCIF3_2),
599 	PINMUX_IPSR_GPSR(IP2_19_16,		FSCLKST2_N_A),
600 	PINMUX_IPSR_MSEL(IP2_19_16,		VI5_DATA0_B,	SEL_VIN5_1),
601 
602 	PINMUX_IPSR_GPSR(IP2_23_20,		RD_WR_N),
603 	PINMUX_IPSR_MSEL(IP2_23_20,		SCL7_A,		SEL_I2C7_0),
604 	PINMUX_IPSR_GPSR(IP2_23_20,		AVB_AVTP_MATCH_A),
605 	PINMUX_IPSR_GPSR(IP2_23_20,		VI4_VSYNC_N),
606 	PINMUX_IPSR_GPSR(IP2_23_20,		TX5_B),
607 	PINMUX_IPSR_MSEL(IP2_23_20,		SCK3_C,		SEL_SCIF3_2),
608 	PINMUX_IPSR_MSEL(IP2_23_20,		PWM5_A,		SEL_PWM5_0),
609 
610 	PINMUX_IPSR_GPSR(IP2_27_24,		EX_WAIT0),
611 	PINMUX_IPSR_MSEL(IP2_27_24,		SDA7_A,		SEL_I2C7_0),
612 	PINMUX_IPSR_GPSR(IP2_27_24,		AVB_AVTP_CAPTURE_A),
613 	PINMUX_IPSR_GPSR(IP2_27_24,		VI4_HSYNC_N),
614 	PINMUX_IPSR_MSEL(IP2_27_24,		RX5_B,		SEL_SCIF5_1),
615 	PINMUX_IPSR_MSEL(IP2_27_24,		PWM6_A,		SEL_PWM6_0),
616 
617 	PINMUX_IPSR_GPSR(IP2_31_28,		A0),
618 	PINMUX_IPSR_GPSR(IP2_31_28,		IRQ0),
619 	PINMUX_IPSR_MSEL(IP2_31_28,		PWM2_A,		SEL_PWM2_0),
620 	PINMUX_IPSR_MSEL(IP2_31_28,		MSIOF3_SS1_B,	SEL_MSIOF3_1),
621 	PINMUX_IPSR_MSEL(IP2_31_28,		VI5_CLK_A,	SEL_VIN5_0),
622 	PINMUX_IPSR_GPSR(IP2_31_28,		DU_CDE),
623 	PINMUX_IPSR_MSEL(IP2_31_28,		HRX3_D,		SEL_HSCIF3_3),
624 	PINMUX_IPSR_GPSR(IP2_31_28,		IERX),
625 	PINMUX_IPSR_GPSR(IP2_31_28,		QSTB_QHE),
626 
627 	/* IPSR3 */
628 	PINMUX_IPSR_GPSR(IP3_3_0,		A1),
629 	PINMUX_IPSR_GPSR(IP3_3_0,		IRQ1),
630 	PINMUX_IPSR_MSEL(IP3_3_0,		PWM3_A,		SEL_PWM3_0),
631 	PINMUX_IPSR_GPSR(IP3_3_0,		DU_DOTCLKIN1),
632 	PINMUX_IPSR_MSEL(IP3_3_0,		VI5_DATA0_A,	SEL_VIN5_0),
633 	PINMUX_IPSR_GPSR(IP3_3_0,		DU_DISP_CDE),
634 	PINMUX_IPSR_MSEL(IP3_3_0,		SDA6_B,		SEL_I2C6_1),
635 	PINMUX_IPSR_GPSR(IP3_3_0,		IETX),
636 	PINMUX_IPSR_GPSR(IP3_3_0,		QCPV_QDE),
637 
638 	PINMUX_IPSR_GPSR(IP3_7_4,		A2),
639 	PINMUX_IPSR_GPSR(IP3_7_4,		IRQ2),
640 	PINMUX_IPSR_GPSR(IP3_7_4,		AVB_AVTP_PPS),
641 	PINMUX_IPSR_GPSR(IP3_7_4,		VI4_CLKENB),
642 	PINMUX_IPSR_MSEL(IP3_7_4,		VI5_DATA1_A,	SEL_VIN5_0),
643 	PINMUX_IPSR_GPSR(IP3_7_4,		DU_DISP),
644 	PINMUX_IPSR_MSEL(IP3_7_4,		SCL6_B,		SEL_I2C6_1),
645 	PINMUX_IPSR_GPSR(IP3_7_4,		QSTVB_QVE),
646 
647 	PINMUX_IPSR_GPSR(IP3_11_8,		A3),
648 	PINMUX_IPSR_MSEL(IP3_11_8,		CTS4_N_A,	SEL_SCIF4_0),
649 	PINMUX_IPSR_MSEL(IP3_11_8,		PWM4_A,		SEL_PWM4_0),
650 	PINMUX_IPSR_GPSR(IP3_11_8,		VI4_DATA12),
651 	PINMUX_IPSR_GPSR(IP3_11_8,		DU_DOTCLKOUT0),
652 	PINMUX_IPSR_GPSR(IP3_11_8,		HTX3_D),
653 	PINMUX_IPSR_GPSR(IP3_11_8,		IECLK),
654 	PINMUX_IPSR_GPSR(IP3_11_8,		LCDOUT12),
655 
656 	PINMUX_IPSR_GPSR(IP3_15_12,		A4),
657 	PINMUX_IPSR_MSEL(IP3_15_12,		RTS4_N_TANS_A,	SEL_SCIF4_0),
658 	PINMUX_IPSR_MSEL(IP3_15_12,		MSIOF3_SYNC_B,	SEL_MSIOF3_1),
659 	PINMUX_IPSR_GPSR(IP3_15_12,		VI4_DATA8),
660 	PINMUX_IPSR_MSEL(IP3_15_12,		PWM2_B,		SEL_PWM2_1),
661 	PINMUX_IPSR_GPSR(IP3_15_12,		DU_DG4),
662 	PINMUX_IPSR_MSEL(IP3_15_12,		RIF2_CLK_B,	SEL_DRIF2_1),
663 
664 	PINMUX_IPSR_GPSR(IP3_19_16,		A5),
665 	PINMUX_IPSR_MSEL(IP3_19_16,		SCK4_A,		SEL_SCIF4_0),
666 	PINMUX_IPSR_MSEL(IP3_19_16,		MSIOF3_SCK_B,	SEL_MSIOF3_1),
667 	PINMUX_IPSR_GPSR(IP3_19_16,		VI4_DATA9),
668 	PINMUX_IPSR_MSEL(IP3_19_16,		PWM3_B,		SEL_PWM3_1),
669 	PINMUX_IPSR_MSEL(IP3_19_16,		RIF2_SYNC_B,	SEL_DRIF2_1),
670 	PINMUX_IPSR_GPSR(IP3_19_16,		QPOLA),
671 
672 	PINMUX_IPSR_GPSR(IP3_23_20,		A6),
673 	PINMUX_IPSR_MSEL(IP3_23_20,		RX4_A,		SEL_SCIF4_0),
674 	PINMUX_IPSR_MSEL(IP3_23_20,		MSIOF3_RXD_B,	SEL_MSIOF3_1),
675 	PINMUX_IPSR_GPSR(IP3_23_20,		VI4_DATA10),
676 	PINMUX_IPSR_MSEL(IP3_23_20,		RIF2_D0_B,	SEL_DRIF2_1),
677 
678 	PINMUX_IPSR_GPSR(IP3_27_24,		A7),
679 	PINMUX_IPSR_GPSR(IP3_27_24,		TX4_A),
680 	PINMUX_IPSR_GPSR(IP3_27_24,		MSIOF3_TXD_B),
681 	PINMUX_IPSR_GPSR(IP3_27_24,		VI4_DATA11),
682 	PINMUX_IPSR_MSEL(IP3_27_24,		RIF2_D1_B,	SEL_DRIF2_1),
683 
684 	PINMUX_IPSR_GPSR(IP3_31_28,		A8),
685 	PINMUX_IPSR_MSEL(IP3_31_28,		SDA6_A,		SEL_I2C6_0),
686 	PINMUX_IPSR_MSEL(IP3_31_28,		RX3_B,		SEL_SCIF3_1),
687 	PINMUX_IPSR_MSEL(IP3_31_28,		HRX4_C,		SEL_HSCIF4_2),
688 	PINMUX_IPSR_MSEL(IP3_31_28,		VI5_HSYNC_N_A,	SEL_VIN5_0),
689 	PINMUX_IPSR_GPSR(IP3_31_28,		DU_HSYNC),
690 	PINMUX_IPSR_MSEL(IP3_31_28,		VI4_DATA0_B,	SEL_VIN4_1),
691 	PINMUX_IPSR_GPSR(IP3_31_28,		QSTH_QHS),
692 
693 	/* IPSR4 */
694 	PINMUX_IPSR_GPSR(IP4_3_0,		A9),
695 	PINMUX_IPSR_GPSR(IP4_3_0,		TX5_A),
696 	PINMUX_IPSR_GPSR(IP4_3_0,		IRQ3),
697 	PINMUX_IPSR_GPSR(IP4_3_0,		VI4_DATA16),
698 	PINMUX_IPSR_MSEL(IP4_3_0,		VI5_VSYNC_N_A,	SEL_VIN5_0),
699 	PINMUX_IPSR_GPSR(IP4_3_0,		DU_DG7),
700 	PINMUX_IPSR_GPSR(IP4_3_0,		LCDOUT15),
701 
702 	PINMUX_IPSR_GPSR(IP4_7_4,		A10),
703 	PINMUX_IPSR_GPSR(IP4_7_4,		IRQ4),
704 	PINMUX_IPSR_MSEL(IP4_7_4,		MSIOF2_SYNC_B,	SEL_MSIOF2_1),
705 	PINMUX_IPSR_GPSR(IP4_7_4,		VI4_DATA13),
706 	PINMUX_IPSR_MSEL(IP4_7_4,		VI5_FIELD_A,	SEL_VIN5_0),
707 	PINMUX_IPSR_GPSR(IP4_7_4,		DU_DG5),
708 	PINMUX_IPSR_GPSR(IP4_7_4,		FSCLKST2_N_B),
709 	PINMUX_IPSR_GPSR(IP4_7_4,		LCDOUT13),
710 
711 	PINMUX_IPSR_GPSR(IP4_11_8,		A11),
712 	PINMUX_IPSR_MSEL(IP4_11_8,		SCL6_A,		SEL_I2C6_0),
713 	PINMUX_IPSR_GPSR(IP4_11_8,		TX3_B),
714 	PINMUX_IPSR_GPSR(IP4_11_8,		HTX4_C),
715 	PINMUX_IPSR_GPSR(IP4_11_8,		DU_VSYNC),
716 	PINMUX_IPSR_MSEL(IP4_11_8,		VI4_DATA1_B,	SEL_VIN4_1),
717 	PINMUX_IPSR_GPSR(IP4_11_8,		QSTVA_QVS),
718 
719 	PINMUX_IPSR_GPSR(IP4_15_12,		A12),
720 	PINMUX_IPSR_MSEL(IP4_15_12,		RX5_A,		SEL_SCIF5_0),
721 	PINMUX_IPSR_GPSR(IP4_15_12,		MSIOF2_SS2_B),
722 	PINMUX_IPSR_GPSR(IP4_15_12,		VI4_DATA17),
723 	PINMUX_IPSR_MSEL(IP4_15_12,		VI5_DATA3_A,	SEL_VIN5_0),
724 	PINMUX_IPSR_GPSR(IP4_15_12,		DU_DG6),
725 	PINMUX_IPSR_GPSR(IP4_15_12,		LCDOUT14),
726 
727 	PINMUX_IPSR_GPSR(IP4_19_16,		A13),
728 	PINMUX_IPSR_MSEL(IP4_19_16,		SCK5_A,		SEL_SCIF5_0),
729 	PINMUX_IPSR_MSEL(IP4_19_16,		MSIOF2_SCK_B,	SEL_MSIOF2_1),
730 	PINMUX_IPSR_GPSR(IP4_19_16,		VI4_DATA14),
731 	PINMUX_IPSR_MSEL(IP4_19_16,		HRX4_D,		SEL_HSCIF4_3),
732 	PINMUX_IPSR_GPSR(IP4_19_16,		DU_DB2),
733 	PINMUX_IPSR_GPSR(IP4_19_16,		LCDOUT2),
734 
735 	PINMUX_IPSR_GPSR(IP4_23_20,		A14),
736 	PINMUX_IPSR_GPSR(IP4_23_20,		MSIOF1_SS1),
737 	PINMUX_IPSR_MSEL(IP4_23_20,		MSIOF2_RXD_B,	SEL_MSIOF2_1),
738 	PINMUX_IPSR_GPSR(IP4_23_20,		VI4_DATA15),
739 	PINMUX_IPSR_GPSR(IP4_23_20,		HTX4_D),
740 	PINMUX_IPSR_GPSR(IP4_23_20,		DU_DB3),
741 	PINMUX_IPSR_GPSR(IP4_23_20,		LCDOUT3),
742 
743 	PINMUX_IPSR_GPSR(IP4_27_24,		A15),
744 	PINMUX_IPSR_GPSR(IP4_27_24,		MSIOF1_SS2),
745 	PINMUX_IPSR_GPSR(IP4_27_24,		MSIOF2_TXD_B),
746 	PINMUX_IPSR_GPSR(IP4_27_24,		VI4_DATA18),
747 	PINMUX_IPSR_MSEL(IP4_27_24,		VI5_DATA4_A,	SEL_VIN5_0),
748 	PINMUX_IPSR_GPSR(IP4_27_24,		DU_DB4),
749 	PINMUX_IPSR_GPSR(IP4_27_24,		LCDOUT4),
750 
751 	PINMUX_IPSR_GPSR(IP4_31_28,		A16),
752 	PINMUX_IPSR_GPSR(IP4_31_28,		MSIOF1_SYNC),
753 	PINMUX_IPSR_GPSR(IP4_31_28,		MSIOF2_SS1_B),
754 	PINMUX_IPSR_GPSR(IP4_31_28,		VI4_DATA19),
755 	PINMUX_IPSR_MSEL(IP4_31_28,		VI5_DATA5_A,	SEL_VIN5_0),
756 	PINMUX_IPSR_GPSR(IP4_31_28,		DU_DB5),
757 	PINMUX_IPSR_GPSR(IP4_31_28,		LCDOUT5),
758 
759 	/* IPSR5 */
760 	PINMUX_IPSR_GPSR(IP5_3_0,		A17),
761 	PINMUX_IPSR_GPSR(IP5_3_0,		MSIOF1_RXD),
762 	PINMUX_IPSR_GPSR(IP5_3_0,		VI4_DATA20),
763 	PINMUX_IPSR_MSEL(IP5_3_0,		VI5_DATA6_A,	SEL_VIN5_0),
764 	PINMUX_IPSR_GPSR(IP5_3_0,		DU_DB6),
765 	PINMUX_IPSR_GPSR(IP5_3_0,		LCDOUT6),
766 
767 	PINMUX_IPSR_GPSR(IP5_7_4,		A18),
768 	PINMUX_IPSR_GPSR(IP5_7_4,		MSIOF1_TXD),
769 	PINMUX_IPSR_GPSR(IP5_7_4,		VI4_DATA21),
770 	PINMUX_IPSR_MSEL(IP5_7_4,		VI5_DATA7_A,	SEL_VIN5_0),
771 	PINMUX_IPSR_GPSR(IP5_7_4,		DU_DB0),
772 	PINMUX_IPSR_MSEL(IP5_7_4,		HRX4_E,		SEL_HSCIF4_4),
773 	PINMUX_IPSR_GPSR(IP5_7_4,		LCDOUT0),
774 
775 	PINMUX_IPSR_GPSR(IP5_11_8,		A19),
776 	PINMUX_IPSR_GPSR(IP5_11_8,		MSIOF1_SCK),
777 	PINMUX_IPSR_GPSR(IP5_11_8,		VI4_DATA22),
778 	PINMUX_IPSR_MSEL(IP5_11_8,		VI5_DATA2_A,	SEL_VIN5_0),
779 	PINMUX_IPSR_GPSR(IP5_11_8,		DU_DB1),
780 	PINMUX_IPSR_GPSR(IP5_11_8,		HTX4_E),
781 	PINMUX_IPSR_GPSR(IP5_11_8,		LCDOUT1),
782 
783 	PINMUX_IPSR_GPSR(IP5_15_12,		CS0_N),
784 	PINMUX_IPSR_GPSR(IP5_15_12,		SCL5),
785 	PINMUX_IPSR_GPSR(IP5_15_12,		DU_DR0),
786 	PINMUX_IPSR_MSEL(IP5_15_12,		VI4_DATA2_B,	SEL_VIN4_1),
787 	PINMUX_IPSR_GPSR(IP5_15_12,		LCDOUT16),
788 
789 	PINMUX_IPSR_GPSR(IP5_19_16,		WE0_N),
790 	PINMUX_IPSR_GPSR(IP5_19_16,		SDA5),
791 	PINMUX_IPSR_GPSR(IP5_19_16,		DU_DR1),
792 	PINMUX_IPSR_MSEL(IP5_19_16,		VI4_DATA3_B,	SEL_VIN4_1),
793 	PINMUX_IPSR_GPSR(IP5_19_16,		LCDOUT17),
794 
795 	PINMUX_IPSR_GPSR(IP5_23_20,		D0),
796 	PINMUX_IPSR_MSEL(IP5_23_20,		MSIOF3_SCK_A,	SEL_MSIOF3_0),
797 	PINMUX_IPSR_GPSR(IP5_23_20,		DU_DR2),
798 	PINMUX_IPSR_MSEL(IP5_23_20,		CTS4_N_C,	SEL_SCIF4_2),
799 	PINMUX_IPSR_GPSR(IP5_23_20,		LCDOUT18),
800 
801 	PINMUX_IPSR_GPSR(IP5_27_24,		D1),
802 	PINMUX_IPSR_MSEL(IP5_27_24,		MSIOF3_SYNC_A,	SEL_MSIOF3_0),
803 	PINMUX_IPSR_MSEL(IP5_27_24,		SCK3_A,		SEL_SCIF3_0),
804 	PINMUX_IPSR_GPSR(IP5_27_24,		VI4_DATA23),
805 	PINMUX_IPSR_MSEL(IP5_27_24,		VI5_CLKENB_A,	SEL_VIN5_0),
806 	PINMUX_IPSR_GPSR(IP5_27_24,		DU_DB7),
807 	PINMUX_IPSR_MSEL(IP5_27_24,		RTS4_N_TANS_C,	SEL_SCIF4_2),
808 	PINMUX_IPSR_GPSR(IP5_27_24,		LCDOUT7),
809 
810 	PINMUX_IPSR_GPSR(IP5_31_28,		D2),
811 	PINMUX_IPSR_MSEL(IP5_31_28,		MSIOF3_RXD_A,	SEL_MSIOF3_0),
812 	PINMUX_IPSR_MSEL(IP5_31_28,		RX5_C,		SEL_SCIF5_2),
813 	PINMUX_IPSR_MSEL(IP5_31_28,		VI5_DATA14_A,	SEL_VIN5_0),
814 	PINMUX_IPSR_GPSR(IP5_31_28,		DU_DR3),
815 	PINMUX_IPSR_MSEL(IP5_31_28,		RX4_C,		SEL_SCIF4_2),
816 	PINMUX_IPSR_GPSR(IP5_31_28,		LCDOUT19),
817 
818 	/* IPSR6 */
819 	PINMUX_IPSR_GPSR(IP6_3_0,		D3),
820 	PINMUX_IPSR_GPSR(IP6_3_0,		MSIOF3_TXD_A),
821 	PINMUX_IPSR_GPSR(IP6_3_0,		TX5_C),
822 	PINMUX_IPSR_MSEL(IP6_3_0,		VI5_DATA15_A,	SEL_VIN5_0),
823 	PINMUX_IPSR_GPSR(IP6_3_0,		DU_DR4),
824 	PINMUX_IPSR_GPSR(IP6_3_0,		TX4_C),
825 	PINMUX_IPSR_GPSR(IP6_3_0,		LCDOUT20),
826 
827 	PINMUX_IPSR_GPSR(IP6_7_4,		D4),
828 	PINMUX_IPSR_GPSR(IP6_7_4,		CANFD1_TX),
829 	PINMUX_IPSR_MSEL(IP6_7_4,		HSCK3_B,	SEL_HSCIF3_1),
830 	PINMUX_IPSR_GPSR(IP6_7_4,		CAN1_TX),
831 	PINMUX_IPSR_MSEL(IP6_7_4,		RTS3_N_TANS_A,	SEL_SCIF3_0),
832 	PINMUX_IPSR_GPSR(IP6_7_4,		MSIOF3_SS2_A),
833 	PINMUX_IPSR_MSEL(IP6_7_4,		VI5_DATA1_B,	SEL_VIN5_1),
834 
835 	PINMUX_IPSR_GPSR(IP6_11_8,		D5),
836 	PINMUX_IPSR_MSEL(IP6_11_8,		RX3_A,		SEL_SCIF3_0),
837 	PINMUX_IPSR_MSEL(IP6_11_8,		HRX3_B,		SEL_HSCIF3_1),
838 	PINMUX_IPSR_GPSR(IP6_11_8,		DU_DR5),
839 	PINMUX_IPSR_MSEL(IP6_11_8,		VI4_DATA4_B,	SEL_VIN4_1),
840 	PINMUX_IPSR_GPSR(IP6_11_8,		LCDOUT21),
841 
842 	PINMUX_IPSR_GPSR(IP6_15_12,		D6),
843 	PINMUX_IPSR_GPSR(IP6_15_12,		TX3_A),
844 	PINMUX_IPSR_GPSR(IP6_15_12,		HTX3_B),
845 	PINMUX_IPSR_GPSR(IP6_15_12,		DU_DR6),
846 	PINMUX_IPSR_MSEL(IP6_15_12,		VI4_DATA5_B,	SEL_VIN4_1),
847 	PINMUX_IPSR_GPSR(IP6_15_12,		LCDOUT22),
848 
849 	PINMUX_IPSR_GPSR(IP6_19_16,		D7),
850 	PINMUX_IPSR_GPSR(IP6_19_16,		CANFD1_RX),
851 	PINMUX_IPSR_GPSR(IP6_19_16,		IRQ5),
852 	PINMUX_IPSR_GPSR(IP6_19_16,		CAN1_RX),
853 	PINMUX_IPSR_MSEL(IP6_19_16,		CTS3_N_A,	SEL_SCIF3_0),
854 	PINMUX_IPSR_MSEL(IP6_19_16,		VI5_DATA2_B,	SEL_VIN5_1),
855 
856 	PINMUX_IPSR_GPSR(IP6_23_20,		D8),
857 	PINMUX_IPSR_MSEL(IP6_23_20,		MSIOF2_SCK_A,	SEL_MSIOF2_0),
858 	PINMUX_IPSR_MSEL(IP6_23_20,		SCK4_B,		SEL_SCIF4_1),
859 	PINMUX_IPSR_MSEL(IP6_23_20,		VI5_DATA12_A,	SEL_VIN5_0),
860 	PINMUX_IPSR_GPSR(IP6_23_20,		DU_DR7),
861 	PINMUX_IPSR_MSEL(IP6_23_20,		RIF3_CLK_B,	SEL_DRIF3_1),
862 	PINMUX_IPSR_MSEL(IP6_23_20,		HCTS3_N_E,	SEL_HSCIF3_4),
863 	PINMUX_IPSR_GPSR(IP6_23_20,		LCDOUT23),
864 
865 	PINMUX_IPSR_GPSR(IP6_27_24,		D9),
866 	PINMUX_IPSR_MSEL(IP6_27_24,		MSIOF2_SYNC_A,	SEL_MSIOF2_0),
867 	PINMUX_IPSR_MSEL(IP6_27_24,		VI5_DATA10_A,	SEL_VIN5_0),
868 	PINMUX_IPSR_GPSR(IP6_27_24,		DU_DG0),
869 	PINMUX_IPSR_MSEL(IP6_27_24,		RIF3_SYNC_B,	SEL_DRIF3_1),
870 	PINMUX_IPSR_MSEL(IP6_27_24,		HRX3_E,		SEL_HSCIF3_4),
871 	PINMUX_IPSR_GPSR(IP6_27_24,		LCDOUT8),
872 
873 	PINMUX_IPSR_GPSR(IP6_31_28,		D10),
874 	PINMUX_IPSR_MSEL(IP6_31_28,		MSIOF2_RXD_A,	SEL_MSIOF2_0),
875 	PINMUX_IPSR_MSEL(IP6_31_28,		VI5_DATA13_A,	SEL_VIN5_0),
876 	PINMUX_IPSR_GPSR(IP6_31_28,		DU_DG1),
877 	PINMUX_IPSR_MSEL(IP6_31_28,		RIF3_D0_B,	SEL_DRIF3_1),
878 	PINMUX_IPSR_GPSR(IP6_31_28,		HTX3_E),
879 	PINMUX_IPSR_GPSR(IP6_31_28,		LCDOUT9),
880 
881 	/* IPSR7 */
882 	PINMUX_IPSR_GPSR(IP7_3_0,		D11),
883 	PINMUX_IPSR_GPSR(IP7_3_0,		MSIOF2_TXD_A),
884 	PINMUX_IPSR_MSEL(IP7_3_0,		VI5_DATA11_A,	SEL_VIN5_0),
885 	PINMUX_IPSR_GPSR(IP7_3_0,		DU_DG2),
886 	PINMUX_IPSR_MSEL(IP7_3_0,		RIF3_D1_B,	SEL_DRIF3_1),
887 	PINMUX_IPSR_MSEL(IP7_3_0,		HRTS3_N_E,	SEL_HSCIF3_4),
888 	PINMUX_IPSR_GPSR(IP7_3_0,		LCDOUT10),
889 
890 	PINMUX_IPSR_GPSR(IP7_7_4,		D12),
891 	PINMUX_IPSR_GPSR(IP7_7_4,		CANFD0_TX),
892 	PINMUX_IPSR_GPSR(IP7_7_4,		TX4_B),
893 	PINMUX_IPSR_GPSR(IP7_7_4,		CAN0_TX),
894 	PINMUX_IPSR_MSEL(IP7_7_4,		VI5_DATA8_A,	SEL_VIN5_0),
895 	PINMUX_IPSR_MSEL(IP7_7_4,		VI5_DATA3_B,	SEL_VIN5_1),
896 
897 	PINMUX_IPSR_GPSR(IP7_11_8,		D13),
898 	PINMUX_IPSR_GPSR(IP7_11_8,		CANFD0_RX),
899 	PINMUX_IPSR_MSEL(IP7_11_8,		RX4_B,		SEL_SCIF4_1),
900 	PINMUX_IPSR_GPSR(IP7_11_8,		CAN0_RX),
901 	PINMUX_IPSR_MSEL(IP7_11_8,		VI5_DATA9_A,	SEL_VIN5_0),
902 	PINMUX_IPSR_MSEL(IP7_11_8,		SCL7_B,		SEL_I2C7_1),
903 	PINMUX_IPSR_MSEL(IP7_11_8,		VI5_DATA4_B,	SEL_VIN5_1),
904 
905 	PINMUX_IPSR_GPSR(IP7_15_12,		D14),
906 	PINMUX_IPSR_GPSR(IP7_15_12,		CAN_CLK),
907 	PINMUX_IPSR_MSEL(IP7_15_12,		HRX3_A,		SEL_HSCIF3_0),
908 	PINMUX_IPSR_GPSR(IP7_15_12,		MSIOF2_SS2_A),
909 	PINMUX_IPSR_MSEL(IP7_15_12,		SDA7_B,		SEL_I2C7_1),
910 	PINMUX_IPSR_MSEL(IP7_15_12,		VI5_DATA5_B,	SEL_VIN5_1),
911 
912 	PINMUX_IPSR_GPSR(IP7_19_16,		D15),
913 	PINMUX_IPSR_GPSR(IP7_19_16,		MSIOF2_SS1_A),
914 	PINMUX_IPSR_GPSR(IP7_19_16,		HTX3_A),
915 	PINMUX_IPSR_GPSR(IP7_19_16,		MSIOF3_SS1_A),
916 	PINMUX_IPSR_GPSR(IP7_19_16,		DU_DG3),
917 	PINMUX_IPSR_GPSR(IP7_19_16,		LCDOUT11),
918 
919 	PINMUX_IPSR_GPSR(IP7_23_20,		SCL4),
920 	PINMUX_IPSR_GPSR(IP7_23_20,		CS1_N_A26),
921 	PINMUX_IPSR_GPSR(IP7_23_20,		DU_DOTCLKIN0),
922 	PINMUX_IPSR_MSEL(IP7_23_20,		VI4_DATA6_B,	SEL_VIN4_1),
923 	PINMUX_IPSR_MSEL(IP7_23_20,		VI5_DATA6_B,	SEL_VIN5_1),
924 	PINMUX_IPSR_GPSR(IP7_23_20,		QCLK),
925 
926 	PINMUX_IPSR_GPSR(IP7_27_24,		SDA4),
927 	PINMUX_IPSR_GPSR(IP7_27_24,		WE1_N),
928 	PINMUX_IPSR_MSEL(IP7_27_24,		VI4_DATA7_B,	SEL_VIN4_1),
929 	PINMUX_IPSR_MSEL(IP7_27_24,		VI5_DATA7_B,	SEL_VIN5_1),
930 	PINMUX_IPSR_GPSR(IP7_27_24,		QPOLB),
931 
932 	PINMUX_IPSR_GPSR(IP7_31_28,		SD0_CLK),
933 	PINMUX_IPSR_GPSR(IP7_31_28,		NFDATA8),
934 	PINMUX_IPSR_MSEL(IP7_31_28,		SCL1_C,		SEL_I2C1_2),
935 	PINMUX_IPSR_MSEL(IP7_31_28,		HSCK1_B,	SEL_HSCIF1_1),
936 	PINMUX_IPSR_MSEL(IP7_31_28,		SDA2_E,		SEL_I2C2_4),
937 	PINMUX_IPSR_MSEL(IP7_31_28,		FMCLK_B,	SEL_FM_1),
938 
939 	/* IPSR8 */
940 	PINMUX_IPSR_GPSR(IP8_3_0,		SD0_CMD),
941 	PINMUX_IPSR_GPSR(IP8_3_0,		NFDATA9),
942 	PINMUX_IPSR_MSEL(IP8_3_0,		HRX1_B,		SEL_HSCIF1_1),
943 	PINMUX_IPSR_MSEL(IP8_3_0,		SPEEDIN_B,	SEL_SPEED_PULSE_IF_1),
944 
945 	PINMUX_IPSR_GPSR(IP8_7_4,		SD0_DAT0),
946 	PINMUX_IPSR_GPSR(IP8_7_4,		NFDATA10),
947 	PINMUX_IPSR_GPSR(IP8_7_4,		HTX1_B),
948 	PINMUX_IPSR_MSEL(IP8_7_4,		REMOCON_B,	SEL_REMOCON_1),
949 
950 	PINMUX_IPSR_GPSR(IP8_11_8,		SD0_DAT1),
951 	PINMUX_IPSR_GPSR(IP8_11_8,		NFDATA11),
952 	PINMUX_IPSR_MSEL(IP8_11_8,		SDA2_C,		SEL_I2C2_2),
953 	PINMUX_IPSR_MSEL(IP8_11_8,		HCTS1_N_B,	SEL_HSCIF1_1),
954 	PINMUX_IPSR_MSEL(IP8_11_8,		FMIN_B,		SEL_FM_1),
955 
956 	PINMUX_IPSR_GPSR(IP8_15_12,		SD0_DAT2),
957 	PINMUX_IPSR_GPSR(IP8_15_12,		NFDATA12),
958 	PINMUX_IPSR_MSEL(IP8_15_12,		SCL2_C,		SEL_I2C2_2),
959 	PINMUX_IPSR_MSEL(IP8_15_12,		HRTS1_N_B,	SEL_HSCIF1_1),
960 	PINMUX_IPSR_GPSR(IP8_15_12,		BPFCLK_B),
961 
962 	PINMUX_IPSR_GPSR(IP8_19_16,		SD0_DAT3),
963 	PINMUX_IPSR_GPSR(IP8_19_16,		NFDATA13),
964 	PINMUX_IPSR_MSEL(IP8_19_16,		SDA1_C,		SEL_I2C1_2),
965 	PINMUX_IPSR_MSEL(IP8_19_16,		SCL2_E,		SEL_I2C2_4),
966 	PINMUX_IPSR_MSEL(IP8_19_16,		SPEEDIN_C,	SEL_SPEED_PULSE_IF_2),
967 	PINMUX_IPSR_MSEL(IP8_19_16,		REMOCON_C,	SEL_REMOCON_2),
968 
969 	PINMUX_IPSR_GPSR(IP8_23_20,		SD1_CLK),
970 	PINMUX_IPSR_MSEL(IP8_23_20,		NFDATA14_B,	SEL_NDFC_1),
971 
972 	PINMUX_IPSR_GPSR(IP8_27_24,		SD1_CMD),
973 	PINMUX_IPSR_MSEL(IP8_27_24,		NFDATA15_B,	SEL_NDFC_1),
974 
975 	PINMUX_IPSR_GPSR(IP8_31_28,		SD1_DAT0),
976 	PINMUX_IPSR_MSEL(IP8_31_28,		NFWP_N_B,	SEL_NDFC_1),
977 
978 	/* IPSR9 */
979 	PINMUX_IPSR_GPSR(IP9_3_0,		SD1_DAT1),
980 	PINMUX_IPSR_MSEL(IP9_3_0,		NFCE_N_B,	SEL_NDFC_1),
981 
982 	PINMUX_IPSR_GPSR(IP9_7_4,		SD1_DAT2),
983 	PINMUX_IPSR_MSEL(IP9_7_4,		NFALE_B,	SEL_NDFC_1),
984 
985 	PINMUX_IPSR_GPSR(IP9_11_8,		SD1_DAT3),
986 	PINMUX_IPSR_MSEL(IP9_11_8,		NFRB_N_B,	SEL_NDFC_1),
987 
988 	PINMUX_IPSR_GPSR(IP9_15_12,		SD3_CLK),
989 	PINMUX_IPSR_GPSR(IP9_15_12,		NFWE_N),
990 
991 	PINMUX_IPSR_GPSR(IP9_19_16,		SD3_CMD),
992 	PINMUX_IPSR_GPSR(IP9_19_16,		NFRE_N),
993 
994 	PINMUX_IPSR_GPSR(IP9_23_20,		SD3_DAT0),
995 	PINMUX_IPSR_GPSR(IP9_23_20,		NFDATA0),
996 
997 	PINMUX_IPSR_GPSR(IP9_27_24,		SD3_DAT1),
998 	PINMUX_IPSR_GPSR(IP9_27_24,		NFDATA1),
999 
1000 	PINMUX_IPSR_GPSR(IP9_31_28,		SD3_DAT2),
1001 	PINMUX_IPSR_GPSR(IP9_31_28,		NFDATA2),
1002 
1003 	/* IPSR10 */
1004 	PINMUX_IPSR_GPSR(IP10_3_0,		SD3_DAT3),
1005 	PINMUX_IPSR_GPSR(IP10_3_0,		NFDATA3),
1006 
1007 	PINMUX_IPSR_GPSR(IP10_7_4,		SD3_DAT4),
1008 	PINMUX_IPSR_GPSR(IP10_7_4,		NFDATA4),
1009 
1010 	PINMUX_IPSR_GPSR(IP10_11_8,		SD3_DAT5),
1011 	PINMUX_IPSR_GPSR(IP10_11_8,		NFDATA5),
1012 
1013 	PINMUX_IPSR_GPSR(IP10_15_12,		SD3_DAT6),
1014 	PINMUX_IPSR_GPSR(IP10_15_12,		NFDATA6),
1015 
1016 	PINMUX_IPSR_GPSR(IP10_19_16,		SD3_DAT7),
1017 	PINMUX_IPSR_GPSR(IP10_19_16,		NFDATA7),
1018 
1019 	PINMUX_IPSR_GPSR(IP10_23_20,		SD3_DS),
1020 	PINMUX_IPSR_GPSR(IP10_23_20,		NFCLE),
1021 
1022 	PINMUX_IPSR_GPSR(IP10_27_24,		SD0_CD),
1023 	PINMUX_IPSR_GPSR(IP10_27_24,		NFALE_A),
1024 	PINMUX_IPSR_GPSR(IP10_27_24,		SD3_CD),
1025 	PINMUX_IPSR_MSEL(IP10_27_24,		RIF0_CLK_B,	SEL_DRIF0_1),
1026 	PINMUX_IPSR_MSEL(IP10_27_24,		SCL2_B,		SEL_I2C2_1),
1027 	PINMUX_IPSR_MSEL(IP10_27_24,		TCLK1_A,	SEL_TIMER_TMU_0),
1028 	PINMUX_IPSR_MSEL(IP10_27_24,		SSI_SCK2_B,	SEL_SSI2_1),
1029 	PINMUX_IPSR_GPSR(IP10_27_24,		TS_SCK0),
1030 
1031 	PINMUX_IPSR_GPSR(IP10_31_28,		SD0_WP),
1032 	PINMUX_IPSR_GPSR(IP10_31_28,		NFRB_N_A),
1033 	PINMUX_IPSR_GPSR(IP10_31_28,		SD3_WP),
1034 	PINMUX_IPSR_MSEL(IP10_31_28,		RIF0_D0_B,	SEL_DRIF0_1),
1035 	PINMUX_IPSR_MSEL(IP10_31_28,		SDA2_B,		SEL_I2C2_1),
1036 	PINMUX_IPSR_MSEL(IP10_31_28,		TCLK2_A,	SEL_TIMER_TMU_0),
1037 	PINMUX_IPSR_MSEL(IP10_31_28,		SSI_WS2_B,	SEL_SSI2_1),
1038 	PINMUX_IPSR_GPSR(IP10_31_28,		TS_SDAT0),
1039 
1040 	/* IPSR11 */
1041 	PINMUX_IPSR_GPSR(IP11_3_0,		SD1_CD),
1042 	PINMUX_IPSR_MSEL(IP11_3_0,		NFCE_N_A,	SEL_NDFC_0),
1043 	PINMUX_IPSR_GPSR(IP11_3_0,		SSI_SCK1),
1044 	PINMUX_IPSR_MSEL(IP11_3_0,		RIF0_D1_B,	SEL_DRIF0_1),
1045 	PINMUX_IPSR_GPSR(IP11_3_0,		TS_SDEN0),
1046 
1047 	PINMUX_IPSR_GPSR(IP11_7_4,		SD1_WP),
1048 	PINMUX_IPSR_MSEL(IP11_7_4,		NFWP_N_A,	SEL_NDFC_0),
1049 	PINMUX_IPSR_GPSR(IP11_7_4,		SSI_WS1),
1050 	PINMUX_IPSR_MSEL(IP11_7_4,		RIF0_SYNC_B,	SEL_DRIF0_1),
1051 	PINMUX_IPSR_GPSR(IP11_7_4,		TS_SPSYNC0),
1052 
1053 	PINMUX_IPSR_MSEL(IP11_11_8,		RX0_A,		SEL_SCIF0_0),
1054 	PINMUX_IPSR_MSEL(IP11_11_8,		HRX1_A,		SEL_HSCIF1_0),
1055 	PINMUX_IPSR_MSEL(IP11_11_8,		SSI_SCK2_A,	SEL_SSI2_0),
1056 	PINMUX_IPSR_GPSR(IP11_11_8,		RIF1_SYNC),
1057 	PINMUX_IPSR_GPSR(IP11_11_8,		TS_SCK1),
1058 
1059 	PINMUX_IPSR_GPSR(IP11_15_12,		TX0_A),
1060 	PINMUX_IPSR_GPSR(IP11_15_12,		HTX1_A),
1061 	PINMUX_IPSR_MSEL(IP11_15_12,		SSI_WS2_A,	SEL_SSI2_0),
1062 	PINMUX_IPSR_GPSR(IP11_15_12,		RIF1_D0),
1063 	PINMUX_IPSR_GPSR(IP11_15_12,		TS_SDAT1),
1064 
1065 	PINMUX_IPSR_MSEL(IP11_19_16,		CTS0_N_A,	SEL_SCIF0_0),
1066 	PINMUX_IPSR_MSEL(IP11_19_16,		NFDATA14_A,	SEL_NDFC_0),
1067 	PINMUX_IPSR_GPSR(IP11_19_16,		AUDIO_CLKOUT_A),
1068 	PINMUX_IPSR_GPSR(IP11_19_16,		RIF1_D1),
1069 	PINMUX_IPSR_MSEL(IP11_19_16,		SCIF_CLK_A,	SEL_SCIF_0),
1070 	PINMUX_IPSR_MSEL(IP11_19_16,		FMCLK_A,	SEL_FM_0),
1071 
1072 	PINMUX_IPSR_MSEL(IP11_23_20,		RTS0_N_TANS_A,	SEL_SCIF0_0),
1073 	PINMUX_IPSR_MSEL(IP11_23_20,		NFDATA15_A,	SEL_NDFC_0),
1074 	PINMUX_IPSR_GPSR(IP11_23_20,		AUDIO_CLKOUT1_A),
1075 	PINMUX_IPSR_GPSR(IP11_23_20,		RIF1_CLK),
1076 	PINMUX_IPSR_MSEL(IP11_23_20,		SCL2_A,		SEL_I2C2_0),
1077 	PINMUX_IPSR_MSEL(IP11_23_20,		FMIN_A,		SEL_FM_0),
1078 
1079 	PINMUX_IPSR_MSEL(IP11_27_24,		SCK0_A,		SEL_SCIF0_0),
1080 	PINMUX_IPSR_MSEL(IP11_27_24,		HSCK1_A,	SEL_HSCIF1_0),
1081 	PINMUX_IPSR_GPSR(IP11_27_24,		USB3HS0_ID),
1082 	PINMUX_IPSR_GPSR(IP11_27_24,		RTS1_N_TANS),
1083 	PINMUX_IPSR_MSEL(IP11_27_24,		SDA2_A,		SEL_I2C2_0),
1084 	PINMUX_IPSR_MSEL(IP11_27_24,		FMCLK_C,	SEL_FM_2),
1085 	PINMUX_IPSR_GPSR(IP11_27_24,		USB0_ID),
1086 
1087 	PINMUX_IPSR_GPSR(IP11_31_28,		RX1),
1088 	PINMUX_IPSR_MSEL(IP11_31_28,		HRX2_B,		SEL_HSCIF2_1),
1089 	PINMUX_IPSR_MSEL(IP11_31_28,		SSI_SCK9_B,	SEL_SSI9_1),
1090 	PINMUX_IPSR_GPSR(IP11_31_28,		AUDIO_CLKOUT1_B),
1091 
1092 	/* IPSR12 */
1093 	PINMUX_IPSR_GPSR(IP12_3_0,		TX1),
1094 	PINMUX_IPSR_GPSR(IP12_3_0,		HTX2_B),
1095 	PINMUX_IPSR_MSEL(IP12_3_0,		SSI_WS9_B,	SEL_SSI9_1),
1096 	PINMUX_IPSR_GPSR(IP12_3_0,		AUDIO_CLKOUT3_B),
1097 
1098 	PINMUX_IPSR_GPSR(IP12_7_4,		SCK2_A),
1099 	PINMUX_IPSR_MSEL(IP12_7_4,		HSCK0_A,	SEL_HSCIF0_0),
1100 	PINMUX_IPSR_MSEL(IP12_7_4,		AUDIO_CLKB_A,	SEL_ADGB_0),
1101 	PINMUX_IPSR_GPSR(IP12_7_4,		CTS1_N),
1102 	PINMUX_IPSR_MSEL(IP12_7_4,		RIF0_CLK_A,	SEL_DRIF0_0),
1103 	PINMUX_IPSR_MSEL(IP12_7_4,		REMOCON_A,	SEL_REMOCON_0),
1104 	PINMUX_IPSR_MSEL(IP12_7_4,		SCIF_CLK_B,	SEL_SCIF_1),
1105 
1106 	PINMUX_IPSR_GPSR(IP12_11_8,		TX2_A),
1107 	PINMUX_IPSR_MSEL(IP12_11_8,		HRX0_A,		SEL_HSCIF0_0),
1108 	PINMUX_IPSR_GPSR(IP12_11_8,		AUDIO_CLKOUT2_A),
1109 	PINMUX_IPSR_MSEL(IP12_11_8,		SCL1_A,		SEL_I2C1_0),
1110 	PINMUX_IPSR_MSEL(IP12_11_8,		FSO_CFE_0_N_A,	SEL_FSO_0),
1111 	PINMUX_IPSR_GPSR(IP12_11_8,		TS_SDEN1),
1112 
1113 	PINMUX_IPSR_GPSR(IP12_15_12,		RX2_A),
1114 	PINMUX_IPSR_GPSR(IP12_15_12,		HTX0_A),
1115 	PINMUX_IPSR_GPSR(IP12_15_12,		AUDIO_CLKOUT3_A),
1116 	PINMUX_IPSR_MSEL(IP12_15_12,		SDA1_A,		SEL_I2C1_0),
1117 	PINMUX_IPSR_MSEL(IP12_15_12,		FSO_CFE_1_N_A,	SEL_FSO_0),
1118 	PINMUX_IPSR_GPSR(IP12_15_12,		TS_SPSYNC1),
1119 
1120 	PINMUX_IPSR_GPSR(IP12_19_16,		MSIOF0_SCK),
1121 	PINMUX_IPSR_GPSR(IP12_19_16,		SSI_SCK78),
1122 
1123 	PINMUX_IPSR_GPSR(IP12_23_20,		MSIOF0_RXD),
1124 	PINMUX_IPSR_GPSR(IP12_23_20,		SSI_WS78),
1125 	PINMUX_IPSR_GPSR(IP12_23_20,		TX2_B),
1126 
1127 	PINMUX_IPSR_GPSR(IP12_27_24,		MSIOF0_TXD),
1128 	PINMUX_IPSR_GPSR(IP12_27_24,		SSI_SDATA7),
1129 	PINMUX_IPSR_GPSR(IP12_27_24,		RX2_B),
1130 
1131 	PINMUX_IPSR_GPSR(IP12_31_28,		MSIOF0_SYNC),
1132 	PINMUX_IPSR_GPSR(IP12_31_28,		AUDIO_CLKOUT_B),
1133 	PINMUX_IPSR_GPSR(IP12_31_28,		SSI_SDATA8),
1134 
1135 	/* IPSR13 */
1136 	PINMUX_IPSR_GPSR(IP13_3_0,		MSIOF0_SS1),
1137 	PINMUX_IPSR_MSEL(IP13_3_0,		HRX2_A,		SEL_HSCIF2_0),
1138 	PINMUX_IPSR_GPSR(IP13_3_0,		SSI_SCK4),
1139 	PINMUX_IPSR_MSEL(IP13_3_0,		HCTS0_N_A,	SEL_HSCIF0_0),
1140 	PINMUX_IPSR_GPSR(IP13_3_0,		BPFCLK_C),
1141 	PINMUX_IPSR_MSEL(IP13_3_0,		SPEEDIN_A,	SEL_SPEED_PULSE_IF_0),
1142 
1143 	PINMUX_IPSR_GPSR(IP13_7_4,		MSIOF0_SS2),
1144 	PINMUX_IPSR_GPSR(IP13_7_4,		HTX2_A),
1145 	PINMUX_IPSR_GPSR(IP13_7_4,		SSI_WS4),
1146 	PINMUX_IPSR_MSEL(IP13_7_4,		HRTS0_N_A,	SEL_HSCIF0_0),
1147 	PINMUX_IPSR_MSEL(IP13_7_4,		FMIN_C,		SEL_FM_2),
1148 	PINMUX_IPSR_GPSR(IP13_7_4,		BPFCLK_A),
1149 
1150 	PINMUX_IPSR_GPSR(IP13_11_8,		SSI_SDATA9),
1151 	PINMUX_IPSR_MSEL(IP13_11_8,		AUDIO_CLKC_A,	SEL_ADGC_0),
1152 	PINMUX_IPSR_GPSR(IP13_11_8,		SCK1),
1153 
1154 	PINMUX_IPSR_GPSR(IP13_15_12,		MLB_CLK),
1155 	PINMUX_IPSR_MSEL(IP13_15_12,		RX0_B,		SEL_SCIF0_1),
1156 	PINMUX_IPSR_MSEL(IP13_15_12,		RIF0_D0_A,	SEL_DRIF0_0),
1157 	PINMUX_IPSR_MSEL(IP13_15_12,		SCL1_B,		SEL_I2C1_1),
1158 	PINMUX_IPSR_MSEL(IP13_15_12,		TCLK1_B,	SEL_TIMER_TMU_1),
1159 	PINMUX_IPSR_GPSR(IP13_15_12,		SIM0_RST_A),
1160 
1161 	PINMUX_IPSR_GPSR(IP13_19_16,		MLB_SIG),
1162 	PINMUX_IPSR_MSEL(IP13_19_16,		SCK0_B,		SEL_SCIF0_1),
1163 	PINMUX_IPSR_MSEL(IP13_19_16,		RIF0_D1_A,	SEL_DRIF0_0),
1164 	PINMUX_IPSR_MSEL(IP13_19_16,		SDA1_B,		SEL_I2C1_1),
1165 	PINMUX_IPSR_MSEL(IP13_19_16,		TCLK2_B,	SEL_TIMER_TMU_1),
1166 	PINMUX_IPSR_MSEL(IP13_19_16,		SIM0_D_A,	SEL_SIMCARD_0),
1167 
1168 	PINMUX_IPSR_GPSR(IP13_23_20,		MLB_DAT),
1169 	PINMUX_IPSR_GPSR(IP13_23_20,		TX0_B),
1170 	PINMUX_IPSR_MSEL(IP13_23_20,		RIF0_SYNC_A,	SEL_DRIF0_0),
1171 	PINMUX_IPSR_GPSR(IP13_23_20,		SIM0_CLK_A),
1172 
1173 	PINMUX_IPSR_GPSR(IP13_27_24,		SSI_SCK01239),
1174 
1175 	PINMUX_IPSR_GPSR(IP13_31_28,		SSI_WS01239),
1176 
1177 	/* IPSR14 */
1178 	PINMUX_IPSR_GPSR(IP14_3_0,		SSI_SDATA0),
1179 
1180 	PINMUX_IPSR_GPSR(IP14_7_4,		SSI_SDATA1),
1181 	PINMUX_IPSR_MSEL(IP14_7_4,		AUDIO_CLKC_B,	SEL_ADGC_1),
1182 	PINMUX_IPSR_MSEL(IP14_7_4,		PWM0_B,		SEL_PWM0_1),
1183 
1184 	PINMUX_IPSR_GPSR(IP14_11_8,		SSI_SDATA2),
1185 	PINMUX_IPSR_GPSR(IP14_11_8,		AUDIO_CLKOUT2_B),
1186 	PINMUX_IPSR_MSEL(IP14_11_8,		SSI_SCK9_A,	SEL_SSI9_0),
1187 	PINMUX_IPSR_MSEL(IP14_11_8,		PWM1_B,		SEL_PWM1_1),
1188 
1189 	PINMUX_IPSR_GPSR(IP14_15_12,		SSI_SCK349),
1190 	PINMUX_IPSR_MSEL(IP14_15_12,		PWM2_C,		SEL_PWM2_2),
1191 
1192 	PINMUX_IPSR_GPSR(IP14_19_16,		SSI_WS349),
1193 	PINMUX_IPSR_MSEL(IP14_19_16,		PWM3_C,		SEL_PWM3_2),
1194 
1195 	PINMUX_IPSR_GPSR(IP14_23_20,		SSI_SDATA3),
1196 	PINMUX_IPSR_GPSR(IP14_23_20,		AUDIO_CLKOUT1_C),
1197 	PINMUX_IPSR_MSEL(IP14_23_20,		AUDIO_CLKB_B,	SEL_ADGB_1),
1198 	PINMUX_IPSR_MSEL(IP14_23_20,		PWM4_B,		SEL_PWM4_1),
1199 
1200 	PINMUX_IPSR_GPSR(IP14_27_24,		SSI_SDATA4),
1201 	PINMUX_IPSR_MSEL(IP14_27_24,		SSI_WS9_A,	SEL_SSI9_0),
1202 	PINMUX_IPSR_MSEL(IP14_27_24,		PWM5_B,		SEL_PWM5_1),
1203 
1204 	PINMUX_IPSR_GPSR(IP14_31_28,		SSI_SCK5),
1205 	PINMUX_IPSR_MSEL(IP14_31_28,		HRX0_B,		SEL_HSCIF0_1),
1206 	PINMUX_IPSR_GPSR(IP14_31_28,		USB0_PWEN_B),
1207 	PINMUX_IPSR_MSEL(IP14_31_28,		SCL2_D,		SEL_I2C2_3),
1208 	PINMUX_IPSR_MSEL(IP14_31_28,		PWM6_B,		SEL_PWM6_1),
1209 
1210 	/* IPSR15 */
1211 	PINMUX_IPSR_GPSR(IP15_3_0,		SSI_WS5),
1212 	PINMUX_IPSR_GPSR(IP15_3_0,		HTX0_B),
1213 	PINMUX_IPSR_MSEL(IP15_3_0,		USB0_OVC_B,	SEL_USB_20_CH0_1),
1214 	PINMUX_IPSR_MSEL(IP15_3_0,		SDA2_D,		SEL_I2C2_3),
1215 
1216 	PINMUX_IPSR_GPSR(IP15_7_4,		SSI_SDATA5),
1217 	PINMUX_IPSR_MSEL(IP15_7_4,		HSCK0_B,	SEL_HSCIF0_1),
1218 	PINMUX_IPSR_MSEL(IP15_7_4,		AUDIO_CLKB_C,	SEL_ADGB_2),
1219 	PINMUX_IPSR_GPSR(IP15_7_4,		TPU0TO0),
1220 
1221 	PINMUX_IPSR_GPSR(IP15_11_8,		SSI_SCK6),
1222 	PINMUX_IPSR_MSEL(IP15_11_8,		HSCK2_A,	SEL_HSCIF2_0),
1223 	PINMUX_IPSR_MSEL(IP15_11_8,		AUDIO_CLKC_C,	SEL_ADGC_2),
1224 	PINMUX_IPSR_GPSR(IP15_11_8,		TPU0TO1),
1225 	PINMUX_IPSR_MSEL(IP15_11_8,		FSO_CFE_0_N_B,	SEL_FSO_1),
1226 	PINMUX_IPSR_GPSR(IP15_11_8,		SIM0_RST_B),
1227 
1228 	PINMUX_IPSR_GPSR(IP15_15_12,		SSI_WS6),
1229 	PINMUX_IPSR_MSEL(IP15_15_12,		HCTS2_N_A,	SEL_HSCIF2_0),
1230 	PINMUX_IPSR_GPSR(IP15_15_12,		AUDIO_CLKOUT2_C),
1231 	PINMUX_IPSR_GPSR(IP15_15_12,		TPU0TO2),
1232 	PINMUX_IPSR_MSEL(IP15_15_12,		SDA1_D,		SEL_I2C1_3),
1233 	PINMUX_IPSR_MSEL(IP15_15_12,		FSO_CFE_1_N_B,	SEL_FSO_1),
1234 	PINMUX_IPSR_MSEL(IP15_15_12,		SIM0_D_B,	SEL_SIMCARD_1),
1235 
1236 	PINMUX_IPSR_GPSR(IP15_19_16,		SSI_SDATA6),
1237 	PINMUX_IPSR_MSEL(IP15_19_16,		HRTS2_N_A,	SEL_HSCIF2_0),
1238 	PINMUX_IPSR_GPSR(IP15_19_16,		AUDIO_CLKOUT3_C),
1239 	PINMUX_IPSR_GPSR(IP15_19_16,		TPU0TO3),
1240 	PINMUX_IPSR_MSEL(IP15_19_16,		SCL1_D,		SEL_I2C1_3),
1241 	PINMUX_IPSR_MSEL(IP15_19_16,		FSO_TOE_N_B,	SEL_FSO_1),
1242 	PINMUX_IPSR_GPSR(IP15_19_16,		SIM0_CLK_B),
1243 
1244 	PINMUX_IPSR_GPSR(IP15_23_20,		AUDIO_CLKA),
1245 
1246 	PINMUX_IPSR_GPSR(IP15_27_24,		USB30_PWEN),
1247 	PINMUX_IPSR_GPSR(IP15_27_24,		USB0_PWEN_A),
1248 
1249 	PINMUX_IPSR_GPSR(IP15_31_28,		USB30_OVC),
1250 	PINMUX_IPSR_MSEL(IP15_31_28,		USB0_OVC_A,	SEL_USB_20_CH0_0),
1251 
1252 /*
1253  * Static pins can not be muxed between different functions but
1254  * still need mark entries in the pinmux list. Add each static
1255  * pin to the list without an associated function. The sh-pfc
1256  * core will do the right thing and skip trying to mux the pin
1257  * while still applying configuration to it.
1258  */
1259 #define FM(x)   PINMUX_DATA(x##_MARK, 0),
1260 	PINMUX_STATIC
1261 #undef FM
1262 };
1263 
1264 /*
1265  * R8A77990 has 7 banks with 32 GPIOs in each => 224 GPIOs.
1266  * Physical layout rows: A - AE, cols: 1 - 25.
1267  */
1268 #define ROW_GROUP_A(r) ('Z' - 'A' + 1 + (r))
1269 #define PIN_NUMBER(r, c) (((r) - 'A') * 25 + (c) + 300)
1270 #define PIN_A_NUMBER(r, c) PIN_NUMBER(ROW_GROUP_A(r), c)
1271 #define PIN_NONE U16_MAX
1272 
1273 static const struct sh_pfc_pin pinmux_pins[] = {
1274 	PINMUX_GPIO_GP_ALL(),
1275 
1276 	/*
1277 	 * Pins not associated with a GPIO port.
1278 	 *
1279 	 * The pin positions are different between different R8A77990
1280 	 * packages, all that is needed for the pfc driver is a unique
1281 	 * number for each pin. To this end use the pin layout from
1282 	 * R8A77990 to calculate a unique number for each pin.
1283 	 */
1284 	SH_PFC_PIN_NAMED_CFG('F',  1, TRST_N,		CFG_FLAGS),
1285 	SH_PFC_PIN_NAMED_CFG('F',  3, TMS,		CFG_FLAGS),
1286 	SH_PFC_PIN_NAMED_CFG('F',  4, TCK,		CFG_FLAGS),
1287 	SH_PFC_PIN_NAMED_CFG('G',  2, TDI,		CFG_FLAGS),
1288 	SH_PFC_PIN_NAMED_CFG('G',  3, FSCLKST_N,	CFG_FLAGS),
1289 	SH_PFC_PIN_NAMED_CFG('H',  1, ASEBRK,		CFG_FLAGS),
1290 	SH_PFC_PIN_NAMED_CFG('N',  1, AVB_TXC,		CFG_FLAGS),
1291 	SH_PFC_PIN_NAMED_CFG('N',  2, AVB_TD0,		CFG_FLAGS),
1292 	SH_PFC_PIN_NAMED_CFG('N',  3, AVB_TD1,		CFG_FLAGS),
1293 	SH_PFC_PIN_NAMED_CFG('N',  5, AVB_TD2,		CFG_FLAGS),
1294 	SH_PFC_PIN_NAMED_CFG('N',  6, AVB_TD3,		CFG_FLAGS),
1295 	SH_PFC_PIN_NAMED_CFG('P',  3, AVB_TX_CTL,	CFG_FLAGS),
1296 	SH_PFC_PIN_NAMED_CFG('P',  4, AVB_MDIO,		CFG_FLAGS),
1297 	SH_PFC_PIN_NAMED_CFG('P',  5, AVB_MDC,		CFG_FLAGS),
1298 	SH_PFC_PIN_NAMED_CFG('T', 21, MLB_REF,		CFG_FLAGS),
1299 	SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 3, PRESETOUT_N, CFG_FLAGS),
1300 };
1301 
1302 /* - EtherAVB --------------------------------------------------------------- */
1303 static const unsigned int avb_link_pins[] = {
1304 	/* AVB_LINK */
1305 	RCAR_GP_PIN(2, 23),
1306 };
1307 
1308 static const unsigned int avb_link_mux[] = {
1309 	AVB_LINK_MARK,
1310 };
1311 
1312 static const unsigned int avb_magic_pins[] = {
1313 	/* AVB_MAGIC */
1314 	RCAR_GP_PIN(2, 22),
1315 };
1316 
1317 static const unsigned int avb_magic_mux[] = {
1318 	AVB_MAGIC_MARK,
1319 };
1320 
1321 static const unsigned int avb_phy_int_pins[] = {
1322 	/* AVB_PHY_INT */
1323 	RCAR_GP_PIN(2, 21),
1324 };
1325 
1326 static const unsigned int avb_phy_int_mux[] = {
1327 	AVB_PHY_INT_MARK,
1328 };
1329 
1330 static const unsigned int avb_mii_pins[] = {
1331 	/*
1332 	 * AVB_RX_CTL, AVB_RXC, AVB_RD0,
1333 	 * AVB_RD1, AVB_RD2, AVB_RD3,
1334 	 * AVB_TXCREFCLK
1335 	 */
1336 	RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 16),
1337 	RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 19),
1338 	RCAR_GP_PIN(2, 20),
1339 };
1340 
1341 static const unsigned int avb_mii_mux[] = {
1342 	AVB_RX_CTL_MARK, AVB_RXC_MARK, AVB_RD0_MARK,
1343 	AVB_RD1_MARK, AVB_RD2_MARK, AVB_RD3_MARK,
1344 	AVB_TXCREFCLK_MARK,
1345 };
1346 
1347 static const unsigned int avb_avtp_pps_pins[] = {
1348 	/* AVB_AVTP_PPS */
1349 	RCAR_GP_PIN(1, 2),
1350 };
1351 
1352 static const unsigned int avb_avtp_pps_mux[] = {
1353 	AVB_AVTP_PPS_MARK,
1354 };
1355 
1356 static const unsigned int avb_avtp_match_a_pins[] = {
1357 	/* AVB_AVTP_MATCH_A */
1358 	RCAR_GP_PIN(2, 24),
1359 };
1360 
1361 static const unsigned int avb_avtp_match_a_mux[] = {
1362 	AVB_AVTP_MATCH_A_MARK,
1363 };
1364 
1365 static const unsigned int avb_avtp_capture_a_pins[] = {
1366 	/* AVB_AVTP_CAPTURE_A */
1367 	RCAR_GP_PIN(2, 25),
1368 };
1369 
1370 static const unsigned int avb_avtp_capture_a_mux[] = {
1371 	AVB_AVTP_CAPTURE_A_MARK,
1372 };
1373 
1374 /* - I2C -------------------------------------------------------------------- */
1375 static const unsigned int i2c1_a_pins[] = {
1376 	/* SCL, SDA */
1377 	RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9),
1378 };
1379 
1380 static const unsigned int i2c1_a_mux[] = {
1381 	SCL1_A_MARK, SDA1_A_MARK,
1382 };
1383 
1384 static const unsigned int i2c1_b_pins[] = {
1385 	/* SCL, SDA */
1386 	RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 18),
1387 };
1388 
1389 static const unsigned int i2c1_b_mux[] = {
1390 	SCL1_B_MARK, SDA1_B_MARK,
1391 };
1392 
1393 static const unsigned int i2c1_c_pins[] = {
1394 	/* SCL, SDA */
1395 	RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 5),
1396 };
1397 
1398 static const unsigned int i2c1_c_mux[] = {
1399 	SCL1_C_MARK, SDA1_C_MARK,
1400 };
1401 
1402 static const unsigned int i2c1_d_pins[] = {
1403 	/* SCL, SDA */
1404 	RCAR_GP_PIN(6, 16), RCAR_GP_PIN(6, 15),
1405 };
1406 
1407 static const unsigned int i2c1_d_mux[] = {
1408 	SCL1_D_MARK, SDA1_D_MARK,
1409 };
1410 
1411 static const unsigned int i2c2_a_pins[] = {
1412 	/* SCL, SDA */
1413 	RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 0),
1414 };
1415 
1416 static const unsigned int i2c2_a_mux[] = {
1417 	SCL2_A_MARK, SDA2_A_MARK,
1418 };
1419 
1420 static const unsigned int i2c2_b_pins[] = {
1421 	/* SCL, SDA */
1422 	RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 13),
1423 };
1424 
1425 static const unsigned int i2c2_b_mux[] = {
1426 	SCL2_B_MARK, SDA2_B_MARK,
1427 };
1428 
1429 static const unsigned int i2c2_c_pins[] = {
1430 	/* SCL, SDA */
1431 	RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 3),
1432 };
1433 
1434 static const unsigned int i2c2_c_mux[] = {
1435 	SCL2_C_MARK, SDA2_C_MARK,
1436 };
1437 
1438 static const unsigned int i2c2_d_pins[] = {
1439 	/* SCL, SDA */
1440 	RCAR_GP_PIN(6, 11), RCAR_GP_PIN(6, 12),
1441 };
1442 
1443 static const unsigned int i2c2_d_mux[] = {
1444 	SCL2_D_MARK, SDA2_D_MARK,
1445 };
1446 
1447 static const unsigned int i2c2_e_pins[] = {
1448 	/* SCL, SDA */
1449 	RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 0),
1450 };
1451 
1452 static const unsigned int i2c2_e_mux[] = {
1453 	SCL2_E_MARK, SDA2_E_MARK,
1454 };
1455 
1456 static const unsigned int i2c4_pins[] = {
1457 	/* SCL, SDA */
1458 	RCAR_GP_PIN(0, 16), RCAR_GP_PIN(0, 17),
1459 };
1460 
1461 static const unsigned int i2c4_mux[] = {
1462 	SCL4_MARK, SDA4_MARK,
1463 };
1464 
1465 static const unsigned int i2c5_pins[] = {
1466 	/* SCL, SDA */
1467 	RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
1468 };
1469 
1470 static const unsigned int i2c5_mux[] = {
1471 	SCL5_MARK, SDA5_MARK,
1472 };
1473 
1474 static const unsigned int i2c6_a_pins[] = {
1475 	/* SCL, SDA */
1476 	RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 8),
1477 };
1478 
1479 static const unsigned int i2c6_a_mux[] = {
1480 	SCL6_A_MARK, SDA6_A_MARK,
1481 };
1482 
1483 static const unsigned int i2c6_b_pins[] = {
1484 	/* SCL, SDA */
1485 	RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 1),
1486 };
1487 
1488 static const unsigned int i2c6_b_mux[] = {
1489 	SCL6_B_MARK, SDA6_B_MARK,
1490 };
1491 
1492 static const unsigned int i2c7_a_pins[] = {
1493 	/* SCL, SDA */
1494 	RCAR_GP_PIN(2, 24), RCAR_GP_PIN(2, 25),
1495 };
1496 
1497 static const unsigned int i2c7_a_mux[] = {
1498 	SCL7_A_MARK, SDA7_A_MARK,
1499 };
1500 
1501 static const unsigned int i2c7_b_pins[] = {
1502 	/* SCL, SDA */
1503 	RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 14),
1504 };
1505 
1506 static const unsigned int i2c7_b_mux[] = {
1507 	SCL7_B_MARK, SDA7_B_MARK,
1508 };
1509 
1510 /* - SCIF0 ------------------------------------------------------------------ */
1511 static const unsigned int scif0_data_a_pins[] = {
1512 	/* RX, TX */
1513 	RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
1514 };
1515 
1516 static const unsigned int scif0_data_a_mux[] = {
1517 	RX0_A_MARK, TX0_A_MARK,
1518 };
1519 
1520 static const unsigned int scif0_clk_a_pins[] = {
1521 	/* SCK */
1522 	RCAR_GP_PIN(5, 0),
1523 };
1524 
1525 static const unsigned int scif0_clk_a_mux[] = {
1526 	SCK0_A_MARK,
1527 };
1528 
1529 static const unsigned int scif0_ctrl_a_pins[] = {
1530 	/* RTS, CTS */
1531 	RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 3),
1532 };
1533 
1534 static const unsigned int scif0_ctrl_a_mux[] = {
1535 	RTS0_N_TANS_A_MARK, CTS0_N_A_MARK,
1536 };
1537 
1538 static const unsigned int scif0_data_b_pins[] = {
1539 	/* RX, TX */
1540 	RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 19),
1541 };
1542 
1543 static const unsigned int scif0_data_b_mux[] = {
1544 	RX0_B_MARK, TX0_B_MARK,
1545 };
1546 
1547 static const unsigned int scif0_clk_b_pins[] = {
1548 	/* SCK */
1549 	RCAR_GP_PIN(5, 18),
1550 };
1551 
1552 static const unsigned int scif0_clk_b_mux[] = {
1553 	SCK0_B_MARK,
1554 };
1555 
1556 /* - SCIF1 ------------------------------------------------------------------ */
1557 static const unsigned int scif1_data_pins[] = {
1558 	/* RX, TX */
1559 	RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6),
1560 };
1561 
1562 static const unsigned int scif1_data_mux[] = {
1563 	RX1_MARK, TX1_MARK,
1564 };
1565 
1566 static const unsigned int scif1_clk_pins[] = {
1567 	/* SCK */
1568 	RCAR_GP_PIN(5, 16),
1569 };
1570 
1571 static const unsigned int scif1_clk_mux[] = {
1572 	SCK1_MARK,
1573 };
1574 
1575 static const unsigned int scif1_ctrl_pins[] = {
1576 	/* RTS, CTS */
1577 	RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 7),
1578 };
1579 
1580 static const unsigned int scif1_ctrl_mux[] = {
1581 	RTS1_N_TANS_MARK, CTS1_N_MARK,
1582 };
1583 
1584 /* - SCIF2 ------------------------------------------------------------------ */
1585 static const unsigned int scif2_data_a_pins[] = {
1586 	/* RX, TX */
1587 	RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 8),
1588 };
1589 
1590 static const unsigned int scif2_data_a_mux[] = {
1591 	RX2_A_MARK, TX2_A_MARK,
1592 };
1593 
1594 static const unsigned int scif2_clk_a_pins[] = {
1595 	/* SCK */
1596 	RCAR_GP_PIN(5, 7),
1597 };
1598 
1599 static const unsigned int scif2_clk_a_mux[] = {
1600 	SCK2_A_MARK,
1601 };
1602 
1603 static const unsigned int scif2_data_b_pins[] = {
1604 	/* RX, TX */
1605 	RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 11),
1606 };
1607 
1608 static const unsigned int scif2_data_b_mux[] = {
1609 	RX2_B_MARK, TX2_B_MARK,
1610 };
1611 
1612 /* - SCIF3 ------------------------------------------------------------------ */
1613 static const unsigned int scif3_data_a_pins[] = {
1614 	/* RX, TX */
1615 	RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6),
1616 };
1617 
1618 static const unsigned int scif3_data_a_mux[] = {
1619 	RX3_A_MARK, TX3_A_MARK,
1620 };
1621 
1622 static const unsigned int scif3_clk_a_pins[] = {
1623 	/* SCK */
1624 	RCAR_GP_PIN(0, 1),
1625 };
1626 
1627 static const unsigned int scif3_clk_a_mux[] = {
1628 	SCK3_A_MARK,
1629 };
1630 
1631 static const unsigned int scif3_ctrl_a_pins[] = {
1632 	/* RTS, CTS */
1633 	RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 7),
1634 };
1635 
1636 static const unsigned int scif3_ctrl_a_mux[] = {
1637 	RTS3_N_TANS_A_MARK, CTS3_N_A_MARK,
1638 };
1639 
1640 static const unsigned int scif3_data_b_pins[] = {
1641 	/* RX, TX */
1642 	RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 11),
1643 };
1644 
1645 static const unsigned int scif3_data_b_mux[] = {
1646 	RX3_B_MARK, TX3_B_MARK,
1647 };
1648 
1649 static const unsigned int scif3_data_c_pins[] = {
1650 	/* RX, TX */
1651 	RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 22),
1652 };
1653 
1654 static const unsigned int scif3_data_c_mux[] = {
1655 	RX3_C_MARK, TX3_C_MARK,
1656 };
1657 
1658 static const unsigned int scif3_clk_c_pins[] = {
1659 	/* SCK */
1660 	RCAR_GP_PIN(2, 24),
1661 };
1662 
1663 static const unsigned int scif3_clk_c_mux[] = {
1664 	SCK3_C_MARK,
1665 };
1666 
1667 /* - SCIF4 ------------------------------------------------------------------ */
1668 static const unsigned int scif4_data_a_pins[] = {
1669 	/* RX, TX */
1670 	RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 7),
1671 };
1672 
1673 static const unsigned int scif4_data_a_mux[] = {
1674 	RX4_A_MARK, TX4_A_MARK,
1675 };
1676 
1677 static const unsigned int scif4_clk_a_pins[] = {
1678 	/* SCK */
1679 	RCAR_GP_PIN(1, 5),
1680 };
1681 
1682 static const unsigned int scif4_clk_a_mux[] = {
1683 	SCK4_A_MARK,
1684 };
1685 
1686 static const unsigned int scif4_ctrl_a_pins[] = {
1687 	/* RTS, CTS */
1688 	RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 3),
1689 };
1690 
1691 static const unsigned int scif4_ctrl_a_mux[] = {
1692 	RTS4_N_TANS_A_MARK, CTS4_N_A_MARK,
1693 };
1694 
1695 static const unsigned int scif4_data_b_pins[] = {
1696 	/* RX, TX */
1697 	RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 12),
1698 };
1699 
1700 static const unsigned int scif4_data_b_mux[] = {
1701 	RX4_B_MARK, TX4_B_MARK,
1702 };
1703 
1704 static const unsigned int scif4_clk_b_pins[] = {
1705 	/* SCK */
1706 	RCAR_GP_PIN(0, 8),
1707 };
1708 
1709 static const unsigned int scif4_clk_b_mux[] = {
1710 	SCK4_B_MARK,
1711 };
1712 
1713 static const unsigned int scif4_data_c_pins[] = {
1714 	/* RX, TX */
1715 	RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 3),
1716 };
1717 
1718 static const unsigned int scif4_data_c_mux[] = {
1719 	RX4_C_MARK, TX4_C_MARK,
1720 };
1721 
1722 static const unsigned int scif4_ctrl_c_pins[] = {
1723 	/* RTS, CTS */
1724 	RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 0),
1725 };
1726 
1727 static const unsigned int scif4_ctrl_c_mux[] = {
1728 	RTS4_N_TANS_C_MARK, CTS4_N_C_MARK,
1729 };
1730 
1731 /* - SCIF5 ------------------------------------------------------------------ */
1732 static const unsigned int scif5_data_a_pins[] = {
1733 	/* RX, TX */
1734 	RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 9),
1735 };
1736 
1737 static const unsigned int scif5_data_a_mux[] = {
1738 	RX5_A_MARK, TX5_A_MARK,
1739 };
1740 
1741 static const unsigned int scif5_clk_a_pins[] = {
1742 	/* SCK */
1743 	RCAR_GP_PIN(1, 13),
1744 };
1745 
1746 static const unsigned int scif5_clk_a_mux[] = {
1747 	SCK5_A_MARK,
1748 };
1749 
1750 static const unsigned int scif5_data_b_pins[] = {
1751 	/* RX, TX */
1752 	RCAR_GP_PIN(2, 25), RCAR_GP_PIN(2, 24),
1753 };
1754 
1755 static const unsigned int scif5_data_b_mux[] = {
1756 	RX5_B_MARK, TX5_B_MARK,
1757 };
1758 
1759 static const unsigned int scif5_data_c_pins[] = {
1760 	/* RX, TX */
1761 	RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 3),
1762 };
1763 
1764 static const unsigned int scif5_data_c_mux[] = {
1765 	RX5_C_MARK, TX5_C_MARK,
1766 };
1767 
1768 /* - SCIF Clock ------------------------------------------------------------- */
1769 static const unsigned int scif_clk_a_pins[] = {
1770 	/* SCIF_CLK */
1771 	RCAR_GP_PIN(5, 3),
1772 };
1773 
1774 static const unsigned int scif_clk_a_mux[] = {
1775 	SCIF_CLK_A_MARK,
1776 };
1777 
1778 static const unsigned int scif_clk_b_pins[] = {
1779 	/* SCIF_CLK */
1780 	RCAR_GP_PIN(5, 7),
1781 };
1782 
1783 static const unsigned int scif_clk_b_mux[] = {
1784 	SCIF_CLK_B_MARK,
1785 };
1786 
1787 /* - USB0 ------------------------------------------------------------------- */
1788 static const unsigned int usb0_a_pins[] = {
1789 	/* PWEN, OVC */
1790 	RCAR_GP_PIN(6, 17), RCAR_GP_PIN(6, 9),
1791 };
1792 
1793 static const unsigned int usb0_a_mux[] = {
1794 	USB0_PWEN_A_MARK, USB0_OVC_A_MARK,
1795 };
1796 
1797 static const unsigned int usb0_b_pins[] = {
1798 	/* PWEN, OVC */
1799 	RCAR_GP_PIN(6, 11), RCAR_GP_PIN(6, 12),
1800 };
1801 
1802 static const unsigned int usb0_b_mux[] = {
1803 	USB0_PWEN_B_MARK, USB0_OVC_B_MARK,
1804 };
1805 
1806 static const unsigned int usb0_id_pins[] = {
1807 	/* ID */
1808 	RCAR_GP_PIN(5, 0)
1809 };
1810 
1811 static const unsigned int usb0_id_mux[] = {
1812 	USB0_ID_MARK,
1813 };
1814 
1815 /* - USB30 ------------------------------------------------------------------ */
1816 static const unsigned int usb30_pins[] = {
1817 	/* PWEN, OVC */
1818 	RCAR_GP_PIN(6, 17), RCAR_GP_PIN(6, 9),
1819 };
1820 
1821 static const unsigned int usb30_mux[] = {
1822 	USB30_PWEN_MARK, USB30_OVC_MARK,
1823 };
1824 
1825 static const unsigned int usb30_id_pins[] = {
1826 	/* ID */
1827 	RCAR_GP_PIN(5, 0),
1828 };
1829 
1830 static const unsigned int usb30_id_mux[] = {
1831 	USB3HS0_ID_MARK,
1832 };
1833 
1834 static const struct sh_pfc_pin_group pinmux_groups[] = {
1835 	SH_PFC_PIN_GROUP(avb_link),
1836 	SH_PFC_PIN_GROUP(avb_magic),
1837 	SH_PFC_PIN_GROUP(avb_phy_int),
1838 	SH_PFC_PIN_GROUP(avb_mii),
1839 	SH_PFC_PIN_GROUP(avb_avtp_pps),
1840 	SH_PFC_PIN_GROUP(avb_avtp_match_a),
1841 	SH_PFC_PIN_GROUP(avb_avtp_capture_a),
1842 	SH_PFC_PIN_GROUP(i2c1_a),
1843 	SH_PFC_PIN_GROUP(i2c1_b),
1844 	SH_PFC_PIN_GROUP(i2c1_c),
1845 	SH_PFC_PIN_GROUP(i2c1_d),
1846 	SH_PFC_PIN_GROUP(i2c2_a),
1847 	SH_PFC_PIN_GROUP(i2c2_b),
1848 	SH_PFC_PIN_GROUP(i2c2_c),
1849 	SH_PFC_PIN_GROUP(i2c2_d),
1850 	SH_PFC_PIN_GROUP(i2c2_e),
1851 	SH_PFC_PIN_GROUP(i2c4),
1852 	SH_PFC_PIN_GROUP(i2c5),
1853 	SH_PFC_PIN_GROUP(i2c6_a),
1854 	SH_PFC_PIN_GROUP(i2c6_b),
1855 	SH_PFC_PIN_GROUP(i2c7_a),
1856 	SH_PFC_PIN_GROUP(i2c7_b),
1857 	SH_PFC_PIN_GROUP(scif0_data_a),
1858 	SH_PFC_PIN_GROUP(scif0_clk_a),
1859 	SH_PFC_PIN_GROUP(scif0_ctrl_a),
1860 	SH_PFC_PIN_GROUP(scif0_data_b),
1861 	SH_PFC_PIN_GROUP(scif0_clk_b),
1862 	SH_PFC_PIN_GROUP(scif1_data),
1863 	SH_PFC_PIN_GROUP(scif1_clk),
1864 	SH_PFC_PIN_GROUP(scif1_ctrl),
1865 	SH_PFC_PIN_GROUP(scif2_data_a),
1866 	SH_PFC_PIN_GROUP(scif2_clk_a),
1867 	SH_PFC_PIN_GROUP(scif2_data_b),
1868 	SH_PFC_PIN_GROUP(scif3_data_a),
1869 	SH_PFC_PIN_GROUP(scif3_clk_a),
1870 	SH_PFC_PIN_GROUP(scif3_ctrl_a),
1871 	SH_PFC_PIN_GROUP(scif3_data_b),
1872 	SH_PFC_PIN_GROUP(scif3_data_c),
1873 	SH_PFC_PIN_GROUP(scif3_clk_c),
1874 	SH_PFC_PIN_GROUP(scif4_data_a),
1875 	SH_PFC_PIN_GROUP(scif4_clk_a),
1876 	SH_PFC_PIN_GROUP(scif4_ctrl_a),
1877 	SH_PFC_PIN_GROUP(scif4_data_b),
1878 	SH_PFC_PIN_GROUP(scif4_clk_b),
1879 	SH_PFC_PIN_GROUP(scif4_data_c),
1880 	SH_PFC_PIN_GROUP(scif4_ctrl_c),
1881 	SH_PFC_PIN_GROUP(scif5_data_a),
1882 	SH_PFC_PIN_GROUP(scif5_clk_a),
1883 	SH_PFC_PIN_GROUP(scif5_data_b),
1884 	SH_PFC_PIN_GROUP(scif5_data_c),
1885 	SH_PFC_PIN_GROUP(scif_clk_a),
1886 	SH_PFC_PIN_GROUP(scif_clk_b),
1887 	SH_PFC_PIN_GROUP(usb0_a),
1888 	SH_PFC_PIN_GROUP(usb0_b),
1889 	SH_PFC_PIN_GROUP(usb0_id),
1890 	SH_PFC_PIN_GROUP(usb30),
1891 	SH_PFC_PIN_GROUP(usb30_id),
1892 };
1893 
1894 static const char * const avb_groups[] = {
1895 	"avb_link",
1896 	"avb_magic",
1897 	"avb_phy_int",
1898 	"avb_mii",
1899 	"avb_avtp_pps",
1900 	"avb_avtp_match_a",
1901 	"avb_avtp_capture_a",
1902 };
1903 
1904 static const char * const i2c1_groups[] = {
1905 	"i2c1_a",
1906 	"i2c1_b",
1907 	"i2c1_c",
1908 	"i2c1_d",
1909 };
1910 
1911 static const char * const i2c2_groups[] = {
1912 	"i2c2_a",
1913 	"i2c2_b",
1914 	"i2c2_c",
1915 	"i2c2_d",
1916 	"i2c2_e",
1917 };
1918 
1919 static const char * const i2c4_groups[] = {
1920 	"i2c4",
1921 };
1922 
1923 static const char * const i2c5_groups[] = {
1924 	"i2c5",
1925 };
1926 
1927 static const char * const i2c6_groups[] = {
1928 	"i2c6_a",
1929 	"i2c6_b",
1930 };
1931 
1932 static const char * const i2c7_groups[] = {
1933 	"i2c7_a",
1934 	"i2c7_b",
1935 };
1936 
1937 static const char * const scif0_groups[] = {
1938 	"scif0_data_a",
1939 	"scif0_clk_a",
1940 	"scif0_ctrl_a",
1941 	"scif0_data_b",
1942 	"scif0_clk_b",
1943 };
1944 
1945 static const char * const scif1_groups[] = {
1946 	"scif1_data",
1947 	"scif1_clk",
1948 	"scif1_ctrl",
1949 };
1950 
1951 static const char * const scif2_groups[] = {
1952 	"scif2_data_a",
1953 	"scif2_clk_a",
1954 	"scif2_data_b",
1955 };
1956 
1957 static const char * const scif3_groups[] = {
1958 	"scif3_data_a",
1959 	"scif3_clk_a",
1960 	"scif3_ctrl_a",
1961 	"scif3_data_b",
1962 	"scif3_data_c",
1963 	"scif3_clk_c",
1964 };
1965 
1966 static const char * const scif4_groups[] = {
1967 	"scif4_data_a",
1968 	"scif4_clk_a",
1969 	"scif4_ctrl_a",
1970 	"scif4_data_b",
1971 	"scif4_clk_b",
1972 	"scif4_data_c",
1973 	"scif4_ctrl_c",
1974 };
1975 
1976 static const char * const scif5_groups[] = {
1977 	"scif5_data_a",
1978 	"scif5_clk_a",
1979 	"scif5_data_b",
1980 	"scif5_data_c",
1981 };
1982 
1983 static const char * const scif_clk_groups[] = {
1984 	"scif_clk_a",
1985 	"scif_clk_b",
1986 };
1987 
1988 static const char * const usb0_groups[] = {
1989 	"usb0_a",
1990 	"usb0_b",
1991 	"usb0_id",
1992 };
1993 
1994 static const char * const usb30_groups[] = {
1995 	"usb30",
1996 	"usb30_id",
1997 };
1998 
1999 static const struct sh_pfc_function pinmux_functions[] = {
2000 	SH_PFC_FUNCTION(avb),
2001 	SH_PFC_FUNCTION(i2c1),
2002 	SH_PFC_FUNCTION(i2c2),
2003 	SH_PFC_FUNCTION(i2c4),
2004 	SH_PFC_FUNCTION(i2c5),
2005 	SH_PFC_FUNCTION(i2c6),
2006 	SH_PFC_FUNCTION(i2c7),
2007 	SH_PFC_FUNCTION(scif0),
2008 	SH_PFC_FUNCTION(scif1),
2009 	SH_PFC_FUNCTION(scif2),
2010 	SH_PFC_FUNCTION(scif3),
2011 	SH_PFC_FUNCTION(scif4),
2012 	SH_PFC_FUNCTION(scif5),
2013 	SH_PFC_FUNCTION(scif_clk),
2014 	SH_PFC_FUNCTION(usb0),
2015 	SH_PFC_FUNCTION(usb30),
2016 };
2017 
2018 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
2019 #define F_(x, y)	FN_##y
2020 #define FM(x)		FN_##x
2021 	{ PINMUX_CFG_REG("GPSR0", 0xe6060100, 32, 1) {
2022 		0, 0,
2023 		0, 0,
2024 		0, 0,
2025 		0, 0,
2026 		0, 0,
2027 		0, 0,
2028 		0, 0,
2029 		0, 0,
2030 		0, 0,
2031 		0, 0,
2032 		0, 0,
2033 		0, 0,
2034 		0, 0,
2035 		0, 0,
2036 		GP_0_17_FN,	GPSR0_17,
2037 		GP_0_16_FN,	GPSR0_16,
2038 		GP_0_15_FN,	GPSR0_15,
2039 		GP_0_14_FN,	GPSR0_14,
2040 		GP_0_13_FN,	GPSR0_13,
2041 		GP_0_12_FN,	GPSR0_12,
2042 		GP_0_11_FN,	GPSR0_11,
2043 		GP_0_10_FN,	GPSR0_10,
2044 		GP_0_9_FN,	GPSR0_9,
2045 		GP_0_8_FN,	GPSR0_8,
2046 		GP_0_7_FN,	GPSR0_7,
2047 		GP_0_6_FN,	GPSR0_6,
2048 		GP_0_5_FN,	GPSR0_5,
2049 		GP_0_4_FN,	GPSR0_4,
2050 		GP_0_3_FN,	GPSR0_3,
2051 		GP_0_2_FN,	GPSR0_2,
2052 		GP_0_1_FN,	GPSR0_1,
2053 		GP_0_0_FN,	GPSR0_0, }
2054 	},
2055 	{ PINMUX_CFG_REG("GPSR1", 0xe6060104, 32, 1) {
2056 		0, 0,
2057 		0, 0,
2058 		0, 0,
2059 		0, 0,
2060 		0, 0,
2061 		0, 0,
2062 		0, 0,
2063 		0, 0,
2064 		0, 0,
2065 		GP_1_22_FN,	GPSR1_22,
2066 		GP_1_21_FN,	GPSR1_21,
2067 		GP_1_20_FN,	GPSR1_20,
2068 		GP_1_19_FN,	GPSR1_19,
2069 		GP_1_18_FN,	GPSR1_18,
2070 		GP_1_17_FN,	GPSR1_17,
2071 		GP_1_16_FN,	GPSR1_16,
2072 		GP_1_15_FN,	GPSR1_15,
2073 		GP_1_14_FN,	GPSR1_14,
2074 		GP_1_13_FN,	GPSR1_13,
2075 		GP_1_12_FN,	GPSR1_12,
2076 		GP_1_11_FN,	GPSR1_11,
2077 		GP_1_10_FN,	GPSR1_10,
2078 		GP_1_9_FN,	GPSR1_9,
2079 		GP_1_8_FN,	GPSR1_8,
2080 		GP_1_7_FN,	GPSR1_7,
2081 		GP_1_6_FN,	GPSR1_6,
2082 		GP_1_5_FN,	GPSR1_5,
2083 		GP_1_4_FN,	GPSR1_4,
2084 		GP_1_3_FN,	GPSR1_3,
2085 		GP_1_2_FN,	GPSR1_2,
2086 		GP_1_1_FN,	GPSR1_1,
2087 		GP_1_0_FN,	GPSR1_0, }
2088 	},
2089 	{ PINMUX_CFG_REG("GPSR2", 0xe6060108, 32, 1) {
2090 		0, 0,
2091 		0, 0,
2092 		0, 0,
2093 		0, 0,
2094 		0, 0,
2095 		0, 0,
2096 		GP_2_25_FN,	GPSR2_25,
2097 		GP_2_24_FN,	GPSR2_24,
2098 		GP_2_23_FN,	GPSR2_23,
2099 		GP_2_22_FN,	GPSR2_22,
2100 		GP_2_21_FN,	GPSR2_21,
2101 		GP_2_20_FN,	GPSR2_20,
2102 		GP_2_19_FN,	GPSR2_19,
2103 		GP_2_18_FN,	GPSR2_18,
2104 		GP_2_17_FN,	GPSR2_17,
2105 		GP_2_16_FN,	GPSR2_16,
2106 		GP_2_15_FN,	GPSR2_15,
2107 		GP_2_14_FN,	GPSR2_14,
2108 		GP_2_13_FN,	GPSR2_13,
2109 		GP_2_12_FN,	GPSR2_12,
2110 		GP_2_11_FN,	GPSR2_11,
2111 		GP_2_10_FN,	GPSR2_10,
2112 		GP_2_9_FN,	GPSR2_9,
2113 		GP_2_8_FN,	GPSR2_8,
2114 		GP_2_7_FN,	GPSR2_7,
2115 		GP_2_6_FN,	GPSR2_6,
2116 		GP_2_5_FN,	GPSR2_5,
2117 		GP_2_4_FN,	GPSR2_4,
2118 		GP_2_3_FN,	GPSR2_3,
2119 		GP_2_2_FN,	GPSR2_2,
2120 		GP_2_1_FN,	GPSR2_1,
2121 		GP_2_0_FN,	GPSR2_0, }
2122 	},
2123 	{ PINMUX_CFG_REG("GPSR3", 0xe606010c, 32, 1) {
2124 		0, 0,
2125 		0, 0,
2126 		0, 0,
2127 		0, 0,
2128 		0, 0,
2129 		0, 0,
2130 		0, 0,
2131 		0, 0,
2132 		0, 0,
2133 		0, 0,
2134 		0, 0,
2135 		0, 0,
2136 		0, 0,
2137 		0, 0,
2138 		0, 0,
2139 		0, 0,
2140 		GP_3_15_FN,	GPSR3_15,
2141 		GP_3_14_FN,	GPSR3_14,
2142 		GP_3_13_FN,	GPSR3_13,
2143 		GP_3_12_FN,	GPSR3_12,
2144 		GP_3_11_FN,	GPSR3_11,
2145 		GP_3_10_FN,	GPSR3_10,
2146 		GP_3_9_FN,	GPSR3_9,
2147 		GP_3_8_FN,	GPSR3_8,
2148 		GP_3_7_FN,	GPSR3_7,
2149 		GP_3_6_FN,	GPSR3_6,
2150 		GP_3_5_FN,	GPSR3_5,
2151 		GP_3_4_FN,	GPSR3_4,
2152 		GP_3_3_FN,	GPSR3_3,
2153 		GP_3_2_FN,	GPSR3_2,
2154 		GP_3_1_FN,	GPSR3_1,
2155 		GP_3_0_FN,	GPSR3_0, }
2156 	},
2157 	{ PINMUX_CFG_REG("GPSR4", 0xe6060110, 32, 1) {
2158 		0, 0,
2159 		0, 0,
2160 		0, 0,
2161 		0, 0,
2162 		0, 0,
2163 		0, 0,
2164 		0, 0,
2165 		0, 0,
2166 		0, 0,
2167 		0, 0,
2168 		0, 0,
2169 		0, 0,
2170 		0, 0,
2171 		0, 0,
2172 		0, 0,
2173 		0, 0,
2174 		0, 0,
2175 		0, 0,
2176 		0, 0,
2177 		0, 0,
2178 		0, 0,
2179 		GP_4_10_FN,	GPSR4_10,
2180 		GP_4_9_FN,	GPSR4_9,
2181 		GP_4_8_FN,	GPSR4_8,
2182 		GP_4_7_FN,	GPSR4_7,
2183 		GP_4_6_FN,	GPSR4_6,
2184 		GP_4_5_FN,	GPSR4_5,
2185 		GP_4_4_FN,	GPSR4_4,
2186 		GP_4_3_FN,	GPSR4_3,
2187 		GP_4_2_FN,	GPSR4_2,
2188 		GP_4_1_FN,	GPSR4_1,
2189 		GP_4_0_FN,	GPSR4_0, }
2190 	},
2191 	{ PINMUX_CFG_REG("GPSR5", 0xe6060114, 32, 1) {
2192 		0, 0,
2193 		0, 0,
2194 		0, 0,
2195 		0, 0,
2196 		0, 0,
2197 		0, 0,
2198 		0, 0,
2199 		0, 0,
2200 		0, 0,
2201 		0, 0,
2202 		0, 0,
2203 		0, 0,
2204 		GP_5_19_FN,	GPSR5_19,
2205 		GP_5_18_FN,	GPSR5_18,
2206 		GP_5_17_FN,	GPSR5_17,
2207 		GP_5_16_FN,	GPSR5_16,
2208 		GP_5_15_FN,	GPSR5_15,
2209 		GP_5_14_FN,	GPSR5_14,
2210 		GP_5_13_FN,	GPSR5_13,
2211 		GP_5_12_FN,	GPSR5_12,
2212 		GP_5_11_FN,	GPSR5_11,
2213 		GP_5_10_FN,	GPSR5_10,
2214 		GP_5_9_FN,	GPSR5_9,
2215 		GP_5_8_FN,	GPSR5_8,
2216 		GP_5_7_FN,	GPSR5_7,
2217 		GP_5_6_FN,	GPSR5_6,
2218 		GP_5_5_FN,	GPSR5_5,
2219 		GP_5_4_FN,	GPSR5_4,
2220 		GP_5_3_FN,	GPSR5_3,
2221 		GP_5_2_FN,	GPSR5_2,
2222 		GP_5_1_FN,	GPSR5_1,
2223 		GP_5_0_FN,	GPSR5_0, }
2224 	},
2225 	{ PINMUX_CFG_REG("GPSR6", 0xe6060118, 32, 1) {
2226 		0, 0,
2227 		0, 0,
2228 		0, 0,
2229 		0, 0,
2230 		0, 0,
2231 		0, 0,
2232 		0, 0,
2233 		0, 0,
2234 		0, 0,
2235 		0, 0,
2236 		0, 0,
2237 		0, 0,
2238 		0, 0,
2239 		0, 0,
2240 		GP_6_17_FN,	GPSR6_17,
2241 		GP_6_16_FN,	GPSR6_16,
2242 		GP_6_15_FN,	GPSR6_15,
2243 		GP_6_14_FN,	GPSR6_14,
2244 		GP_6_13_FN,	GPSR6_13,
2245 		GP_6_12_FN,	GPSR6_12,
2246 		GP_6_11_FN,	GPSR6_11,
2247 		GP_6_10_FN,	GPSR6_10,
2248 		GP_6_9_FN,	GPSR6_9,
2249 		GP_6_8_FN,	GPSR6_8,
2250 		GP_6_7_FN,	GPSR6_7,
2251 		GP_6_6_FN,	GPSR6_6,
2252 		GP_6_5_FN,	GPSR6_5,
2253 		GP_6_4_FN,	GPSR6_4,
2254 		GP_6_3_FN,	GPSR6_3,
2255 		GP_6_2_FN,	GPSR6_2,
2256 		GP_6_1_FN,	GPSR6_1,
2257 		GP_6_0_FN,	GPSR6_0, }
2258 	},
2259 #undef F_
2260 #undef FM
2261 
2262 #define F_(x, y)	x,
2263 #define FM(x)		FN_##x,
2264 	{ PINMUX_CFG_REG("IPSR0", 0xe6060200, 32, 4) {
2265 		IP0_31_28
2266 		IP0_27_24
2267 		IP0_23_20
2268 		IP0_19_16
2269 		IP0_15_12
2270 		IP0_11_8
2271 		IP0_7_4
2272 		IP0_3_0 }
2273 	},
2274 	{ PINMUX_CFG_REG("IPSR1", 0xe6060204, 32, 4) {
2275 		IP1_31_28
2276 		IP1_27_24
2277 		IP1_23_20
2278 		IP1_19_16
2279 		IP1_15_12
2280 		IP1_11_8
2281 		IP1_7_4
2282 		IP1_3_0 }
2283 	},
2284 	{ PINMUX_CFG_REG("IPSR2", 0xe6060208, 32, 4) {
2285 		IP2_31_28
2286 		IP2_27_24
2287 		IP2_23_20
2288 		IP2_19_16
2289 		IP2_15_12
2290 		IP2_11_8
2291 		IP2_7_4
2292 		IP2_3_0 }
2293 	},
2294 	{ PINMUX_CFG_REG("IPSR3", 0xe606020c, 32, 4) {
2295 		IP3_31_28
2296 		IP3_27_24
2297 		IP3_23_20
2298 		IP3_19_16
2299 		IP3_15_12
2300 		IP3_11_8
2301 		IP3_7_4
2302 		IP3_3_0 }
2303 	},
2304 	{ PINMUX_CFG_REG("IPSR4", 0xe6060210, 32, 4) {
2305 		IP4_31_28
2306 		IP4_27_24
2307 		IP4_23_20
2308 		IP4_19_16
2309 		IP4_15_12
2310 		IP4_11_8
2311 		IP4_7_4
2312 		IP4_3_0 }
2313 	},
2314 	{ PINMUX_CFG_REG("IPSR5", 0xe6060214, 32, 4) {
2315 		IP5_31_28
2316 		IP5_27_24
2317 		IP5_23_20
2318 		IP5_19_16
2319 		IP5_15_12
2320 		IP5_11_8
2321 		IP5_7_4
2322 		IP5_3_0 }
2323 	},
2324 	{ PINMUX_CFG_REG("IPSR6", 0xe6060218, 32, 4) {
2325 		IP6_31_28
2326 		IP6_27_24
2327 		IP6_23_20
2328 		IP6_19_16
2329 		IP6_15_12
2330 		IP6_11_8
2331 		IP6_7_4
2332 		IP6_3_0 }
2333 	},
2334 	{ PINMUX_CFG_REG("IPSR7", 0xe606021c, 32, 4) {
2335 		IP7_31_28
2336 		IP7_27_24
2337 		IP7_23_20
2338 		IP7_19_16
2339 		IP7_15_12
2340 		IP7_11_8
2341 		IP7_7_4
2342 		IP7_3_0 }
2343 	},
2344 	{ PINMUX_CFG_REG("IPSR8", 0xe6060220, 32, 4) {
2345 		IP8_31_28
2346 		IP8_27_24
2347 		IP8_23_20
2348 		IP8_19_16
2349 		IP8_15_12
2350 		IP8_11_8
2351 		IP8_7_4
2352 		IP8_3_0 }
2353 	},
2354 	{ PINMUX_CFG_REG("IPSR9", 0xe6060224, 32, 4) {
2355 		IP9_31_28
2356 		IP9_27_24
2357 		IP9_23_20
2358 		IP9_19_16
2359 		IP9_15_12
2360 		IP9_11_8
2361 		IP9_7_4
2362 		IP9_3_0 }
2363 	},
2364 	{ PINMUX_CFG_REG("IPSR10", 0xe6060228, 32, 4) {
2365 		IP10_31_28
2366 		IP10_27_24
2367 		IP10_23_20
2368 		IP10_19_16
2369 		IP10_15_12
2370 		IP10_11_8
2371 		IP10_7_4
2372 		IP10_3_0 }
2373 	},
2374 	{ PINMUX_CFG_REG("IPSR11", 0xe606022c, 32, 4) {
2375 		IP11_31_28
2376 		IP11_27_24
2377 		IP11_23_20
2378 		IP11_19_16
2379 		IP11_15_12
2380 		IP11_11_8
2381 		IP11_7_4
2382 		IP11_3_0 }
2383 	},
2384 	{ PINMUX_CFG_REG("IPSR12", 0xe6060230, 32, 4) {
2385 		IP12_31_28
2386 		IP12_27_24
2387 		IP12_23_20
2388 		IP12_19_16
2389 		IP12_15_12
2390 		IP12_11_8
2391 		IP12_7_4
2392 		IP12_3_0 }
2393 	},
2394 	{ PINMUX_CFG_REG("IPSR13", 0xe6060234, 32, 4) {
2395 		IP13_31_28
2396 		IP13_27_24
2397 		IP13_23_20
2398 		IP13_19_16
2399 		IP13_15_12
2400 		IP13_11_8
2401 		IP13_7_4
2402 		IP13_3_0 }
2403 	},
2404 	{ PINMUX_CFG_REG("IPSR14", 0xe6060238, 32, 4) {
2405 		IP14_31_28
2406 		IP14_27_24
2407 		IP14_23_20
2408 		IP14_19_16
2409 		IP14_15_12
2410 		IP14_11_8
2411 		IP14_7_4
2412 		IP14_3_0 }
2413 	},
2414 	{ PINMUX_CFG_REG("IPSR15", 0xe606023c, 32, 4) {
2415 		IP15_31_28
2416 		IP15_27_24
2417 		IP15_23_20
2418 		IP15_19_16
2419 		IP15_15_12
2420 		IP15_11_8
2421 		IP15_7_4
2422 		IP15_3_0 }
2423 	},
2424 #undef F_
2425 #undef FM
2426 
2427 #define F_(x, y)	x,
2428 #define FM(x)		FN_##x,
2429 	{ PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32,
2430 			     1, 2, 1, 2, 1, 1, 1, 1, 2, 3, 1,
2431 			     1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2) {
2432 		/* RESERVED 31 */
2433 		0, 0,
2434 		MOD_SEL0_30_29
2435 		MOD_SEL0_28
2436 		MOD_SEL0_27_26
2437 		MOD_SEL0_25
2438 		MOD_SEL0_24
2439 		MOD_SEL0_23
2440 		MOD_SEL0_22
2441 		MOD_SEL0_21_20
2442 		MOD_SEL0_19_18_17
2443 		MOD_SEL0_16
2444 		MOD_SEL0_15
2445 		MOD_SEL0_14
2446 		MOD_SEL0_13_12
2447 		MOD_SEL0_11_10
2448 		MOD_SEL0_9
2449 		MOD_SEL0_8
2450 		MOD_SEL0_7
2451 		MOD_SEL0_6_5
2452 		MOD_SEL0_4
2453 		MOD_SEL0_3
2454 		MOD_SEL0_2
2455 		MOD_SEL0_1_0 }
2456 	},
2457 	{ PINMUX_CFG_REG_VAR("MOD_SEL1", 0xe6060504, 32,
2458 			     1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1,
2459 			     1, 2, 2, 2, 1, 1, 2, 1, 4) {
2460 		MOD_SEL1_31
2461 		MOD_SEL1_30
2462 		MOD_SEL1_29
2463 		MOD_SEL1_28
2464 		/* RESERVED 27 */
2465 		0, 0,
2466 		MOD_SEL1_26
2467 		MOD_SEL1_25
2468 		MOD_SEL1_24_23_22
2469 		MOD_SEL1_21_20_19
2470 		MOD_SEL1_18
2471 		MOD_SEL1_17
2472 		MOD_SEL1_16
2473 		MOD_SEL1_15
2474 		MOD_SEL1_14_13
2475 		MOD_SEL1_12_11
2476 		MOD_SEL1_10_9
2477 		MOD_SEL1_8
2478 		MOD_SEL1_7
2479 		MOD_SEL1_6_5
2480 		MOD_SEL1_4
2481 		/* RESERVED 3, 2, 1, 0  */
2482 		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
2483 	},
2484 	{ },
2485 };
2486 
2487 static const struct pinmux_bias_reg pinmux_bias_regs[] = {
2488 	{ PINMUX_BIAS_REG("PUEN0", 0xe6060400, "PUD0", 0xe6060440) {
2489 		 [0] = RCAR_GP_PIN(2, 23),	/* RD# */
2490 		 [1] = RCAR_GP_PIN(2, 22),	/* BS# */
2491 		 [2] = RCAR_GP_PIN(2, 21),	/* AVB_PHY_INT */
2492 		 [3] = PIN_NUMBER('P', 5),	/* AVB_MDC */
2493 		 [4] = PIN_NUMBER('P', 4),	/* AVB_MDIO */
2494 		 [5] = RCAR_GP_PIN(2, 20),	/* AVB_TXCREFCLK */
2495 		 [6] = PIN_NUMBER('N', 6),	/* AVB_TD3 */
2496 		 [7] = PIN_NUMBER('N', 5),	/* AVB_TD2 */
2497 		 [8] = PIN_NUMBER('N', 3),	/* AVB_TD1 */
2498 		 [9] = PIN_NUMBER('N', 2),	/* AVB_TD0 */
2499 		[10] = PIN_NUMBER('N', 1),	/* AVB_TXC */
2500 		[11] = PIN_NUMBER('P', 3),	/* AVB_TX_CTL */
2501 		[12] = RCAR_GP_PIN(2, 19),	/* AVB_RD3 */
2502 		[13] = RCAR_GP_PIN(2, 18),	/* AVB_RD2 */
2503 		[14] = RCAR_GP_PIN(2, 17),	/* AVB_RD1 */
2504 		[15] = RCAR_GP_PIN(2, 16),	/* AVB_RD0 */
2505 		[16] = RCAR_GP_PIN(2, 15),	/* AVB_RXC */
2506 		[17] = RCAR_GP_PIN(2, 14),	/* AVB_RX_CTL */
2507 		[18] = RCAR_GP_PIN(2, 13),	/* RPC_RESET# */
2508 		[19] = RCAR_GP_PIN(2, 12),	/* RPC_INT# */
2509 		[20] = RCAR_GP_PIN(2, 11),	/* QSPI1_SSL */
2510 		[21] = RCAR_GP_PIN(2, 10),	/* QSPI1_IO3 */
2511 		[22] = RCAR_GP_PIN(2,  9),	/* QSPI1_IO2 */
2512 		[23] = RCAR_GP_PIN(2,  8),	/* QSPI1_MISO/IO1 */
2513 		[24] = RCAR_GP_PIN(2,  7),	/* QSPI1_MOSI/IO0 */
2514 		[25] = RCAR_GP_PIN(2,  6),	/* QSPI1_SPCLK */
2515 		[26] = RCAR_GP_PIN(2,  5),	/* QSPI0_SSL */
2516 		[27] = RCAR_GP_PIN(2,  4),	/* QSPI0_IO3 */
2517 		[28] = RCAR_GP_PIN(2,  3),	/* QSPI0_IO2 */
2518 		[29] = RCAR_GP_PIN(2,  2),	/* QSPI0_MISO/IO1 */
2519 		[30] = RCAR_GP_PIN(2,  1),	/* QSPI0_MOSI/IO0 */
2520 		[31] = RCAR_GP_PIN(2,  0),	/* QSPI0_SPCLK */
2521 	} },
2522 	{ PINMUX_BIAS_REG("PUEN1", 0xe6060404, "PUD1", 0xe6060444) {
2523 		 [0] = RCAR_GP_PIN(0,  4),	/* D4 */
2524 		 [1] = RCAR_GP_PIN(0,  3),	/* D3 */
2525 		 [2] = RCAR_GP_PIN(0,  2),	/* D2 */
2526 		 [3] = RCAR_GP_PIN(0,  1),	/* D1 */
2527 		 [4] = RCAR_GP_PIN(0,  0),	/* D0 */
2528 		 [5] = RCAR_GP_PIN(1, 22),	/* WE0# */
2529 		 [6] = RCAR_GP_PIN(1, 21),	/* CS0# */
2530 		 [7] = RCAR_GP_PIN(1, 20),	/* CLKOUT */
2531 		 [8] = RCAR_GP_PIN(1, 19),	/* A19 */
2532 		 [9] = RCAR_GP_PIN(1, 18),	/* A18 */
2533 		[10] = RCAR_GP_PIN(1, 17),	/* A17 */
2534 		[11] = RCAR_GP_PIN(1, 16),	/* A16 */
2535 		[12] = RCAR_GP_PIN(1, 15),	/* A15 */
2536 		[13] = RCAR_GP_PIN(1, 14),	/* A14 */
2537 		[14] = RCAR_GP_PIN(1, 13),	/* A13 */
2538 		[15] = RCAR_GP_PIN(1, 12),	/* A12 */
2539 		[16] = RCAR_GP_PIN(1, 11),	/* A11 */
2540 		[17] = RCAR_GP_PIN(1, 10),	/* A10 */
2541 		[18] = RCAR_GP_PIN(1,  9),	/* A9 */
2542 		[19] = RCAR_GP_PIN(1,  8),	/* A8 */
2543 		[20] = RCAR_GP_PIN(1,  7),	/* A7 */
2544 		[21] = RCAR_GP_PIN(1,  6),	/* A6 */
2545 		[22] = RCAR_GP_PIN(1,  5),	/* A5 */
2546 		[23] = RCAR_GP_PIN(1,  4),	/* A4 */
2547 		[24] = RCAR_GP_PIN(1,  3),	/* A3 */
2548 		[25] = RCAR_GP_PIN(1,  2),	/* A2 */
2549 		[26] = RCAR_GP_PIN(1,  1),	/* A1 */
2550 		[27] = RCAR_GP_PIN(1,  0),	/* A0 */
2551 		[28] = PIN_NONE,
2552 		[29] = PIN_NONE,
2553 		[30] = RCAR_GP_PIN(2, 25),	/* PUEN_EX_WAIT0 */
2554 		[31] = RCAR_GP_PIN(2, 24),	/* PUEN_RD/WR# */
2555 	} },
2556 	{ PINMUX_BIAS_REG("PUEN2", 0xe6060408, "PUD2", 0xe6060448) {
2557 		 [0] = RCAR_GP_PIN(3,  1),	/* SD0_CMD */
2558 		 [1] = RCAR_GP_PIN(3,  0),	/* SD0_CLK */
2559 		 [2] = PIN_NUMBER('H', 1),	/* ASEBRK */
2560 		 [3] = PIN_NONE,
2561 		 [4] = PIN_NUMBER('G', 2),	/* TDI */
2562 		 [5] = PIN_NUMBER('F', 3),	/* TMS */
2563 		 [6] = PIN_NUMBER('F', 4),	/* TCK */
2564 		 [7] = PIN_NUMBER('F', 1),	/* TRST# */
2565 		 [8] = PIN_NONE,
2566 		 [9] = PIN_NONE,
2567 		[10] = PIN_NONE,
2568 		[11] = PIN_NONE,
2569 		[12] = PIN_NONE,
2570 		[13] = PIN_NONE,
2571 		[14] = PIN_NONE,
2572 		[15] = PIN_NUMBER('G', 3),	/* FSCLKST# */
2573 		[16] = RCAR_GP_PIN(0, 17),	/* SDA4 */
2574 		[17] = RCAR_GP_PIN(0, 16),	/* SCL4 */
2575 		[18] = PIN_NONE,
2576 		[19] = PIN_NONE,
2577 		[20] = PIN_A_NUMBER('D', 3),	/* PRESETOUT# */
2578 		[21] = RCAR_GP_PIN(0, 15),	/* D15 */
2579 		[22] = RCAR_GP_PIN(0, 14),	/* D14 */
2580 		[23] = RCAR_GP_PIN(0, 13),	/* D13 */
2581 		[24] = RCAR_GP_PIN(0, 12),	/* D12 */
2582 		[25] = RCAR_GP_PIN(0, 11),	/* D11 */
2583 		[26] = RCAR_GP_PIN(0, 10),	/* D10 */
2584 		[27] = RCAR_GP_PIN(0,  9),	/* D9 */
2585 		[28] = RCAR_GP_PIN(0,  8),	/* D8 */
2586 		[29] = RCAR_GP_PIN(0,  7),	/* D7 */
2587 		[30] = RCAR_GP_PIN(0,  6),	/* D6 */
2588 		[31] = RCAR_GP_PIN(0,  5),	/* D5 */
2589 	} },
2590 	{ PINMUX_BIAS_REG("PUEN3", 0xe606040c, "PUD3", 0xe606044c) {
2591 		 [0] = RCAR_GP_PIN(5,  0),	/* SCK0_A */
2592 		 [1] = RCAR_GP_PIN(5,  4),	/* RTS0#/TANS_A */
2593 		 [2] = RCAR_GP_PIN(5,  3),	/* CTS0#_A */
2594 		 [3] = RCAR_GP_PIN(5,  2),	/* TX0_A */
2595 		 [4] = RCAR_GP_PIN(5,  1),	/* RX0_A */
2596 		 [5] = PIN_NONE,
2597 		 [6] = PIN_NONE,
2598 		 [7] = RCAR_GP_PIN(3, 15),	/* SD1_WP */
2599 		 [8] = RCAR_GP_PIN(3, 14),	/* SD1_CD */
2600 		 [9] = RCAR_GP_PIN(3, 13),	/* SD0_WP */
2601 		[10] = RCAR_GP_PIN(3, 12),	/* SD0_CD */
2602 		[11] = RCAR_GP_PIN(4, 10),	/* SD3_DS */
2603 		[12] = RCAR_GP_PIN(4,  9),	/* SD3_DAT7 */
2604 		[13] = RCAR_GP_PIN(4,  8),	/* SD3_DAT6 */
2605 		[14] = RCAR_GP_PIN(4,  7),	/* SD3_DAT5 */
2606 		[15] = RCAR_GP_PIN(4,  6),	/* SD3_DAT4 */
2607 		[16] = RCAR_GP_PIN(4,  5),	/* SD3_DAT3 */
2608 		[17] = RCAR_GP_PIN(4,  4),	/* SD3_DAT2 */
2609 		[18] = RCAR_GP_PIN(4,  3),	/* SD3_DAT1 */
2610 		[19] = RCAR_GP_PIN(4,  2),	/* SD3_DAT0 */
2611 		[20] = RCAR_GP_PIN(4,  1),	/* SD3_CMD */
2612 		[21] = RCAR_GP_PIN(4,  0),	/* SD3_CLK */
2613 		[22] = RCAR_GP_PIN(3, 11),	/* SD1_DAT3 */
2614 		[23] = RCAR_GP_PIN(3, 10),	/* SD1_DAT2 */
2615 		[24] = RCAR_GP_PIN(3,  9),	/* SD1_DAT1 */
2616 		[25] = RCAR_GP_PIN(3,  8),	/* SD1_DAT0 */
2617 		[26] = RCAR_GP_PIN(3,  7),	/* SD1_CMD */
2618 		[27] = RCAR_GP_PIN(3,  6),	/* SD1_CLK */
2619 		[28] = RCAR_GP_PIN(3,  5),	/* SD0_DAT3 */
2620 		[29] = RCAR_GP_PIN(3,  4),	/* SD0_DAT2 */
2621 		[30] = RCAR_GP_PIN(3,  3),	/* SD0_DAT1 */
2622 		[31] = RCAR_GP_PIN(3,  2),	/* SD0_DAT0 */
2623 	} },
2624 	{ PINMUX_BIAS_REG("PUEN4", 0xe6060410, "PUD4", 0xe6060450) {
2625 		 [0] = RCAR_GP_PIN(6,  8),	/* AUDIO_CLKA */
2626 		 [1] = RCAR_GP_PIN(6, 16),	/* SSI_SDATA6 */
2627 		 [2] = RCAR_GP_PIN(6, 15),	/* SSI_WS6 */
2628 		 [3] = RCAR_GP_PIN(6, 14),	/* SSI_SCK6 */
2629 		 [4] = RCAR_GP_PIN(6, 13),	/* SSI_SDATA5 */
2630 		 [5] = RCAR_GP_PIN(6, 12),	/* SSI_WS5 */
2631 		 [6] = RCAR_GP_PIN(6, 11),	/* SSI_SCK5 */
2632 		 [7] = RCAR_GP_PIN(6, 10),	/* SSI_SDATA4 */
2633 		 [8] = RCAR_GP_PIN(6,  7),	/* SSI_SDATA3 */
2634 		 [9] = RCAR_GP_PIN(6,  6),	/* SSI_WS349 */
2635 		[10] = RCAR_GP_PIN(6,  5),	/* SSI_SCK349 */
2636 		[11] = RCAR_GP_PIN(6,  4),	/* SSI_SDATA2 */
2637 		[12] = RCAR_GP_PIN(6,  3),	/* SSI_SDATA1 */
2638 		[13] = RCAR_GP_PIN(6,  2),	/* SSI_SDATA0 */
2639 		[14] = RCAR_GP_PIN(6,  1),	/* SSI_WS01239 */
2640 		[15] = RCAR_GP_PIN(6,  0),	/* SSI_SCK01239 */
2641 		[16] = PIN_NUMBER('T', 21),	/* MLB_REF */
2642 		[17] = RCAR_GP_PIN(5, 19),	/* MLB_DAT */
2643 		[18] = RCAR_GP_PIN(5, 18),	/* MLB_SIG */
2644 		[19] = RCAR_GP_PIN(5, 17),	/* MLB_CLK */
2645 		[20] = RCAR_GP_PIN(5, 16),	/* SSI_SDATA9 */
2646 		[21] = RCAR_GP_PIN(5, 15),	/* MSIOF0_SS2 */
2647 		[22] = RCAR_GP_PIN(5, 14),	/* MSIOF0_SS1 */
2648 		[23] = RCAR_GP_PIN(5, 13),	/* MSIOF0_SYNC */
2649 		[24] = RCAR_GP_PIN(5, 12),	/* MSIOF0_TXD */
2650 		[25] = RCAR_GP_PIN(5, 11),	/* MSIOF0_RXD */
2651 		[26] = RCAR_GP_PIN(5, 10),	/* MSIOF0_SCK */
2652 		[27] = RCAR_GP_PIN(5,  9),	/* RX2_A */
2653 		[28] = RCAR_GP_PIN(5,  8),	/* TX2_A */
2654 		[29] = RCAR_GP_PIN(5,  7),	/* SCK2_A */
2655 		[30] = RCAR_GP_PIN(5,  6),	/* TX1 */
2656 		[31] = RCAR_GP_PIN(5,  5),	/* RX1 */
2657 	} },
2658 	{ PINMUX_BIAS_REG("PUEN5", 0xe6060414, "PUD5", 0xe6060454) {
2659 		 [0] = PIN_NONE,
2660 		 [1] = PIN_NONE,
2661 		 [2] = PIN_NONE,
2662 		 [3] = PIN_NONE,
2663 		 [4] = PIN_NONE,
2664 		 [5] = PIN_NONE,
2665 		 [6] = PIN_NONE,
2666 		 [7] = PIN_NONE,
2667 		 [8] = PIN_NONE,
2668 		 [9] = PIN_NONE,
2669 		[10] = PIN_NONE,
2670 		[11] = PIN_NONE,
2671 		[12] = PIN_NONE,
2672 		[13] = PIN_NONE,
2673 		[14] = PIN_NONE,
2674 		[15] = PIN_NONE,
2675 		[16] = PIN_NONE,
2676 		[17] = PIN_NONE,
2677 		[18] = PIN_NONE,
2678 		[19] = PIN_NONE,
2679 		[20] = PIN_NONE,
2680 		[21] = PIN_NONE,
2681 		[22] = PIN_NONE,
2682 		[23] = PIN_NONE,
2683 		[24] = PIN_NONE,
2684 		[25] = PIN_NONE,
2685 		[26] = PIN_NONE,
2686 		[27] = PIN_NONE,
2687 		[28] = PIN_NONE,
2688 		[29] = PIN_NONE,
2689 		[30] = RCAR_GP_PIN(6,  9),	/* PUEN_USB30_OVC */
2690 		[31] = RCAR_GP_PIN(6, 17),	/* PUEN_USB30_PWEN */
2691 	} },
2692 	{ /* sentinel */ },
2693 };
2694 
r8a77990_pinmux_get_bias(struct sh_pfc * pfc,unsigned int pin)2695 static unsigned int r8a77990_pinmux_get_bias(struct sh_pfc *pfc,
2696 					     unsigned int pin)
2697 {
2698 	const struct pinmux_bias_reg *reg;
2699 	unsigned int bit;
2700 
2701 	reg = sh_pfc_pin_to_bias_reg(pfc, pin, &bit);
2702 	if (!reg)
2703 		return PIN_CONFIG_BIAS_DISABLE;
2704 
2705 	if (!(sh_pfc_read(pfc, reg->puen) & BIT(bit)))
2706 		return PIN_CONFIG_BIAS_DISABLE;
2707 	else if (sh_pfc_read(pfc, reg->pud) & BIT(bit))
2708 		return PIN_CONFIG_BIAS_PULL_UP;
2709 	else
2710 		return PIN_CONFIG_BIAS_PULL_DOWN;
2711 }
2712 
r8a77990_pinmux_set_bias(struct sh_pfc * pfc,unsigned int pin,unsigned int bias)2713 static void r8a77990_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
2714 				     unsigned int bias)
2715 {
2716 	const struct pinmux_bias_reg *reg;
2717 	u32 enable, updown;
2718 	unsigned int bit;
2719 
2720 	reg = sh_pfc_pin_to_bias_reg(pfc, pin, &bit);
2721 	if (!reg)
2722 		return;
2723 
2724 	enable = sh_pfc_read(pfc, reg->puen) & ~BIT(bit);
2725 	if (bias != PIN_CONFIG_BIAS_DISABLE)
2726 		enable |= BIT(bit);
2727 
2728 	updown = sh_pfc_read(pfc, reg->pud) & ~BIT(bit);
2729 	if (bias == PIN_CONFIG_BIAS_PULL_UP)
2730 		updown |= BIT(bit);
2731 
2732 	sh_pfc_write(pfc, reg->pud, updown);
2733 	sh_pfc_write(pfc, reg->puen, enable);
2734 }
2735 
2736 static const struct sh_pfc_soc_operations r8a77990_pinmux_ops = {
2737 	.get_bias = r8a77990_pinmux_get_bias,
2738 	.set_bias = r8a77990_pinmux_set_bias,
2739 };
2740 
2741 const struct sh_pfc_soc_info r8a77990_pinmux_info = {
2742 	.name = "r8a77990_pfc",
2743 	.ops = &r8a77990_pinmux_ops,
2744 	.unlock_reg = 0xe6060000, /* PMMR */
2745 
2746 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2747 
2748 	.pins = pinmux_pins,
2749 	.nr_pins = ARRAY_SIZE(pinmux_pins),
2750 	.groups = pinmux_groups,
2751 	.nr_groups = ARRAY_SIZE(pinmux_groups),
2752 	.functions = pinmux_functions,
2753 	.nr_functions = ARRAY_SIZE(pinmux_functions),
2754 
2755 	.cfg_regs = pinmux_config_regs,
2756 	.bias_regs = pinmux_bias_regs,
2757 
2758 	.pinmux_data = pinmux_data,
2759 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
2760 };
2761