Linux 4.19.133
[linux/fpc-iii.git] / drivers / pinctrl / sh-pfc / pfc-emev2.c
blobeafd8edbcbe95b7ec9ac64ab723dc9443af8016d
1 /*
2 * Pin Function Controller Support
4 * Copyright (C) 2015 Niklas Söderlund
6 * This file is subject to the terms and conditions of the GNU General Public
7 * License. See the file "COPYING" in the main directory of this archive
8 * for more details.
9 */
10 #include <linux/init.h>
11 #include <linux/kernel.h>
13 #include "sh_pfc.h"
15 #define CPU_ALL_PORT(fn, pfx, sfx) \
16 PORT_10(0, fn, pfx, sfx), PORT_90(0, fn, pfx, sfx), \
17 PORT_10(100, fn, pfx##10, sfx), PORT_10(110, fn, pfx##11, sfx), \
18 PORT_10(120, fn, pfx##12, sfx), PORT_10(130, fn, pfx##13, sfx), \
19 PORT_10(140, fn, pfx##14, sfx), PORT_1(150, fn, pfx##150, sfx), \
20 PORT_1(151, fn, pfx##151, sfx), PORT_1(152, fn, pfx##152, sfx), \
21 PORT_1(153, fn, pfx##153, sfx), PORT_1(154, fn, pfx##154, sfx), \
22 PORT_1(155, fn, pfx##155, sfx), PORT_1(156, fn, pfx##156, sfx), \
23 PORT_1(157, fn, pfx##157, sfx), PORT_1(158, fn, pfx##158, sfx)
25 enum {
26 PINMUX_RESERVED = 0,
28 PINMUX_DATA_BEGIN,
29 PORT_ALL(DATA),
30 PINMUX_DATA_END,
32 PINMUX_FUNCTION_BEGIN,
33 PORT_ALL(FN),
35 /* GPSR0 */
36 FN_LCD3_1_0_PORT18, FN_LCD3_1_0_PORT20, FN_LCD3_1_0_PORT21,
37 FN_LCD3_1_0_PORT22, FN_LCD3_1_0_PORT23,
38 FN_JT_SEL, FN_ERR_RST_REQB, FN_REF_CLKO, FN_EXT_CLKI, FN_LCD3_PXCLKB,
40 /* GPSR1 */
41 FN_LCD3_9_8_PORT38, FN_LCD3_9_8_PORT39, FN_LCD3_11_10_PORT40,
42 FN_LCD3_11_10_PORT41, FN_LCD3_11_10_PORT42, FN_LCD3_11_10_PORT43,
43 FN_IIC_1_0_PORT46, FN_IIC_1_0_PORT47,
44 FN_LCD3_R0, FN_LCD3_R1, FN_LCD3_R2, FN_LCD3_R3, FN_LCD3_R4, FN_LCD3_R5,
45 FN_IIC0_SCL, FN_IIC0_SDA, FN_SD_CKI, FN_SDI0_CKO, FN_SDI0_CKI,
46 FN_SDI0_CMD, FN_SDI0_DATA0, FN_SDI0_DATA1, FN_SDI0_DATA2,
47 FN_SDI0_DATA3, FN_SDI0_DATA4, FN_SDI0_DATA5, FN_SDI0_DATA6,
48 FN_SDI0_DATA7, FN_SDI1_CKO, FN_SDI1_CKI, FN_SDI1_CMD,
50 /* GPSR2 */
51 FN_AB_1_0_PORT71, FN_AB_1_0_PORT72, FN_AB_1_0_PORT73,
52 FN_AB_1_0_PORT74, FN_AB_1_0_PORT75, FN_AB_1_0_PORT76,
53 FN_AB_1_0_PORT77, FN_AB_1_0_PORT78, FN_AB_1_0_PORT79,
54 FN_AB_1_0_PORT80, FN_AB_1_0_PORT81, FN_AB_1_0_PORT82,
55 FN_AB_1_0_PORT83, FN_AB_1_0_PORT84, FN_AB_3_2_PORT85,
56 FN_AB_3_2_PORT86, FN_AB_3_2_PORT87, FN_AB_3_2_PORT88,
57 FN_AB_5_4_PORT89, FN_AB_5_4_PORT90, FN_AB_7_6_PORT91,
58 FN_AB_7_6_PORT92, FN_AB_1_0_PORT93, FN_AB_1_0_PORT94,
59 FN_AB_1_0_PORT95,
60 FN_SDI1_DATA0, FN_SDI1_DATA1, FN_SDI1_DATA2, FN_SDI1_DATA3,
61 FN_AB_CLK, FN_AB_CSB0, FN_AB_CSB1,
63 /* GPSR3 */
64 FN_AB_13_12_PORT104, FN_AB_13_12_PORT103, FN_AB_11_10_PORT102,
65 FN_AB_11_10_PORT101, FN_AB_11_10_PORT100, FN_AB_9_8_PORT99,
66 FN_AB_9_8_PORT98, FN_AB_9_8_PORT97,
67 FN_USI_1_0_PORT109, FN_USI_1_0_PORT110, FN_USI_1_0_PORT111,
68 FN_USI_1_0_PORT112, FN_USI_3_2_PORT113, FN_USI_3_2_PORT114,
69 FN_USI_5_4_PORT115, FN_USI_5_4_PORT116, FN_USI_5_4_PORT117,
70 FN_USI_5_4_PORT118, FN_USI_7_6_PORT119, FN_USI_9_8_PORT120,
71 FN_USI_9_8_PORT121,
72 FN_AB_A20, FN_USI0_CS1, FN_USI0_CS2, FN_USI1_DI,
73 FN_USI1_DO,
74 FN_NTSC_CLK, FN_NTSC_DATA0, FN_NTSC_DATA1, FN_NTSC_DATA2,
75 FN_NTSC_DATA3, FN_NTSC_DATA4,
77 /* GPRS4 */
78 FN_HSI_1_0_PORT143, FN_HSI_1_0_PORT144, FN_HSI_1_0_PORT145,
79 FN_HSI_1_0_PORT146, FN_HSI_1_0_PORT147, FN_HSI_1_0_PORT148,
80 FN_HSI_1_0_PORT149, FN_HSI_1_0_PORT150,
81 FN_UART_1_0_PORT157, FN_UART_1_0_PORT158,
82 FN_NTSC_DATA5, FN_NTSC_DATA6, FN_NTSC_DATA7, FN_CAM_CLKO,
83 FN_CAM_CLKI, FN_CAM_VS, FN_CAM_HS, FN_CAM_YUV0,
84 FN_CAM_YUV1, FN_CAM_YUV2, FN_CAM_YUV3, FN_CAM_YUV4,
85 FN_CAM_YUV5, FN_CAM_YUV6, FN_CAM_YUV7,
86 FN_JT_TDO, FN_JT_TDOEN, FN_LOWPWR, FN_USB_VBUS, FN_UART1_RX,
87 FN_UART1_TX,
89 /* CHG_PINSEL_LCD3 */
90 FN_SEL_LCD3_1_0_00, FN_SEL_LCD3_1_0_01,
91 FN_SEL_LCD3_9_8_00, FN_SEL_LCD3_9_8_10,
92 FN_SEL_LCD3_11_10_00, FN_SEL_LCD3_11_10_01, FN_SEL_LCD3_11_10_10,
94 /* CHG_PINSEL_IIC */
95 FN_SEL_IIC_1_0_00, FN_SEL_IIC_1_0_01,
97 /* CHG_PINSEL_AB */
98 FN_SEL_AB_1_0_00, FN_SEL_AB_1_0_10, FN_SEL_AB_3_2_00,
99 FN_SEL_AB_3_2_01, FN_SEL_AB_3_2_10, FN_SEL_AB_3_2_11,
100 FN_SEL_AB_5_4_00, FN_SEL_AB_5_4_01, FN_SEL_AB_5_4_10,
101 FN_SEL_AB_5_4_11, FN_SEL_AB_7_6_00, FN_SEL_AB_7_6_01,
102 FN_SEL_AB_7_6_10,
103 FN_SEL_AB_9_8_00, FN_SEL_AB_9_8_01, FN_SEL_AB_9_8_10,
104 FN_SEL_AB_11_10_00, FN_SEL_AB_11_10_10,
105 FN_SEL_AB_13_12_00, FN_SEL_AB_13_12_10,
107 /* CHG_PINSEL_USI */
108 FN_SEL_USI_1_0_00, FN_SEL_USI_1_0_01,
109 FN_SEL_USI_3_2_00, FN_SEL_USI_3_2_01,
110 FN_SEL_USI_5_4_00, FN_SEL_USI_5_4_01,
111 FN_SEL_USI_7_6_00, FN_SEL_USI_7_6_01,
112 FN_SEL_USI_9_8_00, FN_SEL_USI_9_8_01,
114 /* CHG_PINSEL_HSI */
115 FN_SEL_HSI_1_0_00, FN_SEL_HSI_1_0_01,
117 /* CHG_PINSEL_UART */
118 FN_SEL_UART_1_0_00, FN_SEL_UART_1_0_01,
120 PINMUX_FUNCTION_END,
122 PINMUX_MARK_BEGIN,
124 /* GPSR0 */
125 JT_SEL_MARK, ERR_RST_REQB_MARK, REF_CLKO_MARK, EXT_CLKI_MARK,
126 LCD3_PXCLKB_MARK, SD_CKI_MARK,
128 /* GPSR1 */
129 LCD3_R0_MARK, LCD3_R1_MARK, LCD3_R2_MARK, LCD3_R3_MARK, LCD3_R4_MARK,
130 LCD3_R5_MARK, IIC0_SCL_MARK, IIC0_SDA_MARK, SDI0_CKO_MARK,
131 SDI0_CKI_MARK, SDI0_CMD_MARK, SDI0_DATA0_MARK, SDI0_DATA1_MARK,
132 SDI0_DATA2_MARK, SDI0_DATA3_MARK, SDI0_DATA4_MARK, SDI0_DATA5_MARK,
133 SDI0_DATA6_MARK, SDI0_DATA7_MARK, SDI1_CKO_MARK, SDI1_CKI_MARK,
134 SDI1_CMD_MARK,
136 /* GPSR2 */
137 SDI1_DATA0_MARK, SDI1_DATA1_MARK, SDI1_DATA2_MARK, SDI1_DATA3_MARK,
138 AB_CLK_MARK, AB_CSB0_MARK, AB_CSB1_MARK,
140 /* GPSR3 */
141 AB_A20_MARK, USI0_CS1_MARK, USI0_CS2_MARK, USI1_DI_MARK,
142 USI1_DO_MARK,
143 NTSC_CLK_MARK, NTSC_DATA0_MARK, NTSC_DATA1_MARK, NTSC_DATA2_MARK,
144 NTSC_DATA3_MARK, NTSC_DATA4_MARK,
146 /* GPSR3 */
147 NTSC_DATA5_MARK, NTSC_DATA6_MARK, NTSC_DATA7_MARK, CAM_CLKO_MARK,
148 CAM_CLKI_MARK, CAM_VS_MARK, CAM_HS_MARK, CAM_YUV0_MARK,
149 CAM_YUV1_MARK, CAM_YUV2_MARK, CAM_YUV3_MARK, CAM_YUV4_MARK,
150 CAM_YUV5_MARK, CAM_YUV6_MARK, CAM_YUV7_MARK,
151 JT_TDO_MARK, JT_TDOEN_MARK, USB_VBUS_MARK, LOWPWR_MARK,
152 UART1_RX_MARK, UART1_TX_MARK,
154 /* CHG_PINSEL_LCD3 */
155 LCD3_PXCLK_MARK, LCD3_CLK_I_MARK, LCD3_HS_MARK, LCD3_VS_MARK,
156 LCD3_DE_MARK, LCD3_R6_MARK, LCD3_R7_MARK, LCD3_G0_MARK, LCD3_G1_MARK,
157 LCD3_G2_MARK, LCD3_G3_MARK, LCD3_G4_MARK, LCD3_G5_MARK, LCD3_G6_MARK,
158 LCD3_G7_MARK, LCD3_B0_MARK, LCD3_B1_MARK, LCD3_B2_MARK, LCD3_B3_MARK,
159 LCD3_B4_MARK, LCD3_B5_MARK, LCD3_B6_MARK, LCD3_B7_MARK,
160 YUV3_CLK_O_MARK, YUV3_CLK_I_MARK, YUV3_HS_MARK, YUV3_VS_MARK,
161 YUV3_DE_MARK, YUV3_D0_MARK, YUV3_D1_MARK, YUV3_D2_MARK, YUV3_D3_MARK,
162 YUV3_D4_MARK, YUV3_D5_MARK, YUV3_D6_MARK, YUV3_D7_MARK, YUV3_D8_MARK,
163 YUV3_D9_MARK, YUV3_D10_MARK, YUV3_D11_MARK, YUV3_D12_MARK,
164 YUV3_D13_MARK, YUV3_D14_MARK, YUV3_D15_MARK,
165 TP33_CLK_MARK, TP33_CTRL_MARK, TP33_DATA0_MARK, TP33_DATA1_MARK,
166 TP33_DATA2_MARK, TP33_DATA3_MARK, TP33_DATA4_MARK, TP33_DATA5_MARK,
167 TP33_DATA6_MARK, TP33_DATA7_MARK, TP33_DATA8_MARK, TP33_DATA9_MARK,
168 TP33_DATA10_MARK, TP33_DATA11_MARK, TP33_DATA12_MARK, TP33_DATA13_MARK,
169 TP33_DATA14_MARK, TP33_DATA15_MARK,
171 /* CHG_PINSEL_IIC */
172 IIC1_SCL_MARK, IIC1_SDA_MARK, UART3_RX_MARK, UART3_TX_MARK,
174 /* CHG_PINSEL_AB */
175 AB_CSB2_MARK, AB_CSB3_MARK, AB_RDB_MARK, AB_WRB_MARK,
176 AB_WAIT_MARK, AB_ADV_MARK, AB_AD0_MARK, AB_AD1_MARK,
177 AB_AD2_MARK, AB_AD3_MARK, AB_AD4_MARK, AB_AD5_MARK,
178 AB_AD6_MARK, AB_AD7_MARK, AB_AD8_MARK, AB_AD9_MARK,
179 AB_AD10_MARK, AB_AD11_MARK, AB_AD12_MARK, AB_AD13_MARK,
180 AB_AD14_MARK, AB_AD15_MARK, AB_A17_MARK, AB_A18_MARK,
181 AB_A19_MARK, AB_A21_MARK, AB_A22_MARK, AB_A23_MARK,
182 AB_A24_MARK, AB_A25_MARK, AB_A26_MARK, AB_A27_MARK,
183 AB_A28_MARK, AB_BEN0_MARK, AB_BEN1_MARK,
184 DTV_BCLK_A_MARK, DTV_PSYNC_A_MARK, DTV_VALID_A_MARK,
185 DTV_DATA_A_MARK,
186 SDI2_CKO_MARK, SDI2_CKI_MARK, SDI2_CMD_MARK,
187 SDI2_DATA0_MARK, SDI2_DATA1_MARK, SDI2_DATA2_MARK,
188 SDI2_DATA3_MARK,
189 CF_CSB0_MARK, CF_CSB1_MARK, CF_IORDB_MARK,
190 CF_IOWRB_MARK, CF_IORDY_MARK, CF_RESET_MARK,
191 CF_D00_MARK, CF_D01_MARK, CF_D02_MARK, CF_D03_MARK,
192 CF_D04_MARK, CF_D05_MARK, CF_D06_MARK, CF_D07_MARK,
193 CF_D08_MARK, CF_D09_MARK, CF_D10_MARK, CF_D11_MARK,
194 CF_D12_MARK, CF_D13_MARK, CF_D14_MARK, CF_D15_MARK,
195 CF_A00_MARK, CF_A01_MARK, CF_A02_MARK,
196 CF_INTRQ_MARK, CF_INPACKB_MARK, CF_CDB1_MARK, CF_CDB2_MARK,
197 USI5_CLK_A_MARK, USI5_DI_A_MARK, USI5_DO_A_MARK,
198 USI5_CS0_A_MARK, USI5_CS1_A_MARK, USI5_CS2_A_MARK,
200 /* CHG_PINSEL_USI */
201 USI0_CS3_MARK, USI0_CS4_MARK, USI0_CS5_MARK,
202 USI0_CS6_MARK,
203 USI2_CLK_MARK, USI2_DI_MARK, USI2_DO_MARK,
204 USI2_CS0_MARK, USI2_CS1_MARK, USI2_CS2_MARK,
205 USI3_CLK_MARK, USI3_DI_MARK, USI3_DO_MARK,
206 USI3_CS0_MARK,
207 USI4_CLK_MARK, USI4_DI_MARK, USI4_DO_MARK,
208 USI4_CS0_MARK, USI4_CS1_MARK,
209 PWM0_MARK, PWM1_MARK,
210 DTV_BCLK_B_MARK, DTV_PSYNC_B_MARK, DTV_VALID_B_MARK,
211 DTV_DATA_B_MARK,
213 /* CHG_PINSEL_HSI */
214 USI5_CLK_B_MARK, USI5_DO_B_MARK, USI5_CS0_B_MARK, USI5_CS1_B_MARK,
215 USI5_CS2_B_MARK, USI5_CS3_B_MARK, USI5_CS4_B_MARK, USI5_DI_B_MARK,
217 /* CHG_PINSEL_UART */
218 UART1_CTSB_MARK, UART1_RTSB_MARK,
219 UART2_RX_MARK, UART2_TX_MARK,
221 PINMUX_MARK_END,
224 /* Pin numbers for pins without a corresponding GPIO port number are computed
225 * from the row and column numbers with a 1000 offset to avoid collisions with
226 * GPIO port numbers. */
227 #define PIN_NUMBER(row, col) (1000+((row)-1)*23+(col)-1)
229 /* Expand to a list of sh_pfc_pin entries (named PORT#).
230 * NOTE: No config are recorded since the driver do not handle pinconf. */
231 #define __PIN_CFG(pn, pfx, sfx) SH_PFC_PIN_CFG(pfx, 0)
232 #define PINMUX_EMEV_GPIO_ALL() CPU_ALL_PORT(__PIN_CFG, , unused)
234 static const struct sh_pfc_pin pinmux_pins[] = {
235 PINMUX_EMEV_GPIO_ALL(),
237 /* Pins not associated with a GPIO port */
238 SH_PFC_PIN_NAMED(2, 14, B14),
239 SH_PFC_PIN_NAMED(2, 15, B15),
240 SH_PFC_PIN_NAMED(2, 16, B16),
241 SH_PFC_PIN_NAMED(2, 17, B17),
242 SH_PFC_PIN_NAMED(3, 14, C14),
243 SH_PFC_PIN_NAMED(3, 15, C15),
244 SH_PFC_PIN_NAMED(3, 16, C16),
245 SH_PFC_PIN_NAMED(3, 17, C17),
246 SH_PFC_PIN_NAMED(4, 14, D14),
247 SH_PFC_PIN_NAMED(4, 15, D15),
248 SH_PFC_PIN_NAMED(4, 16, D16),
249 SH_PFC_PIN_NAMED(4, 17, D17),
252 /* Expand to a list of name_DATA, name_FN marks */
253 #define __PORT_DATA(pn, pfx, sfx) PINMUX_DATA(PORT##pfx##_DATA, PORT##pfx##_FN)
254 #define PINMUX_EMEV_DATA_ALL() CPU_ALL_PORT(__PORT_DATA, , unused)
256 static const u16 pinmux_data[] = {
257 PINMUX_EMEV_DATA_ALL(), /* PINMUX_DATA(PORTN_DATA, PORTN_FN), */
259 /* GPSR0 */
260 /* V9 */
261 PINMUX_SINGLE(JT_SEL),
262 /* U9 */
263 PINMUX_SINGLE(ERR_RST_REQB),
264 /* V8 */
265 PINMUX_SINGLE(REF_CLKO),
266 /* U8 */
267 PINMUX_SINGLE(EXT_CLKI),
268 /* B22*/
269 PINMUX_IPSR_NOFN(LCD3_1_0_PORT18, LCD3_PXCLK, SEL_LCD3_1_0_00),
270 PINMUX_IPSR_NOFN(LCD3_1_0_PORT18, YUV3_CLK_O, SEL_LCD3_1_0_01),
271 /* C21 */
272 PINMUX_SINGLE(LCD3_PXCLKB),
273 /* A21 */
274 PINMUX_IPSR_NOFN(LCD3_1_0_PORT20, LCD3_CLK_I, SEL_LCD3_1_0_00),
275 PINMUX_IPSR_NOFN(LCD3_1_0_PORT20, YUV3_CLK_I, SEL_LCD3_1_0_01),
276 /* B21 */
277 PINMUX_IPSR_NOFN(LCD3_1_0_PORT21, LCD3_HS, SEL_LCD3_1_0_00),
278 PINMUX_IPSR_NOFN(LCD3_1_0_PORT21, YUV3_HS, SEL_LCD3_1_0_01),
279 /* C20 */
280 PINMUX_IPSR_NOFN(LCD3_1_0_PORT22, LCD3_VS, SEL_LCD3_1_0_00),
281 PINMUX_IPSR_NOFN(LCD3_1_0_PORT22, YUV3_VS, SEL_LCD3_1_0_01),
282 /* D19 */
283 PINMUX_IPSR_NOFN(LCD3_1_0_PORT23, LCD3_DE, SEL_LCD3_1_0_00),
284 PINMUX_IPSR_NOFN(LCD3_1_0_PORT23, YUV3_DE, SEL_LCD3_1_0_01),
286 /* GPSR1 */
287 /* A20 */
288 PINMUX_SINGLE(LCD3_R0),
289 /* B20 */
290 PINMUX_SINGLE(LCD3_R1),
291 /* A19 */
292 PINMUX_SINGLE(LCD3_R2),
293 /* B19 */
294 PINMUX_SINGLE(LCD3_R3),
295 /* C19 */
296 PINMUX_SINGLE(LCD3_R4),
297 /* B18 */
298 PINMUX_SINGLE(LCD3_R5),
299 /* C18 */
300 PINMUX_IPSR_NOFN(LCD3_9_8_PORT38, LCD3_R6, SEL_LCD3_9_8_00),
301 PINMUX_IPSR_NOFN(LCD3_9_8_PORT38, TP33_CLK, SEL_LCD3_9_8_10),
302 /* D18 */
303 PINMUX_IPSR_NOFN(LCD3_9_8_PORT39, LCD3_R7, SEL_LCD3_9_8_00),
304 PINMUX_IPSR_NOFN(LCD3_9_8_PORT39, TP33_CTRL, SEL_LCD3_9_8_10),
305 /* A18 */
306 PINMUX_IPSR_NOFN(LCD3_11_10_PORT40, LCD3_G0, SEL_LCD3_11_10_00),
307 PINMUX_IPSR_NOFN(LCD3_11_10_PORT40, YUV3_D0, SEL_LCD3_11_10_01),
308 PINMUX_IPSR_NOFN(LCD3_11_10_PORT40, TP33_DATA0, SEL_LCD3_11_10_10),
309 /* A17 */
310 PINMUX_IPSR_NOFN(LCD3_11_10_PORT41, LCD3_G1, SEL_LCD3_11_10_00),
311 PINMUX_IPSR_NOFN(LCD3_11_10_PORT41, YUV3_D1, SEL_LCD3_11_10_01),
312 PINMUX_IPSR_NOFN(LCD3_11_10_PORT41, TP33_DATA1, SEL_LCD3_11_10_10),
313 /* B17 */
314 PINMUX_DATA(LCD3_G2_MARK, FN_SEL_LCD3_11_10_00),
315 PINMUX_DATA(YUV3_D2_MARK, FN_SEL_LCD3_11_10_01),
316 PINMUX_DATA(TP33_DATA2_MARK, FN_SEL_LCD3_11_10_10),
317 /* C17 */
318 PINMUX_DATA(LCD3_G3_MARK, FN_SEL_LCD3_11_10_00),
319 PINMUX_DATA(YUV3_D3_MARK, FN_SEL_LCD3_11_10_01),
320 PINMUX_DATA(TP33_DATA3_MARK, FN_SEL_LCD3_11_10_10),
321 /* D17 */
322 PINMUX_DATA(LCD3_G4_MARK, FN_SEL_LCD3_11_10_00),
323 PINMUX_DATA(YUV3_D4_MARK, FN_SEL_LCD3_11_10_01),
324 PINMUX_DATA(TP33_DATA4_MARK, FN_SEL_LCD3_11_10_10),
325 /* B16 */
326 PINMUX_DATA(LCD3_G5_MARK, FN_SEL_LCD3_11_10_00),
327 PINMUX_DATA(YUV3_D5_MARK, FN_SEL_LCD3_11_10_01),
328 PINMUX_DATA(TP33_DATA5_MARK, FN_SEL_LCD3_11_10_10),
329 /* C16 */
330 PINMUX_DATA(LCD3_G6_MARK, FN_SEL_LCD3_11_10_00),
331 PINMUX_DATA(YUV3_D6_MARK, FN_SEL_LCD3_11_10_01),
332 PINMUX_DATA(TP33_DATA6_MARK, FN_SEL_LCD3_11_10_10),
333 /* D16 */
334 PINMUX_DATA(LCD3_G7_MARK, FN_SEL_LCD3_11_10_00),
335 PINMUX_DATA(YUV3_D7_MARK, FN_SEL_LCD3_11_10_01),
336 PINMUX_DATA(TP33_DATA7_MARK, FN_SEL_LCD3_11_10_10),
337 /* A16 */
338 PINMUX_IPSR_NOFN(LCD3_11_10_PORT42, LCD3_B0, SEL_LCD3_11_10_00),
339 PINMUX_IPSR_NOFN(LCD3_11_10_PORT42, YUV3_D8, SEL_LCD3_11_10_01),
340 PINMUX_IPSR_NOFN(LCD3_11_10_PORT42, TP33_DATA8, SEL_LCD3_11_10_10),
341 /* A15 */
342 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B1, SEL_LCD3_11_10_00),
343 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D9, SEL_LCD3_11_10_01),
344 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA9, SEL_LCD3_11_10_10),
345 /* B15 */
346 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B2, SEL_LCD3_11_10_00),
347 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D10, SEL_LCD3_11_10_01),
348 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA10, SEL_LCD3_11_10_10),
349 /* C15 */
350 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B3, SEL_LCD3_11_10_00),
351 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D11, SEL_LCD3_11_10_01),
352 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA11, SEL_LCD3_11_10_10),
353 /* D15 */
354 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B4, SEL_LCD3_11_10_00),
355 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D12, SEL_LCD3_11_10_01),
356 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA12, SEL_LCD3_11_10_10),
357 /* B14 */
358 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B5, SEL_LCD3_11_10_00),
359 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D13, SEL_LCD3_11_10_01),
360 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA13, SEL_LCD3_11_10_10),
361 /* C14 */
362 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B6, SEL_LCD3_11_10_00),
363 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D14, SEL_LCD3_11_10_01),
364 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA14, SEL_LCD3_11_10_10),
365 /* D14 */
366 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, LCD3_B7, SEL_LCD3_11_10_00),
367 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, YUV3_D15, SEL_LCD3_11_10_01),
368 PINMUX_IPSR_NOFN(LCD3_11_10_PORT43, TP33_DATA15, SEL_LCD3_11_10_10),
369 /* AA9 */
370 PINMUX_SINGLE(IIC0_SCL),
371 /* AA8 */
372 PINMUX_SINGLE(IIC0_SDA),
373 /* Y9 */
374 PINMUX_IPSR_NOFN(IIC_1_0_PORT46, IIC1_SCL, SEL_IIC_1_0_00),
375 PINMUX_IPSR_NOFN(IIC_1_0_PORT46, UART3_RX, SEL_IIC_1_0_01),
376 /* Y8 */
377 PINMUX_IPSR_NOFN(IIC_1_0_PORT47, IIC1_SDA, SEL_IIC_1_0_00),
378 PINMUX_IPSR_NOFN(IIC_1_0_PORT47, UART3_TX, SEL_IIC_1_0_01),
379 /* AC19 */
380 PINMUX_SINGLE(SD_CKI),
381 /* AB18 */
382 PINMUX_SINGLE(SDI0_CKO),
383 /* AC18 */
384 PINMUX_SINGLE(SDI0_CKI),
385 /* Y12 */
386 PINMUX_SINGLE(SDI0_CMD),
387 /* AA13 */
388 PINMUX_SINGLE(SDI0_DATA0),
389 /* Y13 */
390 PINMUX_SINGLE(SDI0_DATA1),
391 /* AA14 */
392 PINMUX_SINGLE(SDI0_DATA2),
393 /* Y14 */
394 PINMUX_SINGLE(SDI0_DATA3),
395 /* AA15 */
396 PINMUX_SINGLE(SDI0_DATA4),
397 /* Y15 */
398 PINMUX_SINGLE(SDI0_DATA5),
399 /* AA16 */
400 PINMUX_SINGLE(SDI0_DATA6),
401 /* Y16 */
402 PINMUX_SINGLE(SDI0_DATA7),
403 /* AB22 */
404 PINMUX_SINGLE(SDI1_CKO),
405 /* AA23 */
406 PINMUX_SINGLE(SDI1_CKI),
407 /* AC21 */
408 PINMUX_SINGLE(SDI1_CMD),
410 /* GPSR2 */
411 /* AB21 */
412 PINMUX_SINGLE(SDI1_DATA0),
413 /* AB20 */
414 PINMUX_SINGLE(SDI1_DATA1),
415 /* AB19 */
416 PINMUX_SINGLE(SDI1_DATA2),
417 /* AA19 */
418 PINMUX_SINGLE(SDI1_DATA3),
419 /* J23 */
420 PINMUX_SINGLE(AB_CLK),
421 /* D21 */
422 PINMUX_SINGLE(AB_CSB0),
423 /* E21 */
424 PINMUX_SINGLE(AB_CSB1),
425 /* F20 */
426 PINMUX_IPSR_NOFN(AB_1_0_PORT71, AB_CSB2, SEL_AB_1_0_00),
427 PINMUX_IPSR_NOFN(AB_1_0_PORT71, CF_CSB0, SEL_AB_1_0_10),
428 /* G20 */
429 PINMUX_IPSR_NOFN(AB_1_0_PORT72, AB_CSB3, SEL_AB_1_0_00),
430 PINMUX_IPSR_NOFN(AB_1_0_PORT72, CF_CSB1, SEL_AB_1_0_10),
431 /* J20 */
432 PINMUX_IPSR_NOFN(AB_1_0_PORT73, AB_RDB, SEL_AB_1_0_00),
433 PINMUX_IPSR_NOFN(AB_1_0_PORT73, CF_IORDB, SEL_AB_1_0_10),
434 /* H20 */
435 PINMUX_IPSR_NOFN(AB_1_0_PORT74, AB_WRB, SEL_AB_1_0_00),
436 PINMUX_IPSR_NOFN(AB_1_0_PORT74, CF_IOWRB, SEL_AB_1_0_10),
437 /* L20 */
438 PINMUX_IPSR_NOFN(AB_1_0_PORT75, AB_WAIT, SEL_AB_1_0_00),
439 PINMUX_IPSR_NOFN(AB_1_0_PORT75, CF_IORDY, SEL_AB_1_0_10),
440 /* K20 */
441 PINMUX_IPSR_NOFN(AB_1_0_PORT76, AB_ADV, SEL_AB_1_0_00),
442 PINMUX_IPSR_NOFN(AB_1_0_PORT76, CF_RESET, SEL_AB_1_0_10),
443 /* C23 */
444 PINMUX_IPSR_NOFN(AB_1_0_PORT77, AB_AD0, SEL_AB_1_0_00),
445 PINMUX_IPSR_NOFN(AB_1_0_PORT77, CF_D00, SEL_AB_1_0_10),
446 /* C22 */
447 PINMUX_IPSR_NOFN(AB_1_0_PORT78, AB_AD1, SEL_AB_1_0_00),
448 PINMUX_IPSR_NOFN(AB_1_0_PORT78, CF_D01, SEL_AB_1_0_10),
449 /* D23 */
450 PINMUX_IPSR_NOFN(AB_1_0_PORT79, AB_AD2, SEL_AB_1_0_00),
451 PINMUX_IPSR_NOFN(AB_1_0_PORT79, CF_D02, SEL_AB_1_0_10),
452 /* D22 */
453 PINMUX_IPSR_NOFN(AB_1_0_PORT80, AB_AD3, SEL_AB_1_0_00),
454 PINMUX_IPSR_NOFN(AB_1_0_PORT80, CF_D03, SEL_AB_1_0_10),
455 /* E23 */
456 PINMUX_IPSR_NOFN(AB_1_0_PORT81, AB_AD4, SEL_AB_1_0_00),
457 PINMUX_IPSR_NOFN(AB_1_0_PORT81, CF_D04, SEL_AB_1_0_10),
458 /* E22 */
459 PINMUX_IPSR_NOFN(AB_1_0_PORT82, AB_AD5, SEL_AB_1_0_00),
460 PINMUX_IPSR_NOFN(AB_1_0_PORT82, CF_D05, SEL_AB_1_0_10),
461 /* F23 */
462 PINMUX_IPSR_NOFN(AB_1_0_PORT83, AB_AD6, SEL_AB_1_0_00),
463 PINMUX_IPSR_NOFN(AB_1_0_PORT83, CF_D06, SEL_AB_1_0_10),
464 /* F22 */
465 PINMUX_IPSR_NOFN(AB_1_0_PORT84, AB_AD7, SEL_AB_1_0_00),
466 PINMUX_IPSR_NOFN(AB_1_0_PORT84, CF_D07, SEL_AB_1_0_10),
467 /* F21 */
468 PINMUX_IPSR_NOFN(AB_3_2_PORT85, AB_AD8, SEL_AB_3_2_00),
469 PINMUX_IPSR_NOFN(AB_3_2_PORT85, DTV_BCLK_A, SEL_AB_3_2_01),
470 PINMUX_IPSR_NOFN(AB_3_2_PORT85, CF_D08, SEL_AB_3_2_10),
471 PINMUX_IPSR_NOFN(AB_3_2_PORT85, USI5_CLK_A, SEL_AB_3_2_11),
472 /* G23 */
473 PINMUX_IPSR_NOFN(AB_3_2_PORT86, AB_AD9, SEL_AB_3_2_00),
474 PINMUX_IPSR_NOFN(AB_3_2_PORT86, DTV_PSYNC_A, SEL_AB_3_2_01),
475 PINMUX_IPSR_NOFN(AB_3_2_PORT86, CF_D09, SEL_AB_3_2_10),
476 PINMUX_IPSR_NOFN(AB_3_2_PORT86, USI5_DI_A, SEL_AB_3_2_11),
477 /* G22 */
478 PINMUX_IPSR_NOFN(AB_3_2_PORT87, AB_AD10, SEL_AB_3_2_00),
479 PINMUX_IPSR_NOFN(AB_3_2_PORT87, DTV_VALID_A, SEL_AB_3_2_01),
480 PINMUX_IPSR_NOFN(AB_3_2_PORT87, CF_D10, SEL_AB_3_2_10),
481 PINMUX_IPSR_NOFN(AB_3_2_PORT87, USI5_DO_A, SEL_AB_3_2_11),
482 /* G21 */
483 PINMUX_IPSR_NOFN(AB_3_2_PORT88, AB_AD11, SEL_AB_3_2_00),
484 PINMUX_IPSR_NOFN(AB_3_2_PORT88, DTV_DATA_A, SEL_AB_3_2_01),
485 PINMUX_IPSR_NOFN(AB_3_2_PORT88, CF_D11, SEL_AB_3_2_10),
486 PINMUX_IPSR_NOFN(AB_3_2_PORT88, USI5_CS0_A, SEL_AB_3_2_11),
487 /* H23 */
488 PINMUX_IPSR_NOFN(AB_5_4_PORT89, AB_AD12, SEL_AB_5_4_00),
489 PINMUX_IPSR_NOFN(AB_5_4_PORT89, SDI2_DATA0, SEL_AB_5_4_01),
490 PINMUX_IPSR_NOFN(AB_5_4_PORT89, CF_D12, SEL_AB_5_4_10),
491 PINMUX_IPSR_NOFN(AB_5_4_PORT89, USI5_CS1_A, SEL_AB_5_4_11),
492 /* H22 */
493 PINMUX_IPSR_NOFN(AB_5_4_PORT90, AB_AD13, SEL_AB_5_4_00),
494 PINMUX_IPSR_NOFN(AB_5_4_PORT90, SDI2_DATA1, SEL_AB_5_4_01),
495 PINMUX_IPSR_NOFN(AB_5_4_PORT90, CF_D13, SEL_AB_5_4_10),
496 PINMUX_IPSR_NOFN(AB_5_4_PORT90, USI5_CS2_A, SEL_AB_5_4_11),
497 /* H21 */
498 PINMUX_IPSR_NOFN(AB_7_6_PORT91, AB_AD14, SEL_AB_7_6_00),
499 PINMUX_IPSR_NOFN(AB_7_6_PORT91, SDI2_DATA2, SEL_AB_7_6_01),
500 PINMUX_IPSR_NOFN(AB_7_6_PORT91, CF_D14, SEL_AB_7_6_10),
501 /* J22 */
502 PINMUX_IPSR_NOFN(AB_7_6_PORT92, AB_AD15, SEL_AB_7_6_00),
503 PINMUX_IPSR_NOFN(AB_7_6_PORT92, SDI2_DATA3, SEL_AB_7_6_01),
504 PINMUX_IPSR_NOFN(AB_7_6_PORT92, CF_D15, SEL_AB_7_6_10),
505 /* J21 */
506 PINMUX_IPSR_NOFN(AB_1_0_PORT93, AB_A17, SEL_AB_1_0_00),
507 PINMUX_IPSR_NOFN(AB_1_0_PORT93, CF_A00, SEL_AB_1_0_10),
508 /* K21 */
509 PINMUX_IPSR_NOFN(AB_1_0_PORT94, AB_A18, SEL_AB_1_0_00),
510 PINMUX_IPSR_NOFN(AB_1_0_PORT94, CF_A01, SEL_AB_1_0_10),
511 /* L21 */
512 PINMUX_IPSR_NOFN(AB_1_0_PORT95, AB_A19, SEL_AB_1_0_00),
513 PINMUX_IPSR_NOFN(AB_1_0_PORT95, CF_A02, SEL_AB_1_0_10),
515 /* GPSR3 */
516 /* M21 */
517 PINMUX_SINGLE(AB_A20),
518 /* N21 */
519 PINMUX_IPSR_NOFN(AB_9_8_PORT97, AB_A21, SEL_AB_9_8_00),
520 PINMUX_IPSR_NOFN(AB_9_8_PORT97, SDI2_CKO, SEL_AB_9_8_01),
521 PINMUX_IPSR_NOFN(AB_9_8_PORT97, CF_INTRQ, SEL_AB_9_8_10),
522 /* M20 */
523 PINMUX_IPSR_NOFN(AB_9_8_PORT98, AB_A22, SEL_AB_9_8_00),
524 PINMUX_IPSR_NOFN(AB_9_8_PORT98, SDI2_CKI, SEL_AB_9_8_01),
525 /* N20 */
526 PINMUX_IPSR_NOFN(AB_9_8_PORT99, AB_A23, SEL_AB_9_8_00),
527 PINMUX_IPSR_NOFN(AB_9_8_PORT99, SDI2_CMD, SEL_AB_9_8_01),
528 /* L18 */
529 PINMUX_IPSR_NOFN(AB_11_10_PORT100, AB_A24, SEL_AB_11_10_00),
530 PINMUX_IPSR_NOFN(AB_11_10_PORT100, CF_INPACKB, SEL_AB_11_10_10),
531 /* M18 */
532 PINMUX_IPSR_NOFN(AB_11_10_PORT101, AB_A25, SEL_AB_11_10_00),
533 PINMUX_IPSR_NOFN(AB_11_10_PORT101, CF_CDB1, SEL_AB_11_10_10),
534 /* N18 */
535 PINMUX_IPSR_NOFN(AB_11_10_PORT102, AB_A26, SEL_AB_11_10_00),
536 PINMUX_IPSR_NOFN(AB_11_10_PORT102, CF_CDB2, SEL_AB_11_10_10),
537 /* L17 */
538 PINMUX_IPSR_NOFN(AB_13_12_PORT103, AB_A27, SEL_AB_13_12_00),
539 PINMUX_IPSR_NOFN(AB_13_12_PORT103, AB_BEN0, SEL_AB_13_12_10),
540 /* M17 */
541 PINMUX_IPSR_NOFN(AB_13_12_PORT104, AB_A28, SEL_AB_13_12_00),
542 PINMUX_IPSR_NOFN(AB_13_12_PORT104, AB_BEN1, SEL_AB_13_12_10),
543 /* B8 */
544 PINMUX_SINGLE(USI0_CS1),
545 /* B9 */
546 PINMUX_SINGLE(USI0_CS2),
547 /* C10 */
548 PINMUX_SINGLE(USI1_DI),
549 /* D10 */
550 PINMUX_SINGLE(USI1_DO),
551 /* AB5 */
552 PINMUX_IPSR_NOFN(USI_1_0_PORT109, USI2_CLK, SEL_USI_1_0_00),
553 PINMUX_IPSR_NOFN(USI_1_0_PORT109, DTV_BCLK_B, SEL_USI_1_0_01),
554 /* AA6 */
555 PINMUX_IPSR_NOFN(USI_1_0_PORT110, USI2_DI, SEL_USI_1_0_00),
556 PINMUX_IPSR_NOFN(USI_1_0_PORT110, DTV_PSYNC_B, SEL_USI_1_0_01),
557 /* AA5 */
558 PINMUX_IPSR_NOFN(USI_1_0_PORT111, USI2_DO, SEL_USI_1_0_00),
559 PINMUX_IPSR_NOFN(USI_1_0_PORT111, DTV_VALID_B, SEL_USI_1_0_01),
560 /* Y7 */
561 PINMUX_IPSR_NOFN(USI_1_0_PORT112, USI2_CS0, SEL_USI_1_0_00),
562 PINMUX_IPSR_NOFN(USI_1_0_PORT112, DTV_DATA_B, SEL_USI_1_0_01),
563 /* AA7 */
564 PINMUX_IPSR_NOFN(USI_3_2_PORT113, USI2_CS1, SEL_USI_3_2_00),
565 PINMUX_IPSR_NOFN(USI_3_2_PORT113, USI4_CS0, SEL_USI_3_2_01),
566 /* Y6 */
567 PINMUX_IPSR_NOFN(USI_3_2_PORT114, USI2_CS2, SEL_USI_3_2_00),
568 PINMUX_IPSR_NOFN(USI_3_2_PORT114, USI4_CS1, SEL_USI_3_2_01),
569 /* AC5 */
570 PINMUX_IPSR_NOFN(USI_5_4_PORT115, USI3_CLK, SEL_USI_5_4_00),
571 PINMUX_IPSR_NOFN(USI_5_4_PORT115, USI0_CS3, SEL_USI_5_4_01),
572 /* AC4 */
573 PINMUX_IPSR_NOFN(USI_5_4_PORT116, USI3_DI, SEL_USI_5_4_00),
574 PINMUX_IPSR_NOFN(USI_5_4_PORT116, USI0_CS4, SEL_USI_5_4_01),
575 /* AC3 */
576 PINMUX_IPSR_NOFN(USI_5_4_PORT117, USI3_DO, SEL_USI_5_4_00),
577 PINMUX_IPSR_NOFN(USI_5_4_PORT117, USI0_CS5, SEL_USI_5_4_01),
578 /* AB4 */
579 PINMUX_IPSR_NOFN(USI_5_4_PORT118, USI3_CS0, SEL_USI_5_4_00),
580 PINMUX_IPSR_NOFN(USI_5_4_PORT118, USI0_CS6, SEL_USI_5_4_01),
581 /* AB3 */
582 PINMUX_IPSR_NOFN(USI_7_6_PORT119, USI4_CLK, SEL_USI_7_6_01),
583 /* AA4 */
584 PINMUX_IPSR_NOFN(USI_9_8_PORT120, PWM0, SEL_USI_9_8_00),
585 PINMUX_IPSR_NOFN(USI_9_8_PORT120, USI4_DI, SEL_USI_9_8_01),
586 /* Y5 */
587 PINMUX_IPSR_NOFN(USI_9_8_PORT121, PWM1, SEL_USI_9_8_00),
588 PINMUX_IPSR_NOFN(USI_9_8_PORT121, USI4_DO, SEL_USI_9_8_01),
589 /* V20 */
590 PINMUX_SINGLE(NTSC_CLK),
591 /* P20 */
592 PINMUX_SINGLE(NTSC_DATA0),
593 /* P18 */
594 PINMUX_SINGLE(NTSC_DATA1),
595 /* R20 */
596 PINMUX_SINGLE(NTSC_DATA2),
597 /* R18 */
598 PINMUX_SINGLE(NTSC_DATA3),
599 /* T20 */
600 PINMUX_SINGLE(NTSC_DATA4),
602 /* GPRS3 */
603 /* T18 */
604 PINMUX_SINGLE(NTSC_DATA5),
605 /* U20 */
606 PINMUX_SINGLE(NTSC_DATA6),
607 /* U18 */
608 PINMUX_SINGLE(NTSC_DATA7),
609 /* W23 */
610 PINMUX_SINGLE(CAM_CLKO),
611 /* Y23 */
612 PINMUX_SINGLE(CAM_CLKI),
613 /* W22 */
614 PINMUX_SINGLE(CAM_VS),
615 /* V21 */
616 PINMUX_SINGLE(CAM_HS),
617 /* T21 */
618 PINMUX_SINGLE(CAM_YUV0),
619 /* T22 */
620 PINMUX_SINGLE(CAM_YUV1),
621 /* T23 */
622 PINMUX_SINGLE(CAM_YUV2),
623 /* U21 */
624 PINMUX_SINGLE(CAM_YUV3),
625 /* U22 */
626 PINMUX_SINGLE(CAM_YUV4),
627 /* U23 */
628 PINMUX_SINGLE(CAM_YUV5),
629 /* V22 */
630 PINMUX_SINGLE(CAM_YUV6),
631 /* V23 */
632 PINMUX_SINGLE(CAM_YUV7),
633 /* K22 */
634 PINMUX_IPSR_NOFN(HSI_1_0_PORT143, USI5_CLK_B, SEL_HSI_1_0_01),
635 /* K23 */
636 PINMUX_IPSR_NOFN(HSI_1_0_PORT144, USI5_DO_B, SEL_HSI_1_0_01),
637 /* L23 */
638 PINMUX_IPSR_NOFN(HSI_1_0_PORT145, USI5_CS0_B, SEL_HSI_1_0_01),
639 /* L22 */
640 PINMUX_IPSR_NOFN(HSI_1_0_PORT146, USI5_CS1_B, SEL_HSI_1_0_01),
641 /* N22 */
642 PINMUX_IPSR_NOFN(HSI_1_0_PORT147, USI5_CS2_B, SEL_HSI_1_0_01),
643 /* N23 */
644 PINMUX_IPSR_NOFN(HSI_1_0_PORT148, USI5_CS3_B, SEL_HSI_1_0_01),
645 /* M23 */
646 PINMUX_IPSR_NOFN(HSI_1_0_PORT149, USI5_CS4_B, SEL_HSI_1_0_01),
647 /* M22 */
648 PINMUX_IPSR_NOFN(HSI_1_0_PORT150, USI5_DI_B, SEL_HSI_1_0_01),
649 /* D13 */
650 PINMUX_SINGLE(JT_TDO),
651 /* F13 */
652 PINMUX_SINGLE(JT_TDOEN),
653 /* AA12 */
654 PINMUX_SINGLE(USB_VBUS),
655 /* A12 */
656 PINMUX_SINGLE(LOWPWR),
657 /* Y11 */
658 PINMUX_SINGLE(UART1_RX),
659 /* Y10 */
660 PINMUX_SINGLE(UART1_TX),
661 /* AA10 */
662 PINMUX_IPSR_NOFN(UART_1_0_PORT157, UART1_CTSB, SEL_UART_1_0_00),
663 PINMUX_IPSR_NOFN(UART_1_0_PORT157, UART2_RX, SEL_UART_1_0_01),
664 /* AB10 */
665 PINMUX_IPSR_NOFN(UART_1_0_PORT158, UART1_RTSB, SEL_UART_1_0_00),
666 PINMUX_IPSR_NOFN(UART_1_0_PORT158, UART2_TX, SEL_UART_1_0_01),
670 #define EMEV_MUX_PIN(name, pin, mark) \
671 static const unsigned int name##_pins[] = { pin }; \
672 static const unsigned int name##_mux[] = { mark##_MARK }
674 /* = [ System ] =========== */
675 EMEV_MUX_PIN(err_rst_reqb, 3, ERR_RST_REQB);
676 EMEV_MUX_PIN(ref_clko, 4, REF_CLKO);
677 EMEV_MUX_PIN(ext_clki, 5, EXT_CLKI);
678 EMEV_MUX_PIN(lowpwr, 154, LOWPWR);
680 /* = [ External Memory] === */
681 static const unsigned int ab_main_pins[] = {
682 /* AB_RDB, AB_WRB */
683 73, 74,
684 /* AB_AD[0:15] */
685 77, 78, 79, 80,
686 81, 82, 83, 84,
687 85, 86, 87, 88,
688 89, 90, 91, 92,
690 static const unsigned int ab_main_mux[] = {
691 AB_RDB_MARK, AB_WRB_MARK,
692 AB_AD0_MARK, AB_AD1_MARK, AB_AD2_MARK, AB_AD3_MARK,
693 AB_AD4_MARK, AB_AD5_MARK, AB_AD6_MARK, AB_AD7_MARK,
694 AB_AD8_MARK, AB_AD9_MARK, AB_AD10_MARK, AB_AD11_MARK,
695 AB_AD12_MARK, AB_AD13_MARK, AB_AD14_MARK, AB_AD15_MARK,
698 EMEV_MUX_PIN(ab_clk, 68, AB_CLK);
699 EMEV_MUX_PIN(ab_csb0, 69, AB_CSB0);
700 EMEV_MUX_PIN(ab_csb1, 70, AB_CSB1);
701 EMEV_MUX_PIN(ab_csb2, 71, AB_CSB2);
702 EMEV_MUX_PIN(ab_csb3, 72, AB_CSB3);
703 EMEV_MUX_PIN(ab_wait, 75, AB_WAIT);
704 EMEV_MUX_PIN(ab_adv, 76, AB_ADV);
705 EMEV_MUX_PIN(ab_a17, 93, AB_A17);
706 EMEV_MUX_PIN(ab_a18, 94, AB_A18);
707 EMEV_MUX_PIN(ab_a19, 95, AB_A19);
708 EMEV_MUX_PIN(ab_a20, 96, AB_A20);
709 EMEV_MUX_PIN(ab_a21, 97, AB_A21);
710 EMEV_MUX_PIN(ab_a22, 98, AB_A22);
711 EMEV_MUX_PIN(ab_a23, 99, AB_A23);
712 EMEV_MUX_PIN(ab_a24, 100, AB_A24);
713 EMEV_MUX_PIN(ab_a25, 101, AB_A25);
714 EMEV_MUX_PIN(ab_a26, 102, AB_A26);
715 EMEV_MUX_PIN(ab_a27, 103, AB_A27);
716 EMEV_MUX_PIN(ab_a28, 104, AB_A28);
717 EMEV_MUX_PIN(ab_ben0, 103, AB_BEN0);
718 EMEV_MUX_PIN(ab_ben1, 104, AB_BEN1);
720 /* = [ CAM ] ============== */
721 EMEV_MUX_PIN(cam_clko, 131, CAM_CLKO);
722 static const unsigned int cam_pins[] = {
723 /* CLKI, VS, HS */
724 132, 133, 134,
725 /* CAM_YUV[0:7] */
726 135, 136, 137, 138,
727 139, 140, 141, 142,
729 static const unsigned int cam_mux[] = {
730 CAM_CLKI_MARK, CAM_VS_MARK, CAM_HS_MARK,
731 CAM_YUV0_MARK, CAM_YUV1_MARK, CAM_YUV2_MARK, CAM_YUV3_MARK,
732 CAM_YUV4_MARK, CAM_YUV5_MARK, CAM_YUV6_MARK, CAM_YUV7_MARK,
735 /* = [ CF ] -============== */
736 static const unsigned int cf_ctrl_pins[] = {
737 /* CSB0, CSB1, IORDB, IOWRB, IORDY, RESET,
738 * A00, A01, A02, INTRQ, INPACKB, CDB1, CDB2 */
739 71, 72, 73, 74,
740 75, 76, 93, 94,
741 95, 97, 100, 101,
742 102,
744 static const unsigned int cf_ctrl_mux[] = {
745 CF_CSB0_MARK, CF_CSB1_MARK, CF_IORDB_MARK, CF_IOWRB_MARK,
746 CF_IORDY_MARK, CF_RESET_MARK, CF_A00_MARK, CF_A01_MARK,
747 CF_A02_MARK, CF_INTRQ_MARK, CF_INPACKB_MARK, CF_CDB1_MARK,
748 CF_CDB2_MARK,
751 static const unsigned int cf_data8_pins[] = {
752 /* CF_D[0:7] */
753 77, 78, 79, 80,
754 81, 82, 83, 84,
756 static const unsigned int cf_data8_mux[] = {
757 CF_D00_MARK, CF_D01_MARK, CF_D02_MARK, CF_D03_MARK,
758 CF_D04_MARK, CF_D05_MARK, CF_D06_MARK, CF_D07_MARK,
760 static const unsigned int cf_data16_pins[] = {
761 /* CF_D[0:15] */
762 77, 78, 79, 80,
763 81, 82, 83, 84,
764 85, 86, 87, 88,
765 89, 90, 91, 92,
767 static const unsigned int cf_data16_mux[] = {
768 CF_D00_MARK, CF_D01_MARK, CF_D02_MARK, CF_D03_MARK,
769 CF_D04_MARK, CF_D05_MARK, CF_D06_MARK, CF_D07_MARK,
770 CF_D08_MARK, CF_D09_MARK, CF_D10_MARK, CF_D11_MARK,
771 CF_D12_MARK, CF_D13_MARK, CF_D14_MARK, CF_D15_MARK,
774 /* = [ DTV ] ============== */
775 static const unsigned int dtv_a_pins[] = {
776 /* BCLK, PSYNC, VALID, DATA */
777 85, 86, 87, 88,
779 static const unsigned int dtv_a_mux[] = {
780 DTV_BCLK_A_MARK, DTV_PSYNC_A_MARK, DTV_VALID_A_MARK, DTV_DATA_A_MARK,
783 static const unsigned int dtv_b_pins[] = {
784 /* BCLK, PSYNC, VALID, DATA */
785 109, 110, 111, 112,
787 static const unsigned int dtv_b_mux[] = {
788 DTV_BCLK_B_MARK, DTV_PSYNC_B_MARK, DTV_VALID_B_MARK, DTV_DATA_B_MARK,
791 /* = [ IIC0 ] ============= */
792 static const unsigned int iic0_pins[] = {
793 /* SCL, SDA */
794 44, 45,
796 static const unsigned int iic0_mux[] = {
797 IIC0_SCL_MARK, IIC0_SDA_MARK,
800 /* = [ IIC1 ] ============= */
801 static const unsigned int iic1_pins[] = {
802 /* SCL, SDA */
803 46, 47,
805 static const unsigned int iic1_mux[] = {
806 IIC1_SCL_MARK, IIC1_SDA_MARK,
809 /* = [ JTAG ] ============= */
810 static const unsigned int jtag_pins[] = {
811 /* SEL, TDO, TDOEN */
812 2, 151, 152,
814 static const unsigned int jtag_mux[] = {
815 JT_SEL_MARK, JT_TDO_MARK, JT_TDOEN_MARK,
818 /* = [ LCD/YUV ] ========== */
819 EMEV_MUX_PIN(lcd3_pxclk, 18, LCD3_PXCLK);
820 EMEV_MUX_PIN(lcd3_pxclkb, 19, LCD3_PXCLKB);
821 EMEV_MUX_PIN(lcd3_clk_i, 20, LCD3_CLK_I);
823 static const unsigned int lcd3_sync_pins[] = {
824 /* HS, VS, DE */
825 21, 22, 23,
827 static const unsigned int lcd3_sync_mux[] = {
828 LCD3_HS_MARK, LCD3_VS_MARK, LCD3_DE_MARK,
831 static const unsigned int lcd3_rgb888_pins[] = {
832 /* R[0:7], G[0:7], B[0:7] */
833 32, 33, 34, 35,
834 36, 37, 38, 39,
835 40, 41, PIN_NUMBER(2, 17), PIN_NUMBER(3, 17),
836 PIN_NUMBER(4, 17), PIN_NUMBER(2, 16), PIN_NUMBER(3, 16),
837 PIN_NUMBER(4, 16),
838 42, 43, PIN_NUMBER(2, 15), PIN_NUMBER(3, 15),
839 PIN_NUMBER(4, 15), PIN_NUMBER(2, 14), PIN_NUMBER(3, 14),
840 PIN_NUMBER(4, 14)
842 static const unsigned int lcd3_rgb888_mux[] = {
843 LCD3_R0_MARK, LCD3_R1_MARK, LCD3_R2_MARK, LCD3_R3_MARK,
844 LCD3_R4_MARK, LCD3_R5_MARK, LCD3_R6_MARK, LCD3_R7_MARK,
845 LCD3_G0_MARK, LCD3_G1_MARK, LCD3_G2_MARK, LCD3_G3_MARK,
846 LCD3_G4_MARK, LCD3_G5_MARK, LCD3_G6_MARK, LCD3_G7_MARK,
847 LCD3_B0_MARK, LCD3_B1_MARK, LCD3_B2_MARK, LCD3_B3_MARK,
848 LCD3_B4_MARK, LCD3_B5_MARK, LCD3_B6_MARK, LCD3_B7_MARK,
851 EMEV_MUX_PIN(yuv3_clk_i, 20, YUV3_CLK_I);
852 static const unsigned int yuv3_pins[] = {
853 /* CLK_O, HS, VS, DE */
854 18, 21, 22, 23,
855 /* YUV3_D[0:15] */
856 40, 41, PIN_NUMBER(2, 17), PIN_NUMBER(3, 17),
857 PIN_NUMBER(4, 17), PIN_NUMBER(2, 16), PIN_NUMBER(3, 16),
858 PIN_NUMBER(4, 16),
859 42, 43, PIN_NUMBER(2, 15), PIN_NUMBER(3, 15),
860 PIN_NUMBER(4, 15), PIN_NUMBER(2, 14), PIN_NUMBER(3, 14),
861 PIN_NUMBER(4, 14),
863 static const unsigned int yuv3_mux[] = {
864 YUV3_CLK_O_MARK, YUV3_HS_MARK, YUV3_VS_MARK, YUV3_DE_MARK,
865 YUV3_D0_MARK, YUV3_D1_MARK, YUV3_D2_MARK, YUV3_D3_MARK,
866 YUV3_D4_MARK, YUV3_D5_MARK, YUV3_D6_MARK, YUV3_D7_MARK,
867 YUV3_D8_MARK, YUV3_D9_MARK, YUV3_D10_MARK, YUV3_D11_MARK,
868 YUV3_D12_MARK, YUV3_D13_MARK, YUV3_D14_MARK, YUV3_D15_MARK,
871 /* = [ NTSC ] ============= */
872 EMEV_MUX_PIN(ntsc_clk, 122, NTSC_CLK);
873 static const unsigned int ntsc_data_pins[] = {
874 /* NTSC_DATA[0:7] */
875 123, 124, 125, 126,
876 127, 128, 129, 130,
878 static const unsigned int ntsc_data_mux[] = {
879 NTSC_DATA0_MARK, NTSC_DATA1_MARK, NTSC_DATA2_MARK, NTSC_DATA3_MARK,
880 NTSC_DATA4_MARK, NTSC_DATA5_MARK, NTSC_DATA6_MARK, NTSC_DATA7_MARK,
883 /* = [ PWM0 ] ============= */
884 EMEV_MUX_PIN(pwm0, 120, PWM0);
886 /* = [ PWM1 ] ============= */
887 EMEV_MUX_PIN(pwm1, 121, PWM1);
889 /* = [ SD ] =============== */
890 EMEV_MUX_PIN(sd_cki, 48, SD_CKI);
892 /* = [ SDIO0 ] ============ */
893 static const unsigned int sdi0_ctrl_pins[] = {
894 /* CKO, CKI, CMD */
895 50, 51, 52,
897 static const unsigned int sdi0_ctrl_mux[] = {
898 SDI0_CKO_MARK, SDI0_CKI_MARK, SDI0_CMD_MARK,
901 static const unsigned int sdi0_data1_pins[] = {
902 /* SDI0_DATA[0] */
905 static const unsigned int sdi0_data1_mux[] = {
906 SDI0_DATA0_MARK,
908 static const unsigned int sdi0_data4_pins[] = {
909 /* SDI0_DATA[0:3] */
910 53, 54, 55, 56,
912 static const unsigned int sdi0_data4_mux[] = {
913 SDI0_DATA0_MARK, SDI0_DATA1_MARK, SDI0_DATA2_MARK, SDI0_DATA3_MARK,
915 static const unsigned int sdi0_data8_pins[] = {
916 /* SDI0_DATA[0:7] */
917 53, 54, 55, 56,
918 57, 58, 59, 60
920 static const unsigned int sdi0_data8_mux[] = {
921 SDI0_DATA0_MARK, SDI0_DATA1_MARK, SDI0_DATA2_MARK, SDI0_DATA3_MARK,
922 SDI0_DATA4_MARK, SDI0_DATA5_MARK, SDI0_DATA6_MARK, SDI0_DATA7_MARK,
925 /* = [ SDIO1 ] ============ */
926 static const unsigned int sdi1_ctrl_pins[] = {
927 /* CKO, CKI, CMD */
928 61, 62, 63,
930 static const unsigned int sdi1_ctrl_mux[] = {
931 SDI1_CKO_MARK, SDI1_CKI_MARK, SDI1_CMD_MARK,
934 static const unsigned int sdi1_data1_pins[] = {
935 /* SDI1_DATA[0] */
938 static const unsigned int sdi1_data1_mux[] = {
939 SDI1_DATA0_MARK,
941 static const unsigned int sdi1_data4_pins[] = {
942 /* SDI1_DATA[0:3] */
943 64, 65, 66, 67,
945 static const unsigned int sdi1_data4_mux[] = {
946 SDI1_DATA0_MARK, SDI1_DATA1_MARK, SDI1_DATA2_MARK, SDI1_DATA3_MARK,
949 /* = [ SDIO2 ] ============ */
950 static const unsigned int sdi2_ctrl_pins[] = {
951 /* CKO, CKI, CMD */
952 97, 98, 99,
954 static const unsigned int sdi2_ctrl_mux[] = {
955 SDI2_CKO_MARK, SDI2_CKI_MARK, SDI2_CMD_MARK,
958 static const unsigned int sdi2_data1_pins[] = {
959 /* SDI2_DATA[0] */
962 static const unsigned int sdi2_data1_mux[] = {
963 SDI2_DATA0_MARK,
965 static const unsigned int sdi2_data4_pins[] = {
966 /* SDI2_DATA[0:3] */
967 89, 90, 91, 92,
969 static const unsigned int sdi2_data4_mux[] = {
970 SDI2_DATA0_MARK, SDI2_DATA1_MARK, SDI2_DATA2_MARK, SDI2_DATA3_MARK,
973 /* = [ TP33 ] ============= */
974 static const unsigned int tp33_pins[] = {
975 /* CLK, CTRL */
976 38, 39,
977 /* TP33_DATA[0:15] */
978 40, 41, PIN_NUMBER(2, 17), PIN_NUMBER(3, 17),
979 PIN_NUMBER(4, 17), PIN_NUMBER(2, 16), PIN_NUMBER(3, 16),
980 PIN_NUMBER(4, 16),
981 42, 43, PIN_NUMBER(2, 15), PIN_NUMBER(3, 15),
982 PIN_NUMBER(4, 15), PIN_NUMBER(2, 14), PIN_NUMBER(3, 14),
983 PIN_NUMBER(4, 14),
985 static const unsigned int tp33_mux[] = {
986 TP33_CLK_MARK, TP33_CTRL_MARK,
987 TP33_DATA0_MARK, TP33_DATA1_MARK, TP33_DATA2_MARK, TP33_DATA3_MARK,
988 TP33_DATA4_MARK, TP33_DATA5_MARK, TP33_DATA6_MARK, TP33_DATA7_MARK,
989 TP33_DATA8_MARK, TP33_DATA9_MARK, TP33_DATA10_MARK, TP33_DATA11_MARK,
990 TP33_DATA12_MARK, TP33_DATA13_MARK, TP33_DATA14_MARK, TP33_DATA15_MARK,
993 /* = [ UART1 ] ============ */
994 static const unsigned int uart1_data_pins[] = {
995 /* RX, TX */
996 155, 156,
998 static const unsigned int uart1_data_mux[] = {
999 UART1_RX_MARK, UART1_TX_MARK,
1002 static const unsigned int uart1_ctrl_pins[] = {
1003 /* CTSB, RTSB */
1004 157, 158,
1006 static const unsigned int uart1_ctrl_mux[] = {
1007 UART1_CTSB_MARK, UART1_RTSB_MARK,
1010 /* = [ UART2 ] ============ */
1011 static const unsigned int uart2_data_pins[] = {
1012 /* RX, TX */
1013 157, 158,
1015 static const unsigned int uart2_data_mux[] = {
1016 UART2_RX_MARK, UART2_TX_MARK,
1019 /* = [ UART3 ] ============ */
1020 static const unsigned int uart3_data_pins[] = {
1021 /* RX, TX */
1022 46, 47,
1024 static const unsigned int uart3_data_mux[] = {
1025 UART3_RX_MARK, UART3_TX_MARK,
1028 /* = [ USB ] ============== */
1029 EMEV_MUX_PIN(usb_vbus, 153, USB_VBUS);
1031 /* = [ USI0 ] ============== */
1032 EMEV_MUX_PIN(usi0_cs1, 105, USI0_CS1);
1033 EMEV_MUX_PIN(usi0_cs2, 106, USI0_CS2);
1034 EMEV_MUX_PIN(usi0_cs3, 115, USI0_CS3);
1035 EMEV_MUX_PIN(usi0_cs4, 116, USI0_CS4);
1036 EMEV_MUX_PIN(usi0_cs5, 117, USI0_CS5);
1037 EMEV_MUX_PIN(usi0_cs6, 118, USI0_CS6);
1039 /* = [ USI1 ] ============== */
1040 static const unsigned int usi1_pins[] = {
1041 /* DI, DO*/
1042 107, 108,
1044 static const unsigned int usi1_mux[] = {
1045 USI1_DI_MARK, USI1_DO_MARK,
1048 /* = [ USI2 ] ============== */
1049 static const unsigned int usi2_pins[] = {
1050 /* CLK, DI, DO*/
1051 109, 110, 111,
1053 static const unsigned int usi2_mux[] = {
1054 USI2_CLK_MARK, USI2_DI_MARK, USI2_DO_MARK,
1056 EMEV_MUX_PIN(usi2_cs0, 112, USI2_CS0);
1057 EMEV_MUX_PIN(usi2_cs1, 113, USI2_CS1);
1058 EMEV_MUX_PIN(usi2_cs2, 114, USI2_CS2);
1060 /* = [ USI3 ] ============== */
1061 static const unsigned int usi3_pins[] = {
1062 /* CLK, DI, DO*/
1063 115, 116, 117,
1065 static const unsigned int usi3_mux[] = {
1066 USI3_CLK_MARK, USI3_DI_MARK, USI3_DO_MARK,
1068 EMEV_MUX_PIN(usi3_cs0, 118, USI3_CS0);
1070 /* = [ USI4 ] ============== */
1071 static const unsigned int usi4_pins[] = {
1072 /* CLK, DI, DO*/
1073 119, 120, 121,
1075 static const unsigned int usi4_mux[] = {
1076 USI4_CLK_MARK, USI4_DI_MARK, USI4_DO_MARK,
1078 EMEV_MUX_PIN(usi4_cs0, 113, USI4_CS0);
1079 EMEV_MUX_PIN(usi4_cs1, 114, USI4_CS1);
1081 /* = [ USI5 ] ============== */
1082 static const unsigned int usi5_a_pins[] = {
1083 /* CLK, DI, DO*/
1084 85, 86, 87,
1086 static const unsigned int usi5_a_mux[] = {
1087 USI5_CLK_A_MARK, USI5_DI_A_MARK, USI5_DO_A_MARK,
1089 EMEV_MUX_PIN(usi5_cs0_a, 88, USI5_CS0_A);
1090 EMEV_MUX_PIN(usi5_cs1_a, 89, USI5_CS1_A);
1091 EMEV_MUX_PIN(usi5_cs2_a, 90, USI5_CS2_A);
1093 static const unsigned int usi5_b_pins[] = {
1094 /* CLK, DI, DO*/
1095 143, 144, 150,
1097 static const unsigned int usi5_b_mux[] = {
1098 USI5_CLK_B_MARK, USI5_DI_B_MARK, USI5_DO_B_MARK,
1100 EMEV_MUX_PIN(usi5_cs0_b, 145, USI5_CS0_B);
1101 EMEV_MUX_PIN(usi5_cs1_b, 146, USI5_CS1_B);
1102 EMEV_MUX_PIN(usi5_cs2_b, 147, USI5_CS2_B);
1103 EMEV_MUX_PIN(usi5_cs3_b, 148, USI5_CS3_B);
1104 EMEV_MUX_PIN(usi5_cs4_b, 149, USI5_CS4_B);
1106 static const struct sh_pfc_pin_group pinmux_groups[] = {
1107 SH_PFC_PIN_GROUP(err_rst_reqb),
1108 SH_PFC_PIN_GROUP(ref_clko),
1109 SH_PFC_PIN_GROUP(ext_clki),
1110 SH_PFC_PIN_GROUP(lowpwr),
1112 SH_PFC_PIN_GROUP(ab_main),
1113 SH_PFC_PIN_GROUP(ab_clk),
1114 SH_PFC_PIN_GROUP(ab_csb0),
1115 SH_PFC_PIN_GROUP(ab_csb1),
1116 SH_PFC_PIN_GROUP(ab_csb2),
1117 SH_PFC_PIN_GROUP(ab_csb3),
1118 SH_PFC_PIN_GROUP(ab_wait),
1119 SH_PFC_PIN_GROUP(ab_adv),
1120 SH_PFC_PIN_GROUP(ab_a17),
1121 SH_PFC_PIN_GROUP(ab_a18),
1122 SH_PFC_PIN_GROUP(ab_a19),
1123 SH_PFC_PIN_GROUP(ab_a20),
1124 SH_PFC_PIN_GROUP(ab_a21),
1125 SH_PFC_PIN_GROUP(ab_a22),
1126 SH_PFC_PIN_GROUP(ab_a23),
1127 SH_PFC_PIN_GROUP(ab_a24),
1128 SH_PFC_PIN_GROUP(ab_a25),
1129 SH_PFC_PIN_GROUP(ab_a26),
1130 SH_PFC_PIN_GROUP(ab_a27),
1131 SH_PFC_PIN_GROUP(ab_a28),
1132 SH_PFC_PIN_GROUP(ab_ben0),
1133 SH_PFC_PIN_GROUP(ab_ben1),
1135 SH_PFC_PIN_GROUP(cam_clko),
1136 SH_PFC_PIN_GROUP(cam),
1138 SH_PFC_PIN_GROUP(cf_ctrl),
1139 SH_PFC_PIN_GROUP(cf_data8),
1140 SH_PFC_PIN_GROUP(cf_data16),
1142 SH_PFC_PIN_GROUP(dtv_a),
1143 SH_PFC_PIN_GROUP(dtv_b),
1145 SH_PFC_PIN_GROUP(iic0),
1147 SH_PFC_PIN_GROUP(iic1),
1149 SH_PFC_PIN_GROUP(jtag),
1151 SH_PFC_PIN_GROUP(lcd3_pxclk),
1152 SH_PFC_PIN_GROUP(lcd3_pxclkb),
1153 SH_PFC_PIN_GROUP(lcd3_clk_i),
1154 SH_PFC_PIN_GROUP(lcd3_sync),
1155 SH_PFC_PIN_GROUP(lcd3_rgb888),
1156 SH_PFC_PIN_GROUP(yuv3_clk_i),
1157 SH_PFC_PIN_GROUP(yuv3),
1159 SH_PFC_PIN_GROUP(ntsc_clk),
1160 SH_PFC_PIN_GROUP(ntsc_data),
1162 SH_PFC_PIN_GROUP(pwm0),
1164 SH_PFC_PIN_GROUP(pwm1),
1166 SH_PFC_PIN_GROUP(sd_cki),
1168 SH_PFC_PIN_GROUP(sdi0_ctrl),
1169 SH_PFC_PIN_GROUP(sdi0_data1),
1170 SH_PFC_PIN_GROUP(sdi0_data4),
1171 SH_PFC_PIN_GROUP(sdi0_data8),
1173 SH_PFC_PIN_GROUP(sdi1_ctrl),
1174 SH_PFC_PIN_GROUP(sdi1_data1),
1175 SH_PFC_PIN_GROUP(sdi1_data4),
1177 SH_PFC_PIN_GROUP(sdi2_ctrl),
1178 SH_PFC_PIN_GROUP(sdi2_data1),
1179 SH_PFC_PIN_GROUP(sdi2_data4),
1181 SH_PFC_PIN_GROUP(tp33),
1183 SH_PFC_PIN_GROUP(uart1_data),
1184 SH_PFC_PIN_GROUP(uart1_ctrl),
1186 SH_PFC_PIN_GROUP(uart2_data),
1188 SH_PFC_PIN_GROUP(uart3_data),
1190 SH_PFC_PIN_GROUP(usb_vbus),
1192 SH_PFC_PIN_GROUP(usi0_cs1),
1193 SH_PFC_PIN_GROUP(usi0_cs2),
1194 SH_PFC_PIN_GROUP(usi0_cs3),
1195 SH_PFC_PIN_GROUP(usi0_cs4),
1196 SH_PFC_PIN_GROUP(usi0_cs5),
1197 SH_PFC_PIN_GROUP(usi0_cs6),
1199 SH_PFC_PIN_GROUP(usi1),
1201 SH_PFC_PIN_GROUP(usi2),
1202 SH_PFC_PIN_GROUP(usi2_cs0),
1203 SH_PFC_PIN_GROUP(usi2_cs1),
1204 SH_PFC_PIN_GROUP(usi2_cs2),
1206 SH_PFC_PIN_GROUP(usi3),
1207 SH_PFC_PIN_GROUP(usi3_cs0),
1209 SH_PFC_PIN_GROUP(usi4),
1210 SH_PFC_PIN_GROUP(usi4_cs0),
1211 SH_PFC_PIN_GROUP(usi4_cs1),
1213 SH_PFC_PIN_GROUP(usi5_a),
1214 SH_PFC_PIN_GROUP(usi5_cs0_a),
1215 SH_PFC_PIN_GROUP(usi5_cs1_a),
1216 SH_PFC_PIN_GROUP(usi5_cs2_a),
1217 SH_PFC_PIN_GROUP(usi5_b),
1218 SH_PFC_PIN_GROUP(usi5_cs0_b),
1219 SH_PFC_PIN_GROUP(usi5_cs1_b),
1220 SH_PFC_PIN_GROUP(usi5_cs2_b),
1221 SH_PFC_PIN_GROUP(usi5_cs3_b),
1222 SH_PFC_PIN_GROUP(usi5_cs4_b),
1225 static const char * const ab_groups[] = {
1226 "ab_main",
1227 "ab_clk",
1228 "ab_csb0",
1229 "ab_csb1",
1230 "ab_csb2",
1231 "ab_csb3",
1232 "ab_wait",
1233 "ab_adv",
1234 "ab_a17",
1235 "ab_a18",
1236 "ab_a19",
1237 "ab_a20",
1238 "ab_a21",
1239 "ab_a22",
1240 "ab_a23",
1241 "ab_a24",
1242 "ab_a25",
1243 "ab_a26",
1244 "ab_a27",
1245 "ab_a28",
1246 "ab_ben0",
1247 "ab_ben1",
1250 static const char * const cam_groups[] = {
1251 "cam_clko",
1252 "cam",
1255 static const char * const cf_groups[] = {
1256 "cf_ctrl",
1257 "cf_data8",
1258 "cf_data16",
1261 static const char * const dtv_groups[] = {
1262 "dtv_a",
1263 "dtv_b",
1266 static const char * const err_rst_reqb_groups[] = {
1267 "err_rst_reqb",
1270 static const char * const ext_clki_groups[] = {
1271 "ext_clki",
1274 static const char * const iic0_groups[] = {
1275 "iic0",
1278 static const char * const iic1_groups[] = {
1279 "iic1",
1282 static const char * const jtag_groups[] = {
1283 "jtag",
1286 static const char * const lcd_groups[] = {
1287 "lcd3_pxclk",
1288 "lcd3_pxclkb",
1289 "lcd3_clk_i",
1290 "lcd3_sync",
1291 "lcd3_rgb888",
1292 "yuv3_clk_i",
1293 "yuv3",
1296 static const char * const lowpwr_groups[] = {
1297 "lowpwr",
1300 static const char * const ntsc_groups[] = {
1301 "ntsc_clk",
1302 "ntsc_data",
1305 static const char * const pwm0_groups[] = {
1306 "pwm0",
1309 static const char * const pwm1_groups[] = {
1310 "pwm1",
1313 static const char * const ref_clko_groups[] = {
1314 "ref_clko",
1317 static const char * const sd_groups[] = {
1318 "sd_cki",
1321 static const char * const sdi0_groups[] = {
1322 "sdi0_ctrl",
1323 "sdi0_data1",
1324 "sdi0_data4",
1325 "sdi0_data8",
1328 static const char * const sdi1_groups[] = {
1329 "sdi1_ctrl",
1330 "sdi1_data1",
1331 "sdi1_data4",
1334 static const char * const sdi2_groups[] = {
1335 "sdi2_ctrl",
1336 "sdi2_data1",
1337 "sdi2_data4",
1340 static const char * const tp33_groups[] = {
1341 "tp33",
1344 static const char * const uart1_groups[] = {
1345 "uart1_data",
1346 "uart1_ctrl",
1349 static const char * const uart2_groups[] = {
1350 "uart2_data",
1353 static const char * const uart3_groups[] = {
1354 "uart3_data",
1357 static const char * const usb_groups[] = {
1358 "usb_vbus",
1361 static const char * const usi0_groups[] = {
1362 "usi0_cs1",
1363 "usi0_cs2",
1364 "usi0_cs3",
1365 "usi0_cs4",
1366 "usi0_cs5",
1367 "usi0_cs6",
1370 static const char * const usi1_groups[] = {
1371 "usi1",
1374 static const char * const usi2_groups[] = {
1375 "usi2",
1376 "usi2_cs0",
1377 "usi2_cs1",
1378 "usi2_cs2",
1381 static const char * const usi3_groups[] = {
1382 "usi3",
1383 "usi3_cs0",
1386 static const char * const usi4_groups[] = {
1387 "usi4",
1388 "usi4_cs0",
1389 "usi4_cs1",
1392 static const char * const usi5_groups[] = {
1393 "usi5_a",
1394 "usi5_cs0_a",
1395 "usi5_cs1_a",
1396 "usi5_cs2_a",
1397 "usi5_b",
1398 "usi5_cs0_b",
1399 "usi5_cs1_b",
1400 "usi5_cs2_b",
1401 "usi5_cs3_b",
1402 "usi5_cs4_b",
1405 static const struct sh_pfc_function pinmux_functions[] = {
1406 SH_PFC_FUNCTION(ab),
1407 SH_PFC_FUNCTION(cam),
1408 SH_PFC_FUNCTION(cf),
1409 SH_PFC_FUNCTION(dtv),
1410 SH_PFC_FUNCTION(err_rst_reqb),
1411 SH_PFC_FUNCTION(ext_clki),
1412 SH_PFC_FUNCTION(iic0),
1413 SH_PFC_FUNCTION(iic1),
1414 SH_PFC_FUNCTION(jtag),
1415 SH_PFC_FUNCTION(lcd),
1416 SH_PFC_FUNCTION(lowpwr),
1417 SH_PFC_FUNCTION(ntsc),
1418 SH_PFC_FUNCTION(pwm0),
1419 SH_PFC_FUNCTION(pwm1),
1420 SH_PFC_FUNCTION(ref_clko),
1421 SH_PFC_FUNCTION(sd),
1422 SH_PFC_FUNCTION(sdi0),
1423 SH_PFC_FUNCTION(sdi1),
1424 SH_PFC_FUNCTION(sdi2),
1425 SH_PFC_FUNCTION(tp33),
1426 SH_PFC_FUNCTION(uart1),
1427 SH_PFC_FUNCTION(uart2),
1428 SH_PFC_FUNCTION(uart3),
1429 SH_PFC_FUNCTION(usb),
1430 SH_PFC_FUNCTION(usi0),
1431 SH_PFC_FUNCTION(usi1),
1432 SH_PFC_FUNCTION(usi2),
1433 SH_PFC_FUNCTION(usi3),
1434 SH_PFC_FUNCTION(usi4),
1435 SH_PFC_FUNCTION(usi5),
1438 static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1439 { PINMUX_CFG_REG("GPSR0", 0xe0140200, 32, 1) {
1440 0, PORT31_FN, /* PIN: J18 */
1441 0, PORT30_FN, /* PIN: H18 */
1442 0, PORT29_FN, /* PIN: G18 */
1443 0, PORT28_FN, /* PIN: F18 */
1444 0, PORT27_FN, /* PIN: F17 */
1445 0, PORT26_FN, /* PIN: F16 */
1446 0, PORT25_FN, /* PIN: E20 */
1447 0, PORT24_FN, /* PIN: D20 */
1448 FN_LCD3_1_0_PORT23, PORT23_FN, /* PIN: D19 */
1449 FN_LCD3_1_0_PORT22, PORT22_FN, /* PIN: C20 */
1450 FN_LCD3_1_0_PORT21, PORT21_FN, /* PIN: B21 */
1451 FN_LCD3_1_0_PORT20, PORT20_FN, /* PIN: A21 */
1452 FN_LCD3_PXCLKB, PORT19_FN, /* PIN: C21 */
1453 FN_LCD3_1_0_PORT18, PORT18_FN, /* PIN: B22 */
1454 0, PORT17_FN, /* PIN: W20 */
1455 0, PORT16_FN, /* PIN: W21 */
1456 0, PORT15_FN, /* PIN: Y19 */
1457 0, PORT14_FN, /* PIN: Y20 */
1458 0, PORT13_FN, /* PIN: Y21 */
1459 0, PORT12_FN, /* PIN: AA20 */
1460 0, PORT11_FN, /* PIN: AA21 */
1461 0, PORT10_FN, /* PIN: AA22 */
1462 0, PORT9_FN, /* PIN: V15 */
1463 0, PORT8_FN, /* PIN: V16 */
1464 0, PORT7_FN, /* PIN: V17 */
1465 0, PORT6_FN, /* PIN: V18 */
1466 FN_EXT_CLKI, PORT5_FN, /* PIN: U8 */
1467 FN_REF_CLKO, PORT4_FN, /* PIN: V8 */
1468 FN_ERR_RST_REQB, PORT3_FN, /* PIN: U9 */
1469 FN_JT_SEL, PORT2_FN, /* PIN: V9 */
1470 0, PORT1_FN, /* PIN: U10 */
1471 0, PORT0_FN, /* PIN: V10 */
1474 { PINMUX_CFG_REG("GPSR1", 0xe0140204, 32, 1) {
1475 FN_SDI1_CMD, PORT63_FN, /* PIN: AC21 */
1476 FN_SDI1_CKI, PORT62_FN, /* PIN: AA23 */
1477 FN_SDI1_CKO, PORT61_FN, /* PIN: AB22 */
1478 FN_SDI0_DATA7, PORT60_FN, /* PIN: Y16 */
1479 FN_SDI0_DATA6, PORT59_FN, /* PIN: AA16 */
1480 FN_SDI0_DATA5, PORT58_FN, /* PIN: Y15 */
1481 FN_SDI0_DATA4, PORT57_FN, /* PIN: AA15 */
1482 FN_SDI0_DATA3, PORT56_FN, /* PIN: Y14 */
1483 FN_SDI0_DATA2, PORT55_FN, /* PIN: AA14 */
1484 FN_SDI0_DATA1, PORT54_FN, /* PIN: Y13 */
1485 FN_SDI0_DATA0, PORT53_FN, /* PIN: AA13 */
1486 FN_SDI0_CMD, PORT52_FN, /* PIN: Y12 */
1487 FN_SDI0_CKI, PORT51_FN, /* PIN: AC18 */
1488 FN_SDI0_CKO, PORT50_FN, /* PIN: AB18 */
1489 0, PORT49_FN, /* PIN: AB16 */
1490 FN_SD_CKI, PORT48_FN, /* PIN: AC19 */
1491 FN_IIC_1_0_PORT47, PORT47_FN, /* PIN: Y8 */
1492 FN_IIC_1_0_PORT46, PORT46_FN, /* PIN: Y9 */
1493 FN_IIC0_SDA, PORT45_FN, /* PIN: AA8 */
1494 FN_IIC0_SCL, PORT44_FN, /* PIN: AA9 */
1495 FN_LCD3_11_10_PORT43, PORT43_FN, /* PIN: A15 */
1496 FN_LCD3_11_10_PORT42, PORT42_FN, /* PIN: A16 */
1497 FN_LCD3_11_10_PORT41, PORT41_FN, /* PIN: A17 */
1498 FN_LCD3_11_10_PORT40, PORT40_FN, /* PIN: A18 */
1499 FN_LCD3_9_8_PORT39, PORT39_FN, /* PIN: D18 */
1500 FN_LCD3_9_8_PORT38, PORT38_FN, /* PIN: C18 */
1501 FN_LCD3_R5, PORT37_FN, /* PIN: B18 */
1502 FN_LCD3_R4, PORT36_FN, /* PIN: C19 */
1503 FN_LCD3_R3, PORT35_FN, /* PIN: B19 */
1504 FN_LCD3_R2, PORT34_FN, /* PIN: A19 */
1505 FN_LCD3_R1, PORT33_FN, /* PIN: B20 */
1506 FN_LCD3_R0, PORT32_FN, /* PIN: A20 */
1509 { PINMUX_CFG_REG("GPSR2", 0xe0140208, 32, 1) {
1510 FN_AB_1_0_PORT95, PORT95_FN, /* PIN: L21 */
1511 FN_AB_1_0_PORT94, PORT94_FN, /* PIN: K21 */
1512 FN_AB_1_0_PORT93, PORT93_FN, /* PIN: J21 */
1513 FN_AB_7_6_PORT92, PORT92_FN, /* PIN: J22 */
1514 FN_AB_7_6_PORT91, PORT91_FN, /* PIN: H21 */
1515 FN_AB_5_4_PORT90, PORT90_FN, /* PIN: H22 */
1516 FN_AB_5_4_PORT89, PORT89_FN, /* PIN: H23 */
1517 FN_AB_3_2_PORT88, PORT88_FN, /* PIN: G21 */
1518 FN_AB_3_2_PORT87, PORT87_FN, /* PIN: G22 */
1519 FN_AB_3_2_PORT86, PORT86_FN, /* PIN: G23 */
1520 FN_AB_3_2_PORT85, PORT85_FN, /* PIN: F21 */
1521 FN_AB_1_0_PORT84, PORT84_FN, /* PIN: F22 */
1522 FN_AB_1_0_PORT83, PORT83_FN, /* PIN: F23 */
1523 FN_AB_1_0_PORT82, PORT82_FN, /* PIN: E22 */
1524 FN_AB_1_0_PORT81, PORT81_FN, /* PIN: E23 */
1525 FN_AB_1_0_PORT80, PORT80_FN, /* PIN: D22 */
1526 FN_AB_1_0_PORT79, PORT79_FN, /* PIN: D23 */
1527 FN_AB_1_0_PORT78, PORT78_FN, /* PIN: C22 */
1528 FN_AB_1_0_PORT77, PORT77_FN, /* PIN: C23 */
1529 FN_AB_1_0_PORT76, PORT76_FN, /* PIN: K20 */
1530 FN_AB_1_0_PORT75, PORT75_FN, /* PIN: L20 */
1531 FN_AB_1_0_PORT74, PORT74_FN, /* PIN: H20 */
1532 FN_AB_1_0_PORT73, PORT73_FN, /* PIN: J20 */
1533 FN_AB_1_0_PORT72, PORT72_FN, /* PIN: G20 */
1534 FN_AB_1_0_PORT71, PORT71_FN, /* PIN: F20 */
1535 FN_AB_CSB1, PORT70_FN, /* PIN: E21 */
1536 FN_AB_CSB0, PORT69_FN, /* PIN: D21 */
1537 FN_AB_CLK, PORT68_FN, /* PIN: J23 */
1538 FN_SDI1_DATA3, PORT67_FN, /* PIN: AA19 */
1539 FN_SDI1_DATA2, PORT66_FN, /* PIN: AB19 */
1540 FN_SDI1_DATA1, PORT65_FN, /* PIN: AB20 */
1541 FN_SDI1_DATA0, PORT64_FN, /* PIN: AB21 */
1544 { PINMUX_CFG_REG("GPSR3", 0xe014020c, 32, 1) {
1545 FN_NTSC_DATA4, PORT127_FN, /* PIN: T20 */
1546 FN_NTSC_DATA3, PORT126_FN, /* PIN: R18 */
1547 FN_NTSC_DATA2, PORT125_FN, /* PIN: R20 */
1548 FN_NTSC_DATA1, PORT124_FN, /* PIN: P18 */
1549 FN_NTSC_DATA0, PORT123_FN, /* PIN: P20 */
1550 FN_NTSC_CLK, PORT122_FN, /* PIN: V20 */
1551 FN_USI_9_8_PORT121, PORT121_FN, /* PIN: Y5 */
1552 FN_USI_9_8_PORT120, PORT120_FN, /* PIN: AA4 */
1553 FN_USI_7_6_PORT119, PORT119_FN, /* PIN: AB3 */
1554 FN_USI_5_4_PORT118, PORT118_FN, /* PIN: AB4 */
1555 FN_USI_5_4_PORT117, PORT117_FN, /* PIN: AC3 */
1556 FN_USI_5_4_PORT116, PORT116_FN, /* PIN: AC4 */
1557 FN_USI_5_4_PORT115, PORT115_FN, /* PIN: AC5 */
1558 FN_USI_3_2_PORT114, PORT114_FN, /* PIN: Y6 */
1559 FN_USI_3_2_PORT113, PORT113_FN, /* PIN: AA7 */
1560 FN_USI_1_0_PORT112, PORT112_FN, /* PIN: Y7 */
1561 FN_USI_1_0_PORT111, PORT111_FN, /* PIN: AA5 */
1562 FN_USI_1_0_PORT110, PORT110_FN, /* PIN: AA6 */
1563 FN_USI_1_0_PORT109, PORT109_FN, /* PIN: AB5 */
1564 FN_USI1_DO, PORT108_FN, /* PIN: D10 */
1565 FN_USI1_DI, PORT107_FN, /* PIN: C10 */
1566 FN_USI0_CS2, PORT106_FN, /* PIN: B9 */
1567 FN_USI0_CS1, PORT105_FN, /* PIN: B8 */
1568 FN_AB_13_12_PORT104, PORT104_FN, /* PIN: M17 */
1569 FN_AB_13_12_PORT103, PORT103_FN, /* PIN: L17 */
1570 FN_AB_11_10_PORT102, PORT102_FN, /* PIN: N18 */
1571 FN_AB_11_10_PORT101, PORT101_FN, /* PIN: M18 */
1572 FN_AB_11_10_PORT100, PORT100_FN, /* PIN: L18 */
1573 FN_AB_9_8_PORT99, PORT99_FN, /* PIN: N20 */
1574 FN_AB_9_8_PORT98, PORT98_FN, /* PIN: M20 */
1575 FN_AB_9_8_PORT97, PORT97_FN, /* PIN: N21 */
1576 FN_AB_A20, PORT96_FN, /* PIN: M21 */
1579 { PINMUX_CFG_REG("GPSR4", 0xe0140210, 32, 1) {
1580 0, 0,
1581 FN_UART_1_0_PORT158, PORT158_FN, /* PIN: AB10 */
1582 FN_UART_1_0_PORT157, PORT157_FN, /* PIN: AA10 */
1583 FN_UART1_TX, PORT156_FN, /* PIN: Y10 */
1584 FN_UART1_RX, PORT155_FN, /* PIN: Y11 */
1585 FN_LOWPWR, PORT154_FN, /* PIN: A12 */
1586 FN_USB_VBUS, PORT153_FN, /* PIN: AA12 */
1587 FN_JT_TDOEN, PORT152_FN, /* PIN: F13 */
1588 FN_JT_TDO, PORT151_FN, /* PIN: D13 */
1589 FN_HSI_1_0_PORT150, PORT150_FN, /* PIN: M22 */
1590 FN_HSI_1_0_PORT149, PORT149_FN, /* PIN: M23 */
1591 FN_HSI_1_0_PORT148, PORT148_FN, /* PIN: N23 */
1592 FN_HSI_1_0_PORT147, PORT147_FN, /* PIN: N22 */
1593 FN_HSI_1_0_PORT146, PORT146_FN, /* PIN: L22 */
1594 FN_HSI_1_0_PORT145, PORT145_FN, /* PIN: L23 */
1595 FN_HSI_1_0_PORT144, PORT144_FN, /* PIN: K23 */
1596 FN_HSI_1_0_PORT143, PORT143_FN, /* PIN: K22 */
1597 FN_CAM_YUV7, PORT142_FN, /* PIN: V23 */
1598 FN_CAM_YUV6, PORT141_FN, /* PIN: V22 */
1599 FN_CAM_YUV5, PORT140_FN, /* PIN: U23 */
1600 FN_CAM_YUV4, PORT139_FN, /* PIN: U22 */
1601 FN_CAM_YUV3, PORT138_FN, /* PIN: U21 */
1602 FN_CAM_YUV2, PORT137_FN, /* PIN: T23 */
1603 FN_CAM_YUV1, PORT136_FN, /* PIN: T22 */
1604 FN_CAM_YUV0, PORT135_FN, /* PIN: T21 */
1605 FN_CAM_HS, PORT134_FN, /* PIN: V21 */
1606 FN_CAM_VS, PORT133_FN, /* PIN: W22 */
1607 FN_CAM_CLKI, PORT132_FN, /* PIN: Y23 */
1608 FN_CAM_CLKO, PORT131_FN, /* PIN: W23 */
1609 FN_NTSC_DATA7, PORT130_FN, /* PIN: U18 */
1610 FN_NTSC_DATA6, PORT129_FN, /* PIN: U20 */
1611 FN_NTSC_DATA5, PORT128_FN, /* PIN: T18 */
1614 { PINMUX_CFG_REG_VAR("CHG_PINSEL_LCD3", 0xe0140284, 32,
1615 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1616 1, 1, 1, 1, 2, 2, 2, 2, 2, 2) {
1617 /* 31 - 12 */
1618 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1619 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1620 0, 0, 0, 0, 0, 0, 0, 0,
1621 /* 11 - 10 */
1622 FN_SEL_LCD3_11_10_00, FN_SEL_LCD3_11_10_01,
1623 FN_SEL_LCD3_11_10_10, 0,
1624 /* 9 - 8 */
1625 FN_SEL_LCD3_9_8_00, 0, FN_SEL_LCD3_9_8_10, 0,
1626 /* 7 - 2 */
1627 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1628 /* 1 - 0 */
1629 FN_SEL_LCD3_1_0_00, FN_SEL_LCD3_1_0_01, 0, 0,
1632 { PINMUX_CFG_REG_VAR("CHG_PINSEL_UART", 0xe0140288, 32,
1633 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1634 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2) {
1635 /* 31 - 2 */
1636 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1637 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1639 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1640 /* 1 - 0 */
1641 FN_SEL_UART_1_0_00, FN_SEL_UART_1_0_01, 0, 0,
1644 { PINMUX_CFG_REG_VAR("CHG_PINSEL_IIC", 0xe014028c, 32,
1645 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1646 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2) {
1647 /* 31 - 2 */
1648 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1649 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1650 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1651 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1652 /* 1 - 0 */
1653 FN_SEL_IIC_1_0_00, FN_SEL_IIC_1_0_01, 0, 0,
1656 { PINMUX_CFG_REG_VAR("CHG_PINSEL_AB", 0xe0140294, 32,
1657 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1658 2, 2, 2, 2, 2, 2, 2, 2) {
1659 /* 31 - 14 */
1660 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1661 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1662 0, 0, 0, 0,
1663 /* 13 - 12 */
1664 FN_SEL_AB_13_12_00, 0, FN_SEL_AB_13_12_10, 0,
1665 /* 11 - 10 */
1666 FN_SEL_AB_11_10_00, 0, FN_SEL_AB_11_10_10, 0,
1667 /* 9 - 8 */
1668 FN_SEL_AB_9_8_00, FN_SEL_AB_9_8_01, FN_SEL_AB_9_8_10, 0,
1669 /* 7 - 6 */
1670 FN_SEL_AB_7_6_00, FN_SEL_AB_7_6_01, FN_SEL_AB_7_6_10, 0,
1671 /* 5 - 4 */
1672 FN_SEL_AB_5_4_00, FN_SEL_AB_5_4_01,
1673 FN_SEL_AB_5_4_10, FN_SEL_AB_5_4_11,
1674 /* 3 - 2 */
1675 FN_SEL_AB_3_2_00, FN_SEL_AB_3_2_01,
1676 FN_SEL_AB_3_2_10, FN_SEL_AB_3_2_11,
1677 /* 1 - 0 */
1678 FN_SEL_AB_1_0_00, 0, FN_SEL_AB_1_0_10, 0,
1681 { PINMUX_CFG_REG_VAR("CHG_PINSEL_USI", 0xe0140298, 32,
1682 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1683 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2) {
1684 /* 31 - 10 */
1685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1686 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1688 /* 9 - 8 */
1689 FN_SEL_USI_9_8_00, FN_SEL_USI_9_8_01, 0, 0,
1690 /* 7 - 6 */
1691 FN_SEL_USI_7_6_00, FN_SEL_USI_7_6_01, 0, 0,
1692 /* 5 - 4 */
1693 FN_SEL_USI_5_4_00, FN_SEL_USI_5_4_01, 0, 0,
1694 /* 3 - 2 */
1695 FN_SEL_USI_3_2_00, FN_SEL_USI_3_2_01, 0, 0,
1696 /* 1 - 0 */
1697 FN_SEL_USI_1_0_00, FN_SEL_USI_1_0_01, 0, 0,
1700 { PINMUX_CFG_REG_VAR("CHG_PINSEL_HSI", 0xe01402a8, 32,
1701 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1702 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2) {
1703 /* 31 - 2 */
1704 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1705 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1706 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1707 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1708 /* 1 - 0 */
1709 FN_SEL_HSI_1_0_00, FN_SEL_HSI_1_0_01, 0, 0,
1712 { },
1715 const struct sh_pfc_soc_info emev2_pinmux_info = {
1716 .name = "emev2_pfc",
1718 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
1720 .pins = pinmux_pins,
1721 .nr_pins = ARRAY_SIZE(pinmux_pins),
1722 .groups = pinmux_groups,
1723 .nr_groups = ARRAY_SIZE(pinmux_groups),
1724 .functions = pinmux_functions,
1725 .nr_functions = ARRAY_SIZE(pinmux_functions),
1727 .cfg_regs = pinmux_config_regs,
1729 .pinmux_data = pinmux_data,
1730 .pinmux_data_size = ARRAY_SIZE(pinmux_data),