1077365a9SGeert Uytterhoeven // SPDX-License-Identifier: GPL-2.0
2077365a9SGeert Uytterhoeven /*
3077365a9SGeert Uytterhoeven  * R8A77970 processor support - PFC hardware block.
4077365a9SGeert Uytterhoeven  *
5077365a9SGeert Uytterhoeven  * Copyright (C) 2016 Renesas Electronics Corp.
6077365a9SGeert Uytterhoeven  * Copyright (C) 2017 Cogent Embedded, Inc. <source@cogentembedded.com>
7077365a9SGeert Uytterhoeven  *
8077365a9SGeert Uytterhoeven  * This file is based on the drivers/pinctrl/renesas/pfc-r8a7795.c
9077365a9SGeert Uytterhoeven  *
10077365a9SGeert Uytterhoeven  * R-Car Gen3 processor support - PFC hardware block.
11077365a9SGeert Uytterhoeven  *
12077365a9SGeert Uytterhoeven  * Copyright (C) 2015  Renesas Electronics Corporation
13077365a9SGeert Uytterhoeven  */
14077365a9SGeert Uytterhoeven 
15077365a9SGeert Uytterhoeven #include <linux/errno.h>
16077365a9SGeert Uytterhoeven #include <linux/io.h>
17077365a9SGeert Uytterhoeven #include <linux/kernel.h>
18077365a9SGeert Uytterhoeven 
19077365a9SGeert Uytterhoeven #include "core.h"
20077365a9SGeert Uytterhoeven #include "sh_pfc.h"
21077365a9SGeert Uytterhoeven 
22077365a9SGeert Uytterhoeven #define CPU_ALL_GP(fn, sfx)						\
23077365a9SGeert Uytterhoeven 	PORT_GP_CFG_22(0, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),		\
24077365a9SGeert Uytterhoeven 	PORT_GP_28(1, fn, sfx),						\
25077365a9SGeert Uytterhoeven 	PORT_GP_CFG_17(2, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),		\
26077365a9SGeert Uytterhoeven 	PORT_GP_CFG_17(3, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE),		\
27077365a9SGeert Uytterhoeven 	PORT_GP_6(4,  fn, sfx),						\
28077365a9SGeert Uytterhoeven 	PORT_GP_15(5, fn, sfx)
29077365a9SGeert Uytterhoeven /*
30077365a9SGeert Uytterhoeven  * F_() : just information
31077365a9SGeert Uytterhoeven  * FM() : macro for FN_xxx / xxx_MARK
32077365a9SGeert Uytterhoeven  */
33077365a9SGeert Uytterhoeven 
34077365a9SGeert Uytterhoeven /* GPSR0 */
35077365a9SGeert Uytterhoeven #define GPSR0_21	F_(DU_EXODDF_DU_ODDF_DISP_CDE,	IP2_23_20)
36077365a9SGeert Uytterhoeven #define GPSR0_20	F_(DU_EXVSYNC_DU_VSYNC,		IP2_19_16)
37077365a9SGeert Uytterhoeven #define GPSR0_19	F_(DU_EXHSYNC_DU_HSYNC,		IP2_15_12)
38077365a9SGeert Uytterhoeven #define GPSR0_18	F_(DU_DOTCLKOUT,		IP2_11_8)
39077365a9SGeert Uytterhoeven #define GPSR0_17	F_(DU_DB7,			IP2_7_4)
40077365a9SGeert Uytterhoeven #define GPSR0_16	F_(DU_DB6,			IP2_3_0)
41077365a9SGeert Uytterhoeven #define GPSR0_15	F_(DU_DB5,			IP1_31_28)
42077365a9SGeert Uytterhoeven #define GPSR0_14	F_(DU_DB4,			IP1_27_24)
43077365a9SGeert Uytterhoeven #define GPSR0_13	F_(DU_DB3,			IP1_23_20)
44077365a9SGeert Uytterhoeven #define GPSR0_12	F_(DU_DB2,			IP1_19_16)
45077365a9SGeert Uytterhoeven #define GPSR0_11	F_(DU_DG7,			IP1_15_12)
46077365a9SGeert Uytterhoeven #define GPSR0_10	F_(DU_DG6,			IP1_11_8)
47077365a9SGeert Uytterhoeven #define GPSR0_9		F_(DU_DG5,			IP1_7_4)
48077365a9SGeert Uytterhoeven #define GPSR0_8		F_(DU_DG4,			IP1_3_0)
49077365a9SGeert Uytterhoeven #define GPSR0_7		F_(DU_DG3,			IP0_31_28)
50077365a9SGeert Uytterhoeven #define GPSR0_6		F_(DU_DG2,			IP0_27_24)
51077365a9SGeert Uytterhoeven #define GPSR0_5		F_(DU_DR7,			IP0_23_20)
52077365a9SGeert Uytterhoeven #define GPSR0_4		F_(DU_DR6,			IP0_19_16)
53077365a9SGeert Uytterhoeven #define GPSR0_3		F_(DU_DR5,			IP0_15_12)
54077365a9SGeert Uytterhoeven #define GPSR0_2		F_(DU_DR4,			IP0_11_8)
55077365a9SGeert Uytterhoeven #define GPSR0_1		F_(DU_DR3,			IP0_7_4)
56077365a9SGeert Uytterhoeven #define GPSR0_0		F_(DU_DR2,			IP0_3_0)
57077365a9SGeert Uytterhoeven 
58077365a9SGeert Uytterhoeven /* GPSR1 */
59077365a9SGeert Uytterhoeven #define GPSR1_27	F_(DIGRF_CLKOUT,	IP8_27_24)
60077365a9SGeert Uytterhoeven #define GPSR1_26	F_(DIGRF_CLKIN,		IP8_23_20)
61077365a9SGeert Uytterhoeven #define GPSR1_25	F_(CANFD_CLK_A,		IP8_19_16)
62077365a9SGeert Uytterhoeven #define GPSR1_24	F_(CANFD1_RX,		IP8_15_12)
63077365a9SGeert Uytterhoeven #define GPSR1_23	F_(CANFD1_TX,		IP8_11_8)
64077365a9SGeert Uytterhoeven #define GPSR1_22	F_(CANFD0_RX_A,		IP8_7_4)
65077365a9SGeert Uytterhoeven #define GPSR1_21	F_(CANFD0_TX_A,		IP8_3_0)
66077365a9SGeert Uytterhoeven #define GPSR1_20	F_(AVB0_AVTP_CAPTURE,	IP7_31_28)
67077365a9SGeert Uytterhoeven #define GPSR1_19	FM(AVB0_AVTP_MATCH)
68077365a9SGeert Uytterhoeven #define GPSR1_18	FM(AVB0_LINK)
69077365a9SGeert Uytterhoeven #define GPSR1_17	FM(AVB0_PHY_INT)
70077365a9SGeert Uytterhoeven #define GPSR1_16	FM(AVB0_MAGIC)
71077365a9SGeert Uytterhoeven #define GPSR1_15	FM(AVB0_MDC)
72077365a9SGeert Uytterhoeven #define GPSR1_14	FM(AVB0_MDIO)
73077365a9SGeert Uytterhoeven #define GPSR1_13	FM(AVB0_TXCREFCLK)
74077365a9SGeert Uytterhoeven #define GPSR1_12	FM(AVB0_TD3)
75077365a9SGeert Uytterhoeven #define GPSR1_11	FM(AVB0_TD2)
76077365a9SGeert Uytterhoeven #define GPSR1_10	FM(AVB0_TD1)
77077365a9SGeert Uytterhoeven #define GPSR1_9		FM(AVB0_TD0)
78077365a9SGeert Uytterhoeven #define GPSR1_8		FM(AVB0_TXC)
79077365a9SGeert Uytterhoeven #define GPSR1_7		FM(AVB0_TX_CTL)
80077365a9SGeert Uytterhoeven #define GPSR1_6		FM(AVB0_RD3)
81077365a9SGeert Uytterhoeven #define GPSR1_5		FM(AVB0_RD2)
82077365a9SGeert Uytterhoeven #define GPSR1_4		FM(AVB0_RD1)
83077365a9SGeert Uytterhoeven #define GPSR1_3		FM(AVB0_RD0)
84077365a9SGeert Uytterhoeven #define GPSR1_2		FM(AVB0_RXC)
85077365a9SGeert Uytterhoeven #define GPSR1_1		FM(AVB0_RX_CTL)
86077365a9SGeert Uytterhoeven #define GPSR1_0		F_(IRQ0,		IP2_27_24)
87077365a9SGeert Uytterhoeven 
88077365a9SGeert Uytterhoeven /* GPSR2 */
89077365a9SGeert Uytterhoeven #define GPSR2_16	F_(VI0_FIELD,		IP4_31_28)
90077365a9SGeert Uytterhoeven #define GPSR2_15	F_(VI0_DATA11,		IP4_27_24)
91077365a9SGeert Uytterhoeven #define GPSR2_14	F_(VI0_DATA10,		IP4_23_20)
92077365a9SGeert Uytterhoeven #define GPSR2_13	F_(VI0_DATA9,		IP4_19_16)
93077365a9SGeert Uytterhoeven #define GPSR2_12	F_(VI0_DATA8,		IP4_15_12)
94077365a9SGeert Uytterhoeven #define GPSR2_11	F_(VI0_DATA7,		IP4_11_8)
95077365a9SGeert Uytterhoeven #define GPSR2_10	F_(VI0_DATA6,		IP4_7_4)
96077365a9SGeert Uytterhoeven #define GPSR2_9		F_(VI0_DATA5,		IP4_3_0)
97077365a9SGeert Uytterhoeven #define GPSR2_8		F_(VI0_DATA4,		IP3_31_28)
98077365a9SGeert Uytterhoeven #define GPSR2_7		F_(VI0_DATA3,		IP3_27_24)
99077365a9SGeert Uytterhoeven #define GPSR2_6		F_(VI0_DATA2,		IP3_23_20)
100077365a9SGeert Uytterhoeven #define GPSR2_5		F_(VI0_DATA1,		IP3_19_16)
101077365a9SGeert Uytterhoeven #define GPSR2_4		F_(VI0_DATA0,		IP3_15_12)
102077365a9SGeert Uytterhoeven #define GPSR2_3		F_(VI0_VSYNC_N,		IP3_11_8)
103077365a9SGeert Uytterhoeven #define GPSR2_2		F_(VI0_HSYNC_N,		IP3_7_4)
104077365a9SGeert Uytterhoeven #define GPSR2_1		F_(VI0_CLKENB,		IP3_3_0)
105077365a9SGeert Uytterhoeven #define GPSR2_0		F_(VI0_CLK,		IP2_31_28)
106077365a9SGeert Uytterhoeven 
107077365a9SGeert Uytterhoeven /* GPSR3 */
108077365a9SGeert Uytterhoeven #define GPSR3_16	F_(VI1_FIELD,		IP7_3_0)
109077365a9SGeert Uytterhoeven #define GPSR3_15	F_(VI1_DATA11,		IP6_31_28)
110077365a9SGeert Uytterhoeven #define GPSR3_14	F_(VI1_DATA10,		IP6_27_24)
111077365a9SGeert Uytterhoeven #define GPSR3_13	F_(VI1_DATA9,		IP6_23_20)
112077365a9SGeert Uytterhoeven #define GPSR3_12	F_(VI1_DATA8,		IP6_19_16)
113077365a9SGeert Uytterhoeven #define GPSR3_11	F_(VI1_DATA7,		IP6_15_12)
114077365a9SGeert Uytterhoeven #define GPSR3_10	F_(VI1_DATA6,		IP6_11_8)
115077365a9SGeert Uytterhoeven #define GPSR3_9		F_(VI1_DATA5,		IP6_7_4)
116077365a9SGeert Uytterhoeven #define GPSR3_8		F_(VI1_DATA4,		IP6_3_0)
117077365a9SGeert Uytterhoeven #define GPSR3_7		F_(VI1_DATA3,		IP5_31_28)
118077365a9SGeert Uytterhoeven #define GPSR3_6		F_(VI1_DATA2,		IP5_27_24)
119077365a9SGeert Uytterhoeven #define GPSR3_5		F_(VI1_DATA1,		IP5_23_20)
120077365a9SGeert Uytterhoeven #define GPSR3_4		F_(VI1_DATA0,		IP5_19_16)
121077365a9SGeert Uytterhoeven #define GPSR3_3		F_(VI1_VSYNC_N,		IP5_15_12)
122077365a9SGeert Uytterhoeven #define GPSR3_2		F_(VI1_HSYNC_N,		IP5_11_8)
123077365a9SGeert Uytterhoeven #define GPSR3_1		F_(VI1_CLKENB,		IP5_7_4)
124077365a9SGeert Uytterhoeven #define GPSR3_0		F_(VI1_CLK,		IP5_3_0)
125077365a9SGeert Uytterhoeven 
126077365a9SGeert Uytterhoeven /* GPSR4 */
127077365a9SGeert Uytterhoeven #define GPSR4_5		F_(SDA2,		IP7_27_24)
128077365a9SGeert Uytterhoeven #define GPSR4_4		F_(SCL2,		IP7_23_20)
129077365a9SGeert Uytterhoeven #define GPSR4_3		F_(SDA1,		IP7_19_16)
130077365a9SGeert Uytterhoeven #define GPSR4_2		F_(SCL1,		IP7_15_12)
131077365a9SGeert Uytterhoeven #define GPSR4_1		F_(SDA0,		IP7_11_8)
132077365a9SGeert Uytterhoeven #define GPSR4_0		F_(SCL0,		IP7_7_4)
133077365a9SGeert Uytterhoeven 
134077365a9SGeert Uytterhoeven /* GPSR5 */
135077365a9SGeert Uytterhoeven #define GPSR5_14	FM(RPC_INT_N)
136077365a9SGeert Uytterhoeven #define GPSR5_13	FM(RPC_WP_N)
137077365a9SGeert Uytterhoeven #define GPSR5_12	FM(RPC_RESET_N)
138077365a9SGeert Uytterhoeven #define GPSR5_11	FM(QSPI1_SSL)
139077365a9SGeert Uytterhoeven #define GPSR5_10	FM(QSPI1_IO3)
140077365a9SGeert Uytterhoeven #define GPSR5_9		FM(QSPI1_IO2)
141077365a9SGeert Uytterhoeven #define GPSR5_8		FM(QSPI1_MISO_IO1)
142077365a9SGeert Uytterhoeven #define GPSR5_7		FM(QSPI1_MOSI_IO0)
143077365a9SGeert Uytterhoeven #define GPSR5_6		FM(QSPI1_SPCLK)
144077365a9SGeert Uytterhoeven #define GPSR5_5		FM(QSPI0_SSL)
145077365a9SGeert Uytterhoeven #define GPSR5_4		FM(QSPI0_IO3)
146077365a9SGeert Uytterhoeven #define GPSR5_3		FM(QSPI0_IO2)
147077365a9SGeert Uytterhoeven #define GPSR5_2		FM(QSPI0_MISO_IO1)
148077365a9SGeert Uytterhoeven #define GPSR5_1		FM(QSPI0_MOSI_IO0)
149077365a9SGeert Uytterhoeven #define GPSR5_0		FM(QSPI0_SPCLK)
150077365a9SGeert Uytterhoeven 
151077365a9SGeert Uytterhoeven 
152077365a9SGeert Uytterhoeven /* IPSRx */		/* 0 */				/* 1 */			/* 2 */		/* 3 */		/* 4 */			/* 5 */		/* 6 - F */
153077365a9SGeert Uytterhoeven #define IP0_3_0		FM(DU_DR2)			FM(HSCK0)		F_(0, 0)	FM(A0)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
154077365a9SGeert Uytterhoeven #define IP0_7_4		FM(DU_DR3)			FM(HRTS0_N)		F_(0, 0)	FM(A1)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
155077365a9SGeert Uytterhoeven #define IP0_11_8	FM(DU_DR4)			FM(HCTS0_N)		F_(0, 0)	FM(A2)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)	F_(0, 0) F_(0, 0)
156077365a9SGeert Uytterhoeven #define IP0_15_12	FM(DU_DR5)			FM(HTX0)		F_(0, 0)	FM(A3)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
157077365a9SGeert Uytterhoeven #define IP0_19_16	FM(DU_DR6)			FM(MSIOF3_RXD)		F_(0, 0)	FM(A4)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
158077365a9SGeert Uytterhoeven #define IP0_23_20	FM(DU_DR7)			FM(MSIOF3_TXD)		F_(0, 0)	FM(A5)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
159077365a9SGeert Uytterhoeven #define IP0_27_24	FM(DU_DG2)			FM(MSIOF3_SS1)		F_(0, 0)	FM(A6)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
160077365a9SGeert Uytterhoeven #define IP0_31_28	FM(DU_DG3)			FM(MSIOF3_SS2)		F_(0, 0)	FM(A7)		FM(PWMFSW0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
161077365a9SGeert Uytterhoeven #define IP1_3_0		FM(DU_DG4)			F_(0, 0)		F_(0, 0)	FM(A8)		FM(FSO_CFE_0_N_A)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
162077365a9SGeert Uytterhoeven #define IP1_7_4		FM(DU_DG5)			F_(0, 0)		F_(0, 0)	FM(A9)		FM(FSO_CFE_1_N_A)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
163077365a9SGeert Uytterhoeven #define IP1_11_8	FM(DU_DG6)			F_(0, 0)		F_(0, 0)	FM(A10)		FM(FSO_TOE_N_A) 	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
164077365a9SGeert Uytterhoeven #define IP1_15_12	FM(DU_DG7)			F_(0, 0)		F_(0, 0)	FM(A11)		FM(IRQ1)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
165077365a9SGeert Uytterhoeven #define IP1_19_16	FM(DU_DB2)			F_(0, 0)		F_(0, 0)	FM(A12)		FM(IRQ2)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
166077365a9SGeert Uytterhoeven #define IP1_23_20	FM(DU_DB3)			F_(0, 0)		F_(0, 0)	FM(A13)		FM(FXR_CLKOUT1)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
167077365a9SGeert Uytterhoeven #define IP1_27_24	FM(DU_DB4)			F_(0, 0)		F_(0, 0)	FM(A14)		FM(FXR_CLKOUT2)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
168077365a9SGeert Uytterhoeven #define IP1_31_28	FM(DU_DB5)			F_(0, 0)		F_(0, 0)	FM(A15)		FM(FXR_TXENA_N)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
169077365a9SGeert Uytterhoeven #define IP2_3_0		FM(DU_DB6)			F_(0, 0)		F_(0, 0)	FM(A16)		FM(FXR_TXENB_N)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
170077365a9SGeert Uytterhoeven #define IP2_7_4		FM(DU_DB7)			F_(0, 0)		F_(0, 0)	FM(A17)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
171077365a9SGeert Uytterhoeven #define IP2_11_8	FM(DU_DOTCLKOUT)		FM(SCIF_CLK_A)		F_(0, 0)	FM(A18)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
172077365a9SGeert Uytterhoeven #define IP2_15_12	FM(DU_EXHSYNC_DU_HSYNC)		FM(HRX0)		F_(0, 0)	FM(A19)		FM(IRQ3)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
173077365a9SGeert Uytterhoeven #define IP2_19_16	FM(DU_EXVSYNC_DU_VSYNC)		FM(MSIOF3_SCK)		F_(0, 0)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
174077365a9SGeert Uytterhoeven #define IP2_23_20	FM(DU_EXODDF_DU_ODDF_DISP_CDE)	FM(MSIOF3_SYNC)		F_(0, 0)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
175077365a9SGeert Uytterhoeven #define IP2_27_24	FM(IRQ0)			F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
176077365a9SGeert Uytterhoeven #define IP2_31_28	FM(VI0_CLK)			FM(MSIOF2_SCK)		FM(SCK3)	F_(0, 0)	FM(HSCK3)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
177077365a9SGeert Uytterhoeven #define IP3_3_0		FM(VI0_CLKENB)			FM(MSIOF2_RXD)		FM(RX3)		FM(RD_WR_N)	FM(HCTS3_N)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
178077365a9SGeert Uytterhoeven #define IP3_7_4		FM(VI0_HSYNC_N)			FM(MSIOF2_TXD)		FM(TX3)		F_(0, 0)	FM(HRTS3_N)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
179077365a9SGeert Uytterhoeven #define IP3_11_8	FM(VI0_VSYNC_N)			FM(MSIOF2_SYNC)		FM(CTS3_N)	F_(0, 0)	FM(HTX3)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
180077365a9SGeert Uytterhoeven #define IP3_15_12	FM(VI0_DATA0)			FM(MSIOF2_SS1)		FM(RTS3_N)	F_(0, 0)	FM(HRX3)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
181077365a9SGeert Uytterhoeven #define IP3_19_16	FM(VI0_DATA1)			FM(MSIOF2_SS2)		FM(SCK1)	F_(0, 0)	FM(SPEEDIN_A)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
182077365a9SGeert Uytterhoeven #define IP3_23_20	FM(VI0_DATA2)			FM(AVB0_AVTP_PPS)	FM(SDA3_A)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
183077365a9SGeert Uytterhoeven #define IP3_27_24	FM(VI0_DATA3)			FM(HSCK1)		FM(SCL3_A)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
184077365a9SGeert Uytterhoeven #define IP3_31_28	FM(VI0_DATA4)			FM(HRTS1_N)		FM(RX1_A)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
185077365a9SGeert Uytterhoeven #define IP4_3_0		FM(VI0_DATA5)			FM(HCTS1_N)		FM(TX1_A)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
186077365a9SGeert Uytterhoeven #define IP4_7_4		FM(VI0_DATA6)			FM(HTX1)		FM(CTS1_N)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
187077365a9SGeert Uytterhoeven #define IP4_11_8	FM(VI0_DATA7)			FM(HRX1)		FM(RTS1_N)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
188077365a9SGeert Uytterhoeven #define IP4_15_12	FM(VI0_DATA8)			FM(HSCK2)		FM(PWM0_A)	FM(A22)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
189077365a9SGeert Uytterhoeven #define IP4_19_16	FM(VI0_DATA9)			FM(HCTS2_N)		FM(PWM1_A)	FM(A23)		FM(FSO_CFE_0_N_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
190077365a9SGeert Uytterhoeven #define IP4_23_20	FM(VI0_DATA10)			FM(HRTS2_N)		FM(PWM2_A)	FM(A24)		FM(FSO_CFE_1_N_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
191077365a9SGeert Uytterhoeven #define IP4_27_24	FM(VI0_DATA11)			FM(HTX2)		FM(PWM3_A)	FM(A25)		FM(FSO_TOE_N_B)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
192077365a9SGeert Uytterhoeven #define IP4_31_28	FM(VI0_FIELD)			FM(HRX2)		FM(PWM4_A)	FM(CS1_N)	FM(FSCLKST2_N_A)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
193077365a9SGeert Uytterhoeven #define IP5_3_0		FM(VI1_CLK)			FM(MSIOF1_RXD)		F_(0, 0)	FM(CS0_N)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
194077365a9SGeert Uytterhoeven #define IP5_7_4		FM(VI1_CLKENB)			FM(MSIOF1_TXD)		F_(0, 0)	FM(D0)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
195077365a9SGeert Uytterhoeven #define IP5_11_8	FM(VI1_HSYNC_N)			FM(MSIOF1_SCK)		F_(0, 0)	FM(D1)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
196077365a9SGeert Uytterhoeven #define IP5_15_12	FM(VI1_VSYNC_N)			FM(MSIOF1_SYNC)		F_(0, 0)	FM(D2)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
197077365a9SGeert Uytterhoeven #define IP5_19_16	FM(VI1_DATA0)			FM(MSIOF1_SS1)		F_(0, 0)	FM(D3)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
198077365a9SGeert Uytterhoeven #define IP5_23_20	FM(VI1_DATA1)			FM(MSIOF1_SS2)		F_(0, 0)	FM(D4)		FM(MMC_CMD)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
199077365a9SGeert Uytterhoeven #define IP5_27_24	FM(VI1_DATA2)			FM(CANFD0_TX_B)		F_(0, 0)	FM(D5)		FM(MMC_D0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
200077365a9SGeert Uytterhoeven #define IP5_31_28	FM(VI1_DATA3)			FM(CANFD0_RX_B)		F_(0, 0)	FM(D6)		FM(MMC_D1)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
201077365a9SGeert Uytterhoeven #define IP6_3_0		FM(VI1_DATA4)			FM(CANFD_CLK_B)		F_(0, 0)	FM(D7)		FM(MMC_D2)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
202077365a9SGeert Uytterhoeven #define IP6_7_4		FM(VI1_DATA5)			F_(0, 0)		FM(SCK4)	FM(D8)		FM(MMC_D3)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
203077365a9SGeert Uytterhoeven #define IP6_11_8	FM(VI1_DATA6)			F_(0, 0)		FM(RX4)		FM(D9)		FM(MMC_CLK)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
204077365a9SGeert Uytterhoeven #define IP6_15_12	FM(VI1_DATA7)			F_(0, 0)		FM(TX4)		FM(D10)		FM(MMC_D4)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
205077365a9SGeert Uytterhoeven #define IP6_19_16	FM(VI1_DATA8)			F_(0, 0)		FM(CTS4_N)	FM(D11)		FM(MMC_D5)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
206077365a9SGeert Uytterhoeven #define IP6_23_20	FM(VI1_DATA9)			F_(0, 0)		FM(RTS4_N)	FM(D12)		FM(MMC_D6)		FM(SCL3_B)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
207077365a9SGeert Uytterhoeven #define IP6_27_24	FM(VI1_DATA10)			F_(0, 0)		F_(0, 0)	FM(D13)		FM(MMC_D7)		FM(SDA3_B)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
208077365a9SGeert Uytterhoeven #define IP6_31_28	FM(VI1_DATA11)			FM(SCL4)		FM(IRQ4)	FM(D14)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
209077365a9SGeert Uytterhoeven #define IP7_3_0		FM(VI1_FIELD)			FM(SDA4)		FM(IRQ5)	FM(D15)		F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
210077365a9SGeert Uytterhoeven #define IP7_7_4		FM(SCL0)			FM(DU_DR0)		FM(TPU0TO0)	FM(CLKOUT)	F_(0, 0)		FM(MSIOF0_RXD)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
211077365a9SGeert Uytterhoeven #define IP7_11_8	FM(SDA0)			FM(DU_DR1)		FM(TPU0TO1)	FM(BS_N)	FM(SCK0)		FM(MSIOF0_TXD)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
212077365a9SGeert Uytterhoeven #define IP7_15_12	FM(SCL1)			FM(DU_DG0)		FM(TPU0TO2)	FM(RD_N)	FM(CTS0_N)		FM(MSIOF0_SCK)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
213077365a9SGeert Uytterhoeven #define IP7_19_16	FM(SDA1)			FM(DU_DG1)		FM(TPU0TO3)	FM(WE0_N)	FM(RTS0_N)		FM(MSIOF0_SYNC)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
214077365a9SGeert Uytterhoeven #define IP7_23_20	FM(SCL2)			FM(DU_DB0)		FM(TCLK1_A)	FM(WE1_N)	FM(RX0)			FM(MSIOF0_SS1)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
215077365a9SGeert Uytterhoeven #define IP7_27_24	FM(SDA2)			FM(DU_DB1)		FM(TCLK2_A)	FM(EX_WAIT0)	FM(TX0)			FM(MSIOF0_SS2)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
216077365a9SGeert Uytterhoeven #define IP7_31_28	FM(AVB0_AVTP_CAPTURE)		F_(0, 0)		F_(0, 0)	F_(0, 0)	FM(FSCLKST2_N_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
217077365a9SGeert Uytterhoeven #define IP8_3_0		FM(CANFD0_TX_A)			FM(FXR_TXDA)		FM(PWM0_B)	FM(DU_DISP)	FM(FSCLKST2_N_C)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
218077365a9SGeert Uytterhoeven #define IP8_7_4		FM(CANFD0_RX_A)			FM(RXDA_EXTFXR)		FM(PWM1_B)	FM(DU_CDE)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
219077365a9SGeert Uytterhoeven #define IP8_11_8	FM(CANFD1_TX)			FM(FXR_TXDB)		FM(PWM2_B)	FM(TCLK1_B)	FM(TX1_B)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
220077365a9SGeert Uytterhoeven #define IP8_15_12	FM(CANFD1_RX)			FM(RXDB_EXTFXR)		FM(PWM3_B)	FM(TCLK2_B)	FM(RX1_B)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
221077365a9SGeert Uytterhoeven #define IP8_19_16	FM(CANFD_CLK_A)			FM(CLK_EXTFXR)		FM(PWM4_B)	FM(SPEEDIN_B)	FM(SCIF_CLK_B)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
222077365a9SGeert Uytterhoeven #define IP8_23_20	FM(DIGRF_CLKIN)			FM(DIGRF_CLKEN_IN)	F_(0, 0)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
223077365a9SGeert Uytterhoeven #define IP8_27_24	FM(DIGRF_CLKOUT)		FM(DIGRF_CLKEN_OUT)	F_(0, 0)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
224077365a9SGeert Uytterhoeven #define IP8_31_28	F_(0, 0)			F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0)
225077365a9SGeert Uytterhoeven 
226077365a9SGeert Uytterhoeven #define PINMUX_GPSR	\
227077365a9SGeert Uytterhoeven \
228077365a9SGeert Uytterhoeven 		GPSR1_27 \
229077365a9SGeert Uytterhoeven 		GPSR1_26 \
230077365a9SGeert Uytterhoeven 		GPSR1_25 \
231077365a9SGeert Uytterhoeven 		GPSR1_24 \
232077365a9SGeert Uytterhoeven 		GPSR1_23 \
233077365a9SGeert Uytterhoeven 		GPSR1_22 \
234077365a9SGeert Uytterhoeven GPSR0_21	GPSR1_21 \
235077365a9SGeert Uytterhoeven GPSR0_20	GPSR1_20 \
236077365a9SGeert Uytterhoeven GPSR0_19	GPSR1_19 \
237077365a9SGeert Uytterhoeven GPSR0_18	GPSR1_18 \
238077365a9SGeert Uytterhoeven GPSR0_17	GPSR1_17 \
239077365a9SGeert Uytterhoeven GPSR0_16	GPSR1_16	GPSR2_16	GPSR3_16 \
240077365a9SGeert Uytterhoeven GPSR0_15	GPSR1_15	GPSR2_15	GPSR3_15 \
241077365a9SGeert Uytterhoeven GPSR0_14	GPSR1_14	GPSR2_14	GPSR3_14			GPSR5_14 \
242077365a9SGeert Uytterhoeven GPSR0_13	GPSR1_13	GPSR2_13	GPSR3_13			GPSR5_13 \
243077365a9SGeert Uytterhoeven GPSR0_12	GPSR1_12	GPSR2_12	GPSR3_12			GPSR5_12 \
244077365a9SGeert Uytterhoeven GPSR0_11	GPSR1_11	GPSR2_11	GPSR3_11			GPSR5_11 \
245077365a9SGeert Uytterhoeven GPSR0_10	GPSR1_10	GPSR2_10	GPSR3_10			GPSR5_10 \
246077365a9SGeert Uytterhoeven GPSR0_9		GPSR1_9		GPSR2_9		GPSR3_9				GPSR5_9 \
247077365a9SGeert Uytterhoeven GPSR0_8		GPSR1_8		GPSR2_8		GPSR3_8				GPSR5_8 \
248077365a9SGeert Uytterhoeven GPSR0_7		GPSR1_7		GPSR2_7		GPSR3_7				GPSR5_7 \
249077365a9SGeert Uytterhoeven GPSR0_6		GPSR1_6		GPSR2_6		GPSR3_6				GPSR5_6 \
250077365a9SGeert Uytterhoeven GPSR0_5		GPSR1_5		GPSR2_5		GPSR3_5		GPSR4_5		GPSR5_5 \
251077365a9SGeert Uytterhoeven GPSR0_4		GPSR1_4		GPSR2_4		GPSR3_4		GPSR4_4		GPSR5_4 \
252077365a9SGeert Uytterhoeven GPSR0_3		GPSR1_3		GPSR2_3		GPSR3_3		GPSR4_3		GPSR5_3 \
253077365a9SGeert Uytterhoeven GPSR0_2		GPSR1_2		GPSR2_2		GPSR3_2		GPSR4_2		GPSR5_2 \
254077365a9SGeert Uytterhoeven GPSR0_1		GPSR1_1		GPSR2_1		GPSR3_1		GPSR4_1		GPSR5_1 \
255077365a9SGeert Uytterhoeven GPSR0_0		GPSR1_0		GPSR2_0		GPSR3_0		GPSR4_0		GPSR5_0
256077365a9SGeert Uytterhoeven 
257077365a9SGeert Uytterhoeven #define PINMUX_IPSR	\
258077365a9SGeert Uytterhoeven \
259077365a9SGeert Uytterhoeven FM(IP0_3_0)	IP0_3_0		FM(IP1_3_0)	IP1_3_0		FM(IP2_3_0)	IP2_3_0		FM(IP3_3_0)	IP3_3_0 \
260077365a9SGeert Uytterhoeven FM(IP0_7_4)	IP0_7_4		FM(IP1_7_4)	IP1_7_4		FM(IP2_7_4)	IP2_7_4		FM(IP3_7_4)	IP3_7_4 \
261077365a9SGeert Uytterhoeven FM(IP0_11_8)	IP0_11_8	FM(IP1_11_8)	IP1_11_8	FM(IP2_11_8)	IP2_11_8	FM(IP3_11_8)	IP3_11_8 \
262077365a9SGeert Uytterhoeven FM(IP0_15_12)	IP0_15_12	FM(IP1_15_12)	IP1_15_12	FM(IP2_15_12)	IP2_15_12	FM(IP3_15_12)	IP3_15_12 \
263077365a9SGeert Uytterhoeven FM(IP0_19_16)	IP0_19_16	FM(IP1_19_16)	IP1_19_16	FM(IP2_19_16)	IP2_19_16	FM(IP3_19_16)	IP3_19_16 \
264077365a9SGeert Uytterhoeven FM(IP0_23_20)	IP0_23_20	FM(IP1_23_20)	IP1_23_20	FM(IP2_23_20)	IP2_23_20	FM(IP3_23_20)	IP3_23_20 \
265077365a9SGeert Uytterhoeven FM(IP0_27_24)	IP0_27_24	FM(IP1_27_24)	IP1_27_24	FM(IP2_27_24)	IP2_27_24	FM(IP3_27_24)	IP3_27_24 \
266077365a9SGeert Uytterhoeven FM(IP0_31_28)	IP0_31_28	FM(IP1_31_28)	IP1_31_28	FM(IP2_31_28)	IP2_31_28	FM(IP3_31_28)	IP3_31_28 \
267077365a9SGeert Uytterhoeven \
268077365a9SGeert Uytterhoeven FM(IP4_3_0)	IP4_3_0		FM(IP5_3_0)	IP5_3_0		FM(IP6_3_0)	IP6_3_0		FM(IP7_3_0)	IP7_3_0 \
269077365a9SGeert Uytterhoeven FM(IP4_7_4)	IP4_7_4		FM(IP5_7_4)	IP5_7_4		FM(IP6_7_4)	IP6_7_4		FM(IP7_7_4)	IP7_7_4 \
270077365a9SGeert Uytterhoeven FM(IP4_11_8)	IP4_11_8	FM(IP5_11_8)	IP5_11_8	FM(IP6_11_8)	IP6_11_8	FM(IP7_11_8)	IP7_11_8 \
271077365a9SGeert Uytterhoeven FM(IP4_15_12)	IP4_15_12	FM(IP5_15_12)	IP5_15_12	FM(IP6_15_12)	IP6_15_12	FM(IP7_15_12)	IP7_15_12 \
272077365a9SGeert Uytterhoeven FM(IP4_19_16)	IP4_19_16	FM(IP5_19_16)	IP5_19_16	FM(IP6_19_16)	IP6_19_16	FM(IP7_19_16)	IP7_19_16 \
273077365a9SGeert Uytterhoeven FM(IP4_23_20)	IP4_23_20	FM(IP5_23_20)	IP5_23_20	FM(IP6_23_20)	IP6_23_20	FM(IP7_23_20)	IP7_23_20 \
274077365a9SGeert Uytterhoeven FM(IP4_27_24)	IP4_27_24	FM(IP5_27_24)	IP5_27_24	FM(IP6_27_24)	IP6_27_24	FM(IP7_27_24)	IP7_27_24 \
275077365a9SGeert Uytterhoeven FM(IP4_31_28)	IP4_31_28	FM(IP5_31_28)	IP5_31_28	FM(IP6_31_28)	IP6_31_28	FM(IP7_31_28)	IP7_31_28 \
276077365a9SGeert Uytterhoeven \
277077365a9SGeert Uytterhoeven FM(IP8_3_0)	IP8_3_0 \
278077365a9SGeert Uytterhoeven FM(IP8_7_4)	IP8_7_4 \
279077365a9SGeert Uytterhoeven FM(IP8_11_8)	IP8_11_8 \
280077365a9SGeert Uytterhoeven FM(IP8_15_12)	IP8_15_12 \
281077365a9SGeert Uytterhoeven FM(IP8_19_16)	IP8_19_16 \
282077365a9SGeert Uytterhoeven FM(IP8_23_20)	IP8_23_20 \
283077365a9SGeert Uytterhoeven FM(IP8_27_24)	IP8_27_24 \
284077365a9SGeert Uytterhoeven FM(IP8_31_28)	IP8_31_28
285077365a9SGeert Uytterhoeven 
286077365a9SGeert Uytterhoeven /* MOD_SEL0 */		/* 0 */			/* 1 */
287077365a9SGeert Uytterhoeven #define MOD_SEL0_11	FM(SEL_I2C3_0)		FM(SEL_I2C3_1)
288077365a9SGeert Uytterhoeven #define MOD_SEL0_10	FM(SEL_HSCIF0_0)	FM(SEL_HSCIF0_1)
289077365a9SGeert Uytterhoeven #define MOD_SEL0_9	FM(SEL_SCIF1_0)		FM(SEL_SCIF1_1)
290077365a9SGeert Uytterhoeven #define MOD_SEL0_8	FM(SEL_CANFD0_0)	FM(SEL_CANFD0_1)
291077365a9SGeert Uytterhoeven #define MOD_SEL0_7	FM(SEL_PWM4_0)		FM(SEL_PWM4_1)
292077365a9SGeert Uytterhoeven #define MOD_SEL0_6	FM(SEL_PWM3_0)		FM(SEL_PWM3_1)
293077365a9SGeert Uytterhoeven #define MOD_SEL0_5	FM(SEL_PWM2_0)		FM(SEL_PWM2_1)
294077365a9SGeert Uytterhoeven #define MOD_SEL0_4	FM(SEL_PWM1_0)		FM(SEL_PWM1_1)
295077365a9SGeert Uytterhoeven #define MOD_SEL0_3	FM(SEL_PWM0_0)		FM(SEL_PWM0_1)
296077365a9SGeert Uytterhoeven #define MOD_SEL0_2	FM(SEL_RFSO_0)		FM(SEL_RFSO_1)
297077365a9SGeert Uytterhoeven #define MOD_SEL0_1	FM(SEL_RSP_0)		FM(SEL_RSP_1)
298077365a9SGeert Uytterhoeven #define MOD_SEL0_0	FM(SEL_TMU_0)		FM(SEL_TMU_1)
299077365a9SGeert Uytterhoeven 
300077365a9SGeert Uytterhoeven #define PINMUX_MOD_SELS \
301077365a9SGeert Uytterhoeven \
302077365a9SGeert Uytterhoeven MOD_SEL0_11 \
303077365a9SGeert Uytterhoeven MOD_SEL0_10 \
304077365a9SGeert Uytterhoeven MOD_SEL0_9 \
305077365a9SGeert Uytterhoeven MOD_SEL0_8 \
306077365a9SGeert Uytterhoeven MOD_SEL0_7 \
307077365a9SGeert Uytterhoeven MOD_SEL0_6 \
308077365a9SGeert Uytterhoeven MOD_SEL0_5 \
309077365a9SGeert Uytterhoeven MOD_SEL0_4 \
310077365a9SGeert Uytterhoeven MOD_SEL0_3 \
311077365a9SGeert Uytterhoeven MOD_SEL0_2 \
312077365a9SGeert Uytterhoeven MOD_SEL0_1 \
313077365a9SGeert Uytterhoeven MOD_SEL0_0
314077365a9SGeert Uytterhoeven 
315077365a9SGeert Uytterhoeven enum {
316077365a9SGeert Uytterhoeven 	PINMUX_RESERVED = 0,
317077365a9SGeert Uytterhoeven 
318077365a9SGeert Uytterhoeven 	PINMUX_DATA_BEGIN,
319077365a9SGeert Uytterhoeven 	GP_ALL(DATA),
320077365a9SGeert Uytterhoeven 	PINMUX_DATA_END,
321077365a9SGeert Uytterhoeven 
322077365a9SGeert Uytterhoeven #define F_(x, y)
323077365a9SGeert Uytterhoeven #define FM(x)   FN_##x,
324077365a9SGeert Uytterhoeven 	PINMUX_FUNCTION_BEGIN,
325077365a9SGeert Uytterhoeven 	GP_ALL(FN),
326077365a9SGeert Uytterhoeven 	PINMUX_GPSR
327077365a9SGeert Uytterhoeven 	PINMUX_IPSR
328077365a9SGeert Uytterhoeven 	PINMUX_MOD_SELS
329077365a9SGeert Uytterhoeven 	PINMUX_FUNCTION_END,
330077365a9SGeert Uytterhoeven #undef F_
331077365a9SGeert Uytterhoeven #undef FM
332077365a9SGeert Uytterhoeven 
333077365a9SGeert Uytterhoeven #define F_(x, y)
334077365a9SGeert Uytterhoeven #define FM(x)	x##_MARK,
335077365a9SGeert Uytterhoeven 	PINMUX_MARK_BEGIN,
336077365a9SGeert Uytterhoeven 	PINMUX_GPSR
337077365a9SGeert Uytterhoeven 	PINMUX_IPSR
338077365a9SGeert Uytterhoeven 	PINMUX_MOD_SELS
339077365a9SGeert Uytterhoeven 	PINMUX_MARK_END,
340077365a9SGeert Uytterhoeven #undef F_
341077365a9SGeert Uytterhoeven #undef FM
342077365a9SGeert Uytterhoeven };
343077365a9SGeert Uytterhoeven 
344077365a9SGeert Uytterhoeven static const u16 pinmux_data[] = {
345077365a9SGeert Uytterhoeven 	PINMUX_DATA_GP_ALL(),
346077365a9SGeert Uytterhoeven 
347077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_RX_CTL),
348077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_RXC),
349077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_RD0),
350077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_RD1),
351077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_RD2),
352077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_RD3),
353077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_TX_CTL),
354077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_TXC),
355077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_TD0),
356077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_TD1),
357077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_TD2),
358077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_TD3),
359077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_TXCREFCLK),
360077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_MDIO),
361077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_MDC),
362077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_MAGIC),
363077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_PHY_INT),
364077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_LINK),
365077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(AVB0_AVTP_MATCH),
366077365a9SGeert Uytterhoeven 
367077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI0_SPCLK),
368077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI0_MOSI_IO0),
369077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI0_MISO_IO1),
370077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI0_IO2),
371077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI0_IO3),
372077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI0_SSL),
373077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI1_SPCLK),
374077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI1_MOSI_IO0),
375077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI1_MISO_IO1),
376077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI1_IO2),
377077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI1_IO3),
378077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(QSPI1_SSL),
379077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(RPC_RESET_N),
380077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(RPC_WP_N),
381077365a9SGeert Uytterhoeven 	PINMUX_SINGLE(RPC_INT_N),
382077365a9SGeert Uytterhoeven 
383077365a9SGeert Uytterhoeven 	/* IPSR0 */
384077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_3_0,	DU_DR2),
385077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_3_0,	HSCK0),
386077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_3_0,	A0),
387077365a9SGeert Uytterhoeven 
388077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_7_4,	DU_DR3),
389077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_7_4,	HRTS0_N),
390077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_7_4,	A1),
391077365a9SGeert Uytterhoeven 
392077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_11_8,	DU_DR4),
393077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_11_8,	HCTS0_N),
394077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_11_8,	A2),
395077365a9SGeert Uytterhoeven 
396077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_15_12,	DU_DR5),
397077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_15_12,	HTX0),
398077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_15_12,	A3),
399077365a9SGeert Uytterhoeven 
400077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_19_16,	DU_DR6),
401077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_19_16,	MSIOF3_RXD),
402077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_19_16,	A4),
403077365a9SGeert Uytterhoeven 
404077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_23_20,	DU_DR7),
405077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_23_20,	MSIOF3_TXD),
406077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_23_20,	A5),
407077365a9SGeert Uytterhoeven 
408077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_27_24,	DU_DG2),
409077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_27_24,	MSIOF3_SS1),
410077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_27_24,	A6),
411077365a9SGeert Uytterhoeven 
412077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_31_28,	DU_DG3),
413077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_31_28,	MSIOF3_SS2),
414077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_31_28,	A7),
415077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP0_31_28,	PWMFSW0),
416077365a9SGeert Uytterhoeven 
417077365a9SGeert Uytterhoeven 	/* IPSR1 */
418077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_3_0,	DU_DG4),
419077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_3_0,	A8),
420077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP1_3_0,	FSO_CFE_0_N_A,	SEL_RFSO_0),
421077365a9SGeert Uytterhoeven 
422077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_7_4,	DU_DG5),
423077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_7_4,	A9),
424077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP1_7_4,	FSO_CFE_1_N_A,	SEL_RFSO_0),
425077365a9SGeert Uytterhoeven 
426077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_11_8,	DU_DG6),
427077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_11_8,	A10),
428077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP1_11_8,	FSO_TOE_N_A,	SEL_RFSO_0),
429077365a9SGeert Uytterhoeven 
430077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_15_12,	DU_DG7),
431077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_15_12,	A11),
432077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_15_12,	IRQ1),
433077365a9SGeert Uytterhoeven 
434077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_19_16,	DU_DB2),
435077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_19_16,	A12),
436077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_19_16,	IRQ2),
437077365a9SGeert Uytterhoeven 
438077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_23_20,	DU_DB3),
439077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_23_20,	A13),
440077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_23_20,	FXR_CLKOUT1),
441077365a9SGeert Uytterhoeven 
442077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_27_24,	DU_DB4),
443077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_27_24,	A14),
444077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_27_24,	FXR_CLKOUT2),
445077365a9SGeert Uytterhoeven 
446077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_31_28,	DU_DB5),
447077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_31_28,	A15),
448077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP1_31_28,	FXR_TXENA_N),
449077365a9SGeert Uytterhoeven 
450077365a9SGeert Uytterhoeven 	/* IPSR2 */
451077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_3_0,	DU_DB6),
452077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_3_0,	A16),
453077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_3_0,	FXR_TXENB_N),
454077365a9SGeert Uytterhoeven 
455077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_7_4,	DU_DB7),
456077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_7_4,	A17),
457077365a9SGeert Uytterhoeven 
458077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_11_8,	DU_DOTCLKOUT),
459077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP2_11_8,	SCIF_CLK_A,	SEL_HSCIF0_0),
460077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_11_8,	A18),
461077365a9SGeert Uytterhoeven 
462077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_15_12,	DU_EXHSYNC_DU_HSYNC),
463077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_15_12,	HRX0),
464077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_15_12,	A19),
465077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_15_12,	IRQ3),
466077365a9SGeert Uytterhoeven 
467077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_19_16,	DU_EXVSYNC_DU_VSYNC),
468077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_19_16,	MSIOF3_SCK),
469077365a9SGeert Uytterhoeven 
470077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_23_20,	DU_EXODDF_DU_ODDF_DISP_CDE),
471077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_23_20,	MSIOF3_SYNC),
472077365a9SGeert Uytterhoeven 
473077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_27_24,	IRQ0),
474077365a9SGeert Uytterhoeven 
475077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_31_28,	VI0_CLK),
476077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_31_28,	MSIOF2_SCK),
477077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_31_28,	SCK3),
478077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP2_31_28,	HSCK3),
479077365a9SGeert Uytterhoeven 
480077365a9SGeert Uytterhoeven 	/* IPSR3 */
481077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_3_0,	VI0_CLKENB),
482077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_3_0,	MSIOF2_RXD),
483077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_3_0,	RX3),
484077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_3_0,	RD_WR_N),
485077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_3_0,	HCTS3_N),
486077365a9SGeert Uytterhoeven 
487077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_7_4,	VI0_HSYNC_N),
488077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_7_4,	MSIOF2_TXD),
489077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_7_4,	TX3),
490077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_7_4,	HRTS3_N),
491077365a9SGeert Uytterhoeven 
492077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_11_8,	VI0_VSYNC_N),
493077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_11_8,	MSIOF2_SYNC),
494077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_11_8,	CTS3_N),
495077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_11_8,	HTX3),
496077365a9SGeert Uytterhoeven 
497077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_15_12,	VI0_DATA0),
498077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_15_12,	MSIOF2_SS1),
499077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_15_12,	RTS3_N),
500077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_15_12,	HRX3),
501077365a9SGeert Uytterhoeven 
502077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_19_16,	VI0_DATA1),
503077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_19_16,	MSIOF2_SS2),
504077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_19_16,	SCK1),
505077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP3_19_16,	SPEEDIN_A,	SEL_RSP_0),
506077365a9SGeert Uytterhoeven 
507077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_23_20,	VI0_DATA2),
508077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_23_20,	AVB0_AVTP_PPS),
509077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP3_23_20,	SDA3_A,		SEL_I2C3_0),
510077365a9SGeert Uytterhoeven 
511077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_27_24,	VI0_DATA3),
512077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_27_24,	HSCK1),
513077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP3_27_24,	SCL3_A,		SEL_I2C3_0),
514077365a9SGeert Uytterhoeven 
515077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_31_28,	VI0_DATA4),
516077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP3_31_28,	HRTS1_N),
517077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP3_31_28,	RX1_A,	SEL_SCIF1_0),
518077365a9SGeert Uytterhoeven 
519077365a9SGeert Uytterhoeven 	/* IPSR4 */
520077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_3_0,	VI0_DATA5),
521077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_3_0,	HCTS1_N),
522077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP4_3_0,	TX1_A,	SEL_SCIF1_0),
523077365a9SGeert Uytterhoeven 
524077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_7_4,	VI0_DATA6),
525077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_7_4,	HTX1),
526077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_7_4,	CTS1_N),
527077365a9SGeert Uytterhoeven 
528077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_11_8,	VI0_DATA7),
529077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_11_8,	HRX1),
530077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_11_8,	RTS1_N),
531077365a9SGeert Uytterhoeven 
532077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_15_12,	VI0_DATA8),
533077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_15_12,	HSCK2),
534077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP4_15_12,	PWM0_A,	SEL_PWM0_0),
535077365a9SGeert Uytterhoeven 
536077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_19_16,	VI0_DATA9),
537077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_19_16,	HCTS2_N),
538077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP4_19_16,	PWM1_A,	SEL_PWM1_0),
539077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP4_19_16,	FSO_CFE_0_N_B,	SEL_RFSO_1),
540077365a9SGeert Uytterhoeven 
541077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_23_20,	VI0_DATA10),
542077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_23_20,	HRTS2_N),
543077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP4_23_20,	PWM2_A,	SEL_PWM2_0),
544077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP4_23_20,	FSO_CFE_1_N_B,	SEL_RFSO_1),
545077365a9SGeert Uytterhoeven 
546077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_27_24,	VI0_DATA11),
547077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_27_24,	HTX2),
548077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP4_27_24,	PWM3_A,	SEL_PWM3_0),
549077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP4_27_24,	FSO_TOE_N_B,	SEL_RFSO_1),
550077365a9SGeert Uytterhoeven 
551077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_31_28,	VI0_FIELD),
552077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_31_28,	HRX2),
553077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP4_31_28,	PWM4_A,	SEL_PWM4_0),
554077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_31_28,	CS1_N),
555077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP4_31_28,	FSCLKST2_N_A),
556077365a9SGeert Uytterhoeven 
557077365a9SGeert Uytterhoeven 	/* IPSR5 */
558077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_3_0,	VI1_CLK),
559077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_3_0,	MSIOF1_RXD),
560077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_3_0,	CS0_N),
561077365a9SGeert Uytterhoeven 
562077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_7_4,	VI1_CLKENB),
563077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_7_4,	MSIOF1_TXD),
564077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_7_4,	D0),
565077365a9SGeert Uytterhoeven 
566077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_11_8,	VI1_HSYNC_N),
567077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_11_8,	MSIOF1_SCK),
568077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_11_8,	D1),
569077365a9SGeert Uytterhoeven 
570077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_15_12,	VI1_VSYNC_N),
571077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_15_12,	MSIOF1_SYNC),
572077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_15_12,	D2),
573077365a9SGeert Uytterhoeven 
574077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_19_16,	VI1_DATA0),
575077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_19_16,	MSIOF1_SS1),
576077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_19_16,	D3),
577077365a9SGeert Uytterhoeven 
578077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_23_20,	VI1_DATA1),
579077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_23_20,	MSIOF1_SS2),
580077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_23_20,	D4),
581077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_23_20,	MMC_CMD),
582077365a9SGeert Uytterhoeven 
583077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_27_24,	VI1_DATA2),
584077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP5_27_24,	CANFD0_TX_B,	SEL_CANFD0_1),
585077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_27_24,	D5),
586077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_27_24,	MMC_D0),
587077365a9SGeert Uytterhoeven 
588077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_31_28,	VI1_DATA3),
589077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP5_31_28,	CANFD0_RX_B,	SEL_CANFD0_1),
590077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_31_28,	D6),
591077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP5_31_28,	MMC_D1),
592077365a9SGeert Uytterhoeven 
593077365a9SGeert Uytterhoeven 	/* IPSR6 */
594077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_3_0,	VI1_DATA4),
595077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP6_3_0,	CANFD_CLK_B,	SEL_CANFD0_1),
596077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_3_0,	D7),
597077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_3_0,	MMC_D2),
598077365a9SGeert Uytterhoeven 
599077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_7_4,	VI1_DATA5),
600077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_7_4,	SCK4),
601077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_7_4,	D8),
602077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_7_4,	MMC_D3),
603077365a9SGeert Uytterhoeven 
604077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_11_8,	VI1_DATA6),
605077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_11_8,	RX4),
606077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_11_8,	D9),
607077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_11_8,	MMC_CLK),
608077365a9SGeert Uytterhoeven 
609077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_15_12,	VI1_DATA7),
610077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_15_12,	TX4),
611077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_15_12,	D10),
612077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_15_12,	MMC_D4),
613077365a9SGeert Uytterhoeven 
614077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_19_16,	VI1_DATA8),
615077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_19_16,	CTS4_N),
616077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_19_16,	D11),
617077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_19_16,	MMC_D5),
618077365a9SGeert Uytterhoeven 
619077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_23_20,	VI1_DATA9),
620077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_23_20,	RTS4_N),
621077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_23_20,	D12),
622077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_23_20,	MMC_D6),
623077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP6_23_20,	SCL3_B,	SEL_I2C3_1),
624077365a9SGeert Uytterhoeven 
625077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_27_24,	VI1_DATA10),
626077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_27_24,	D13),
627077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_27_24,	MMC_D7),
628077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP6_27_24,	SDA3_B,	SEL_I2C3_1),
629077365a9SGeert Uytterhoeven 
630077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_31_28,	VI1_DATA11),
631077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_31_28,	SCL4),
632077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_31_28,	IRQ4),
633077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP6_31_28,	D14),
634077365a9SGeert Uytterhoeven 
635077365a9SGeert Uytterhoeven 	/* IPSR7 */
636077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_3_0,	VI1_FIELD),
637077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_3_0,	SDA4),
638077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_3_0,	IRQ5),
639077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_3_0,	D15),
640077365a9SGeert Uytterhoeven 
641077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_7_4,	SCL0),
642077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_7_4,	DU_DR0),
643077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_7_4,	TPU0TO0),
644077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_7_4,	CLKOUT),
645077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_7_4,	MSIOF0_RXD),
646077365a9SGeert Uytterhoeven 
647077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_11_8,	SDA0),
648077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_11_8,	DU_DR1),
649077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_11_8,	TPU0TO1),
650077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_11_8,	BS_N),
651077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_11_8,	SCK0),
652077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_11_8,	MSIOF0_TXD),
653077365a9SGeert Uytterhoeven 
654077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_15_12,	SCL1),
655077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_15_12,	DU_DG0),
656077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_15_12,	TPU0TO2),
657077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_15_12,	RD_N),
658077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_15_12,	CTS0_N),
659077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_15_12,	MSIOF0_SCK),
660077365a9SGeert Uytterhoeven 
661077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_19_16,	SDA1),
662077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_19_16,	DU_DG1),
663077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_19_16,	TPU0TO3),
664077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_19_16,	WE0_N),
665077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_19_16,	RTS0_N),
666077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_19_16,	MSIOF0_SYNC),
667077365a9SGeert Uytterhoeven 
668077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_23_20,	SCL2),
669077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_23_20,	DU_DB0),
670077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP7_23_20,	TCLK1_A,	SEL_TMU_0),
671077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_23_20,	WE1_N),
672077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_23_20,	RX0),
673077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_23_20,	MSIOF0_SS1),
674077365a9SGeert Uytterhoeven 
675077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_27_24,	SDA2),
676077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_27_24,	DU_DB1),
677077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP7_27_24,	TCLK2_A,	SEL_TMU_0),
678077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_27_24,	EX_WAIT0),
679077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_27_24,	TX0),
680077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_27_24,	MSIOF0_SS2),
681077365a9SGeert Uytterhoeven 
682077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_31_28,	AVB0_AVTP_CAPTURE),
683077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP7_31_28,	FSCLKST2_N_B),
684077365a9SGeert Uytterhoeven 
685077365a9SGeert Uytterhoeven 	/* IPSR8 */
686077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_3_0,	CANFD0_TX_A,	SEL_CANFD0_0),
687077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_3_0,	FXR_TXDA),
688077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_3_0,	PWM0_B,		SEL_PWM0_1),
689077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_3_0,	DU_DISP),
690077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_3_0,	FSCLKST2_N_C),
691077365a9SGeert Uytterhoeven 
692077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_7_4,	CANFD0_RX_A,	SEL_CANFD0_0),
693077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_7_4,	RXDA_EXTFXR),
694077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_7_4,	PWM1_B,		SEL_PWM1_1),
695077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_7_4,	DU_CDE),
696077365a9SGeert Uytterhoeven 
697077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_11_8,	CANFD1_TX),
698077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_11_8,	FXR_TXDB),
699077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_11_8,	PWM2_B,		SEL_PWM2_1),
700077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_11_8,	TCLK1_B,	SEL_TMU_1),
701077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_11_8,	TX1_B,		SEL_SCIF1_1),
702077365a9SGeert Uytterhoeven 
703077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_15_12,	CANFD1_RX),
704077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_15_12,	RXDB_EXTFXR),
705077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_15_12,	PWM3_B,		SEL_PWM3_1),
706077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_15_12,	TCLK2_B,	SEL_TMU_1),
707077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_15_12,	RX1_B,		SEL_SCIF1_1),
708077365a9SGeert Uytterhoeven 
709077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_19_16,	CANFD_CLK_A,	SEL_CANFD0_0),
710077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_19_16,	CLK_EXTFXR),
711077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_19_16,	PWM4_B,		SEL_PWM4_1),
712077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_19_16,	SPEEDIN_B,	SEL_RSP_1),
713077365a9SGeert Uytterhoeven 	PINMUX_IPSR_MSEL(IP8_19_16,	SCIF_CLK_B,	SEL_HSCIF0_1),
714077365a9SGeert Uytterhoeven 
715077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_23_20,	DIGRF_CLKIN),
716077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_23_20,	DIGRF_CLKEN_IN),
717077365a9SGeert Uytterhoeven 
718077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_27_24,	DIGRF_CLKOUT),
719077365a9SGeert Uytterhoeven 	PINMUX_IPSR_GPSR(IP8_27_24,	DIGRF_CLKEN_OUT),
720077365a9SGeert Uytterhoeven };
721077365a9SGeert Uytterhoeven 
722077365a9SGeert Uytterhoeven static const struct sh_pfc_pin pinmux_pins[] = {
723077365a9SGeert Uytterhoeven 	PINMUX_GPIO_GP_ALL(),
724077365a9SGeert Uytterhoeven };
725077365a9SGeert Uytterhoeven 
726077365a9SGeert Uytterhoeven /* - AVB0 ------------------------------------------------------------------- */
727077365a9SGeert Uytterhoeven static const unsigned int avb0_link_pins[] = {
728077365a9SGeert Uytterhoeven 	/* AVB0_LINK */
729077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 18),
730077365a9SGeert Uytterhoeven };
731077365a9SGeert Uytterhoeven static const unsigned int avb0_link_mux[] = {
732077365a9SGeert Uytterhoeven 	AVB0_LINK_MARK,
733077365a9SGeert Uytterhoeven };
734077365a9SGeert Uytterhoeven static const unsigned int avb0_magic_pins[] = {
735077365a9SGeert Uytterhoeven 	/* AVB0_MAGIC */
736077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 16),
737077365a9SGeert Uytterhoeven };
738077365a9SGeert Uytterhoeven static const unsigned int avb0_magic_mux[] = {
739077365a9SGeert Uytterhoeven 	AVB0_MAGIC_MARK,
740077365a9SGeert Uytterhoeven };
741077365a9SGeert Uytterhoeven static const unsigned int avb0_phy_int_pins[] = {
742077365a9SGeert Uytterhoeven 	/* AVB0_PHY_INT */
743077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 17),
744077365a9SGeert Uytterhoeven };
745077365a9SGeert Uytterhoeven static const unsigned int avb0_phy_int_mux[] = {
746077365a9SGeert Uytterhoeven 	AVB0_PHY_INT_MARK,
747077365a9SGeert Uytterhoeven };
748077365a9SGeert Uytterhoeven static const unsigned int avb0_mdio_pins[] = {
749077365a9SGeert Uytterhoeven 	/* AVB0_MDC, AVB0_MDIO */
750077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14),
751077365a9SGeert Uytterhoeven };
752077365a9SGeert Uytterhoeven static const unsigned int avb0_mdio_mux[] = {
753077365a9SGeert Uytterhoeven 	AVB0_MDC_MARK, AVB0_MDIO_MARK,
754077365a9SGeert Uytterhoeven };
755077365a9SGeert Uytterhoeven static const unsigned int avb0_rgmii_pins[] = {
756077365a9SGeert Uytterhoeven 	/*
757077365a9SGeert Uytterhoeven 	 * AVB0_TX_CTL, AVB0_TXC, AVB0_TD0, AVB0_TD1, AVB0_TD2, AVB0_TD3,
758077365a9SGeert Uytterhoeven 	 * AVB0_RX_CTL, AVB0_RXC, AVB0_RD0, AVB0_RD1, AVB0_RD2, AVB0_RD3
759077365a9SGeert Uytterhoeven 	 */
760077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 8),
761077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 9), RCAR_GP_PIN(1, 10),
762077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 12),
763077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 2),
764077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 4),
765077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6),
766077365a9SGeert Uytterhoeven };
767077365a9SGeert Uytterhoeven static const unsigned int avb0_rgmii_mux[] = {
768077365a9SGeert Uytterhoeven 	AVB0_TX_CTL_MARK, AVB0_TXC_MARK,
769077365a9SGeert Uytterhoeven 	AVB0_TD0_MARK, AVB0_TD1_MARK, AVB0_TD2_MARK, AVB0_TD3_MARK,
770077365a9SGeert Uytterhoeven 	AVB0_RX_CTL_MARK, AVB0_RXC_MARK,
771077365a9SGeert Uytterhoeven 	AVB0_RD0_MARK, AVB0_RD1_MARK, AVB0_RD2_MARK, AVB0_RD3_MARK,
772077365a9SGeert Uytterhoeven };
773077365a9SGeert Uytterhoeven static const unsigned int avb0_txcrefclk_pins[] = {
774077365a9SGeert Uytterhoeven 	/* AVB0_TXCREFCLK */
775077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 13),
776077365a9SGeert Uytterhoeven };
777077365a9SGeert Uytterhoeven static const unsigned int avb0_txcrefclk_mux[] = {
778077365a9SGeert Uytterhoeven 	AVB0_TXCREFCLK_MARK,
779077365a9SGeert Uytterhoeven };
780077365a9SGeert Uytterhoeven static const unsigned int avb0_avtp_pps_pins[] = {
781077365a9SGeert Uytterhoeven 	/* AVB0_AVTP_PPS */
782077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 6),
783077365a9SGeert Uytterhoeven };
784077365a9SGeert Uytterhoeven static const unsigned int avb0_avtp_pps_mux[] = {
785077365a9SGeert Uytterhoeven 	AVB0_AVTP_PPS_MARK,
786077365a9SGeert Uytterhoeven };
787077365a9SGeert Uytterhoeven static const unsigned int avb0_avtp_capture_pins[] = {
788077365a9SGeert Uytterhoeven 	/* AVB0_AVTP_CAPTURE */
789077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 20),
790077365a9SGeert Uytterhoeven };
791077365a9SGeert Uytterhoeven static const unsigned int avb0_avtp_capture_mux[] = {
792077365a9SGeert Uytterhoeven 	AVB0_AVTP_CAPTURE_MARK,
793077365a9SGeert Uytterhoeven };
794077365a9SGeert Uytterhoeven static const unsigned int avb0_avtp_match_pins[] = {
795077365a9SGeert Uytterhoeven 	/* AVB0_AVTP_MATCH */
796077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 19),
797077365a9SGeert Uytterhoeven };
798077365a9SGeert Uytterhoeven static const unsigned int avb0_avtp_match_mux[] = {
799077365a9SGeert Uytterhoeven 	AVB0_AVTP_MATCH_MARK,
800077365a9SGeert Uytterhoeven };
801077365a9SGeert Uytterhoeven 
802077365a9SGeert Uytterhoeven /* - CANFD Clock ------------------------------------------------------------ */
803077365a9SGeert Uytterhoeven static const unsigned int canfd_clk_a_pins[] = {
804077365a9SGeert Uytterhoeven 	/* CANFD_CLK */
805077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 25),
806077365a9SGeert Uytterhoeven };
807077365a9SGeert Uytterhoeven static const unsigned int canfd_clk_a_mux[] = {
808077365a9SGeert Uytterhoeven 	CANFD_CLK_A_MARK,
809077365a9SGeert Uytterhoeven };
810077365a9SGeert Uytterhoeven static const unsigned int canfd_clk_b_pins[] = {
811077365a9SGeert Uytterhoeven 	/* CANFD_CLK */
812077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 8),
813077365a9SGeert Uytterhoeven };
814077365a9SGeert Uytterhoeven static const unsigned int canfd_clk_b_mux[] = {
815077365a9SGeert Uytterhoeven 	CANFD_CLK_B_MARK,
816077365a9SGeert Uytterhoeven };
817077365a9SGeert Uytterhoeven 
818077365a9SGeert Uytterhoeven /* - CANFD0 ----------------------------------------------------------------- */
819077365a9SGeert Uytterhoeven static const unsigned int canfd0_data_a_pins[] = {
820077365a9SGeert Uytterhoeven 	/* TX, RX */
821077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
822077365a9SGeert Uytterhoeven };
823077365a9SGeert Uytterhoeven static const unsigned int canfd0_data_a_mux[] = {
824077365a9SGeert Uytterhoeven 	CANFD0_TX_A_MARK, CANFD0_RX_A_MARK,
825077365a9SGeert Uytterhoeven };
826077365a9SGeert Uytterhoeven static const unsigned int canfd0_data_b_pins[] = {
827077365a9SGeert Uytterhoeven 	/* TX, RX */
828077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
829077365a9SGeert Uytterhoeven };
830077365a9SGeert Uytterhoeven static const unsigned int canfd0_data_b_mux[] = {
831077365a9SGeert Uytterhoeven 	CANFD0_TX_B_MARK, CANFD0_RX_B_MARK,
832077365a9SGeert Uytterhoeven };
833077365a9SGeert Uytterhoeven 
834077365a9SGeert Uytterhoeven /* - CANFD1 ----------------------------------------------------------------- */
835077365a9SGeert Uytterhoeven static const unsigned int canfd1_data_pins[] = {
836077365a9SGeert Uytterhoeven 	/* TX, RX */
837077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 24),
838077365a9SGeert Uytterhoeven };
839077365a9SGeert Uytterhoeven static const unsigned int canfd1_data_mux[] = {
840077365a9SGeert Uytterhoeven 	CANFD1_TX_MARK, CANFD1_RX_MARK,
841077365a9SGeert Uytterhoeven };
842077365a9SGeert Uytterhoeven 
843077365a9SGeert Uytterhoeven /* - DU --------------------------------------------------------------------- */
844077365a9SGeert Uytterhoeven static const unsigned int du_rgb666_pins[] = {
845077365a9SGeert Uytterhoeven 	/* R[7:2], G[7:2], B[7:2] */
846077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 3),
847077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 0),
848077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 10), RCAR_GP_PIN(0, 9),
849077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 6),
850077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 17), RCAR_GP_PIN(0, 16), RCAR_GP_PIN(0, 15),
851077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 12),
852077365a9SGeert Uytterhoeven };
853077365a9SGeert Uytterhoeven static const unsigned int du_rgb666_mux[] = {
854077365a9SGeert Uytterhoeven 	DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK,
855077365a9SGeert Uytterhoeven 	DU_DR4_MARK, DU_DR3_MARK, DU_DR2_MARK,
856077365a9SGeert Uytterhoeven 	DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK,
857077365a9SGeert Uytterhoeven 	DU_DG4_MARK, DU_DG3_MARK, DU_DG2_MARK,
858077365a9SGeert Uytterhoeven 	DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK,
859077365a9SGeert Uytterhoeven 	DU_DB4_MARK, DU_DB3_MARK, DU_DB2_MARK,
860077365a9SGeert Uytterhoeven };
861077365a9SGeert Uytterhoeven static const unsigned int du_clk_out_pins[] = {
862077365a9SGeert Uytterhoeven 	/* DOTCLKOUT */
863077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 18),
864077365a9SGeert Uytterhoeven };
865077365a9SGeert Uytterhoeven static const unsigned int du_clk_out_mux[] = {
866077365a9SGeert Uytterhoeven 	DU_DOTCLKOUT_MARK,
867077365a9SGeert Uytterhoeven };
868077365a9SGeert Uytterhoeven static const unsigned int du_sync_pins[] = {
869077365a9SGeert Uytterhoeven 	/* EXVSYNC/VSYNC, EXHSYNC/HSYNC */
870077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 20), RCAR_GP_PIN(0, 19),
871077365a9SGeert Uytterhoeven };
872077365a9SGeert Uytterhoeven static const unsigned int du_sync_mux[] = {
873077365a9SGeert Uytterhoeven 	DU_EXVSYNC_DU_VSYNC_MARK, DU_EXHSYNC_DU_HSYNC_MARK
874077365a9SGeert Uytterhoeven };
875077365a9SGeert Uytterhoeven static const unsigned int du_oddf_pins[] = {
876077365a9SGeert Uytterhoeven 	/* EXODDF/ODDF/DISP/CDE */
877077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 21),
878077365a9SGeert Uytterhoeven };
879077365a9SGeert Uytterhoeven static const unsigned int du_oddf_mux[] = {
880077365a9SGeert Uytterhoeven 	DU_EXODDF_DU_ODDF_DISP_CDE_MARK,
881077365a9SGeert Uytterhoeven };
882077365a9SGeert Uytterhoeven static const unsigned int du_cde_pins[] = {
883077365a9SGeert Uytterhoeven 	/* CDE */
884077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 22),
885077365a9SGeert Uytterhoeven };
886077365a9SGeert Uytterhoeven static const unsigned int du_cde_mux[] = {
887077365a9SGeert Uytterhoeven 	DU_CDE_MARK,
888077365a9SGeert Uytterhoeven };
889077365a9SGeert Uytterhoeven static const unsigned int du_disp_pins[] = {
890077365a9SGeert Uytterhoeven 	/* DISP */
891077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 21),
892077365a9SGeert Uytterhoeven };
893077365a9SGeert Uytterhoeven static const unsigned int du_disp_mux[] = {
894077365a9SGeert Uytterhoeven 	DU_DISP_MARK,
895077365a9SGeert Uytterhoeven };
896077365a9SGeert Uytterhoeven 
897077365a9SGeert Uytterhoeven /* - HSCIF0 ----------------------------------------------------------------- */
898077365a9SGeert Uytterhoeven static const unsigned int hscif0_data_pins[] = {
899077365a9SGeert Uytterhoeven 	/* HRX, HTX */
900077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 3),
901077365a9SGeert Uytterhoeven };
902077365a9SGeert Uytterhoeven static const unsigned int hscif0_data_mux[] = {
903077365a9SGeert Uytterhoeven 	HRX0_MARK, HTX0_MARK,
904077365a9SGeert Uytterhoeven };
905077365a9SGeert Uytterhoeven static const unsigned int hscif0_clk_pins[] = {
906077365a9SGeert Uytterhoeven 	/* HSCK */
907077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 0),
908077365a9SGeert Uytterhoeven };
909077365a9SGeert Uytterhoeven static const unsigned int hscif0_clk_mux[] = {
910077365a9SGeert Uytterhoeven 	HSCK0_MARK,
911077365a9SGeert Uytterhoeven };
912077365a9SGeert Uytterhoeven static const unsigned int hscif0_ctrl_pins[] = {
913077365a9SGeert Uytterhoeven 	/* HRTS#, HCTS# */
914077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 2),
915077365a9SGeert Uytterhoeven };
916077365a9SGeert Uytterhoeven static const unsigned int hscif0_ctrl_mux[] = {
917077365a9SGeert Uytterhoeven 	HRTS0_N_MARK, HCTS0_N_MARK,
918077365a9SGeert Uytterhoeven };
919077365a9SGeert Uytterhoeven 
920077365a9SGeert Uytterhoeven /* - HSCIF1 ----------------------------------------------------------------- */
921077365a9SGeert Uytterhoeven static const unsigned int hscif1_data_pins[] = {
922077365a9SGeert Uytterhoeven 	/* HRX, HTX */
923077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10),
924077365a9SGeert Uytterhoeven };
925077365a9SGeert Uytterhoeven static const unsigned int hscif1_data_mux[] = {
926077365a9SGeert Uytterhoeven 	HRX1_MARK, HTX1_MARK,
927077365a9SGeert Uytterhoeven };
928077365a9SGeert Uytterhoeven static const unsigned int hscif1_clk_pins[] = {
929077365a9SGeert Uytterhoeven 	/* HSCK */
930077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 7),
931077365a9SGeert Uytterhoeven };
932077365a9SGeert Uytterhoeven static const unsigned int hscif1_clk_mux[] = {
933077365a9SGeert Uytterhoeven 	HSCK1_MARK,
934077365a9SGeert Uytterhoeven };
935077365a9SGeert Uytterhoeven static const unsigned int hscif1_ctrl_pins[] = {
936077365a9SGeert Uytterhoeven 	/* HRTS#, HCTS# */
937077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
938077365a9SGeert Uytterhoeven };
939077365a9SGeert Uytterhoeven static const unsigned int hscif1_ctrl_mux[] = {
940077365a9SGeert Uytterhoeven 	HRTS1_N_MARK, HCTS1_N_MARK,
941077365a9SGeert Uytterhoeven };
942077365a9SGeert Uytterhoeven 
943077365a9SGeert Uytterhoeven /* - HSCIF2 ----------------------------------------------------------------- */
944077365a9SGeert Uytterhoeven static const unsigned int hscif2_data_pins[] = {
945077365a9SGeert Uytterhoeven 	/* HRX, HTX */
946077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 16), RCAR_GP_PIN(2, 15),
947077365a9SGeert Uytterhoeven };
948077365a9SGeert Uytterhoeven static const unsigned int hscif2_data_mux[] = {
949077365a9SGeert Uytterhoeven 	HRX2_MARK, HTX2_MARK,
950077365a9SGeert Uytterhoeven };
951077365a9SGeert Uytterhoeven static const unsigned int hscif2_clk_pins[] = {
952077365a9SGeert Uytterhoeven 	/* HSCK */
953077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 12),
954077365a9SGeert Uytterhoeven };
955077365a9SGeert Uytterhoeven static const unsigned int hscif2_clk_mux[] = {
956077365a9SGeert Uytterhoeven 	HSCK2_MARK,
957077365a9SGeert Uytterhoeven };
958077365a9SGeert Uytterhoeven static const unsigned int hscif2_ctrl_pins[] = {
959077365a9SGeert Uytterhoeven 	/* HRTS#, HCTS# */
960077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13),
961077365a9SGeert Uytterhoeven };
962077365a9SGeert Uytterhoeven static const unsigned int hscif2_ctrl_mux[] = {
963077365a9SGeert Uytterhoeven 	HRTS2_N_MARK, HCTS2_N_MARK,
964077365a9SGeert Uytterhoeven };
965077365a9SGeert Uytterhoeven 
966077365a9SGeert Uytterhoeven /* - HSCIF3 ----------------------------------------------------------------- */
967077365a9SGeert Uytterhoeven static const unsigned int hscif3_data_pins[] = {
968077365a9SGeert Uytterhoeven 	/* HRX, HTX */
969077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 3),
970077365a9SGeert Uytterhoeven };
971077365a9SGeert Uytterhoeven static const unsigned int hscif3_data_mux[] = {
972077365a9SGeert Uytterhoeven 	HRX3_MARK, HTX3_MARK,
973077365a9SGeert Uytterhoeven };
974077365a9SGeert Uytterhoeven static const unsigned int hscif3_clk_pins[] = {
975077365a9SGeert Uytterhoeven 	/* HSCK */
976077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 0),
977077365a9SGeert Uytterhoeven };
978077365a9SGeert Uytterhoeven static const unsigned int hscif3_clk_mux[] = {
979077365a9SGeert Uytterhoeven 	HSCK3_MARK,
980077365a9SGeert Uytterhoeven };
981077365a9SGeert Uytterhoeven static const unsigned int hscif3_ctrl_pins[] = {
982077365a9SGeert Uytterhoeven 	/* HRTS#, HCTS# */
983077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 1),
984077365a9SGeert Uytterhoeven };
985077365a9SGeert Uytterhoeven static const unsigned int hscif3_ctrl_mux[] = {
986077365a9SGeert Uytterhoeven 	HRTS3_N_MARK, HCTS3_N_MARK,
987077365a9SGeert Uytterhoeven };
988077365a9SGeert Uytterhoeven 
989077365a9SGeert Uytterhoeven /* - I2C0 ------------------------------------------------------------------- */
990077365a9SGeert Uytterhoeven static const unsigned int i2c0_pins[] = {
991077365a9SGeert Uytterhoeven 	/* SDA, SCL */
992077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 1), RCAR_GP_PIN(4, 0),
993077365a9SGeert Uytterhoeven };
994077365a9SGeert Uytterhoeven static const unsigned int i2c0_mux[] = {
995077365a9SGeert Uytterhoeven 	SDA0_MARK, SCL0_MARK,
996077365a9SGeert Uytterhoeven };
997077365a9SGeert Uytterhoeven 
998077365a9SGeert Uytterhoeven /* - I2C1 ------------------------------------------------------------------- */
999077365a9SGeert Uytterhoeven static const unsigned int i2c1_pins[] = {
1000077365a9SGeert Uytterhoeven 	/* SDA, SCL */
1001077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 2),
1002077365a9SGeert Uytterhoeven };
1003077365a9SGeert Uytterhoeven static const unsigned int i2c1_mux[] = {
1004077365a9SGeert Uytterhoeven 	SDA1_MARK, SCL1_MARK,
1005077365a9SGeert Uytterhoeven };
1006077365a9SGeert Uytterhoeven 
1007077365a9SGeert Uytterhoeven /* - I2C2 ------------------------------------------------------------------- */
1008077365a9SGeert Uytterhoeven static const unsigned int i2c2_pins[] = {
1009077365a9SGeert Uytterhoeven 	/* SDA, SCL */
1010077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 4),
1011077365a9SGeert Uytterhoeven };
1012077365a9SGeert Uytterhoeven static const unsigned int i2c2_mux[] = {
1013077365a9SGeert Uytterhoeven 	SDA2_MARK, SCL2_MARK,
1014077365a9SGeert Uytterhoeven };
1015077365a9SGeert Uytterhoeven 
1016077365a9SGeert Uytterhoeven /* - I2C3 ------------------------------------------------------------------- */
1017077365a9SGeert Uytterhoeven static const unsigned int i2c3_a_pins[] = {
1018077365a9SGeert Uytterhoeven 	/* SDA, SCL */
1019077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 7),
1020077365a9SGeert Uytterhoeven };
1021077365a9SGeert Uytterhoeven static const unsigned int i2c3_a_mux[] = {
1022077365a9SGeert Uytterhoeven 	SDA3_A_MARK, SCL3_A_MARK,
1023077365a9SGeert Uytterhoeven };
1024077365a9SGeert Uytterhoeven static const unsigned int i2c3_b_pins[] = {
1025077365a9SGeert Uytterhoeven 	/* SDA, SCL */
1026077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 13),
1027077365a9SGeert Uytterhoeven };
1028077365a9SGeert Uytterhoeven static const unsigned int i2c3_b_mux[] = {
1029077365a9SGeert Uytterhoeven 	SDA3_B_MARK, SCL3_B_MARK,
1030077365a9SGeert Uytterhoeven };
1031077365a9SGeert Uytterhoeven 
1032077365a9SGeert Uytterhoeven /* - I2C4 ------------------------------------------------------------------- */
1033077365a9SGeert Uytterhoeven static const unsigned int i2c4_pins[] = {
1034077365a9SGeert Uytterhoeven 	/* SDA, SCL */
1035077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 16), RCAR_GP_PIN(3, 15),
1036077365a9SGeert Uytterhoeven };
1037077365a9SGeert Uytterhoeven static const unsigned int i2c4_mux[] = {
1038077365a9SGeert Uytterhoeven 	SDA4_MARK, SCL4_MARK,
1039077365a9SGeert Uytterhoeven };
1040077365a9SGeert Uytterhoeven 
1041077365a9SGeert Uytterhoeven /* - INTC-EX ---------------------------------------------------------------- */
1042077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq0_pins[] = {
1043077365a9SGeert Uytterhoeven 	/* IRQ0 */
1044077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 0),
1045077365a9SGeert Uytterhoeven };
1046077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq0_mux[] = {
1047077365a9SGeert Uytterhoeven 	IRQ0_MARK,
1048077365a9SGeert Uytterhoeven };
1049077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq1_pins[] = {
1050077365a9SGeert Uytterhoeven 	/* IRQ1 */
1051077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 11),
1052077365a9SGeert Uytterhoeven };
1053077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq1_mux[] = {
1054077365a9SGeert Uytterhoeven 	IRQ1_MARK,
1055077365a9SGeert Uytterhoeven };
1056077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq2_pins[] = {
1057077365a9SGeert Uytterhoeven 	/* IRQ2 */
1058077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 12),
1059077365a9SGeert Uytterhoeven };
1060077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq2_mux[] = {
1061077365a9SGeert Uytterhoeven 	IRQ2_MARK,
1062077365a9SGeert Uytterhoeven };
1063077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq3_pins[] = {
1064077365a9SGeert Uytterhoeven 	/* IRQ3 */
1065077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 19),
1066077365a9SGeert Uytterhoeven };
1067077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq3_mux[] = {
1068077365a9SGeert Uytterhoeven 	IRQ3_MARK,
1069077365a9SGeert Uytterhoeven };
1070077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq4_pins[] = {
1071077365a9SGeert Uytterhoeven 	/* IRQ4 */
1072077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 15),
1073077365a9SGeert Uytterhoeven };
1074077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq4_mux[] = {
1075077365a9SGeert Uytterhoeven 	IRQ4_MARK,
1076077365a9SGeert Uytterhoeven };
1077077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq5_pins[] = {
1078077365a9SGeert Uytterhoeven 	/* IRQ5 */
1079077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 16),
1080077365a9SGeert Uytterhoeven };
1081077365a9SGeert Uytterhoeven static const unsigned int intc_ex_irq5_mux[] = {
1082077365a9SGeert Uytterhoeven 	IRQ5_MARK,
1083077365a9SGeert Uytterhoeven };
1084077365a9SGeert Uytterhoeven 
1085077365a9SGeert Uytterhoeven /* - MMC -------------------------------------------------------------------- */
1086077365a9SGeert Uytterhoeven static const unsigned int mmc_data1_pins[] = {
1087077365a9SGeert Uytterhoeven 	/* D0 */
1088077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 6),
1089077365a9SGeert Uytterhoeven };
1090077365a9SGeert Uytterhoeven static const unsigned int mmc_data1_mux[] = {
1091077365a9SGeert Uytterhoeven 	MMC_D0_MARK,
1092077365a9SGeert Uytterhoeven };
1093077365a9SGeert Uytterhoeven static const unsigned int mmc_data4_pins[] = {
1094077365a9SGeert Uytterhoeven 	/* D[0:3] */
1095077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
1096077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
1097077365a9SGeert Uytterhoeven };
1098077365a9SGeert Uytterhoeven static const unsigned int mmc_data4_mux[] = {
1099077365a9SGeert Uytterhoeven 	MMC_D0_MARK, MMC_D1_MARK,
1100077365a9SGeert Uytterhoeven 	MMC_D2_MARK, MMC_D3_MARK,
1101077365a9SGeert Uytterhoeven };
1102077365a9SGeert Uytterhoeven static const unsigned int mmc_data8_pins[] = {
1103077365a9SGeert Uytterhoeven 	/* D[0:7] */
1104077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
1105077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
1106077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12),
1107077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14),
1108077365a9SGeert Uytterhoeven };
1109077365a9SGeert Uytterhoeven static const unsigned int mmc_data8_mux[] = {
1110077365a9SGeert Uytterhoeven 	MMC_D0_MARK, MMC_D1_MARK,
1111077365a9SGeert Uytterhoeven 	MMC_D2_MARK, MMC_D3_MARK,
1112077365a9SGeert Uytterhoeven 	MMC_D4_MARK, MMC_D5_MARK,
1113077365a9SGeert Uytterhoeven 	MMC_D6_MARK, MMC_D7_MARK,
1114077365a9SGeert Uytterhoeven };
1115077365a9SGeert Uytterhoeven static const unsigned int mmc_ctrl_pins[] = {
1116077365a9SGeert Uytterhoeven 	/* CLK, CMD */
1117077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 5),
1118077365a9SGeert Uytterhoeven };
1119077365a9SGeert Uytterhoeven static const unsigned int mmc_ctrl_mux[] = {
1120077365a9SGeert Uytterhoeven 	MMC_CLK_MARK, MMC_CMD_MARK,
1121077365a9SGeert Uytterhoeven };
1122077365a9SGeert Uytterhoeven 
1123077365a9SGeert Uytterhoeven /* - MSIOF0 ----------------------------------------------------------------- */
1124077365a9SGeert Uytterhoeven static const unsigned int msiof0_clk_pins[] = {
1125077365a9SGeert Uytterhoeven 	/* SCK */
1126077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 2),
1127077365a9SGeert Uytterhoeven };
1128077365a9SGeert Uytterhoeven static const unsigned int msiof0_clk_mux[] = {
1129077365a9SGeert Uytterhoeven 	MSIOF0_SCK_MARK,
1130077365a9SGeert Uytterhoeven };
1131077365a9SGeert Uytterhoeven static const unsigned int msiof0_sync_pins[] = {
1132077365a9SGeert Uytterhoeven 	/* SYNC */
1133077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 3),
1134077365a9SGeert Uytterhoeven };
1135077365a9SGeert Uytterhoeven static const unsigned int msiof0_sync_mux[] = {
1136077365a9SGeert Uytterhoeven 	MSIOF0_SYNC_MARK,
1137077365a9SGeert Uytterhoeven };
1138077365a9SGeert Uytterhoeven static const unsigned int msiof0_ss1_pins[] = {
1139077365a9SGeert Uytterhoeven 	/* SS1 */
1140077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 4),
1141077365a9SGeert Uytterhoeven };
1142077365a9SGeert Uytterhoeven static const unsigned int msiof0_ss1_mux[] = {
1143077365a9SGeert Uytterhoeven 	MSIOF0_SS1_MARK,
1144077365a9SGeert Uytterhoeven };
1145077365a9SGeert Uytterhoeven static const unsigned int msiof0_ss2_pins[] = {
1146077365a9SGeert Uytterhoeven 	/* SS2 */
1147077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 5),
1148077365a9SGeert Uytterhoeven };
1149077365a9SGeert Uytterhoeven static const unsigned int msiof0_ss2_mux[] = {
1150077365a9SGeert Uytterhoeven 	MSIOF0_SS2_MARK,
1151077365a9SGeert Uytterhoeven };
1152077365a9SGeert Uytterhoeven static const unsigned int msiof0_txd_pins[] = {
1153077365a9SGeert Uytterhoeven 	/* TXD */
1154077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 1),
1155077365a9SGeert Uytterhoeven };
1156077365a9SGeert Uytterhoeven static const unsigned int msiof0_txd_mux[] = {
1157077365a9SGeert Uytterhoeven 	MSIOF0_TXD_MARK,
1158077365a9SGeert Uytterhoeven };
1159077365a9SGeert Uytterhoeven static const unsigned int msiof0_rxd_pins[] = {
1160077365a9SGeert Uytterhoeven 	/* RXD */
1161077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 0),
1162077365a9SGeert Uytterhoeven };
1163077365a9SGeert Uytterhoeven static const unsigned int msiof0_rxd_mux[] = {
1164077365a9SGeert Uytterhoeven 	MSIOF0_RXD_MARK,
1165077365a9SGeert Uytterhoeven };
1166077365a9SGeert Uytterhoeven 
1167077365a9SGeert Uytterhoeven /* - MSIOF1 ----------------------------------------------------------------- */
1168077365a9SGeert Uytterhoeven static const unsigned int msiof1_clk_pins[] = {
1169077365a9SGeert Uytterhoeven 	/* SCK */
1170077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 2),
1171077365a9SGeert Uytterhoeven };
1172077365a9SGeert Uytterhoeven static const unsigned int msiof1_clk_mux[] = {
1173077365a9SGeert Uytterhoeven 	MSIOF1_SCK_MARK,
1174077365a9SGeert Uytterhoeven };
1175077365a9SGeert Uytterhoeven static const unsigned int msiof1_sync_pins[] = {
1176077365a9SGeert Uytterhoeven 	/* SYNC */
1177077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 3),
1178077365a9SGeert Uytterhoeven };
1179077365a9SGeert Uytterhoeven static const unsigned int msiof1_sync_mux[] = {
1180077365a9SGeert Uytterhoeven 	MSIOF1_SYNC_MARK,
1181077365a9SGeert Uytterhoeven };
1182077365a9SGeert Uytterhoeven static const unsigned int msiof1_ss1_pins[] = {
1183077365a9SGeert Uytterhoeven 	/* SS1 */
1184077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 4),
1185077365a9SGeert Uytterhoeven };
1186077365a9SGeert Uytterhoeven static const unsigned int msiof1_ss1_mux[] = {
1187077365a9SGeert Uytterhoeven 	MSIOF1_SS1_MARK,
1188077365a9SGeert Uytterhoeven };
1189077365a9SGeert Uytterhoeven static const unsigned int msiof1_ss2_pins[] = {
1190077365a9SGeert Uytterhoeven 	/* SS2 */
1191077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 5),
1192077365a9SGeert Uytterhoeven };
1193077365a9SGeert Uytterhoeven static const unsigned int msiof1_ss2_mux[] = {
1194077365a9SGeert Uytterhoeven 	MSIOF1_SS2_MARK,
1195077365a9SGeert Uytterhoeven };
1196077365a9SGeert Uytterhoeven static const unsigned int msiof1_txd_pins[] = {
1197077365a9SGeert Uytterhoeven 	/* TXD */
1198077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 1),
1199077365a9SGeert Uytterhoeven };
1200077365a9SGeert Uytterhoeven static const unsigned int msiof1_txd_mux[] = {
1201077365a9SGeert Uytterhoeven 	MSIOF1_TXD_MARK,
1202077365a9SGeert Uytterhoeven };
1203077365a9SGeert Uytterhoeven static const unsigned int msiof1_rxd_pins[] = {
1204077365a9SGeert Uytterhoeven 	/* RXD */
1205077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 0),
1206077365a9SGeert Uytterhoeven };
1207077365a9SGeert Uytterhoeven static const unsigned int msiof1_rxd_mux[] = {
1208077365a9SGeert Uytterhoeven 	MSIOF1_RXD_MARK,
1209077365a9SGeert Uytterhoeven };
1210077365a9SGeert Uytterhoeven 
1211077365a9SGeert Uytterhoeven /* - MSIOF2 ----------------------------------------------------------------- */
1212077365a9SGeert Uytterhoeven static const unsigned int msiof2_clk_pins[] = {
1213077365a9SGeert Uytterhoeven 	/* SCK */
1214077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 0),
1215077365a9SGeert Uytterhoeven };
1216077365a9SGeert Uytterhoeven static const unsigned int msiof2_clk_mux[] = {
1217077365a9SGeert Uytterhoeven 	MSIOF2_SCK_MARK,
1218077365a9SGeert Uytterhoeven };
1219077365a9SGeert Uytterhoeven static const unsigned int msiof2_sync_pins[] = {
1220077365a9SGeert Uytterhoeven 	/* SYNC */
1221077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 3),
1222077365a9SGeert Uytterhoeven };
1223077365a9SGeert Uytterhoeven static const unsigned int msiof2_sync_mux[] = {
1224077365a9SGeert Uytterhoeven 	MSIOF2_SYNC_MARK,
1225077365a9SGeert Uytterhoeven };
1226077365a9SGeert Uytterhoeven static const unsigned int msiof2_ss1_pins[] = {
1227077365a9SGeert Uytterhoeven 	/* SS1 */
1228077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 4),
1229077365a9SGeert Uytterhoeven };
1230077365a9SGeert Uytterhoeven static const unsigned int msiof2_ss1_mux[] = {
1231077365a9SGeert Uytterhoeven 	MSIOF2_SS1_MARK,
1232077365a9SGeert Uytterhoeven };
1233077365a9SGeert Uytterhoeven static const unsigned int msiof2_ss2_pins[] = {
1234077365a9SGeert Uytterhoeven 	/* SS2 */
1235077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 5),
1236077365a9SGeert Uytterhoeven };
1237077365a9SGeert Uytterhoeven static const unsigned int msiof2_ss2_mux[] = {
1238077365a9SGeert Uytterhoeven 	MSIOF2_SS2_MARK,
1239077365a9SGeert Uytterhoeven };
1240077365a9SGeert Uytterhoeven static const unsigned int msiof2_txd_pins[] = {
1241077365a9SGeert Uytterhoeven 	/* TXD */
1242077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 2),
1243077365a9SGeert Uytterhoeven };
1244077365a9SGeert Uytterhoeven static const unsigned int msiof2_txd_mux[] = {
1245077365a9SGeert Uytterhoeven 	MSIOF2_TXD_MARK,
1246077365a9SGeert Uytterhoeven };
1247077365a9SGeert Uytterhoeven static const unsigned int msiof2_rxd_pins[] = {
1248077365a9SGeert Uytterhoeven 	/* RXD */
1249077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 1),
1250077365a9SGeert Uytterhoeven };
1251077365a9SGeert Uytterhoeven static const unsigned int msiof2_rxd_mux[] = {
1252077365a9SGeert Uytterhoeven 	MSIOF2_RXD_MARK,
1253077365a9SGeert Uytterhoeven };
1254077365a9SGeert Uytterhoeven 
1255077365a9SGeert Uytterhoeven /* - MSIOF3 ----------------------------------------------------------------- */
1256077365a9SGeert Uytterhoeven static const unsigned int msiof3_clk_pins[] = {
1257077365a9SGeert Uytterhoeven 	/* SCK */
1258077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 20),
1259077365a9SGeert Uytterhoeven };
1260077365a9SGeert Uytterhoeven static const unsigned int msiof3_clk_mux[] = {
1261077365a9SGeert Uytterhoeven 	MSIOF3_SCK_MARK,
1262077365a9SGeert Uytterhoeven };
1263077365a9SGeert Uytterhoeven static const unsigned int msiof3_sync_pins[] = {
1264077365a9SGeert Uytterhoeven 	/* SYNC */
1265077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 21),
1266077365a9SGeert Uytterhoeven };
1267077365a9SGeert Uytterhoeven static const unsigned int msiof3_sync_mux[] = {
1268077365a9SGeert Uytterhoeven 	MSIOF3_SYNC_MARK,
1269077365a9SGeert Uytterhoeven };
1270077365a9SGeert Uytterhoeven static const unsigned int msiof3_ss1_pins[] = {
1271077365a9SGeert Uytterhoeven 	/* SS1 */
1272077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 6),
1273077365a9SGeert Uytterhoeven };
1274077365a9SGeert Uytterhoeven static const unsigned int msiof3_ss1_mux[] = {
1275077365a9SGeert Uytterhoeven 	MSIOF3_SS1_MARK,
1276077365a9SGeert Uytterhoeven };
1277077365a9SGeert Uytterhoeven static const unsigned int msiof3_ss2_pins[] = {
1278077365a9SGeert Uytterhoeven 	/* SS2 */
1279077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 7),
1280077365a9SGeert Uytterhoeven };
1281077365a9SGeert Uytterhoeven static const unsigned int msiof3_ss2_mux[] = {
1282077365a9SGeert Uytterhoeven 	MSIOF3_SS2_MARK,
1283077365a9SGeert Uytterhoeven };
1284077365a9SGeert Uytterhoeven static const unsigned int msiof3_txd_pins[] = {
1285077365a9SGeert Uytterhoeven 	/* TXD */
1286077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 5),
1287077365a9SGeert Uytterhoeven };
1288077365a9SGeert Uytterhoeven static const unsigned int msiof3_txd_mux[] = {
1289077365a9SGeert Uytterhoeven 	MSIOF3_TXD_MARK,
1290077365a9SGeert Uytterhoeven };
1291077365a9SGeert Uytterhoeven static const unsigned int msiof3_rxd_pins[] = {
1292077365a9SGeert Uytterhoeven 	/* RXD */
1293077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 4),
1294077365a9SGeert Uytterhoeven };
1295077365a9SGeert Uytterhoeven static const unsigned int msiof3_rxd_mux[] = {
1296077365a9SGeert Uytterhoeven 	MSIOF3_RXD_MARK,
1297077365a9SGeert Uytterhoeven };
1298077365a9SGeert Uytterhoeven 
1299077365a9SGeert Uytterhoeven /* - PWM0 ------------------------------------------------------------------- */
1300077365a9SGeert Uytterhoeven static const unsigned int pwm0_a_pins[] = {
1301077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 12),
1302077365a9SGeert Uytterhoeven };
1303077365a9SGeert Uytterhoeven static const unsigned int pwm0_a_mux[] = {
1304077365a9SGeert Uytterhoeven 	PWM0_A_MARK,
1305077365a9SGeert Uytterhoeven };
1306077365a9SGeert Uytterhoeven static const unsigned int pwm0_b_pins[] = {
1307077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 21),
1308077365a9SGeert Uytterhoeven };
1309077365a9SGeert Uytterhoeven static const unsigned int pwm0_b_mux[] = {
1310077365a9SGeert Uytterhoeven 	PWM0_B_MARK,
1311077365a9SGeert Uytterhoeven };
1312077365a9SGeert Uytterhoeven 
1313077365a9SGeert Uytterhoeven /* - PWM1 ------------------------------------------------------------------- */
1314077365a9SGeert Uytterhoeven static const unsigned int pwm1_a_pins[] = {
1315077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 13),
1316077365a9SGeert Uytterhoeven };
1317077365a9SGeert Uytterhoeven static const unsigned int pwm1_a_mux[] = {
1318077365a9SGeert Uytterhoeven 	PWM1_A_MARK,
1319077365a9SGeert Uytterhoeven };
1320077365a9SGeert Uytterhoeven static const unsigned int pwm1_b_pins[] = {
1321077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 22),
1322077365a9SGeert Uytterhoeven };
1323077365a9SGeert Uytterhoeven static const unsigned int pwm1_b_mux[] = {
1324077365a9SGeert Uytterhoeven 	PWM1_B_MARK,
1325077365a9SGeert Uytterhoeven };
1326077365a9SGeert Uytterhoeven 
1327077365a9SGeert Uytterhoeven /* - PWM2 ------------------------------------------------------------------- */
1328077365a9SGeert Uytterhoeven static const unsigned int pwm2_a_pins[] = {
1329077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 14),
1330077365a9SGeert Uytterhoeven };
1331077365a9SGeert Uytterhoeven static const unsigned int pwm2_a_mux[] = {
1332077365a9SGeert Uytterhoeven 	PWM2_A_MARK,
1333077365a9SGeert Uytterhoeven };
1334077365a9SGeert Uytterhoeven static const unsigned int pwm2_b_pins[] = {
1335077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 23),
1336077365a9SGeert Uytterhoeven };
1337077365a9SGeert Uytterhoeven static const unsigned int pwm2_b_mux[] = {
1338077365a9SGeert Uytterhoeven 	PWM2_B_MARK,
1339077365a9SGeert Uytterhoeven };
1340077365a9SGeert Uytterhoeven 
1341077365a9SGeert Uytterhoeven /* - PWM3 ------------------------------------------------------------------- */
1342077365a9SGeert Uytterhoeven static const unsigned int pwm3_a_pins[] = {
1343077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 15),
1344077365a9SGeert Uytterhoeven };
1345077365a9SGeert Uytterhoeven static const unsigned int pwm3_a_mux[] = {
1346077365a9SGeert Uytterhoeven 	PWM3_A_MARK,
1347077365a9SGeert Uytterhoeven };
1348077365a9SGeert Uytterhoeven static const unsigned int pwm3_b_pins[] = {
1349077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 24),
1350077365a9SGeert Uytterhoeven };
1351077365a9SGeert Uytterhoeven static const unsigned int pwm3_b_mux[] = {
1352077365a9SGeert Uytterhoeven 	PWM3_B_MARK,
1353077365a9SGeert Uytterhoeven };
1354077365a9SGeert Uytterhoeven 
1355077365a9SGeert Uytterhoeven /* - PWM4 ------------------------------------------------------------------- */
1356077365a9SGeert Uytterhoeven static const unsigned int pwm4_a_pins[] = {
1357077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 16),
1358077365a9SGeert Uytterhoeven };
1359077365a9SGeert Uytterhoeven static const unsigned int pwm4_a_mux[] = {
1360077365a9SGeert Uytterhoeven 	PWM4_A_MARK,
1361077365a9SGeert Uytterhoeven };
1362077365a9SGeert Uytterhoeven static const unsigned int pwm4_b_pins[] = {
1363077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 25),
1364077365a9SGeert Uytterhoeven };
1365077365a9SGeert Uytterhoeven static const unsigned int pwm4_b_mux[] = {
1366077365a9SGeert Uytterhoeven 	PWM4_B_MARK,
1367077365a9SGeert Uytterhoeven };
1368077365a9SGeert Uytterhoeven 
1369077365a9SGeert Uytterhoeven /* - QSPI0 ------------------------------------------------------------------ */
1370077365a9SGeert Uytterhoeven static const unsigned int qspi0_ctrl_pins[] = {
1371077365a9SGeert Uytterhoeven 	/* SPCLK, SSL */
1372077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 5),
1373077365a9SGeert Uytterhoeven };
1374077365a9SGeert Uytterhoeven static const unsigned int qspi0_ctrl_mux[] = {
1375077365a9SGeert Uytterhoeven 	QSPI0_SPCLK_MARK, QSPI0_SSL_MARK,
1376077365a9SGeert Uytterhoeven };
1377077365a9SGeert Uytterhoeven static const unsigned int qspi0_data2_pins[] = {
1378077365a9SGeert Uytterhoeven 	/* MOSI_IO0, MISO_IO1 */
1379077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
1380077365a9SGeert Uytterhoeven };
1381077365a9SGeert Uytterhoeven static const unsigned int qspi0_data2_mux[] = {
1382077365a9SGeert Uytterhoeven 	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
1383077365a9SGeert Uytterhoeven };
1384077365a9SGeert Uytterhoeven static const unsigned int qspi0_data4_pins[] = {
1385077365a9SGeert Uytterhoeven 	/* MOSI_IO0, MISO_IO1, IO2, IO3 */
1386077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
1387077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 4),
1388077365a9SGeert Uytterhoeven };
1389077365a9SGeert Uytterhoeven static const unsigned int qspi0_data4_mux[] = {
1390077365a9SGeert Uytterhoeven 	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
1391077365a9SGeert Uytterhoeven 	QSPI0_IO2_MARK, QSPI0_IO3_MARK
1392077365a9SGeert Uytterhoeven };
1393077365a9SGeert Uytterhoeven 
1394077365a9SGeert Uytterhoeven /* - QSPI1 ------------------------------------------------------------------ */
1395077365a9SGeert Uytterhoeven static const unsigned int qspi1_ctrl_pins[] = {
1396077365a9SGeert Uytterhoeven 	/* SPCLK, SSL */
1397077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 11),
1398077365a9SGeert Uytterhoeven };
1399077365a9SGeert Uytterhoeven static const unsigned int qspi1_ctrl_mux[] = {
1400077365a9SGeert Uytterhoeven 	QSPI1_SPCLK_MARK, QSPI1_SSL_MARK,
1401077365a9SGeert Uytterhoeven };
1402077365a9SGeert Uytterhoeven static const unsigned int qspi1_data2_pins[] = {
1403077365a9SGeert Uytterhoeven 	/* MOSI_IO0, MISO_IO1 */
1404077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8),
1405077365a9SGeert Uytterhoeven };
1406077365a9SGeert Uytterhoeven static const unsigned int qspi1_data2_mux[] = {
1407077365a9SGeert Uytterhoeven 	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
1408077365a9SGeert Uytterhoeven };
1409077365a9SGeert Uytterhoeven static const unsigned int qspi1_data4_pins[] = {
1410077365a9SGeert Uytterhoeven 	/* MOSI_IO0, MISO_IO1, IO2, IO3 */
1411077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8),
1412077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10),
1413077365a9SGeert Uytterhoeven };
1414077365a9SGeert Uytterhoeven static const unsigned int qspi1_data4_mux[] = {
1415077365a9SGeert Uytterhoeven 	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
1416077365a9SGeert Uytterhoeven 	QSPI1_IO2_MARK, QSPI1_IO3_MARK
1417077365a9SGeert Uytterhoeven };
1418077365a9SGeert Uytterhoeven 
1419077365a9SGeert Uytterhoeven /* - RPC -------------------------------------------------------------------- */
1420077365a9SGeert Uytterhoeven static const unsigned int rpc_clk1_pins[] = {
1421077365a9SGeert Uytterhoeven 	/* Octal-SPI flash: C/SCLK */
1422077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 0),
1423077365a9SGeert Uytterhoeven };
1424077365a9SGeert Uytterhoeven static const unsigned int rpc_clk1_mux[] = {
1425077365a9SGeert Uytterhoeven 	QSPI0_SPCLK_MARK,
1426077365a9SGeert Uytterhoeven };
1427077365a9SGeert Uytterhoeven static const unsigned int rpc_clk2_pins[] = {
1428077365a9SGeert Uytterhoeven 	/* HyperFlash: CK, CK# */
1429077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 6),
1430077365a9SGeert Uytterhoeven };
1431077365a9SGeert Uytterhoeven static const unsigned int rpc_clk2_mux[] = {
1432077365a9SGeert Uytterhoeven 	QSPI0_SPCLK_MARK, QSPI1_SPCLK_MARK,
1433077365a9SGeert Uytterhoeven };
1434077365a9SGeert Uytterhoeven static const unsigned int rpc_ctrl_pins[] = {
1435077365a9SGeert Uytterhoeven 	/* Octal-SPI flash: S#/CS, DQS */
1436077365a9SGeert Uytterhoeven 	/* HyperFlash: CS#, RDS */
1437077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 11),
1438077365a9SGeert Uytterhoeven };
1439077365a9SGeert Uytterhoeven static const unsigned int rpc_ctrl_mux[] = {
1440077365a9SGeert Uytterhoeven 	QSPI0_SSL_MARK, QSPI1_SSL_MARK,
1441077365a9SGeert Uytterhoeven };
1442077365a9SGeert Uytterhoeven static const unsigned int rpc_data_pins[] = {
1443077365a9SGeert Uytterhoeven 	/* DQ[0:7] */
1444077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
1445077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 4),
1446077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8),
1447077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10),
1448077365a9SGeert Uytterhoeven };
1449077365a9SGeert Uytterhoeven static const unsigned int rpc_data_mux[] = {
1450077365a9SGeert Uytterhoeven 	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
1451077365a9SGeert Uytterhoeven 	QSPI0_IO2_MARK, QSPI0_IO3_MARK,
1452077365a9SGeert Uytterhoeven 	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
1453077365a9SGeert Uytterhoeven 	QSPI1_IO2_MARK, QSPI1_IO3_MARK,
1454077365a9SGeert Uytterhoeven };
1455077365a9SGeert Uytterhoeven static const unsigned int rpc_reset_pins[] = {
1456077365a9SGeert Uytterhoeven 	/* RPC_RESET# */
1457077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 12),
1458077365a9SGeert Uytterhoeven };
1459077365a9SGeert Uytterhoeven static const unsigned int rpc_reset_mux[] = {
1460077365a9SGeert Uytterhoeven 	RPC_RESET_N_MARK,
1461077365a9SGeert Uytterhoeven };
1462077365a9SGeert Uytterhoeven static const unsigned int rpc_int_pins[] = {
1463077365a9SGeert Uytterhoeven 	/* RPC_INT# */
1464077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 14),
1465077365a9SGeert Uytterhoeven };
1466077365a9SGeert Uytterhoeven static const unsigned int rpc_int_mux[] = {
1467077365a9SGeert Uytterhoeven 	RPC_INT_N_MARK,
1468077365a9SGeert Uytterhoeven };
1469077365a9SGeert Uytterhoeven static const unsigned int rpc_wp_pins[] = {
1470077365a9SGeert Uytterhoeven 	/* RPC_WP# */
1471077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(5, 13),
1472077365a9SGeert Uytterhoeven };
1473077365a9SGeert Uytterhoeven static const unsigned int rpc_wp_mux[] = {
1474077365a9SGeert Uytterhoeven 	RPC_WP_N_MARK,
1475077365a9SGeert Uytterhoeven };
1476077365a9SGeert Uytterhoeven 
1477077365a9SGeert Uytterhoeven /* - SCIF Clock ------------------------------------------------------------- */
1478077365a9SGeert Uytterhoeven static const unsigned int scif_clk_a_pins[] = {
1479077365a9SGeert Uytterhoeven 	/* SCIF_CLK */
1480077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(0, 18),
1481077365a9SGeert Uytterhoeven };
1482077365a9SGeert Uytterhoeven static const unsigned int scif_clk_a_mux[] = {
1483077365a9SGeert Uytterhoeven 	SCIF_CLK_A_MARK,
1484077365a9SGeert Uytterhoeven };
1485077365a9SGeert Uytterhoeven static const unsigned int scif_clk_b_pins[] = {
1486077365a9SGeert Uytterhoeven 	/* SCIF_CLK */
1487077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 25),
1488077365a9SGeert Uytterhoeven };
1489077365a9SGeert Uytterhoeven static const unsigned int scif_clk_b_mux[] = {
1490077365a9SGeert Uytterhoeven 	SCIF_CLK_B_MARK,
1491077365a9SGeert Uytterhoeven };
1492077365a9SGeert Uytterhoeven 
1493077365a9SGeert Uytterhoeven /* - SCIF0 ------------------------------------------------------------------ */
1494077365a9SGeert Uytterhoeven static const unsigned int scif0_data_pins[] = {
1495077365a9SGeert Uytterhoeven 	/* RX, TX */
1496077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
1497077365a9SGeert Uytterhoeven };
1498077365a9SGeert Uytterhoeven static const unsigned int scif0_data_mux[] = {
1499077365a9SGeert Uytterhoeven 	RX0_MARK, TX0_MARK,
1500077365a9SGeert Uytterhoeven };
1501077365a9SGeert Uytterhoeven static const unsigned int scif0_clk_pins[] = {
1502077365a9SGeert Uytterhoeven 	/* SCK */
1503077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 1),
1504077365a9SGeert Uytterhoeven };
1505077365a9SGeert Uytterhoeven static const unsigned int scif0_clk_mux[] = {
1506077365a9SGeert Uytterhoeven 	SCK0_MARK,
1507077365a9SGeert Uytterhoeven };
1508077365a9SGeert Uytterhoeven static const unsigned int scif0_ctrl_pins[] = {
1509077365a9SGeert Uytterhoeven 	/* RTS#, CTS# */
1510077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 2),
1511077365a9SGeert Uytterhoeven };
1512077365a9SGeert Uytterhoeven static const unsigned int scif0_ctrl_mux[] = {
1513077365a9SGeert Uytterhoeven 	RTS0_N_MARK, CTS0_N_MARK,
1514077365a9SGeert Uytterhoeven };
1515077365a9SGeert Uytterhoeven 
1516077365a9SGeert Uytterhoeven /* - SCIF1 ------------------------------------------------------------------ */
1517077365a9SGeert Uytterhoeven static const unsigned int scif1_data_a_pins[] = {
1518077365a9SGeert Uytterhoeven 	/* RX, TX */
1519077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
1520077365a9SGeert Uytterhoeven };
1521077365a9SGeert Uytterhoeven static const unsigned int scif1_data_a_mux[] = {
1522077365a9SGeert Uytterhoeven 	RX1_A_MARK, TX1_A_MARK,
1523077365a9SGeert Uytterhoeven };
1524077365a9SGeert Uytterhoeven static const unsigned int scif1_clk_pins[] = {
1525077365a9SGeert Uytterhoeven 	/* SCK */
1526077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 5),
1527077365a9SGeert Uytterhoeven };
1528077365a9SGeert Uytterhoeven static const unsigned int scif1_clk_mux[] = {
1529077365a9SGeert Uytterhoeven 	SCK1_MARK,
1530077365a9SGeert Uytterhoeven };
1531077365a9SGeert Uytterhoeven static const unsigned int scif1_ctrl_pins[] = {
1532077365a9SGeert Uytterhoeven 	/* RTS#, CTS# */
1533077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10),
1534077365a9SGeert Uytterhoeven };
1535077365a9SGeert Uytterhoeven static const unsigned int scif1_ctrl_mux[] = {
1536077365a9SGeert Uytterhoeven 	RTS1_N_MARK, CTS1_N_MARK,
1537077365a9SGeert Uytterhoeven };
1538077365a9SGeert Uytterhoeven static const unsigned int scif1_data_b_pins[] = {
1539077365a9SGeert Uytterhoeven 	/* RX, TX */
1540077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 24), RCAR_GP_PIN(1, 23),
1541077365a9SGeert Uytterhoeven };
1542077365a9SGeert Uytterhoeven static const unsigned int scif1_data_b_mux[] = {
1543077365a9SGeert Uytterhoeven 	RX1_B_MARK, TX1_B_MARK,
1544077365a9SGeert Uytterhoeven };
1545077365a9SGeert Uytterhoeven 
1546077365a9SGeert Uytterhoeven /* - SCIF3 ------------------------------------------------------------------ */
1547077365a9SGeert Uytterhoeven static const unsigned int scif3_data_pins[] = {
1548077365a9SGeert Uytterhoeven 	/* RX, TX */
1549077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 1), RCAR_GP_PIN(2, 2),
1550077365a9SGeert Uytterhoeven };
1551077365a9SGeert Uytterhoeven static const unsigned int scif3_data_mux[] = {
1552077365a9SGeert Uytterhoeven 	RX3_MARK, TX3_MARK,
1553077365a9SGeert Uytterhoeven };
1554077365a9SGeert Uytterhoeven static const unsigned int scif3_clk_pins[] = {
1555077365a9SGeert Uytterhoeven 	/* SCK */
1556077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 0),
1557077365a9SGeert Uytterhoeven };
1558077365a9SGeert Uytterhoeven static const unsigned int scif3_clk_mux[] = {
1559077365a9SGeert Uytterhoeven 	SCK3_MARK,
1560077365a9SGeert Uytterhoeven };
1561077365a9SGeert Uytterhoeven static const unsigned int scif3_ctrl_pins[] = {
1562077365a9SGeert Uytterhoeven 	/* RTS#, CTS# */
1563077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 3),
1564077365a9SGeert Uytterhoeven };
1565077365a9SGeert Uytterhoeven static const unsigned int scif3_ctrl_mux[] = {
1566077365a9SGeert Uytterhoeven 	RTS3_N_MARK, CTS3_N_MARK,
1567077365a9SGeert Uytterhoeven };
1568077365a9SGeert Uytterhoeven 
1569077365a9SGeert Uytterhoeven /* - SCIF4 ------------------------------------------------------------------ */
1570077365a9SGeert Uytterhoeven static const unsigned int scif4_data_pins[] = {
1571077365a9SGeert Uytterhoeven 	/* RX, TX */
1572077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11),
1573077365a9SGeert Uytterhoeven };
1574077365a9SGeert Uytterhoeven static const unsigned int scif4_data_mux[] = {
1575077365a9SGeert Uytterhoeven 	RX4_MARK, TX4_MARK,
1576077365a9SGeert Uytterhoeven };
1577077365a9SGeert Uytterhoeven static const unsigned int scif4_clk_pins[] = {
1578077365a9SGeert Uytterhoeven 	/* SCK */
1579077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 9),
1580077365a9SGeert Uytterhoeven };
1581077365a9SGeert Uytterhoeven static const unsigned int scif4_clk_mux[] = {
1582077365a9SGeert Uytterhoeven 	SCK4_MARK,
1583077365a9SGeert Uytterhoeven };
1584077365a9SGeert Uytterhoeven static const unsigned int scif4_ctrl_pins[] = {
1585077365a9SGeert Uytterhoeven 	/* RTS#, CTS# */
1586077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 12),
1587077365a9SGeert Uytterhoeven };
1588077365a9SGeert Uytterhoeven static const unsigned int scif4_ctrl_mux[] = {
1589077365a9SGeert Uytterhoeven 	RTS4_N_MARK, CTS4_N_MARK,
1590077365a9SGeert Uytterhoeven };
1591077365a9SGeert Uytterhoeven 
1592077365a9SGeert Uytterhoeven /* - TMU -------------------------------------------------------------------- */
1593077365a9SGeert Uytterhoeven static const unsigned int tmu_tclk1_a_pins[] = {
1594077365a9SGeert Uytterhoeven 	/* TCLK1 */
1595077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 4),
1596077365a9SGeert Uytterhoeven };
1597077365a9SGeert Uytterhoeven static const unsigned int tmu_tclk1_a_mux[] = {
1598077365a9SGeert Uytterhoeven 	TCLK1_A_MARK,
1599077365a9SGeert Uytterhoeven };
1600077365a9SGeert Uytterhoeven static const unsigned int tmu_tclk1_b_pins[] = {
1601077365a9SGeert Uytterhoeven 	/* TCLK1 */
1602077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 23),
1603077365a9SGeert Uytterhoeven };
1604077365a9SGeert Uytterhoeven static const unsigned int tmu_tclk1_b_mux[] = {
1605077365a9SGeert Uytterhoeven 	TCLK1_B_MARK,
1606077365a9SGeert Uytterhoeven };
1607077365a9SGeert Uytterhoeven static const unsigned int tmu_tclk2_a_pins[] = {
1608077365a9SGeert Uytterhoeven 	/* TCLK2 */
1609077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(4, 5),
1610077365a9SGeert Uytterhoeven };
1611077365a9SGeert Uytterhoeven static const unsigned int tmu_tclk2_a_mux[] = {
1612077365a9SGeert Uytterhoeven 	TCLK2_A_MARK,
1613077365a9SGeert Uytterhoeven };
1614077365a9SGeert Uytterhoeven static const unsigned int tmu_tclk2_b_pins[] = {
1615077365a9SGeert Uytterhoeven 	/* TCLK2 */
1616077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(1, 24),
1617077365a9SGeert Uytterhoeven };
1618077365a9SGeert Uytterhoeven static const unsigned int tmu_tclk2_b_mux[] = {
1619077365a9SGeert Uytterhoeven 	TCLK2_B_MARK,
1620077365a9SGeert Uytterhoeven };
1621077365a9SGeert Uytterhoeven 
1622077365a9SGeert Uytterhoeven /* - VIN0 ------------------------------------------------------------------- */
1623077365a9SGeert Uytterhoeven static const union vin_data12 vin0_data_pins = {
1624077365a9SGeert Uytterhoeven 	.data12 = {
1625077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 5),
1626077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 7),
1627077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9),
1628077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11),
1629077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 13),
1630077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 15),
1631077365a9SGeert Uytterhoeven 	},
1632077365a9SGeert Uytterhoeven };
1633077365a9SGeert Uytterhoeven static const union vin_data12 vin0_data_mux = {
1634077365a9SGeert Uytterhoeven 	.data12 = {
1635077365a9SGeert Uytterhoeven 		VI0_DATA0_MARK, VI0_DATA1_MARK,
1636077365a9SGeert Uytterhoeven 		VI0_DATA2_MARK, VI0_DATA3_MARK,
1637077365a9SGeert Uytterhoeven 		VI0_DATA4_MARK, VI0_DATA5_MARK,
1638077365a9SGeert Uytterhoeven 		VI0_DATA6_MARK, VI0_DATA7_MARK,
1639077365a9SGeert Uytterhoeven 		VI0_DATA8_MARK,  VI0_DATA9_MARK,
1640077365a9SGeert Uytterhoeven 		VI0_DATA10_MARK, VI0_DATA11_MARK,
1641077365a9SGeert Uytterhoeven 	},
1642077365a9SGeert Uytterhoeven };
1643077365a9SGeert Uytterhoeven static const unsigned int vin0_sync_pins[] = {
1644077365a9SGeert Uytterhoeven 	/* HSYNC#, VSYNC# */
1645077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 3),
1646077365a9SGeert Uytterhoeven };
1647077365a9SGeert Uytterhoeven static const unsigned int vin0_sync_mux[] = {
1648077365a9SGeert Uytterhoeven 	VI0_HSYNC_N_MARK, VI0_VSYNC_N_MARK,
1649077365a9SGeert Uytterhoeven };
1650077365a9SGeert Uytterhoeven static const unsigned int vin0_field_pins[] = {
1651077365a9SGeert Uytterhoeven 	/* FIELD */
1652077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 16),
1653077365a9SGeert Uytterhoeven };
1654077365a9SGeert Uytterhoeven static const unsigned int vin0_field_mux[] = {
1655077365a9SGeert Uytterhoeven 	VI0_FIELD_MARK,
1656077365a9SGeert Uytterhoeven };
1657077365a9SGeert Uytterhoeven static const unsigned int vin0_clkenb_pins[] = {
1658077365a9SGeert Uytterhoeven 	/* CLKENB */
1659077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 1),
1660077365a9SGeert Uytterhoeven };
1661077365a9SGeert Uytterhoeven static const unsigned int vin0_clkenb_mux[] = {
1662077365a9SGeert Uytterhoeven 	VI0_CLKENB_MARK,
1663077365a9SGeert Uytterhoeven };
1664077365a9SGeert Uytterhoeven static const unsigned int vin0_clk_pins[] = {
1665077365a9SGeert Uytterhoeven 	/* CLK */
1666077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(2, 0),
1667077365a9SGeert Uytterhoeven };
1668077365a9SGeert Uytterhoeven static const unsigned int vin0_clk_mux[] = {
1669077365a9SGeert Uytterhoeven 	VI0_CLK_MARK,
1670077365a9SGeert Uytterhoeven };
1671077365a9SGeert Uytterhoeven 
1672077365a9SGeert Uytterhoeven /* - VIN1 ------------------------------------------------------------------- */
1673077365a9SGeert Uytterhoeven static const union vin_data12 vin1_data_pins = {
1674077365a9SGeert Uytterhoeven 	.data12 = {
1675077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5),
1676077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
1677077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
1678077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11),
1679077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 13),
1680077365a9SGeert Uytterhoeven 		RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15),
1681077365a9SGeert Uytterhoeven 	},
1682077365a9SGeert Uytterhoeven };
1683077365a9SGeert Uytterhoeven static const union vin_data12 vin1_data_mux = {
1684077365a9SGeert Uytterhoeven 	.data12 = {
1685077365a9SGeert Uytterhoeven 		VI1_DATA0_MARK, VI1_DATA1_MARK,
1686077365a9SGeert Uytterhoeven 		VI1_DATA2_MARK, VI1_DATA3_MARK,
1687077365a9SGeert Uytterhoeven 		VI1_DATA4_MARK, VI1_DATA5_MARK,
1688077365a9SGeert Uytterhoeven 		VI1_DATA6_MARK, VI1_DATA7_MARK,
1689077365a9SGeert Uytterhoeven 		VI1_DATA8_MARK,  VI1_DATA9_MARK,
1690077365a9SGeert Uytterhoeven 		VI1_DATA10_MARK, VI1_DATA11_MARK,
1691077365a9SGeert Uytterhoeven 	},
1692077365a9SGeert Uytterhoeven };
1693077365a9SGeert Uytterhoeven static const unsigned int vin1_sync_pins[] = {
1694077365a9SGeert Uytterhoeven 	/* HSYNC#, VSYNC# */
1695077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3),
1696077365a9SGeert Uytterhoeven };
1697077365a9SGeert Uytterhoeven static const unsigned int vin1_sync_mux[] = {
1698077365a9SGeert Uytterhoeven 	VI1_HSYNC_N_MARK, VI1_VSYNC_N_MARK,
1699077365a9SGeert Uytterhoeven };
1700077365a9SGeert Uytterhoeven static const unsigned int vin1_field_pins[] = {
1701077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 16),
1702077365a9SGeert Uytterhoeven };
1703077365a9SGeert Uytterhoeven static const unsigned int vin1_field_mux[] = {
1704077365a9SGeert Uytterhoeven 	/* FIELD */
1705077365a9SGeert Uytterhoeven 	VI1_FIELD_MARK,
1706077365a9SGeert Uytterhoeven };
1707077365a9SGeert Uytterhoeven static const unsigned int vin1_clkenb_pins[] = {
1708077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 1),
1709077365a9SGeert Uytterhoeven };
1710077365a9SGeert Uytterhoeven static const unsigned int vin1_clkenb_mux[] = {
1711077365a9SGeert Uytterhoeven 	/* CLKENB */
1712077365a9SGeert Uytterhoeven 	VI1_CLKENB_MARK,
1713077365a9SGeert Uytterhoeven };
1714077365a9SGeert Uytterhoeven static const unsigned int vin1_clk_pins[] = {
1715077365a9SGeert Uytterhoeven 	RCAR_GP_PIN(3, 0),
1716077365a9SGeert Uytterhoeven };
1717077365a9SGeert Uytterhoeven static const unsigned int vin1_clk_mux[] = {
1718077365a9SGeert Uytterhoeven 	/* CLK */
1719077365a9SGeert Uytterhoeven 	VI1_CLK_MARK,
1720077365a9SGeert Uytterhoeven };
1721077365a9SGeert Uytterhoeven 
1722077365a9SGeert Uytterhoeven static const struct sh_pfc_pin_group pinmux_groups[] = {
1723077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(avb0_link),
1724077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(avb0_magic),
1725077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(avb0_phy_int),
1726077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(avb0_mdio),
1727077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(avb0_rgmii),
1728077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(avb0_txcrefclk),
1729077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(avb0_avtp_pps),
1730077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(avb0_avtp_capture),
1731077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(avb0_avtp_match),
1732077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(canfd_clk_a),
1733077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(canfd_clk_b),
1734077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(canfd0_data_a),
1735077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(canfd0_data_b),
1736077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(canfd1_data),
1737077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(du_rgb666),
1738077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(du_clk_out),
1739077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(du_sync),
1740077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(du_oddf),
1741077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(du_cde),
1742077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(du_disp),
1743077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif0_data),
1744077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif0_clk),
1745077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif0_ctrl),
1746077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif1_data),
1747077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif1_clk),
1748077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif1_ctrl),
1749077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif2_data),
1750077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif2_clk),
1751077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif2_ctrl),
1752077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif3_data),
1753077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif3_clk),
1754077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(hscif3_ctrl),
1755077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(i2c0),
1756077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(i2c1),
1757077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(i2c2),
1758077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(i2c3_a),
1759077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(i2c3_b),
1760077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(i2c4),
1761077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(intc_ex_irq0),
1762077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(intc_ex_irq1),
1763077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(intc_ex_irq2),
1764077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(intc_ex_irq3),
1765077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(intc_ex_irq4),
1766077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(intc_ex_irq5),
1767077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(mmc_data1),
1768077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(mmc_data4),
1769077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(mmc_data8),
1770077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(mmc_ctrl),
1771077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof0_clk),
1772077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof0_sync),
1773077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof0_ss1),
1774077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof0_ss2),
1775077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof0_txd),
1776077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof0_rxd),
1777077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof1_clk),
1778077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof1_sync),
1779077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof1_ss1),
1780077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof1_ss2),
1781077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof1_txd),
1782077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof1_rxd),
1783077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof2_clk),
1784077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof2_sync),
1785077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof2_ss1),
1786077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof2_ss2),
1787077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof2_txd),
1788077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof2_rxd),
1789077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof3_clk),
1790077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof3_sync),
1791077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof3_ss1),
1792077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof3_ss2),
1793077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof3_txd),
1794077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(msiof3_rxd),
1795077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm0_a),
1796077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm0_b),
1797077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm1_a),
1798077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm1_b),
1799077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm2_a),
1800077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm2_b),
1801077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm3_a),
1802077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm3_b),
1803077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm4_a),
1804077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(pwm4_b),
1805077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(qspi0_ctrl),
1806077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(qspi0_data2),
1807077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(qspi0_data4),
1808077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(qspi1_ctrl),
1809077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(qspi1_data2),
1810077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(qspi1_data4),
1811077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(rpc_clk1),
1812077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(rpc_clk2),
1813077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(rpc_ctrl),
1814077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(rpc_data),
1815077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(rpc_reset),
1816077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(rpc_int),
1817077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(rpc_wp),
1818077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif_clk_a),
1819077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif_clk_b),
1820077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif0_data),
1821077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif0_clk),
1822077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif0_ctrl),
1823077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif1_data_a),
1824077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif1_clk),
1825077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif1_ctrl),
1826077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif1_data_b),
1827077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif3_data),
1828077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif3_clk),
1829077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif3_ctrl),
1830077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif4_data),
1831077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif4_clk),
1832077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(scif4_ctrl),
1833077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(tmu_tclk1_a),
1834077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(tmu_tclk1_b),
1835077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(tmu_tclk2_a),
1836077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(tmu_tclk2_b),
1837077365a9SGeert Uytterhoeven 	VIN_DATA_PIN_GROUP(vin0_data, 8),
1838077365a9SGeert Uytterhoeven 	VIN_DATA_PIN_GROUP(vin0_data, 10),
1839077365a9SGeert Uytterhoeven 	VIN_DATA_PIN_GROUP(vin0_data, 12),
1840077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(vin0_sync),
1841077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(vin0_field),
1842077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(vin0_clkenb),
1843077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(vin0_clk),
1844077365a9SGeert Uytterhoeven 	VIN_DATA_PIN_GROUP(vin1_data, 8),
1845077365a9SGeert Uytterhoeven 	VIN_DATA_PIN_GROUP(vin1_data, 10),
1846077365a9SGeert Uytterhoeven 	VIN_DATA_PIN_GROUP(vin1_data, 12),
1847077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(vin1_sync),
1848077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(vin1_field),
1849077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(vin1_clkenb),
1850077365a9SGeert Uytterhoeven 	SH_PFC_PIN_GROUP(vin1_clk),
1851077365a9SGeert Uytterhoeven };
1852077365a9SGeert Uytterhoeven 
1853077365a9SGeert Uytterhoeven static const char * const avb0_groups[] = {
1854077365a9SGeert Uytterhoeven 	"avb0_link",
1855077365a9SGeert Uytterhoeven 	"avb0_magic",
1856077365a9SGeert Uytterhoeven 	"avb0_phy_int",
1857077365a9SGeert Uytterhoeven 	"avb0_mdio",
1858077365a9SGeert Uytterhoeven 	"avb0_rgmii",
1859077365a9SGeert Uytterhoeven 	"avb0_txcrefclk",
1860077365a9SGeert Uytterhoeven 	"avb0_avtp_pps",
1861077365a9SGeert Uytterhoeven 	"avb0_avtp_capture",
1862077365a9SGeert Uytterhoeven 	"avb0_avtp_match",
1863077365a9SGeert Uytterhoeven };
1864077365a9SGeert Uytterhoeven 
1865077365a9SGeert Uytterhoeven static const char * const canfd_clk_groups[] = {
1866077365a9SGeert Uytterhoeven 	"canfd_clk_a",
1867077365a9SGeert Uytterhoeven 	"canfd_clk_b",
1868077365a9SGeert Uytterhoeven };
1869077365a9SGeert Uytterhoeven 
1870077365a9SGeert Uytterhoeven static const char * const canfd0_groups[] = {
1871077365a9SGeert Uytterhoeven 	"canfd0_data_a",
1872077365a9SGeert Uytterhoeven 	"canfd0_data_b",
1873077365a9SGeert Uytterhoeven };
1874077365a9SGeert Uytterhoeven 
1875077365a9SGeert Uytterhoeven static const char * const canfd1_groups[] = {
1876077365a9SGeert Uytterhoeven 	"canfd1_data",
1877077365a9SGeert Uytterhoeven };
1878077365a9SGeert Uytterhoeven 
1879077365a9SGeert Uytterhoeven static const char * const du_groups[] = {
1880077365a9SGeert Uytterhoeven 	"du_rgb666",
1881077365a9SGeert Uytterhoeven 	"du_clk_out",
1882077365a9SGeert Uytterhoeven 	"du_sync",
1883077365a9SGeert Uytterhoeven 	"du_oddf",
1884077365a9SGeert Uytterhoeven 	"du_cde",
1885077365a9SGeert Uytterhoeven 	"du_disp",
1886077365a9SGeert Uytterhoeven };
1887077365a9SGeert Uytterhoeven 
1888077365a9SGeert Uytterhoeven static const char * const hscif0_groups[] = {
1889077365a9SGeert Uytterhoeven 	"hscif0_data",
1890077365a9SGeert Uytterhoeven 	"hscif0_clk",
1891077365a9SGeert Uytterhoeven 	"hscif0_ctrl",
1892077365a9SGeert Uytterhoeven };
1893077365a9SGeert Uytterhoeven 
1894077365a9SGeert Uytterhoeven static const char * const hscif1_groups[] = {
1895077365a9SGeert Uytterhoeven 	"hscif1_data",
1896077365a9SGeert Uytterhoeven 	"hscif1_clk",
1897077365a9SGeert Uytterhoeven 	"hscif1_ctrl",
1898077365a9SGeert Uytterhoeven };
1899077365a9SGeert Uytterhoeven 
1900077365a9SGeert Uytterhoeven static const char * const hscif2_groups[] = {
1901077365a9SGeert Uytterhoeven 	"hscif2_data",
1902077365a9SGeert Uytterhoeven 	"hscif2_clk",
1903077365a9SGeert Uytterhoeven 	"hscif2_ctrl",
1904077365a9SGeert Uytterhoeven };
1905077365a9SGeert Uytterhoeven 
1906077365a9SGeert Uytterhoeven static const char * const hscif3_groups[] = {
1907077365a9SGeert Uytterhoeven 	"hscif3_data",
1908077365a9SGeert Uytterhoeven 	"hscif3_clk",
1909077365a9SGeert Uytterhoeven 	"hscif3_ctrl",
1910077365a9SGeert Uytterhoeven };
1911077365a9SGeert Uytterhoeven 
1912077365a9SGeert Uytterhoeven static const char * const i2c0_groups[] = {
1913077365a9SGeert Uytterhoeven 	"i2c0",
1914077365a9SGeert Uytterhoeven };
1915077365a9SGeert Uytterhoeven 
1916077365a9SGeert Uytterhoeven static const char * const i2c1_groups[] = {
1917077365a9SGeert Uytterhoeven 	"i2c1",
1918077365a9SGeert Uytterhoeven };
1919077365a9SGeert Uytterhoeven 
1920077365a9SGeert Uytterhoeven static const char * const i2c2_groups[] = {
1921077365a9SGeert Uytterhoeven 	"i2c2",
1922077365a9SGeert Uytterhoeven };
1923077365a9SGeert Uytterhoeven 
1924077365a9SGeert Uytterhoeven static const char * const i2c3_groups[] = {
1925077365a9SGeert Uytterhoeven 	"i2c3_a",
1926077365a9SGeert Uytterhoeven 	"i2c3_b",
1927077365a9SGeert Uytterhoeven };
1928077365a9SGeert Uytterhoeven 
1929077365a9SGeert Uytterhoeven static const char * const i2c4_groups[] = {
1930077365a9SGeert Uytterhoeven 	"i2c4",
1931077365a9SGeert Uytterhoeven };
1932077365a9SGeert Uytterhoeven 
1933077365a9SGeert Uytterhoeven static const char * const intc_ex_groups[] = {
1934077365a9SGeert Uytterhoeven 	"intc_ex_irq0",
1935077365a9SGeert Uytterhoeven 	"intc_ex_irq1",
1936077365a9SGeert Uytterhoeven 	"intc_ex_irq2",
1937077365a9SGeert Uytterhoeven 	"intc_ex_irq3",
1938077365a9SGeert Uytterhoeven 	"intc_ex_irq4",
1939077365a9SGeert Uytterhoeven 	"intc_ex_irq5",
1940077365a9SGeert Uytterhoeven };
1941077365a9SGeert Uytterhoeven 
1942077365a9SGeert Uytterhoeven static const char * const mmc_groups[] = {
1943077365a9SGeert Uytterhoeven 	"mmc_data1",
1944077365a9SGeert Uytterhoeven 	"mmc_data4",
1945077365a9SGeert Uytterhoeven 	"mmc_data8",
1946077365a9SGeert Uytterhoeven 	"mmc_ctrl",
1947077365a9SGeert Uytterhoeven };
1948077365a9SGeert Uytterhoeven 
1949077365a9SGeert Uytterhoeven static const char * const msiof0_groups[] = {
1950077365a9SGeert Uytterhoeven 	"msiof0_clk",
1951077365a9SGeert Uytterhoeven 	"msiof0_sync",
1952077365a9SGeert Uytterhoeven 	"msiof0_ss1",
1953077365a9SGeert Uytterhoeven 	"msiof0_ss2",
1954077365a9SGeert Uytterhoeven 	"msiof0_txd",
1955077365a9SGeert Uytterhoeven 	"msiof0_rxd",
1956077365a9SGeert Uytterhoeven };
1957077365a9SGeert Uytterhoeven 
1958077365a9SGeert Uytterhoeven static const char * const msiof1_groups[] = {
1959077365a9SGeert Uytterhoeven 	"msiof1_clk",
1960077365a9SGeert Uytterhoeven 	"msiof1_sync",
1961077365a9SGeert Uytterhoeven 	"msiof1_ss1",
1962077365a9SGeert Uytterhoeven 	"msiof1_ss2",
1963077365a9SGeert Uytterhoeven 	"msiof1_txd",
1964077365a9SGeert Uytterhoeven 	"msiof1_rxd",
1965077365a9SGeert Uytterhoeven };
1966077365a9SGeert Uytterhoeven 
1967077365a9SGeert Uytterhoeven static const char * const msiof2_groups[] = {
1968077365a9SGeert Uytterhoeven 	"msiof2_clk",
1969077365a9SGeert Uytterhoeven 	"msiof2_sync",
1970077365a9SGeert Uytterhoeven 	"msiof2_ss1",
1971077365a9SGeert Uytterhoeven 	"msiof2_ss2",
1972077365a9SGeert Uytterhoeven 	"msiof2_txd",
1973077365a9SGeert Uytterhoeven 	"msiof2_rxd",
1974077365a9SGeert Uytterhoeven };
1975077365a9SGeert Uytterhoeven 
1976077365a9SGeert Uytterhoeven static const char * const msiof3_groups[] = {
1977077365a9SGeert Uytterhoeven 	"msiof3_clk",
1978077365a9SGeert Uytterhoeven 	"msiof3_sync",
1979077365a9SGeert Uytterhoeven 	"msiof3_ss1",
1980077365a9SGeert Uytterhoeven 	"msiof3_ss2",
1981077365a9SGeert Uytterhoeven 	"msiof3_txd",
1982077365a9SGeert Uytterhoeven 	"msiof3_rxd",
1983077365a9SGeert Uytterhoeven };
1984077365a9SGeert Uytterhoeven 
1985077365a9SGeert Uytterhoeven static const char * const pwm0_groups[] = {
1986077365a9SGeert Uytterhoeven 	"pwm0_a",
1987077365a9SGeert Uytterhoeven 	"pwm0_b",
1988077365a9SGeert Uytterhoeven };
1989077365a9SGeert Uytterhoeven 
1990077365a9SGeert Uytterhoeven static const char * const pwm1_groups[] = {
1991077365a9SGeert Uytterhoeven 	"pwm1_a",
1992077365a9SGeert Uytterhoeven 	"pwm1_b",
1993077365a9SGeert Uytterhoeven };
1994077365a9SGeert Uytterhoeven 
1995077365a9SGeert Uytterhoeven static const char * const pwm2_groups[] = {
1996077365a9SGeert Uytterhoeven 	"pwm2_a",
1997077365a9SGeert Uytterhoeven 	"pwm2_b",
1998077365a9SGeert Uytterhoeven };
1999077365a9SGeert Uytterhoeven 
2000077365a9SGeert Uytterhoeven static const char * const pwm3_groups[] = {
2001077365a9SGeert Uytterhoeven 	"pwm3_a",
2002077365a9SGeert Uytterhoeven 	"pwm3_b",
2003077365a9SGeert Uytterhoeven };
2004077365a9SGeert Uytterhoeven 
2005077365a9SGeert Uytterhoeven static const char * const pwm4_groups[] = {
2006077365a9SGeert Uytterhoeven 	"pwm4_a",
2007077365a9SGeert Uytterhoeven 	"pwm4_b",
2008077365a9SGeert Uytterhoeven };
2009077365a9SGeert Uytterhoeven 
2010077365a9SGeert Uytterhoeven static const char * const qspi0_groups[] = {
2011077365a9SGeert Uytterhoeven 	"qspi0_ctrl",
2012077365a9SGeert Uytterhoeven 	"qspi0_data2",
2013077365a9SGeert Uytterhoeven 	"qspi0_data4",
2014077365a9SGeert Uytterhoeven };
2015077365a9SGeert Uytterhoeven 
2016077365a9SGeert Uytterhoeven static const char * const qspi1_groups[] = {
2017077365a9SGeert Uytterhoeven 	"qspi1_ctrl",
2018077365a9SGeert Uytterhoeven 	"qspi1_data2",
2019077365a9SGeert Uytterhoeven 	"qspi1_data4",
2020077365a9SGeert Uytterhoeven };
2021077365a9SGeert Uytterhoeven 
2022077365a9SGeert Uytterhoeven static const char * const rpc_groups[] = {
2023077365a9SGeert Uytterhoeven 	"rpc_clk1",
2024077365a9SGeert Uytterhoeven 	"rpc_clk2",
2025077365a9SGeert Uytterhoeven 	"rpc_ctrl",
2026077365a9SGeert Uytterhoeven 	"rpc_data",
2027077365a9SGeert Uytterhoeven 	"rpc_reset",
2028077365a9SGeert Uytterhoeven 	"rpc_int",
2029077365a9SGeert Uytterhoeven 	"rpc_wp",
2030077365a9SGeert Uytterhoeven };
2031077365a9SGeert Uytterhoeven 
2032077365a9SGeert Uytterhoeven static const char * const scif_clk_groups[] = {
2033077365a9SGeert Uytterhoeven 	"scif_clk_a",
2034077365a9SGeert Uytterhoeven 	"scif_clk_b",
2035077365a9SGeert Uytterhoeven };
2036077365a9SGeert Uytterhoeven 
2037077365a9SGeert Uytterhoeven static const char * const scif0_groups[] = {
2038077365a9SGeert Uytterhoeven 	"scif0_data",
2039077365a9SGeert Uytterhoeven 	"scif0_clk",
2040077365a9SGeert Uytterhoeven 	"scif0_ctrl",
2041077365a9SGeert Uytterhoeven };
2042077365a9SGeert Uytterhoeven 
2043077365a9SGeert Uytterhoeven static const char * const scif1_groups[] = {
2044077365a9SGeert Uytterhoeven 	"scif1_data_a",
2045077365a9SGeert Uytterhoeven 	"scif1_clk",
2046077365a9SGeert Uytterhoeven 	"scif1_ctrl",
2047077365a9SGeert Uytterhoeven 	"scif1_data_b",
2048077365a9SGeert Uytterhoeven };
2049077365a9SGeert Uytterhoeven 
2050077365a9SGeert Uytterhoeven static const char * const scif3_groups[] = {
2051077365a9SGeert Uytterhoeven 	"scif3_data",
2052077365a9SGeert Uytterhoeven 	"scif3_clk",
2053077365a9SGeert Uytterhoeven 	"scif3_ctrl",
2054077365a9SGeert Uytterhoeven };
2055077365a9SGeert Uytterhoeven 
2056077365a9SGeert Uytterhoeven static const char * const scif4_groups[] = {
2057077365a9SGeert Uytterhoeven 	"scif4_data",
2058077365a9SGeert Uytterhoeven 	"scif4_clk",
2059077365a9SGeert Uytterhoeven 	"scif4_ctrl",
2060077365a9SGeert Uytterhoeven };
2061077365a9SGeert Uytterhoeven 
2062077365a9SGeert Uytterhoeven static const char * const tmu_groups[] = {
2063077365a9SGeert Uytterhoeven 	"tmu_tclk1_a",
2064077365a9SGeert Uytterhoeven 	"tmu_tclk1_b",
2065077365a9SGeert Uytterhoeven 	"tmu_tclk2_a",
2066077365a9SGeert Uytterhoeven 	"tmu_tclk2_b",
2067077365a9SGeert Uytterhoeven };
2068077365a9SGeert Uytterhoeven 
2069077365a9SGeert Uytterhoeven static const char * const vin0_groups[] = {
2070077365a9SGeert Uytterhoeven 	"vin0_data8",
2071077365a9SGeert Uytterhoeven 	"vin0_data10",
2072077365a9SGeert Uytterhoeven 	"vin0_data12",
2073077365a9SGeert Uytterhoeven 	"vin0_sync",
2074077365a9SGeert Uytterhoeven 	"vin0_field",
2075077365a9SGeert Uytterhoeven 	"vin0_clkenb",
2076077365a9SGeert Uytterhoeven 	"vin0_clk",
2077077365a9SGeert Uytterhoeven };
2078077365a9SGeert Uytterhoeven 
2079077365a9SGeert Uytterhoeven static const char * const vin1_groups[] = {
2080077365a9SGeert Uytterhoeven 	"vin1_data8",
2081077365a9SGeert Uytterhoeven 	"vin1_data10",
2082077365a9SGeert Uytterhoeven 	"vin1_data12",
2083077365a9SGeert Uytterhoeven 	"vin1_sync",
2084077365a9SGeert Uytterhoeven 	"vin1_field",
2085077365a9SGeert Uytterhoeven 	"vin1_clkenb",
2086077365a9SGeert Uytterhoeven 	"vin1_clk",
2087077365a9SGeert Uytterhoeven };
2088077365a9SGeert Uytterhoeven 
2089077365a9SGeert Uytterhoeven static const struct sh_pfc_function pinmux_functions[] = {
2090077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(avb0),
2091077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(canfd_clk),
2092077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(canfd0),
2093077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(canfd1),
2094077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(du),
2095077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(hscif0),
2096077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(hscif1),
2097077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(hscif2),
2098077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(hscif3),
2099077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(i2c0),
2100077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(i2c1),
2101077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(i2c2),
2102077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(i2c3),
2103077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(i2c4),
2104077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(intc_ex),
2105077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(mmc),
2106077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(msiof0),
2107077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(msiof1),
2108077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(msiof2),
2109077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(msiof3),
2110077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(pwm0),
2111077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(pwm1),
2112077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(pwm2),
2113077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(pwm3),
2114077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(pwm4),
2115077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(qspi0),
2116077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(qspi1),
2117077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(rpc),
2118077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(scif_clk),
2119077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(scif0),
2120077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(scif1),
2121077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(scif3),
2122077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(scif4),
2123077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(tmu),
2124077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(vin0),
2125077365a9SGeert Uytterhoeven 	SH_PFC_FUNCTION(vin1),
2126077365a9SGeert Uytterhoeven };
2127077365a9SGeert Uytterhoeven 
2128077365a9SGeert Uytterhoeven static const struct pinmux_cfg_reg pinmux_config_regs[] = {
2129077365a9SGeert Uytterhoeven #define F_(x, y)	FN_##y
2130077365a9SGeert Uytterhoeven #define FM(x)		FN_##x
2131077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("GPSR0", 0xe6060100, 32, 1, GROUP(
2132077365a9SGeert Uytterhoeven 		0, 0,
2133077365a9SGeert Uytterhoeven 		0, 0,
2134077365a9SGeert Uytterhoeven 		0, 0,
2135077365a9SGeert Uytterhoeven 		0, 0,
2136077365a9SGeert Uytterhoeven 		0, 0,
2137077365a9SGeert Uytterhoeven 		0, 0,
2138077365a9SGeert Uytterhoeven 		0, 0,
2139077365a9SGeert Uytterhoeven 		0, 0,
2140077365a9SGeert Uytterhoeven 		0, 0,
2141077365a9SGeert Uytterhoeven 		0, 0,
2142077365a9SGeert Uytterhoeven 		GP_0_21_FN,	GPSR0_21,
2143077365a9SGeert Uytterhoeven 		GP_0_20_FN,	GPSR0_20,
2144077365a9SGeert Uytterhoeven 		GP_0_19_FN,	GPSR0_19,
2145077365a9SGeert Uytterhoeven 		GP_0_18_FN,	GPSR0_18,
2146077365a9SGeert Uytterhoeven 		GP_0_17_FN,	GPSR0_17,
2147077365a9SGeert Uytterhoeven 		GP_0_16_FN,	GPSR0_16,
2148077365a9SGeert Uytterhoeven 		GP_0_15_FN,	GPSR0_15,
2149077365a9SGeert Uytterhoeven 		GP_0_14_FN,	GPSR0_14,
2150077365a9SGeert Uytterhoeven 		GP_0_13_FN,	GPSR0_13,
2151077365a9SGeert Uytterhoeven 		GP_0_12_FN,	GPSR0_12,
2152077365a9SGeert Uytterhoeven 		GP_0_11_FN,	GPSR0_11,
2153077365a9SGeert Uytterhoeven 		GP_0_10_FN,	GPSR0_10,
2154077365a9SGeert Uytterhoeven 		GP_0_9_FN,	GPSR0_9,
2155077365a9SGeert Uytterhoeven 		GP_0_8_FN,	GPSR0_8,
2156077365a9SGeert Uytterhoeven 		GP_0_7_FN,	GPSR0_7,
2157077365a9SGeert Uytterhoeven 		GP_0_6_FN,	GPSR0_6,
2158077365a9SGeert Uytterhoeven 		GP_0_5_FN,	GPSR0_5,
2159077365a9SGeert Uytterhoeven 		GP_0_4_FN,	GPSR0_4,
2160077365a9SGeert Uytterhoeven 		GP_0_3_FN,	GPSR0_3,
2161077365a9SGeert Uytterhoeven 		GP_0_2_FN,	GPSR0_2,
2162077365a9SGeert Uytterhoeven 		GP_0_1_FN,	GPSR0_1,
2163077365a9SGeert Uytterhoeven 		GP_0_0_FN,	GPSR0_0, ))
2164077365a9SGeert Uytterhoeven 	},
2165077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("GPSR1", 0xe6060104, 32, 1, GROUP(
2166077365a9SGeert Uytterhoeven 		0, 0,
2167077365a9SGeert Uytterhoeven 		0, 0,
2168077365a9SGeert Uytterhoeven 		0, 0,
2169077365a9SGeert Uytterhoeven 		0, 0,
2170077365a9SGeert Uytterhoeven 		GP_1_27_FN,	GPSR1_27,
2171077365a9SGeert Uytterhoeven 		GP_1_26_FN,	GPSR1_26,
2172077365a9SGeert Uytterhoeven 		GP_1_25_FN,	GPSR1_25,
2173077365a9SGeert Uytterhoeven 		GP_1_24_FN,	GPSR1_24,
2174077365a9SGeert Uytterhoeven 		GP_1_23_FN,	GPSR1_23,
2175077365a9SGeert Uytterhoeven 		GP_1_22_FN,	GPSR1_22,
2176077365a9SGeert Uytterhoeven 		GP_1_21_FN,	GPSR1_21,
2177077365a9SGeert Uytterhoeven 		GP_1_20_FN,	GPSR1_20,
2178077365a9SGeert Uytterhoeven 		GP_1_19_FN,	GPSR1_19,
2179077365a9SGeert Uytterhoeven 		GP_1_18_FN,	GPSR1_18,
2180077365a9SGeert Uytterhoeven 		GP_1_17_FN,	GPSR1_17,
2181077365a9SGeert Uytterhoeven 		GP_1_16_FN,	GPSR1_16,
2182077365a9SGeert Uytterhoeven 		GP_1_15_FN,	GPSR1_15,
2183077365a9SGeert Uytterhoeven 		GP_1_14_FN,	GPSR1_14,
2184077365a9SGeert Uytterhoeven 		GP_1_13_FN,	GPSR1_13,
2185077365a9SGeert Uytterhoeven 		GP_1_12_FN,	GPSR1_12,
2186077365a9SGeert Uytterhoeven 		GP_1_11_FN,	GPSR1_11,
2187077365a9SGeert Uytterhoeven 		GP_1_10_FN,	GPSR1_10,
2188077365a9SGeert Uytterhoeven 		GP_1_9_FN,	GPSR1_9,
2189077365a9SGeert Uytterhoeven 		GP_1_8_FN,	GPSR1_8,
2190077365a9SGeert Uytterhoeven 		GP_1_7_FN,	GPSR1_7,
2191077365a9SGeert Uytterhoeven 		GP_1_6_FN,	GPSR1_6,
2192077365a9SGeert Uytterhoeven 		GP_1_5_FN,	GPSR1_5,
2193077365a9SGeert Uytterhoeven 		GP_1_4_FN,	GPSR1_4,
2194077365a9SGeert Uytterhoeven 		GP_1_3_FN,	GPSR1_3,
2195077365a9SGeert Uytterhoeven 		GP_1_2_FN,	GPSR1_2,
2196077365a9SGeert Uytterhoeven 		GP_1_1_FN,	GPSR1_1,
2197077365a9SGeert Uytterhoeven 		GP_1_0_FN,	GPSR1_0, ))
2198077365a9SGeert Uytterhoeven 	},
2199077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("GPSR2", 0xe6060108, 32, 1, GROUP(
2200077365a9SGeert Uytterhoeven 		0, 0,
2201077365a9SGeert Uytterhoeven 		0, 0,
2202077365a9SGeert Uytterhoeven 		0, 0,
2203077365a9SGeert Uytterhoeven 		0, 0,
2204077365a9SGeert Uytterhoeven 		0, 0,
2205077365a9SGeert Uytterhoeven 		0, 0,
2206077365a9SGeert Uytterhoeven 		0, 0,
2207077365a9SGeert Uytterhoeven 		0, 0,
2208077365a9SGeert Uytterhoeven 		0, 0,
2209077365a9SGeert Uytterhoeven 		0, 0,
2210077365a9SGeert Uytterhoeven 		0, 0,
2211077365a9SGeert Uytterhoeven 		0, 0,
2212077365a9SGeert Uytterhoeven 		0, 0,
2213077365a9SGeert Uytterhoeven 		0, 0,
2214077365a9SGeert Uytterhoeven 		0, 0,
2215077365a9SGeert Uytterhoeven 		GP_2_16_FN,	GPSR2_16,
2216077365a9SGeert Uytterhoeven 		GP_2_15_FN,	GPSR2_15,
2217077365a9SGeert Uytterhoeven 		GP_2_14_FN,	GPSR2_14,
2218077365a9SGeert Uytterhoeven 		GP_2_13_FN,	GPSR2_13,
2219077365a9SGeert Uytterhoeven 		GP_2_12_FN,	GPSR2_12,
2220077365a9SGeert Uytterhoeven 		GP_2_11_FN,	GPSR2_11,
2221077365a9SGeert Uytterhoeven 		GP_2_10_FN,	GPSR2_10,
2222077365a9SGeert Uytterhoeven 		GP_2_9_FN,	GPSR2_9,
2223077365a9SGeert Uytterhoeven 		GP_2_8_FN,	GPSR2_8,
2224077365a9SGeert Uytterhoeven 		GP_2_7_FN,	GPSR2_7,
2225077365a9SGeert Uytterhoeven 		GP_2_6_FN,	GPSR2_6,
2226077365a9SGeert Uytterhoeven 		GP_2_5_FN,	GPSR2_5,
2227077365a9SGeert Uytterhoeven 		GP_2_4_FN,	GPSR2_4,
2228077365a9SGeert Uytterhoeven 		GP_2_3_FN,	GPSR2_3,
2229077365a9SGeert Uytterhoeven 		GP_2_2_FN,	GPSR2_2,
2230077365a9SGeert Uytterhoeven 		GP_2_1_FN,	GPSR2_1,
2231077365a9SGeert Uytterhoeven 		GP_2_0_FN,	GPSR2_0, ))
2232077365a9SGeert Uytterhoeven 	},
2233077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("GPSR3", 0xe606010c, 32, 1, GROUP(
2234077365a9SGeert Uytterhoeven 		0, 0,
2235077365a9SGeert Uytterhoeven 		0, 0,
2236077365a9SGeert Uytterhoeven 		0, 0,
2237077365a9SGeert Uytterhoeven 		0, 0,
2238077365a9SGeert Uytterhoeven 		0, 0,
2239077365a9SGeert Uytterhoeven 		0, 0,
2240077365a9SGeert Uytterhoeven 		0, 0,
2241077365a9SGeert Uytterhoeven 		0, 0,
2242077365a9SGeert Uytterhoeven 		0, 0,
2243077365a9SGeert Uytterhoeven 		0, 0,
2244077365a9SGeert Uytterhoeven 		0, 0,
2245077365a9SGeert Uytterhoeven 		0, 0,
2246077365a9SGeert Uytterhoeven 		0, 0,
2247077365a9SGeert Uytterhoeven 		0, 0,
2248077365a9SGeert Uytterhoeven 		0, 0,
2249077365a9SGeert Uytterhoeven 		GP_3_16_FN,	GPSR3_16,
2250077365a9SGeert Uytterhoeven 		GP_3_15_FN,	GPSR3_15,
2251077365a9SGeert Uytterhoeven 		GP_3_14_FN,	GPSR3_14,
2252077365a9SGeert Uytterhoeven 		GP_3_13_FN,	GPSR3_13,
2253077365a9SGeert Uytterhoeven 		GP_3_12_FN,	GPSR3_12,
2254077365a9SGeert Uytterhoeven 		GP_3_11_FN,	GPSR3_11,
2255077365a9SGeert Uytterhoeven 		GP_3_10_FN,	GPSR3_10,
2256077365a9SGeert Uytterhoeven 		GP_3_9_FN,	GPSR3_9,
2257077365a9SGeert Uytterhoeven 		GP_3_8_FN,	GPSR3_8,
2258077365a9SGeert Uytterhoeven 		GP_3_7_FN,	GPSR3_7,
2259077365a9SGeert Uytterhoeven 		GP_3_6_FN,	GPSR3_6,
2260077365a9SGeert Uytterhoeven 		GP_3_5_FN,	GPSR3_5,
2261077365a9SGeert Uytterhoeven 		GP_3_4_FN,	GPSR3_4,
2262077365a9SGeert Uytterhoeven 		GP_3_3_FN,	GPSR3_3,
2263077365a9SGeert Uytterhoeven 		GP_3_2_FN,	GPSR3_2,
2264077365a9SGeert Uytterhoeven 		GP_3_1_FN,	GPSR3_1,
2265077365a9SGeert Uytterhoeven 		GP_3_0_FN,	GPSR3_0, ))
2266077365a9SGeert Uytterhoeven 	},
2267077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("GPSR4", 0xe6060110, 32, 1, GROUP(
2268077365a9SGeert Uytterhoeven 		0, 0,
2269077365a9SGeert Uytterhoeven 		0, 0,
2270077365a9SGeert Uytterhoeven 		0, 0,
2271077365a9SGeert Uytterhoeven 		0, 0,
2272077365a9SGeert Uytterhoeven 		0, 0,
2273077365a9SGeert Uytterhoeven 		0, 0,
2274077365a9SGeert Uytterhoeven 		0, 0,
2275077365a9SGeert Uytterhoeven 		0, 0,
2276077365a9SGeert Uytterhoeven 		0, 0,
2277077365a9SGeert Uytterhoeven 		0, 0,
2278077365a9SGeert Uytterhoeven 		0, 0,
2279077365a9SGeert Uytterhoeven 		0, 0,
2280077365a9SGeert Uytterhoeven 		0, 0,
2281077365a9SGeert Uytterhoeven 		0, 0,
2282077365a9SGeert Uytterhoeven 		0, 0,
2283077365a9SGeert Uytterhoeven 		0, 0,
2284077365a9SGeert Uytterhoeven 		0, 0,
2285077365a9SGeert Uytterhoeven 		0, 0,
2286077365a9SGeert Uytterhoeven 		0, 0,
2287077365a9SGeert Uytterhoeven 		0, 0,
2288077365a9SGeert Uytterhoeven 		0, 0,
2289077365a9SGeert Uytterhoeven 		0, 0,
2290077365a9SGeert Uytterhoeven 		0, 0,
2291077365a9SGeert Uytterhoeven 		0, 0,
2292077365a9SGeert Uytterhoeven 		0, 0,
2293077365a9SGeert Uytterhoeven 		0, 0,
2294077365a9SGeert Uytterhoeven 		GP_4_5_FN,	GPSR4_5,
2295077365a9SGeert Uytterhoeven 		GP_4_4_FN,	GPSR4_4,
2296077365a9SGeert Uytterhoeven 		GP_4_3_FN,	GPSR4_3,
2297077365a9SGeert Uytterhoeven 		GP_4_2_FN,	GPSR4_2,
2298077365a9SGeert Uytterhoeven 		GP_4_1_FN,	GPSR4_1,
2299077365a9SGeert Uytterhoeven 		GP_4_0_FN,	GPSR4_0, ))
2300077365a9SGeert Uytterhoeven 	},
2301077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("GPSR5", 0xe6060114, 32, 1, GROUP(
2302077365a9SGeert Uytterhoeven 		0, 0,
2303077365a9SGeert Uytterhoeven 		0, 0,
2304077365a9SGeert Uytterhoeven 		0, 0,
2305077365a9SGeert Uytterhoeven 		0, 0,
2306077365a9SGeert Uytterhoeven 		0, 0,
2307077365a9SGeert Uytterhoeven 		0, 0,
2308077365a9SGeert Uytterhoeven 		0, 0,
2309077365a9SGeert Uytterhoeven 		0, 0,
2310077365a9SGeert Uytterhoeven 		0, 0,
2311077365a9SGeert Uytterhoeven 		0, 0,
2312077365a9SGeert Uytterhoeven 		0, 0,
2313077365a9SGeert Uytterhoeven 		0, 0,
2314077365a9SGeert Uytterhoeven 		0, 0,
2315077365a9SGeert Uytterhoeven 		0, 0,
2316077365a9SGeert Uytterhoeven 		0, 0,
2317077365a9SGeert Uytterhoeven 		0, 0,
2318077365a9SGeert Uytterhoeven 		0, 0,
2319077365a9SGeert Uytterhoeven 		GP_5_14_FN,	GPSR5_14,
2320077365a9SGeert Uytterhoeven 		GP_5_13_FN,	GPSR5_13,
2321077365a9SGeert Uytterhoeven 		GP_5_12_FN,	GPSR5_12,
2322077365a9SGeert Uytterhoeven 		GP_5_11_FN,	GPSR5_11,
2323077365a9SGeert Uytterhoeven 		GP_5_10_FN,	GPSR5_10,
2324077365a9SGeert Uytterhoeven 		GP_5_9_FN,	GPSR5_9,
2325077365a9SGeert Uytterhoeven 		GP_5_8_FN,	GPSR5_8,
2326077365a9SGeert Uytterhoeven 		GP_5_7_FN,	GPSR5_7,
2327077365a9SGeert Uytterhoeven 		GP_5_6_FN,	GPSR5_6,
2328077365a9SGeert Uytterhoeven 		GP_5_5_FN,	GPSR5_5,
2329077365a9SGeert Uytterhoeven 		GP_5_4_FN,	GPSR5_4,
2330077365a9SGeert Uytterhoeven 		GP_5_3_FN,	GPSR5_3,
2331077365a9SGeert Uytterhoeven 		GP_5_2_FN,	GPSR5_2,
2332077365a9SGeert Uytterhoeven 		GP_5_1_FN,	GPSR5_1,
2333077365a9SGeert Uytterhoeven 		GP_5_0_FN,	GPSR5_0, ))
2334077365a9SGeert Uytterhoeven 	},
2335077365a9SGeert Uytterhoeven #undef F_
2336077365a9SGeert Uytterhoeven #undef FM
2337077365a9SGeert Uytterhoeven 
2338077365a9SGeert Uytterhoeven #define F_(x, y)	x,
2339077365a9SGeert Uytterhoeven #define FM(x)		FN_##x,
2340077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("IPSR0", 0xe6060200, 32, 4, GROUP(
2341077365a9SGeert Uytterhoeven 		IP0_31_28
2342077365a9SGeert Uytterhoeven 		IP0_27_24
2343077365a9SGeert Uytterhoeven 		IP0_23_20
2344077365a9SGeert Uytterhoeven 		IP0_19_16
2345077365a9SGeert Uytterhoeven 		IP0_15_12
2346077365a9SGeert Uytterhoeven 		IP0_11_8
2347077365a9SGeert Uytterhoeven 		IP0_7_4
2348077365a9SGeert Uytterhoeven 		IP0_3_0 ))
2349077365a9SGeert Uytterhoeven 	},
2350077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("IPSR1", 0xe6060204, 32, 4, GROUP(
2351077365a9SGeert Uytterhoeven 		IP1_31_28
2352077365a9SGeert Uytterhoeven 		IP1_27_24
2353077365a9SGeert Uytterhoeven 		IP1_23_20
2354077365a9SGeert Uytterhoeven 		IP1_19_16
2355077365a9SGeert Uytterhoeven 		IP1_15_12
2356077365a9SGeert Uytterhoeven 		IP1_11_8
2357077365a9SGeert Uytterhoeven 		IP1_7_4
2358077365a9SGeert Uytterhoeven 		IP1_3_0 ))
2359077365a9SGeert Uytterhoeven 	},
2360077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("IPSR2", 0xe6060208, 32, 4, GROUP(
2361077365a9SGeert Uytterhoeven 		IP2_31_28
2362077365a9SGeert Uytterhoeven 		IP2_27_24
2363077365a9SGeert Uytterhoeven 		IP2_23_20
2364077365a9SGeert Uytterhoeven 		IP2_19_16
2365077365a9SGeert Uytterhoeven 		IP2_15_12
2366077365a9SGeert Uytterhoeven 		IP2_11_8
2367077365a9SGeert Uytterhoeven 		IP2_7_4
2368077365a9SGeert Uytterhoeven 		IP2_3_0 ))
2369077365a9SGeert Uytterhoeven 	},
2370077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("IPSR3", 0xe606020c, 32, 4, GROUP(
2371077365a9SGeert Uytterhoeven 		IP3_31_28
2372077365a9SGeert Uytterhoeven 		IP3_27_24
2373077365a9SGeert Uytterhoeven 		IP3_23_20
2374077365a9SGeert Uytterhoeven 		IP3_19_16
2375077365a9SGeert Uytterhoeven 		IP3_15_12
2376077365a9SGeert Uytterhoeven 		IP3_11_8
2377077365a9SGeert Uytterhoeven 		IP3_7_4
2378077365a9SGeert Uytterhoeven 		IP3_3_0 ))
2379077365a9SGeert Uytterhoeven 	},
2380077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("IPSR4", 0xe6060210, 32, 4, GROUP(
2381077365a9SGeert Uytterhoeven 		IP4_31_28
2382077365a9SGeert Uytterhoeven 		IP4_27_24
2383077365a9SGeert Uytterhoeven 		IP4_23_20
2384077365a9SGeert Uytterhoeven 		IP4_19_16
2385077365a9SGeert Uytterhoeven 		IP4_15_12
2386077365a9SGeert Uytterhoeven 		IP4_11_8
2387077365a9SGeert Uytterhoeven 		IP4_7_4
2388077365a9SGeert Uytterhoeven 		IP4_3_0 ))
2389077365a9SGeert Uytterhoeven 	},
2390077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("IPSR5", 0xe6060214, 32, 4, GROUP(
2391077365a9SGeert Uytterhoeven 		IP5_31_28
2392077365a9SGeert Uytterhoeven 		IP5_27_24
2393077365a9SGeert Uytterhoeven 		IP5_23_20
2394077365a9SGeert Uytterhoeven 		IP5_19_16
2395077365a9SGeert Uytterhoeven 		IP5_15_12
2396077365a9SGeert Uytterhoeven 		IP5_11_8
2397077365a9SGeert Uytterhoeven 		IP5_7_4
2398077365a9SGeert Uytterhoeven 		IP5_3_0 ))
2399077365a9SGeert Uytterhoeven 	},
2400077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("IPSR6", 0xe6060218, 32, 4, GROUP(
2401077365a9SGeert Uytterhoeven 		IP6_31_28
2402077365a9SGeert Uytterhoeven 		IP6_27_24
2403077365a9SGeert Uytterhoeven 		IP6_23_20
2404077365a9SGeert Uytterhoeven 		IP6_19_16
2405077365a9SGeert Uytterhoeven 		IP6_15_12
2406077365a9SGeert Uytterhoeven 		IP6_11_8
2407077365a9SGeert Uytterhoeven 		IP6_7_4
2408077365a9SGeert Uytterhoeven 		IP6_3_0 ))
2409077365a9SGeert Uytterhoeven 	},
2410077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("IPSR7", 0xe606021c, 32, 4, GROUP(
2411077365a9SGeert Uytterhoeven 		IP7_31_28
2412077365a9SGeert Uytterhoeven 		IP7_27_24
2413077365a9SGeert Uytterhoeven 		IP7_23_20
2414077365a9SGeert Uytterhoeven 		IP7_19_16
2415077365a9SGeert Uytterhoeven 		IP7_15_12
2416077365a9SGeert Uytterhoeven 		IP7_11_8
2417077365a9SGeert Uytterhoeven 		IP7_7_4
2418077365a9SGeert Uytterhoeven 		IP7_3_0 ))
2419077365a9SGeert Uytterhoeven 	},
2420077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG("IPSR8", 0xe6060220, 32, 4, GROUP(
2421077365a9SGeert Uytterhoeven 		IP8_31_28
2422077365a9SGeert Uytterhoeven 		IP8_27_24
2423077365a9SGeert Uytterhoeven 		IP8_23_20
2424077365a9SGeert Uytterhoeven 		IP8_19_16
2425077365a9SGeert Uytterhoeven 		IP8_15_12
2426077365a9SGeert Uytterhoeven 		IP8_11_8
2427077365a9SGeert Uytterhoeven 		IP8_7_4
2428077365a9SGeert Uytterhoeven 		IP8_3_0 ))
2429077365a9SGeert Uytterhoeven 	},
2430077365a9SGeert Uytterhoeven #undef F_
2431077365a9SGeert Uytterhoeven #undef FM
2432077365a9SGeert Uytterhoeven 
2433077365a9SGeert Uytterhoeven #define F_(x, y)	x,
2434077365a9SGeert Uytterhoeven #define FM(x)		FN_##x,
2435077365a9SGeert Uytterhoeven 	{ PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32,
2436077365a9SGeert Uytterhoeven 			     GROUP(4, 4, 4, 4, 4, 1, 1, 1, 1, 1, 1, 1,
2437077365a9SGeert Uytterhoeven 				   1, 1, 1, 1, 1),
2438077365a9SGeert Uytterhoeven 			     GROUP(
2439077365a9SGeert Uytterhoeven 		/* RESERVED 31, 30, 29, 28 */
2440077365a9SGeert Uytterhoeven 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2441077365a9SGeert Uytterhoeven 		/* RESERVED 27, 26, 25, 24 */
2442077365a9SGeert Uytterhoeven 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2443077365a9SGeert Uytterhoeven 		/* RESERVED 23, 22, 21, 20 */
2444077365a9SGeert Uytterhoeven 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2445077365a9SGeert Uytterhoeven 		/* RESERVED 19, 18, 17, 16 */
2446077365a9SGeert Uytterhoeven 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2447077365a9SGeert Uytterhoeven 		/* RESERVED 15, 14, 13, 12 */
2448077365a9SGeert Uytterhoeven 		0, 0, 0, 0, 0, 0, 0, 0,	0, 0, 0, 0, 0, 0, 0, 0,
2449077365a9SGeert Uytterhoeven 		MOD_SEL0_11
2450077365a9SGeert Uytterhoeven 		MOD_SEL0_10
2451077365a9SGeert Uytterhoeven 		MOD_SEL0_9
2452077365a9SGeert Uytterhoeven 		MOD_SEL0_8
2453077365a9SGeert Uytterhoeven 		MOD_SEL0_7
2454077365a9SGeert Uytterhoeven 		MOD_SEL0_6
2455077365a9SGeert Uytterhoeven 		MOD_SEL0_5
2456077365a9SGeert Uytterhoeven 		MOD_SEL0_4
2457077365a9SGeert Uytterhoeven 		MOD_SEL0_3
2458077365a9SGeert Uytterhoeven 		MOD_SEL0_2
2459077365a9SGeert Uytterhoeven 		MOD_SEL0_1
2460077365a9SGeert Uytterhoeven 		MOD_SEL0_0 ))
2461077365a9SGeert Uytterhoeven 	},
2462077365a9SGeert Uytterhoeven 	{ },
2463077365a9SGeert Uytterhoeven };
2464077365a9SGeert Uytterhoeven 
2465077365a9SGeert Uytterhoeven enum ioctrl_regs {
2466077365a9SGeert Uytterhoeven 	POCCTRL0,
2467077365a9SGeert Uytterhoeven 	POCCTRL1,
2468077365a9SGeert Uytterhoeven 	POCCTRL2,
2469077365a9SGeert Uytterhoeven 	TDSELCTRL,
2470077365a9SGeert Uytterhoeven };
2471077365a9SGeert Uytterhoeven 
2472077365a9SGeert Uytterhoeven static const struct pinmux_ioctrl_reg pinmux_ioctrl_regs[] = {
2473077365a9SGeert Uytterhoeven 	[POCCTRL0] = { 0xe6060380 },
2474077365a9SGeert Uytterhoeven 	[POCCTRL1] = { 0xe6060384 },
2475077365a9SGeert Uytterhoeven 	[POCCTRL2] = { 0xe6060388 },
2476077365a9SGeert Uytterhoeven 	[TDSELCTRL] = { 0xe60603c0, },
2477077365a9SGeert Uytterhoeven 	{ /* sentinel */ },
2478077365a9SGeert Uytterhoeven };
2479077365a9SGeert Uytterhoeven 
2480077365a9SGeert Uytterhoeven static int r8a77970_pin_to_pocctrl(struct sh_pfc *pfc, unsigned int pin,
2481077365a9SGeert Uytterhoeven 				   u32 *pocctrl)
2482077365a9SGeert Uytterhoeven {
2483077365a9SGeert Uytterhoeven 	int bit = pin & 0x1f;
2484077365a9SGeert Uytterhoeven 
2485077365a9SGeert Uytterhoeven 	*pocctrl = pinmux_ioctrl_regs[POCCTRL0].reg;
2486077365a9SGeert Uytterhoeven 	if (pin >= RCAR_GP_PIN(0, 0) && pin <= RCAR_GP_PIN(0, 21))
2487077365a9SGeert Uytterhoeven 		return bit;
2488077365a9SGeert Uytterhoeven 	if (pin >= RCAR_GP_PIN(2, 0) && pin <= RCAR_GP_PIN(2, 9))
2489077365a9SGeert Uytterhoeven 		return bit + 22;
2490077365a9SGeert Uytterhoeven 
2491077365a9SGeert Uytterhoeven 	*pocctrl = pinmux_ioctrl_regs[POCCTRL1].reg;
2492077365a9SGeert Uytterhoeven 	if (pin >= RCAR_GP_PIN(2, 10) && pin <= RCAR_GP_PIN(2, 16))
2493077365a9SGeert Uytterhoeven 		return bit - 10;
2494077365a9SGeert Uytterhoeven 	if (pin >= RCAR_GP_PIN(3, 0) && pin <= RCAR_GP_PIN(3, 16))
2495077365a9SGeert Uytterhoeven 		return bit + 7;
2496077365a9SGeert Uytterhoeven 
2497077365a9SGeert Uytterhoeven 	return -EINVAL;
2498077365a9SGeert Uytterhoeven }
2499077365a9SGeert Uytterhoeven 
2500077365a9SGeert Uytterhoeven static const struct sh_pfc_soc_operations pinmux_ops = {
2501077365a9SGeert Uytterhoeven 	.pin_to_pocctrl = r8a77970_pin_to_pocctrl,
2502077365a9SGeert Uytterhoeven };
2503077365a9SGeert Uytterhoeven 
2504077365a9SGeert Uytterhoeven const struct sh_pfc_soc_info r8a77970_pinmux_info = {
2505077365a9SGeert Uytterhoeven 	.name = "r8a77970_pfc",
2506077365a9SGeert Uytterhoeven 	.ops = &pinmux_ops,
2507077365a9SGeert Uytterhoeven 	.unlock_reg = 0xe6060000, /* PMMR */
2508077365a9SGeert Uytterhoeven 
2509077365a9SGeert Uytterhoeven 	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2510077365a9SGeert Uytterhoeven 
2511077365a9SGeert Uytterhoeven 	.pins = pinmux_pins,
2512077365a9SGeert Uytterhoeven 	.nr_pins = ARRAY_SIZE(pinmux_pins),
2513077365a9SGeert Uytterhoeven 	.groups = pinmux_groups,
2514077365a9SGeert Uytterhoeven 	.nr_groups = ARRAY_SIZE(pinmux_groups),
2515077365a9SGeert Uytterhoeven 	.functions = pinmux_functions,
2516077365a9SGeert Uytterhoeven 	.nr_functions = ARRAY_SIZE(pinmux_functions),
2517077365a9SGeert Uytterhoeven 
2518077365a9SGeert Uytterhoeven 	.cfg_regs = pinmux_config_regs,
2519077365a9SGeert Uytterhoeven 	.ioctrl_regs = pinmux_ioctrl_regs,
2520077365a9SGeert Uytterhoeven 
2521077365a9SGeert Uytterhoeven 	.pinmux_data = pinmux_data,
2522077365a9SGeert Uytterhoeven 	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
2523077365a9SGeert Uytterhoeven };
2524