blob: 7ed54f0cfff706587a8bcb324ac7246f828cef9e [file] [log] [blame]
Tom Rini83d290c2018-05-06 17:58:06 -04001// SPDX-License-Identifier: GPL-2.0
Marek Vasut34e93602018-01-17 22:33:59 +01002/*
3 * r8a7794/r8a7745 processor support - PFC hardware block.
4 *
5 * Copyright (C) 2014-2015 Renesas Electronics Corporation
6 * Copyright (C) 2015 Renesas Solutions Corp.
7 * Copyright (C) 2015-2017 Cogent Embedded, Inc. <source@cogentembedded.com>
Marek Vasut34e93602018-01-17 22:33:59 +01008 */
9
10#include <common.h>
11#include <dm.h>
12#include <errno.h>
13#include <dm/pinctrl.h>
14#include <linux/kernel.h>
15
16#include "sh_pfc.h"
17
Marek Vasuta2a14852021-04-26 22:04:11 +020018#define CPU_ALL_GP(fn, sfx) \
Marek Vasutf46776c2023-01-26 21:01:39 +010019 PORT_GP_CFG_32(0, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
20 PORT_GP_CFG_26(1, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
21 PORT_GP_CFG_32(2, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
22 PORT_GP_CFG_32(3, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
23 PORT_GP_CFG_32(4, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
24 PORT_GP_CFG_7(5, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
25 PORT_GP_1(5, 7, fn, sfx), \
26 PORT_GP_1(5, 8, fn, sfx), \
27 PORT_GP_1(5, 9, fn, sfx), \
28 PORT_GP_CFG_1(5, 10, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
29 PORT_GP_CFG_1(5, 11, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
30 PORT_GP_CFG_1(5, 12, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
31 PORT_GP_CFG_1(5, 13, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
32 PORT_GP_CFG_1(5, 14, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
33 PORT_GP_CFG_1(5, 15, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
34 PORT_GP_CFG_1(5, 16, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
35 PORT_GP_CFG_1(5, 17, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
36 PORT_GP_CFG_1(5, 18, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
37 PORT_GP_CFG_1(5, 19, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
38 PORT_GP_CFG_1(5, 20, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
39 PORT_GP_CFG_1(5, 21, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
40 PORT_GP_CFG_1(5, 22, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
41 PORT_GP_CFG_1(5, 23, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
42 PORT_GP_1(5, 24, fn, sfx), \
43 PORT_GP_1(5, 25, fn, sfx), \
44 PORT_GP_1(5, 26, fn, sfx), \
45 PORT_GP_1(5, 27, fn, sfx), \
46 PORT_GP_CFG_1(6, 0, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE), \
47 PORT_GP_CFG_1(6, 1, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
48 PORT_GP_CFG_1(6, 2, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
49 PORT_GP_CFG_1(6, 3, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
50 PORT_GP_CFG_1(6, 4, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
51 PORT_GP_CFG_1(6, 5, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
52 PORT_GP_CFG_1(6, 6, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
53 PORT_GP_CFG_1(6, 7, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
54 PORT_GP_CFG_1(6, 8, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE), \
55 PORT_GP_CFG_1(6, 9, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
56 PORT_GP_CFG_1(6, 10, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
57 PORT_GP_CFG_1(6, 11, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
58 PORT_GP_CFG_1(6, 12, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
59 PORT_GP_CFG_1(6, 13, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
60 PORT_GP_CFG_1(6, 14, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
61 PORT_GP_CFG_1(6, 15, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
62 PORT_GP_CFG_1(6, 16, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE), \
63 PORT_GP_CFG_1(6, 17, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
64 PORT_GP_CFG_1(6, 18, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
65 PORT_GP_CFG_1(6, 19, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
66 PORT_GP_CFG_1(6, 20, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
67 PORT_GP_CFG_1(6, 21, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
68 PORT_GP_CFG_1(6, 22, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
69 PORT_GP_CFG_1(6, 23, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \
70 PORT_GP_CFG_1(6, 24, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
71 PORT_GP_CFG_1(6, 25, fn, sfx, SH_PFC_PIN_CFG_PULL_UP)
72
73#define CPU_ALL_NOGP(fn) \
74 PIN_NOGP_CFG(ASEBRK_N_ACK, "ASEBRK#/ACK", fn, SH_PFC_PIN_CFG_PULL_DOWN), \
75 PIN_NOGP_CFG(TCK, "TCK", fn, SH_PFC_PIN_CFG_PULL_UP), \
76 PIN_NOGP_CFG(TDI, "TDI", fn, SH_PFC_PIN_CFG_PULL_UP), \
77 PIN_NOGP_CFG(TMS, "TMS", fn, SH_PFC_PIN_CFG_PULL_UP), \
78 PIN_NOGP_CFG(TRST_N, "TRST#", fn, SH_PFC_PIN_CFG_PULL_UP)
Marek Vasut34e93602018-01-17 22:33:59 +010079
80enum {
81 PINMUX_RESERVED = 0,
82
83 PINMUX_DATA_BEGIN,
84 GP_ALL(DATA),
85 PINMUX_DATA_END,
86
87 PINMUX_FUNCTION_BEGIN,
88 GP_ALL(FN),
89
90 /* GPSR0 */
91 FN_IP0_23_22, FN_IP0_24, FN_IP0_25, FN_IP0_27_26, FN_IP0_29_28,
92 FN_IP0_31_30, FN_IP1_1_0, FN_IP1_3_2, FN_IP1_5_4, FN_IP1_7_6,
93 FN_IP1_10_8, FN_IP1_12_11, FN_IP1_14_13, FN_IP1_17_15, FN_IP1_19_18,
94 FN_IP1_21_20, FN_IP1_23_22, FN_IP1_24, FN_A2, FN_IP1_26, FN_IP1_27,
95 FN_IP1_29_28, FN_IP1_31_30, FN_IP2_1_0, FN_IP2_3_2, FN_IP2_5_4,
96 FN_IP2_7_6, FN_IP2_9_8, FN_IP2_11_10, FN_IP2_13_12, FN_IP2_15_14,
97 FN_IP2_17_16,
98
99 /* GPSR1 */
100 FN_IP2_20_18, FN_IP2_23_21, FN_IP2_26_24, FN_IP2_29_27, FN_IP2_31_30,
101 FN_IP3_1_0, FN_IP3_3_2, FN_IP3_5_4, FN_IP3_7_6, FN_IP3_9_8, FN_IP3_10,
102 FN_IP3_11, FN_IP3_12, FN_IP3_14_13, FN_IP3_17_15, FN_IP3_20_18,
103 FN_IP3_23_21, FN_IP3_26_24, FN_IP3_29_27, FN_IP3_30, FN_IP3_31,
104 FN_WE0_N, FN_WE1_N, FN_IP4_1_0 , FN_IP7_31, FN_DACK0,
105
106 /* GPSR2 */
107 FN_IP4_4_2, FN_IP4_7_5, FN_IP4_9_8, FN_IP4_11_10, FN_IP4_13_12,
108 FN_IP4_15_14, FN_IP4_17_16, FN_IP4_19_18, FN_IP4_22_20, FN_IP4_25_23,
109 FN_IP4_27_26, FN_IP4_29_28, FN_IP4_31_30, FN_IP5_1_0, FN_IP5_3_2,
110 FN_IP5_5_4, FN_IP5_8_6, FN_IP5_11_9, FN_IP5_13_12, FN_IP5_15_14,
111 FN_IP5_17_16, FN_IP5_19_18, FN_IP5_21_20, FN_IP5_23_22, FN_IP5_25_24,
112 FN_IP5_27_26, FN_IP5_29_28, FN_IP5_31_30, FN_IP6_1_0, FN_IP6_3_2,
113 FN_IP6_5_4, FN_IP6_7_6,
114
115 /* GPSR3 */
116 FN_IP6_8, FN_IP6_9, FN_IP6_10, FN_IP6_11, FN_IP6_12, FN_IP6_13,
117 FN_IP6_14, FN_IP6_15, FN_IP6_16, FN_IP6_19_17, FN_IP6_22_20,
118 FN_IP6_25_23, FN_IP6_28_26, FN_IP6_31_29, FN_IP7_2_0, FN_IP7_5_3,
119 FN_IP7_8_6, FN_IP7_11_9, FN_IP7_14_12, FN_IP7_17_15, FN_IP7_20_18,
120 FN_IP7_23_21, FN_IP7_26_24, FN_IP7_29_27, FN_IP8_2_0, FN_IP8_5_3,
121 FN_IP8_8_6, FN_IP8_11_9, FN_IP8_14_12, FN_IP8_16_15, FN_IP8_19_17,
122 FN_IP8_22_20,
123
124 /* GPSR4 */
125 FN_IP8_25_23, FN_IP8_28_26, FN_IP8_31_29, FN_IP9_2_0, FN_IP9_5_3,
126 FN_IP9_8_6, FN_IP9_11_9, FN_IP9_14_12, FN_IP9_16_15, FN_IP9_18_17,
127 FN_IP9_21_19, FN_IP9_24_22, FN_IP9_27_25, FN_IP9_30_28, FN_IP10_2_0,
128 FN_IP10_5_3, FN_IP10_8_6, FN_IP10_11_9, FN_IP10_14_12, FN_IP10_17_15,
129 FN_IP10_20_18, FN_IP10_23_21, FN_IP10_26_24, FN_IP10_29_27,
130 FN_IP10_31_30, FN_IP11_2_0, FN_IP11_5_3, FN_IP11_7_6, FN_IP11_10_8,
131 FN_IP11_13_11, FN_IP11_15_14, FN_IP11_17_16,
132
133 /* GPSR5 */
134 FN_IP11_20_18, FN_IP11_23_21, FN_IP11_26_24, FN_IP11_29_27, FN_IP12_2_0,
135 FN_IP12_5_3, FN_IP12_8_6, FN_IP12_10_9, FN_IP12_12_11, FN_IP12_14_13,
136 FN_IP12_17_15, FN_IP12_20_18, FN_IP12_23_21, FN_IP12_26_24,
137 FN_IP12_29_27, FN_IP13_2_0, FN_IP13_5_3, FN_IP13_8_6, FN_IP13_11_9,
138 FN_IP13_14_12, FN_IP13_17_15, FN_IP13_20_18, FN_IP13_23_21,
139 FN_IP13_26_24, FN_USB0_PWEN, FN_USB0_OVC, FN_USB1_PWEN, FN_USB1_OVC,
140
141 /* GPSR6 */
142 FN_SD0_CLK, FN_SD0_CMD, FN_SD0_DATA0, FN_SD0_DATA1, FN_SD0_DATA2,
143 FN_SD0_DATA3, FN_SD0_CD, FN_SD0_WP, FN_SD1_CLK, FN_SD1_CMD,
144 FN_SD1_DATA0, FN_SD1_DATA1, FN_SD1_DATA2, FN_SD1_DATA3, FN_IP0_0,
145 FN_IP0_9_8, FN_IP0_10, FN_IP0_11, FN_IP0_12, FN_IP0_13, FN_IP0_14,
146 FN_IP0_15, FN_IP0_16, FN_IP0_17, FN_IP0_19_18, FN_IP0_21_20,
147
148 /* IPSR0 */
149 FN_SD1_CD, FN_CAN0_RX, FN_SD1_WP, FN_IRQ7, FN_CAN0_TX, FN_MMC_CLK,
150 FN_SD2_CLK, FN_MMC_CMD, FN_SD2_CMD, FN_MMC_D0, FN_SD2_DATA0, FN_MMC_D1,
151 FN_SD2_DATA1, FN_MMC_D2, FN_SD2_DATA2, FN_MMC_D3, FN_SD2_DATA3,
152 FN_MMC_D4, FN_SD2_CD, FN_MMC_D5, FN_SD2_WP, FN_MMC_D6, FN_SCIF0_RXD,
153 FN_I2C2_SCL_B, FN_CAN1_RX, FN_MMC_D7, FN_SCIF0_TXD, FN_I2C2_SDA_B,
154 FN_CAN1_TX, FN_D0, FN_SCIFA3_SCK_B, FN_IRQ4, FN_D1, FN_SCIFA3_RXD_B,
155 FN_D2, FN_SCIFA3_TXD_B, FN_D3, FN_I2C3_SCL_B, FN_SCIF5_RXD_B, FN_D4,
156 FN_I2C3_SDA_B, FN_SCIF5_TXD_B, FN_D5, FN_SCIF4_RXD_B, FN_I2C0_SCL_D,
157
158 /* IPSR1 */
159 FN_D6, FN_SCIF4_TXD_B, FN_I2C0_SDA_D,
160 FN_D7, FN_IRQ3, FN_TCLK1, FN_PWM6_B,
161 FN_D8, FN_HSCIF2_HRX, FN_I2C1_SCL_B,
162 FN_D9, FN_HSCIF2_HTX, FN_I2C1_SDA_B,
163 FN_D10, FN_HSCIF2_HSCK, FN_SCIF1_SCK_C, FN_IRQ6, FN_PWM5_C,
164 FN_D11, FN_HSCIF2_HCTS_N, FN_SCIF1_RXD_C, FN_I2C1_SCL_D,
165 FN_D12, FN_HSCIF2_HRTS_N, FN_SCIF1_TXD_C, FN_I2C1_SDA_D,
166 FN_D13, FN_SCIFA1_SCK, FN_PWM2_C, FN_TCLK2_B,
167 FN_D14, FN_SCIFA1_RXD, FN_I2C5_SCL_B,
168 FN_D15, FN_SCIFA1_TXD, FN_I2C5_SDA_B,
169 FN_A0, FN_SCIFB1_SCK, FN_PWM3_B,
170 FN_A1, FN_SCIFB1_TXD,
171 FN_A3, FN_SCIFB0_SCK,
172 FN_A4, FN_SCIFB0_TXD,
173 FN_A5, FN_SCIFB0_RXD, FN_PWM4_B, FN_TPUTO3_C,
174 FN_A6, FN_SCIFB0_CTS_N, FN_SCIFA4_RXD_B, FN_TPUTO2_C,
175
176 /* IPSR2 */
177 FN_A7, FN_SCIFB0_RTS_N, FN_SCIFA4_TXD_B,
178 FN_A8, FN_MSIOF1_RXD, FN_SCIFA0_RXD_B,
179 FN_A9, FN_MSIOF1_TXD, FN_SCIFA0_TXD_B,
180 FN_A10, FN_MSIOF1_SCK, FN_IIC0_SCL_B,
181 FN_A11, FN_MSIOF1_SYNC, FN_IIC0_SDA_B,
182 FN_A12, FN_MSIOF1_SS1, FN_SCIFA5_RXD_B,
183 FN_A13, FN_MSIOF1_SS2, FN_SCIFA5_TXD_B,
184 FN_A14, FN_MSIOF2_RXD, FN_HSCIF0_HRX_B, FN_DREQ1_N,
185 FN_A15, FN_MSIOF2_TXD, FN_HSCIF0_HTX_B, FN_DACK1,
186 FN_A16, FN_MSIOF2_SCK, FN_HSCIF0_HSCK_B, FN_SPEEDIN, FN_CAN_CLK_C,
187 FN_TPUTO2_B,
188 FN_A17, FN_MSIOF2_SYNC, FN_SCIF4_RXD_E, FN_CAN1_RX_B,
189 FN_A18, FN_MSIOF2_SS1, FN_SCIF4_TXD_E, FN_CAN1_TX_B,
190 FN_A19, FN_MSIOF2_SS2, FN_PWM4, FN_TPUTO2,
191 FN_A20, FN_SPCLK,
192
193 /* IPSR3 */
194 FN_A21, FN_MOSI_IO0,
195 FN_A22, FN_MISO_IO1, FN_ATADIR1_N,
196 FN_A23, FN_IO2, FN_ATAWR1_N,
197 FN_A24, FN_IO3, FN_EX_WAIT2,
198 FN_A25, FN_SSL, FN_ATARD1_N,
199 FN_CS0_N, FN_VI1_DATA8,
200 FN_CS1_N_A26, FN_VI1_DATA9,
201 FN_EX_CS0_N, FN_VI1_DATA10,
202 FN_EX_CS1_N, FN_TPUTO3_B, FN_SCIFB2_RXD, FN_VI1_DATA11,
203 FN_EX_CS2_N, FN_PWM0, FN_SCIF4_RXD_C, FN_TS_SDATA_B, FN_TPUTO3,
204 FN_SCIFB2_TXD,
205 FN_EX_CS3_N, FN_SCIFA2_SCK, FN_SCIF4_TXD_C, FN_TS_SCK_B, FN_BPFCLK,
206 FN_SCIFB2_SCK,
207 FN_EX_CS4_N, FN_SCIFA2_RXD, FN_I2C2_SCL_E, FN_TS_SDEN_B, FN_FMCLK,
208 FN_SCIFB2_CTS_N,
209 FN_EX_CS5_N, FN_SCIFA2_TXD, FN_I2C2_SDA_E, FN_TS_SPSYNC_B, FN_FMIN,
210 FN_SCIFB2_RTS_N,
211 FN_BS_N, FN_DRACK0, FN_PWM1_C, FN_TPUTO0_C, FN_ATACS01_N,
212 FN_RD_N, FN_ATACS11_N,
213 FN_RD_WR_N, FN_ATAG1_N,
214
215 /* IPSR4 */
216 FN_EX_WAIT0, FN_CAN_CLK_B, FN_SCIF_CLK,
217 FN_DU0_DR0, FN_LCDOUT16, FN_SCIF5_RXD_C, FN_I2C2_SCL_D,
218 FN_DU0_DR1, FN_LCDOUT17, FN_SCIF5_TXD_C, FN_I2C2_SDA_D,
219 FN_DU0_DR2, FN_LCDOUT18,
220 FN_DU0_DR3, FN_LCDOUT19,
221 FN_DU0_DR4, FN_LCDOUT20,
222 FN_DU0_DR5, FN_LCDOUT21,
223 FN_DU0_DR6, FN_LCDOUT22,
224 FN_DU0_DR7, FN_LCDOUT23,
225 FN_DU0_DG0, FN_LCDOUT8, FN_SCIFA0_RXD_C, FN_I2C3_SCL_D,
226 FN_DU0_DG1, FN_LCDOUT9, FN_SCIFA0_TXD_C, FN_I2C3_SDA_D,
227 FN_DU0_DG2, FN_LCDOUT10,
228 FN_DU0_DG3, FN_LCDOUT11,
229 FN_DU0_DG4, FN_LCDOUT12,
230
231 /* IPSR5 */
232 FN_DU0_DG5, FN_LCDOUT13,
233 FN_DU0_DG6, FN_LCDOUT14,
234 FN_DU0_DG7, FN_LCDOUT15,
235 FN_DU0_DB0, FN_LCDOUT0, FN_SCIFA4_RXD_C, FN_I2C4_SCL_D, FN_CAN0_RX_C,
236 FN_DU0_DB1, FN_LCDOUT1, FN_SCIFA4_TXD_C, FN_I2C4_SDA_D, FN_CAN0_TX_C,
237 FN_DU0_DB2, FN_LCDOUT2,
238 FN_DU0_DB3, FN_LCDOUT3,
239 FN_DU0_DB4, FN_LCDOUT4,
240 FN_DU0_DB5, FN_LCDOUT5,
241 FN_DU0_DB6, FN_LCDOUT6,
242 FN_DU0_DB7, FN_LCDOUT7,
243 FN_DU0_DOTCLKIN, FN_QSTVA_QVS,
244 FN_DU0_DOTCLKOUT0, FN_QCLK,
245 FN_DU0_DOTCLKOUT1, FN_QSTVB_QVE,
246 FN_DU0_EXHSYNC_DU0_HSYNC, FN_QSTH_QHS,
247
248 /* IPSR6 */
249 FN_DU0_EXVSYNC_DU0_VSYNC, FN_QSTB_QHE,
250 FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, FN_QCPV_QDE,
251 FN_DU0_DISP, FN_QPOLA,
252 FN_DU0_CDE, FN_QPOLB,
253 FN_VI0_CLK, FN_AVB_RX_CLK,
254 FN_VI0_DATA0_VI0_B0, FN_AVB_RX_DV,
255 FN_VI0_DATA1_VI0_B1, FN_AVB_RXD0,
256 FN_VI0_DATA2_VI0_B2, FN_AVB_RXD1,
257 FN_VI0_DATA3_VI0_B3, FN_AVB_RXD2,
258 FN_VI0_DATA4_VI0_B4, FN_AVB_RXD3,
259 FN_VI0_DATA5_VI0_B5, FN_AVB_RXD4,
260 FN_VI0_DATA6_VI0_B6, FN_AVB_RXD5,
261 FN_VI0_DATA7_VI0_B7, FN_AVB_RXD6,
262 FN_VI0_CLKENB, FN_I2C3_SCL, FN_SCIFA5_RXD_C, FN_IETX_C, FN_AVB_RXD7,
263 FN_VI0_FIELD, FN_I2C3_SDA, FN_SCIFA5_TXD_C, FN_IECLK_C, FN_AVB_RX_ER,
264 FN_VI0_HSYNC_N, FN_SCIF0_RXD_B, FN_I2C0_SCL_C, FN_IERX_C, FN_AVB_COL,
265 FN_VI0_VSYNC_N, FN_SCIF0_TXD_B, FN_I2C0_SDA_C, FN_AUDIO_CLKOUT_B,
266 FN_AVB_TX_EN,
267 FN_ETH_MDIO, FN_VI0_G0, FN_MSIOF2_RXD_B, FN_I2C5_SCL_D, FN_AVB_TX_CLK,
268 FN_ADIDATA,
269
270 /* IPSR7 */
271 FN_ETH_CRS_DV, FN_VI0_G1, FN_MSIOF2_TXD_B, FN_I2C5_SDA_D, FN_AVB_TXD0,
272 FN_ADICS_SAMP,
273 FN_ETH_RX_ER, FN_VI0_G2, FN_MSIOF2_SCK_B, FN_CAN0_RX_B, FN_AVB_TXD1,
274 FN_ADICLK,
275 FN_ETH_RXD0, FN_VI0_G3, FN_MSIOF2_SYNC_B, FN_CAN0_TX_B, FN_AVB_TXD2,
276 FN_ADICHS0,
277 FN_ETH_RXD1, FN_VI0_G4, FN_MSIOF2_SS1_B, FN_SCIF4_RXD_D, FN_AVB_TXD3,
278 FN_ADICHS1,
279 FN_ETH_LINK, FN_VI0_G5, FN_MSIOF2_SS2_B, FN_SCIF4_TXD_D, FN_AVB_TXD4,
280 FN_ADICHS2,
281 FN_ETH_REFCLK, FN_VI0_G6, FN_SCIF2_SCK_C, FN_AVB_TXD5, FN_SSI_SCK5_B,
282 FN_ETH_TXD1, FN_VI0_G7, FN_SCIF2_RXD_C, FN_IIC0_SCL_D, FN_AVB_TXD6,
283 FN_SSI_WS5_B,
284 FN_ETH_TX_EN, FN_VI0_R0, FN_SCIF2_TXD_C, FN_IIC0_SDA_D, FN_AVB_TXD7,
285 FN_SSI_SDATA5_B,
286 FN_ETH_MAGIC, FN_VI0_R1, FN_SCIF3_SCK_B, FN_AVB_TX_ER, FN_SSI_SCK6_B,
287 FN_ETH_TXD0, FN_VI0_R2, FN_SCIF3_RXD_B, FN_I2C4_SCL_E, FN_AVB_GTX_CLK,
288 FN_SSI_WS6_B,
289 FN_DREQ0_N, FN_SCIFB1_RXD,
290
291 /* IPSR8 */
292 FN_ETH_MDC, FN_VI0_R3, FN_SCIF3_TXD_B, FN_I2C4_SDA_E, FN_AVB_MDC,
293 FN_SSI_SDATA6_B,
294 FN_HSCIF0_HRX, FN_VI0_R4, FN_I2C1_SCL_C, FN_AUDIO_CLKA_B, FN_AVB_MDIO,
295 FN_SSI_SCK78_B,
296 FN_HSCIF0_HTX, FN_VI0_R5, FN_I2C1_SDA_C, FN_AUDIO_CLKB_B, FN_AVB_LINK,
297 FN_SSI_WS78_B,
298 FN_HSCIF0_HCTS_N, FN_VI0_R6, FN_SCIF0_RXD_D, FN_I2C0_SCL_E,
299 FN_AVB_MAGIC, FN_SSI_SDATA7_B,
300 FN_HSCIF0_HRTS_N, FN_VI0_R7, FN_SCIF0_TXD_D, FN_I2C0_SDA_E,
301 FN_AVB_PHY_INT, FN_SSI_SDATA8_B,
302 FN_HSCIF0_HSCK, FN_SCIF_CLK_B, FN_AVB_CRS, FN_AUDIO_CLKC_B,
303 FN_I2C0_SCL, FN_SCIF0_RXD_C, FN_PWM5, FN_TCLK1_B, FN_AVB_GTXREFCLK,
304 FN_CAN1_RX_D, FN_TPUTO0_B,
305 FN_I2C0_SDA, FN_SCIF0_TXD_C, FN_TPUTO0, FN_CAN_CLK, FN_DVC_MUTE,
306 FN_CAN1_TX_D,
307 FN_I2C1_SCL, FN_SCIF4_RXD, FN_PWM5_B, FN_DU1_DR0, FN_TS_SDATA_D,
308 FN_TPUTO1_B,
309 FN_I2C1_SDA, FN_SCIF4_TXD, FN_IRQ5, FN_DU1_DR1, FN_TS_SCK_D,
310 FN_BPFCLK_C,
311 FN_MSIOF0_RXD, FN_SCIF5_RXD, FN_I2C2_SCL_C, FN_DU1_DR2, FN_TS_SDEN_D,
312 FN_FMCLK_C,
313
314 /* IPSR9 */
315 FN_MSIOF0_TXD, FN_SCIF5_TXD, FN_I2C2_SDA_C, FN_DU1_DR3, FN_TS_SPSYNC_D,
316 FN_FMIN_C,
317 FN_MSIOF0_SCK, FN_IRQ0, FN_TS_SDATA, FN_DU1_DR4, FN_TPUTO1_C,
318 FN_MSIOF0_SYNC, FN_PWM1, FN_TS_SCK, FN_DU1_DR5, FN_BPFCLK_B,
319 FN_MSIOF0_SS1, FN_SCIFA0_RXD, FN_TS_SDEN, FN_DU1_DR6, FN_FMCLK_B,
320 FN_MSIOF0_SS2, FN_SCIFA0_TXD, FN_TS_SPSYNC, FN_DU1_DR7, FN_FMIN_B,
321 FN_HSCIF1_HRX, FN_I2C4_SCL, FN_PWM6, FN_DU1_DG0,
322 FN_HSCIF1_HTX, FN_I2C4_SDA, FN_TPUTO1, FN_DU1_DG1,
323 FN_HSCIF1_HSCK, FN_PWM2, FN_IETX, FN_DU1_DG2, FN_REMOCON_B,
324 FN_SPEEDIN_B,
325 FN_HSCIF1_HCTS_N, FN_SCIFA4_RXD, FN_IECLK, FN_DU1_DG3, FN_SSI_SCK1_B,
326 FN_HSCIF1_HRTS_N, FN_SCIFA4_TXD, FN_IERX, FN_DU1_DG4, FN_SSI_WS1_B,
327 FN_SCIF1_SCK, FN_PWM3, FN_TCLK2, FN_DU1_DG5, FN_SSI_SDATA1_B,
328
329 /* IPSR10 */
330 FN_SCIF1_RXD, FN_I2C5_SCL, FN_DU1_DG6, FN_SSI_SCK2_B,
331 FN_SCIF1_TXD, FN_I2C5_SDA, FN_DU1_DG7, FN_SSI_WS2_B,
332 FN_SCIF2_RXD, FN_IIC0_SCL, FN_DU1_DB0, FN_SSI_SDATA2_B,
333 FN_SCIF2_TXD, FN_IIC0_SDA, FN_DU1_DB1, FN_SSI_SCK9_B,
334 FN_SCIF2_SCK, FN_IRQ1, FN_DU1_DB2, FN_SSI_WS9_B,
335 FN_SCIF3_SCK, FN_IRQ2, FN_BPFCLK_D, FN_DU1_DB3, FN_SSI_SDATA9_B,
336 FN_SCIF3_RXD, FN_I2C1_SCL_E, FN_FMCLK_D, FN_DU1_DB4, FN_AUDIO_CLKA_C,
337 FN_SSI_SCK4_B,
338 FN_SCIF3_TXD, FN_I2C1_SDA_E, FN_FMIN_D, FN_DU1_DB5, FN_AUDIO_CLKB_C,
339 FN_SSI_WS4_B,
340 FN_I2C2_SCL, FN_SCIFA5_RXD, FN_DU1_DB6, FN_AUDIO_CLKC_C,
341 FN_SSI_SDATA4_B,
342 FN_I2C2_SDA, FN_SCIFA5_TXD, FN_DU1_DB7, FN_AUDIO_CLKOUT_C,
343 FN_SSI_SCK5, FN_SCIFA3_SCK, FN_DU1_DOTCLKIN,
344
345 /* IPSR11 */
346 FN_SSI_WS5, FN_SCIFA3_RXD, FN_I2C3_SCL_C, FN_DU1_DOTCLKOUT0,
347 FN_SSI_SDATA5, FN_SCIFA3_TXD, FN_I2C3_SDA_C, FN_DU1_DOTCLKOUT1,
348 FN_SSI_SCK6, FN_SCIFA1_SCK_B, FN_DU1_EXHSYNC_DU1_HSYNC,
349 FN_SSI_WS6, FN_SCIFA1_RXD_B, FN_I2C4_SCL_C, FN_DU1_EXVSYNC_DU1_VSYNC,
350 FN_SSI_SDATA6, FN_SCIFA1_TXD_B, FN_I2C4_SDA_C,
351 FN_DU1_EXODDF_DU1_ODDF_DISP_CDE,
352 FN_SSI_SCK78, FN_SCIFA2_SCK_B, FN_I2C5_SDA_C, FN_DU1_DISP,
353 FN_SSI_WS78, FN_SCIFA2_RXD_B, FN_I2C5_SCL_C, FN_DU1_CDE,
354 FN_SSI_SDATA7, FN_SCIFA2_TXD_B, FN_IRQ8, FN_AUDIO_CLKA_D, FN_CAN_CLK_D,
355 FN_SSI_SCK0129, FN_MSIOF1_RXD_B, FN_SCIF5_RXD_D, FN_ADIDATA_B,
356 FN_SSI_WS0129, FN_MSIOF1_TXD_B, FN_SCIF5_TXD_D, FN_ADICS_SAMP_B,
357 FN_SSI_SDATA0, FN_MSIOF1_SCK_B, FN_PWM0_B, FN_ADICLK_B,
358
359 /* IPSR12 */
360 FN_SSI_SCK34, FN_MSIOF1_SYNC_B, FN_SCIFA1_SCK_C, FN_ADICHS0_B,
361 FN_DREQ1_N_B,
362 FN_SSI_WS34, FN_MSIOF1_SS1_B, FN_SCIFA1_RXD_C, FN_ADICHS1_B,
363 FN_CAN1_RX_C, FN_DACK1_B,
364 FN_SSI_SDATA3, FN_MSIOF1_SS2_B, FN_SCIFA1_TXD_C, FN_ADICHS2_B,
365 FN_CAN1_TX_C, FN_DREQ2_N,
366 FN_SSI_SCK4, FN_MLB_CLK, FN_IETX_B, FN_SSI_WS4, FN_MLB_SIG, FN_IECLK_B,
367 FN_SSI_SDATA4, FN_MLB_DAT, FN_IERX_B,
368 FN_SSI_SDATA8, FN_SCIF1_SCK_B, FN_PWM1_B, FN_IRQ9, FN_REMOCON,
369 FN_DACK2, FN_ETH_MDIO_B,
370 FN_SSI_SCK1, FN_SCIF1_RXD_B, FN_IIC0_SCL_C, FN_VI1_CLK, FN_CAN0_RX_D,
371 FN_ETH_CRS_DV_B,
372 FN_SSI_WS1, FN_SCIF1_TXD_B, FN_IIC0_SDA_C, FN_VI1_DATA0, FN_CAN0_TX_D,
373 FN_ETH_RX_ER_B,
374 FN_SSI_SDATA1, FN_HSCIF1_HRX_B, FN_VI1_DATA1, FN_ATAWR0_N,
375 FN_ETH_RXD0_B,
376 FN_SSI_SCK2, FN_HSCIF1_HTX_B, FN_VI1_DATA2, FN_ATAG0_N, FN_ETH_RXD1_B,
377
378 /* IPSR13 */
379 FN_SSI_WS2, FN_HSCIF1_HCTS_N_B, FN_SCIFA0_RXD_D, FN_VI1_DATA3,
380 FN_ATACS00_N, FN_ETH_LINK_B,
381 FN_SSI_SDATA2, FN_HSCIF1_HRTS_N_B, FN_SCIFA0_TXD_D, FN_VI1_DATA4,
382 FN_ATACS10_N, FN_ETH_REFCLK_B,
383 FN_SSI_SCK9, FN_SCIF2_SCK_B, FN_PWM2_B, FN_VI1_DATA5, FN_EX_WAIT1,
384 FN_ETH_TXD1_B,
385 FN_SSI_WS9, FN_SCIF2_RXD_B, FN_I2C3_SCL_E, FN_VI1_DATA6, FN_ATARD0_N,
386 FN_ETH_TX_EN_B,
387 FN_SSI_SDATA9, FN_SCIF2_TXD_B, FN_I2C3_SDA_E, FN_VI1_DATA7,
388 FN_ATADIR0_N, FN_ETH_MAGIC_B,
389 FN_AUDIO_CLKA, FN_I2C0_SCL_B, FN_SCIFA4_RXD_D, FN_VI1_CLKENB,
390 FN_TS_SDATA_C, FN_ETH_TXD0_B,
391 FN_AUDIO_CLKB, FN_I2C0_SDA_B, FN_SCIFA4_TXD_D, FN_VI1_FIELD,
392 FN_TS_SCK_C, FN_BPFCLK_E, FN_ETH_MDC_B,
393 FN_AUDIO_CLKC, FN_I2C4_SCL_B, FN_SCIFA5_RXD_D, FN_VI1_HSYNC_N,
394 FN_TS_SDEN_C, FN_FMCLK_E,
395 FN_AUDIO_CLKOUT, FN_I2C4_SDA_B, FN_SCIFA5_TXD_D, FN_VI1_VSYNC_N,
396 FN_TS_SPSYNC_C, FN_FMIN_E,
397
398 /* MOD_SEL */
399 FN_SEL_ADG_0, FN_SEL_ADG_1, FN_SEL_ADG_2, FN_SEL_ADG_3,
400 FN_SEL_CAN_0, FN_SEL_CAN_1, FN_SEL_CAN_2, FN_SEL_CAN_3,
401 FN_SEL_DARC_0, FN_SEL_DARC_1, FN_SEL_DARC_2, FN_SEL_DARC_3,
402 FN_SEL_DARC_4,
403 FN_SEL_ETH_0, FN_SEL_ETH_1,
404 FN_SEL_I2C00_0, FN_SEL_I2C00_1, FN_SEL_I2C00_2, FN_SEL_I2C00_3,
405 FN_SEL_I2C00_4,
406 FN_SEL_I2C01_0, FN_SEL_I2C01_1, FN_SEL_I2C01_2, FN_SEL_I2C01_3,
407 FN_SEL_I2C01_4,
408 FN_SEL_I2C02_0, FN_SEL_I2C02_1, FN_SEL_I2C02_2, FN_SEL_I2C02_3,
409 FN_SEL_I2C02_4,
410 FN_SEL_I2C03_0, FN_SEL_I2C03_1, FN_SEL_I2C03_2, FN_SEL_I2C03_3,
411 FN_SEL_I2C03_4,
412 FN_SEL_I2C04_0, FN_SEL_I2C04_1, FN_SEL_I2C04_2, FN_SEL_I2C04_3,
413 FN_SEL_I2C04_4,
414 FN_SEL_I2C05_0, FN_SEL_I2C05_1, FN_SEL_I2C05_2, FN_SEL_I2C05_3,
415
416 /* MOD_SEL2 */
417 FN_SEL_IEB_0, FN_SEL_IEB_1, FN_SEL_IEB_2,
418 FN_SEL_IIC0_0, FN_SEL_IIC0_1, FN_SEL_IIC0_2, FN_SEL_IIC0_3,
419 FN_SEL_LBS_0, FN_SEL_LBS_1, FN_SEL_MSI1_0, FN_SEL_MSI1_1,
420 FN_SEL_MSI2_0, FN_SEL_MSI2_1, FN_SEL_RAD_0, FN_SEL_RAD_1,
421 FN_SEL_RCN_0, FN_SEL_RCN_1, FN_SEL_RSP_0, FN_SEL_RSP_1,
422 FN_SEL_SCIFA0_0, FN_SEL_SCIFA0_1, FN_SEL_SCIFA0_2, FN_SEL_SCIFA0_3,
423 FN_SEL_SCIFA1_0, FN_SEL_SCIFA1_1, FN_SEL_SCIFA1_2,
424 FN_SEL_SCIFA2_0, FN_SEL_SCIFA2_1, FN_SEL_SCIFA3_0, FN_SEL_SCIFA3_1,
425 FN_SEL_SCIFA4_0, FN_SEL_SCIFA4_1, FN_SEL_SCIFA4_2, FN_SEL_SCIFA4_3,
426 FN_SEL_SCIFA5_0, FN_SEL_SCIFA5_1, FN_SEL_SCIFA5_2, FN_SEL_SCIFA5_3,
427 FN_SEL_TMU_0, FN_SEL_TMU_1,
428 FN_SEL_TSIF0_0, FN_SEL_TSIF0_1, FN_SEL_TSIF0_2, FN_SEL_TSIF0_3,
429 FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3,
430 FN_SEL_CAN1_0, FN_SEL_CAN1_1, FN_SEL_CAN1_2, FN_SEL_CAN1_3,
431 FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1,
432
433 /* MOD_SEL3 */
434 FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2, FN_SEL_SCIF0_3,
435 FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF2_0,
436 FN_SEL_SCIF2_1, FN_SEL_SCIF2_2, FN_SEL_SCIF3_0, FN_SEL_SCIF3_1,
437 FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2, FN_SEL_SCIF4_3,
438 FN_SEL_SCIF4_4, FN_SEL_SCIF5_0, FN_SEL_SCIF5_1, FN_SEL_SCIF5_2,
439 FN_SEL_SCIF5_3, FN_SEL_SSI1_0, FN_SEL_SSI1_1, FN_SEL_SSI2_0,
440 FN_SEL_SSI2_1, FN_SEL_SSI4_0, FN_SEL_SSI4_1, FN_SEL_SSI5_0,
441 FN_SEL_SSI5_1, FN_SEL_SSI6_0, FN_SEL_SSI6_1, FN_SEL_SSI7_0,
442 FN_SEL_SSI7_1, FN_SEL_SSI8_0, FN_SEL_SSI8_1, FN_SEL_SSI9_0,
443 FN_SEL_SSI9_1,
444 PINMUX_FUNCTION_END,
445
446 PINMUX_MARK_BEGIN,
447 A2_MARK, WE0_N_MARK, WE1_N_MARK, DACK0_MARK,
448
449 USB0_PWEN_MARK, USB0_OVC_MARK, USB1_PWEN_MARK, USB1_OVC_MARK,
450
451 SD0_CLK_MARK, SD0_CMD_MARK, SD0_DATA0_MARK, SD0_DATA1_MARK,
452 SD0_DATA2_MARK, SD0_DATA3_MARK, SD0_CD_MARK, SD0_WP_MARK,
453
454 SD1_CLK_MARK, SD1_CMD_MARK, SD1_DATA0_MARK, SD1_DATA1_MARK,
455 SD1_DATA2_MARK, SD1_DATA3_MARK,
456
457 /* IPSR0 */
458 SD1_CD_MARK, CAN0_RX_MARK, SD1_WP_MARK, IRQ7_MARK, CAN0_TX_MARK,
459 MMC_CLK_MARK, SD2_CLK_MARK, MMC_CMD_MARK, SD2_CMD_MARK, MMC_D0_MARK,
460 SD2_DATA0_MARK, MMC_D1_MARK, SD2_DATA1_MARK, MMC_D2_MARK,
461 SD2_DATA2_MARK, MMC_D3_MARK, SD2_DATA3_MARK, MMC_D4_MARK, SD2_CD_MARK,
462 MMC_D5_MARK, SD2_WP_MARK, MMC_D6_MARK, SCIF0_RXD_MARK, I2C2_SCL_B_MARK,
463 CAN1_RX_MARK, MMC_D7_MARK, SCIF0_TXD_MARK, I2C2_SDA_B_MARK,
464 CAN1_TX_MARK, D0_MARK, SCIFA3_SCK_B_MARK, IRQ4_MARK, D1_MARK,
465 SCIFA3_RXD_B_MARK, D2_MARK, SCIFA3_TXD_B_MARK, D3_MARK, I2C3_SCL_B_MARK,
466 SCIF5_RXD_B_MARK, D4_MARK, I2C3_SDA_B_MARK, SCIF5_TXD_B_MARK, D5_MARK,
467 SCIF4_RXD_B_MARK, I2C0_SCL_D_MARK,
468
469 /* IPSR1 */
470 D6_MARK, SCIF4_TXD_B_MARK, I2C0_SDA_D_MARK,
471 D7_MARK, IRQ3_MARK, TCLK1_MARK, PWM6_B_MARK,
472 D8_MARK, HSCIF2_HRX_MARK, I2C1_SCL_B_MARK,
473 D9_MARK, HSCIF2_HTX_MARK, I2C1_SDA_B_MARK,
474 D10_MARK, HSCIF2_HSCK_MARK, SCIF1_SCK_C_MARK, IRQ6_MARK, PWM5_C_MARK,
475 D11_MARK, HSCIF2_HCTS_N_MARK, SCIF1_RXD_C_MARK, I2C1_SCL_D_MARK,
476 D12_MARK, HSCIF2_HRTS_N_MARK, SCIF1_TXD_C_MARK, I2C1_SDA_D_MARK,
477 D13_MARK, SCIFA1_SCK_MARK, PWM2_C_MARK, TCLK2_B_MARK,
478 D14_MARK, SCIFA1_RXD_MARK, I2C5_SCL_B_MARK,
479 D15_MARK, SCIFA1_TXD_MARK, I2C5_SDA_B_MARK,
480 A0_MARK, SCIFB1_SCK_MARK, PWM3_B_MARK,
481 A1_MARK, SCIFB1_TXD_MARK,
482 A3_MARK, SCIFB0_SCK_MARK,
483 A4_MARK, SCIFB0_TXD_MARK,
484 A5_MARK, SCIFB0_RXD_MARK, PWM4_B_MARK, TPUTO3_C_MARK,
485 A6_MARK, SCIFB0_CTS_N_MARK, SCIFA4_RXD_B_MARK, TPUTO2_C_MARK,
486
487 /* IPSR2 */
488 A7_MARK, SCIFB0_RTS_N_MARK, SCIFA4_TXD_B_MARK,
489 A8_MARK, MSIOF1_RXD_MARK, SCIFA0_RXD_B_MARK,
490 A9_MARK, MSIOF1_TXD_MARK, SCIFA0_TXD_B_MARK,
491 A10_MARK, MSIOF1_SCK_MARK, IIC0_SCL_B_MARK,
492 A11_MARK, MSIOF1_SYNC_MARK, IIC0_SDA_B_MARK,
493 A12_MARK, MSIOF1_SS1_MARK, SCIFA5_RXD_B_MARK,
494 A13_MARK, MSIOF1_SS2_MARK, SCIFA5_TXD_B_MARK,
495 A14_MARK, MSIOF2_RXD_MARK, HSCIF0_HRX_B_MARK, DREQ1_N_MARK,
496 A15_MARK, MSIOF2_TXD_MARK, HSCIF0_HTX_B_MARK, DACK1_MARK,
497 A16_MARK, MSIOF2_SCK_MARK, HSCIF0_HSCK_B_MARK, SPEEDIN_MARK,
498 CAN_CLK_C_MARK, TPUTO2_B_MARK,
499 A17_MARK, MSIOF2_SYNC_MARK, SCIF4_RXD_E_MARK, CAN1_RX_B_MARK,
500 A18_MARK, MSIOF2_SS1_MARK, SCIF4_TXD_E_MARK, CAN1_TX_B_MARK,
501 A19_MARK, MSIOF2_SS2_MARK, PWM4_MARK, TPUTO2_MARK,
502 A20_MARK, SPCLK_MARK,
503
504 /* IPSR3 */
505 A21_MARK, MOSI_IO0_MARK,
506 A22_MARK, MISO_IO1_MARK, ATADIR1_N_MARK,
507 A23_MARK, IO2_MARK, ATAWR1_N_MARK,
508 A24_MARK, IO3_MARK, EX_WAIT2_MARK,
509 A25_MARK, SSL_MARK, ATARD1_N_MARK,
510 CS0_N_MARK, VI1_DATA8_MARK,
511 CS1_N_A26_MARK, VI1_DATA9_MARK,
512 EX_CS0_N_MARK, VI1_DATA10_MARK,
513 EX_CS1_N_MARK, TPUTO3_B_MARK, SCIFB2_RXD_MARK, VI1_DATA11_MARK,
514 EX_CS2_N_MARK, PWM0_MARK, SCIF4_RXD_C_MARK, TS_SDATA_B_MARK,
515 TPUTO3_MARK, SCIFB2_TXD_MARK,
516 EX_CS3_N_MARK, SCIFA2_SCK_MARK, SCIF4_TXD_C_MARK, TS_SCK_B_MARK,
517 BPFCLK_MARK, SCIFB2_SCK_MARK,
518 EX_CS4_N_MARK, SCIFA2_RXD_MARK, I2C2_SCL_E_MARK, TS_SDEN_B_MARK,
519 FMCLK_MARK, SCIFB2_CTS_N_MARK,
520 EX_CS5_N_MARK, SCIFA2_TXD_MARK, I2C2_SDA_E_MARK, TS_SPSYNC_B_MARK,
521 FMIN_MARK, SCIFB2_RTS_N_MARK,
522 BS_N_MARK, DRACK0_MARK, PWM1_C_MARK, TPUTO0_C_MARK, ATACS01_N_MARK,
523 RD_N_MARK, ATACS11_N_MARK,
524 RD_WR_N_MARK, ATAG1_N_MARK,
525
526 /* IPSR4 */
527 EX_WAIT0_MARK, CAN_CLK_B_MARK, SCIF_CLK_MARK,
528 DU0_DR0_MARK, LCDOUT16_MARK, SCIF5_RXD_C_MARK, I2C2_SCL_D_MARK,
529 DU0_DR1_MARK, LCDOUT17_MARK, SCIF5_TXD_C_MARK, I2C2_SDA_D_MARK,
530 DU0_DR2_MARK, LCDOUT18_MARK,
531 DU0_DR3_MARK, LCDOUT19_MARK,
532 DU0_DR4_MARK, LCDOUT20_MARK,
533 DU0_DR5_MARK, LCDOUT21_MARK,
534 DU0_DR6_MARK, LCDOUT22_MARK,
535 DU0_DR7_MARK, LCDOUT23_MARK,
536 DU0_DG0_MARK, LCDOUT8_MARK, SCIFA0_RXD_C_MARK, I2C3_SCL_D_MARK,
537 DU0_DG1_MARK, LCDOUT9_MARK, SCIFA0_TXD_C_MARK, I2C3_SDA_D_MARK,
538 DU0_DG2_MARK, LCDOUT10_MARK,
539 DU0_DG3_MARK, LCDOUT11_MARK,
540 DU0_DG4_MARK, LCDOUT12_MARK,
541
542 /* IPSR5 */
543 DU0_DG5_MARK, LCDOUT13_MARK,
544 DU0_DG6_MARK, LCDOUT14_MARK,
545 DU0_DG7_MARK, LCDOUT15_MARK,
546 DU0_DB0_MARK, LCDOUT0_MARK, SCIFA4_RXD_C_MARK, I2C4_SCL_D_MARK,
547 CAN0_RX_C_MARK,
548 DU0_DB1_MARK, LCDOUT1_MARK, SCIFA4_TXD_C_MARK, I2C4_SDA_D_MARK,
549 CAN0_TX_C_MARK,
550 DU0_DB2_MARK, LCDOUT2_MARK,
551 DU0_DB3_MARK, LCDOUT3_MARK,
552 DU0_DB4_MARK, LCDOUT4_MARK,
553 DU0_DB5_MARK, LCDOUT5_MARK,
554 DU0_DB6_MARK, LCDOUT6_MARK,
555 DU0_DB7_MARK, LCDOUT7_MARK,
556 DU0_DOTCLKIN_MARK, QSTVA_QVS_MARK,
557 DU0_DOTCLKOUT0_MARK, QCLK_MARK,
558 DU0_DOTCLKOUT1_MARK, QSTVB_QVE_MARK,
559 DU0_EXHSYNC_DU0_HSYNC_MARK, QSTH_QHS_MARK,
560
561 /* IPSR6 */
562 DU0_EXVSYNC_DU0_VSYNC_MARK, QSTB_QHE_MARK,
563 DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK, QCPV_QDE_MARK,
564 DU0_DISP_MARK, QPOLA_MARK, DU0_CDE_MARK, QPOLB_MARK,
565 VI0_CLK_MARK, AVB_RX_CLK_MARK, VI0_DATA0_VI0_B0_MARK, AVB_RX_DV_MARK,
566 VI0_DATA1_VI0_B1_MARK, AVB_RXD0_MARK,
567 VI0_DATA2_VI0_B2_MARK, AVB_RXD1_MARK,
568 VI0_DATA3_VI0_B3_MARK, AVB_RXD2_MARK,
569 VI0_DATA4_VI0_B4_MARK, AVB_RXD3_MARK,
570 VI0_DATA5_VI0_B5_MARK, AVB_RXD4_MARK,
571 VI0_DATA6_VI0_B6_MARK, AVB_RXD5_MARK,
572 VI0_DATA7_VI0_B7_MARK, AVB_RXD6_MARK,
573 VI0_CLKENB_MARK, I2C3_SCL_MARK, SCIFA5_RXD_C_MARK, IETX_C_MARK,
574 AVB_RXD7_MARK,
575 VI0_FIELD_MARK, I2C3_SDA_MARK, SCIFA5_TXD_C_MARK, IECLK_C_MARK,
576 AVB_RX_ER_MARK,
577 VI0_HSYNC_N_MARK, SCIF0_RXD_B_MARK, I2C0_SCL_C_MARK, IERX_C_MARK,
578 AVB_COL_MARK,
579 VI0_VSYNC_N_MARK, SCIF0_TXD_B_MARK, I2C0_SDA_C_MARK,
580 AUDIO_CLKOUT_B_MARK, AVB_TX_EN_MARK,
581 ETH_MDIO_MARK, VI0_G0_MARK, MSIOF2_RXD_B_MARK, I2C5_SCL_D_MARK,
582 AVB_TX_CLK_MARK, ADIDATA_MARK,
583
584 /* IPSR7 */
585 ETH_CRS_DV_MARK, VI0_G1_MARK, MSIOF2_TXD_B_MARK, I2C5_SDA_D_MARK,
586 AVB_TXD0_MARK, ADICS_SAMP_MARK,
587 ETH_RX_ER_MARK, VI0_G2_MARK, MSIOF2_SCK_B_MARK, CAN0_RX_B_MARK,
588 AVB_TXD1_MARK, ADICLK_MARK,
589 ETH_RXD0_MARK, VI0_G3_MARK, MSIOF2_SYNC_B_MARK, CAN0_TX_B_MARK,
590 AVB_TXD2_MARK, ADICHS0_MARK,
591 ETH_RXD1_MARK, VI0_G4_MARK, MSIOF2_SS1_B_MARK, SCIF4_RXD_D_MARK,
592 AVB_TXD3_MARK, ADICHS1_MARK,
593 ETH_LINK_MARK, VI0_G5_MARK, MSIOF2_SS2_B_MARK, SCIF4_TXD_D_MARK,
594 AVB_TXD4_MARK, ADICHS2_MARK,
595 ETH_REFCLK_MARK, VI0_G6_MARK, SCIF2_SCK_C_MARK, AVB_TXD5_MARK,
596 SSI_SCK5_B_MARK,
597 ETH_TXD1_MARK, VI0_G7_MARK, SCIF2_RXD_C_MARK, IIC0_SCL_D_MARK,
598 AVB_TXD6_MARK, SSI_WS5_B_MARK,
599 ETH_TX_EN_MARK, VI0_R0_MARK, SCIF2_TXD_C_MARK, IIC0_SDA_D_MARK,
600 AVB_TXD7_MARK, SSI_SDATA5_B_MARK,
601 ETH_MAGIC_MARK, VI0_R1_MARK, SCIF3_SCK_B_MARK, AVB_TX_ER_MARK,
602 SSI_SCK6_B_MARK,
603 ETH_TXD0_MARK, VI0_R2_MARK, SCIF3_RXD_B_MARK, I2C4_SCL_E_MARK,
604 AVB_GTX_CLK_MARK, SSI_WS6_B_MARK,
605 DREQ0_N_MARK, SCIFB1_RXD_MARK,
606
607 /* IPSR8 */
608 ETH_MDC_MARK, VI0_R3_MARK, SCIF3_TXD_B_MARK, I2C4_SDA_E_MARK,
609 AVB_MDC_MARK, SSI_SDATA6_B_MARK, HSCIF0_HRX_MARK, VI0_R4_MARK,
610 I2C1_SCL_C_MARK, AUDIO_CLKA_B_MARK, AVB_MDIO_MARK, SSI_SCK78_B_MARK,
611 HSCIF0_HTX_MARK, VI0_R5_MARK, I2C1_SDA_C_MARK, AUDIO_CLKB_B_MARK,
612 AVB_LINK_MARK, SSI_WS78_B_MARK, HSCIF0_HCTS_N_MARK, VI0_R6_MARK,
613 SCIF0_RXD_D_MARK, I2C0_SCL_E_MARK, AVB_MAGIC_MARK, SSI_SDATA7_B_MARK,
614 HSCIF0_HRTS_N_MARK, VI0_R7_MARK, SCIF0_TXD_D_MARK, I2C0_SDA_E_MARK,
615 AVB_PHY_INT_MARK, SSI_SDATA8_B_MARK,
616 HSCIF0_HSCK_MARK, SCIF_CLK_B_MARK, AVB_CRS_MARK, AUDIO_CLKC_B_MARK,
617 I2C0_SCL_MARK, SCIF0_RXD_C_MARK, PWM5_MARK, TCLK1_B_MARK,
618 AVB_GTXREFCLK_MARK, CAN1_RX_D_MARK, TPUTO0_B_MARK, I2C0_SDA_MARK,
619 SCIF0_TXD_C_MARK, TPUTO0_MARK, CAN_CLK_MARK, DVC_MUTE_MARK,
620 CAN1_TX_D_MARK,
621 I2C1_SCL_MARK, SCIF4_RXD_MARK, PWM5_B_MARK, DU1_DR0_MARK,
622 TS_SDATA_D_MARK, TPUTO1_B_MARK,
623 I2C1_SDA_MARK, SCIF4_TXD_MARK, IRQ5_MARK, DU1_DR1_MARK, TS_SCK_D_MARK,
624 BPFCLK_C_MARK,
625 MSIOF0_RXD_MARK, SCIF5_RXD_MARK, I2C2_SCL_C_MARK, DU1_DR2_MARK,
626 TS_SDEN_D_MARK, FMCLK_C_MARK,
627
628 /* IPSR9 */
629 MSIOF0_TXD_MARK, SCIF5_TXD_MARK, I2C2_SDA_C_MARK, DU1_DR3_MARK,
630 TS_SPSYNC_D_MARK, FMIN_C_MARK,
631 MSIOF0_SCK_MARK, IRQ0_MARK, TS_SDATA_MARK, DU1_DR4_MARK, TPUTO1_C_MARK,
632 MSIOF0_SYNC_MARK, PWM1_MARK, TS_SCK_MARK, DU1_DR5_MARK, BPFCLK_B_MARK,
633 MSIOF0_SS1_MARK, SCIFA0_RXD_MARK, TS_SDEN_MARK, DU1_DR6_MARK,
634 FMCLK_B_MARK,
635 MSIOF0_SS2_MARK, SCIFA0_TXD_MARK, TS_SPSYNC_MARK, DU1_DR7_MARK,
636 FMIN_B_MARK,
637 HSCIF1_HRX_MARK, I2C4_SCL_MARK, PWM6_MARK, DU1_DG0_MARK,
638 HSCIF1_HTX_MARK, I2C4_SDA_MARK, TPUTO1_MARK, DU1_DG1_MARK,
639 HSCIF1_HSCK_MARK, PWM2_MARK, IETX_MARK, DU1_DG2_MARK, REMOCON_B_MARK,
640 SPEEDIN_B_MARK,
641 HSCIF1_HCTS_N_MARK, SCIFA4_RXD_MARK, IECLK_MARK, DU1_DG3_MARK,
642 SSI_SCK1_B_MARK,
643 HSCIF1_HRTS_N_MARK, SCIFA4_TXD_MARK, IERX_MARK, DU1_DG4_MARK,
644 SSI_WS1_B_MARK,
645 SCIF1_SCK_MARK, PWM3_MARK, TCLK2_MARK, DU1_DG5_MARK, SSI_SDATA1_B_MARK,
646 CAN_TXCLK_MARK,
647
648 /* IPSR10 */
649 SCIF1_RXD_MARK, I2C5_SCL_MARK, DU1_DG6_MARK, SSI_SCK2_B_MARK,
650 SCIF1_TXD_MARK, I2C5_SDA_MARK, DU1_DG7_MARK, SSI_WS2_B_MARK,
651 SCIF2_RXD_MARK, IIC0_SCL_MARK, DU1_DB0_MARK, SSI_SDATA2_B_MARK,
652 SCIF2_TXD_MARK, IIC0_SDA_MARK, DU1_DB1_MARK, SSI_SCK9_B_MARK,
653 SCIF2_SCK_MARK, IRQ1_MARK, DU1_DB2_MARK, SSI_WS9_B_MARK,
654 SCIF3_SCK_MARK, IRQ2_MARK, BPFCLK_D_MARK, DU1_DB3_MARK,
655 SSI_SDATA9_B_MARK,
656 SCIF3_RXD_MARK, I2C1_SCL_E_MARK, FMCLK_D_MARK, DU1_DB4_MARK,
657 AUDIO_CLKA_C_MARK, SSI_SCK4_B_MARK,
658 SCIF3_TXD_MARK, I2C1_SDA_E_MARK, FMIN_D_MARK, DU1_DB5_MARK,
659 AUDIO_CLKB_C_MARK, SSI_WS4_B_MARK,
660 I2C2_SCL_MARK, SCIFA5_RXD_MARK, DU1_DB6_MARK, AUDIO_CLKC_C_MARK,
661 SSI_SDATA4_B_MARK,
662 I2C2_SDA_MARK, SCIFA5_TXD_MARK, DU1_DB7_MARK, AUDIO_CLKOUT_C_MARK,
663 SSI_SCK5_MARK, SCIFA3_SCK_MARK, DU1_DOTCLKIN_MARK,
664
665 /* IPSR11 */
666 SSI_WS5_MARK, SCIFA3_RXD_MARK, I2C3_SCL_C_MARK, DU1_DOTCLKOUT0_MARK,
667 SSI_SDATA5_MARK, SCIFA3_TXD_MARK, I2C3_SDA_C_MARK, DU1_DOTCLKOUT1_MARK,
668 SSI_SCK6_MARK, SCIFA1_SCK_B_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK,
669 SSI_WS6_MARK, SCIFA1_RXD_B_MARK, I2C4_SCL_C_MARK,
670 DU1_EXVSYNC_DU1_VSYNC_MARK,
671 SSI_SDATA6_MARK, SCIFA1_TXD_B_MARK, I2C4_SDA_C_MARK,
672 DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK,
673 SSI_SCK78_MARK, SCIFA2_SCK_B_MARK, I2C5_SDA_C_MARK, DU1_DISP_MARK,
674 SSI_WS78_MARK, SCIFA2_RXD_B_MARK, I2C5_SCL_C_MARK, DU1_CDE_MARK,
675 SSI_SDATA7_MARK, SCIFA2_TXD_B_MARK, IRQ8_MARK, AUDIO_CLKA_D_MARK,
676 CAN_CLK_D_MARK,
677 SSI_SCK0129_MARK, MSIOF1_RXD_B_MARK, SCIF5_RXD_D_MARK, ADIDATA_B_MARK,
678 SSI_WS0129_MARK, MSIOF1_TXD_B_MARK, SCIF5_TXD_D_MARK, ADICS_SAMP_B_MARK,
679 SSI_SDATA0_MARK, MSIOF1_SCK_B_MARK, PWM0_B_MARK, ADICLK_B_MARK,
680
681 /* IPSR12 */
682 SSI_SCK34_MARK, MSIOF1_SYNC_B_MARK, SCIFA1_SCK_C_MARK, ADICHS0_B_MARK,
683 DREQ1_N_B_MARK,
684 SSI_WS34_MARK, MSIOF1_SS1_B_MARK, SCIFA1_RXD_C_MARK, ADICHS1_B_MARK,
685 CAN1_RX_C_MARK, DACK1_B_MARK,
686 SSI_SDATA3_MARK, MSIOF1_SS2_B_MARK, SCIFA1_TXD_C_MARK, ADICHS2_B_MARK,
687 CAN1_TX_C_MARK, DREQ2_N_MARK,
688 SSI_SCK4_MARK, MLB_CLK_MARK, IETX_B_MARK,
689 SSI_WS4_MARK, MLB_SIG_MARK, IECLK_B_MARK,
690 SSI_SDATA4_MARK, MLB_DAT_MARK, IERX_B_MARK,
691 SSI_SDATA8_MARK, SCIF1_SCK_B_MARK, PWM1_B_MARK, IRQ9_MARK, REMOCON_MARK,
692 DACK2_MARK, ETH_MDIO_B_MARK,
693 SSI_SCK1_MARK, SCIF1_RXD_B_MARK, IIC0_SCL_C_MARK, VI1_CLK_MARK,
694 CAN0_RX_D_MARK, ETH_CRS_DV_B_MARK,
695 SSI_WS1_MARK, SCIF1_TXD_B_MARK, IIC0_SDA_C_MARK, VI1_DATA0_MARK,
696 CAN0_TX_D_MARK, ETH_RX_ER_B_MARK,
697 SSI_SDATA1_MARK, HSCIF1_HRX_B_MARK, VI1_DATA1_MARK, ATAWR0_N_MARK,
698 ETH_RXD0_B_MARK,
699 SSI_SCK2_MARK, HSCIF1_HTX_B_MARK, VI1_DATA2_MARK, ATAG0_N_MARK,
700 ETH_RXD1_B_MARK,
701
702 /* IPSR13 */
703 SSI_WS2_MARK, HSCIF1_HCTS_N_B_MARK, SCIFA0_RXD_D_MARK, VI1_DATA3_MARK,
704 ATACS00_N_MARK, ETH_LINK_B_MARK,
705 SSI_SDATA2_MARK, HSCIF1_HRTS_N_B_MARK, SCIFA0_TXD_D_MARK,
706 VI1_DATA4_MARK, ATACS10_N_MARK, ETH_REFCLK_B_MARK,
707 SSI_SCK9_MARK, SCIF2_SCK_B_MARK, PWM2_B_MARK, VI1_DATA5_MARK,
708 EX_WAIT1_MARK, ETH_TXD1_B_MARK,
709 SSI_WS9_MARK, SCIF2_RXD_B_MARK, I2C3_SCL_E_MARK, VI1_DATA6_MARK,
710 ATARD0_N_MARK, ETH_TX_EN_B_MARK,
711 SSI_SDATA9_MARK, SCIF2_TXD_B_MARK, I2C3_SDA_E_MARK, VI1_DATA7_MARK,
712 ATADIR0_N_MARK, ETH_MAGIC_B_MARK,
713 AUDIO_CLKA_MARK, I2C0_SCL_B_MARK, SCIFA4_RXD_D_MARK, VI1_CLKENB_MARK,
714 TS_SDATA_C_MARK, ETH_TXD0_B_MARK,
715 AUDIO_CLKB_MARK, I2C0_SDA_B_MARK, SCIFA4_TXD_D_MARK, VI1_FIELD_MARK,
716 TS_SCK_C_MARK, BPFCLK_E_MARK, ETH_MDC_B_MARK,
717 AUDIO_CLKC_MARK, I2C4_SCL_B_MARK, SCIFA5_RXD_D_MARK, VI1_HSYNC_N_MARK,
718 TS_SDEN_C_MARK, FMCLK_E_MARK,
719 AUDIO_CLKOUT_MARK, I2C4_SDA_B_MARK, SCIFA5_TXD_D_MARK, VI1_VSYNC_N_MARK,
720 TS_SPSYNC_C_MARK, FMIN_E_MARK,
721 PINMUX_MARK_END,
722};
723
724static const u16 pinmux_data[] = {
725 PINMUX_DATA_GP_ALL(), /* PINMUX_DATA(GP_M_N_DATA, GP_M_N_FN...), */
726
727 PINMUX_SINGLE(A2),
728 PINMUX_SINGLE(WE0_N),
729 PINMUX_SINGLE(WE1_N),
730 PINMUX_SINGLE(DACK0),
731 PINMUX_SINGLE(USB0_PWEN),
732 PINMUX_SINGLE(USB0_OVC),
733 PINMUX_SINGLE(USB1_PWEN),
734 PINMUX_SINGLE(USB1_OVC),
735 PINMUX_SINGLE(SD0_CLK),
736 PINMUX_SINGLE(SD0_CMD),
737 PINMUX_SINGLE(SD0_DATA0),
738 PINMUX_SINGLE(SD0_DATA1),
739 PINMUX_SINGLE(SD0_DATA2),
740 PINMUX_SINGLE(SD0_DATA3),
741 PINMUX_SINGLE(SD0_CD),
742 PINMUX_SINGLE(SD0_WP),
743 PINMUX_SINGLE(SD1_CLK),
744 PINMUX_SINGLE(SD1_CMD),
745 PINMUX_SINGLE(SD1_DATA0),
746 PINMUX_SINGLE(SD1_DATA1),
747 PINMUX_SINGLE(SD1_DATA2),
748 PINMUX_SINGLE(SD1_DATA3),
749
750 /* IPSR0 */
751 PINMUX_IPSR_GPSR(IP0_0, SD1_CD),
752 PINMUX_IPSR_MSEL(IP0_0, CAN0_RX, SEL_CAN0_0),
753 PINMUX_IPSR_GPSR(IP0_9_8, SD1_WP),
754 PINMUX_IPSR_GPSR(IP0_9_8, IRQ7),
755 PINMUX_IPSR_MSEL(IP0_9_8, CAN0_TX, SEL_CAN0_0),
756 PINMUX_IPSR_GPSR(IP0_10, MMC_CLK),
757 PINMUX_IPSR_GPSR(IP0_10, SD2_CLK),
758 PINMUX_IPSR_GPSR(IP0_11, MMC_CMD),
759 PINMUX_IPSR_GPSR(IP0_11, SD2_CMD),
760 PINMUX_IPSR_GPSR(IP0_12, MMC_D0),
761 PINMUX_IPSR_GPSR(IP0_12, SD2_DATA0),
762 PINMUX_IPSR_GPSR(IP0_13, MMC_D1),
763 PINMUX_IPSR_GPSR(IP0_13, SD2_DATA1),
764 PINMUX_IPSR_GPSR(IP0_14, MMC_D2),
765 PINMUX_IPSR_GPSR(IP0_14, SD2_DATA2),
766 PINMUX_IPSR_GPSR(IP0_15, MMC_D3),
767 PINMUX_IPSR_GPSR(IP0_15, SD2_DATA3),
768 PINMUX_IPSR_GPSR(IP0_16, MMC_D4),
769 PINMUX_IPSR_GPSR(IP0_16, SD2_CD),
770 PINMUX_IPSR_GPSR(IP0_17, MMC_D5),
771 PINMUX_IPSR_GPSR(IP0_17, SD2_WP),
772 PINMUX_IPSR_GPSR(IP0_19_18, MMC_D6),
773 PINMUX_IPSR_MSEL(IP0_19_18, SCIF0_RXD, SEL_SCIF0_0),
774 PINMUX_IPSR_MSEL(IP0_19_18, I2C2_SCL_B, SEL_I2C02_1),
775 PINMUX_IPSR_MSEL(IP0_19_18, CAN1_RX, SEL_CAN1_0),
776 PINMUX_IPSR_GPSR(IP0_21_20, MMC_D7),
777 PINMUX_IPSR_MSEL(IP0_21_20, SCIF0_TXD, SEL_SCIF0_0),
778 PINMUX_IPSR_MSEL(IP0_21_20, I2C2_SDA_B, SEL_I2C02_1),
779 PINMUX_IPSR_MSEL(IP0_21_20, CAN1_TX, SEL_CAN1_0),
780 PINMUX_IPSR_GPSR(IP0_23_22, D0),
781 PINMUX_IPSR_MSEL(IP0_23_22, SCIFA3_SCK_B, SEL_SCIFA3_1),
782 PINMUX_IPSR_GPSR(IP0_23_22, IRQ4),
783 PINMUX_IPSR_GPSR(IP0_24, D1),
784 PINMUX_IPSR_MSEL(IP0_24, SCIFA3_RXD_B, SEL_SCIFA3_1),
785 PINMUX_IPSR_GPSR(IP0_25, D2),
786 PINMUX_IPSR_MSEL(IP0_25, SCIFA3_TXD_B, SEL_SCIFA3_1),
787 PINMUX_IPSR_GPSR(IP0_27_26, D3),
788 PINMUX_IPSR_MSEL(IP0_27_26, I2C3_SCL_B, SEL_I2C03_1),
789 PINMUX_IPSR_MSEL(IP0_27_26, SCIF5_RXD_B, SEL_SCIF5_1),
790 PINMUX_IPSR_GPSR(IP0_29_28, D4),
791 PINMUX_IPSR_MSEL(IP0_29_28, I2C3_SDA_B, SEL_I2C03_1),
792 PINMUX_IPSR_MSEL(IP0_29_28, SCIF5_TXD_B, SEL_SCIF5_1),
793 PINMUX_IPSR_GPSR(IP0_31_30, D5),
794 PINMUX_IPSR_MSEL(IP0_31_30, SCIF4_RXD_B, SEL_SCIF4_1),
795 PINMUX_IPSR_MSEL(IP0_31_30, I2C0_SCL_D, SEL_I2C00_3),
796
797 /* IPSR1 */
798 PINMUX_IPSR_GPSR(IP1_1_0, D6),
799 PINMUX_IPSR_MSEL(IP1_1_0, SCIF4_TXD_B, SEL_SCIF4_1),
800 PINMUX_IPSR_MSEL(IP1_1_0, I2C0_SDA_D, SEL_I2C00_3),
801 PINMUX_IPSR_GPSR(IP1_3_2, D7),
802 PINMUX_IPSR_GPSR(IP1_3_2, IRQ3),
803 PINMUX_IPSR_MSEL(IP1_3_2, TCLK1, SEL_TMU_0),
804 PINMUX_IPSR_GPSR(IP1_3_2, PWM6_B),
805 PINMUX_IPSR_GPSR(IP1_5_4, D8),
806 PINMUX_IPSR_GPSR(IP1_5_4, HSCIF2_HRX),
807 PINMUX_IPSR_MSEL(IP1_5_4, I2C1_SCL_B, SEL_I2C01_1),
808 PINMUX_IPSR_GPSR(IP1_7_6, D9),
809 PINMUX_IPSR_GPSR(IP1_7_6, HSCIF2_HTX),
810 PINMUX_IPSR_MSEL(IP1_7_6, I2C1_SDA_B, SEL_I2C01_1),
811 PINMUX_IPSR_GPSR(IP1_10_8, D10),
812 PINMUX_IPSR_GPSR(IP1_10_8, HSCIF2_HSCK),
813 PINMUX_IPSR_MSEL(IP1_10_8, SCIF1_SCK_C, SEL_SCIF1_2),
814 PINMUX_IPSR_GPSR(IP1_10_8, IRQ6),
815 PINMUX_IPSR_GPSR(IP1_10_8, PWM5_C),
816 PINMUX_IPSR_GPSR(IP1_12_11, D11),
817 PINMUX_IPSR_GPSR(IP1_12_11, HSCIF2_HCTS_N),
818 PINMUX_IPSR_MSEL(IP1_12_11, SCIF1_RXD_C, SEL_SCIF1_2),
819 PINMUX_IPSR_MSEL(IP1_12_11, I2C1_SCL_D, SEL_I2C01_3),
820 PINMUX_IPSR_GPSR(IP1_14_13, D12),
821 PINMUX_IPSR_GPSR(IP1_14_13, HSCIF2_HRTS_N),
822 PINMUX_IPSR_MSEL(IP1_14_13, SCIF1_TXD_C, SEL_SCIF1_2),
823 PINMUX_IPSR_MSEL(IP1_14_13, I2C1_SDA_D, SEL_I2C01_3),
824 PINMUX_IPSR_GPSR(IP1_17_15, D13),
825 PINMUX_IPSR_MSEL(IP1_17_15, SCIFA1_SCK, SEL_SCIFA1_0),
826 PINMUX_IPSR_GPSR(IP1_17_15, PWM2_C),
827 PINMUX_IPSR_MSEL(IP1_17_15, TCLK2_B, SEL_TMU_1),
828 PINMUX_IPSR_GPSR(IP1_19_18, D14),
829 PINMUX_IPSR_MSEL(IP1_19_18, SCIFA1_RXD, SEL_SCIFA1_0),
830 PINMUX_IPSR_MSEL(IP1_19_18, I2C5_SCL_B, SEL_I2C05_1),
831 PINMUX_IPSR_GPSR(IP1_21_20, D15),
832 PINMUX_IPSR_MSEL(IP1_21_20, SCIFA1_TXD, SEL_SCIFA1_0),
833 PINMUX_IPSR_MSEL(IP1_21_20, I2C5_SDA_B, SEL_I2C05_1),
834 PINMUX_IPSR_GPSR(IP1_23_22, A0),
835 PINMUX_IPSR_GPSR(IP1_23_22, SCIFB1_SCK),
836 PINMUX_IPSR_GPSR(IP1_23_22, PWM3_B),
837 PINMUX_IPSR_GPSR(IP1_24, A1),
838 PINMUX_IPSR_GPSR(IP1_24, SCIFB1_TXD),
839 PINMUX_IPSR_GPSR(IP1_26, A3),
840 PINMUX_IPSR_GPSR(IP1_26, SCIFB0_SCK),
841 PINMUX_IPSR_GPSR(IP1_27, A4),
842 PINMUX_IPSR_GPSR(IP1_27, SCIFB0_TXD),
843 PINMUX_IPSR_GPSR(IP1_29_28, A5),
844 PINMUX_IPSR_GPSR(IP1_29_28, SCIFB0_RXD),
845 PINMUX_IPSR_GPSR(IP1_29_28, PWM4_B),
846 PINMUX_IPSR_GPSR(IP1_29_28, TPUTO3_C),
847 PINMUX_IPSR_GPSR(IP1_31_30, A6),
848 PINMUX_IPSR_GPSR(IP1_31_30, SCIFB0_CTS_N),
849 PINMUX_IPSR_MSEL(IP1_31_30, SCIFA4_RXD_B, SEL_SCIFA4_1),
850 PINMUX_IPSR_GPSR(IP1_31_30, TPUTO2_C),
851
852 /* IPSR2 */
853 PINMUX_IPSR_GPSR(IP2_1_0, A7),
854 PINMUX_IPSR_GPSR(IP2_1_0, SCIFB0_RTS_N),
855 PINMUX_IPSR_MSEL(IP2_1_0, SCIFA4_TXD_B, SEL_SCIFA4_1),
856 PINMUX_IPSR_GPSR(IP2_3_2, A8),
857 PINMUX_IPSR_MSEL(IP2_3_2, MSIOF1_RXD, SEL_MSI1_0),
858 PINMUX_IPSR_MSEL(IP2_3_2, SCIFA0_RXD_B, SEL_SCIFA0_1),
859 PINMUX_IPSR_GPSR(IP2_5_4, A9),
860 PINMUX_IPSR_MSEL(IP2_5_4, MSIOF1_TXD, SEL_MSI1_0),
861 PINMUX_IPSR_MSEL(IP2_5_4, SCIFA0_TXD_B, SEL_SCIFA0_1),
862 PINMUX_IPSR_GPSR(IP2_7_6, A10),
863 PINMUX_IPSR_MSEL(IP2_7_6, MSIOF1_SCK, SEL_MSI1_0),
864 PINMUX_IPSR_MSEL(IP2_7_6, IIC0_SCL_B, SEL_IIC0_1),
865 PINMUX_IPSR_GPSR(IP2_9_8, A11),
866 PINMUX_IPSR_MSEL(IP2_9_8, MSIOF1_SYNC, SEL_MSI1_0),
867 PINMUX_IPSR_MSEL(IP2_9_8, IIC0_SDA_B, SEL_IIC0_1),
868 PINMUX_IPSR_GPSR(IP2_11_10, A12),
869 PINMUX_IPSR_MSEL(IP2_11_10, MSIOF1_SS1, SEL_MSI1_0),
870 PINMUX_IPSR_MSEL(IP2_11_10, SCIFA5_RXD_B, SEL_SCIFA5_1),
871 PINMUX_IPSR_GPSR(IP2_13_12, A13),
872 PINMUX_IPSR_MSEL(IP2_13_12, MSIOF1_SS2, SEL_MSI1_0),
873 PINMUX_IPSR_MSEL(IP2_13_12, SCIFA5_TXD_B, SEL_SCIFA5_1),
874 PINMUX_IPSR_GPSR(IP2_15_14, A14),
875 PINMUX_IPSR_MSEL(IP2_15_14, MSIOF2_RXD, SEL_MSI2_0),
876 PINMUX_IPSR_MSEL(IP2_15_14, HSCIF0_HRX_B, SEL_HSCIF0_1),
877 PINMUX_IPSR_MSEL(IP2_15_14, DREQ1_N, SEL_LBS_0),
878 PINMUX_IPSR_GPSR(IP2_17_16, A15),
879 PINMUX_IPSR_MSEL(IP2_17_16, MSIOF2_TXD, SEL_MSI2_0),
880 PINMUX_IPSR_MSEL(IP2_17_16, HSCIF0_HTX_B, SEL_HSCIF0_1),
881 PINMUX_IPSR_MSEL(IP2_17_16, DACK1, SEL_LBS_0),
882 PINMUX_IPSR_GPSR(IP2_20_18, A16),
883 PINMUX_IPSR_MSEL(IP2_20_18, MSIOF2_SCK, SEL_MSI2_0),
884 PINMUX_IPSR_MSEL(IP2_20_18, HSCIF0_HSCK_B, SEL_HSCIF0_1),
885 PINMUX_IPSR_MSEL(IP2_20_18, SPEEDIN, SEL_RSP_0),
886 PINMUX_IPSR_MSEL(IP2_20_18, CAN_CLK_C, SEL_CAN_2),
887 PINMUX_IPSR_GPSR(IP2_20_18, TPUTO2_B),
888 PINMUX_IPSR_GPSR(IP2_23_21, A17),
889 PINMUX_IPSR_MSEL(IP2_23_21, MSIOF2_SYNC, SEL_MSI2_0),
890 PINMUX_IPSR_MSEL(IP2_23_21, SCIF4_RXD_E, SEL_SCIF4_4),
891 PINMUX_IPSR_MSEL(IP2_23_21, CAN1_RX_B, SEL_CAN1_1),
892 PINMUX_IPSR_GPSR(IP2_26_24, A18),
893 PINMUX_IPSR_MSEL(IP2_26_24, MSIOF2_SS1, SEL_MSI2_0),
894 PINMUX_IPSR_MSEL(IP2_26_24, SCIF4_TXD_E, SEL_SCIF4_4),
895 PINMUX_IPSR_MSEL(IP2_26_24, CAN1_TX_B, SEL_CAN1_1),
896 PINMUX_IPSR_GPSR(IP2_29_27, A19),
897 PINMUX_IPSR_MSEL(IP2_29_27, MSIOF2_SS2, SEL_MSI2_0),
898 PINMUX_IPSR_GPSR(IP2_29_27, PWM4),
899 PINMUX_IPSR_GPSR(IP2_29_27, TPUTO2),
900 PINMUX_IPSR_GPSR(IP2_31_30, A20),
901 PINMUX_IPSR_GPSR(IP2_31_30, SPCLK),
902
903 /* IPSR3 */
904 PINMUX_IPSR_GPSR(IP3_1_0, A21),
905 PINMUX_IPSR_GPSR(IP3_1_0, MOSI_IO0),
906 PINMUX_IPSR_GPSR(IP3_3_2, A22),
907 PINMUX_IPSR_GPSR(IP3_3_2, MISO_IO1),
908 PINMUX_IPSR_GPSR(IP3_3_2, ATADIR1_N),
909 PINMUX_IPSR_GPSR(IP3_5_4, A23),
910 PINMUX_IPSR_GPSR(IP3_5_4, IO2),
911 PINMUX_IPSR_GPSR(IP3_5_4, ATAWR1_N),
912 PINMUX_IPSR_GPSR(IP3_7_6, A24),
913 PINMUX_IPSR_GPSR(IP3_7_6, IO3),
914 PINMUX_IPSR_GPSR(IP3_7_6, EX_WAIT2),
915 PINMUX_IPSR_GPSR(IP3_9_8, A25),
916 PINMUX_IPSR_GPSR(IP3_9_8, SSL),
917 PINMUX_IPSR_GPSR(IP3_9_8, ATARD1_N),
918 PINMUX_IPSR_GPSR(IP3_10, CS0_N),
919 PINMUX_IPSR_GPSR(IP3_10, VI1_DATA8),
920 PINMUX_IPSR_GPSR(IP3_11, CS1_N_A26),
921 PINMUX_IPSR_GPSR(IP3_11, VI1_DATA9),
922 PINMUX_IPSR_GPSR(IP3_12, EX_CS0_N),
923 PINMUX_IPSR_GPSR(IP3_12, VI1_DATA10),
924 PINMUX_IPSR_GPSR(IP3_14_13, EX_CS1_N),
925 PINMUX_IPSR_GPSR(IP3_14_13, TPUTO3_B),
926 PINMUX_IPSR_GPSR(IP3_14_13, SCIFB2_RXD),
927 PINMUX_IPSR_GPSR(IP3_14_13, VI1_DATA11),
928 PINMUX_IPSR_GPSR(IP3_17_15, EX_CS2_N),
929 PINMUX_IPSR_GPSR(IP3_17_15, PWM0),
930 PINMUX_IPSR_MSEL(IP3_17_15, SCIF4_RXD_C, SEL_SCIF4_2),
931 PINMUX_IPSR_MSEL(IP3_17_15, TS_SDATA_B, SEL_TSIF0_1),
932 PINMUX_IPSR_GPSR(IP3_17_15, TPUTO3),
933 PINMUX_IPSR_GPSR(IP3_17_15, SCIFB2_TXD),
934 PINMUX_IPSR_GPSR(IP3_20_18, EX_CS3_N),
935 PINMUX_IPSR_MSEL(IP3_20_18, SCIFA2_SCK, SEL_SCIFA2_0),
936 PINMUX_IPSR_MSEL(IP3_20_18, SCIF4_TXD_C, SEL_SCIF4_2),
937 PINMUX_IPSR_MSEL(IP3_20_18, TS_SCK_B, SEL_TSIF0_1),
938 PINMUX_IPSR_MSEL(IP3_20_18, BPFCLK, SEL_DARC_0),
939 PINMUX_IPSR_GPSR(IP3_20_18, SCIFB2_SCK),
940 PINMUX_IPSR_GPSR(IP3_23_21, EX_CS4_N),
941 PINMUX_IPSR_MSEL(IP3_23_21, SCIFA2_RXD, SEL_SCIFA2_0),
942 PINMUX_IPSR_MSEL(IP3_23_21, I2C2_SCL_E, SEL_I2C02_4),
943 PINMUX_IPSR_MSEL(IP3_23_21, TS_SDEN_B, SEL_TSIF0_1),
944 PINMUX_IPSR_MSEL(IP3_23_21, FMCLK, SEL_DARC_0),
945 PINMUX_IPSR_GPSR(IP3_23_21, SCIFB2_CTS_N),
946 PINMUX_IPSR_GPSR(IP3_26_24, EX_CS5_N),
947 PINMUX_IPSR_MSEL(IP3_26_24, SCIFA2_TXD, SEL_SCIFA2_0),
948 PINMUX_IPSR_MSEL(IP3_26_24, I2C2_SDA_E, SEL_I2C02_4),
949 PINMUX_IPSR_MSEL(IP3_26_24, TS_SPSYNC_B, SEL_TSIF0_1),
950 PINMUX_IPSR_MSEL(IP3_26_24, FMIN, SEL_DARC_0),
951 PINMUX_IPSR_GPSR(IP3_26_24, SCIFB2_RTS_N),
952 PINMUX_IPSR_GPSR(IP3_29_27, BS_N),
953 PINMUX_IPSR_GPSR(IP3_29_27, DRACK0),
954 PINMUX_IPSR_GPSR(IP3_29_27, PWM1_C),
955 PINMUX_IPSR_GPSR(IP3_29_27, TPUTO0_C),
956 PINMUX_IPSR_GPSR(IP3_29_27, ATACS01_N),
957 PINMUX_IPSR_GPSR(IP3_30, RD_N),
958 PINMUX_IPSR_GPSR(IP3_30, ATACS11_N),
959 PINMUX_IPSR_GPSR(IP3_31, RD_WR_N),
960 PINMUX_IPSR_GPSR(IP3_31, ATAG1_N),
961
962 /* IPSR4 */
963 PINMUX_IPSR_GPSR(IP4_1_0, EX_WAIT0),
964 PINMUX_IPSR_MSEL(IP4_1_0, CAN_CLK_B, SEL_CAN_1),
965 PINMUX_IPSR_MSEL(IP4_1_0, SCIF_CLK, SEL_SCIF0_0),
966 PINMUX_IPSR_GPSR(IP4_4_2, DU0_DR0),
967 PINMUX_IPSR_GPSR(IP4_4_2, LCDOUT16),
968 PINMUX_IPSR_MSEL(IP4_4_2, SCIF5_RXD_C, SEL_SCIF5_2),
969 PINMUX_IPSR_MSEL(IP4_4_2, I2C2_SCL_D, SEL_I2C02_3),
970 PINMUX_IPSR_GPSR(IP4_7_5, DU0_DR1),
971 PINMUX_IPSR_GPSR(IP4_7_5, LCDOUT17),
972 PINMUX_IPSR_MSEL(IP4_7_5, SCIF5_TXD_C, SEL_SCIF5_2),
973 PINMUX_IPSR_MSEL(IP4_7_5, I2C2_SDA_D, SEL_I2C02_3),
974 PINMUX_IPSR_GPSR(IP4_9_8, DU0_DR2),
975 PINMUX_IPSR_GPSR(IP4_9_8, LCDOUT18),
976 PINMUX_IPSR_GPSR(IP4_11_10, DU0_DR3),
977 PINMUX_IPSR_GPSR(IP4_11_10, LCDOUT19),
978 PINMUX_IPSR_GPSR(IP4_13_12, DU0_DR4),
979 PINMUX_IPSR_GPSR(IP4_13_12, LCDOUT20),
980 PINMUX_IPSR_GPSR(IP4_15_14, DU0_DR5),
981 PINMUX_IPSR_GPSR(IP4_15_14, LCDOUT21),
982 PINMUX_IPSR_GPSR(IP4_17_16, DU0_DR6),
983 PINMUX_IPSR_GPSR(IP4_17_16, LCDOUT22),
984 PINMUX_IPSR_GPSR(IP4_19_18, DU0_DR7),
985 PINMUX_IPSR_GPSR(IP4_19_18, LCDOUT23),
986 PINMUX_IPSR_GPSR(IP4_22_20, DU0_DG0),
987 PINMUX_IPSR_GPSR(IP4_22_20, LCDOUT8),
988 PINMUX_IPSR_MSEL(IP4_22_20, SCIFA0_RXD_C, SEL_SCIFA0_2),
989 PINMUX_IPSR_MSEL(IP4_22_20, I2C3_SCL_D, SEL_I2C03_3),
990 PINMUX_IPSR_GPSR(IP4_25_23, DU0_DG1),
991 PINMUX_IPSR_GPSR(IP4_25_23, LCDOUT9),
992 PINMUX_IPSR_MSEL(IP4_25_23, SCIFA0_TXD_C, SEL_SCIFA0_2),
993 PINMUX_IPSR_MSEL(IP4_25_23, I2C3_SDA_D, SEL_I2C03_3),
994 PINMUX_IPSR_GPSR(IP4_27_26, DU0_DG2),
995 PINMUX_IPSR_GPSR(IP4_27_26, LCDOUT10),
996 PINMUX_IPSR_GPSR(IP4_29_28, DU0_DG3),
997 PINMUX_IPSR_GPSR(IP4_29_28, LCDOUT11),
998 PINMUX_IPSR_GPSR(IP4_31_30, DU0_DG4),
999 PINMUX_IPSR_GPSR(IP4_31_30, LCDOUT12),
1000
1001 /* IPSR5 */
1002 PINMUX_IPSR_GPSR(IP5_1_0, DU0_DG5),
1003 PINMUX_IPSR_GPSR(IP5_1_0, LCDOUT13),
1004 PINMUX_IPSR_GPSR(IP5_3_2, DU0_DG6),
1005 PINMUX_IPSR_GPSR(IP5_3_2, LCDOUT14),
1006 PINMUX_IPSR_GPSR(IP5_5_4, DU0_DG7),
1007 PINMUX_IPSR_GPSR(IP5_5_4, LCDOUT15),
1008 PINMUX_IPSR_GPSR(IP5_8_6, DU0_DB0),
1009 PINMUX_IPSR_GPSR(IP5_8_6, LCDOUT0),
1010 PINMUX_IPSR_MSEL(IP5_8_6, SCIFA4_RXD_C, SEL_SCIFA4_2),
1011 PINMUX_IPSR_MSEL(IP5_8_6, I2C4_SCL_D, SEL_I2C04_3),
1012 PINMUX_IPSR_MSEL(IP7_8_6, CAN0_RX_C, SEL_CAN0_2),
1013 PINMUX_IPSR_GPSR(IP5_11_9, DU0_DB1),
1014 PINMUX_IPSR_GPSR(IP5_11_9, LCDOUT1),
1015 PINMUX_IPSR_MSEL(IP5_11_9, SCIFA4_TXD_C, SEL_SCIFA4_2),
1016 PINMUX_IPSR_MSEL(IP5_11_9, I2C4_SDA_D, SEL_I2C04_3),
1017 PINMUX_IPSR_MSEL(IP5_11_9, CAN0_TX_C, SEL_CAN0_2),
1018 PINMUX_IPSR_GPSR(IP5_13_12, DU0_DB2),
1019 PINMUX_IPSR_GPSR(IP5_13_12, LCDOUT2),
1020 PINMUX_IPSR_GPSR(IP5_15_14, DU0_DB3),
1021 PINMUX_IPSR_GPSR(IP5_15_14, LCDOUT3),
1022 PINMUX_IPSR_GPSR(IP5_17_16, DU0_DB4),
1023 PINMUX_IPSR_GPSR(IP5_17_16, LCDOUT4),
1024 PINMUX_IPSR_GPSR(IP5_19_18, DU0_DB5),
1025 PINMUX_IPSR_GPSR(IP5_19_18, LCDOUT5),
1026 PINMUX_IPSR_GPSR(IP5_21_20, DU0_DB6),
1027 PINMUX_IPSR_GPSR(IP5_21_20, LCDOUT6),
1028 PINMUX_IPSR_GPSR(IP5_23_22, DU0_DB7),
1029 PINMUX_IPSR_GPSR(IP5_23_22, LCDOUT7),
1030 PINMUX_IPSR_GPSR(IP5_25_24, DU0_DOTCLKIN),
1031 PINMUX_IPSR_GPSR(IP5_25_24, QSTVA_QVS),
1032 PINMUX_IPSR_GPSR(IP5_27_26, DU0_DOTCLKOUT0),
1033 PINMUX_IPSR_GPSR(IP5_27_26, QCLK),
1034 PINMUX_IPSR_GPSR(IP5_29_28, DU0_DOTCLKOUT1),
1035 PINMUX_IPSR_GPSR(IP5_29_28, QSTVB_QVE),
1036 PINMUX_IPSR_GPSR(IP5_31_30, DU0_EXHSYNC_DU0_HSYNC),
1037 PINMUX_IPSR_GPSR(IP5_31_30, QSTH_QHS),
1038
1039 /* IPSR6 */
1040 PINMUX_IPSR_GPSR(IP6_1_0, DU0_EXVSYNC_DU0_VSYNC),
1041 PINMUX_IPSR_GPSR(IP6_1_0, QSTB_QHE),
1042 PINMUX_IPSR_GPSR(IP6_3_2, DU0_EXODDF_DU0_ODDF_DISP_CDE),
1043 PINMUX_IPSR_GPSR(IP6_3_2, QCPV_QDE),
1044 PINMUX_IPSR_GPSR(IP6_5_4, DU0_DISP),
1045 PINMUX_IPSR_GPSR(IP6_5_4, QPOLA),
1046 PINMUX_IPSR_GPSR(IP6_7_6, DU0_CDE),
1047 PINMUX_IPSR_GPSR(IP6_7_6, QPOLB),
1048 PINMUX_IPSR_GPSR(IP6_8, VI0_CLK),
1049 PINMUX_IPSR_GPSR(IP6_8, AVB_RX_CLK),
1050 PINMUX_IPSR_GPSR(IP6_9, VI0_DATA0_VI0_B0),
1051 PINMUX_IPSR_GPSR(IP6_9, AVB_RX_DV),
1052 PINMUX_IPSR_GPSR(IP6_10, VI0_DATA1_VI0_B1),
1053 PINMUX_IPSR_GPSR(IP6_10, AVB_RXD0),
1054 PINMUX_IPSR_GPSR(IP6_11, VI0_DATA2_VI0_B2),
1055 PINMUX_IPSR_GPSR(IP6_11, AVB_RXD1),
1056 PINMUX_IPSR_GPSR(IP6_12, VI0_DATA3_VI0_B3),
1057 PINMUX_IPSR_GPSR(IP6_12, AVB_RXD2),
1058 PINMUX_IPSR_GPSR(IP6_13, VI0_DATA4_VI0_B4),
1059 PINMUX_IPSR_GPSR(IP6_13, AVB_RXD3),
1060 PINMUX_IPSR_GPSR(IP6_14, VI0_DATA5_VI0_B5),
1061 PINMUX_IPSR_GPSR(IP6_14, AVB_RXD4),
1062 PINMUX_IPSR_GPSR(IP6_15, VI0_DATA6_VI0_B6),
1063 PINMUX_IPSR_GPSR(IP6_15, AVB_RXD5),
1064 PINMUX_IPSR_GPSR(IP6_16, VI0_DATA7_VI0_B7),
1065 PINMUX_IPSR_GPSR(IP6_16, AVB_RXD6),
1066 PINMUX_IPSR_GPSR(IP6_19_17, VI0_CLKENB),
1067 PINMUX_IPSR_MSEL(IP6_19_17, I2C3_SCL, SEL_I2C03_0),
1068 PINMUX_IPSR_MSEL(IP6_19_17, SCIFA5_RXD_C, SEL_SCIFA5_2),
1069 PINMUX_IPSR_MSEL(IP6_19_17, IETX_C, SEL_IEB_2),
1070 PINMUX_IPSR_GPSR(IP6_19_17, AVB_RXD7),
1071 PINMUX_IPSR_GPSR(IP6_22_20, VI0_FIELD),
1072 PINMUX_IPSR_MSEL(IP6_22_20, I2C3_SDA, SEL_I2C03_0),
1073 PINMUX_IPSR_MSEL(IP6_22_20, SCIFA5_TXD_C, SEL_SCIFA5_2),
1074 PINMUX_IPSR_MSEL(IP6_22_20, IECLK_C, SEL_IEB_2),
1075 PINMUX_IPSR_GPSR(IP6_22_20, AVB_RX_ER),
1076 PINMUX_IPSR_GPSR(IP6_25_23, VI0_HSYNC_N),
1077 PINMUX_IPSR_MSEL(IP6_25_23, SCIF0_RXD_B, SEL_SCIF0_1),
1078 PINMUX_IPSR_MSEL(IP6_25_23, I2C0_SCL_C, SEL_I2C00_2),
1079 PINMUX_IPSR_MSEL(IP6_25_23, IERX_C, SEL_IEB_2),
1080 PINMUX_IPSR_GPSR(IP6_25_23, AVB_COL),
1081 PINMUX_IPSR_GPSR(IP6_28_26, VI0_VSYNC_N),
1082 PINMUX_IPSR_MSEL(IP6_28_26, SCIF0_TXD_B, SEL_SCIF0_1),
1083 PINMUX_IPSR_MSEL(IP6_28_26, I2C0_SDA_C, SEL_I2C00_2),
1084 PINMUX_IPSR_MSEL(IP6_28_26, AUDIO_CLKOUT_B, SEL_ADG_1),
1085 PINMUX_IPSR_GPSR(IP6_28_26, AVB_TX_EN),
1086 PINMUX_IPSR_MSEL(IP6_31_29, ETH_MDIO, SEL_ETH_0),
1087 PINMUX_IPSR_GPSR(IP6_31_29, VI0_G0),
1088 PINMUX_IPSR_MSEL(IP6_31_29, MSIOF2_RXD_B, SEL_MSI2_1),
1089 PINMUX_IPSR_MSEL(IP6_31_29, I2C5_SCL_D, SEL_I2C05_3),
1090 PINMUX_IPSR_GPSR(IP6_31_29, AVB_TX_CLK),
1091 PINMUX_IPSR_MSEL(IP6_31_29, ADIDATA, SEL_RAD_0),
1092
1093 /* IPSR7 */
1094 PINMUX_IPSR_MSEL(IP7_2_0, ETH_CRS_DV, SEL_ETH_0),
1095 PINMUX_IPSR_GPSR(IP7_2_0, VI0_G1),
1096 PINMUX_IPSR_MSEL(IP7_2_0, MSIOF2_TXD_B, SEL_MSI2_1),
1097 PINMUX_IPSR_MSEL(IP7_2_0, I2C5_SDA_D, SEL_I2C05_3),
1098 PINMUX_IPSR_GPSR(IP7_2_0, AVB_TXD0),
1099 PINMUX_IPSR_MSEL(IP7_2_0, ADICS_SAMP, SEL_RAD_0),
1100 PINMUX_IPSR_MSEL(IP7_5_3, ETH_RX_ER, SEL_ETH_0),
1101 PINMUX_IPSR_GPSR(IP7_5_3, VI0_G2),
1102 PINMUX_IPSR_MSEL(IP7_5_3, MSIOF2_SCK_B, SEL_MSI2_1),
1103 PINMUX_IPSR_MSEL(IP7_5_3, CAN0_RX_B, SEL_CAN0_1),
1104 PINMUX_IPSR_GPSR(IP7_5_3, AVB_TXD1),
1105 PINMUX_IPSR_MSEL(IP7_5_3, ADICLK, SEL_RAD_0),
1106 PINMUX_IPSR_MSEL(IP7_8_6, ETH_RXD0, SEL_ETH_0),
1107 PINMUX_IPSR_GPSR(IP7_8_6, VI0_G3),
1108 PINMUX_IPSR_MSEL(IP7_8_6, MSIOF2_SYNC_B, SEL_MSI2_1),
1109 PINMUX_IPSR_MSEL(IP7_8_6, CAN0_TX_B, SEL_CAN0_1),
1110 PINMUX_IPSR_GPSR(IP7_8_6, AVB_TXD2),
1111 PINMUX_IPSR_MSEL(IP7_8_6, ADICHS0, SEL_RAD_0),
1112 PINMUX_IPSR_MSEL(IP7_11_9, ETH_RXD1, SEL_ETH_0),
1113 PINMUX_IPSR_GPSR(IP7_11_9, VI0_G4),
1114 PINMUX_IPSR_MSEL(IP7_11_9, MSIOF2_SS1_B, SEL_MSI2_1),
1115 PINMUX_IPSR_MSEL(IP7_11_9, SCIF4_RXD_D, SEL_SCIF4_3),
1116 PINMUX_IPSR_GPSR(IP7_11_9, AVB_TXD3),
1117 PINMUX_IPSR_MSEL(IP7_11_9, ADICHS1, SEL_RAD_0),
1118 PINMUX_IPSR_MSEL(IP7_14_12, ETH_LINK, SEL_ETH_0),
1119 PINMUX_IPSR_GPSR(IP7_14_12, VI0_G5),
1120 PINMUX_IPSR_MSEL(IP7_14_12, MSIOF2_SS2_B, SEL_MSI2_1),
1121 PINMUX_IPSR_MSEL(IP7_14_12, SCIF4_TXD_D, SEL_SCIF4_3),
1122 PINMUX_IPSR_GPSR(IP7_14_12, AVB_TXD4),
1123 PINMUX_IPSR_MSEL(IP7_14_12, ADICHS2, SEL_RAD_0),
1124 PINMUX_IPSR_MSEL(IP7_17_15, ETH_REFCLK, SEL_ETH_0),
1125 PINMUX_IPSR_GPSR(IP7_17_15, VI0_G6),
1126 PINMUX_IPSR_MSEL(IP7_17_15, SCIF2_SCK_C, SEL_SCIF2_2),
1127 PINMUX_IPSR_GPSR(IP7_17_15, AVB_TXD5),
1128 PINMUX_IPSR_MSEL(IP7_17_15, SSI_SCK5_B, SEL_SSI5_1),
1129 PINMUX_IPSR_MSEL(IP7_20_18, ETH_TXD1, SEL_ETH_0),
1130 PINMUX_IPSR_GPSR(IP7_20_18, VI0_G7),
1131 PINMUX_IPSR_MSEL(IP7_20_18, SCIF2_RXD_C, SEL_SCIF2_2),
1132 PINMUX_IPSR_MSEL(IP7_20_18, IIC0_SCL_D, SEL_IIC0_3),
1133 PINMUX_IPSR_GPSR(IP7_20_18, AVB_TXD6),
1134 PINMUX_IPSR_MSEL(IP7_20_18, SSI_WS5_B, SEL_SSI5_1),
1135 PINMUX_IPSR_MSEL(IP7_23_21, ETH_TX_EN, SEL_ETH_0),
1136 PINMUX_IPSR_GPSR(IP7_23_21, VI0_R0),
1137 PINMUX_IPSR_MSEL(IP7_23_21, SCIF2_TXD_C, SEL_SCIF2_2),
1138 PINMUX_IPSR_MSEL(IP7_23_21, IIC0_SDA_D, SEL_IIC0_3),
1139 PINMUX_IPSR_GPSR(IP7_23_21, AVB_TXD7),
1140 PINMUX_IPSR_MSEL(IP7_23_21, SSI_SDATA5_B, SEL_SSI5_1),
1141 PINMUX_IPSR_MSEL(IP7_26_24, ETH_MAGIC, SEL_ETH_0),
1142 PINMUX_IPSR_GPSR(IP7_26_24, VI0_R1),
1143 PINMUX_IPSR_MSEL(IP7_26_24, SCIF3_SCK_B, SEL_SCIF3_1),
1144 PINMUX_IPSR_GPSR(IP7_26_24, AVB_TX_ER),
1145 PINMUX_IPSR_MSEL(IP7_26_24, SSI_SCK6_B, SEL_SSI6_1),
1146 PINMUX_IPSR_MSEL(IP7_29_27, ETH_TXD0, SEL_ETH_0),
1147 PINMUX_IPSR_GPSR(IP7_29_27, VI0_R2),
1148 PINMUX_IPSR_MSEL(IP7_29_27, SCIF3_RXD_B, SEL_SCIF3_1),
1149 PINMUX_IPSR_MSEL(IP7_29_27, I2C4_SCL_E, SEL_I2C04_4),
1150 PINMUX_IPSR_GPSR(IP7_29_27, AVB_GTX_CLK),
1151 PINMUX_IPSR_MSEL(IP7_29_27, SSI_WS6_B, SEL_SSI6_1),
1152 PINMUX_IPSR_GPSR(IP7_31, DREQ0_N),
1153 PINMUX_IPSR_GPSR(IP7_31, SCIFB1_RXD),
1154
1155 /* IPSR8 */
1156 PINMUX_IPSR_MSEL(IP8_2_0, ETH_MDC, SEL_ETH_0),
1157 PINMUX_IPSR_GPSR(IP8_2_0, VI0_R3),
1158 PINMUX_IPSR_MSEL(IP8_2_0, SCIF3_TXD_B, SEL_SCIF3_1),
1159 PINMUX_IPSR_MSEL(IP8_2_0, I2C4_SDA_E, SEL_I2C04_4),
1160 PINMUX_IPSR_GPSR(IP8_2_0, AVB_MDC),
1161 PINMUX_IPSR_MSEL(IP8_2_0, SSI_SDATA6_B, SEL_SSI6_1),
1162 PINMUX_IPSR_MSEL(IP8_5_3, HSCIF0_HRX, SEL_HSCIF0_0),
1163 PINMUX_IPSR_GPSR(IP8_5_3, VI0_R4),
1164 PINMUX_IPSR_MSEL(IP8_5_3, I2C1_SCL_C, SEL_I2C01_2),
1165 PINMUX_IPSR_MSEL(IP8_5_3, AUDIO_CLKA_B, SEL_ADG_1),
1166 PINMUX_IPSR_GPSR(IP8_5_3, AVB_MDIO),
1167 PINMUX_IPSR_MSEL(IP8_5_3, SSI_SCK78_B, SEL_SSI7_1),
1168 PINMUX_IPSR_MSEL(IP8_8_6, HSCIF0_HTX, SEL_HSCIF0_0),
1169 PINMUX_IPSR_GPSR(IP8_8_6, VI0_R5),
1170 PINMUX_IPSR_MSEL(IP8_8_6, I2C1_SDA_C, SEL_I2C01_2),
1171 PINMUX_IPSR_MSEL(IP8_8_6, AUDIO_CLKB_B, SEL_ADG_1),
1172 PINMUX_IPSR_GPSR(IP8_5_3, AVB_LINK),
1173 PINMUX_IPSR_MSEL(IP8_8_6, SSI_WS78_B, SEL_SSI7_1),
1174 PINMUX_IPSR_GPSR(IP8_11_9, HSCIF0_HCTS_N),
1175 PINMUX_IPSR_GPSR(IP8_11_9, VI0_R6),
1176 PINMUX_IPSR_MSEL(IP8_11_9, SCIF0_RXD_D, SEL_SCIF0_3),
1177 PINMUX_IPSR_MSEL(IP8_11_9, I2C0_SCL_E, SEL_I2C00_4),
1178 PINMUX_IPSR_GPSR(IP8_11_9, AVB_MAGIC),
1179 PINMUX_IPSR_MSEL(IP8_11_9, SSI_SDATA7_B, SEL_SSI7_1),
1180 PINMUX_IPSR_GPSR(IP8_14_12, HSCIF0_HRTS_N),
1181 PINMUX_IPSR_GPSR(IP8_14_12, VI0_R7),
1182 PINMUX_IPSR_MSEL(IP8_14_12, SCIF0_TXD_D, SEL_SCIF0_3),
1183 PINMUX_IPSR_MSEL(IP8_14_12, I2C0_SDA_E, SEL_I2C00_4),
1184 PINMUX_IPSR_GPSR(IP8_14_12, AVB_PHY_INT),
1185 PINMUX_IPSR_MSEL(IP8_14_12, SSI_SDATA8_B, SEL_SSI8_1),
1186 PINMUX_IPSR_MSEL(IP8_16_15, HSCIF0_HSCK, SEL_HSCIF0_0),
1187 PINMUX_IPSR_MSEL(IP8_16_15, SCIF_CLK_B, SEL_SCIF0_1),
1188 PINMUX_IPSR_GPSR(IP8_16_15, AVB_CRS),
1189 PINMUX_IPSR_MSEL(IP8_16_15, AUDIO_CLKC_B, SEL_ADG_1),
1190 PINMUX_IPSR_MSEL(IP8_19_17, I2C0_SCL, SEL_I2C00_0),
1191 PINMUX_IPSR_MSEL(IP8_19_17, SCIF0_RXD_C, SEL_SCIF0_2),
1192 PINMUX_IPSR_GPSR(IP8_19_17, PWM5),
1193 PINMUX_IPSR_MSEL(IP8_19_17, TCLK1_B, SEL_TMU_1),
1194 PINMUX_IPSR_GPSR(IP8_19_17, AVB_GTXREFCLK),
1195 PINMUX_IPSR_MSEL(IP8_19_17, CAN1_RX_D, SEL_CAN1_3),
1196 PINMUX_IPSR_GPSR(IP8_19_17, TPUTO0_B),
1197 PINMUX_IPSR_MSEL(IP8_22_20, I2C0_SDA, SEL_I2C00_0),
1198 PINMUX_IPSR_MSEL(IP8_22_20, SCIF0_TXD_C, SEL_SCIF0_2),
1199 PINMUX_IPSR_GPSR(IP8_22_20, TPUTO0),
1200 PINMUX_IPSR_MSEL(IP8_22_20, CAN_CLK, SEL_CAN_0),
1201 PINMUX_IPSR_GPSR(IP8_22_20, DVC_MUTE),
1202 PINMUX_IPSR_MSEL(IP8_22_20, CAN1_TX_D, SEL_CAN1_3),
1203 PINMUX_IPSR_MSEL(IP8_25_23, I2C1_SCL, SEL_I2C01_0),
1204 PINMUX_IPSR_MSEL(IP8_25_23, SCIF4_RXD, SEL_SCIF4_0),
1205 PINMUX_IPSR_GPSR(IP8_25_23, PWM5_B),
1206 PINMUX_IPSR_GPSR(IP8_25_23, DU1_DR0),
1207 PINMUX_IPSR_MSEL(IP8_25_23, TS_SDATA_D, SEL_TSIF0_3),
1208 PINMUX_IPSR_GPSR(IP8_25_23, TPUTO1_B),
1209 PINMUX_IPSR_MSEL(IP8_28_26, I2C1_SDA, SEL_I2C01_0),
1210 PINMUX_IPSR_MSEL(IP8_28_26, SCIF4_TXD, SEL_SCIF4_0),
1211 PINMUX_IPSR_GPSR(IP8_28_26, IRQ5),
1212 PINMUX_IPSR_GPSR(IP8_28_26, DU1_DR1),
1213 PINMUX_IPSR_MSEL(IP8_28_26, TS_SCK_D, SEL_TSIF0_3),
1214 PINMUX_IPSR_MSEL(IP8_28_26, BPFCLK_C, SEL_DARC_2),
1215 PINMUX_IPSR_GPSR(IP8_31_29, MSIOF0_RXD),
1216 PINMUX_IPSR_MSEL(IP8_31_29, SCIF5_RXD, SEL_SCIF5_0),
1217 PINMUX_IPSR_MSEL(IP8_31_29, I2C2_SCL_C, SEL_I2C02_2),
1218 PINMUX_IPSR_GPSR(IP8_31_29, DU1_DR2),
1219 PINMUX_IPSR_MSEL(IP8_31_29, TS_SDEN_D, SEL_TSIF0_3),
1220 PINMUX_IPSR_MSEL(IP8_31_29, FMCLK_C, SEL_DARC_2),
1221
1222 /* IPSR9 */
1223 PINMUX_IPSR_GPSR(IP9_2_0, MSIOF0_TXD),
1224 PINMUX_IPSR_MSEL(IP9_2_0, SCIF5_TXD, SEL_SCIF5_0),
1225 PINMUX_IPSR_MSEL(IP9_2_0, I2C2_SDA_C, SEL_I2C02_2),
1226 PINMUX_IPSR_GPSR(IP9_2_0, DU1_DR3),
1227 PINMUX_IPSR_MSEL(IP9_2_0, TS_SPSYNC_D, SEL_TSIF0_3),
1228 PINMUX_IPSR_MSEL(IP9_2_0, FMIN_C, SEL_DARC_2),
1229 PINMUX_IPSR_GPSR(IP9_5_3, MSIOF0_SCK),
1230 PINMUX_IPSR_GPSR(IP9_5_3, IRQ0),
1231 PINMUX_IPSR_MSEL(IP9_5_3, TS_SDATA, SEL_TSIF0_0),
1232 PINMUX_IPSR_GPSR(IP9_5_3, DU1_DR4),
1233 PINMUX_IPSR_GPSR(IP9_5_3, TPUTO1_C),
1234 PINMUX_IPSR_GPSR(IP9_8_6, MSIOF0_SYNC),
1235 PINMUX_IPSR_GPSR(IP9_8_6, PWM1),
1236 PINMUX_IPSR_MSEL(IP9_8_6, TS_SCK, SEL_TSIF0_0),
1237 PINMUX_IPSR_GPSR(IP9_8_6, DU1_DR5),
1238 PINMUX_IPSR_MSEL(IP9_8_6, BPFCLK_B, SEL_DARC_1),
1239 PINMUX_IPSR_GPSR(IP9_11_9, MSIOF0_SS1),
1240 PINMUX_IPSR_MSEL(IP9_11_9, SCIFA0_RXD, SEL_SCIFA0_0),
1241 PINMUX_IPSR_MSEL(IP9_11_9, TS_SDEN, SEL_TSIF0_0),
1242 PINMUX_IPSR_GPSR(IP9_11_9, DU1_DR6),
1243 PINMUX_IPSR_MSEL(IP9_11_9, FMCLK_B, SEL_DARC_1),
1244 PINMUX_IPSR_GPSR(IP9_14_12, MSIOF0_SS2),
1245 PINMUX_IPSR_MSEL(IP9_14_12, SCIFA0_TXD, SEL_SCIFA0_0),
1246 PINMUX_IPSR_MSEL(IP9_14_12, TS_SPSYNC, SEL_TSIF0_0),
1247 PINMUX_IPSR_GPSR(IP9_14_12, DU1_DR7),
1248 PINMUX_IPSR_MSEL(IP9_14_12, FMIN_B, SEL_DARC_1),
1249 PINMUX_IPSR_MSEL(IP9_16_15, HSCIF1_HRX, SEL_HSCIF1_0),
1250 PINMUX_IPSR_MSEL(IP9_16_15, I2C4_SCL, SEL_I2C04_0),
1251 PINMUX_IPSR_GPSR(IP9_16_15, PWM6),
1252 PINMUX_IPSR_GPSR(IP9_16_15, DU1_DG0),
1253 PINMUX_IPSR_MSEL(IP9_18_17, HSCIF1_HTX, SEL_HSCIF1_0),
1254 PINMUX_IPSR_MSEL(IP9_18_17, I2C4_SDA, SEL_I2C04_0),
1255 PINMUX_IPSR_GPSR(IP9_18_17, TPUTO1),
1256 PINMUX_IPSR_GPSR(IP9_18_17, DU1_DG1),
1257 PINMUX_IPSR_GPSR(IP9_21_19, HSCIF1_HSCK),
1258 PINMUX_IPSR_GPSR(IP9_21_19, PWM2),
1259 PINMUX_IPSR_MSEL(IP9_21_19, IETX, SEL_IEB_0),
1260 PINMUX_IPSR_GPSR(IP9_21_19, DU1_DG2),
1261 PINMUX_IPSR_MSEL(IP9_21_19, REMOCON_B, SEL_RCN_1),
1262 PINMUX_IPSR_MSEL(IP9_21_19, SPEEDIN_B, SEL_RSP_1),
1263 PINMUX_IPSR_MSEL(IP9_24_22, HSCIF1_HCTS_N, SEL_HSCIF1_0),
1264 PINMUX_IPSR_MSEL(IP9_24_22, SCIFA4_RXD, SEL_SCIFA4_0),
1265 PINMUX_IPSR_MSEL(IP9_24_22, IECLK, SEL_IEB_0),
1266 PINMUX_IPSR_GPSR(IP9_24_22, DU1_DG3),
1267 PINMUX_IPSR_MSEL(IP9_24_22, SSI_SCK1_B, SEL_SSI1_1),
1268 PINMUX_IPSR_MSEL(IP9_27_25, HSCIF1_HRTS_N, SEL_HSCIF1_0),
1269 PINMUX_IPSR_MSEL(IP9_27_25, SCIFA4_TXD, SEL_SCIFA4_0),
1270 PINMUX_IPSR_MSEL(IP9_27_25, IERX, SEL_IEB_0),
1271 PINMUX_IPSR_GPSR(IP9_27_25, DU1_DG4),
1272 PINMUX_IPSR_MSEL(IP9_27_25, SSI_WS1_B, SEL_SSI1_1),
1273 PINMUX_IPSR_MSEL(IP9_30_28, SCIF1_SCK, SEL_SCIF1_0),
1274 PINMUX_IPSR_GPSR(IP9_30_28, PWM3),
1275 PINMUX_IPSR_MSEL(IP9_30_28, TCLK2, SEL_TMU_0),
1276 PINMUX_IPSR_GPSR(IP9_30_28, DU1_DG5),
1277 PINMUX_IPSR_MSEL(IP9_30_28, SSI_SDATA1_B, SEL_SSI1_1),
1278
1279 /* IPSR10 */
1280 PINMUX_IPSR_MSEL(IP10_2_0, SCIF1_RXD, SEL_SCIF1_0),
1281 PINMUX_IPSR_MSEL(IP10_2_0, I2C5_SCL, SEL_I2C05_0),
1282 PINMUX_IPSR_GPSR(IP10_2_0, DU1_DG6),
1283 PINMUX_IPSR_MSEL(IP10_2_0, SSI_SCK2_B, SEL_SSI2_1),
1284 PINMUX_IPSR_MSEL(IP10_5_3, SCIF1_TXD, SEL_SCIF1_0),
1285 PINMUX_IPSR_MSEL(IP10_5_3, I2C5_SDA, SEL_I2C05_0),
1286 PINMUX_IPSR_GPSR(IP10_5_3, DU1_DG7),
1287 PINMUX_IPSR_MSEL(IP10_5_3, SSI_WS2_B, SEL_SSI2_1),
1288 PINMUX_IPSR_MSEL(IP10_8_6, SCIF2_RXD, SEL_SCIF2_0),
1289 PINMUX_IPSR_MSEL(IP10_8_6, IIC0_SCL, SEL_IIC0_0),
1290 PINMUX_IPSR_GPSR(IP10_8_6, DU1_DB0),
1291 PINMUX_IPSR_MSEL(IP10_8_6, SSI_SDATA2_B, SEL_SSI2_1),
1292 PINMUX_IPSR_MSEL(IP10_11_9, SCIF2_TXD, SEL_SCIF2_0),
1293 PINMUX_IPSR_MSEL(IP10_11_9, IIC0_SDA, SEL_IIC0_0),
1294 PINMUX_IPSR_GPSR(IP10_11_9, DU1_DB1),
1295 PINMUX_IPSR_MSEL(IP10_11_9, SSI_SCK9_B, SEL_SSI9_1),
1296 PINMUX_IPSR_MSEL(IP10_14_12, SCIF2_SCK, SEL_SCIF2_0),
1297 PINMUX_IPSR_GPSR(IP10_14_12, IRQ1),
1298 PINMUX_IPSR_GPSR(IP10_14_12, DU1_DB2),
1299 PINMUX_IPSR_MSEL(IP10_14_12, SSI_WS9_B, SEL_SSI9_1),
1300 PINMUX_IPSR_MSEL(IP10_17_15, SCIF3_SCK, SEL_SCIF3_0),
1301 PINMUX_IPSR_GPSR(IP10_17_15, IRQ2),
1302 PINMUX_IPSR_MSEL(IP10_17_15, BPFCLK_D, SEL_DARC_3),
1303 PINMUX_IPSR_GPSR(IP10_17_15, DU1_DB3),
1304 PINMUX_IPSR_MSEL(IP10_17_15, SSI_SDATA9_B, SEL_SSI9_1),
1305 PINMUX_IPSR_MSEL(IP10_20_18, SCIF3_RXD, SEL_SCIF3_0),
1306 PINMUX_IPSR_MSEL(IP10_20_18, I2C1_SCL_E, SEL_I2C01_4),
1307 PINMUX_IPSR_MSEL(IP10_20_18, FMCLK_D, SEL_DARC_3),
1308 PINMUX_IPSR_GPSR(IP10_20_18, DU1_DB4),
1309 PINMUX_IPSR_MSEL(IP10_20_18, AUDIO_CLKA_C, SEL_ADG_2),
1310 PINMUX_IPSR_MSEL(IP10_20_18, SSI_SCK4_B, SEL_SSI4_1),
1311 PINMUX_IPSR_MSEL(IP10_23_21, SCIF3_TXD, SEL_SCIF3_0),
1312 PINMUX_IPSR_MSEL(IP10_23_21, I2C1_SDA_E, SEL_I2C01_4),
1313 PINMUX_IPSR_MSEL(IP10_23_21, FMIN_D, SEL_DARC_3),
1314 PINMUX_IPSR_GPSR(IP10_23_21, DU1_DB5),
1315 PINMUX_IPSR_MSEL(IP10_23_21, AUDIO_CLKB_C, SEL_ADG_2),
1316 PINMUX_IPSR_MSEL(IP10_23_21, SSI_WS4_B, SEL_SSI4_1),
1317 PINMUX_IPSR_MSEL(IP10_26_24, I2C2_SCL, SEL_I2C02_0),
1318 PINMUX_IPSR_MSEL(IP10_26_24, SCIFA5_RXD, SEL_SCIFA5_0),
1319 PINMUX_IPSR_GPSR(IP10_26_24, DU1_DB6),
1320 PINMUX_IPSR_MSEL(IP10_26_24, AUDIO_CLKC_C, SEL_ADG_2),
1321 PINMUX_IPSR_MSEL(IP10_26_24, SSI_SDATA4_B, SEL_SSI4_1),
1322 PINMUX_IPSR_MSEL(IP10_29_27, I2C2_SDA, SEL_I2C02_0),
1323 PINMUX_IPSR_MSEL(IP10_29_27, SCIFA5_TXD, SEL_SCIFA5_0),
1324 PINMUX_IPSR_GPSR(IP10_29_27, DU1_DB7),
1325 PINMUX_IPSR_MSEL(IP10_29_27, AUDIO_CLKOUT_C, SEL_ADG_2),
1326 PINMUX_IPSR_MSEL(IP10_31_30, SSI_SCK5, SEL_SSI5_0),
1327 PINMUX_IPSR_MSEL(IP10_31_30, SCIFA3_SCK, SEL_SCIFA3_0),
1328 PINMUX_IPSR_GPSR(IP10_31_30, DU1_DOTCLKIN),
1329
1330 /* IPSR11 */
1331 PINMUX_IPSR_MSEL(IP11_2_0, SSI_WS5, SEL_SSI5_0),
1332 PINMUX_IPSR_MSEL(IP11_2_0, SCIFA3_RXD, SEL_SCIFA3_0),
1333 PINMUX_IPSR_MSEL(IP11_2_0, I2C3_SCL_C, SEL_I2C03_2),
1334 PINMUX_IPSR_GPSR(IP11_2_0, DU1_DOTCLKOUT0),
1335 PINMUX_IPSR_MSEL(IP11_5_3, SSI_SDATA5, SEL_SSI5_0),
1336 PINMUX_IPSR_MSEL(IP11_5_3, SCIFA3_TXD, SEL_SCIFA3_0),
1337 PINMUX_IPSR_MSEL(IP11_5_3, I2C3_SDA_C, SEL_I2C03_2),
1338 PINMUX_IPSR_GPSR(IP11_5_3, DU1_DOTCLKOUT1),
1339 PINMUX_IPSR_MSEL(IP11_7_6, SSI_SCK6, SEL_SSI6_0),
1340 PINMUX_IPSR_MSEL(IP11_7_6, SCIFA1_SCK_B, SEL_SCIFA1_1),
1341 PINMUX_IPSR_GPSR(IP11_7_6, DU1_EXHSYNC_DU1_HSYNC),
1342 PINMUX_IPSR_MSEL(IP11_10_8, SSI_WS6, SEL_SSI6_0),
1343 PINMUX_IPSR_MSEL(IP11_10_8, SCIFA1_RXD_B, SEL_SCIFA1_1),
1344 PINMUX_IPSR_MSEL(IP11_10_8, I2C4_SCL_C, SEL_I2C04_2),
1345 PINMUX_IPSR_GPSR(IP11_10_8, DU1_EXVSYNC_DU1_VSYNC),
1346 PINMUX_IPSR_MSEL(IP11_13_11, SSI_SDATA6, SEL_SSI6_0),
1347 PINMUX_IPSR_MSEL(IP11_13_11, SCIFA1_TXD_B, SEL_SCIFA1_1),
1348 PINMUX_IPSR_MSEL(IP11_13_11, I2C4_SDA_C, SEL_I2C04_2),
1349 PINMUX_IPSR_GPSR(IP11_13_11, DU1_EXODDF_DU1_ODDF_DISP_CDE),
1350 PINMUX_IPSR_MSEL(IP11_15_14, SSI_SCK78, SEL_SSI7_0),
1351 PINMUX_IPSR_MSEL(IP11_15_14, SCIFA2_SCK_B, SEL_SCIFA2_1),
1352 PINMUX_IPSR_MSEL(IP11_15_14, I2C5_SDA_C, SEL_I2C05_2),
1353 PINMUX_IPSR_GPSR(IP11_15_14, DU1_DISP),
1354 PINMUX_IPSR_MSEL(IP11_17_16, SSI_WS78, SEL_SSI7_0),
1355 PINMUX_IPSR_MSEL(IP11_17_16, SCIFA2_RXD_B, SEL_SCIFA2_1),
1356 PINMUX_IPSR_MSEL(IP11_17_16, I2C5_SCL_C, SEL_I2C05_2),
1357 PINMUX_IPSR_GPSR(IP11_17_16, DU1_CDE),
1358 PINMUX_IPSR_MSEL(IP11_20_18, SSI_SDATA7, SEL_SSI7_0),
1359 PINMUX_IPSR_MSEL(IP11_20_18, SCIFA2_TXD_B, SEL_SCIFA2_1),
1360 PINMUX_IPSR_GPSR(IP11_20_18, IRQ8),
1361 PINMUX_IPSR_MSEL(IP11_20_18, AUDIO_CLKA_D, SEL_ADG_3),
1362 PINMUX_IPSR_MSEL(IP11_20_18, CAN_CLK_D, SEL_CAN_3),
1363 PINMUX_IPSR_GPSR(IP11_23_21, SSI_SCK0129),
1364 PINMUX_IPSR_MSEL(IP11_23_21, MSIOF1_RXD_B, SEL_MSI1_1),
1365 PINMUX_IPSR_MSEL(IP11_23_21, SCIF5_RXD_D, SEL_SCIF5_3),
1366 PINMUX_IPSR_MSEL(IP11_23_21, ADIDATA_B, SEL_RAD_1),
1367 PINMUX_IPSR_GPSR(IP11_26_24, SSI_WS0129),
1368 PINMUX_IPSR_MSEL(IP11_26_24, MSIOF1_TXD_B, SEL_MSI1_1),
1369 PINMUX_IPSR_MSEL(IP11_26_24, SCIF5_TXD_D, SEL_SCIF5_3),
1370 PINMUX_IPSR_MSEL(IP11_26_24, ADICS_SAMP_B, SEL_RAD_1),
1371 PINMUX_IPSR_GPSR(IP11_29_27, SSI_SDATA0),
1372 PINMUX_IPSR_MSEL(IP11_29_27, MSIOF1_SCK_B, SEL_MSI1_1),
1373 PINMUX_IPSR_GPSR(IP11_29_27, PWM0_B),
1374 PINMUX_IPSR_MSEL(IP11_29_27, ADICLK_B, SEL_RAD_1),
1375
1376 /* IPSR12 */
1377 PINMUX_IPSR_GPSR(IP12_2_0, SSI_SCK34),
1378 PINMUX_IPSR_MSEL(IP12_2_0, MSIOF1_SYNC_B, SEL_MSI1_1),
1379 PINMUX_IPSR_MSEL(IP12_2_0, SCIFA1_SCK_C, SEL_SCIFA1_2),
1380 PINMUX_IPSR_MSEL(IP12_2_0, ADICHS0_B, SEL_RAD_1),
1381 PINMUX_IPSR_MSEL(IP12_2_0, DREQ1_N_B, SEL_LBS_1),
1382 PINMUX_IPSR_GPSR(IP12_5_3, SSI_WS34),
1383 PINMUX_IPSR_MSEL(IP12_5_3, MSIOF1_SS1_B, SEL_MSI1_1),
1384 PINMUX_IPSR_MSEL(IP12_5_3, SCIFA1_RXD_C, SEL_SCIFA1_2),
1385 PINMUX_IPSR_MSEL(IP12_5_3, ADICHS1_B, SEL_RAD_1),
1386 PINMUX_IPSR_MSEL(IP12_5_3, CAN1_RX_C, SEL_CAN1_2),
1387 PINMUX_IPSR_MSEL(IP12_5_3, DACK1_B, SEL_LBS_1),
1388 PINMUX_IPSR_GPSR(IP12_8_6, SSI_SDATA3),
1389 PINMUX_IPSR_MSEL(IP12_8_6, MSIOF1_SS2_B, SEL_MSI1_1),
1390 PINMUX_IPSR_MSEL(IP12_8_6, SCIFA1_TXD_C, SEL_SCIFA1_2),
1391 PINMUX_IPSR_MSEL(IP12_8_6, ADICHS2_B, SEL_RAD_1),
1392 PINMUX_IPSR_MSEL(IP12_8_6, CAN1_TX_C, SEL_CAN1_2),
1393 PINMUX_IPSR_GPSR(IP12_8_6, DREQ2_N),
1394 PINMUX_IPSR_MSEL(IP12_10_9, SSI_SCK4, SEL_SSI4_0),
1395 PINMUX_IPSR_GPSR(IP12_10_9, MLB_CLK),
1396 PINMUX_IPSR_MSEL(IP12_10_9, IETX_B, SEL_IEB_1),
1397 PINMUX_IPSR_MSEL(IP12_12_11, SSI_WS4, SEL_SSI4_0),
1398 PINMUX_IPSR_GPSR(IP12_12_11, MLB_SIG),
1399 PINMUX_IPSR_MSEL(IP12_12_11, IECLK_B, SEL_IEB_1),
1400 PINMUX_IPSR_MSEL(IP12_14_13, SSI_SDATA4, SEL_SSI4_0),
1401 PINMUX_IPSR_GPSR(IP12_14_13, MLB_DAT),
1402 PINMUX_IPSR_MSEL(IP12_14_13, IERX_B, SEL_IEB_1),
1403 PINMUX_IPSR_MSEL(IP12_17_15, SSI_SDATA8, SEL_SSI8_0),
1404 PINMUX_IPSR_MSEL(IP12_17_15, SCIF1_SCK_B, SEL_SCIF1_1),
1405 PINMUX_IPSR_GPSR(IP12_17_15, PWM1_B),
1406 PINMUX_IPSR_GPSR(IP12_17_15, IRQ9),
1407 PINMUX_IPSR_MSEL(IP12_17_15, REMOCON, SEL_RCN_0),
1408 PINMUX_IPSR_GPSR(IP12_17_15, DACK2),
1409 PINMUX_IPSR_MSEL(IP12_17_15, ETH_MDIO_B, SEL_ETH_1),
1410 PINMUX_IPSR_MSEL(IP12_20_18, SSI_SCK1, SEL_SSI1_0),
1411 PINMUX_IPSR_MSEL(IP12_20_18, SCIF1_RXD_B, SEL_SCIF1_1),
1412 PINMUX_IPSR_MSEL(IP12_20_18, IIC0_SCL_C, SEL_IIC0_2),
1413 PINMUX_IPSR_GPSR(IP12_20_18, VI1_CLK),
1414 PINMUX_IPSR_MSEL(IP12_20_18, CAN0_RX_D, SEL_CAN0_3),
1415 PINMUX_IPSR_MSEL(IP12_20_18, ETH_CRS_DV_B, SEL_ETH_1),
1416 PINMUX_IPSR_MSEL(IP12_23_21, SSI_WS1, SEL_SSI1_0),
1417 PINMUX_IPSR_MSEL(IP12_23_21, SCIF1_TXD_B, SEL_SCIF1_1),
1418 PINMUX_IPSR_MSEL(IP12_23_21, IIC0_SDA_C, SEL_IIC0_2),
1419 PINMUX_IPSR_GPSR(IP12_23_21, VI1_DATA0),
1420 PINMUX_IPSR_MSEL(IP12_23_21, CAN0_TX_D, SEL_CAN0_3),
1421 PINMUX_IPSR_MSEL(IP12_23_21, ETH_RX_ER_B, SEL_ETH_1),
1422 PINMUX_IPSR_MSEL(IP12_26_24, SSI_SDATA1, SEL_SSI1_0),
1423 PINMUX_IPSR_MSEL(IP12_26_24, HSCIF1_HRX_B, SEL_HSCIF1_1),
1424 PINMUX_IPSR_GPSR(IP12_26_24, VI1_DATA1),
1425 PINMUX_IPSR_GPSR(IP12_26_24, ATAWR0_N),
1426 PINMUX_IPSR_MSEL(IP12_26_24, ETH_RXD0_B, SEL_ETH_1),
1427 PINMUX_IPSR_MSEL(IP12_29_27, SSI_SCK2, SEL_SSI2_0),
1428 PINMUX_IPSR_MSEL(IP12_29_27, HSCIF1_HTX_B, SEL_HSCIF1_1),
1429 PINMUX_IPSR_GPSR(IP12_29_27, VI1_DATA2),
1430 PINMUX_IPSR_GPSR(IP12_29_27, ATAG0_N),
1431 PINMUX_IPSR_MSEL(IP12_29_27, ETH_RXD1_B, SEL_ETH_1),
1432
1433 /* IPSR13 */
1434 PINMUX_IPSR_MSEL(IP13_2_0, SSI_WS2, SEL_SSI2_0),
1435 PINMUX_IPSR_MSEL(IP13_2_0, HSCIF1_HCTS_N_B, SEL_HSCIF1_1),
1436 PINMUX_IPSR_MSEL(IP13_2_0, SCIFA0_RXD_D, SEL_SCIFA0_3),
1437 PINMUX_IPSR_GPSR(IP13_2_0, VI1_DATA3),
1438 PINMUX_IPSR_GPSR(IP13_2_0, ATACS00_N),
1439 PINMUX_IPSR_MSEL(IP13_2_0, ETH_LINK_B, SEL_ETH_1),
1440 PINMUX_IPSR_MSEL(IP13_5_3, SSI_SDATA2, SEL_SSI2_0),
1441 PINMUX_IPSR_MSEL(IP13_5_3, HSCIF1_HRTS_N_B, SEL_HSCIF1_1),
1442 PINMUX_IPSR_MSEL(IP13_5_3, SCIFA0_TXD_D, SEL_SCIFA0_3),
1443 PINMUX_IPSR_GPSR(IP13_5_3, VI1_DATA4),
1444 PINMUX_IPSR_GPSR(IP13_5_3, ATACS10_N),
1445 PINMUX_IPSR_MSEL(IP13_5_3, ETH_REFCLK_B, SEL_ETH_1),
1446 PINMUX_IPSR_MSEL(IP13_8_6, SSI_SCK9, SEL_SSI9_0),
1447 PINMUX_IPSR_MSEL(IP13_8_6, SCIF2_SCK_B, SEL_SCIF2_1),
1448 PINMUX_IPSR_GPSR(IP13_8_6, PWM2_B),
1449 PINMUX_IPSR_GPSR(IP13_8_6, VI1_DATA5),
1450 PINMUX_IPSR_GPSR(IP13_8_6, EX_WAIT1),
1451 PINMUX_IPSR_MSEL(IP13_8_6, ETH_TXD1_B, SEL_ETH_1),
1452 PINMUX_IPSR_MSEL(IP13_11_9, SSI_WS9, SEL_SSI9_0),
1453 PINMUX_IPSR_MSEL(IP13_11_9, SCIF2_RXD_B, SEL_SCIF2_1),
1454 PINMUX_IPSR_MSEL(IP13_11_9, I2C3_SCL_E, SEL_I2C03_4),
1455 PINMUX_IPSR_GPSR(IP13_11_9, VI1_DATA6),
1456 PINMUX_IPSR_GPSR(IP13_11_9, ATARD0_N),
1457 PINMUX_IPSR_MSEL(IP13_11_9, ETH_TX_EN_B, SEL_ETH_1),
1458 PINMUX_IPSR_MSEL(IP13_14_12, SSI_SDATA9, SEL_SSI9_0),
1459 PINMUX_IPSR_MSEL(IP13_14_12, SCIF2_TXD_B, SEL_SCIF2_1),
1460 PINMUX_IPSR_MSEL(IP13_14_12, I2C3_SDA_E, SEL_I2C03_4),
1461 PINMUX_IPSR_GPSR(IP13_14_12, VI1_DATA7),
1462 PINMUX_IPSR_GPSR(IP13_14_12, ATADIR0_N),
1463 PINMUX_IPSR_MSEL(IP13_14_12, ETH_MAGIC_B, SEL_ETH_1),
1464 PINMUX_IPSR_MSEL(IP13_17_15, AUDIO_CLKA, SEL_ADG_0),
1465 PINMUX_IPSR_MSEL(IP13_17_15, I2C0_SCL_B, SEL_I2C00_1),
1466 PINMUX_IPSR_MSEL(IP13_17_15, SCIFA4_RXD_D, SEL_SCIFA4_3),
1467 PINMUX_IPSR_GPSR(IP13_17_15, VI1_CLKENB),
1468 PINMUX_IPSR_MSEL(IP13_17_15, TS_SDATA_C, SEL_TSIF0_2),
1469 PINMUX_IPSR_MSEL(IP13_17_15, ETH_TXD0_B, SEL_ETH_1),
1470 PINMUX_IPSR_MSEL(IP13_20_18, AUDIO_CLKB, SEL_ADG_0),
1471 PINMUX_IPSR_MSEL(IP13_20_18, I2C0_SDA_B, SEL_I2C00_1),
1472 PINMUX_IPSR_MSEL(IP13_20_18, SCIFA4_TXD_D, SEL_SCIFA4_3),
1473 PINMUX_IPSR_GPSR(IP13_20_18, VI1_FIELD),
1474 PINMUX_IPSR_MSEL(IP13_20_18, TS_SCK_C, SEL_TSIF0_2),
1475 PINMUX_IPSR_MSEL(IP13_20_18, BPFCLK_E, SEL_DARC_4),
1476 PINMUX_IPSR_MSEL(IP13_20_18, ETH_MDC_B, SEL_ETH_1),
1477 PINMUX_IPSR_MSEL(IP13_23_21, AUDIO_CLKC, SEL_ADG_0),
1478 PINMUX_IPSR_MSEL(IP13_23_21, I2C4_SCL_B, SEL_I2C04_1),
1479 PINMUX_IPSR_MSEL(IP13_23_21, SCIFA5_RXD_D, SEL_SCIFA5_3),
1480 PINMUX_IPSR_GPSR(IP13_23_21, VI1_HSYNC_N),
1481 PINMUX_IPSR_MSEL(IP13_23_21, TS_SDEN_C, SEL_TSIF0_2),
1482 PINMUX_IPSR_MSEL(IP13_23_21, FMCLK_E, SEL_DARC_4),
1483 PINMUX_IPSR_MSEL(IP13_26_24, AUDIO_CLKOUT, SEL_ADG_0),
1484 PINMUX_IPSR_MSEL(IP13_26_24, I2C4_SDA_B, SEL_I2C04_1),
1485 PINMUX_IPSR_MSEL(IP13_26_24, SCIFA5_TXD_D, SEL_SCIFA5_3),
1486 PINMUX_IPSR_GPSR(IP13_26_24, VI1_VSYNC_N),
1487 PINMUX_IPSR_MSEL(IP13_26_24, TS_SPSYNC_C, SEL_TSIF0_2),
1488 PINMUX_IPSR_MSEL(IP13_26_24, FMIN_E, SEL_DARC_4),
1489};
1490
Marek Vasutf46776c2023-01-26 21:01:39 +01001491/*
1492 * Pins not associated with a GPIO port.
1493 */
1494enum {
1495 GP_ASSIGN_LAST(),
1496 NOGP_ALL(),
1497};
1498
Marek Vasut34e93602018-01-17 22:33:59 +01001499static const struct sh_pfc_pin pinmux_pins[] = {
1500 PINMUX_GPIO_GP_ALL(),
Marek Vasutf46776c2023-01-26 21:01:39 +01001501 PINMUX_NOGP_ALL(),
Marek Vasut34e93602018-01-17 22:33:59 +01001502};
1503
1504/* - Audio Clock ------------------------------------------------------------ */
1505static const unsigned int audio_clka_pins[] = {
1506 /* CLKA */
1507 RCAR_GP_PIN(5, 20),
1508};
1509static const unsigned int audio_clka_mux[] = {
1510 AUDIO_CLKA_MARK,
1511};
1512static const unsigned int audio_clka_b_pins[] = {
1513 /* CLKA */
1514 RCAR_GP_PIN(3, 25),
1515};
1516static const unsigned int audio_clka_b_mux[] = {
1517 AUDIO_CLKA_B_MARK,
1518};
1519static const unsigned int audio_clka_c_pins[] = {
1520 /* CLKA */
1521 RCAR_GP_PIN(4, 20),
1522};
1523static const unsigned int audio_clka_c_mux[] = {
1524 AUDIO_CLKA_C_MARK,
1525};
1526static const unsigned int audio_clka_d_pins[] = {
1527 /* CLKA */
1528 RCAR_GP_PIN(5, 0),
1529};
1530static const unsigned int audio_clka_d_mux[] = {
1531 AUDIO_CLKA_D_MARK,
1532};
1533static const unsigned int audio_clkb_pins[] = {
1534 /* CLKB */
1535 RCAR_GP_PIN(5, 21),
1536};
1537static const unsigned int audio_clkb_mux[] = {
1538 AUDIO_CLKB_MARK,
1539};
1540static const unsigned int audio_clkb_b_pins[] = {
1541 /* CLKB */
1542 RCAR_GP_PIN(3, 26),
1543};
1544static const unsigned int audio_clkb_b_mux[] = {
1545 AUDIO_CLKB_B_MARK,
1546};
1547static const unsigned int audio_clkb_c_pins[] = {
1548 /* CLKB */
1549 RCAR_GP_PIN(4, 21),
1550};
1551static const unsigned int audio_clkb_c_mux[] = {
1552 AUDIO_CLKB_C_MARK,
1553};
1554static const unsigned int audio_clkc_pins[] = {
1555 /* CLKC */
1556 RCAR_GP_PIN(5, 22),
1557};
1558static const unsigned int audio_clkc_mux[] = {
1559 AUDIO_CLKC_MARK,
1560};
1561static const unsigned int audio_clkc_b_pins[] = {
1562 /* CLKC */
1563 RCAR_GP_PIN(3, 29),
1564};
1565static const unsigned int audio_clkc_b_mux[] = {
1566 AUDIO_CLKC_B_MARK,
1567};
1568static const unsigned int audio_clkc_c_pins[] = {
1569 /* CLKC */
1570 RCAR_GP_PIN(4, 22),
1571};
1572static const unsigned int audio_clkc_c_mux[] = {
1573 AUDIO_CLKC_C_MARK,
1574};
1575static const unsigned int audio_clkout_pins[] = {
1576 /* CLKOUT */
1577 RCAR_GP_PIN(5, 23),
1578};
1579static const unsigned int audio_clkout_mux[] = {
1580 AUDIO_CLKOUT_MARK,
1581};
1582static const unsigned int audio_clkout_b_pins[] = {
1583 /* CLKOUT */
1584 RCAR_GP_PIN(3, 12),
1585};
1586static const unsigned int audio_clkout_b_mux[] = {
1587 AUDIO_CLKOUT_B_MARK,
1588};
1589static const unsigned int audio_clkout_c_pins[] = {
1590 /* CLKOUT */
1591 RCAR_GP_PIN(4, 23),
1592};
1593static const unsigned int audio_clkout_c_mux[] = {
1594 AUDIO_CLKOUT_C_MARK,
1595};
1596/* - AVB -------------------------------------------------------------------- */
1597static const unsigned int avb_link_pins[] = {
1598 RCAR_GP_PIN(3, 26),
1599};
1600static const unsigned int avb_link_mux[] = {
1601 AVB_LINK_MARK,
1602};
1603static const unsigned int avb_magic_pins[] = {
1604 RCAR_GP_PIN(3, 27),
1605};
1606static const unsigned int avb_magic_mux[] = {
1607 AVB_MAGIC_MARK,
1608};
1609static const unsigned int avb_phy_int_pins[] = {
1610 RCAR_GP_PIN(3, 28),
1611};
1612static const unsigned int avb_phy_int_mux[] = {
1613 AVB_PHY_INT_MARK,
1614};
1615static const unsigned int avb_mdio_pins[] = {
1616 RCAR_GP_PIN(3, 24), RCAR_GP_PIN(3, 25),
1617};
1618static const unsigned int avb_mdio_mux[] = {
1619 AVB_MDC_MARK, AVB_MDIO_MARK,
1620};
1621static const unsigned int avb_mii_pins[] = {
1622 RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
1623 RCAR_GP_PIN(3, 17),
1624
1625 RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), RCAR_GP_PIN(3, 4),
1626 RCAR_GP_PIN(3, 5),
1627
1628 RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 1),
1629 RCAR_GP_PIN(3, 29), RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 22),
1630 RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 11),
1631};
1632static const unsigned int avb_mii_mux[] = {
1633 AVB_TXD0_MARK, AVB_TXD1_MARK, AVB_TXD2_MARK,
1634 AVB_TXD3_MARK,
1635
1636 AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK,
1637 AVB_RXD3_MARK,
1638
1639 AVB_RX_ER_MARK, AVB_RX_CLK_MARK, AVB_RX_DV_MARK,
1640 AVB_CRS_MARK, AVB_TX_EN_MARK, AVB_TX_ER_MARK,
1641 AVB_TX_CLK_MARK, AVB_COL_MARK,
1642};
1643static const unsigned int avb_gmii_pins[] = {
1644 RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
1645 RCAR_GP_PIN(3, 17), RCAR_GP_PIN(3, 18), RCAR_GP_PIN(3, 19),
1646 RCAR_GP_PIN(3, 20), RCAR_GP_PIN(3, 21),
1647
1648 RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), RCAR_GP_PIN(3, 4),
1649 RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
1650 RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
1651
1652 RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 1),
1653 RCAR_GP_PIN(3, 29), RCAR_GP_PIN(3, 23), RCAR_GP_PIN(3, 30),
1654 RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 22), RCAR_GP_PIN(3, 13),
1655 RCAR_GP_PIN(3, 11),
1656};
1657static const unsigned int avb_gmii_mux[] = {
1658 AVB_TXD0_MARK, AVB_TXD1_MARK, AVB_TXD2_MARK,
1659 AVB_TXD3_MARK, AVB_TXD4_MARK, AVB_TXD5_MARK,
1660 AVB_TXD6_MARK, AVB_TXD7_MARK,
1661
1662 AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK,
1663 AVB_RXD3_MARK, AVB_RXD4_MARK, AVB_RXD5_MARK,
1664 AVB_RXD6_MARK, AVB_RXD7_MARK,
1665
1666 AVB_RX_ER_MARK, AVB_RX_CLK_MARK, AVB_RX_DV_MARK,
1667 AVB_CRS_MARK, AVB_GTX_CLK_MARK, AVB_GTXREFCLK_MARK,
1668 AVB_TX_EN_MARK, AVB_TX_ER_MARK, AVB_TX_CLK_MARK,
1669 AVB_COL_MARK,
1670};
Marek Vasut2e975d82018-06-10 16:05:18 +02001671
1672/* - CAN -------------------------------------------------------------------- */
1673static const unsigned int can0_data_pins[] = {
1674 /* TX, RX */
1675 RCAR_GP_PIN(6, 15), RCAR_GP_PIN(6, 14),
1676};
1677
1678static const unsigned int can0_data_mux[] = {
1679 CAN0_TX_MARK, CAN0_RX_MARK,
1680};
1681
1682static const unsigned int can0_data_b_pins[] = {
1683 /* TX, RX */
1684 RCAR_GP_PIN(3, 16), RCAR_GP_PIN(3, 15),
1685};
1686
1687static const unsigned int can0_data_b_mux[] = {
1688 CAN0_TX_B_MARK, CAN0_RX_B_MARK,
1689};
1690
1691static const unsigned int can0_data_c_pins[] = {
1692 /* TX, RX */
1693 RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 16),
1694};
1695
1696static const unsigned int can0_data_c_mux[] = {
1697 CAN0_TX_C_MARK, CAN0_RX_C_MARK,
1698};
1699
1700static const unsigned int can0_data_d_pins[] = {
1701 /* TX, RX */
1702 RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 11),
1703};
1704
1705static const unsigned int can0_data_d_mux[] = {
1706 CAN0_TX_D_MARK, CAN0_RX_D_MARK,
1707};
1708
1709static const unsigned int can1_data_pins[] = {
1710 /* TX, RX */
1711 RCAR_GP_PIN(6, 25), RCAR_GP_PIN(6, 24),
1712};
1713
1714static const unsigned int can1_data_mux[] = {
1715 CAN1_TX_MARK, CAN1_RX_MARK,
1716};
1717
1718static const unsigned int can1_data_b_pins[] = {
1719 /* TX, RX */
1720 RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 1),
1721};
1722
1723static const unsigned int can1_data_b_mux[] = {
1724 CAN1_TX_B_MARK, CAN1_RX_B_MARK,
1725};
1726
1727static const unsigned int can1_data_c_pins[] = {
1728 /* TX, RX */
1729 RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 5),
1730};
1731
1732static const unsigned int can1_data_c_mux[] = {
1733 CAN1_TX_C_MARK, CAN1_RX_C_MARK,
1734};
1735
1736static const unsigned int can1_data_d_pins[] = {
1737 /* TX, RX */
1738 RCAR_GP_PIN(3, 31), RCAR_GP_PIN(3, 30),
1739};
1740
1741static const unsigned int can1_data_d_mux[] = {
1742 CAN1_TX_D_MARK, CAN1_RX_D_MARK,
1743};
1744
1745static const unsigned int can_clk_pins[] = {
1746 /* CLK */
1747 RCAR_GP_PIN(3, 31),
1748};
1749
1750static const unsigned int can_clk_mux[] = {
1751 CAN_CLK_MARK,
1752};
1753
1754static const unsigned int can_clk_b_pins[] = {
1755 /* CLK */
1756 RCAR_GP_PIN(1, 23),
1757};
1758
1759static const unsigned int can_clk_b_mux[] = {
1760 CAN_CLK_B_MARK,
1761};
1762
1763static const unsigned int can_clk_c_pins[] = {
1764 /* CLK */
1765 RCAR_GP_PIN(1, 0),
1766};
1767
1768static const unsigned int can_clk_c_mux[] = {
1769 CAN_CLK_C_MARK,
1770};
1771
1772static const unsigned int can_clk_d_pins[] = {
1773 /* CLK */
1774 RCAR_GP_PIN(5, 0),
1775};
1776
1777static const unsigned int can_clk_d_mux[] = {
1778 CAN_CLK_D_MARK,
1779};
1780
Marek Vasut34e93602018-01-17 22:33:59 +01001781/* - DU --------------------------------------------------------------------- */
1782static const unsigned int du0_rgb666_pins[] = {
1783 /* R[7:2], G[7:2], B[7:2] */
1784 RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 5),
1785 RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 2),
1786 RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13),
1787 RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10),
1788 RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 22), RCAR_GP_PIN(2, 21),
1789 RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 18),
1790};
1791static const unsigned int du0_rgb666_mux[] = {
1792 DU0_DR7_MARK, DU0_DR6_MARK, DU0_DR5_MARK, DU0_DR4_MARK,
1793 DU0_DR3_MARK, DU0_DR2_MARK,
1794 DU0_DG7_MARK, DU0_DG6_MARK, DU0_DG5_MARK, DU0_DG4_MARK,
1795 DU0_DG3_MARK, DU0_DG2_MARK,
1796 DU0_DB7_MARK, DU0_DB6_MARK, DU0_DB5_MARK, DU0_DB4_MARK,
1797 DU0_DB3_MARK, DU0_DB2_MARK,
1798};
1799static const unsigned int du0_rgb888_pins[] = {
1800 /* R[7:0], G[7:0], B[7:0] */
1801 RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 5),
1802 RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 2),
1803 RCAR_GP_PIN(2, 1), RCAR_GP_PIN(2, 0),
1804 RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13),
1805 RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10),
1806 RCAR_GP_PIN(2, 9), RCAR_GP_PIN(2, 8),
1807 RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 22), RCAR_GP_PIN(2, 21),
1808 RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 18),
1809 RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 16),
1810};
1811static const unsigned int du0_rgb888_mux[] = {
1812 DU0_DR7_MARK, DU0_DR6_MARK, DU0_DR5_MARK, DU0_DR4_MARK,
1813 DU0_DR3_MARK, DU0_DR2_MARK, DU0_DR1_MARK, DU0_DR0_MARK,
1814 DU0_DG7_MARK, DU0_DG6_MARK, DU0_DG5_MARK, DU0_DG4_MARK,
1815 DU0_DG3_MARK, DU0_DG2_MARK, DU0_DG1_MARK, DU0_DG0_MARK,
1816 DU0_DB7_MARK, DU0_DB6_MARK, DU0_DB5_MARK, DU0_DB4_MARK,
1817 DU0_DB3_MARK, DU0_DB2_MARK, DU0_DB1_MARK, DU0_DB0_MARK,
1818};
1819static const unsigned int du0_clk0_out_pins[] = {
1820 /* DOTCLKOUT0 */
1821 RCAR_GP_PIN(2, 25),
1822};
1823static const unsigned int du0_clk0_out_mux[] = {
1824 DU0_DOTCLKOUT0_MARK
1825};
1826static const unsigned int du0_clk1_out_pins[] = {
1827 /* DOTCLKOUT1 */
1828 RCAR_GP_PIN(2, 26),
1829};
1830static const unsigned int du0_clk1_out_mux[] = {
1831 DU0_DOTCLKOUT1_MARK
1832};
1833static const unsigned int du0_clk_in_pins[] = {
1834 /* CLKIN */
1835 RCAR_GP_PIN(2, 24),
1836};
1837static const unsigned int du0_clk_in_mux[] = {
1838 DU0_DOTCLKIN_MARK
1839};
1840static const unsigned int du0_sync_pins[] = {
1841 /* EXVSYNC/VSYNC, EXHSYNC/HSYNC */
1842 RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 27),
1843};
1844static const unsigned int du0_sync_mux[] = {
1845 DU0_EXVSYNC_DU0_VSYNC_MARK, DU0_EXHSYNC_DU0_HSYNC_MARK
1846};
1847static const unsigned int du0_oddf_pins[] = {
1848 /* EXODDF/ODDF/DISP/CDE */
1849 RCAR_GP_PIN(2, 29),
1850};
1851static const unsigned int du0_oddf_mux[] = {
1852 DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK,
1853};
1854static const unsigned int du0_cde_pins[] = {
1855 /* CDE */
1856 RCAR_GP_PIN(2, 31),
1857};
1858static const unsigned int du0_cde_mux[] = {
1859 DU0_CDE_MARK,
1860};
1861static const unsigned int du0_disp_pins[] = {
1862 /* DISP */
1863 RCAR_GP_PIN(2, 30),
1864};
1865static const unsigned int du0_disp_mux[] = {
1866 DU0_DISP_MARK
1867};
1868static const unsigned int du1_rgb666_pins[] = {
1869 /* R[7:2], G[7:2], B[7:2] */
1870 RCAR_GP_PIN(4, 7), RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 5),
1871 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 2),
1872 RCAR_GP_PIN(4, 15), RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 13),
1873 RCAR_GP_PIN(4, 12), RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 10),
1874 RCAR_GP_PIN(4, 23), RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 21),
1875 RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 19), RCAR_GP_PIN(4, 18),
1876};
1877static const unsigned int du1_rgb666_mux[] = {
1878 DU1_DR7_MARK, DU1_DR6_MARK, DU1_DR5_MARK, DU1_DR4_MARK,
1879 DU1_DR3_MARK, DU1_DR2_MARK,
1880 DU1_DG7_MARK, DU1_DG6_MARK, DU1_DG5_MARK, DU1_DG4_MARK,
1881 DU1_DG3_MARK, DU1_DG2_MARK,
1882 DU1_DB7_MARK, DU1_DB6_MARK, DU1_DB5_MARK, DU1_DB4_MARK,
1883 DU1_DB3_MARK, DU1_DB2_MARK,
1884};
1885static const unsigned int du1_rgb888_pins[] = {
1886 /* R[7:0], G[7:0], B[7:0] */
1887 RCAR_GP_PIN(4, 7), RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 5),
1888 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 2),
1889 RCAR_GP_PIN(4, 1), RCAR_GP_PIN(4, 0),
1890 RCAR_GP_PIN(4, 15), RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 13),
1891 RCAR_GP_PIN(4, 12), RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 10),
1892 RCAR_GP_PIN(4, 9), RCAR_GP_PIN(4, 8),
1893 RCAR_GP_PIN(4, 23), RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 21),
1894 RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 19), RCAR_GP_PIN(4, 18),
1895 RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 16),
1896};
1897static const unsigned int du1_rgb888_mux[] = {
1898 DU1_DR7_MARK, DU1_DR6_MARK, DU1_DR5_MARK, DU1_DR4_MARK,
1899 DU1_DR3_MARK, DU1_DR2_MARK, DU1_DR1_MARK, DU1_DR0_MARK,
1900 DU1_DG7_MARK, DU1_DG6_MARK, DU1_DG5_MARK, DU1_DG4_MARK,
1901 DU1_DG3_MARK, DU1_DG2_MARK, DU1_DG1_MARK, DU1_DG0_MARK,
1902 DU1_DB7_MARK, DU1_DB6_MARK, DU1_DB5_MARK, DU1_DB4_MARK,
1903 DU1_DB3_MARK, DU1_DB2_MARK, DU1_DB1_MARK, DU1_DB0_MARK,
1904};
1905static const unsigned int du1_clk0_out_pins[] = {
1906 /* DOTCLKOUT0 */
1907 RCAR_GP_PIN(4, 25),
1908};
1909static const unsigned int du1_clk0_out_mux[] = {
1910 DU1_DOTCLKOUT0_MARK
1911};
1912static const unsigned int du1_clk1_out_pins[] = {
1913 /* DOTCLKOUT1 */
1914 RCAR_GP_PIN(4, 26),
1915};
1916static const unsigned int du1_clk1_out_mux[] = {
1917 DU1_DOTCLKOUT1_MARK
1918};
1919static const unsigned int du1_clk_in_pins[] = {
1920 /* DOTCLKIN */
1921 RCAR_GP_PIN(4, 24),
1922};
1923static const unsigned int du1_clk_in_mux[] = {
1924 DU1_DOTCLKIN_MARK
1925};
1926static const unsigned int du1_sync_pins[] = {
1927 /* EXVSYNC/VSYNC, EXHSYNC/HSYNC */
1928 RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 27),
1929};
1930static const unsigned int du1_sync_mux[] = {
1931 DU1_EXVSYNC_DU1_VSYNC_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK
1932};
1933static const unsigned int du1_oddf_pins[] = {
1934 /* EXODDF/ODDF/DISP/CDE */
1935 RCAR_GP_PIN(4, 29),
1936};
1937static const unsigned int du1_oddf_mux[] = {
1938 DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK,
1939};
1940static const unsigned int du1_cde_pins[] = {
1941 /* CDE */
1942 RCAR_GP_PIN(4, 31),
1943};
1944static const unsigned int du1_cde_mux[] = {
1945 DU1_CDE_MARK
1946};
1947static const unsigned int du1_disp_pins[] = {
1948 /* DISP */
1949 RCAR_GP_PIN(4, 30),
1950};
1951static const unsigned int du1_disp_mux[] = {
1952 DU1_DISP_MARK
1953};
1954/* - ETH -------------------------------------------------------------------- */
1955static const unsigned int eth_link_pins[] = {
1956 /* LINK */
1957 RCAR_GP_PIN(3, 18),
1958};
1959static const unsigned int eth_link_mux[] = {
1960 ETH_LINK_MARK,
1961};
1962static const unsigned int eth_magic_pins[] = {
1963 /* MAGIC */
1964 RCAR_GP_PIN(3, 22),
1965};
1966static const unsigned int eth_magic_mux[] = {
1967 ETH_MAGIC_MARK,
1968};
1969static const unsigned int eth_mdio_pins[] = {
1970 /* MDC, MDIO */
1971 RCAR_GP_PIN(3, 24), RCAR_GP_PIN(3, 13),
1972};
1973static const unsigned int eth_mdio_mux[] = {
1974 ETH_MDC_MARK, ETH_MDIO_MARK,
1975};
1976static const unsigned int eth_rmii_pins[] = {
1977 /* RXD[0:1], RX_ER, CRS_DV, TXD[0:1], TX_EN, REF_CLK */
1978 RCAR_GP_PIN(3, 16), RCAR_GP_PIN(3, 17), RCAR_GP_PIN(3, 15),
1979 RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 23), RCAR_GP_PIN(3, 20),
1980 RCAR_GP_PIN(3, 21), RCAR_GP_PIN(3, 19),
1981};
1982static const unsigned int eth_rmii_mux[] = {
1983 ETH_RXD0_MARK, ETH_RXD1_MARK, ETH_RX_ER_MARK, ETH_CRS_DV_MARK,
1984 ETH_TXD0_MARK, ETH_TXD1_MARK, ETH_TX_EN_MARK, ETH_REFCLK_MARK,
1985};
1986static const unsigned int eth_link_b_pins[] = {
1987 /* LINK */
1988 RCAR_GP_PIN(5, 15),
1989};
1990static const unsigned int eth_link_b_mux[] = {
1991 ETH_LINK_B_MARK,
1992};
1993static const unsigned int eth_magic_b_pins[] = {
1994 /* MAGIC */
1995 RCAR_GP_PIN(5, 19),
1996};
1997static const unsigned int eth_magic_b_mux[] = {
1998 ETH_MAGIC_B_MARK,
1999};
2000static const unsigned int eth_mdio_b_pins[] = {
2001 /* MDC, MDIO */
2002 RCAR_GP_PIN(5, 21), RCAR_GP_PIN(5, 10),
2003};
2004static const unsigned int eth_mdio_b_mux[] = {
2005 ETH_MDC_B_MARK, ETH_MDIO_B_MARK,
2006};
2007static const unsigned int eth_rmii_b_pins[] = {
2008 /* RXD[0:1], RX_ER, CRS_DV, TXD[0:1], TX_EN, REF_CLK */
2009 RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 12),
2010 RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 20), RCAR_GP_PIN(5, 17),
2011 RCAR_GP_PIN(5, 18), RCAR_GP_PIN(5, 16),
2012};
2013static const unsigned int eth_rmii_b_mux[] = {
2014 ETH_RXD0_B_MARK, ETH_RXD1_B_MARK, ETH_RX_ER_B_MARK, ETH_CRS_DV_B_MARK,
2015 ETH_TXD0_B_MARK, ETH_TXD1_B_MARK, ETH_TX_EN_B_MARK, ETH_REFCLK_B_MARK,
2016};
2017/* - HSCIF0 ----------------------------------------------------------------- */
2018static const unsigned int hscif0_data_pins[] = {
2019 /* RX, TX */
2020 RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 26),
2021};
2022static const unsigned int hscif0_data_mux[] = {
2023 HSCIF0_HRX_MARK, HSCIF0_HTX_MARK,
2024};
2025static const unsigned int hscif0_clk_pins[] = {
2026 /* SCK */
2027 RCAR_GP_PIN(3, 29),
2028};
2029static const unsigned int hscif0_clk_mux[] = {
2030 HSCIF0_HSCK_MARK,
2031};
2032static const unsigned int hscif0_ctrl_pins[] = {
2033 /* RTS, CTS */
2034 RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 27),
2035};
2036static const unsigned int hscif0_ctrl_mux[] = {
2037 HSCIF0_HRTS_N_MARK, HSCIF0_HCTS_N_MARK,
2038};
2039static const unsigned int hscif0_data_b_pins[] = {
2040 /* RX, TX */
2041 RCAR_GP_PIN(0, 30), RCAR_GP_PIN(0, 31),
2042};
2043static const unsigned int hscif0_data_b_mux[] = {
2044 HSCIF0_HRX_B_MARK, HSCIF0_HTX_B_MARK,
2045};
2046static const unsigned int hscif0_clk_b_pins[] = {
2047 /* SCK */
2048 RCAR_GP_PIN(1, 0),
2049};
2050static const unsigned int hscif0_clk_b_mux[] = {
2051 HSCIF0_HSCK_B_MARK,
2052};
2053/* - HSCIF1 ----------------------------------------------------------------- */
2054static const unsigned int hscif1_data_pins[] = {
2055 /* RX, TX */
2056 RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9),
2057};
2058static const unsigned int hscif1_data_mux[] = {
2059 HSCIF1_HRX_MARK, HSCIF1_HTX_MARK,
2060};
2061static const unsigned int hscif1_clk_pins[] = {
2062 /* SCK */
2063 RCAR_GP_PIN(4, 10),
2064};
2065static const unsigned int hscif1_clk_mux[] = {
2066 HSCIF1_HSCK_MARK,
2067};
2068static const unsigned int hscif1_ctrl_pins[] = {
2069 /* RTS, CTS */
2070 RCAR_GP_PIN(4, 12), RCAR_GP_PIN(4, 11),
2071};
2072static const unsigned int hscif1_ctrl_mux[] = {
2073 HSCIF1_HRTS_N_MARK, HSCIF1_HCTS_N_MARK,
2074};
2075static const unsigned int hscif1_data_b_pins[] = {
2076 /* RX, TX */
2077 RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14),
2078};
2079static const unsigned int hscif1_data_b_mux[] = {
2080 HSCIF1_HRX_B_MARK, HSCIF1_HTX_B_MARK,
2081};
2082static const unsigned int hscif1_ctrl_b_pins[] = {
2083 /* RTS, CTS */
2084 RCAR_GP_PIN(5, 16), RCAR_GP_PIN(5, 15),
2085};
2086static const unsigned int hscif1_ctrl_b_mux[] = {
2087 HSCIF1_HRTS_N_B_MARK, HSCIF1_HCTS_N_B_MARK,
2088};
2089/* - HSCIF2 ----------------------------------------------------------------- */
2090static const unsigned int hscif2_data_pins[] = {
2091 /* RX, TX */
2092 RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 9),
2093};
2094static const unsigned int hscif2_data_mux[] = {
2095 HSCIF2_HRX_MARK, HSCIF2_HTX_MARK,
2096};
2097static const unsigned int hscif2_clk_pins[] = {
2098 /* SCK */
2099 RCAR_GP_PIN(0, 10),
2100};
2101static const unsigned int hscif2_clk_mux[] = {
2102 HSCIF2_HSCK_MARK,
2103};
2104static const unsigned int hscif2_ctrl_pins[] = {
2105 /* RTS, CTS */
2106 RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 11),
2107};
2108static const unsigned int hscif2_ctrl_mux[] = {
2109 HSCIF2_HRTS_N_MARK, HSCIF2_HCTS_N_MARK,
2110};
2111/* - I2C0 ------------------------------------------------------------------- */
2112static const unsigned int i2c0_pins[] = {
2113 /* SCL, SDA */
2114 RCAR_GP_PIN(3, 30), RCAR_GP_PIN(3, 31),
2115};
2116static const unsigned int i2c0_mux[] = {
2117 I2C0_SCL_MARK, I2C0_SDA_MARK,
2118};
2119static const unsigned int i2c0_b_pins[] = {
2120 /* SCL, SDA */
2121 RCAR_GP_PIN(5, 20), RCAR_GP_PIN(5, 21),
2122};
2123static const unsigned int i2c0_b_mux[] = {
2124 I2C0_SCL_B_MARK, I2C0_SDA_B_MARK,
2125};
2126static const unsigned int i2c0_c_pins[] = {
2127 /* SCL, SDA */
2128 RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12),
2129};
2130static const unsigned int i2c0_c_mux[] = {
2131 I2C0_SCL_C_MARK, I2C0_SDA_C_MARK,
2132};
2133static const unsigned int i2c0_d_pins[] = {
2134 /* SCL, SDA */
2135 RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6),
2136};
2137static const unsigned int i2c0_d_mux[] = {
2138 I2C0_SCL_D_MARK, I2C0_SDA_D_MARK,
2139};
2140static const unsigned int i2c0_e_pins[] = {
2141 /* SCL, SDA */
2142 RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28),
2143};
2144static const unsigned int i2c0_e_mux[] = {
2145 I2C0_SCL_E_MARK, I2C0_SDA_E_MARK,
2146};
2147/* - I2C1 ------------------------------------------------------------------- */
2148static const unsigned int i2c1_pins[] = {
2149 /* SCL, SDA */
2150 RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1),
2151};
2152static const unsigned int i2c1_mux[] = {
2153 I2C1_SCL_MARK, I2C1_SDA_MARK,
2154};
2155static const unsigned int i2c1_b_pins[] = {
2156 /* SCL, SDA */
2157 RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 9),
2158};
2159static const unsigned int i2c1_b_mux[] = {
2160 I2C1_SCL_B_MARK, I2C1_SDA_B_MARK,
2161};
2162static const unsigned int i2c1_c_pins[] = {
2163 /* SCL, SDA */
2164 RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 26),
2165};
2166static const unsigned int i2c1_c_mux[] = {
2167 I2C1_SCL_C_MARK, I2C1_SDA_C_MARK,
2168};
2169static const unsigned int i2c1_d_pins[] = {
2170 /* SCL, SDA */
2171 RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 12),
2172};
2173static const unsigned int i2c1_d_mux[] = {
2174 I2C1_SCL_D_MARK, I2C1_SDA_D_MARK,
2175};
2176static const unsigned int i2c1_e_pins[] = {
2177 /* SCL, SDA */
2178 RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 21),
2179};
2180static const unsigned int i2c1_e_mux[] = {
2181 I2C1_SCL_E_MARK, I2C1_SDA_E_MARK,
2182};
2183/* - I2C2 ------------------------------------------------------------------- */
2184static const unsigned int i2c2_pins[] = {
2185 /* SCL, SDA */
2186 RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 23),
2187};
2188static const unsigned int i2c2_mux[] = {
2189 I2C2_SCL_MARK, I2C2_SDA_MARK,
2190};
2191static const unsigned int i2c2_b_pins[] = {
2192 /* SCL, SDA */
2193 RCAR_GP_PIN(6, 24), RCAR_GP_PIN(6, 25),
2194};
2195static const unsigned int i2c2_b_mux[] = {
2196 I2C2_SCL_B_MARK, I2C2_SDA_B_MARK,
2197};
2198static const unsigned int i2c2_c_pins[] = {
2199 /* SCL, SDA */
2200 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3),
2201};
2202static const unsigned int i2c2_c_mux[] = {
2203 I2C2_SCL_C_MARK, I2C2_SDA_C_MARK,
2204};
2205static const unsigned int i2c2_d_pins[] = {
2206 /* SCL, SDA */
2207 RCAR_GP_PIN(2, 0), RCAR_GP_PIN(2, 1),
2208};
2209static const unsigned int i2c2_d_mux[] = {
2210 I2C2_SCL_D_MARK, I2C2_SDA_D_MARK,
2211};
2212static const unsigned int i2c2_e_pins[] = {
2213 /* SCL, SDA */
2214 RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17),
2215};
2216static const unsigned int i2c2_e_mux[] = {
2217 I2C2_SCL_E_MARK, I2C2_SDA_E_MARK,
2218};
2219/* - I2C3 ------------------------------------------------------------------- */
2220static const unsigned int i2c3_pins[] = {
2221 /* SCL, SDA */
2222 RCAR_GP_PIN(3, 9), RCAR_GP_PIN(3, 10),
2223};
2224static const unsigned int i2c3_mux[] = {
2225 I2C3_SCL_MARK, I2C3_SDA_MARK,
2226};
2227static const unsigned int i2c3_b_pins[] = {
2228 /* SCL, SDA */
2229 RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 4),
2230};
2231static const unsigned int i2c3_b_mux[] = {
2232 I2C3_SCL_B_MARK, I2C3_SDA_B_MARK,
2233};
2234static const unsigned int i2c3_c_pins[] = {
2235 /* SCL, SDA */
2236 RCAR_GP_PIN(4, 25), RCAR_GP_PIN(4, 26),
2237};
2238static const unsigned int i2c3_c_mux[] = {
2239 I2C3_SCL_C_MARK, I2C3_SDA_C_MARK,
2240};
2241static const unsigned int i2c3_d_pins[] = {
2242 /* SCL, SDA */
2243 RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
2244};
2245static const unsigned int i2c3_d_mux[] = {
2246 I2C3_SCL_D_MARK, I2C3_SDA_D_MARK,
2247};
2248static const unsigned int i2c3_e_pins[] = {
2249 /* SCL, SDA */
2250 RCAR_GP_PIN(5, 18), RCAR_GP_PIN(5, 19),
2251};
2252static const unsigned int i2c3_e_mux[] = {
2253 I2C3_SCL_E_MARK, I2C3_SDA_E_MARK,
2254};
2255/* - I2C4 ------------------------------------------------------------------- */
2256static const unsigned int i2c4_pins[] = {
2257 /* SCL, SDA */
2258 RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9),
2259};
2260static const unsigned int i2c4_mux[] = {
2261 I2C4_SCL_MARK, I2C4_SDA_MARK,
2262};
2263static const unsigned int i2c4_b_pins[] = {
2264 /* SCL, SDA */
2265 RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 23),
2266};
2267static const unsigned int i2c4_b_mux[] = {
2268 I2C4_SCL_B_MARK, I2C4_SDA_B_MARK,
2269};
2270static const unsigned int i2c4_c_pins[] = {
2271 /* SCL, SDA */
2272 RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 29),
2273};
2274static const unsigned int i2c4_c_mux[] = {
2275 I2C4_SCL_C_MARK, I2C4_SDA_C_MARK,
2276};
2277static const unsigned int i2c4_d_pins[] = {
2278 /* SCL, SDA */
2279 RCAR_GP_PIN(2, 16), RCAR_GP_PIN(2, 17),
2280};
2281static const unsigned int i2c4_d_mux[] = {
2282 I2C4_SCL_D_MARK, I2C4_SDA_D_MARK,
2283};
2284static const unsigned int i2c4_e_pins[] = {
2285 /* SCL, SDA */
2286 RCAR_GP_PIN(3, 23), RCAR_GP_PIN(3, 24),
2287};
2288static const unsigned int i2c4_e_mux[] = {
2289 I2C4_SCL_E_MARK, I2C4_SDA_E_MARK,
2290};
Marek Vasut2e975d82018-06-10 16:05:18 +02002291/* - I2C5 ------------------------------------------------------------------- */
2292static const unsigned int i2c5_pins[] = {
2293 /* SCL, SDA */
2294 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15),
2295};
2296static const unsigned int i2c5_mux[] = {
2297 I2C5_SCL_MARK, I2C5_SDA_MARK,
2298};
2299static const unsigned int i2c5_b_pins[] = {
2300 /* SCL, SDA */
2301 RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 15),
2302};
2303static const unsigned int i2c5_b_mux[] = {
2304 I2C5_SCL_B_MARK, I2C5_SDA_B_MARK,
2305};
2306static const unsigned int i2c5_c_pins[] = {
2307 /* SCL, SDA */
2308 RCAR_GP_PIN(4, 31), RCAR_GP_PIN(4, 30),
2309};
2310static const unsigned int i2c5_c_mux[] = {
2311 I2C5_SCL_C_MARK, I2C5_SDA_C_MARK,
2312};
2313static const unsigned int i2c5_d_pins[] = {
2314 /* SCL, SDA */
2315 RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14),
2316};
2317static const unsigned int i2c5_d_mux[] = {
2318 I2C5_SCL_D_MARK, I2C5_SDA_D_MARK,
2319};
Marek Vasut34e93602018-01-17 22:33:59 +01002320/* - INTC ------------------------------------------------------------------- */
2321static const unsigned int intc_irq0_pins[] = {
2322 /* IRQ0 */
2323 RCAR_GP_PIN(4, 4),
2324};
2325static const unsigned int intc_irq0_mux[] = {
2326 IRQ0_MARK,
2327};
2328static const unsigned int intc_irq1_pins[] = {
2329 /* IRQ1 */
2330 RCAR_GP_PIN(4, 18),
2331};
2332static const unsigned int intc_irq1_mux[] = {
2333 IRQ1_MARK,
2334};
2335static const unsigned int intc_irq2_pins[] = {
2336 /* IRQ2 */
2337 RCAR_GP_PIN(4, 19),
2338};
2339static const unsigned int intc_irq2_mux[] = {
2340 IRQ2_MARK,
2341};
2342static const unsigned int intc_irq3_pins[] = {
2343 /* IRQ3 */
2344 RCAR_GP_PIN(0, 7),
2345};
2346static const unsigned int intc_irq3_mux[] = {
2347 IRQ3_MARK,
2348};
2349static const unsigned int intc_irq4_pins[] = {
2350 /* IRQ4 */
2351 RCAR_GP_PIN(0, 0),
2352};
2353static const unsigned int intc_irq4_mux[] = {
2354 IRQ4_MARK,
2355};
2356static const unsigned int intc_irq5_pins[] = {
2357 /* IRQ5 */
2358 RCAR_GP_PIN(4, 1),
2359};
2360static const unsigned int intc_irq5_mux[] = {
2361 IRQ5_MARK,
2362};
2363static const unsigned int intc_irq6_pins[] = {
2364 /* IRQ6 */
2365 RCAR_GP_PIN(0, 10),
2366};
2367static const unsigned int intc_irq6_mux[] = {
2368 IRQ6_MARK,
2369};
2370static const unsigned int intc_irq7_pins[] = {
2371 /* IRQ7 */
2372 RCAR_GP_PIN(6, 15),
2373};
2374static const unsigned int intc_irq7_mux[] = {
2375 IRQ7_MARK,
2376};
2377static const unsigned int intc_irq8_pins[] = {
2378 /* IRQ8 */
2379 RCAR_GP_PIN(5, 0),
2380};
2381static const unsigned int intc_irq8_mux[] = {
2382 IRQ8_MARK,
2383};
2384static const unsigned int intc_irq9_pins[] = {
2385 /* IRQ9 */
2386 RCAR_GP_PIN(5, 10),
2387};
2388static const unsigned int intc_irq9_mux[] = {
2389 IRQ9_MARK,
2390};
2391/* - MMCIF ------------------------------------------------------------------ */
Marek Vasutf46776c2023-01-26 21:01:39 +01002392static const unsigned int mmc_data_pins[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01002393 /* D[0:7] */
2394 RCAR_GP_PIN(6, 18), RCAR_GP_PIN(6, 19),
2395 RCAR_GP_PIN(6, 20), RCAR_GP_PIN(6, 21),
2396 RCAR_GP_PIN(6, 22), RCAR_GP_PIN(6, 23),
2397 RCAR_GP_PIN(6, 24), RCAR_GP_PIN(6, 25),
2398};
Marek Vasutf46776c2023-01-26 21:01:39 +01002399static const unsigned int mmc_data_mux[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01002400 MMC_D0_MARK, MMC_D1_MARK, MMC_D2_MARK, MMC_D3_MARK,
2401 MMC_D4_MARK, MMC_D5_MARK, MMC_D6_MARK, MMC_D7_MARK,
2402};
2403static const unsigned int mmc_ctrl_pins[] = {
2404 /* CLK, CMD */
2405 RCAR_GP_PIN(6, 16), RCAR_GP_PIN(6, 17),
2406};
2407static const unsigned int mmc_ctrl_mux[] = {
2408 MMC_CLK_MARK, MMC_CMD_MARK,
2409};
2410/* - MSIOF0 ----------------------------------------------------------------- */
2411static const unsigned int msiof0_clk_pins[] = {
2412 /* SCK */
2413 RCAR_GP_PIN(4, 4),
2414};
2415static const unsigned int msiof0_clk_mux[] = {
2416 MSIOF0_SCK_MARK,
2417};
2418static const unsigned int msiof0_sync_pins[] = {
2419 /* SYNC */
2420 RCAR_GP_PIN(4, 5),
2421};
2422static const unsigned int msiof0_sync_mux[] = {
2423 MSIOF0_SYNC_MARK,
2424};
2425static const unsigned int msiof0_ss1_pins[] = {
2426 /* SS1 */
2427 RCAR_GP_PIN(4, 6),
2428};
2429static const unsigned int msiof0_ss1_mux[] = {
2430 MSIOF0_SS1_MARK,
2431};
2432static const unsigned int msiof0_ss2_pins[] = {
2433 /* SS2 */
2434 RCAR_GP_PIN(4, 7),
2435};
2436static const unsigned int msiof0_ss2_mux[] = {
2437 MSIOF0_SS2_MARK,
2438};
2439static const unsigned int msiof0_rx_pins[] = {
2440 /* RXD */
2441 RCAR_GP_PIN(4, 2),
2442};
2443static const unsigned int msiof0_rx_mux[] = {
2444 MSIOF0_RXD_MARK,
2445};
2446static const unsigned int msiof0_tx_pins[] = {
2447 /* TXD */
2448 RCAR_GP_PIN(4, 3),
2449};
2450static const unsigned int msiof0_tx_mux[] = {
2451 MSIOF0_TXD_MARK,
2452};
2453/* - MSIOF1 ----------------------------------------------------------------- */
2454static const unsigned int msiof1_clk_pins[] = {
2455 /* SCK */
2456 RCAR_GP_PIN(0, 26),
2457};
2458static const unsigned int msiof1_clk_mux[] = {
2459 MSIOF1_SCK_MARK,
2460};
2461static const unsigned int msiof1_sync_pins[] = {
2462 /* SYNC */
2463 RCAR_GP_PIN(0, 27),
2464};
2465static const unsigned int msiof1_sync_mux[] = {
2466 MSIOF1_SYNC_MARK,
2467};
2468static const unsigned int msiof1_ss1_pins[] = {
2469 /* SS1 */
2470 RCAR_GP_PIN(0, 28),
2471};
2472static const unsigned int msiof1_ss1_mux[] = {
2473 MSIOF1_SS1_MARK,
2474};
2475static const unsigned int msiof1_ss2_pins[] = {
2476 /* SS2 */
2477 RCAR_GP_PIN(0, 29),
2478};
2479static const unsigned int msiof1_ss2_mux[] = {
2480 MSIOF1_SS2_MARK,
2481};
2482static const unsigned int msiof1_rx_pins[] = {
2483 /* RXD */
2484 RCAR_GP_PIN(0, 24),
2485};
2486static const unsigned int msiof1_rx_mux[] = {
2487 MSIOF1_RXD_MARK,
2488};
2489static const unsigned int msiof1_tx_pins[] = {
2490 /* TXD */
2491 RCAR_GP_PIN(0, 25),
2492};
2493static const unsigned int msiof1_tx_mux[] = {
2494 MSIOF1_TXD_MARK,
2495};
2496static const unsigned int msiof1_clk_b_pins[] = {
2497 /* SCK */
2498 RCAR_GP_PIN(5, 3),
2499};
2500static const unsigned int msiof1_clk_b_mux[] = {
2501 MSIOF1_SCK_B_MARK,
2502};
2503static const unsigned int msiof1_sync_b_pins[] = {
2504 /* SYNC */
2505 RCAR_GP_PIN(5, 4),
2506};
2507static const unsigned int msiof1_sync_b_mux[] = {
2508 MSIOF1_SYNC_B_MARK,
2509};
2510static const unsigned int msiof1_ss1_b_pins[] = {
2511 /* SS1 */
2512 RCAR_GP_PIN(5, 5),
2513};
2514static const unsigned int msiof1_ss1_b_mux[] = {
2515 MSIOF1_SS1_B_MARK,
2516};
2517static const unsigned int msiof1_ss2_b_pins[] = {
2518 /* SS2 */
2519 RCAR_GP_PIN(5, 6),
2520};
2521static const unsigned int msiof1_ss2_b_mux[] = {
2522 MSIOF1_SS2_B_MARK,
2523};
2524static const unsigned int msiof1_rx_b_pins[] = {
2525 /* RXD */
2526 RCAR_GP_PIN(5, 1),
2527};
2528static const unsigned int msiof1_rx_b_mux[] = {
2529 MSIOF1_RXD_B_MARK,
2530};
2531static const unsigned int msiof1_tx_b_pins[] = {
2532 /* TXD */
2533 RCAR_GP_PIN(5, 2),
2534};
2535static const unsigned int msiof1_tx_b_mux[] = {
2536 MSIOF1_TXD_B_MARK,
2537};
2538/* - MSIOF2 ----------------------------------------------------------------- */
2539static const unsigned int msiof2_clk_pins[] = {
2540 /* SCK */
2541 RCAR_GP_PIN(1, 0),
2542};
2543static const unsigned int msiof2_clk_mux[] = {
2544 MSIOF2_SCK_MARK,
2545};
2546static const unsigned int msiof2_sync_pins[] = {
2547 /* SYNC */
2548 RCAR_GP_PIN(1, 1),
2549};
2550static const unsigned int msiof2_sync_mux[] = {
2551 MSIOF2_SYNC_MARK,
2552};
2553static const unsigned int msiof2_ss1_pins[] = {
2554 /* SS1 */
2555 RCAR_GP_PIN(1, 2),
2556};
2557static const unsigned int msiof2_ss1_mux[] = {
2558 MSIOF2_SS1_MARK,
2559};
2560static const unsigned int msiof2_ss2_pins[] = {
2561 /* SS2 */
2562 RCAR_GP_PIN(1, 3),
2563};
2564static const unsigned int msiof2_ss2_mux[] = {
2565 MSIOF2_SS2_MARK,
2566};
2567static const unsigned int msiof2_rx_pins[] = {
2568 /* RXD */
2569 RCAR_GP_PIN(0, 30),
2570};
2571static const unsigned int msiof2_rx_mux[] = {
2572 MSIOF2_RXD_MARK,
2573};
2574static const unsigned int msiof2_tx_pins[] = {
2575 /* TXD */
2576 RCAR_GP_PIN(0, 31),
2577};
2578static const unsigned int msiof2_tx_mux[] = {
2579 MSIOF2_TXD_MARK,
2580};
2581static const unsigned int msiof2_clk_b_pins[] = {
2582 /* SCK */
2583 RCAR_GP_PIN(3, 15),
2584};
2585static const unsigned int msiof2_clk_b_mux[] = {
2586 MSIOF2_SCK_B_MARK,
2587};
2588static const unsigned int msiof2_sync_b_pins[] = {
2589 /* SYNC */
2590 RCAR_GP_PIN(3, 16),
2591};
2592static const unsigned int msiof2_sync_b_mux[] = {
2593 MSIOF2_SYNC_B_MARK,
2594};
2595static const unsigned int msiof2_ss1_b_pins[] = {
2596 /* SS1 */
2597 RCAR_GP_PIN(3, 17),
2598};
2599static const unsigned int msiof2_ss1_b_mux[] = {
2600 MSIOF2_SS1_B_MARK,
2601};
2602static const unsigned int msiof2_ss2_b_pins[] = {
2603 /* SS2 */
2604 RCAR_GP_PIN(3, 18),
2605};
2606static const unsigned int msiof2_ss2_b_mux[] = {
2607 MSIOF2_SS2_B_MARK,
2608};
2609static const unsigned int msiof2_rx_b_pins[] = {
2610 /* RXD */
2611 RCAR_GP_PIN(3, 13),
2612};
2613static const unsigned int msiof2_rx_b_mux[] = {
2614 MSIOF2_RXD_B_MARK,
2615};
2616static const unsigned int msiof2_tx_b_pins[] = {
2617 /* TXD */
2618 RCAR_GP_PIN(3, 14),
2619};
2620static const unsigned int msiof2_tx_b_mux[] = {
2621 MSIOF2_TXD_B_MARK,
2622};
Marek Vasut2e975d82018-06-10 16:05:18 +02002623/* - PWM -------------------------------------------------------------------- */
2624static const unsigned int pwm0_pins[] = {
2625 RCAR_GP_PIN(1, 14),
2626};
2627static const unsigned int pwm0_mux[] = {
2628 PWM0_MARK,
2629};
2630static const unsigned int pwm0_b_pins[] = {
2631 RCAR_GP_PIN(5, 3),
2632};
2633static const unsigned int pwm0_b_mux[] = {
2634 PWM0_B_MARK,
2635};
2636static const unsigned int pwm1_pins[] = {
2637 RCAR_GP_PIN(4, 5),
2638};
2639static const unsigned int pwm1_mux[] = {
2640 PWM1_MARK,
2641};
2642static const unsigned int pwm1_b_pins[] = {
2643 RCAR_GP_PIN(5, 10),
2644};
2645static const unsigned int pwm1_b_mux[] = {
2646 PWM1_B_MARK,
2647};
2648static const unsigned int pwm1_c_pins[] = {
2649 RCAR_GP_PIN(1, 18),
2650};
2651static const unsigned int pwm1_c_mux[] = {
2652 PWM1_C_MARK,
2653};
2654static const unsigned int pwm2_pins[] = {
2655 RCAR_GP_PIN(4, 10),
2656};
2657static const unsigned int pwm2_mux[] = {
2658 PWM2_MARK,
2659};
2660static const unsigned int pwm2_b_pins[] = {
2661 RCAR_GP_PIN(5, 17),
2662};
2663static const unsigned int pwm2_b_mux[] = {
2664 PWM2_B_MARK,
2665};
2666static const unsigned int pwm2_c_pins[] = {
2667 RCAR_GP_PIN(0, 13),
2668};
2669static const unsigned int pwm2_c_mux[] = {
2670 PWM2_C_MARK,
2671};
2672static const unsigned int pwm3_pins[] = {
2673 RCAR_GP_PIN(4, 13),
2674};
2675static const unsigned int pwm3_mux[] = {
2676 PWM3_MARK,
2677};
2678static const unsigned int pwm3_b_pins[] = {
2679 RCAR_GP_PIN(0, 16),
2680};
2681static const unsigned int pwm3_b_mux[] = {
2682 PWM3_B_MARK,
2683};
2684static const unsigned int pwm4_pins[] = {
2685 RCAR_GP_PIN(1, 3),
2686};
2687static const unsigned int pwm4_mux[] = {
2688 PWM4_MARK,
2689};
2690static const unsigned int pwm4_b_pins[] = {
2691 RCAR_GP_PIN(0, 21),
2692};
2693static const unsigned int pwm4_b_mux[] = {
2694 PWM4_B_MARK,
2695};
2696static const unsigned int pwm5_pins[] = {
2697 RCAR_GP_PIN(3, 30),
2698};
2699static const unsigned int pwm5_mux[] = {
2700 PWM5_MARK,
2701};
2702static const unsigned int pwm5_b_pins[] = {
2703 RCAR_GP_PIN(4, 0),
2704};
2705static const unsigned int pwm5_b_mux[] = {
2706 PWM5_B_MARK,
2707};
2708static const unsigned int pwm5_c_pins[] = {
2709 RCAR_GP_PIN(0, 10),
2710};
2711static const unsigned int pwm5_c_mux[] = {
2712 PWM5_C_MARK,
2713};
2714static const unsigned int pwm6_pins[] = {
2715 RCAR_GP_PIN(4, 8),
2716};
2717static const unsigned int pwm6_mux[] = {
2718 PWM6_MARK,
2719};
2720static const unsigned int pwm6_b_pins[] = {
2721 RCAR_GP_PIN(0, 7),
2722};
2723static const unsigned int pwm6_b_mux[] = {
2724 PWM6_B_MARK,
2725};
Marek Vasut34e93602018-01-17 22:33:59 +01002726/* - QSPI ------------------------------------------------------------------- */
2727static const unsigned int qspi_ctrl_pins[] = {
2728 /* SPCLK, SSL */
2729 RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 9),
2730};
2731static const unsigned int qspi_ctrl_mux[] = {
2732 SPCLK_MARK, SSL_MARK,
2733};
Marek Vasutf46776c2023-01-26 21:01:39 +01002734static const unsigned int qspi_data_pins[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01002735 /* MOSI_IO0, MISO_IO1, IO2, IO3 */
2736 RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 7),
2737 RCAR_GP_PIN(1, 8),
2738};
Marek Vasutf46776c2023-01-26 21:01:39 +01002739static const unsigned int qspi_data_mux[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01002740 MOSI_IO0_MARK, MISO_IO1_MARK, IO2_MARK, IO3_MARK,
2741};
2742/* - SCIF0 ------------------------------------------------------------------ */
2743static const unsigned int scif0_data_pins[] = {
2744 /* RX, TX */
2745 RCAR_GP_PIN(6, 24), RCAR_GP_PIN(6, 25),
2746};
2747static const unsigned int scif0_data_mux[] = {
2748 SCIF0_RXD_MARK, SCIF0_TXD_MARK,
2749};
2750static const unsigned int scif0_data_b_pins[] = {
2751 /* RX, TX */
2752 RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12),
2753};
2754static const unsigned int scif0_data_b_mux[] = {
2755 SCIF0_RXD_B_MARK, SCIF0_TXD_B_MARK,
2756};
2757static const unsigned int scif0_data_c_pins[] = {
2758 /* RX, TX */
2759 RCAR_GP_PIN(3, 30), RCAR_GP_PIN(3, 31),
2760};
2761static const unsigned int scif0_data_c_mux[] = {
2762 SCIF0_RXD_C_MARK, SCIF0_TXD_C_MARK,
2763};
2764static const unsigned int scif0_data_d_pins[] = {
2765 /* RX, TX */
2766 RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28),
2767};
2768static const unsigned int scif0_data_d_mux[] = {
2769 SCIF0_RXD_D_MARK, SCIF0_TXD_D_MARK,
2770};
2771/* - SCIF1 ------------------------------------------------------------------ */
2772static const unsigned int scif1_data_pins[] = {
2773 /* RX, TX */
2774 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15),
2775};
2776static const unsigned int scif1_data_mux[] = {
2777 SCIF1_RXD_MARK, SCIF1_TXD_MARK,
2778};
2779static const unsigned int scif1_clk_pins[] = {
2780 /* SCK */
2781 RCAR_GP_PIN(4, 13),
2782};
2783static const unsigned int scif1_clk_mux[] = {
2784 SCIF1_SCK_MARK,
2785};
2786static const unsigned int scif1_data_b_pins[] = {
2787 /* RX, TX */
2788 RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 12),
2789};
2790static const unsigned int scif1_data_b_mux[] = {
2791 SCIF1_RXD_B_MARK, SCIF1_TXD_B_MARK,
2792};
2793static const unsigned int scif1_clk_b_pins[] = {
2794 /* SCK */
2795 RCAR_GP_PIN(5, 10),
2796};
2797static const unsigned int scif1_clk_b_mux[] = {
2798 SCIF1_SCK_B_MARK,
2799};
2800static const unsigned int scif1_data_c_pins[] = {
2801 /* RX, TX */
2802 RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 12),
2803};
2804static const unsigned int scif1_data_c_mux[] = {
2805 SCIF1_RXD_C_MARK, SCIF1_TXD_C_MARK,
2806};
2807static const unsigned int scif1_clk_c_pins[] = {
2808 /* SCK */
2809 RCAR_GP_PIN(0, 10),
2810};
2811static const unsigned int scif1_clk_c_mux[] = {
2812 SCIF1_SCK_C_MARK,
2813};
2814/* - SCIF2 ------------------------------------------------------------------ */
2815static const unsigned int scif2_data_pins[] = {
2816 /* RX, TX */
2817 RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 17),
2818};
2819static const unsigned int scif2_data_mux[] = {
2820 SCIF2_RXD_MARK, SCIF2_TXD_MARK,
2821};
2822static const unsigned int scif2_clk_pins[] = {
2823 /* SCK */
2824 RCAR_GP_PIN(4, 18),
2825};
2826static const unsigned int scif2_clk_mux[] = {
2827 SCIF2_SCK_MARK,
2828};
2829static const unsigned int scif2_data_b_pins[] = {
2830 /* RX, TX */
2831 RCAR_GP_PIN(5, 18), RCAR_GP_PIN(5, 19),
2832};
2833static const unsigned int scif2_data_b_mux[] = {
2834 SCIF2_RXD_B_MARK, SCIF2_TXD_B_MARK,
2835};
2836static const unsigned int scif2_clk_b_pins[] = {
2837 /* SCK */
2838 RCAR_GP_PIN(5, 17),
2839};
2840static const unsigned int scif2_clk_b_mux[] = {
2841 SCIF2_SCK_B_MARK,
2842};
2843static const unsigned int scif2_data_c_pins[] = {
2844 /* RX, TX */
2845 RCAR_GP_PIN(3, 20), RCAR_GP_PIN(3, 21),
2846};
2847static const unsigned int scif2_data_c_mux[] = {
2848 SCIF2_RXD_C_MARK, SCIF2_TXD_C_MARK,
2849};
2850static const unsigned int scif2_clk_c_pins[] = {
2851 /* SCK */
2852 RCAR_GP_PIN(3, 19),
2853};
2854static const unsigned int scif2_clk_c_mux[] = {
2855 SCIF2_SCK_C_MARK,
2856};
2857/* - SCIF3 ------------------------------------------------------------------ */
2858static const unsigned int scif3_data_pins[] = {
2859 /* RX, TX */
2860 RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 21),
2861};
2862static const unsigned int scif3_data_mux[] = {
2863 SCIF3_RXD_MARK, SCIF3_TXD_MARK,
2864};
2865static const unsigned int scif3_clk_pins[] = {
2866 /* SCK */
2867 RCAR_GP_PIN(4, 19),
2868};
2869static const unsigned int scif3_clk_mux[] = {
2870 SCIF3_SCK_MARK,
2871};
2872static const unsigned int scif3_data_b_pins[] = {
2873 /* RX, TX */
2874 RCAR_GP_PIN(3, 23), RCAR_GP_PIN(3, 24),
2875};
2876static const unsigned int scif3_data_b_mux[] = {
2877 SCIF3_RXD_B_MARK, SCIF3_TXD_B_MARK,
2878};
2879static const unsigned int scif3_clk_b_pins[] = {
2880 /* SCK */
2881 RCAR_GP_PIN(3, 22),
2882};
2883static const unsigned int scif3_clk_b_mux[] = {
2884 SCIF3_SCK_B_MARK,
2885};
2886/* - SCIF4 ------------------------------------------------------------------ */
2887static const unsigned int scif4_data_pins[] = {
2888 /* RX, TX */
2889 RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1),
2890};
2891static const unsigned int scif4_data_mux[] = {
2892 SCIF4_RXD_MARK, SCIF4_TXD_MARK,
2893};
2894static const unsigned int scif4_data_b_pins[] = {
2895 /* RX, TX */
2896 RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6),
2897};
2898static const unsigned int scif4_data_b_mux[] = {
2899 SCIF4_RXD_B_MARK, SCIF4_TXD_B_MARK,
2900};
2901static const unsigned int scif4_data_c_pins[] = {
2902 /* RX, TX */
2903 RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 15),
2904};
2905static const unsigned int scif4_data_c_mux[] = {
2906 SCIF4_RXD_C_MARK, SCIF4_TXD_C_MARK,
2907};
2908static const unsigned int scif4_data_d_pins[] = {
2909 /* RX, TX */
2910 RCAR_GP_PIN(3, 17), RCAR_GP_PIN(3, 18),
2911};
2912static const unsigned int scif4_data_d_mux[] = {
2913 SCIF4_RXD_D_MARK, SCIF4_TXD_D_MARK,
2914};
2915static const unsigned int scif4_data_e_pins[] = {
2916 /* RX, TX */
2917 RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 2),
2918};
2919static const unsigned int scif4_data_e_mux[] = {
2920 SCIF4_RXD_E_MARK, SCIF4_TXD_E_MARK,
2921};
2922/* - SCIF5 ------------------------------------------------------------------ */
2923static const unsigned int scif5_data_pins[] = {
2924 /* RX, TX */
2925 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3),
2926};
2927static const unsigned int scif5_data_mux[] = {
2928 SCIF5_RXD_MARK, SCIF5_TXD_MARK,
2929};
2930static const unsigned int scif5_data_b_pins[] = {
2931 /* RX, TX */
2932 RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 4),
2933};
2934static const unsigned int scif5_data_b_mux[] = {
2935 SCIF5_RXD_B_MARK, SCIF5_TXD_B_MARK,
2936};
2937static const unsigned int scif5_data_c_pins[] = {
2938 /* RX, TX */
2939 RCAR_GP_PIN(2, 0), RCAR_GP_PIN(2, 11),
2940};
2941static const unsigned int scif5_data_c_mux[] = {
2942 SCIF5_RXD_C_MARK, SCIF5_TXD_C_MARK,
2943};
2944static const unsigned int scif5_data_d_pins[] = {
2945 /* RX, TX */
2946 RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
2947};
2948static const unsigned int scif5_data_d_mux[] = {
2949 SCIF5_RXD_D_MARK, SCIF5_TXD_D_MARK,
2950};
2951/* - SCIFA0 ----------------------------------------------------------------- */
2952static const unsigned int scifa0_data_pins[] = {
2953 /* RXD, TXD */
2954 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 7),
2955};
2956static const unsigned int scifa0_data_mux[] = {
2957 SCIFA0_RXD_MARK, SCIFA0_TXD_MARK,
2958};
2959static const unsigned int scifa0_data_b_pins[] = {
2960 /* RXD, TXD */
2961 RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 25),
2962};
2963static const unsigned int scifa0_data_b_mux[] = {
2964 SCIFA0_RXD_B_MARK, SCIFA0_TXD_B_MARK
2965};
2966static const unsigned int scifa0_data_c_pins[] = {
2967 /* RXD, TXD */
2968 RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
2969};
2970static const unsigned int scifa0_data_c_mux[] = {
2971 SCIFA0_RXD_C_MARK, SCIFA0_TXD_C_MARK
2972};
2973static const unsigned int scifa0_data_d_pins[] = {
2974 /* RXD, TXD */
2975 RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16),
2976};
2977static const unsigned int scifa0_data_d_mux[] = {
2978 SCIFA0_RXD_D_MARK, SCIFA0_TXD_D_MARK
2979};
2980/* - SCIFA1 ----------------------------------------------------------------- */
2981static const unsigned int scifa1_data_pins[] = {
2982 /* RXD, TXD */
2983 RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 15),
2984};
2985static const unsigned int scifa1_data_mux[] = {
2986 SCIFA1_RXD_MARK, SCIFA1_TXD_MARK,
2987};
2988static const unsigned int scifa1_clk_pins[] = {
2989 /* SCK */
2990 RCAR_GP_PIN(0, 13),
2991};
2992static const unsigned int scifa1_clk_mux[] = {
2993 SCIFA1_SCK_MARK,
2994};
2995static const unsigned int scifa1_data_b_pins[] = {
2996 /* RXD, TXD */
2997 RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 29),
2998};
2999static const unsigned int scifa1_data_b_mux[] = {
3000 SCIFA1_RXD_B_MARK, SCIFA1_TXD_B_MARK,
3001};
3002static const unsigned int scifa1_clk_b_pins[] = {
3003 /* SCK */
3004 RCAR_GP_PIN(4, 27),
3005};
3006static const unsigned int scifa1_clk_b_mux[] = {
3007 SCIFA1_SCK_B_MARK,
3008};
3009static const unsigned int scifa1_data_c_pins[] = {
3010 /* RXD, TXD */
3011 RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6),
3012};
3013static const unsigned int scifa1_data_c_mux[] = {
3014 SCIFA1_RXD_C_MARK, SCIFA1_TXD_C_MARK,
3015};
3016static const unsigned int scifa1_clk_c_pins[] = {
3017 /* SCK */
3018 RCAR_GP_PIN(5, 4),
3019};
3020static const unsigned int scifa1_clk_c_mux[] = {
3021 SCIFA1_SCK_C_MARK,
3022};
3023/* - SCIFA2 ----------------------------------------------------------------- */
3024static const unsigned int scifa2_data_pins[] = {
3025 /* RXD, TXD */
3026 RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17),
3027};
3028static const unsigned int scifa2_data_mux[] = {
3029 SCIFA2_RXD_MARK, SCIFA2_TXD_MARK,
3030};
3031static const unsigned int scifa2_clk_pins[] = {
3032 /* SCK */
3033 RCAR_GP_PIN(1, 15),
3034};
3035static const unsigned int scifa2_clk_mux[] = {
3036 SCIFA2_SCK_MARK,
3037};
3038static const unsigned int scifa2_data_b_pins[] = {
3039 /* RXD, TXD */
3040 RCAR_GP_PIN(4, 31), RCAR_GP_PIN(5, 0),
3041};
3042static const unsigned int scifa2_data_b_mux[] = {
3043 SCIFA2_RXD_B_MARK, SCIFA2_TXD_B_MARK,
3044};
3045static const unsigned int scifa2_clk_b_pins[] = {
3046 /* SCK */
3047 RCAR_GP_PIN(4, 30),
3048};
3049static const unsigned int scifa2_clk_b_mux[] = {
3050 SCIFA2_SCK_B_MARK,
3051};
3052/* - SCIFA3 ----------------------------------------------------------------- */
3053static const unsigned int scifa3_data_pins[] = {
3054 /* RXD, TXD */
3055 RCAR_GP_PIN(4, 25), RCAR_GP_PIN(4, 26),
3056};
3057static const unsigned int scifa3_data_mux[] = {
3058 SCIFA3_RXD_MARK, SCIFA3_TXD_MARK,
3059};
3060static const unsigned int scifa3_clk_pins[] = {
3061 /* SCK */
3062 RCAR_GP_PIN(4, 24),
3063};
3064static const unsigned int scifa3_clk_mux[] = {
3065 SCIFA3_SCK_MARK,
3066};
3067static const unsigned int scifa3_data_b_pins[] = {
3068 /* RXD, TXD */
3069 RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 2),
3070};
3071static const unsigned int scifa3_data_b_mux[] = {
3072 SCIFA3_RXD_B_MARK, SCIFA3_TXD_B_MARK,
3073};
3074static const unsigned int scifa3_clk_b_pins[] = {
3075 /* SCK */
3076 RCAR_GP_PIN(0, 0),
3077};
3078static const unsigned int scifa3_clk_b_mux[] = {
3079 SCIFA3_SCK_B_MARK,
3080};
3081/* - SCIFA4 ----------------------------------------------------------------- */
3082static const unsigned int scifa4_data_pins[] = {
3083 /* RXD, TXD */
3084 RCAR_GP_PIN(4, 12), RCAR_GP_PIN(4, 12),
3085};
3086static const unsigned int scifa4_data_mux[] = {
3087 SCIFA4_RXD_MARK, SCIFA4_TXD_MARK,
3088};
3089static const unsigned int scifa4_data_b_pins[] = {
3090 /* RXD, TXD */
3091 RCAR_GP_PIN(0, 22), RCAR_GP_PIN(0, 23),
3092};
3093static const unsigned int scifa4_data_b_mux[] = {
3094 SCIFA4_RXD_B_MARK, SCIFA4_TXD_B_MARK,
3095};
3096static const unsigned int scifa4_data_c_pins[] = {
3097 /* RXD, TXD */
3098 RCAR_GP_PIN(2, 16), RCAR_GP_PIN(2, 17),
3099};
3100static const unsigned int scifa4_data_c_mux[] = {
3101 SCIFA4_RXD_C_MARK, SCIFA4_TXD_C_MARK,
3102};
3103static const unsigned int scifa4_data_d_pins[] = {
3104 /* RXD, TXD */
3105 RCAR_GP_PIN(5, 20), RCAR_GP_PIN(5, 21),
3106};
3107static const unsigned int scifa4_data_d_mux[] = {
3108 SCIFA4_RXD_D_MARK, SCIFA4_TXD_D_MARK,
3109};
3110/* - SCIFA5 ----------------------------------------------------------------- */
3111static const unsigned int scifa5_data_pins[] = {
3112 /* RXD, TXD */
3113 RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 23),
3114};
3115static const unsigned int scifa5_data_mux[] = {
3116 SCIFA5_RXD_MARK, SCIFA5_TXD_MARK,
3117};
3118static const unsigned int scifa5_data_b_pins[] = {
3119 /* RXD, TXD */
3120 RCAR_GP_PIN(0, 28), RCAR_GP_PIN(0, 29),
3121};
3122static const unsigned int scifa5_data_b_mux[] = {
3123 SCIFA5_RXD_B_MARK, SCIFA5_TXD_B_MARK,
3124};
3125static const unsigned int scifa5_data_c_pins[] = {
3126 /* RXD, TXD */
3127 RCAR_GP_PIN(3, 9), RCAR_GP_PIN(3, 10),
3128};
3129static const unsigned int scifa5_data_c_mux[] = {
3130 SCIFA5_RXD_C_MARK, SCIFA5_TXD_C_MARK,
3131};
3132static const unsigned int scifa5_data_d_pins[] = {
3133 /* RXD, TXD */
3134 RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 23),
3135};
3136static const unsigned int scifa5_data_d_mux[] = {
3137 SCIFA5_RXD_D_MARK, SCIFA5_TXD_D_MARK,
3138};
3139/* - SCIFB0 ----------------------------------------------------------------- */
3140static const unsigned int scifb0_data_pins[] = {
3141 /* RXD, TXD */
3142 RCAR_GP_PIN(0, 21), RCAR_GP_PIN(0, 20),
3143};
3144static const unsigned int scifb0_data_mux[] = {
3145 SCIFB0_RXD_MARK, SCIFB0_TXD_MARK,
3146};
3147static const unsigned int scifb0_clk_pins[] = {
3148 /* SCK */
3149 RCAR_GP_PIN(0, 19),
3150};
3151static const unsigned int scifb0_clk_mux[] = {
3152 SCIFB0_SCK_MARK,
3153};
3154static const unsigned int scifb0_ctrl_pins[] = {
3155 /* RTS, CTS */
3156 RCAR_GP_PIN(0, 23), RCAR_GP_PIN(0, 22),
3157};
3158static const unsigned int scifb0_ctrl_mux[] = {
3159 SCIFB0_RTS_N_MARK, SCIFB0_CTS_N_MARK,
3160};
3161/* - SCIFB1 ----------------------------------------------------------------- */
3162static const unsigned int scifb1_data_pins[] = {
3163 /* RXD, TXD */
3164 RCAR_GP_PIN(1, 24), RCAR_GP_PIN(0, 17),
3165};
3166static const unsigned int scifb1_data_mux[] = {
3167 SCIFB1_RXD_MARK, SCIFB1_TXD_MARK,
3168};
3169static const unsigned int scifb1_clk_pins[] = {
3170 /* SCK */
3171 RCAR_GP_PIN(0, 16),
3172};
3173static const unsigned int scifb1_clk_mux[] = {
3174 SCIFB1_SCK_MARK,
3175};
3176/* - SCIFB2 ----------------------------------------------------------------- */
3177static const unsigned int scifb2_data_pins[] = {
3178 /* RXD, TXD */
3179 RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 14),
3180};
3181static const unsigned int scifb2_data_mux[] = {
3182 SCIFB2_RXD_MARK, SCIFB2_TXD_MARK,
3183};
3184static const unsigned int scifb2_clk_pins[] = {
3185 /* SCK */
3186 RCAR_GP_PIN(1, 15),
3187};
3188static const unsigned int scifb2_clk_mux[] = {
3189 SCIFB2_SCK_MARK,
3190};
3191static const unsigned int scifb2_ctrl_pins[] = {
3192 /* RTS, CTS */
3193 RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16),
3194};
3195static const unsigned int scifb2_ctrl_mux[] = {
3196 SCIFB2_RTS_N_MARK, SCIFB2_CTS_N_MARK,
3197};
3198/* - SCIF Clock ------------------------------------------------------------- */
3199static const unsigned int scif_clk_pins[] = {
3200 /* SCIF_CLK */
3201 RCAR_GP_PIN(1, 23),
3202};
3203static const unsigned int scif_clk_mux[] = {
3204 SCIF_CLK_MARK,
3205};
3206static const unsigned int scif_clk_b_pins[] = {
3207 /* SCIF_CLK */
3208 RCAR_GP_PIN(3, 29),
3209};
3210static const unsigned int scif_clk_b_mux[] = {
3211 SCIF_CLK_B_MARK,
3212};
3213/* - SDHI0 ------------------------------------------------------------------ */
Marek Vasutf46776c2023-01-26 21:01:39 +01003214static const unsigned int sdhi0_data_pins[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01003215 /* D[0:3] */
3216 RCAR_GP_PIN(6, 2), RCAR_GP_PIN(6, 3),
3217 RCAR_GP_PIN(6, 4), RCAR_GP_PIN(6, 5),
3218};
Marek Vasutf46776c2023-01-26 21:01:39 +01003219static const unsigned int sdhi0_data_mux[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01003220 SD0_DATA0_MARK, SD0_DATA1_MARK, SD0_DATA2_MARK, SD0_DATA3_MARK,
3221};
3222static const unsigned int sdhi0_ctrl_pins[] = {
3223 /* CLK, CMD */
3224 RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 1),
3225};
3226static const unsigned int sdhi0_ctrl_mux[] = {
3227 SD0_CLK_MARK, SD0_CMD_MARK,
3228};
3229static const unsigned int sdhi0_cd_pins[] = {
3230 /* CD */
3231 RCAR_GP_PIN(6, 6),
3232};
3233static const unsigned int sdhi0_cd_mux[] = {
3234 SD0_CD_MARK,
3235};
3236static const unsigned int sdhi0_wp_pins[] = {
3237 /* WP */
3238 RCAR_GP_PIN(6, 7),
3239};
3240static const unsigned int sdhi0_wp_mux[] = {
3241 SD0_WP_MARK,
3242};
3243/* - SDHI1 ------------------------------------------------------------------ */
Marek Vasutf46776c2023-01-26 21:01:39 +01003244static const unsigned int sdhi1_data_pins[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01003245 /* D[0:3] */
3246 RCAR_GP_PIN(6, 10), RCAR_GP_PIN(6, 11),
3247 RCAR_GP_PIN(6, 12), RCAR_GP_PIN(6, 13),
3248};
Marek Vasutf46776c2023-01-26 21:01:39 +01003249static const unsigned int sdhi1_data_mux[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01003250 SD1_DATA0_MARK, SD1_DATA1_MARK, SD1_DATA2_MARK, SD1_DATA3_MARK,
3251};
3252static const unsigned int sdhi1_ctrl_pins[] = {
3253 /* CLK, CMD */
3254 RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 9),
3255};
3256static const unsigned int sdhi1_ctrl_mux[] = {
3257 SD1_CLK_MARK, SD1_CMD_MARK,
3258};
3259static const unsigned int sdhi1_cd_pins[] = {
3260 /* CD */
3261 RCAR_GP_PIN(6, 14),
3262};
3263static const unsigned int sdhi1_cd_mux[] = {
3264 SD1_CD_MARK,
3265};
3266static const unsigned int sdhi1_wp_pins[] = {
3267 /* WP */
3268 RCAR_GP_PIN(6, 15),
3269};
3270static const unsigned int sdhi1_wp_mux[] = {
3271 SD1_WP_MARK,
3272};
3273/* - SDHI2 ------------------------------------------------------------------ */
Marek Vasutf46776c2023-01-26 21:01:39 +01003274static const unsigned int sdhi2_data_pins[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01003275 /* D[0:3] */
3276 RCAR_GP_PIN(6, 18), RCAR_GP_PIN(6, 19),
3277 RCAR_GP_PIN(6, 20), RCAR_GP_PIN(6, 21),
3278};
Marek Vasutf46776c2023-01-26 21:01:39 +01003279static const unsigned int sdhi2_data_mux[] = {
Marek Vasut34e93602018-01-17 22:33:59 +01003280 SD2_DATA0_MARK, SD2_DATA1_MARK, SD2_DATA2_MARK, SD2_DATA3_MARK,
3281};
3282static const unsigned int sdhi2_ctrl_pins[] = {
3283 /* CLK, CMD */
3284 RCAR_GP_PIN(6, 16), RCAR_GP_PIN(6, 17),
3285};
3286static const unsigned int sdhi2_ctrl_mux[] = {
3287 SD2_CLK_MARK, SD2_CMD_MARK,
3288};
3289static const unsigned int sdhi2_cd_pins[] = {
3290 /* CD */
3291 RCAR_GP_PIN(6, 22),
3292};
3293static const unsigned int sdhi2_cd_mux[] = {
3294 SD2_CD_MARK,
3295};
3296static const unsigned int sdhi2_wp_pins[] = {
3297 /* WP */
3298 RCAR_GP_PIN(6, 23),
3299};
3300static const unsigned int sdhi2_wp_mux[] = {
3301 SD2_WP_MARK,
3302};
3303/* - SSI -------------------------------------------------------------------- */
3304static const unsigned int ssi0_data_pins[] = {
3305 /* SDATA0 */
3306 RCAR_GP_PIN(5, 3),
3307};
3308static const unsigned int ssi0_data_mux[] = {
3309 SSI_SDATA0_MARK,
3310};
3311static const unsigned int ssi0129_ctrl_pins[] = {
3312 /* SCK0129, WS0129 */
3313 RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
3314};
3315static const unsigned int ssi0129_ctrl_mux[] = {
3316 SSI_SCK0129_MARK, SSI_WS0129_MARK,
3317};
3318static const unsigned int ssi1_data_pins[] = {
3319 /* SDATA1 */
3320 RCAR_GP_PIN(5, 13),
3321};
3322static const unsigned int ssi1_data_mux[] = {
3323 SSI_SDATA1_MARK,
3324};
3325static const unsigned int ssi1_ctrl_pins[] = {
3326 /* SCK1, WS1 */
3327 RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 12),
3328};
3329static const unsigned int ssi1_ctrl_mux[] = {
3330 SSI_SCK1_MARK, SSI_WS1_MARK,
3331};
3332static const unsigned int ssi1_data_b_pins[] = {
3333 /* SDATA1 */
3334 RCAR_GP_PIN(4, 13),
3335};
3336static const unsigned int ssi1_data_b_mux[] = {
3337 SSI_SDATA1_B_MARK,
3338};
3339static const unsigned int ssi1_ctrl_b_pins[] = {
3340 /* SCK1, WS1 */
3341 RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 12),
3342};
3343static const unsigned int ssi1_ctrl_b_mux[] = {
3344 SSI_SCK1_B_MARK, SSI_WS1_B_MARK,
3345};
3346static const unsigned int ssi2_data_pins[] = {
3347 /* SDATA2 */
3348 RCAR_GP_PIN(5, 16),
3349};
3350static const unsigned int ssi2_data_mux[] = {
3351 SSI_SDATA2_MARK,
3352};
3353static const unsigned int ssi2_ctrl_pins[] = {
3354 /* SCK2, WS2 */
3355 RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 15),
3356};
3357static const unsigned int ssi2_ctrl_mux[] = {
3358 SSI_SCK2_MARK, SSI_WS2_MARK,
3359};
3360static const unsigned int ssi2_data_b_pins[] = {
3361 /* SDATA2 */
3362 RCAR_GP_PIN(4, 16),
3363};
3364static const unsigned int ssi2_data_b_mux[] = {
3365 SSI_SDATA2_B_MARK,
3366};
3367static const unsigned int ssi2_ctrl_b_pins[] = {
3368 /* SCK2, WS2 */
3369 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15),
3370};
3371static const unsigned int ssi2_ctrl_b_mux[] = {
3372 SSI_SCK2_B_MARK, SSI_WS2_B_MARK,
3373};
3374static const unsigned int ssi3_data_pins[] = {
3375 /* SDATA3 */
3376 RCAR_GP_PIN(5, 6),
3377};
3378static const unsigned int ssi3_data_mux[] = {
3379 SSI_SDATA3_MARK
3380};
3381static const unsigned int ssi34_ctrl_pins[] = {
3382 /* SCK34, WS34 */
3383 RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5),
3384};
3385static const unsigned int ssi34_ctrl_mux[] = {
3386 SSI_SCK34_MARK, SSI_WS34_MARK,
3387};
3388static const unsigned int ssi4_data_pins[] = {
3389 /* SDATA4 */
3390 RCAR_GP_PIN(5, 9),
3391};
3392static const unsigned int ssi4_data_mux[] = {
3393 SSI_SDATA4_MARK,
3394};
3395static const unsigned int ssi4_ctrl_pins[] = {
3396 /* SCK4, WS4 */
3397 RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8),
3398};
3399static const unsigned int ssi4_ctrl_mux[] = {
3400 SSI_SCK4_MARK, SSI_WS4_MARK,
3401};
3402static const unsigned int ssi4_data_b_pins[] = {
3403 /* SDATA4 */
3404 RCAR_GP_PIN(4, 22),
3405};
3406static const unsigned int ssi4_data_b_mux[] = {
3407 SSI_SDATA4_B_MARK,
3408};
3409static const unsigned int ssi4_ctrl_b_pins[] = {
3410 /* SCK4, WS4 */
3411 RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 21),
3412};
3413static const unsigned int ssi4_ctrl_b_mux[] = {
3414 SSI_SCK4_B_MARK, SSI_WS4_B_MARK,
3415};
3416static const unsigned int ssi5_data_pins[] = {
3417 /* SDATA5 */
3418 RCAR_GP_PIN(4, 26),
3419};
3420static const unsigned int ssi5_data_mux[] = {
3421 SSI_SDATA5_MARK,
3422};
3423static const unsigned int ssi5_ctrl_pins[] = {
3424 /* SCK5, WS5 */
3425 RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 25),
3426};
3427static const unsigned int ssi5_ctrl_mux[] = {
3428 SSI_SCK5_MARK, SSI_WS5_MARK,
3429};
3430static const unsigned int ssi5_data_b_pins[] = {
3431 /* SDATA5 */
3432 RCAR_GP_PIN(3, 21),
3433};
3434static const unsigned int ssi5_data_b_mux[] = {
3435 SSI_SDATA5_B_MARK,
3436};
3437static const unsigned int ssi5_ctrl_b_pins[] = {
3438 /* SCK5, WS5 */
3439 RCAR_GP_PIN(3, 19), RCAR_GP_PIN(3, 20),
3440};
3441static const unsigned int ssi5_ctrl_b_mux[] = {
3442 SSI_SCK5_B_MARK, SSI_WS5_B_MARK,
3443};
3444static const unsigned int ssi6_data_pins[] = {
3445 /* SDATA6 */
3446 RCAR_GP_PIN(4, 29),
3447};
3448static const unsigned int ssi6_data_mux[] = {
3449 SSI_SDATA6_MARK,
3450};
3451static const unsigned int ssi6_ctrl_pins[] = {
3452 /* SCK6, WS6 */
3453 RCAR_GP_PIN(4, 27), RCAR_GP_PIN(4, 28),
3454};
3455static const unsigned int ssi6_ctrl_mux[] = {
3456 SSI_SCK6_MARK, SSI_WS6_MARK,
3457};
3458static const unsigned int ssi6_data_b_pins[] = {
3459 /* SDATA6 */
3460 RCAR_GP_PIN(3, 24),
3461};
3462static const unsigned int ssi6_data_b_mux[] = {
3463 SSI_SDATA6_B_MARK,
3464};
3465static const unsigned int ssi6_ctrl_b_pins[] = {
3466 /* SCK6, WS6 */
3467 RCAR_GP_PIN(3, 22), RCAR_GP_PIN(3, 23),
3468};
3469static const unsigned int ssi6_ctrl_b_mux[] = {
3470 SSI_SCK6_B_MARK, SSI_WS6_B_MARK,
3471};
3472static const unsigned int ssi7_data_pins[] = {
3473 /* SDATA7 */
3474 RCAR_GP_PIN(5, 0),
3475};
3476static const unsigned int ssi7_data_mux[] = {
3477 SSI_SDATA7_MARK,
3478};
3479static const unsigned int ssi78_ctrl_pins[] = {
3480 /* SCK78, WS78 */
3481 RCAR_GP_PIN(4, 30), RCAR_GP_PIN(4, 31),
3482};
3483static const unsigned int ssi78_ctrl_mux[] = {
3484 SSI_SCK78_MARK, SSI_WS78_MARK,
3485};
3486static const unsigned int ssi7_data_b_pins[] = {
3487 /* SDATA7 */
3488 RCAR_GP_PIN(3, 27),
3489};
3490static const unsigned int ssi7_data_b_mux[] = {
3491 SSI_SDATA7_B_MARK,
3492};
3493static const unsigned int ssi78_ctrl_b_pins[] = {
3494 /* SCK78, WS78 */
3495 RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 26),
3496};
3497static const unsigned int ssi78_ctrl_b_mux[] = {
3498 SSI_SCK78_B_MARK, SSI_WS78_B_MARK,
3499};
3500static const unsigned int ssi8_data_pins[] = {
3501 /* SDATA8 */
3502 RCAR_GP_PIN(5, 10),
3503};
3504static const unsigned int ssi8_data_mux[] = {
3505 SSI_SDATA8_MARK,
3506};
3507static const unsigned int ssi8_data_b_pins[] = {
3508 /* SDATA8 */
3509 RCAR_GP_PIN(3, 28),
3510};
3511static const unsigned int ssi8_data_b_mux[] = {
3512 SSI_SDATA8_B_MARK,
3513};
3514static const unsigned int ssi9_data_pins[] = {
3515 /* SDATA9 */
3516 RCAR_GP_PIN(5, 19),
3517};
3518static const unsigned int ssi9_data_mux[] = {
3519 SSI_SDATA9_MARK,
3520};
3521static const unsigned int ssi9_ctrl_pins[] = {
3522 /* SCK9, WS9 */
3523 RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 18),
3524};
3525static const unsigned int ssi9_ctrl_mux[] = {
3526 SSI_SCK9_MARK, SSI_WS9_MARK,
3527};
3528static const unsigned int ssi9_data_b_pins[] = {
3529 /* SDATA9 */
3530 RCAR_GP_PIN(4, 19),
3531};
3532static const unsigned int ssi9_data_b_mux[] = {
3533 SSI_SDATA9_B_MARK,
3534};
3535static const unsigned int ssi9_ctrl_b_pins[] = {
3536 /* SCK9, WS9 */
3537 RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 18),
3538};
3539static const unsigned int ssi9_ctrl_b_mux[] = {
3540 SSI_SCK9_B_MARK, SSI_WS9_B_MARK,
3541};
Marek Vasut2e975d82018-06-10 16:05:18 +02003542/* - TPU -------------------------------------------------------------------- */
3543static const unsigned int tpu_to0_pins[] = {
3544 RCAR_GP_PIN(3, 31),
3545};
3546static const unsigned int tpu_to0_mux[] = {
3547 TPUTO0_MARK,
3548};
3549static const unsigned int tpu_to0_b_pins[] = {
3550 RCAR_GP_PIN(3, 30),
3551};
3552static const unsigned int tpu_to0_b_mux[] = {
3553 TPUTO0_B_MARK,
3554};
3555static const unsigned int tpu_to0_c_pins[] = {
3556 RCAR_GP_PIN(1, 18),
3557};
3558static const unsigned int tpu_to0_c_mux[] = {
3559 TPUTO0_C_MARK,
3560};
3561static const unsigned int tpu_to1_pins[] = {
3562 RCAR_GP_PIN(4, 9),
3563};
3564static const unsigned int tpu_to1_mux[] = {
3565 TPUTO1_MARK,
3566};
3567static const unsigned int tpu_to1_b_pins[] = {
3568 RCAR_GP_PIN(4, 0),
3569};
3570static const unsigned int tpu_to1_b_mux[] = {
3571 TPUTO1_B_MARK,
3572};
3573static const unsigned int tpu_to1_c_pins[] = {
3574 RCAR_GP_PIN(4, 4),
3575};
3576static const unsigned int tpu_to1_c_mux[] = {
3577 TPUTO1_C_MARK,
3578};
3579static const unsigned int tpu_to2_pins[] = {
3580 RCAR_GP_PIN(1, 3),
3581};
3582static const unsigned int tpu_to2_mux[] = {
3583 TPUTO2_MARK,
3584};
3585static const unsigned int tpu_to2_b_pins[] = {
3586 RCAR_GP_PIN(1, 0),
3587};
3588static const unsigned int tpu_to2_b_mux[] = {
3589 TPUTO2_B_MARK,
3590};
3591static const unsigned int tpu_to2_c_pins[] = {
3592 RCAR_GP_PIN(0, 22),
3593};
3594static const unsigned int tpu_to2_c_mux[] = {
3595 TPUTO2_C_MARK,
3596};
3597static const unsigned int tpu_to3_pins[] = {
3598 RCAR_GP_PIN(1, 14),
3599};
3600static const unsigned int tpu_to3_mux[] = {
3601 TPUTO3_MARK,
3602};
3603static const unsigned int tpu_to3_b_pins[] = {
3604 RCAR_GP_PIN(1, 13),
3605};
3606static const unsigned int tpu_to3_b_mux[] = {
3607 TPUTO3_B_MARK,
3608};
3609static const unsigned int tpu_to3_c_pins[] = {
3610 RCAR_GP_PIN(0, 21),
3611};
3612static const unsigned int tpu_to3_c_mux[] = {
3613 TPUTO3_C_MARK,
3614};
Marek Vasut34e93602018-01-17 22:33:59 +01003615/* - USB0 ------------------------------------------------------------------- */
3616static const unsigned int usb0_pins[] = {
3617 RCAR_GP_PIN(5, 24), /* PWEN */
3618 RCAR_GP_PIN(5, 25), /* OVC */
3619};
3620static const unsigned int usb0_mux[] = {
3621 USB0_PWEN_MARK,
3622 USB0_OVC_MARK,
3623};
3624/* - USB1 ------------------------------------------------------------------- */
3625static const unsigned int usb1_pins[] = {
3626 RCAR_GP_PIN(5, 26), /* PWEN */
3627 RCAR_GP_PIN(5, 27), /* OVC */
3628};
3629static const unsigned int usb1_mux[] = {
3630 USB1_PWEN_MARK,
3631 USB1_OVC_MARK,
3632};
3633/* - VIN0 ------------------------------------------------------------------- */
Marek Vasutf46776c2023-01-26 21:01:39 +01003634static const unsigned int vin0_data_pins[] = {
3635 /* B */
3636 RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 2),
3637 RCAR_GP_PIN(3, 3), RCAR_GP_PIN(3, 4),
3638 RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6),
3639 RCAR_GP_PIN(3, 7), RCAR_GP_PIN(3, 8),
3640 /* G */
3641 RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14),
3642 RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
3643 RCAR_GP_PIN(3, 17), RCAR_GP_PIN(3, 18),
3644 RCAR_GP_PIN(3, 19), RCAR_GP_PIN(3, 20),
3645 /* R */
3646 RCAR_GP_PIN(3, 21), RCAR_GP_PIN(3, 22),
3647 RCAR_GP_PIN(3, 23), RCAR_GP_PIN(3, 24),
3648 RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 26),
3649 RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28),
Marek Vasut34e93602018-01-17 22:33:59 +01003650};
Marek Vasutf46776c2023-01-26 21:01:39 +01003651static const unsigned int vin0_data_mux[] = {
3652 /* B */
3653 VI0_DATA0_VI0_B0_MARK, VI0_DATA1_VI0_B1_MARK,
3654 VI0_DATA2_VI0_B2_MARK, VI0_DATA3_VI0_B3_MARK,
3655 VI0_DATA4_VI0_B4_MARK, VI0_DATA5_VI0_B5_MARK,
3656 VI0_DATA6_VI0_B6_MARK, VI0_DATA7_VI0_B7_MARK,
3657 /* G */
3658 VI0_G0_MARK, VI0_G1_MARK,
3659 VI0_G2_MARK, VI0_G3_MARK,
3660 VI0_G4_MARK, VI0_G5_MARK,
3661 VI0_G6_MARK, VI0_G7_MARK,
3662 /* R */
3663 VI0_R0_MARK, VI0_R1_MARK,
3664 VI0_R2_MARK, VI0_R3_MARK,
3665 VI0_R4_MARK, VI0_R5_MARK,
3666 VI0_R6_MARK, VI0_R7_MARK,
Marek Vasut34e93602018-01-17 22:33:59 +01003667};
3668static const unsigned int vin0_data18_pins[] = {
3669 /* B */
3670 RCAR_GP_PIN(3, 3), RCAR_GP_PIN(3, 4),
3671 RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6),
3672 RCAR_GP_PIN(3, 7), RCAR_GP_PIN(3, 8),
3673 /* G */
3674 RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16),
3675 RCAR_GP_PIN(3, 17), RCAR_GP_PIN(3, 18),
3676 RCAR_GP_PIN(3, 19), RCAR_GP_PIN(3, 20),
3677 /* R */
3678 RCAR_GP_PIN(3, 23), RCAR_GP_PIN(3, 24),
3679 RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 26),
3680 RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28),
3681};
3682static const unsigned int vin0_data18_mux[] = {
3683 /* B */
3684 VI0_DATA2_VI0_B2_MARK, VI0_DATA3_VI0_B3_MARK,
3685 VI0_DATA4_VI0_B4_MARK, VI0_DATA5_VI0_B5_MARK,
3686 VI0_DATA6_VI0_B6_MARK, VI0_DATA7_VI0_B7_MARK,
3687 /* G */
3688 VI0_G2_MARK, VI0_G3_MARK,
3689 VI0_G4_MARK, VI0_G5_MARK,
3690 VI0_G6_MARK, VI0_G7_MARK,
3691 /* R */
3692 VI0_R2_MARK, VI0_R3_MARK,
3693 VI0_R4_MARK, VI0_R5_MARK,
3694 VI0_R6_MARK, VI0_R7_MARK,
3695};
3696static const unsigned int vin0_sync_pins[] = {
3697 RCAR_GP_PIN(3, 11), /* HSYNC */
3698 RCAR_GP_PIN(3, 12), /* VSYNC */
3699};
3700static const unsigned int vin0_sync_mux[] = {
3701 VI0_HSYNC_N_MARK,
3702 VI0_VSYNC_N_MARK,
3703};
3704static const unsigned int vin0_field_pins[] = {
3705 RCAR_GP_PIN(3, 10),
3706};
3707static const unsigned int vin0_field_mux[] = {
3708 VI0_FIELD_MARK,
3709};
3710static const unsigned int vin0_clkenb_pins[] = {
3711 RCAR_GP_PIN(3, 9),
3712};
3713static const unsigned int vin0_clkenb_mux[] = {
3714 VI0_CLKENB_MARK,
3715};
3716static const unsigned int vin0_clk_pins[] = {
3717 RCAR_GP_PIN(3, 0),
3718};
3719static const unsigned int vin0_clk_mux[] = {
3720 VI0_CLK_MARK,
3721};
3722/* - VIN1 ------------------------------------------------------------------- */
Marek Vasutf46776c2023-01-26 21:01:39 +01003723static const unsigned int vin1_data_pins[] = {
3724 RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 13),
3725 RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 15),
3726 RCAR_GP_PIN(5, 16), RCAR_GP_PIN(5, 17),
3727 RCAR_GP_PIN(5, 18), RCAR_GP_PIN(5, 19),
3728 RCAR_GP_PIN(1, 10), RCAR_GP_PIN(1, 11),
3729 RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 13),
Marek Vasut34e93602018-01-17 22:33:59 +01003730};
Marek Vasutf46776c2023-01-26 21:01:39 +01003731static const unsigned int vin1_data_mux[] = {
3732 VI1_DATA0_MARK, VI1_DATA1_MARK,
3733 VI1_DATA2_MARK, VI1_DATA3_MARK,
3734 VI1_DATA4_MARK, VI1_DATA5_MARK,
3735 VI1_DATA6_MARK, VI1_DATA7_MARK,
3736 VI1_DATA8_MARK, VI1_DATA9_MARK,
3737 VI1_DATA10_MARK, VI1_DATA11_MARK,
Marek Vasut34e93602018-01-17 22:33:59 +01003738};
3739static const unsigned int vin1_sync_pins[] = {
3740 RCAR_GP_PIN(5, 22), /* HSYNC */
3741 RCAR_GP_PIN(5, 23), /* VSYNC */
3742};
3743static const unsigned int vin1_sync_mux[] = {
3744 VI1_HSYNC_N_MARK,
3745 VI1_VSYNC_N_MARK,
3746};
3747static const unsigned int vin1_field_pins[] = {
3748 RCAR_GP_PIN(5, 21),
3749};
3750static const unsigned int vin1_field_mux[] = {
3751 VI1_FIELD_MARK,
3752};
3753static const unsigned int vin1_clkenb_pins[] = {
3754 RCAR_GP_PIN(5, 20),
3755};
3756static const unsigned int vin1_clkenb_mux[] = {
3757 VI1_CLKENB_MARK,
3758};
3759static const unsigned int vin1_clk_pins[] = {
3760 RCAR_GP_PIN(5, 11),
3761};
3762static const unsigned int vin1_clk_mux[] = {
3763 VI1_CLK_MARK,
3764};
3765
3766static const struct sh_pfc_pin_group pinmux_groups[] = {
3767 SH_PFC_PIN_GROUP(audio_clka),
3768 SH_PFC_PIN_GROUP(audio_clka_b),
3769 SH_PFC_PIN_GROUP(audio_clka_c),
3770 SH_PFC_PIN_GROUP(audio_clka_d),
3771 SH_PFC_PIN_GROUP(audio_clkb),
3772 SH_PFC_PIN_GROUP(audio_clkb_b),
3773 SH_PFC_PIN_GROUP(audio_clkb_c),
3774 SH_PFC_PIN_GROUP(audio_clkc),
3775 SH_PFC_PIN_GROUP(audio_clkc_b),
3776 SH_PFC_PIN_GROUP(audio_clkc_c),
3777 SH_PFC_PIN_GROUP(audio_clkout),
3778 SH_PFC_PIN_GROUP(audio_clkout_b),
3779 SH_PFC_PIN_GROUP(audio_clkout_c),
3780 SH_PFC_PIN_GROUP(avb_link),
3781 SH_PFC_PIN_GROUP(avb_magic),
3782 SH_PFC_PIN_GROUP(avb_phy_int),
3783 SH_PFC_PIN_GROUP(avb_mdio),
3784 SH_PFC_PIN_GROUP(avb_mii),
3785 SH_PFC_PIN_GROUP(avb_gmii),
Marek Vasut2e975d82018-06-10 16:05:18 +02003786 SH_PFC_PIN_GROUP(can0_data),
3787 SH_PFC_PIN_GROUP(can0_data_b),
3788 SH_PFC_PIN_GROUP(can0_data_c),
3789 SH_PFC_PIN_GROUP(can0_data_d),
3790 SH_PFC_PIN_GROUP(can1_data),
3791 SH_PFC_PIN_GROUP(can1_data_b),
3792 SH_PFC_PIN_GROUP(can1_data_c),
3793 SH_PFC_PIN_GROUP(can1_data_d),
3794 SH_PFC_PIN_GROUP(can_clk),
3795 SH_PFC_PIN_GROUP(can_clk_b),
3796 SH_PFC_PIN_GROUP(can_clk_c),
3797 SH_PFC_PIN_GROUP(can_clk_d),
Marek Vasut34e93602018-01-17 22:33:59 +01003798 SH_PFC_PIN_GROUP(du0_rgb666),
3799 SH_PFC_PIN_GROUP(du0_rgb888),
3800 SH_PFC_PIN_GROUP(du0_clk0_out),
3801 SH_PFC_PIN_GROUP(du0_clk1_out),
3802 SH_PFC_PIN_GROUP(du0_clk_in),
3803 SH_PFC_PIN_GROUP(du0_sync),
3804 SH_PFC_PIN_GROUP(du0_oddf),
3805 SH_PFC_PIN_GROUP(du0_cde),
3806 SH_PFC_PIN_GROUP(du0_disp),
3807 SH_PFC_PIN_GROUP(du1_rgb666),
3808 SH_PFC_PIN_GROUP(du1_rgb888),
3809 SH_PFC_PIN_GROUP(du1_clk0_out),
3810 SH_PFC_PIN_GROUP(du1_clk1_out),
3811 SH_PFC_PIN_GROUP(du1_clk_in),
3812 SH_PFC_PIN_GROUP(du1_sync),
3813 SH_PFC_PIN_GROUP(du1_oddf),
3814 SH_PFC_PIN_GROUP(du1_cde),
3815 SH_PFC_PIN_GROUP(du1_disp),
3816 SH_PFC_PIN_GROUP(eth_link),
3817 SH_PFC_PIN_GROUP(eth_magic),
3818 SH_PFC_PIN_GROUP(eth_mdio),
3819 SH_PFC_PIN_GROUP(eth_rmii),
3820 SH_PFC_PIN_GROUP(eth_link_b),
3821 SH_PFC_PIN_GROUP(eth_magic_b),
3822 SH_PFC_PIN_GROUP(eth_mdio_b),
3823 SH_PFC_PIN_GROUP(eth_rmii_b),
3824 SH_PFC_PIN_GROUP(hscif0_data),
3825 SH_PFC_PIN_GROUP(hscif0_clk),
3826 SH_PFC_PIN_GROUP(hscif0_ctrl),
3827 SH_PFC_PIN_GROUP(hscif0_data_b),
3828 SH_PFC_PIN_GROUP(hscif0_clk_b),
3829 SH_PFC_PIN_GROUP(hscif1_data),
3830 SH_PFC_PIN_GROUP(hscif1_clk),
3831 SH_PFC_PIN_GROUP(hscif1_ctrl),
3832 SH_PFC_PIN_GROUP(hscif1_data_b),
3833 SH_PFC_PIN_GROUP(hscif1_ctrl_b),
3834 SH_PFC_PIN_GROUP(hscif2_data),
3835 SH_PFC_PIN_GROUP(hscif2_clk),
3836 SH_PFC_PIN_GROUP(hscif2_ctrl),
3837 SH_PFC_PIN_GROUP(i2c0),
3838 SH_PFC_PIN_GROUP(i2c0_b),
3839 SH_PFC_PIN_GROUP(i2c0_c),
3840 SH_PFC_PIN_GROUP(i2c0_d),
3841 SH_PFC_PIN_GROUP(i2c0_e),
3842 SH_PFC_PIN_GROUP(i2c1),
3843 SH_PFC_PIN_GROUP(i2c1_b),
3844 SH_PFC_PIN_GROUP(i2c1_c),
3845 SH_PFC_PIN_GROUP(i2c1_d),
3846 SH_PFC_PIN_GROUP(i2c1_e),
3847 SH_PFC_PIN_GROUP(i2c2),
3848 SH_PFC_PIN_GROUP(i2c2_b),
3849 SH_PFC_PIN_GROUP(i2c2_c),
3850 SH_PFC_PIN_GROUP(i2c2_d),
3851 SH_PFC_PIN_GROUP(i2c2_e),
3852 SH_PFC_PIN_GROUP(i2c3),
3853 SH_PFC_PIN_GROUP(i2c3_b),
3854 SH_PFC_PIN_GROUP(i2c3_c),
3855 SH_PFC_PIN_GROUP(i2c3_d),
3856 SH_PFC_PIN_GROUP(i2c3_e),
3857 SH_PFC_PIN_GROUP(i2c4),
3858 SH_PFC_PIN_GROUP(i2c4_b),
3859 SH_PFC_PIN_GROUP(i2c4_c),
3860 SH_PFC_PIN_GROUP(i2c4_d),
3861 SH_PFC_PIN_GROUP(i2c4_e),
Marek Vasut2e975d82018-06-10 16:05:18 +02003862 SH_PFC_PIN_GROUP(i2c5),
3863 SH_PFC_PIN_GROUP(i2c5_b),
3864 SH_PFC_PIN_GROUP(i2c5_c),
3865 SH_PFC_PIN_GROUP(i2c5_d),
Marek Vasut34e93602018-01-17 22:33:59 +01003866 SH_PFC_PIN_GROUP(intc_irq0),
3867 SH_PFC_PIN_GROUP(intc_irq1),
3868 SH_PFC_PIN_GROUP(intc_irq2),
3869 SH_PFC_PIN_GROUP(intc_irq3),
3870 SH_PFC_PIN_GROUP(intc_irq4),
3871 SH_PFC_PIN_GROUP(intc_irq5),
3872 SH_PFC_PIN_GROUP(intc_irq6),
3873 SH_PFC_PIN_GROUP(intc_irq7),
3874 SH_PFC_PIN_GROUP(intc_irq8),
3875 SH_PFC_PIN_GROUP(intc_irq9),
Marek Vasutf46776c2023-01-26 21:01:39 +01003876 BUS_DATA_PIN_GROUP(mmc_data, 1),
3877 BUS_DATA_PIN_GROUP(mmc_data, 4),
3878 BUS_DATA_PIN_GROUP(mmc_data, 8),
Marek Vasut34e93602018-01-17 22:33:59 +01003879 SH_PFC_PIN_GROUP(mmc_ctrl),
3880 SH_PFC_PIN_GROUP(msiof0_clk),
3881 SH_PFC_PIN_GROUP(msiof0_sync),
3882 SH_PFC_PIN_GROUP(msiof0_ss1),
3883 SH_PFC_PIN_GROUP(msiof0_ss2),
3884 SH_PFC_PIN_GROUP(msiof0_rx),
3885 SH_PFC_PIN_GROUP(msiof0_tx),
3886 SH_PFC_PIN_GROUP(msiof1_clk),
3887 SH_PFC_PIN_GROUP(msiof1_sync),
3888 SH_PFC_PIN_GROUP(msiof1_ss1),
3889 SH_PFC_PIN_GROUP(msiof1_ss2),
3890 SH_PFC_PIN_GROUP(msiof1_rx),
3891 SH_PFC_PIN_GROUP(msiof1_tx),
3892 SH_PFC_PIN_GROUP(msiof1_clk_b),
3893 SH_PFC_PIN_GROUP(msiof1_sync_b),
3894 SH_PFC_PIN_GROUP(msiof1_ss1_b),
3895 SH_PFC_PIN_GROUP(msiof1_ss2_b),
3896 SH_PFC_PIN_GROUP(msiof1_rx_b),
3897 SH_PFC_PIN_GROUP(msiof1_tx_b),
3898 SH_PFC_PIN_GROUP(msiof2_clk),
3899 SH_PFC_PIN_GROUP(msiof2_sync),
3900 SH_PFC_PIN_GROUP(msiof2_ss1),
3901 SH_PFC_PIN_GROUP(msiof2_ss2),
3902 SH_PFC_PIN_GROUP(msiof2_rx),
3903 SH_PFC_PIN_GROUP(msiof2_tx),
3904 SH_PFC_PIN_GROUP(msiof2_clk_b),
3905 SH_PFC_PIN_GROUP(msiof2_sync_b),
3906 SH_PFC_PIN_GROUP(msiof2_ss1_b),
3907 SH_PFC_PIN_GROUP(msiof2_ss2_b),
3908 SH_PFC_PIN_GROUP(msiof2_rx_b),
3909 SH_PFC_PIN_GROUP(msiof2_tx_b),
Marek Vasut2e975d82018-06-10 16:05:18 +02003910 SH_PFC_PIN_GROUP(pwm0),
3911 SH_PFC_PIN_GROUP(pwm0_b),
3912 SH_PFC_PIN_GROUP(pwm1),
3913 SH_PFC_PIN_GROUP(pwm1_b),
3914 SH_PFC_PIN_GROUP(pwm1_c),
3915 SH_PFC_PIN_GROUP(pwm2),
3916 SH_PFC_PIN_GROUP(pwm2_b),
3917 SH_PFC_PIN_GROUP(pwm2_c),
3918 SH_PFC_PIN_GROUP(pwm3),
3919 SH_PFC_PIN_GROUP(pwm3_b),
3920 SH_PFC_PIN_GROUP(pwm4),
3921 SH_PFC_PIN_GROUP(pwm4_b),
3922 SH_PFC_PIN_GROUP(pwm5),
3923 SH_PFC_PIN_GROUP(pwm5_b),
3924 SH_PFC_PIN_GROUP(pwm5_c),
3925 SH_PFC_PIN_GROUP(pwm6),
3926 SH_PFC_PIN_GROUP(pwm6_b),
Marek Vasut34e93602018-01-17 22:33:59 +01003927 SH_PFC_PIN_GROUP(qspi_ctrl),
Marek Vasutf46776c2023-01-26 21:01:39 +01003928 BUS_DATA_PIN_GROUP(qspi_data, 2),
3929 BUS_DATA_PIN_GROUP(qspi_data, 4),
Marek Vasut34e93602018-01-17 22:33:59 +01003930 SH_PFC_PIN_GROUP(scif0_data),
3931 SH_PFC_PIN_GROUP(scif0_data_b),
3932 SH_PFC_PIN_GROUP(scif0_data_c),
3933 SH_PFC_PIN_GROUP(scif0_data_d),
3934 SH_PFC_PIN_GROUP(scif1_data),
3935 SH_PFC_PIN_GROUP(scif1_clk),
3936 SH_PFC_PIN_GROUP(scif1_data_b),
3937 SH_PFC_PIN_GROUP(scif1_clk_b),
3938 SH_PFC_PIN_GROUP(scif1_data_c),
3939 SH_PFC_PIN_GROUP(scif1_clk_c),
3940 SH_PFC_PIN_GROUP(scif2_data),
3941 SH_PFC_PIN_GROUP(scif2_clk),
3942 SH_PFC_PIN_GROUP(scif2_data_b),
3943 SH_PFC_PIN_GROUP(scif2_clk_b),
3944 SH_PFC_PIN_GROUP(scif2_data_c),
3945 SH_PFC_PIN_GROUP(scif2_clk_c),
3946 SH_PFC_PIN_GROUP(scif3_data),
3947 SH_PFC_PIN_GROUP(scif3_clk),
3948 SH_PFC_PIN_GROUP(scif3_data_b),
3949 SH_PFC_PIN_GROUP(scif3_clk_b),
3950 SH_PFC_PIN_GROUP(scif4_data),
3951 SH_PFC_PIN_GROUP(scif4_data_b),
3952 SH_PFC_PIN_GROUP(scif4_data_c),
3953 SH_PFC_PIN_GROUP(scif4_data_d),
3954 SH_PFC_PIN_GROUP(scif4_data_e),
3955 SH_PFC_PIN_GROUP(scif5_data),
3956 SH_PFC_PIN_GROUP(scif5_data_b),
3957 SH_PFC_PIN_GROUP(scif5_data_c),
3958 SH_PFC_PIN_GROUP(scif5_data_d),
3959 SH_PFC_PIN_GROUP(scifa0_data),
3960 SH_PFC_PIN_GROUP(scifa0_data_b),
3961 SH_PFC_PIN_GROUP(scifa0_data_c),
3962 SH_PFC_PIN_GROUP(scifa0_data_d),
3963 SH_PFC_PIN_GROUP(scifa1_data),
3964 SH_PFC_PIN_GROUP(scifa1_clk),
3965 SH_PFC_PIN_GROUP(scifa1_data_b),
3966 SH_PFC_PIN_GROUP(scifa1_clk_b),
3967 SH_PFC_PIN_GROUP(scifa1_data_c),
3968 SH_PFC_PIN_GROUP(scifa1_clk_c),
3969 SH_PFC_PIN_GROUP(scifa2_data),
3970 SH_PFC_PIN_GROUP(scifa2_clk),
3971 SH_PFC_PIN_GROUP(scifa2_data_b),
3972 SH_PFC_PIN_GROUP(scifa2_clk_b),
3973 SH_PFC_PIN_GROUP(scifa3_data),
3974 SH_PFC_PIN_GROUP(scifa3_clk),
3975 SH_PFC_PIN_GROUP(scifa3_data_b),
3976 SH_PFC_PIN_GROUP(scifa3_clk_b),
3977 SH_PFC_PIN_GROUP(scifa4_data),
3978 SH_PFC_PIN_GROUP(scifa4_data_b),
3979 SH_PFC_PIN_GROUP(scifa4_data_c),
3980 SH_PFC_PIN_GROUP(scifa4_data_d),
3981 SH_PFC_PIN_GROUP(scifa5_data),
3982 SH_PFC_PIN_GROUP(scifa5_data_b),
3983 SH_PFC_PIN_GROUP(scifa5_data_c),
3984 SH_PFC_PIN_GROUP(scifa5_data_d),
3985 SH_PFC_PIN_GROUP(scifb0_data),
3986 SH_PFC_PIN_GROUP(scifb0_clk),
3987 SH_PFC_PIN_GROUP(scifb0_ctrl),
3988 SH_PFC_PIN_GROUP(scifb1_data),
3989 SH_PFC_PIN_GROUP(scifb1_clk),
3990 SH_PFC_PIN_GROUP(scifb2_data),
3991 SH_PFC_PIN_GROUP(scifb2_clk),
3992 SH_PFC_PIN_GROUP(scifb2_ctrl),
3993 SH_PFC_PIN_GROUP(scif_clk),
3994 SH_PFC_PIN_GROUP(scif_clk_b),
Marek Vasutf46776c2023-01-26 21:01:39 +01003995 BUS_DATA_PIN_GROUP(sdhi0_data, 1),
3996 BUS_DATA_PIN_GROUP(sdhi0_data, 4),
Marek Vasut34e93602018-01-17 22:33:59 +01003997 SH_PFC_PIN_GROUP(sdhi0_ctrl),
3998 SH_PFC_PIN_GROUP(sdhi0_cd),
3999 SH_PFC_PIN_GROUP(sdhi0_wp),
Marek Vasutf46776c2023-01-26 21:01:39 +01004000 BUS_DATA_PIN_GROUP(sdhi1_data, 1),
4001 BUS_DATA_PIN_GROUP(sdhi1_data, 4),
Marek Vasut34e93602018-01-17 22:33:59 +01004002 SH_PFC_PIN_GROUP(sdhi1_ctrl),
4003 SH_PFC_PIN_GROUP(sdhi1_cd),
4004 SH_PFC_PIN_GROUP(sdhi1_wp),
Marek Vasutf46776c2023-01-26 21:01:39 +01004005 BUS_DATA_PIN_GROUP(sdhi2_data, 1),
4006 BUS_DATA_PIN_GROUP(sdhi2_data, 4),
Marek Vasut34e93602018-01-17 22:33:59 +01004007 SH_PFC_PIN_GROUP(sdhi2_ctrl),
4008 SH_PFC_PIN_GROUP(sdhi2_cd),
4009 SH_PFC_PIN_GROUP(sdhi2_wp),
4010 SH_PFC_PIN_GROUP(ssi0_data),
4011 SH_PFC_PIN_GROUP(ssi0129_ctrl),
4012 SH_PFC_PIN_GROUP(ssi1_data),
4013 SH_PFC_PIN_GROUP(ssi1_ctrl),
4014 SH_PFC_PIN_GROUP(ssi1_data_b),
4015 SH_PFC_PIN_GROUP(ssi1_ctrl_b),
4016 SH_PFC_PIN_GROUP(ssi2_data),
4017 SH_PFC_PIN_GROUP(ssi2_ctrl),
4018 SH_PFC_PIN_GROUP(ssi2_data_b),
4019 SH_PFC_PIN_GROUP(ssi2_ctrl_b),
4020 SH_PFC_PIN_GROUP(ssi3_data),
4021 SH_PFC_PIN_GROUP(ssi34_ctrl),
4022 SH_PFC_PIN_GROUP(ssi4_data),
4023 SH_PFC_PIN_GROUP(ssi4_ctrl),
4024 SH_PFC_PIN_GROUP(ssi4_data_b),
4025 SH_PFC_PIN_GROUP(ssi4_ctrl_b),
4026 SH_PFC_PIN_GROUP(ssi5_data),
4027 SH_PFC_PIN_GROUP(ssi5_ctrl),
4028 SH_PFC_PIN_GROUP(ssi5_data_b),
4029 SH_PFC_PIN_GROUP(ssi5_ctrl_b),
4030 SH_PFC_PIN_GROUP(ssi6_data),
4031 SH_PFC_PIN_GROUP(ssi6_ctrl),
4032 SH_PFC_PIN_GROUP(ssi6_data_b),
4033 SH_PFC_PIN_GROUP(ssi6_ctrl_b),
4034 SH_PFC_PIN_GROUP(ssi7_data),
4035 SH_PFC_PIN_GROUP(ssi78_ctrl),
4036 SH_PFC_PIN_GROUP(ssi7_data_b),
4037 SH_PFC_PIN_GROUP(ssi78_ctrl_b),
4038 SH_PFC_PIN_GROUP(ssi8_data),
4039 SH_PFC_PIN_GROUP(ssi8_data_b),
4040 SH_PFC_PIN_GROUP(ssi9_data),
4041 SH_PFC_PIN_GROUP(ssi9_ctrl),
4042 SH_PFC_PIN_GROUP(ssi9_data_b),
4043 SH_PFC_PIN_GROUP(ssi9_ctrl_b),
Marek Vasut2e975d82018-06-10 16:05:18 +02004044 SH_PFC_PIN_GROUP(tpu_to0),
4045 SH_PFC_PIN_GROUP(tpu_to0_b),
4046 SH_PFC_PIN_GROUP(tpu_to0_c),
4047 SH_PFC_PIN_GROUP(tpu_to1),
4048 SH_PFC_PIN_GROUP(tpu_to1_b),
4049 SH_PFC_PIN_GROUP(tpu_to1_c),
4050 SH_PFC_PIN_GROUP(tpu_to2),
4051 SH_PFC_PIN_GROUP(tpu_to2_b),
4052 SH_PFC_PIN_GROUP(tpu_to2_c),
4053 SH_PFC_PIN_GROUP(tpu_to3),
4054 SH_PFC_PIN_GROUP(tpu_to3_b),
4055 SH_PFC_PIN_GROUP(tpu_to3_c),
Marek Vasut34e93602018-01-17 22:33:59 +01004056 SH_PFC_PIN_GROUP(usb0),
4057 SH_PFC_PIN_GROUP(usb1),
Marek Vasutf46776c2023-01-26 21:01:39 +01004058 BUS_DATA_PIN_GROUP(vin0_data, 24),
4059 BUS_DATA_PIN_GROUP(vin0_data, 20),
Marek Vasut34e93602018-01-17 22:33:59 +01004060 SH_PFC_PIN_GROUP(vin0_data18),
Marek Vasutf46776c2023-01-26 21:01:39 +01004061 BUS_DATA_PIN_GROUP(vin0_data, 16),
4062 BUS_DATA_PIN_GROUP(vin0_data, 12),
4063 BUS_DATA_PIN_GROUP(vin0_data, 10),
4064 BUS_DATA_PIN_GROUP(vin0_data, 8),
Marek Vasut34e93602018-01-17 22:33:59 +01004065 SH_PFC_PIN_GROUP(vin0_sync),
4066 SH_PFC_PIN_GROUP(vin0_field),
4067 SH_PFC_PIN_GROUP(vin0_clkenb),
4068 SH_PFC_PIN_GROUP(vin0_clk),
Marek Vasutf46776c2023-01-26 21:01:39 +01004069 BUS_DATA_PIN_GROUP(vin1_data, 12),
4070 BUS_DATA_PIN_GROUP(vin1_data, 10),
4071 BUS_DATA_PIN_GROUP(vin1_data, 8),
Marek Vasut34e93602018-01-17 22:33:59 +01004072 SH_PFC_PIN_GROUP(vin1_sync),
4073 SH_PFC_PIN_GROUP(vin1_field),
4074 SH_PFC_PIN_GROUP(vin1_clkenb),
4075 SH_PFC_PIN_GROUP(vin1_clk),
4076};
4077
4078static const char * const audio_clk_groups[] = {
4079 "audio_clka",
4080 "audio_clka_b",
4081 "audio_clka_c",
4082 "audio_clka_d",
4083 "audio_clkb",
4084 "audio_clkb_b",
4085 "audio_clkb_c",
4086 "audio_clkc",
4087 "audio_clkc_b",
4088 "audio_clkc_c",
4089 "audio_clkout",
4090 "audio_clkout_b",
4091 "audio_clkout_c",
4092};
4093
4094static const char * const avb_groups[] = {
4095 "avb_link",
4096 "avb_magic",
4097 "avb_phy_int",
4098 "avb_mdio",
4099 "avb_mii",
4100 "avb_gmii",
4101};
4102
Marek Vasut2e975d82018-06-10 16:05:18 +02004103static const char * const can0_groups[] = {
4104 "can0_data",
4105 "can0_data_b",
4106 "can0_data_c",
4107 "can0_data_d",
4108 /*
4109 * Retained for backwards compatibility, use can_clk_groups in new
4110 * designs.
4111 */
4112 "can_clk",
4113 "can_clk_b",
4114 "can_clk_c",
4115 "can_clk_d",
4116};
4117
4118static const char * const can1_groups[] = {
4119 "can1_data",
4120 "can1_data_b",
4121 "can1_data_c",
4122 "can1_data_d",
4123 /*
4124 * Retained for backwards compatibility, use can_clk_groups in new
4125 * designs.
4126 */
4127 "can_clk",
4128 "can_clk_b",
4129 "can_clk_c",
4130 "can_clk_d",
4131};
4132
4133/*
4134 * can_clk_groups allows for independent configuration, use can_clk function
4135 * in new designs.
4136 */
4137static const char * const can_clk_groups[] = {
4138 "can_clk",
4139 "can_clk_b",
4140 "can_clk_c",
4141 "can_clk_d",
4142};
4143
Marek Vasut34e93602018-01-17 22:33:59 +01004144static const char * const du0_groups[] = {
4145 "du0_rgb666",
4146 "du0_rgb888",
4147 "du0_clk0_out",
4148 "du0_clk1_out",
4149 "du0_clk_in",
4150 "du0_sync",
4151 "du0_oddf",
4152 "du0_cde",
4153 "du0_disp",
4154};
4155
4156static const char * const du1_groups[] = {
4157 "du1_rgb666",
4158 "du1_rgb888",
4159 "du1_clk0_out",
4160 "du1_clk1_out",
4161 "du1_clk_in",
4162 "du1_sync",
4163 "du1_oddf",
4164 "du1_cde",
4165 "du1_disp",
4166};
4167
4168static const char * const eth_groups[] = {
4169 "eth_link",
4170 "eth_magic",
4171 "eth_mdio",
4172 "eth_rmii",
4173 "eth_link_b",
4174 "eth_magic_b",
4175 "eth_mdio_b",
4176 "eth_rmii_b",
4177};
4178
4179static const char * const hscif0_groups[] = {
4180 "hscif0_data",
4181 "hscif0_clk",
4182 "hscif0_ctrl",
4183 "hscif0_data_b",
4184 "hscif0_clk_b",
4185};
4186
4187static const char * const hscif1_groups[] = {
4188 "hscif1_data",
4189 "hscif1_clk",
4190 "hscif1_ctrl",
4191 "hscif1_data_b",
4192 "hscif1_ctrl_b",
4193};
4194
4195static const char * const hscif2_groups[] = {
4196 "hscif2_data",
4197 "hscif2_clk",
4198 "hscif2_ctrl",
4199};
4200
4201static const char * const i2c0_groups[] = {
4202 "i2c0",
4203 "i2c0_b",
4204 "i2c0_c",
4205 "i2c0_d",
4206 "i2c0_e",
4207};
4208
4209static const char * const i2c1_groups[] = {
4210 "i2c1",
4211 "i2c1_b",
4212 "i2c1_c",
4213 "i2c1_d",
4214 "i2c1_e",
4215};
4216
4217static const char * const i2c2_groups[] = {
4218 "i2c2",
4219 "i2c2_b",
4220 "i2c2_c",
4221 "i2c2_d",
4222 "i2c2_e",
4223};
4224
4225static const char * const i2c3_groups[] = {
4226 "i2c3",
4227 "i2c3_b",
4228 "i2c3_c",
4229 "i2c3_d",
4230 "i2c3_e",
4231};
4232
4233static const char * const i2c4_groups[] = {
4234 "i2c4",
4235 "i2c4_b",
4236 "i2c4_c",
4237 "i2c4_d",
4238 "i2c4_e",
4239};
4240
Marek Vasut2e975d82018-06-10 16:05:18 +02004241static const char * const i2c5_groups[] = {
4242 "i2c5",
4243 "i2c5_b",
4244 "i2c5_c",
4245 "i2c5_d",
4246};
4247
Marek Vasut34e93602018-01-17 22:33:59 +01004248static const char * const intc_groups[] = {
4249 "intc_irq0",
4250 "intc_irq1",
4251 "intc_irq2",
4252 "intc_irq3",
4253 "intc_irq4",
4254 "intc_irq5",
4255 "intc_irq6",
4256 "intc_irq7",
4257 "intc_irq8",
4258 "intc_irq9",
4259};
4260
4261static const char * const mmc_groups[] = {
4262 "mmc_data1",
4263 "mmc_data4",
4264 "mmc_data8",
4265 "mmc_ctrl",
4266};
4267
4268static const char * const msiof0_groups[] = {
4269 "msiof0_clk",
4270 "msiof0_sync",
4271 "msiof0_ss1",
4272 "msiof0_ss2",
4273 "msiof0_rx",
4274 "msiof0_tx",
4275};
4276
4277static const char * const msiof1_groups[] = {
4278 "msiof1_clk",
4279 "msiof1_sync",
4280 "msiof1_ss1",
4281 "msiof1_ss2",
4282 "msiof1_rx",
4283 "msiof1_tx",
4284 "msiof1_clk_b",
4285 "msiof1_sync_b",
4286 "msiof1_ss1_b",
4287 "msiof1_ss2_b",
4288 "msiof1_rx_b",
4289 "msiof1_tx_b",
4290};
4291
4292static const char * const msiof2_groups[] = {
4293 "msiof2_clk",
4294 "msiof2_sync",
4295 "msiof2_ss1",
4296 "msiof2_ss2",
4297 "msiof2_rx",
4298 "msiof2_tx",
4299 "msiof2_clk_b",
4300 "msiof2_sync_b",
4301 "msiof2_ss1_b",
4302 "msiof2_ss2_b",
4303 "msiof2_rx_b",
4304 "msiof2_tx_b",
4305};
4306
Marek Vasut2e975d82018-06-10 16:05:18 +02004307static const char * const pwm0_groups[] = {
4308 "pwm0",
4309 "pwm0_b",
4310};
4311
4312static const char * const pwm1_groups[] = {
4313 "pwm1",
4314 "pwm1_b",
4315 "pwm1_c",
4316};
4317
4318static const char * const pwm2_groups[] = {
4319 "pwm2",
4320 "pwm2_b",
4321 "pwm2_c",
4322};
4323
4324static const char * const pwm3_groups[] = {
4325 "pwm3",
4326 "pwm3_b",
4327};
4328
4329static const char * const pwm4_groups[] = {
4330 "pwm4",
4331 "pwm4_b",
4332};
4333
4334static const char * const pwm5_groups[] = {
4335 "pwm5",
4336 "pwm5_b",
4337 "pwm5_c",
4338};
4339
4340static const char * const pwm6_groups[] = {
4341 "pwm6",
4342 "pwm6_b",
4343};
4344
Marek Vasut34e93602018-01-17 22:33:59 +01004345static const char * const qspi_groups[] = {
4346 "qspi_ctrl",
4347 "qspi_data2",
4348 "qspi_data4",
4349};
4350
4351static const char * const scif0_groups[] = {
4352 "scif0_data",
4353 "scif0_data_b",
4354 "scif0_data_c",
4355 "scif0_data_d",
4356};
4357
4358static const char * const scif1_groups[] = {
4359 "scif1_data",
4360 "scif1_clk",
4361 "scif1_data_b",
4362 "scif1_clk_b",
4363 "scif1_data_c",
4364 "scif1_clk_c",
4365};
4366
4367static const char * const scif2_groups[] = {
4368 "scif2_data",
4369 "scif2_clk",
4370 "scif2_data_b",
4371 "scif2_clk_b",
4372 "scif2_data_c",
4373 "scif2_clk_c",
4374};
4375
4376static const char * const scif3_groups[] = {
4377 "scif3_data",
4378 "scif3_clk",
4379 "scif3_data_b",
4380 "scif3_clk_b",
4381};
4382
4383static const char * const scif4_groups[] = {
4384 "scif4_data",
4385 "scif4_data_b",
4386 "scif4_data_c",
4387 "scif4_data_d",
4388 "scif4_data_e",
4389};
4390
4391static const char * const scif5_groups[] = {
4392 "scif5_data",
4393 "scif5_data_b",
4394 "scif5_data_c",
4395 "scif5_data_d",
4396};
4397
4398static const char * const scifa0_groups[] = {
4399 "scifa0_data",
4400 "scifa0_data_b",
4401 "scifa0_data_c",
4402 "scifa0_data_d",
4403};
4404
4405static const char * const scifa1_groups[] = {
4406 "scifa1_data",
4407 "scifa1_clk",
4408 "scifa1_data_b",
4409 "scifa1_clk_b",
4410 "scifa1_data_c",
4411 "scifa1_clk_c",
4412};
4413
4414static const char * const scifa2_groups[] = {
4415 "scifa2_data",
4416 "scifa2_clk",
4417 "scifa2_data_b",
4418 "scifa2_clk_b",
4419};
4420
4421static const char * const scifa3_groups[] = {
4422 "scifa3_data",
4423 "scifa3_clk",
4424 "scifa3_data_b",
4425 "scifa3_clk_b",
4426};
4427
4428static const char * const scifa4_groups[] = {
4429 "scifa4_data",
4430 "scifa4_data_b",
4431 "scifa4_data_c",
4432 "scifa4_data_d",
4433};
4434
4435static const char * const scifa5_groups[] = {
4436 "scifa5_data",
4437 "scifa5_data_b",
4438 "scifa5_data_c",
4439 "scifa5_data_d",
4440};
4441
4442static const char * const scifb0_groups[] = {
4443 "scifb0_data",
4444 "scifb0_clk",
4445 "scifb0_ctrl",
4446};
4447
4448static const char * const scifb1_groups[] = {
4449 "scifb1_data",
4450 "scifb1_clk",
4451};
4452
4453static const char * const scifb2_groups[] = {
4454 "scifb2_data",
4455 "scifb2_clk",
4456 "scifb2_ctrl",
4457};
4458
4459static const char * const scif_clk_groups[] = {
4460 "scif_clk",
4461 "scif_clk_b",
4462};
4463
4464static const char * const sdhi0_groups[] = {
4465 "sdhi0_data1",
4466 "sdhi0_data4",
4467 "sdhi0_ctrl",
4468 "sdhi0_cd",
4469 "sdhi0_wp",
4470};
4471
4472static const char * const sdhi1_groups[] = {
4473 "sdhi1_data1",
4474 "sdhi1_data4",
4475 "sdhi1_ctrl",
4476 "sdhi1_cd",
4477 "sdhi1_wp",
4478};
4479
4480static const char * const sdhi2_groups[] = {
4481 "sdhi2_data1",
4482 "sdhi2_data4",
4483 "sdhi2_ctrl",
4484 "sdhi2_cd",
4485 "sdhi2_wp",
4486};
4487
4488static const char * const ssi_groups[] = {
4489 "ssi0_data",
4490 "ssi0129_ctrl",
4491 "ssi1_data",
4492 "ssi1_ctrl",
4493 "ssi1_data_b",
4494 "ssi1_ctrl_b",
4495 "ssi2_data",
4496 "ssi2_ctrl",
4497 "ssi2_data_b",
4498 "ssi2_ctrl_b",
4499 "ssi3_data",
4500 "ssi34_ctrl",
4501 "ssi4_data",
4502 "ssi4_ctrl",
4503 "ssi4_data_b",
4504 "ssi4_ctrl_b",
4505 "ssi5_data",
4506 "ssi5_ctrl",
4507 "ssi5_data_b",
4508 "ssi5_ctrl_b",
4509 "ssi6_data",
4510 "ssi6_ctrl",
4511 "ssi6_data_b",
4512 "ssi6_ctrl_b",
4513 "ssi7_data",
4514 "ssi78_ctrl",
4515 "ssi7_data_b",
4516 "ssi78_ctrl_b",
4517 "ssi8_data",
4518 "ssi8_data_b",
4519 "ssi9_data",
4520 "ssi9_ctrl",
4521 "ssi9_data_b",
4522 "ssi9_ctrl_b",
4523};
4524
Marek Vasut2e975d82018-06-10 16:05:18 +02004525static const char * const tpu_groups[] = {
4526 "tpu_to0",
4527 "tpu_to0_b",
4528 "tpu_to0_c",
4529 "tpu_to1",
4530 "tpu_to1_b",
4531 "tpu_to1_c",
4532 "tpu_to2",
4533 "tpu_to2_b",
4534 "tpu_to2_c",
4535 "tpu_to3",
4536 "tpu_to3_b",
4537 "tpu_to3_c",
4538};
4539
Marek Vasut34e93602018-01-17 22:33:59 +01004540static const char * const usb0_groups[] = {
4541 "usb0",
4542};
4543
4544static const char * const usb1_groups[] = {
4545 "usb1",
4546};
4547
4548static const char * const vin0_groups[] = {
4549 "vin0_data24",
4550 "vin0_data20",
4551 "vin0_data18",
4552 "vin0_data16",
4553 "vin0_data12",
4554 "vin0_data10",
4555 "vin0_data8",
4556 "vin0_sync",
4557 "vin0_field",
4558 "vin0_clkenb",
4559 "vin0_clk",
4560};
4561
4562static const char * const vin1_groups[] = {
4563 "vin1_data12",
4564 "vin1_data10",
4565 "vin1_data8",
4566 "vin1_sync",
4567 "vin1_field",
4568 "vin1_clkenb",
4569 "vin1_clk",
4570};
4571
4572static const struct sh_pfc_function pinmux_functions[] = {
4573 SH_PFC_FUNCTION(audio_clk),
4574 SH_PFC_FUNCTION(avb),
Marek Vasut2e975d82018-06-10 16:05:18 +02004575 SH_PFC_FUNCTION(can0),
4576 SH_PFC_FUNCTION(can1),
4577 SH_PFC_FUNCTION(can_clk),
Marek Vasut34e93602018-01-17 22:33:59 +01004578 SH_PFC_FUNCTION(du0),
4579 SH_PFC_FUNCTION(du1),
4580 SH_PFC_FUNCTION(eth),
4581 SH_PFC_FUNCTION(hscif0),
4582 SH_PFC_FUNCTION(hscif1),
4583 SH_PFC_FUNCTION(hscif2),
4584 SH_PFC_FUNCTION(i2c0),
4585 SH_PFC_FUNCTION(i2c1),
4586 SH_PFC_FUNCTION(i2c2),
4587 SH_PFC_FUNCTION(i2c3),
4588 SH_PFC_FUNCTION(i2c4),
Marek Vasut2e975d82018-06-10 16:05:18 +02004589 SH_PFC_FUNCTION(i2c5),
Marek Vasut34e93602018-01-17 22:33:59 +01004590 SH_PFC_FUNCTION(intc),
4591 SH_PFC_FUNCTION(mmc),
4592 SH_PFC_FUNCTION(msiof0),
4593 SH_PFC_FUNCTION(msiof1),
4594 SH_PFC_FUNCTION(msiof2),
Marek Vasut2e975d82018-06-10 16:05:18 +02004595 SH_PFC_FUNCTION(pwm0),
4596 SH_PFC_FUNCTION(pwm1),
4597 SH_PFC_FUNCTION(pwm2),
4598 SH_PFC_FUNCTION(pwm3),
4599 SH_PFC_FUNCTION(pwm4),
4600 SH_PFC_FUNCTION(pwm5),
4601 SH_PFC_FUNCTION(pwm6),
Marek Vasut34e93602018-01-17 22:33:59 +01004602 SH_PFC_FUNCTION(qspi),
4603 SH_PFC_FUNCTION(scif0),
4604 SH_PFC_FUNCTION(scif1),
4605 SH_PFC_FUNCTION(scif2),
4606 SH_PFC_FUNCTION(scif3),
4607 SH_PFC_FUNCTION(scif4),
4608 SH_PFC_FUNCTION(scif5),
4609 SH_PFC_FUNCTION(scifa0),
4610 SH_PFC_FUNCTION(scifa1),
4611 SH_PFC_FUNCTION(scifa2),
4612 SH_PFC_FUNCTION(scifa3),
4613 SH_PFC_FUNCTION(scifa4),
4614 SH_PFC_FUNCTION(scifa5),
4615 SH_PFC_FUNCTION(scifb0),
4616 SH_PFC_FUNCTION(scifb1),
4617 SH_PFC_FUNCTION(scifb2),
4618 SH_PFC_FUNCTION(scif_clk),
4619 SH_PFC_FUNCTION(sdhi0),
4620 SH_PFC_FUNCTION(sdhi1),
4621 SH_PFC_FUNCTION(sdhi2),
4622 SH_PFC_FUNCTION(ssi),
Marek Vasut2e975d82018-06-10 16:05:18 +02004623 SH_PFC_FUNCTION(tpu),
Marek Vasut34e93602018-01-17 22:33:59 +01004624 SH_PFC_FUNCTION(usb0),
4625 SH_PFC_FUNCTION(usb1),
4626 SH_PFC_FUNCTION(vin0),
4627 SH_PFC_FUNCTION(vin1),
4628};
4629
4630static const struct pinmux_cfg_reg pinmux_config_regs[] = {
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004631 { PINMUX_CFG_REG("GPSR0", 0xE6060004, 32, 1, GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004632 GP_0_31_FN, FN_IP2_17_16,
4633 GP_0_30_FN, FN_IP2_15_14,
4634 GP_0_29_FN, FN_IP2_13_12,
4635 GP_0_28_FN, FN_IP2_11_10,
4636 GP_0_27_FN, FN_IP2_9_8,
4637 GP_0_26_FN, FN_IP2_7_6,
4638 GP_0_25_FN, FN_IP2_5_4,
4639 GP_0_24_FN, FN_IP2_3_2,
4640 GP_0_23_FN, FN_IP2_1_0,
4641 GP_0_22_FN, FN_IP1_31_30,
4642 GP_0_21_FN, FN_IP1_29_28,
4643 GP_0_20_FN, FN_IP1_27,
4644 GP_0_19_FN, FN_IP1_26,
4645 GP_0_18_FN, FN_A2,
4646 GP_0_17_FN, FN_IP1_24,
4647 GP_0_16_FN, FN_IP1_23_22,
4648 GP_0_15_FN, FN_IP1_21_20,
4649 GP_0_14_FN, FN_IP1_19_18,
4650 GP_0_13_FN, FN_IP1_17_15,
4651 GP_0_12_FN, FN_IP1_14_13,
4652 GP_0_11_FN, FN_IP1_12_11,
4653 GP_0_10_FN, FN_IP1_10_8,
4654 GP_0_9_FN, FN_IP1_7_6,
4655 GP_0_8_FN, FN_IP1_5_4,
4656 GP_0_7_FN, FN_IP1_3_2,
4657 GP_0_6_FN, FN_IP1_1_0,
4658 GP_0_5_FN, FN_IP0_31_30,
4659 GP_0_4_FN, FN_IP0_29_28,
4660 GP_0_3_FN, FN_IP0_27_26,
4661 GP_0_2_FN, FN_IP0_25,
4662 GP_0_1_FN, FN_IP0_24,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004663 GP_0_0_FN, FN_IP0_23_22, ))
Marek Vasut34e93602018-01-17 22:33:59 +01004664 },
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004665 { PINMUX_CFG_REG("GPSR1", 0xE6060008, 32, 1, GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004666 0, 0,
4667 0, 0,
4668 0, 0,
4669 0, 0,
4670 0, 0,
4671 0, 0,
4672 GP_1_25_FN, FN_DACK0,
4673 GP_1_24_FN, FN_IP7_31,
4674 GP_1_23_FN, FN_IP4_1_0,
4675 GP_1_22_FN, FN_WE1_N,
4676 GP_1_21_FN, FN_WE0_N,
4677 GP_1_20_FN, FN_IP3_31,
4678 GP_1_19_FN, FN_IP3_30,
4679 GP_1_18_FN, FN_IP3_29_27,
4680 GP_1_17_FN, FN_IP3_26_24,
4681 GP_1_16_FN, FN_IP3_23_21,
4682 GP_1_15_FN, FN_IP3_20_18,
4683 GP_1_14_FN, FN_IP3_17_15,
4684 GP_1_13_FN, FN_IP3_14_13,
4685 GP_1_12_FN, FN_IP3_12,
4686 GP_1_11_FN, FN_IP3_11,
4687 GP_1_10_FN, FN_IP3_10,
4688 GP_1_9_FN, FN_IP3_9_8,
4689 GP_1_8_FN, FN_IP3_7_6,
4690 GP_1_7_FN, FN_IP3_5_4,
4691 GP_1_6_FN, FN_IP3_3_2,
4692 GP_1_5_FN, FN_IP3_1_0,
4693 GP_1_4_FN, FN_IP2_31_30,
4694 GP_1_3_FN, FN_IP2_29_27,
4695 GP_1_2_FN, FN_IP2_26_24,
4696 GP_1_1_FN, FN_IP2_23_21,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004697 GP_1_0_FN, FN_IP2_20_18, ))
Marek Vasut34e93602018-01-17 22:33:59 +01004698 },
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004699 { PINMUX_CFG_REG("GPSR2", 0xE606000C, 32, 1, GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004700 GP_2_31_FN, FN_IP6_7_6,
4701 GP_2_30_FN, FN_IP6_5_4,
4702 GP_2_29_FN, FN_IP6_3_2,
4703 GP_2_28_FN, FN_IP6_1_0,
4704 GP_2_27_FN, FN_IP5_31_30,
4705 GP_2_26_FN, FN_IP5_29_28,
4706 GP_2_25_FN, FN_IP5_27_26,
4707 GP_2_24_FN, FN_IP5_25_24,
4708 GP_2_23_FN, FN_IP5_23_22,
4709 GP_2_22_FN, FN_IP5_21_20,
4710 GP_2_21_FN, FN_IP5_19_18,
4711 GP_2_20_FN, FN_IP5_17_16,
4712 GP_2_19_FN, FN_IP5_15_14,
4713 GP_2_18_FN, FN_IP5_13_12,
4714 GP_2_17_FN, FN_IP5_11_9,
4715 GP_2_16_FN, FN_IP5_8_6,
4716 GP_2_15_FN, FN_IP5_5_4,
4717 GP_2_14_FN, FN_IP5_3_2,
4718 GP_2_13_FN, FN_IP5_1_0,
4719 GP_2_12_FN, FN_IP4_31_30,
4720 GP_2_11_FN, FN_IP4_29_28,
4721 GP_2_10_FN, FN_IP4_27_26,
4722 GP_2_9_FN, FN_IP4_25_23,
4723 GP_2_8_FN, FN_IP4_22_20,
4724 GP_2_7_FN, FN_IP4_19_18,
4725 GP_2_6_FN, FN_IP4_17_16,
4726 GP_2_5_FN, FN_IP4_15_14,
4727 GP_2_4_FN, FN_IP4_13_12,
4728 GP_2_3_FN, FN_IP4_11_10,
4729 GP_2_2_FN, FN_IP4_9_8,
4730 GP_2_1_FN, FN_IP4_7_5,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004731 GP_2_0_FN, FN_IP4_4_2 ))
Marek Vasut34e93602018-01-17 22:33:59 +01004732 },
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004733 { PINMUX_CFG_REG("GPSR3", 0xE6060010, 32, 1, GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004734 GP_3_31_FN, FN_IP8_22_20,
4735 GP_3_30_FN, FN_IP8_19_17,
4736 GP_3_29_FN, FN_IP8_16_15,
4737 GP_3_28_FN, FN_IP8_14_12,
4738 GP_3_27_FN, FN_IP8_11_9,
4739 GP_3_26_FN, FN_IP8_8_6,
4740 GP_3_25_FN, FN_IP8_5_3,
4741 GP_3_24_FN, FN_IP8_2_0,
4742 GP_3_23_FN, FN_IP7_29_27,
4743 GP_3_22_FN, FN_IP7_26_24,
4744 GP_3_21_FN, FN_IP7_23_21,
4745 GP_3_20_FN, FN_IP7_20_18,
4746 GP_3_19_FN, FN_IP7_17_15,
4747 GP_3_18_FN, FN_IP7_14_12,
4748 GP_3_17_FN, FN_IP7_11_9,
4749 GP_3_16_FN, FN_IP7_8_6,
4750 GP_3_15_FN, FN_IP7_5_3,
4751 GP_3_14_FN, FN_IP7_2_0,
4752 GP_3_13_FN, FN_IP6_31_29,
4753 GP_3_12_FN, FN_IP6_28_26,
4754 GP_3_11_FN, FN_IP6_25_23,
4755 GP_3_10_FN, FN_IP6_22_20,
4756 GP_3_9_FN, FN_IP6_19_17,
4757 GP_3_8_FN, FN_IP6_16,
4758 GP_3_7_FN, FN_IP6_15,
4759 GP_3_6_FN, FN_IP6_14,
4760 GP_3_5_FN, FN_IP6_13,
4761 GP_3_4_FN, FN_IP6_12,
4762 GP_3_3_FN, FN_IP6_11,
4763 GP_3_2_FN, FN_IP6_10,
4764 GP_3_1_FN, FN_IP6_9,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004765 GP_3_0_FN, FN_IP6_8 ))
Marek Vasut34e93602018-01-17 22:33:59 +01004766 },
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004767 { PINMUX_CFG_REG("GPSR4", 0xE6060014, 32, 1, GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004768 GP_4_31_FN, FN_IP11_17_16,
4769 GP_4_30_FN, FN_IP11_15_14,
4770 GP_4_29_FN, FN_IP11_13_11,
4771 GP_4_28_FN, FN_IP11_10_8,
4772 GP_4_27_FN, FN_IP11_7_6,
4773 GP_4_26_FN, FN_IP11_5_3,
4774 GP_4_25_FN, FN_IP11_2_0,
4775 GP_4_24_FN, FN_IP10_31_30,
4776 GP_4_23_FN, FN_IP10_29_27,
4777 GP_4_22_FN, FN_IP10_26_24,
4778 GP_4_21_FN, FN_IP10_23_21,
4779 GP_4_20_FN, FN_IP10_20_18,
4780 GP_4_19_FN, FN_IP10_17_15,
4781 GP_4_18_FN, FN_IP10_14_12,
4782 GP_4_17_FN, FN_IP10_11_9,
4783 GP_4_16_FN, FN_IP10_8_6,
4784 GP_4_15_FN, FN_IP10_5_3,
4785 GP_4_14_FN, FN_IP10_2_0,
4786 GP_4_13_FN, FN_IP9_30_28,
4787 GP_4_12_FN, FN_IP9_27_25,
4788 GP_4_11_FN, FN_IP9_24_22,
4789 GP_4_10_FN, FN_IP9_21_19,
4790 GP_4_9_FN, FN_IP9_18_17,
4791 GP_4_8_FN, FN_IP9_16_15,
4792 GP_4_7_FN, FN_IP9_14_12,
4793 GP_4_6_FN, FN_IP9_11_9,
4794 GP_4_5_FN, FN_IP9_8_6,
4795 GP_4_4_FN, FN_IP9_5_3,
4796 GP_4_3_FN, FN_IP9_2_0,
4797 GP_4_2_FN, FN_IP8_31_29,
4798 GP_4_1_FN, FN_IP8_28_26,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004799 GP_4_0_FN, FN_IP8_25_23 ))
Marek Vasut34e93602018-01-17 22:33:59 +01004800 },
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004801 { PINMUX_CFG_REG("GPSR5", 0xE6060018, 32, 1, GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004802 0, 0,
4803 0, 0,
4804 0, 0,
4805 0, 0,
4806 GP_5_27_FN, FN_USB1_OVC,
4807 GP_5_26_FN, FN_USB1_PWEN,
4808 GP_5_25_FN, FN_USB0_OVC,
4809 GP_5_24_FN, FN_USB0_PWEN,
4810 GP_5_23_FN, FN_IP13_26_24,
4811 GP_5_22_FN, FN_IP13_23_21,
4812 GP_5_21_FN, FN_IP13_20_18,
4813 GP_5_20_FN, FN_IP13_17_15,
4814 GP_5_19_FN, FN_IP13_14_12,
4815 GP_5_18_FN, FN_IP13_11_9,
4816 GP_5_17_FN, FN_IP13_8_6,
4817 GP_5_16_FN, FN_IP13_5_3,
4818 GP_5_15_FN, FN_IP13_2_0,
4819 GP_5_14_FN, FN_IP12_29_27,
4820 GP_5_13_FN, FN_IP12_26_24,
4821 GP_5_12_FN, FN_IP12_23_21,
4822 GP_5_11_FN, FN_IP12_20_18,
4823 GP_5_10_FN, FN_IP12_17_15,
4824 GP_5_9_FN, FN_IP12_14_13,
4825 GP_5_8_FN, FN_IP12_12_11,
4826 GP_5_7_FN, FN_IP12_10_9,
4827 GP_5_6_FN, FN_IP12_8_6,
4828 GP_5_5_FN, FN_IP12_5_3,
4829 GP_5_4_FN, FN_IP12_2_0,
4830 GP_5_3_FN, FN_IP11_29_27,
4831 GP_5_2_FN, FN_IP11_26_24,
4832 GP_5_1_FN, FN_IP11_23_21,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004833 GP_5_0_FN, FN_IP11_20_18 ))
Marek Vasut34e93602018-01-17 22:33:59 +01004834 },
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004835 { PINMUX_CFG_REG("GPSR6", 0xE606001C, 32, 1, GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004836 0, 0,
4837 0, 0,
4838 0, 0,
4839 0, 0,
4840 0, 0,
4841 0, 0,
4842 GP_6_25_FN, FN_IP0_21_20,
4843 GP_6_24_FN, FN_IP0_19_18,
4844 GP_6_23_FN, FN_IP0_17,
4845 GP_6_22_FN, FN_IP0_16,
4846 GP_6_21_FN, FN_IP0_15,
4847 GP_6_20_FN, FN_IP0_14,
4848 GP_6_19_FN, FN_IP0_13,
4849 GP_6_18_FN, FN_IP0_12,
4850 GP_6_17_FN, FN_IP0_11,
4851 GP_6_16_FN, FN_IP0_10,
4852 GP_6_15_FN, FN_IP0_9_8,
4853 GP_6_14_FN, FN_IP0_0,
4854 GP_6_13_FN, FN_SD1_DATA3,
4855 GP_6_12_FN, FN_SD1_DATA2,
4856 GP_6_11_FN, FN_SD1_DATA1,
4857 GP_6_10_FN, FN_SD1_DATA0,
4858 GP_6_9_FN, FN_SD1_CMD,
4859 GP_6_8_FN, FN_SD1_CLK,
4860 GP_6_7_FN, FN_SD0_WP,
4861 GP_6_6_FN, FN_SD0_CD,
4862 GP_6_5_FN, FN_SD0_DATA3,
4863 GP_6_4_FN, FN_SD0_DATA2,
4864 GP_6_3_FN, FN_SD0_DATA1,
4865 GP_6_2_FN, FN_SD0_DATA0,
4866 GP_6_1_FN, FN_SD0_CMD,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004867 GP_6_0_FN, FN_SD0_CLK ))
Marek Vasut34e93602018-01-17 22:33:59 +01004868 },
4869 { PINMUX_CFG_REG_VAR("IPSR0", 0xE6060020, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004870 GROUP(2, 2, 2, 1, 1, 2, 2, 2, 1, 1, 1, 1,
Marek Vasutf46776c2023-01-26 21:01:39 +01004871 1, 1, 1, 1, 2, -7, 1),
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004872 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004873 /* IP0_31_30 [2] */
4874 FN_D5, FN_SCIF4_RXD_B, FN_I2C0_SCL_D, 0,
4875 /* IP0_29_28 [2] */
4876 FN_D4, FN_I2C3_SDA_B, FN_SCIF5_TXD_B, 0,
4877 /* IP0_27_26 [2] */
4878 FN_D3, FN_I2C3_SCL_B, FN_SCIF5_RXD_B, 0,
4879 /* IP0_25 [1] */
4880 FN_D2, FN_SCIFA3_TXD_B,
4881 /* IP0_24 [1] */
4882 FN_D1, FN_SCIFA3_RXD_B,
4883 /* IP0_23_22 [2] */
4884 FN_D0, FN_SCIFA3_SCK_B, FN_IRQ4, 0,
4885 /* IP0_21_20 [2] */
4886 FN_MMC_D7, FN_SCIF0_TXD, FN_I2C2_SDA_B, FN_CAN1_TX,
4887 /* IP0_19_18 [2] */
4888 FN_MMC_D6, FN_SCIF0_RXD, FN_I2C2_SCL_B, FN_CAN1_RX,
4889 /* IP0_17 [1] */
4890 FN_MMC_D5, FN_SD2_WP,
4891 /* IP0_16 [1] */
4892 FN_MMC_D4, FN_SD2_CD,
4893 /* IP0_15 [1] */
4894 FN_MMC_D3, FN_SD2_DATA3,
4895 /* IP0_14 [1] */
4896 FN_MMC_D2, FN_SD2_DATA2,
4897 /* IP0_13 [1] */
4898 FN_MMC_D1, FN_SD2_DATA1,
4899 /* IP0_12 [1] */
4900 FN_MMC_D0, FN_SD2_DATA0,
4901 /* IP0_11 [1] */
4902 FN_MMC_CMD, FN_SD2_CMD,
4903 /* IP0_10 [1] */
4904 FN_MMC_CLK, FN_SD2_CLK,
4905 /* IP0_9_8 [2] */
4906 FN_SD1_WP, FN_IRQ7, FN_CAN0_TX, 0,
Marek Vasutf46776c2023-01-26 21:01:39 +01004907 /* IP0_7_1 [7] RESERVED */
Marek Vasut34e93602018-01-17 22:33:59 +01004908 /* IP0_0 [1] */
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004909 FN_SD1_CD, FN_CAN0_RX, ))
Marek Vasut34e93602018-01-17 22:33:59 +01004910 },
4911 { PINMUX_CFG_REG_VAR("IPSR1", 0xE6060024, 32,
Marek Vasutf46776c2023-01-26 21:01:39 +01004912 GROUP(2, 2, 1, 1, -1, 1, 2, 2, 2, 3, 2, 2,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004913 3, 2, 2, 2, 2),
4914 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004915 /* IP1_31_30 [2] */
4916 FN_A6, FN_SCIFB0_CTS_N, FN_SCIFA4_RXD_B, FN_TPUTO2_C,
4917 /* IP1_29_28 [2] */
4918 FN_A5, FN_SCIFB0_RXD, FN_PWM4_B, FN_TPUTO3_C,
4919 /* IP1_27 [1] */
4920 FN_A4, FN_SCIFB0_TXD,
4921 /* IP1_26 [1] */
4922 FN_A3, FN_SCIFB0_SCK,
Marek Vasutf46776c2023-01-26 21:01:39 +01004923 /* IP1_25 [1] RESERVED */
Marek Vasut34e93602018-01-17 22:33:59 +01004924 /* IP1_24 [1] */
4925 FN_A1, FN_SCIFB1_TXD,
4926 /* IP1_23_22 [2] */
4927 FN_A0, FN_SCIFB1_SCK, FN_PWM3_B, 0,
4928 /* IP1_21_20 [2] */
4929 FN_D15, FN_SCIFA1_TXD, FN_I2C5_SDA_B, 0,
4930 /* IP1_19_18 [2] */
4931 FN_D14, FN_SCIFA1_RXD, FN_I2C5_SCL_B, 0,
4932 /* IP1_17_15 [3] */
4933 FN_D13, FN_SCIFA1_SCK, 0, FN_PWM2_C, FN_TCLK2_B,
4934 0, 0, 0,
4935 /* IP1_14_13 [2] */
4936 FN_D12, FN_HSCIF2_HRTS_N, FN_SCIF1_TXD_C, FN_I2C1_SDA_D,
4937 /* IP1_12_11 [2] */
4938 FN_D11, FN_HSCIF2_HCTS_N, FN_SCIF1_RXD_C, FN_I2C1_SCL_D,
4939 /* IP1_10_8 [3] */
4940 FN_D10, FN_HSCIF2_HSCK, FN_SCIF1_SCK_C, FN_IRQ6, FN_PWM5_C,
4941 0, 0, 0,
4942 /* IP1_7_6 [2] */
4943 FN_D9, FN_HSCIF2_HTX, FN_I2C1_SDA_B, 0,
4944 /* IP1_5_4 [2] */
4945 FN_D8, FN_HSCIF2_HRX, FN_I2C1_SCL_B, 0,
4946 /* IP1_3_2 [2] */
4947 FN_D7, FN_IRQ3, FN_TCLK1, FN_PWM6_B,
4948 /* IP1_1_0 [2] */
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004949 FN_D6, FN_SCIF4_TXD_B, FN_I2C0_SDA_D, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01004950 },
4951 { PINMUX_CFG_REG_VAR("IPSR2", 0xE6060028, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004952 GROUP(2, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2),
4953 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004954 /* IP2_31_30 [2] */
4955 FN_A20, FN_SPCLK, 0, 0,
4956 /* IP2_29_27 [3] */
4957 FN_A19, FN_MSIOF2_SS2, FN_PWM4, FN_TPUTO2,
4958 0, 0, 0, 0,
4959 /* IP2_26_24 [3] */
4960 FN_A18, FN_MSIOF2_SS1, FN_SCIF4_TXD_E, FN_CAN1_TX_B,
4961 0, 0, 0, 0,
4962 /* IP2_23_21 [3] */
4963 FN_A17, FN_MSIOF2_SYNC, FN_SCIF4_RXD_E, FN_CAN1_RX_B,
4964 0, 0, 0, 0,
4965 /* IP2_20_18 [3] */
4966 FN_A16, FN_MSIOF2_SCK, FN_HSCIF0_HSCK_B, FN_SPEEDIN,
4967 0, FN_CAN_CLK_C, FN_TPUTO2_B, 0,
4968 /* IP2_17_16 [2] */
4969 FN_A15, FN_MSIOF2_TXD, FN_HSCIF0_HTX_B, FN_DACK1,
4970 /* IP2_15_14 [2] */
4971 FN_A14, FN_MSIOF2_RXD, FN_HSCIF0_HRX_B, FN_DREQ1_N,
4972 /* IP2_13_12 [2] */
4973 FN_A13, FN_MSIOF1_SS2, FN_SCIFA5_TXD_B, 0,
4974 /* IP2_11_10 [2] */
4975 FN_A12, FN_MSIOF1_SS1, FN_SCIFA5_RXD_B, 0,
4976 /* IP2_9_8 [2] */
4977 FN_A11, FN_MSIOF1_SYNC, FN_IIC0_SDA_B, 0,
4978 /* IP2_7_6 [2] */
4979 FN_A10, FN_MSIOF1_SCK, FN_IIC0_SCL_B, 0,
4980 /* IP2_5_4 [2] */
4981 FN_A9, FN_MSIOF1_TXD, FN_SCIFA0_TXD_B, 0,
4982 /* IP2_3_2 [2] */
4983 FN_A8, FN_MSIOF1_RXD, FN_SCIFA0_RXD_B, 0,
4984 /* IP2_1_0 [2] */
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004985 FN_A7, FN_SCIFB0_RTS_N, FN_SCIFA4_TXD_B, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01004986 },
4987 { PINMUX_CFG_REG_VAR("IPSR3", 0xE606002C, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02004988 GROUP(1, 1, 3, 3, 3, 3, 3, 2, 1, 1, 1, 2,
4989 2, 2, 2, 2),
4990 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01004991 /* IP3_31 [1] */
4992 FN_RD_WR_N, FN_ATAG1_N,
4993 /* IP3_30 [1] */
4994 FN_RD_N, FN_ATACS11_N,
4995 /* IP3_29_27 [3] */
4996 FN_BS_N, FN_DRACK0, FN_PWM1_C, FN_TPUTO0_C, FN_ATACS01_N,
4997 0, 0, 0,
4998 /* IP3_26_24 [3] */
4999 FN_EX_CS5_N, FN_SCIFA2_TXD, FN_I2C2_SDA_E, FN_TS_SPSYNC_B,
5000 0, FN_FMIN, FN_SCIFB2_RTS_N, 0,
5001 /* IP3_23_21 [3] */
5002 FN_EX_CS4_N, FN_SCIFA2_RXD, FN_I2C2_SCL_E, FN_TS_SDEN_B,
5003 0, FN_FMCLK, FN_SCIFB2_CTS_N, 0,
5004 /* IP3_20_18 [3] */
5005 FN_EX_CS3_N, FN_SCIFA2_SCK, FN_SCIF4_TXD_C, FN_TS_SCK_B,
5006 0, FN_BPFCLK, FN_SCIFB2_SCK, 0,
5007 /* IP3_17_15 [3] */
5008 FN_EX_CS2_N, FN_PWM0, FN_SCIF4_RXD_C, FN_TS_SDATA_B,
5009 0, FN_TPUTO3, FN_SCIFB2_TXD, 0,
5010 /* IP3_14_13 [2] */
5011 FN_EX_CS1_N, FN_TPUTO3_B, FN_SCIFB2_RXD, FN_VI1_DATA11,
5012 /* IP3_12 [1] */
5013 FN_EX_CS0_N, FN_VI1_DATA10,
5014 /* IP3_11 [1] */
5015 FN_CS1_N_A26, FN_VI1_DATA9,
5016 /* IP3_10 [1] */
5017 FN_CS0_N, FN_VI1_DATA8,
5018 /* IP3_9_8 [2] */
5019 FN_A25, FN_SSL, FN_ATARD1_N, 0,
5020 /* IP3_7_6 [2] */
5021 FN_A24, FN_IO3, FN_EX_WAIT2, 0,
5022 /* IP3_5_4 [2] */
5023 FN_A23, FN_IO2, 0, FN_ATAWR1_N,
5024 /* IP3_3_2 [2] */
5025 FN_A22, FN_MISO_IO1, 0, FN_ATADIR1_N,
5026 /* IP3_1_0 [2] */
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005027 FN_A21, FN_MOSI_IO0, 0, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005028 },
5029 { PINMUX_CFG_REG_VAR("IPSR4", 0xE6060030, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005030 GROUP(2, 2, 2, 3, 3, 2, 2, 2, 2, 2, 2, 3, 3, 2),
5031 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01005032 /* IP4_31_30 [2] */
5033 FN_DU0_DG4, FN_LCDOUT12, 0, 0,
5034 /* IP4_29_28 [2] */
5035 FN_DU0_DG3, FN_LCDOUT11, 0, 0,
5036 /* IP4_27_26 [2] */
5037 FN_DU0_DG2, FN_LCDOUT10, 0, 0,
5038 /* IP4_25_23 [3] */
5039 FN_DU0_DG1, FN_LCDOUT9, FN_SCIFA0_TXD_C, FN_I2C3_SDA_D,
5040 0, 0, 0, 0,
5041 /* IP4_22_20 [3] */
5042 FN_DU0_DG0, FN_LCDOUT8, FN_SCIFA0_RXD_C, FN_I2C3_SCL_D,
5043 0, 0, 0, 0,
5044 /* IP4_19_18 [2] */
5045 FN_DU0_DR7, FN_LCDOUT23, 0, 0,
5046 /* IP4_17_16 [2] */
5047 FN_DU0_DR6, FN_LCDOUT22, 0, 0,
5048 /* IP4_15_14 [2] */
5049 FN_DU0_DR5, FN_LCDOUT21, 0, 0,
5050 /* IP4_13_12 [2] */
5051 FN_DU0_DR4, FN_LCDOUT20, 0, 0,
5052 /* IP4_11_10 [2] */
5053 FN_DU0_DR3, FN_LCDOUT19, 0, 0,
5054 /* IP4_9_8 [2] */
5055 FN_DU0_DR2, FN_LCDOUT18, 0, 0,
5056 /* IP4_7_5 [3] */
5057 FN_DU0_DR1, FN_LCDOUT17, FN_SCIF5_TXD_C, FN_I2C2_SDA_D,
5058 0, 0, 0, 0,
5059 /* IP4_4_2 [3] */
5060 FN_DU0_DR0, FN_LCDOUT16, FN_SCIF5_RXD_C, FN_I2C2_SCL_D,
5061 0, 0, 0, 0,
5062 /* IP4_1_0 [2] */
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005063 FN_EX_WAIT0, FN_CAN_CLK_B, FN_SCIF_CLK, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005064 },
5065 { PINMUX_CFG_REG_VAR("IPSR5", 0xE6060034, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005066 GROUP(2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
5067 2, 2, 2),
5068 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01005069 /* IP5_31_30 [2] */
5070 FN_DU0_EXHSYNC_DU0_HSYNC, FN_QSTH_QHS, 0, 0,
5071 /* IP5_29_28 [2] */
5072 FN_DU0_DOTCLKOUT1, FN_QSTVB_QVE, 0, 0,
5073 /* IP5_27_26 [2] */
5074 FN_DU0_DOTCLKOUT0, FN_QCLK, 0, 0,
5075 /* IP5_25_24 [2] */
5076 FN_DU0_DOTCLKIN, FN_QSTVA_QVS, 0, 0,
5077 /* IP5_23_22 [2] */
5078 FN_DU0_DB7, FN_LCDOUT7, 0, 0,
5079 /* IP5_21_20 [2] */
5080 FN_DU0_DB6, FN_LCDOUT6, 0, 0,
5081 /* IP5_19_18 [2] */
5082 FN_DU0_DB5, FN_LCDOUT5, 0, 0,
5083 /* IP5_17_16 [2] */
5084 FN_DU0_DB4, FN_LCDOUT4, 0, 0,
5085 /* IP5_15_14 [2] */
5086 FN_DU0_DB3, FN_LCDOUT3, 0, 0,
5087 /* IP5_13_12 [2] */
5088 FN_DU0_DB2, FN_LCDOUT2, 0, 0,
5089 /* IP5_11_9 [3] */
5090 FN_DU0_DB1, FN_LCDOUT1, FN_SCIFA4_TXD_C, FN_I2C4_SDA_D,
5091 FN_CAN0_TX_C, 0, 0, 0,
5092 /* IP5_8_6 [3] */
5093 FN_DU0_DB0, FN_LCDOUT0, FN_SCIFA4_RXD_C, FN_I2C4_SCL_D,
5094 FN_CAN0_RX_C, 0, 0, 0,
5095 /* IP5_5_4 [2] */
5096 FN_DU0_DG7, FN_LCDOUT15, 0, 0,
5097 /* IP5_3_2 [2] */
5098 FN_DU0_DG6, FN_LCDOUT14, 0, 0,
5099 /* IP5_1_0 [2] */
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005100 FN_DU0_DG5, FN_LCDOUT13, 0, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005101 },
5102 { PINMUX_CFG_REG_VAR("IPSR6", 0xE6060038, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005103 GROUP(3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1,
5104 1, 1, 2, 2, 2, 2),
5105 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01005106 /* IP6_31_29 [3] */
5107 FN_ETH_MDIO, FN_VI0_G0, FN_MSIOF2_RXD_B, FN_I2C5_SCL_D,
5108 FN_AVB_TX_CLK, FN_ADIDATA, 0, 0,
5109 /* IP6_28_26 [3] */
5110 FN_VI0_VSYNC_N, FN_SCIF0_TXD_B, FN_I2C0_SDA_C,
5111 FN_AUDIO_CLKOUT_B, FN_AVB_TX_EN, 0, 0, 0,
5112 /* IP6_25_23 [3] */
5113 FN_VI0_HSYNC_N, FN_SCIF0_RXD_B, FN_I2C0_SCL_C, FN_IERX_C,
5114 FN_AVB_COL, 0, 0, 0,
5115 /* IP6_22_20 [3] */
5116 FN_VI0_FIELD, FN_I2C3_SDA, FN_SCIFA5_TXD_C, FN_IECLK_C,
5117 FN_AVB_RX_ER, 0, 0, 0,
5118 /* IP6_19_17 [3] */
5119 FN_VI0_CLKENB, FN_I2C3_SCL, FN_SCIFA5_RXD_C, FN_IETX_C,
5120 FN_AVB_RXD7, 0, 0, 0,
5121 /* IP6_16 [1] */
5122 FN_VI0_DATA7_VI0_B7, FN_AVB_RXD6,
5123 /* IP6_15 [1] */
5124 FN_VI0_DATA6_VI0_B6, FN_AVB_RXD5,
5125 /* IP6_14 [1] */
5126 FN_VI0_DATA5_VI0_B5, FN_AVB_RXD4,
5127 /* IP6_13 [1] */
5128 FN_VI0_DATA4_VI0_B4, FN_AVB_RXD3,
5129 /* IP6_12 [1] */
5130 FN_VI0_DATA3_VI0_B3, FN_AVB_RXD2,
5131 /* IP6_11 [1] */
5132 FN_VI0_DATA2_VI0_B2, FN_AVB_RXD1,
5133 /* IP6_10 [1] */
5134 FN_VI0_DATA1_VI0_B1, FN_AVB_RXD0,
5135 /* IP6_9 [1] */
5136 FN_VI0_DATA0_VI0_B0, FN_AVB_RX_DV,
5137 /* IP6_8 [1] */
5138 FN_VI0_CLK, FN_AVB_RX_CLK,
5139 /* IP6_7_6 [2] */
5140 FN_DU0_CDE, FN_QPOLB, 0, 0,
5141 /* IP6_5_4 [2] */
5142 FN_DU0_DISP, FN_QPOLA, 0, 0,
5143 /* IP6_3_2 [2] */
5144 FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, FN_QCPV_QDE, 0,
5145 0,
5146 /* IP6_1_0 [2] */
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005147 FN_DU0_EXVSYNC_DU0_VSYNC, FN_QSTB_QHE, 0, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005148 },
5149 { PINMUX_CFG_REG_VAR("IPSR7", 0xE606003C, 32,
Marek Vasutf46776c2023-01-26 21:01:39 +01005150 GROUP(1, -1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3),
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005151 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01005152 /* IP7_31 [1] */
5153 FN_DREQ0_N, FN_SCIFB1_RXD,
Marek Vasutf46776c2023-01-26 21:01:39 +01005154 /* IP7_30 [1] RESERVED */
Marek Vasut34e93602018-01-17 22:33:59 +01005155 /* IP7_29_27 [3] */
5156 FN_ETH_TXD0, FN_VI0_R2, FN_SCIF3_RXD_B, FN_I2C4_SCL_E,
5157 FN_AVB_GTX_CLK, FN_SSI_WS6_B, 0, 0,
5158 /* IP7_26_24 [3] */
5159 FN_ETH_MAGIC, FN_VI0_R1, FN_SCIF3_SCK_B, FN_AVB_TX_ER,
5160 FN_SSI_SCK6_B, 0, 0, 0,
5161 /* IP7_23_21 [3] */
5162 FN_ETH_TX_EN, FN_VI0_R0, FN_SCIF2_TXD_C, FN_IIC0_SDA_D,
5163 FN_AVB_TXD7, FN_SSI_SDATA5_B, 0, 0,
5164 /* IP7_20_18 [3] */
5165 FN_ETH_TXD1, FN_VI0_G7, FN_SCIF2_RXD_C, FN_IIC0_SCL_D,
5166 FN_AVB_TXD6, FN_SSI_WS5_B, 0, 0,
5167 /* IP7_17_15 [3] */
5168 FN_ETH_REFCLK, FN_VI0_G6, FN_SCIF2_SCK_C, FN_AVB_TXD5,
5169 FN_SSI_SCK5_B, 0, 0, 0,
5170 /* IP7_14_12 [3] */
5171 FN_ETH_LINK, FN_VI0_G5, FN_MSIOF2_SS2_B, FN_SCIF4_TXD_D,
5172 FN_AVB_TXD4, FN_ADICHS2, 0, 0,
5173 /* IP7_11_9 [3] */
5174 FN_ETH_RXD1, FN_VI0_G4, FN_MSIOF2_SS1_B, FN_SCIF4_RXD_D,
5175 FN_AVB_TXD3, FN_ADICHS1, 0, 0,
5176 /* IP7_8_6 [3] */
5177 FN_ETH_RXD0, FN_VI0_G3, FN_MSIOF2_SYNC_B, FN_CAN0_TX_B,
5178 FN_AVB_TXD2, FN_ADICHS0, 0, 0,
5179 /* IP7_5_3 [3] */
5180 FN_ETH_RX_ER, FN_VI0_G2, FN_MSIOF2_SCK_B, FN_CAN0_RX_B,
5181 FN_AVB_TXD1, FN_ADICLK, 0, 0,
5182 /* IP7_2_0 [3] */
5183 FN_ETH_CRS_DV, FN_VI0_G1, FN_MSIOF2_TXD_B, FN_I2C5_SDA_D,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005184 FN_AVB_TXD0, FN_ADICS_SAMP, 0, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005185 },
5186 { PINMUX_CFG_REG_VAR("IPSR8", 0xE6060040, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005187 GROUP(3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3),
5188 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01005189 /* IP8_31_29 [3] */
5190 FN_MSIOF0_RXD, FN_SCIF5_RXD, FN_I2C2_SCL_C, FN_DU1_DR2,
5191 0, FN_TS_SDEN_D, FN_FMCLK_C, 0,
5192 /* IP8_28_26 [3] */
5193 FN_I2C1_SDA, FN_SCIF4_TXD, FN_IRQ5, FN_DU1_DR1,
5194 0, FN_TS_SCK_D, FN_BPFCLK_C, 0,
5195 /* IP8_25_23 [3] */
5196 FN_I2C1_SCL, FN_SCIF4_RXD, FN_PWM5_B, FN_DU1_DR0,
5197 0, FN_TS_SDATA_D, FN_TPUTO1_B, 0,
5198 /* IP8_22_20 [3] */
5199 FN_I2C0_SDA, FN_SCIF0_TXD_C, FN_TPUTO0, FN_CAN_CLK,
5200 FN_DVC_MUTE, FN_CAN1_TX_D, 0, 0,
5201 /* IP8_19_17 [3] */
5202 FN_I2C0_SCL, FN_SCIF0_RXD_C, FN_PWM5, FN_TCLK1_B,
5203 FN_AVB_GTXREFCLK, FN_CAN1_RX_D, FN_TPUTO0_B, 0,
5204 /* IP8_16_15 [2] */
5205 FN_HSCIF0_HSCK, FN_SCIF_CLK_B, FN_AVB_CRS, FN_AUDIO_CLKC_B,
5206 /* IP8_14_12 [3] */
5207 FN_HSCIF0_HRTS_N, FN_VI0_R7, FN_SCIF0_TXD_D, FN_I2C0_SDA_E,
5208 FN_AVB_PHY_INT, FN_SSI_SDATA8_B, 0, 0,
5209 /* IP8_11_9 [3] */
5210 FN_HSCIF0_HCTS_N, FN_VI0_R6, FN_SCIF0_RXD_D, FN_I2C0_SCL_E,
5211 FN_AVB_MAGIC, FN_SSI_SDATA7_B, 0, 0,
5212 /* IP8_8_6 [3] */
5213 FN_HSCIF0_HTX, FN_VI0_R5, FN_I2C1_SDA_C, FN_AUDIO_CLKB_B,
5214 FN_AVB_LINK, FN_SSI_WS78_B, 0, 0,
5215 /* IP8_5_3 [3] */
5216 FN_HSCIF0_HRX, FN_VI0_R4, FN_I2C1_SCL_C, FN_AUDIO_CLKA_B,
5217 FN_AVB_MDIO, FN_SSI_SCK78_B, 0, 0,
5218 /* IP8_2_0 [3] */
5219 FN_ETH_MDC, FN_VI0_R3, FN_SCIF3_TXD_B, FN_I2C4_SDA_E,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005220 FN_AVB_MDC, FN_SSI_SDATA6_B, 0, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005221 },
5222 { PINMUX_CFG_REG_VAR("IPSR9", 0xE6060044, 32,
Marek Vasutf46776c2023-01-26 21:01:39 +01005223 GROUP(-1, 3, 3, 3, 3, 2, 2, 3, 3, 3, 3, 3),
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005224 GROUP(
Marek Vasutf46776c2023-01-26 21:01:39 +01005225 /* IP9_31 [1] RESERVED */
Marek Vasut34e93602018-01-17 22:33:59 +01005226 /* IP9_30_28 [3] */
5227 FN_SCIF1_SCK, FN_PWM3, FN_TCLK2, FN_DU1_DG5,
5228 FN_SSI_SDATA1_B, 0, 0, 0,
5229 /* IP9_27_25 [3] */
5230 FN_HSCIF1_HRTS_N, FN_SCIFA4_TXD, FN_IERX, FN_DU1_DG4,
5231 FN_SSI_WS1_B, 0, 0, 0,
5232 /* IP9_24_22 [3] */
5233 FN_HSCIF1_HCTS_N, FN_SCIFA4_RXD, FN_IECLK, FN_DU1_DG3,
5234 FN_SSI_SCK1_B, 0, 0, 0,
5235 /* IP9_21_19 [3] */
5236 FN_HSCIF1_HSCK, FN_PWM2, FN_IETX, FN_DU1_DG2,
5237 FN_REMOCON_B, FN_SPEEDIN_B, 0, 0,
5238 /* IP9_18_17 [2] */
5239 FN_HSCIF1_HTX, FN_I2C4_SDA, FN_TPUTO1, FN_DU1_DG1,
5240 /* IP9_16_15 [2] */
5241 FN_HSCIF1_HRX, FN_I2C4_SCL, FN_PWM6, FN_DU1_DG0,
5242 /* IP9_14_12 [3] */
5243 FN_MSIOF0_SS2, FN_SCIFA0_TXD, FN_TS_SPSYNC, FN_DU1_DR7,
5244 0, FN_FMIN_B, 0, 0,
5245 /* IP9_11_9 [3] */
5246 FN_MSIOF0_SS1, FN_SCIFA0_RXD, FN_TS_SDEN, FN_DU1_DR6,
5247 0, FN_FMCLK_B, 0, 0,
5248 /* IP9_8_6 [3] */
5249 FN_MSIOF0_SYNC, FN_PWM1, FN_TS_SCK, FN_DU1_DR5,
5250 0, FN_BPFCLK_B, 0, 0,
5251 /* IP9_5_3 [3] */
5252 FN_MSIOF0_SCK, FN_IRQ0, FN_TS_SDATA, FN_DU1_DR4,
5253 0, FN_TPUTO1_C, 0, 0,
5254 /* IP9_2_0 [3] */
5255 FN_MSIOF0_TXD, FN_SCIF5_TXD, FN_I2C2_SDA_C, FN_DU1_DR3,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005256 0, FN_TS_SPSYNC_D, FN_FMIN_C, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005257 },
5258 { PINMUX_CFG_REG_VAR("IPSR10", 0xE6060048, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005259 GROUP(2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3),
5260 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01005261 /* IP10_31_30 [2] */
5262 FN_SSI_SCK5, FN_SCIFA3_SCK, FN_DU1_DOTCLKIN, 0,
5263 /* IP10_29_27 [3] */
5264 FN_I2C2_SDA, FN_SCIFA5_TXD, FN_DU1_DB7, FN_AUDIO_CLKOUT_C,
5265 0, 0, 0, 0,
5266 /* IP10_26_24 [3] */
5267 FN_I2C2_SCL, FN_SCIFA5_RXD, FN_DU1_DB6, FN_AUDIO_CLKC_C,
5268 FN_SSI_SDATA4_B, 0, 0, 0,
5269 /* IP10_23_21 [3] */
5270 FN_SCIF3_TXD, FN_I2C1_SDA_E, FN_FMIN_D, FN_DU1_DB5,
5271 FN_AUDIO_CLKB_C, FN_SSI_WS4_B, 0, 0,
5272 /* IP10_20_18 [3] */
5273 FN_SCIF3_RXD, FN_I2C1_SCL_E, FN_FMCLK_D, FN_DU1_DB4,
5274 FN_AUDIO_CLKA_C, FN_SSI_SCK4_B, 0, 0,
5275 /* IP10_17_15 [3] */
5276 FN_SCIF3_SCK, FN_IRQ2, FN_BPFCLK_D, FN_DU1_DB3,
5277 FN_SSI_SDATA9_B, 0, 0, 0,
5278 /* IP10_14_12 [3] */
5279 FN_SCIF2_SCK, FN_IRQ1, FN_DU1_DB2, FN_SSI_WS9_B,
5280 0, 0, 0, 0,
5281 /* IP10_11_9 [3] */
5282 FN_SCIF2_TXD, FN_IIC0_SDA, FN_DU1_DB1, FN_SSI_SCK9_B,
5283 0, 0, 0, 0,
5284 /* IP10_8_6 [3] */
5285 FN_SCIF2_RXD, FN_IIC0_SCL, FN_DU1_DB0, FN_SSI_SDATA2_B,
5286 0, 0, 0, 0,
5287 /* IP10_5_3 [3] */
5288 FN_SCIF1_TXD, FN_I2C5_SDA, FN_DU1_DG7, FN_SSI_WS2_B,
5289 0, 0, 0, 0,
5290 /* IP10_2_0 [3] */
5291 FN_SCIF1_RXD, FN_I2C5_SCL, FN_DU1_DG6, FN_SSI_SCK2_B,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005292 0, 0, 0, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005293 },
5294 { PINMUX_CFG_REG_VAR("IPSR11", 0xE606004C, 32,
Marek Vasutf46776c2023-01-26 21:01:39 +01005295 GROUP(-2, 3, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3),
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005296 GROUP(
Marek Vasutf46776c2023-01-26 21:01:39 +01005297 /* IP11_31_30 [2] RESERVED */
Marek Vasut34e93602018-01-17 22:33:59 +01005298 /* IP11_29_27 [3] */
5299 FN_SSI_SDATA0, FN_MSIOF1_SCK_B, FN_PWM0_B, FN_ADICLK_B,
5300 0, 0, 0, 0,
5301 /* IP11_26_24 [3] */
5302 FN_SSI_WS0129, FN_MSIOF1_TXD_B, FN_SCIF5_TXD_D, FN_ADICS_SAMP_B,
5303 0, 0, 0, 0,
5304 /* IP11_23_21 [3] */
5305 FN_SSI_SCK0129, FN_MSIOF1_RXD_B, FN_SCIF5_RXD_D, FN_ADIDATA_B,
5306 0, 0, 0, 0,
5307 /* IP11_20_18 [3] */
5308 FN_SSI_SDATA7, FN_SCIFA2_TXD_B, FN_IRQ8, FN_AUDIO_CLKA_D,
5309 FN_CAN_CLK_D, 0, 0, 0,
5310 /* IP11_17_16 [2] */
5311 FN_SSI_WS78, FN_SCIFA2_RXD_B, FN_I2C5_SCL_C, FN_DU1_CDE,
5312 /* IP11_15_14 [2] */
5313 FN_SSI_SCK78, FN_SCIFA2_SCK_B, FN_I2C5_SDA_C, FN_DU1_DISP,
5314 /* IP11_13_11 [3] */
5315 FN_SSI_SDATA6, FN_SCIFA1_TXD_B, FN_I2C4_SDA_C,
5316 FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, 0, 0, 0, 0,
5317 /* IP11_10_8 [3] */
5318 FN_SSI_WS6, FN_SCIFA1_RXD_B, FN_I2C4_SCL_C,
5319 FN_DU1_EXVSYNC_DU1_VSYNC, 0, 0, 0, 0,
5320 /* IP11_7_6 [2] */
5321 FN_SSI_SCK6, FN_SCIFA1_SCK_B, FN_DU1_EXHSYNC_DU1_HSYNC, 0,
5322 /* IP11_5_3 [3] */
5323 FN_SSI_SDATA5, FN_SCIFA3_TXD, FN_I2C3_SDA_C, FN_DU1_DOTCLKOUT1,
5324 0, 0, 0, 0,
5325 /* IP11_2_0 [3] */
5326 FN_SSI_WS5, FN_SCIFA3_RXD, FN_I2C3_SCL_C, FN_DU1_DOTCLKOUT0,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005327 0, 0, 0, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005328 },
5329 { PINMUX_CFG_REG_VAR("IPSR12", 0xE6060050, 32,
Marek Vasutf46776c2023-01-26 21:01:39 +01005330 GROUP(-2, 3, 3, 3, 3, 3, 2, 2, 2, 3, 3, 3),
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005331 GROUP(
Marek Vasutf46776c2023-01-26 21:01:39 +01005332 /* IP12_31_30 [2] RESERVED */
Marek Vasut34e93602018-01-17 22:33:59 +01005333 /* IP12_29_27 [3] */
5334 FN_SSI_SCK2, FN_HSCIF1_HTX_B, FN_VI1_DATA2, 0,
5335 FN_ATAG0_N, FN_ETH_RXD1_B, 0, 0,
5336 /* IP12_26_24 [3] */
5337 FN_SSI_SDATA1, FN_HSCIF1_HRX_B, FN_VI1_DATA1, 0,
5338 FN_ATAWR0_N, FN_ETH_RXD0_B, 0, 0,
5339 /* IP12_23_21 [3] */
5340 FN_SSI_WS1, FN_SCIF1_TXD_B, FN_IIC0_SDA_C, FN_VI1_DATA0,
5341 FN_CAN0_TX_D, 0, FN_ETH_RX_ER_B, 0,
5342 /* IP12_20_18 [3] */
5343 FN_SSI_SCK1, FN_SCIF1_RXD_B, FN_IIC0_SCL_C, FN_VI1_CLK,
5344 FN_CAN0_RX_D, 0, FN_ETH_CRS_DV_B, 0,
5345 /* IP12_17_15 [3] */
5346 FN_SSI_SDATA8, FN_SCIF1_SCK_B, FN_PWM1_B, FN_IRQ9,
5347 FN_REMOCON, FN_DACK2, FN_ETH_MDIO_B, 0,
5348 /* IP12_14_13 [2] */
5349 FN_SSI_SDATA4, FN_MLB_DAT, FN_IERX_B, 0,
5350 /* IP12_12_11 [2] */
5351 FN_SSI_WS4, FN_MLB_SIG, FN_IECLK_B, 0,
5352 /* IP12_10_9 [2] */
5353 FN_SSI_SCK4, FN_MLB_CLK, FN_IETX_B, 0,
5354 /* IP12_8_6 [3] */
5355 FN_SSI_SDATA3, FN_MSIOF1_SS2_B, FN_SCIFA1_TXD_C, FN_ADICHS2_B,
5356 FN_CAN1_TX_C, FN_DREQ2_N, 0, 0,
5357 /* IP12_5_3 [3] */
5358 FN_SSI_WS34, FN_MSIOF1_SS1_B, FN_SCIFA1_RXD_C, FN_ADICHS1_B,
5359 FN_CAN1_RX_C, FN_DACK1_B, 0, 0,
5360 /* IP12_2_0 [3] */
5361 FN_SSI_SCK34, FN_MSIOF1_SYNC_B, FN_SCIFA1_SCK_C, FN_ADICHS0_B,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005362 0, FN_DREQ1_N_B, 0, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005363 },
5364 { PINMUX_CFG_REG_VAR("IPSR13", 0xE6060054, 32,
Marek Vasutf46776c2023-01-26 21:01:39 +01005365 GROUP(-5, 3, 3, 3, 3, 3, 3, 3, 3, 3),
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005366 GROUP(
Marek Vasutf46776c2023-01-26 21:01:39 +01005367 /* IP13_31_27 [5] RESERVED */
Marek Vasut34e93602018-01-17 22:33:59 +01005368 /* IP13_26_24 [3] */
5369 FN_AUDIO_CLKOUT, FN_I2C4_SDA_B, FN_SCIFA5_TXD_D, FN_VI1_VSYNC_N,
5370 FN_TS_SPSYNC_C, 0, FN_FMIN_E, 0,
5371 /* IP13_23_21 [3] */
5372 FN_AUDIO_CLKC, FN_I2C4_SCL_B, FN_SCIFA5_RXD_D, FN_VI1_HSYNC_N,
5373 FN_TS_SDEN_C, 0, FN_FMCLK_E, 0,
5374 /* IP13_20_18 [3] */
5375 FN_AUDIO_CLKB, FN_I2C0_SDA_B, FN_SCIFA4_TXD_D, FN_VI1_FIELD,
5376 FN_TS_SCK_C, 0, FN_BPFCLK_E, FN_ETH_MDC_B,
5377 /* IP13_17_15 [3] */
5378 FN_AUDIO_CLKA, FN_I2C0_SCL_B, FN_SCIFA4_RXD_D, FN_VI1_CLKENB,
5379 FN_TS_SDATA_C, 0, FN_ETH_TXD0_B, 0,
5380 /* IP13_14_12 [3] */
5381 FN_SSI_SDATA9, FN_SCIF2_TXD_B, FN_I2C3_SDA_E, FN_VI1_DATA7,
5382 FN_ATADIR0_N, FN_ETH_MAGIC_B, 0, 0,
5383 /* IP13_11_9 [3] */
5384 FN_SSI_WS9, FN_SCIF2_RXD_B, FN_I2C3_SCL_E, FN_VI1_DATA6,
5385 FN_ATARD0_N, FN_ETH_TX_EN_B, 0, 0,
5386 /* IP13_8_6 [3] */
5387 FN_SSI_SCK9, FN_SCIF2_SCK_B, FN_PWM2_B, FN_VI1_DATA5,
5388 0, FN_EX_WAIT1, FN_ETH_TXD1_B, 0,
5389 /* IP13_5_3 [2] */
5390 FN_SSI_SDATA2, FN_HSCIF1_HRTS_N_B, FN_SCIFA0_TXD_D,
5391 FN_VI1_DATA4, 0, FN_ATACS10_N, FN_ETH_REFCLK_B, 0,
5392 /* IP13_2_0 [3] */
5393 FN_SSI_WS2, FN_HSCIF1_HCTS_N_B, FN_SCIFA0_RXD_D, FN_VI1_DATA3,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005394 0, FN_ATACS00_N, FN_ETH_LINK_B, 0, ))
Marek Vasut34e93602018-01-17 22:33:59 +01005395 },
5396 { PINMUX_CFG_REG_VAR("MOD_SEL", 0xE6060090, 32,
Marek Vasutf46776c2023-01-26 21:01:39 +01005397 GROUP(2, -1, 2, 3, -4, 1, -1,
5398 3, 3, 3, 3, 3, 2, -1),
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005399 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01005400 /* SEL_ADG [2] */
5401 FN_SEL_ADG_0, FN_SEL_ADG_1, FN_SEL_ADG_2, FN_SEL_ADG_3,
5402 /* RESERVED [1] */
Marek Vasut34e93602018-01-17 22:33:59 +01005403 /* SEL_CAN [2] */
5404 FN_SEL_CAN_0, FN_SEL_CAN_1, FN_SEL_CAN_2, FN_SEL_CAN_3,
5405 /* SEL_DARC [3] */
5406 FN_SEL_DARC_0, FN_SEL_DARC_1, FN_SEL_DARC_2, FN_SEL_DARC_3,
5407 FN_SEL_DARC_4, 0, 0, 0,
5408 /* RESERVED [4] */
Marek Vasut34e93602018-01-17 22:33:59 +01005409 /* SEL_ETH [1] */
5410 FN_SEL_ETH_0, FN_SEL_ETH_1,
5411 /* RESERVED [1] */
Marek Vasut34e93602018-01-17 22:33:59 +01005412 /* SEL_IC200 [3] */
5413 FN_SEL_I2C00_0, FN_SEL_I2C00_1, FN_SEL_I2C00_2, FN_SEL_I2C00_3,
5414 FN_SEL_I2C00_4, 0, 0, 0,
5415 /* SEL_I2C01 [3] */
5416 FN_SEL_I2C01_0, FN_SEL_I2C01_1, FN_SEL_I2C01_2, FN_SEL_I2C01_3,
5417 FN_SEL_I2C01_4, 0, 0, 0,
5418 /* SEL_I2C02 [3] */
5419 FN_SEL_I2C02_0, FN_SEL_I2C02_1, FN_SEL_I2C02_2, FN_SEL_I2C02_3,
5420 FN_SEL_I2C02_4, 0, 0, 0,
5421 /* SEL_I2C03 [3] */
5422 FN_SEL_I2C03_0, FN_SEL_I2C03_1, FN_SEL_I2C03_2, FN_SEL_I2C03_3,
5423 FN_SEL_I2C03_4, 0, 0, 0,
5424 /* SEL_I2C04 [3] */
5425 FN_SEL_I2C04_0, FN_SEL_I2C04_1, FN_SEL_I2C04_2, FN_SEL_I2C04_3,
5426 FN_SEL_I2C04_4, 0, 0, 0,
5427 /* SEL_I2C05 [2] */
5428 FN_SEL_I2C05_0, FN_SEL_I2C05_1, FN_SEL_I2C05_2, FN_SEL_I2C05_3,
Marek Vasutf46776c2023-01-26 21:01:39 +01005429 /* RESERVED [1] */ ))
Marek Vasut34e93602018-01-17 22:33:59 +01005430 },
5431 { PINMUX_CFG_REG_VAR("MOD_SEL2", 0xE6060094, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005432 GROUP(2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1,
Marek Vasutf46776c2023-01-26 21:01:39 +01005433 2, 2, -1, 1, 2, 2, 2, 1, 1, -2),
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005434 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01005435 /* SEL_IEB [2] */
5436 FN_SEL_IEB_0, FN_SEL_IEB_1, FN_SEL_IEB_2, 0,
5437 /* SEL_IIC0 [2] */
5438 FN_SEL_IIC0_0, FN_SEL_IIC0_1, FN_SEL_IIC0_2, FN_SEL_IIC0_3,
5439 /* SEL_LBS [1] */
5440 FN_SEL_LBS_0, FN_SEL_LBS_1,
5441 /* SEL_MSI1 [1] */
5442 FN_SEL_MSI1_0, FN_SEL_MSI1_1,
5443 /* SEL_MSI2 [1] */
5444 FN_SEL_MSI2_0, FN_SEL_MSI2_1,
5445 /* SEL_RAD [1] */
5446 FN_SEL_RAD_0, FN_SEL_RAD_1,
5447 /* SEL_RCN [1] */
5448 FN_SEL_RCN_0, FN_SEL_RCN_1,
5449 /* SEL_RSP [1] */
5450 FN_SEL_RSP_0, FN_SEL_RSP_1,
5451 /* SEL_SCIFA0 [2] */
5452 FN_SEL_SCIFA0_0, FN_SEL_SCIFA0_1, FN_SEL_SCIFA0_2,
5453 FN_SEL_SCIFA0_3,
5454 /* SEL_SCIFA1 [2] */
5455 FN_SEL_SCIFA1_0, FN_SEL_SCIFA1_1, FN_SEL_SCIFA1_2, 0,
5456 /* SEL_SCIFA2 [1] */
5457 FN_SEL_SCIFA2_0, FN_SEL_SCIFA2_1,
5458 /* SEL_SCIFA3 [1] */
5459 FN_SEL_SCIFA3_0, FN_SEL_SCIFA3_1,
5460 /* SEL_SCIFA4 [2] */
5461 FN_SEL_SCIFA4_0, FN_SEL_SCIFA4_1, FN_SEL_SCIFA4_2,
5462 FN_SEL_SCIFA4_3,
5463 /* SEL_SCIFA5 [2] */
5464 FN_SEL_SCIFA5_0, FN_SEL_SCIFA5_1, FN_SEL_SCIFA5_2,
5465 FN_SEL_SCIFA5_3,
5466 /* RESERVED [1] */
Marek Vasut34e93602018-01-17 22:33:59 +01005467 /* SEL_TMU [1] */
5468 FN_SEL_TMU_0, FN_SEL_TMU_1,
5469 /* SEL_TSIF0 [2] */
5470 FN_SEL_TSIF0_0, FN_SEL_TSIF0_1, FN_SEL_TSIF0_2, FN_SEL_TSIF0_3,
5471 /* SEL_CAN0 [2] */
5472 FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3,
5473 /* SEL_CAN1 [2] */
5474 FN_SEL_CAN1_0, FN_SEL_CAN1_1, FN_SEL_CAN1_2, FN_SEL_CAN1_3,
5475 /* SEL_HSCIF0 [1] */
5476 FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1,
5477 /* SEL_HSCIF1 [1] */
5478 FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1,
Marek Vasutf46776c2023-01-26 21:01:39 +01005479 /* RESERVED [2] */ ))
Marek Vasut34e93602018-01-17 22:33:59 +01005480 },
5481 { PINMUX_CFG_REG_VAR("MOD_SEL3", 0xE6060098, 32,
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005482 GROUP(2, 2, 2, 1, 3, 2, 1, 1, 1, 1, 1, 1,
Marek Vasutf46776c2023-01-26 21:01:39 +01005483 1, 1, -12),
Eugeniu Rosca7f2e60f2019-07-09 18:27:11 +02005484 GROUP(
Marek Vasut34e93602018-01-17 22:33:59 +01005485 /* SEL_SCIF0 [2] */
5486 FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2, FN_SEL_SCIF0_3,
5487 /* SEL_SCIF1 [2] */
5488 FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, 0,
5489 /* SEL_SCIF2 [2] */
5490 FN_SEL_SCIF2_0, FN_SEL_SCIF2_1, FN_SEL_SCIF2_2, 0,
5491 /* SEL_SCIF3 [1] */
5492 FN_SEL_SCIF3_0, FN_SEL_SCIF3_1,
5493 /* SEL_SCIF4 [3] */
5494 FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2, FN_SEL_SCIF4_3,
5495 FN_SEL_SCIF4_4, 0, 0, 0,
5496 /* SEL_SCIF5 [2] */
5497 FN_SEL_SCIF5_0, FN_SEL_SCIF5_1, FN_SEL_SCIF5_2, FN_SEL_SCIF5_3,
5498 /* SEL_SSI1 [1] */
5499 FN_SEL_SSI1_0, FN_SEL_SSI1_1,
5500 /* SEL_SSI2 [1] */
5501 FN_SEL_SSI2_0, FN_SEL_SSI2_1,
5502 /* SEL_SSI4 [1] */
5503 FN_SEL_SSI4_0, FN_SEL_SSI4_1,
5504 /* SEL_SSI5 [1] */
5505 FN_SEL_SSI5_0, FN_SEL_SSI5_1,
5506 /* SEL_SSI6 [1] */
5507 FN_SEL_SSI6_0, FN_SEL_SSI6_1,
5508 /* SEL_SSI7 [1] */
5509 FN_SEL_SSI7_0, FN_SEL_SSI7_1,
5510 /* SEL_SSI8 [1] */
5511 FN_SEL_SSI8_0, FN_SEL_SSI8_1,
5512 /* SEL_SSI9 [1] */
5513 FN_SEL_SSI9_0, FN_SEL_SSI9_1,
Marek Vasutf46776c2023-01-26 21:01:39 +01005514 /* RESERVED [12] */ ))
Marek Vasut34e93602018-01-17 22:33:59 +01005515 },
5516 { },
5517};
5518
Marek Vasutf46776c2023-01-26 21:01:39 +01005519static int r8a7794_pin_to_pocctrl(unsigned int pin, u32 *pocctrl)
Marek Vasut34e93602018-01-17 22:33:59 +01005520{
Marek Vasutf46776c2023-01-26 21:01:39 +01005521 if (pin < RCAR_GP_PIN(6, 0) || pin > RCAR_GP_PIN(6, 23))
5522 return -EINVAL;
5523
Marek Vasut34e93602018-01-17 22:33:59 +01005524 *pocctrl = 0xe606006c;
5525
5526 switch (pin & 0x1f) {
5527 case 6: return 23;
5528 case 7: return 16;
5529 case 14: return 15;
5530 case 15: return 8;
5531 case 0 ... 5:
5532 case 8 ... 13:
5533 return 22 - (pin & 0x1f);
5534 case 16 ... 23:
5535 return 47 - (pin & 0x1f);
5536 }
5537
5538 return -EINVAL;
5539}
5540
Marek Vasutf46776c2023-01-26 21:01:39 +01005541static const struct pinmux_bias_reg pinmux_bias_regs[] = {
5542 { PINMUX_BIAS_REG("PUPR0", 0xe6060100, "N/A", 0) {
5543 [ 0] = RCAR_GP_PIN(0, 0), /* D0 */
5544 [ 1] = RCAR_GP_PIN(0, 1), /* D1 */
5545 [ 2] = RCAR_GP_PIN(0, 2), /* D2 */
5546 [ 3] = RCAR_GP_PIN(0, 3), /* D3 */
5547 [ 4] = RCAR_GP_PIN(0, 4), /* D4 */
5548 [ 5] = RCAR_GP_PIN(0, 5), /* D5 */
5549 [ 6] = RCAR_GP_PIN(0, 6), /* D6 */
5550 [ 7] = RCAR_GP_PIN(0, 7), /* D7 */
5551 [ 8] = RCAR_GP_PIN(0, 8), /* D8 */
5552 [ 9] = RCAR_GP_PIN(0, 9), /* D9 */
5553 [10] = RCAR_GP_PIN(0, 10), /* D10 */
5554 [11] = RCAR_GP_PIN(0, 11), /* D11 */
5555 [12] = RCAR_GP_PIN(0, 12), /* D12 */
5556 [13] = RCAR_GP_PIN(0, 13), /* D13 */
5557 [14] = RCAR_GP_PIN(0, 14), /* D14 */
5558 [15] = RCAR_GP_PIN(0, 15), /* D15 */
5559 [16] = RCAR_GP_PIN(0, 16), /* A0 */
5560 [17] = RCAR_GP_PIN(0, 17), /* A1 */
5561 [18] = RCAR_GP_PIN(0, 18), /* A2 */
5562 [19] = RCAR_GP_PIN(0, 19), /* A3 */
5563 [20] = RCAR_GP_PIN(0, 20), /* A4 */
5564 [21] = RCAR_GP_PIN(0, 21), /* A5 */
5565 [22] = RCAR_GP_PIN(0, 22), /* A6 */
5566 [23] = RCAR_GP_PIN(0, 23), /* A7 */
5567 [24] = RCAR_GP_PIN(0, 24), /* A8 */
5568 [25] = RCAR_GP_PIN(0, 25), /* A9 */
5569 [26] = RCAR_GP_PIN(0, 26), /* A10 */
5570 [27] = RCAR_GP_PIN(0, 27), /* A11 */
5571 [28] = RCAR_GP_PIN(0, 28), /* A12 */
5572 [29] = RCAR_GP_PIN(0, 29), /* A13 */
5573 [30] = RCAR_GP_PIN(0, 30), /* A14 */
5574 [31] = RCAR_GP_PIN(0, 31), /* A15 */
5575 } },
5576 { PINMUX_BIAS_REG("PUPR1", 0xe6060104, "N/A", 0) {
5577 /* PUPR1 pull-up pins */
5578 [ 0] = RCAR_GP_PIN(1, 0), /* A16 */
5579 [ 1] = RCAR_GP_PIN(1, 1), /* A17 */
5580 [ 2] = RCAR_GP_PIN(1, 2), /* A18 */
5581 [ 3] = RCAR_GP_PIN(1, 3), /* A19 */
5582 [ 4] = RCAR_GP_PIN(1, 4), /* A20 */
5583 [ 5] = RCAR_GP_PIN(1, 5), /* A21 */
5584 [ 6] = RCAR_GP_PIN(1, 6), /* A22 */
5585 [ 7] = RCAR_GP_PIN(1, 7), /* A23 */
5586 [ 8] = RCAR_GP_PIN(1, 8), /* A24 */
5587 [ 9] = RCAR_GP_PIN(1, 9), /* A25 */
5588 [10] = RCAR_GP_PIN(1, 10), /* CS0# */
5589 [11] = RCAR_GP_PIN(1, 12), /* EX_CS0# */
5590 [12] = RCAR_GP_PIN(1, 14), /* EX_CS2# */
5591 [13] = RCAR_GP_PIN(1, 16), /* EX_CS4# */
5592 [14] = RCAR_GP_PIN(1, 18), /* BS# */
5593 [15] = RCAR_GP_PIN(1, 19), /* RD# */
5594 [16] = RCAR_GP_PIN(1, 20), /* RD/WR# */
5595 [17] = RCAR_GP_PIN(1, 21), /* WE0# */
5596 [18] = RCAR_GP_PIN(1, 22), /* WE1# */
5597 [19] = RCAR_GP_PIN(1, 23), /* EX_WAIT0 */
5598 [20] = RCAR_GP_PIN(1, 24), /* DREQ0# */
5599 [21] = RCAR_GP_PIN(1, 25), /* DACK0 */
5600 [22] = PIN_TRST_N, /* TRST# */
5601 [23] = PIN_TCK, /* TCK */
5602 [24] = PIN_TMS, /* TMS */
5603 [25] = PIN_TDI, /* TDI */
5604 [26] = RCAR_GP_PIN(1, 11), /* CS1#/A26 */
5605 [27] = RCAR_GP_PIN(1, 13), /* EX_CS1# */
5606 [28] = RCAR_GP_PIN(1, 15), /* EX_CS3# */
5607 [29] = RCAR_GP_PIN(1, 17), /* EX_CS5# */
5608 [30] = SH_PFC_PIN_NONE,
5609 [31] = SH_PFC_PIN_NONE,
5610 } },
5611 { PINMUX_BIAS_REG("N/A", 0, "PUPR1", 0xe6060104) {
5612 /* PUPR1 pull-down pins */
5613 [ 0] = SH_PFC_PIN_NONE,
5614 [ 1] = SH_PFC_PIN_NONE,
5615 [ 2] = SH_PFC_PIN_NONE,
5616 [ 3] = SH_PFC_PIN_NONE,
5617 [ 4] = SH_PFC_PIN_NONE,
5618 [ 5] = SH_PFC_PIN_NONE,
5619 [ 6] = SH_PFC_PIN_NONE,
5620 [ 7] = SH_PFC_PIN_NONE,
5621 [ 8] = SH_PFC_PIN_NONE,
5622 [ 9] = SH_PFC_PIN_NONE,
5623 [10] = SH_PFC_PIN_NONE,
5624 [11] = SH_PFC_PIN_NONE,
5625 [12] = SH_PFC_PIN_NONE,
5626 [13] = SH_PFC_PIN_NONE,
5627 [14] = SH_PFC_PIN_NONE,
5628 [15] = SH_PFC_PIN_NONE,
5629 [16] = SH_PFC_PIN_NONE,
5630 [17] = SH_PFC_PIN_NONE,
5631 [18] = SH_PFC_PIN_NONE,
5632 [19] = SH_PFC_PIN_NONE,
5633 [20] = SH_PFC_PIN_NONE,
5634 [21] = SH_PFC_PIN_NONE,
5635 [22] = SH_PFC_PIN_NONE,
5636 [23] = SH_PFC_PIN_NONE,
5637 [24] = SH_PFC_PIN_NONE,
5638 [25] = SH_PFC_PIN_NONE,
5639 [26] = SH_PFC_PIN_NONE,
5640 [27] = SH_PFC_PIN_NONE,
5641 [28] = SH_PFC_PIN_NONE,
5642 [29] = SH_PFC_PIN_NONE,
5643 [30] = PIN_ASEBRK_N_ACK, /* ASEBRK#/ACK */
5644 [31] = SH_PFC_PIN_NONE,
5645 } },
5646 { PINMUX_BIAS_REG("PUPR2", 0xe6060108, "N/A", 0) {
5647 [ 0] = RCAR_GP_PIN(2, 0), /* DU0_DR0 */
5648 [ 1] = RCAR_GP_PIN(2, 1), /* DU0_DR1 */
5649 [ 2] = RCAR_GP_PIN(2, 2), /* DU0_DR2 */
5650 [ 3] = RCAR_GP_PIN(2, 3), /* DU0_DR3 */
5651 [ 4] = RCAR_GP_PIN(2, 4), /* DU0_DR4 */
5652 [ 5] = RCAR_GP_PIN(2, 5), /* DU0_DR5 */
5653 [ 6] = RCAR_GP_PIN(2, 6), /* DU0_DR6 */
5654 [ 7] = RCAR_GP_PIN(2, 7), /* DU0_DR7 */
5655 [ 8] = RCAR_GP_PIN(2, 8), /* DU0_DG0 */
5656 [ 9] = RCAR_GP_PIN(2, 9), /* DU0_DG1 */
5657 [10] = RCAR_GP_PIN(2, 10), /* DU0_DG2 */
5658 [11] = RCAR_GP_PIN(2, 11), /* DU0_DG3 */
5659 [12] = RCAR_GP_PIN(2, 12), /* DU0_DG4 */
5660 [13] = RCAR_GP_PIN(2, 13), /* DU0_DG5 */
5661 [14] = RCAR_GP_PIN(2, 14), /* DU0_DG6 */
5662 [15] = RCAR_GP_PIN(2, 15), /* DU0_DG7 */
5663 [16] = RCAR_GP_PIN(2, 16), /* DU0_DB0 */
5664 [17] = RCAR_GP_PIN(2, 17), /* DU0_DB1 */
5665 [18] = RCAR_GP_PIN(2, 18), /* DU0_DB2 */
5666 [19] = RCAR_GP_PIN(2, 19), /* DU0_DB3 */
5667 [20] = RCAR_GP_PIN(2, 20), /* DU0_DB4 */
5668 [21] = RCAR_GP_PIN(2, 21), /* DU0_DB5 */
5669 [22] = RCAR_GP_PIN(2, 22), /* DU0_DB6 */
5670 [23] = RCAR_GP_PIN(2, 23), /* DU0_DB7 */
5671 [24] = RCAR_GP_PIN(2, 24), /* DU0_DOTCLKIN */
5672 [25] = RCAR_GP_PIN(2, 25), /* DU0_DOTCLKOUT0 */
5673 [26] = RCAR_GP_PIN(2, 26), /* DU0_DOTCLKOUT1 */
5674 [27] = RCAR_GP_PIN(2, 27), /* DU0_EXHSYNC/DU0_HSYNC */
5675 [28] = RCAR_GP_PIN(2, 28), /* DU0_EXVSYNC/DU0_VSYNC */
5676 [29] = RCAR_GP_PIN(2, 29), /* DU0_EXODDF/DU0_ODDF_DISP_CDE */
5677 [30] = RCAR_GP_PIN(2, 30), /* DU0_DISP */
5678 [31] = RCAR_GP_PIN(2, 31), /* DU0_CDE */
5679 } },
5680 { PINMUX_BIAS_REG("PUPR3", 0xe606010c, "N/A", 0) {
5681 [ 0] = RCAR_GP_PIN(3, 2), /* VI0_DATA1_VI0_B1 */
5682 [ 1] = RCAR_GP_PIN(3, 3), /* VI0_DATA2_VI0_B2 */
5683 [ 2] = RCAR_GP_PIN(3, 4), /* VI0_DATA3_VI0_B3 */
5684 [ 3] = RCAR_GP_PIN(3, 5), /* VI0_DATA4_VI0_B4 */
5685 [ 4] = RCAR_GP_PIN(3, 6), /* VI0_DATA5_VI0_B5 */
5686 [ 5] = RCAR_GP_PIN(3, 7), /* VI0_DATA6_VI0_B6 */
5687 [ 6] = RCAR_GP_PIN(3, 8), /* VI0_DATA7_VI0_B7 */
5688 [ 7] = RCAR_GP_PIN(3, 9), /* VI0_CLKENB */
5689 [ 8] = RCAR_GP_PIN(3, 10), /* VI0_FIELD */
5690 [ 9] = RCAR_GP_PIN(3, 11), /* VI0_HSYNC# */
5691 [10] = RCAR_GP_PIN(3, 12), /* VI0_VSYNC# */
5692 [11] = RCAR_GP_PIN(3, 13), /* ETH_MDIO */
5693 [12] = RCAR_GP_PIN(3, 14), /* ETH_CRS_DV */
5694 [13] = RCAR_GP_PIN(3, 15), /* ETH_RX_ER */
5695 [14] = RCAR_GP_PIN(3, 16), /* ETH_RXD0 */
5696 [15] = RCAR_GP_PIN(3, 17), /* ETH_RXD1 */
5697 [16] = RCAR_GP_PIN(3, 18), /* ETH_LINK */
5698 [17] = RCAR_GP_PIN(3, 19), /* ETH_REF_CLK */
5699 [18] = RCAR_GP_PIN(3, 20), /* ETH_TXD1 */
5700 [19] = RCAR_GP_PIN(3, 21), /* ETH_TX_EN */
5701 [20] = RCAR_GP_PIN(3, 22), /* ETH_MAGIC */
5702 [21] = RCAR_GP_PIN(3, 23), /* ETH_TXD0 */
5703 [22] = RCAR_GP_PIN(3, 24), /* ETH_MDC */
5704 [23] = RCAR_GP_PIN(3, 25), /* HSCIF0_HRX */
5705 [24] = RCAR_GP_PIN(3, 26), /* HSCIF0_HTX */
5706 [25] = RCAR_GP_PIN(3, 27), /* HSCIF0_HCTS# */
5707 [26] = RCAR_GP_PIN(3, 28), /* HSCIF0_HRTS# */
5708 [27] = RCAR_GP_PIN(3, 29), /* HSCIF0_HSCK */
5709 [28] = RCAR_GP_PIN(3, 30), /* I2C0_SCL */
5710 [29] = RCAR_GP_PIN(3, 31), /* I2C0_SDA */
5711 [30] = RCAR_GP_PIN(4, 0), /* I2C1_SCL */
5712 [31] = RCAR_GP_PIN(4, 1), /* I2C1_SDA */
5713 } },
5714 { PINMUX_BIAS_REG("PUPR4", 0xe6060110, "N/A", 0) {
5715 [ 0] = RCAR_GP_PIN(4, 2), /* MSIOF0_RXD */
5716 [ 1] = RCAR_GP_PIN(4, 3), /* MSIOF0_TXD */
5717 [ 2] = RCAR_GP_PIN(4, 4), /* MSIOF0_SCK */
5718 [ 3] = RCAR_GP_PIN(4, 5), /* MSIOF0_SYNC */
5719 [ 4] = RCAR_GP_PIN(4, 6), /* MSIOF0_SS1 */
5720 [ 5] = RCAR_GP_PIN(4, 7), /* MSIOF0_SS2 */
5721 [ 6] = RCAR_GP_PIN(4, 8), /* HSCIF1_HRX */
5722 [ 7] = RCAR_GP_PIN(4, 9), /* HSCIF1_HTX */
5723 [ 8] = RCAR_GP_PIN(4, 10), /* HSCIF1_HSCK */
5724 [ 9] = RCAR_GP_PIN(4, 11), /* HSCIF1_HCTS# */
5725 [10] = RCAR_GP_PIN(4, 12), /* HSCIF1_HRTS# */
5726 [11] = RCAR_GP_PIN(4, 13), /* SCIF1_SCK */
5727 [12] = RCAR_GP_PIN(4, 14), /* SCIF1_RXD */
5728 [13] = RCAR_GP_PIN(4, 15), /* SCIF1_TXD */
5729 [14] = RCAR_GP_PIN(4, 16), /* SCIF2_RXD */
5730 [15] = RCAR_GP_PIN(4, 17), /* SCIF2_TXD */
5731 [16] = RCAR_GP_PIN(4, 18), /* SCIF2_SCK */
5732 [17] = RCAR_GP_PIN(4, 19), /* SCIF3_SCK */
5733 [18] = RCAR_GP_PIN(4, 20), /* SCIF3_RXD */
5734 [19] = RCAR_GP_PIN(4, 21), /* SCIF3_TXD */
5735 [20] = RCAR_GP_PIN(4, 22), /* I2C2_SCL */
5736 [21] = RCAR_GP_PIN(4, 23), /* I2C2_SDA */
5737 [22] = RCAR_GP_PIN(4, 24), /* SSI_SCK5 */
5738 [23] = RCAR_GP_PIN(4, 25), /* SSI_WS5 */
5739 [24] = RCAR_GP_PIN(4, 26), /* SSI_SDATA5 */
5740 [25] = RCAR_GP_PIN(4, 27), /* SSI_SCK6 */
5741 [26] = RCAR_GP_PIN(4, 28), /* SSI_WS6 */
5742 [27] = RCAR_GP_PIN(4, 29), /* SSI_SDATA6 */
5743 [28] = RCAR_GP_PIN(4, 30), /* SSI_SCK78 */
5744 [29] = RCAR_GP_PIN(4, 31), /* SSI_WS78 */
5745 [30] = RCAR_GP_PIN(5, 0), /* SSI_SDATA7 */
5746 [31] = RCAR_GP_PIN(5, 1), /* SSI_SCK0129 */
5747 } },
5748 { PINMUX_BIAS_REG("PUPR5", 0xe6060114, "N/A", 0) {
5749 [ 0] = RCAR_GP_PIN(5, 2), /* SSI_WS0129 */
5750 [ 1] = RCAR_GP_PIN(5, 3), /* SSI_SDATA0 */
5751 [ 2] = RCAR_GP_PIN(5, 4), /* SSI_SCK34 */
5752 [ 3] = RCAR_GP_PIN(5, 5), /* SSI_WS34 */
5753 [ 4] = RCAR_GP_PIN(5, 6), /* SSI_SDATA3 */
5754 [ 5] = SH_PFC_PIN_NONE,
5755 [ 6] = SH_PFC_PIN_NONE,
5756 [ 7] = SH_PFC_PIN_NONE,
5757 [ 8] = RCAR_GP_PIN(5, 10), /* SSI_SDATA8 */
5758 [ 9] = RCAR_GP_PIN(5, 11), /* SSI_SCK1 */
5759 [10] = RCAR_GP_PIN(5, 12), /* SSI_WS1 */
5760 [11] = RCAR_GP_PIN(5, 13), /* SSI_SDATA1 */
5761 [12] = RCAR_GP_PIN(5, 14), /* SSI_SCK2 */
5762 [13] = RCAR_GP_PIN(5, 15), /* SSI_WS2 */
5763 [14] = RCAR_GP_PIN(5, 16), /* SSI_SDATA2 */
5764 [15] = RCAR_GP_PIN(5, 17), /* SSI_SCK9 */
5765 [16] = RCAR_GP_PIN(5, 18), /* SSI_WS9 */
5766 [17] = RCAR_GP_PIN(5, 19), /* SSI_SDATA9 */
5767 [18] = RCAR_GP_PIN(5, 20), /* AUDIO_CLKA */
5768 [19] = RCAR_GP_PIN(5, 21), /* AUDIO_CLKB */
5769 [20] = RCAR_GP_PIN(5, 22), /* AUDIO_CLKC */
5770 [21] = RCAR_GP_PIN(5, 23), /* AUDIO_CLKOUT */
5771 [22] = RCAR_GP_PIN(3, 0), /* VI0_CLK */
5772 [23] = RCAR_GP_PIN(3, 1), /* VI0_DATA0_VI0_B0 */
5773 [24] = SH_PFC_PIN_NONE,
5774 [25] = SH_PFC_PIN_NONE,
5775 [26] = SH_PFC_PIN_NONE,
5776 [27] = SH_PFC_PIN_NONE,
5777 [28] = SH_PFC_PIN_NONE,
5778 [29] = SH_PFC_PIN_NONE,
5779 [30] = SH_PFC_PIN_NONE,
5780 [31] = SH_PFC_PIN_NONE,
5781 } },
5782 { PINMUX_BIAS_REG("PUPR6", 0xe6060118, "N/A", 0) {
5783 [ 0] = RCAR_GP_PIN(6, 1), /* SD0_CMD */
5784 [ 1] = RCAR_GP_PIN(6, 2), /* SD0_DATA0 */
5785 [ 2] = RCAR_GP_PIN(6, 3), /* SD0_DATA1 */
5786 [ 3] = RCAR_GP_PIN(6, 4), /* SD0_DATA2 */
5787 [ 4] = RCAR_GP_PIN(6, 5), /* SD0_DATA3 */
5788 [ 5] = RCAR_GP_PIN(6, 6), /* SD0_CD */
5789 [ 6] = RCAR_GP_PIN(6, 7), /* SD0_WP */
5790 [ 7] = RCAR_GP_PIN(6, 9), /* SD1_CMD */
5791 [ 8] = RCAR_GP_PIN(6, 10), /* SD1_DATA0 */
5792 [ 9] = RCAR_GP_PIN(6, 11), /* SD1_DATA1 */
5793 [10] = RCAR_GP_PIN(6, 12), /* SD1_DATA2 */
5794 [11] = RCAR_GP_PIN(6, 13), /* SD1_DATA3 */
5795 [12] = RCAR_GP_PIN(6, 14), /* SD1_CD */
5796 [13] = RCAR_GP_PIN(6, 15), /* SD1_WP */
5797 [14] = SH_PFC_PIN_NONE,
5798 [15] = RCAR_GP_PIN(6, 17), /* MMC_CMD */
5799 [16] = RCAR_GP_PIN(6, 18), /* MMC_D0 */
5800 [17] = RCAR_GP_PIN(6, 19), /* MMC_D1 */
5801 [18] = RCAR_GP_PIN(6, 20), /* MMC_D2 */
5802 [19] = RCAR_GP_PIN(6, 21), /* MMC_D3 */
5803 [20] = RCAR_GP_PIN(6, 22), /* MMC_D4 */
5804 [21] = RCAR_GP_PIN(6, 23), /* MMC_D5 */
5805 [22] = RCAR_GP_PIN(6, 24), /* MMC_D6 */
5806 [23] = RCAR_GP_PIN(6, 25), /* MMC_D7 */
5807 [24] = SH_PFC_PIN_NONE,
5808 [25] = SH_PFC_PIN_NONE,
5809 [26] = SH_PFC_PIN_NONE,
5810 [27] = SH_PFC_PIN_NONE,
5811 [28] = SH_PFC_PIN_NONE,
5812 [29] = SH_PFC_PIN_NONE,
5813 [30] = SH_PFC_PIN_NONE,
5814 [31] = SH_PFC_PIN_NONE,
5815 } },
5816 { /* sentinel */ }
5817};
5818
Marek Vasut37929ca2019-03-04 22:29:30 +01005819static int r8a7794_pinmux_soc_init(struct sh_pfc *pfc)
5820{
5821 /* Initialize TDSEL on old revisions */
5822 if ((rmobile_get_cpu_rev_integer() == 1) &&
5823 (rmobile_get_cpu_rev_fraction() == 0))
5824 sh_pfc_write(pfc, 0xe6060068, 0x55555500);
5825
5826 return 0;
5827}
5828
Marek Vasutf46776c2023-01-26 21:01:39 +01005829static const struct sh_pfc_soc_operations r8a7794_pfc_ops = {
Marek Vasut37929ca2019-03-04 22:29:30 +01005830 .init = r8a7794_pinmux_soc_init,
Marek Vasut34e93602018-01-17 22:33:59 +01005831 .pin_to_pocctrl = r8a7794_pin_to_pocctrl,
Marek Vasutf46776c2023-01-26 21:01:39 +01005832 .get_bias = rcar_pinmux_get_bias,
5833 .set_bias = rcar_pinmux_set_bias,
Marek Vasut34e93602018-01-17 22:33:59 +01005834};
5835
5836#ifdef CONFIG_PINCTRL_PFC_R8A7745
5837const struct sh_pfc_soc_info r8a7745_pinmux_info = {
5838 .name = "r8a77450_pfc",
Marek Vasutf46776c2023-01-26 21:01:39 +01005839 .ops = &r8a7794_pfc_ops,
Marek Vasut34e93602018-01-17 22:33:59 +01005840 .unlock_reg = 0xe6060000, /* PMMR */
5841
5842 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
5843
5844 .pins = pinmux_pins,
5845 .nr_pins = ARRAY_SIZE(pinmux_pins),
5846 .groups = pinmux_groups,
5847 .nr_groups = ARRAY_SIZE(pinmux_groups),
5848 .functions = pinmux_functions,
5849 .nr_functions = ARRAY_SIZE(pinmux_functions),
5850
5851 .cfg_regs = pinmux_config_regs,
Marek Vasutf46776c2023-01-26 21:01:39 +01005852 .bias_regs = pinmux_bias_regs,
Marek Vasut34e93602018-01-17 22:33:59 +01005853
5854 .pinmux_data = pinmux_data,
5855 .pinmux_data_size = ARRAY_SIZE(pinmux_data),
5856};
5857#endif
5858
5859#ifdef CONFIG_PINCTRL_PFC_R8A7794
5860const struct sh_pfc_soc_info r8a7794_pinmux_info = {
5861 .name = "r8a77940_pfc",
Marek Vasutf46776c2023-01-26 21:01:39 +01005862 .ops = &r8a7794_pfc_ops,
Marek Vasut34e93602018-01-17 22:33:59 +01005863 .unlock_reg = 0xe6060000, /* PMMR */
5864
5865 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
5866
5867 .pins = pinmux_pins,
5868 .nr_pins = ARRAY_SIZE(pinmux_pins),
5869 .groups = pinmux_groups,
5870 .nr_groups = ARRAY_SIZE(pinmux_groups),
5871 .functions = pinmux_functions,
5872 .nr_functions = ARRAY_SIZE(pinmux_functions),
5873
5874 .cfg_regs = pinmux_config_regs,
Marek Vasutf46776c2023-01-26 21:01:39 +01005875 .bias_regs = pinmux_bias_regs,
Marek Vasut34e93602018-01-17 22:33:59 +01005876
5877 .pinmux_data = pinmux_data,
5878 .pinmux_data_size = ARRAY_SIZE(pinmux_data),
5879};
5880#endif