162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci/*
362306a36Sopenharmony_ci * R8A77995 processor support - PFC hardware block.
462306a36Sopenharmony_ci *
562306a36Sopenharmony_ci * Copyright (C) 2017 Renesas Electronics Corp.
662306a36Sopenharmony_ci *
762306a36Sopenharmony_ci * This file is based on the drivers/pinctrl/renesas/pfc-r8a7796.c
862306a36Sopenharmony_ci *
962306a36Sopenharmony_ci * R-Car Gen3 processor support - PFC hardware block.
1062306a36Sopenharmony_ci *
1162306a36Sopenharmony_ci * Copyright (C) 2015  Renesas Electronics Corporation
1262306a36Sopenharmony_ci */
1362306a36Sopenharmony_ci
1462306a36Sopenharmony_ci#include <linux/errno.h>
1562306a36Sopenharmony_ci#include <linux/kernel.h>
1662306a36Sopenharmony_ci
1762306a36Sopenharmony_ci#include "core.h"
1862306a36Sopenharmony_ci#include "sh_pfc.h"
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci#define CPU_ALL_GP(fn, sfx)						\
2162306a36Sopenharmony_ci	PORT_GP_CFG_9(0,  fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
2262306a36Sopenharmony_ci	PORT_GP_CFG_32(1, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
2362306a36Sopenharmony_ci	PORT_GP_CFG_32(2, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
2462306a36Sopenharmony_ci	PORT_GP_CFG_10(3, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE_18_33 | SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
2562306a36Sopenharmony_ci	PORT_GP_CFG_32(4, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
2662306a36Sopenharmony_ci	PORT_GP_CFG_21(5, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
2762306a36Sopenharmony_ci	PORT_GP_CFG_14(6, fn, sfx, SH_PFC_PIN_CFG_PULL_UP_DOWN)
2862306a36Sopenharmony_ci
2962306a36Sopenharmony_ci#define CPU_ALL_NOGP(fn)						\
3062306a36Sopenharmony_ci	PIN_NOGP_CFG(DU_DOTCLKIN0, "DU_DOTCLKIN0", fn, SH_PFC_PIN_CFG_PULL_DOWN),	\
3162306a36Sopenharmony_ci	PIN_NOGP_CFG(FSCLKST_N, "FSCLKST#", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
3262306a36Sopenharmony_ci	PIN_NOGP_CFG(MLB_REF, "MLB_REF", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
3362306a36Sopenharmony_ci	PIN_NOGP_CFG(PRESETOUT_N, "PRESETOUT#", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN),	\
3462306a36Sopenharmony_ci	PIN_NOGP_CFG(TCK, "TCK", fn, SH_PFC_PIN_CFG_PULL_UP),		\
3562306a36Sopenharmony_ci	PIN_NOGP_CFG(TDI, "TDI", fn, SH_PFC_PIN_CFG_PULL_UP),		\
3662306a36Sopenharmony_ci	PIN_NOGP_CFG(TMS, "TMS", fn, SH_PFC_PIN_CFG_PULL_UP),		\
3762306a36Sopenharmony_ci	PIN_NOGP_CFG(TRST_N, "TRST#", fn, SH_PFC_PIN_CFG_PULL_UP),	\
3862306a36Sopenharmony_ci	PIN_NOGP_CFG(VDDQ_AVB0, "VDDQ_AVB0", fn, SH_PFC_PIN_CFG_IO_VOLTAGE_25_33)
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci/*
4162306a36Sopenharmony_ci * F_() : just information
4262306a36Sopenharmony_ci * FM() : macro for FN_xxx / xxx_MARK
4362306a36Sopenharmony_ci */
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci/* GPSR0 */
4662306a36Sopenharmony_ci#define GPSR0_8		F_(MLB_SIG,		IP0_27_24)
4762306a36Sopenharmony_ci#define GPSR0_7		F_(MLB_DAT,		IP0_23_20)
4862306a36Sopenharmony_ci#define GPSR0_6		F_(MLB_CLK,		IP0_19_16)
4962306a36Sopenharmony_ci#define GPSR0_5		F_(MSIOF2_RXD,		IP0_15_12)
5062306a36Sopenharmony_ci#define GPSR0_4		F_(MSIOF2_TXD,		IP0_11_8)
5162306a36Sopenharmony_ci#define GPSR0_3		F_(MSIOF2_SCK,		IP0_7_4)
5262306a36Sopenharmony_ci#define GPSR0_2		F_(IRQ0_A,		IP0_3_0)
5362306a36Sopenharmony_ci#define GPSR0_1		FM(USB0_OVC)
5462306a36Sopenharmony_ci#define GPSR0_0		FM(USB0_PWEN)
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ci/* GPSR1 */
5762306a36Sopenharmony_ci#define GPSR1_31	F_(QPOLB,		IP4_27_24)
5862306a36Sopenharmony_ci#define GPSR1_30	F_(QPOLA,		IP4_23_20)
5962306a36Sopenharmony_ci#define GPSR1_29	F_(DU_CDE,		IP4_19_16)
6062306a36Sopenharmony_ci#define GPSR1_28	F_(DU_DISP_CDE,		IP4_15_12)
6162306a36Sopenharmony_ci#define GPSR1_27	F_(DU_DISP,		IP4_11_8)
6262306a36Sopenharmony_ci#define GPSR1_26	F_(DU_VSYNC,		IP4_7_4)
6362306a36Sopenharmony_ci#define GPSR1_25	F_(DU_HSYNC,		IP4_3_0)
6462306a36Sopenharmony_ci#define GPSR1_24	F_(DU_DOTCLKOUT0,	IP3_31_28)
6562306a36Sopenharmony_ci#define GPSR1_23	F_(DU_DR7,		IP3_27_24)
6662306a36Sopenharmony_ci#define GPSR1_22	F_(DU_DR6,		IP3_23_20)
6762306a36Sopenharmony_ci#define GPSR1_21	F_(DU_DR5,		IP3_19_16)
6862306a36Sopenharmony_ci#define GPSR1_20	F_(DU_DR4,		IP3_15_12)
6962306a36Sopenharmony_ci#define GPSR1_19	F_(DU_DR3,		IP3_11_8)
7062306a36Sopenharmony_ci#define GPSR1_18	F_(DU_DR2,		IP3_7_4)
7162306a36Sopenharmony_ci#define GPSR1_17	F_(DU_DR1,		IP3_3_0)
7262306a36Sopenharmony_ci#define GPSR1_16	F_(DU_DR0,		IP2_31_28)
7362306a36Sopenharmony_ci#define GPSR1_15	F_(DU_DG7,		IP2_27_24)
7462306a36Sopenharmony_ci#define GPSR1_14	F_(DU_DG6,		IP2_23_20)
7562306a36Sopenharmony_ci#define GPSR1_13	F_(DU_DG5,		IP2_19_16)
7662306a36Sopenharmony_ci#define GPSR1_12	F_(DU_DG4,		IP2_15_12)
7762306a36Sopenharmony_ci#define GPSR1_11	F_(DU_DG3,		IP2_11_8)
7862306a36Sopenharmony_ci#define GPSR1_10	F_(DU_DG2,		IP2_7_4)
7962306a36Sopenharmony_ci#define GPSR1_9		F_(DU_DG1,		IP2_3_0)
8062306a36Sopenharmony_ci#define GPSR1_8		F_(DU_DG0,		IP1_31_28)
8162306a36Sopenharmony_ci#define GPSR1_7		F_(DU_DB7,		IP1_27_24)
8262306a36Sopenharmony_ci#define GPSR1_6		F_(DU_DB6,		IP1_23_20)
8362306a36Sopenharmony_ci#define GPSR1_5		F_(DU_DB5,		IP1_19_16)
8462306a36Sopenharmony_ci#define GPSR1_4		F_(DU_DB4,		IP1_15_12)
8562306a36Sopenharmony_ci#define GPSR1_3		F_(DU_DB3,		IP1_11_8)
8662306a36Sopenharmony_ci#define GPSR1_2		F_(DU_DB2,		IP1_7_4)
8762306a36Sopenharmony_ci#define GPSR1_1		F_(DU_DB1,		IP1_3_0)
8862306a36Sopenharmony_ci#define GPSR1_0		F_(DU_DB0,		IP0_31_28)
8962306a36Sopenharmony_ci
9062306a36Sopenharmony_ci/* GPSR2 */
9162306a36Sopenharmony_ci#define GPSR2_31	F_(NFCE_N,		IP8_19_16)
9262306a36Sopenharmony_ci#define GPSR2_30	F_(NFCLE,		IP8_15_12)
9362306a36Sopenharmony_ci#define GPSR2_29	F_(NFALE,		IP8_11_8)
9462306a36Sopenharmony_ci#define GPSR2_28	F_(VI4_CLKENB,		IP8_7_4)
9562306a36Sopenharmony_ci#define GPSR2_27	F_(VI4_FIELD,		IP8_3_0)
9662306a36Sopenharmony_ci#define GPSR2_26	F_(VI4_HSYNC_N,		IP7_31_28)
9762306a36Sopenharmony_ci#define GPSR2_25	F_(VI4_VSYNC_N,		IP7_27_24)
9862306a36Sopenharmony_ci#define GPSR2_24	F_(VI4_DATA23,		IP7_23_20)
9962306a36Sopenharmony_ci#define GPSR2_23	F_(VI4_DATA22,		IP7_19_16)
10062306a36Sopenharmony_ci#define GPSR2_22	F_(VI4_DATA21,		IP7_15_12)
10162306a36Sopenharmony_ci#define GPSR2_21	F_(VI4_DATA20,		IP7_11_8)
10262306a36Sopenharmony_ci#define GPSR2_20	F_(VI4_DATA19,		IP7_7_4)
10362306a36Sopenharmony_ci#define GPSR2_19	F_(VI4_DATA18,		IP7_3_0)
10462306a36Sopenharmony_ci#define GPSR2_18	F_(VI4_DATA17,		IP6_31_28)
10562306a36Sopenharmony_ci#define GPSR2_17	F_(VI4_DATA16,		IP6_27_24)
10662306a36Sopenharmony_ci#define GPSR2_16	F_(VI4_DATA15,		IP6_23_20)
10762306a36Sopenharmony_ci#define GPSR2_15	F_(VI4_DATA14,		IP6_19_16)
10862306a36Sopenharmony_ci#define GPSR2_14	F_(VI4_DATA13,		IP6_15_12)
10962306a36Sopenharmony_ci#define GPSR2_13	F_(VI4_DATA12,		IP6_11_8)
11062306a36Sopenharmony_ci#define GPSR2_12	F_(VI4_DATA11,		IP6_7_4)
11162306a36Sopenharmony_ci#define GPSR2_11	F_(VI4_DATA10,		IP6_3_0)
11262306a36Sopenharmony_ci#define GPSR2_10	F_(VI4_DATA9,		IP5_31_28)
11362306a36Sopenharmony_ci#define GPSR2_9		F_(VI4_DATA8,		IP5_27_24)
11462306a36Sopenharmony_ci#define GPSR2_8		F_(VI4_DATA7,		IP5_23_20)
11562306a36Sopenharmony_ci#define GPSR2_7		F_(VI4_DATA6,		IP5_19_16)
11662306a36Sopenharmony_ci#define GPSR2_6		F_(VI4_DATA5,		IP5_15_12)
11762306a36Sopenharmony_ci#define GPSR2_5		FM(VI4_DATA4)
11862306a36Sopenharmony_ci#define GPSR2_4		F_(VI4_DATA3,		IP5_11_8)
11962306a36Sopenharmony_ci#define GPSR2_3		F_(VI4_DATA2,		IP5_7_4)
12062306a36Sopenharmony_ci#define GPSR2_2		F_(VI4_DATA1,		IP5_3_0)
12162306a36Sopenharmony_ci#define GPSR2_1		F_(VI4_DATA0,		IP4_31_28)
12262306a36Sopenharmony_ci#define GPSR2_0		FM(VI4_CLK)
12362306a36Sopenharmony_ci
12462306a36Sopenharmony_ci/* GPSR3 */
12562306a36Sopenharmony_ci#define GPSR3_9		F_(NFDATA7,		IP9_31_28)
12662306a36Sopenharmony_ci#define GPSR3_8		F_(NFDATA6,		IP9_27_24)
12762306a36Sopenharmony_ci#define GPSR3_7		F_(NFDATA5,		IP9_23_20)
12862306a36Sopenharmony_ci#define GPSR3_6		F_(NFDATA4,		IP9_19_16)
12962306a36Sopenharmony_ci#define GPSR3_5		F_(NFDATA3,		IP9_15_12)
13062306a36Sopenharmony_ci#define GPSR3_4		F_(NFDATA2,		IP9_11_8)
13162306a36Sopenharmony_ci#define GPSR3_3		F_(NFDATA1,		IP9_7_4)
13262306a36Sopenharmony_ci#define GPSR3_2		F_(NFDATA0,		IP9_3_0)
13362306a36Sopenharmony_ci#define GPSR3_1		F_(NFWE_N,		IP8_31_28)
13462306a36Sopenharmony_ci#define GPSR3_0		F_(NFRE_N,		IP8_27_24)
13562306a36Sopenharmony_ci
13662306a36Sopenharmony_ci/* GPSR4 */
13762306a36Sopenharmony_ci#define GPSR4_31	F_(CAN0_RX_A,		IP12_27_24)
13862306a36Sopenharmony_ci#define GPSR4_30	F_(CAN1_TX_A,		IP13_7_4)
13962306a36Sopenharmony_ci#define GPSR4_29	F_(CAN1_RX_A,		IP13_3_0)
14062306a36Sopenharmony_ci#define GPSR4_28	F_(CAN0_TX_A,		IP12_31_28)
14162306a36Sopenharmony_ci#define GPSR4_27	FM(TX2)
14262306a36Sopenharmony_ci#define GPSR4_26	FM(RX2)
14362306a36Sopenharmony_ci#define GPSR4_25	F_(SCK2,		IP12_11_8)
14462306a36Sopenharmony_ci#define GPSR4_24	F_(TX1_A,		IP12_7_4)
14562306a36Sopenharmony_ci#define GPSR4_23	F_(RX1_A,		IP12_3_0)
14662306a36Sopenharmony_ci#define GPSR4_22	F_(SCK1_A,		IP11_31_28)
14762306a36Sopenharmony_ci#define GPSR4_21	F_(TX0_A,		IP11_27_24)
14862306a36Sopenharmony_ci#define GPSR4_20	F_(RX0_A,		IP11_23_20)
14962306a36Sopenharmony_ci#define GPSR4_19	F_(SCK0_A,		IP11_19_16)
15062306a36Sopenharmony_ci#define GPSR4_18	F_(MSIOF1_RXD,		IP11_15_12)
15162306a36Sopenharmony_ci#define GPSR4_17	F_(MSIOF1_TXD,		IP11_11_8)
15262306a36Sopenharmony_ci#define GPSR4_16	F_(MSIOF1_SCK,		IP11_7_4)
15362306a36Sopenharmony_ci#define GPSR4_15	FM(MSIOF0_RXD)
15462306a36Sopenharmony_ci#define GPSR4_14	FM(MSIOF0_TXD)
15562306a36Sopenharmony_ci#define GPSR4_13	FM(MSIOF0_SYNC)
15662306a36Sopenharmony_ci#define GPSR4_12	FM(MSIOF0_SCK)
15762306a36Sopenharmony_ci#define GPSR4_11	F_(SDA1,		IP11_3_0)
15862306a36Sopenharmony_ci#define GPSR4_10	F_(SCL1,		IP10_31_28)
15962306a36Sopenharmony_ci#define GPSR4_9		FM(SDA0)
16062306a36Sopenharmony_ci#define GPSR4_8		FM(SCL0)
16162306a36Sopenharmony_ci#define GPSR4_7		F_(SSI_WS4_A,		IP10_27_24)
16262306a36Sopenharmony_ci#define GPSR4_6		F_(SSI_SDATA4_A,	IP10_23_20)
16362306a36Sopenharmony_ci#define GPSR4_5		F_(SSI_SCK4_A,		IP10_19_16)
16462306a36Sopenharmony_ci#define GPSR4_4		F_(SSI_WS34,		IP10_15_12)
16562306a36Sopenharmony_ci#define GPSR4_3		F_(SSI_SDATA3,		IP10_11_8)
16662306a36Sopenharmony_ci#define GPSR4_2		F_(SSI_SCK34,		IP10_7_4)
16762306a36Sopenharmony_ci#define GPSR4_1		F_(AUDIO_CLKA,		IP10_3_0)
16862306a36Sopenharmony_ci#define GPSR4_0		F_(NFRB_N,		IP8_23_20)
16962306a36Sopenharmony_ci
17062306a36Sopenharmony_ci/* GPSR5 */
17162306a36Sopenharmony_ci#define GPSR5_20	FM(AVB0_LINK)
17262306a36Sopenharmony_ci#define GPSR5_19	FM(AVB0_PHY_INT)
17362306a36Sopenharmony_ci#define GPSR5_18	FM(AVB0_MAGIC)
17462306a36Sopenharmony_ci#define GPSR5_17	FM(AVB0_MDC)
17562306a36Sopenharmony_ci#define GPSR5_16	FM(AVB0_MDIO)
17662306a36Sopenharmony_ci#define GPSR5_15	FM(AVB0_TXCREFCLK)
17762306a36Sopenharmony_ci#define GPSR5_14	FM(AVB0_TD3)
17862306a36Sopenharmony_ci#define GPSR5_13	FM(AVB0_TD2)
17962306a36Sopenharmony_ci#define GPSR5_12	FM(AVB0_TD1)
18062306a36Sopenharmony_ci#define GPSR5_11	FM(AVB0_TD0)
18162306a36Sopenharmony_ci#define GPSR5_10	FM(AVB0_TXC)
18262306a36Sopenharmony_ci#define GPSR5_9		FM(AVB0_TX_CTL)
18362306a36Sopenharmony_ci#define GPSR5_8		FM(AVB0_RD3)
18462306a36Sopenharmony_ci#define GPSR5_7		FM(AVB0_RD2)
18562306a36Sopenharmony_ci#define GPSR5_6		FM(AVB0_RD1)
18662306a36Sopenharmony_ci#define GPSR5_5		FM(AVB0_RD0)
18762306a36Sopenharmony_ci#define GPSR5_4		FM(AVB0_RXC)
18862306a36Sopenharmony_ci#define GPSR5_3		FM(AVB0_RX_CTL)
18962306a36Sopenharmony_ci#define GPSR5_2		F_(CAN_CLK,		IP12_23_20)
19062306a36Sopenharmony_ci#define GPSR5_1		F_(TPU0TO1_A,		IP12_19_16)
19162306a36Sopenharmony_ci#define GPSR5_0		F_(TPU0TO0_A,		IP12_15_12)
19262306a36Sopenharmony_ci
19362306a36Sopenharmony_ci/* GPSR6 */
19462306a36Sopenharmony_ci#define GPSR6_13	FM(RPC_INT_N)
19562306a36Sopenharmony_ci#define GPSR6_12	FM(RPC_RESET_N)
19662306a36Sopenharmony_ci#define GPSR6_11	FM(QSPI1_SSL)
19762306a36Sopenharmony_ci#define GPSR6_10	FM(QSPI1_IO3)
19862306a36Sopenharmony_ci#define GPSR6_9		FM(QSPI1_IO2)
19962306a36Sopenharmony_ci#define GPSR6_8		FM(QSPI1_MISO_IO1)
20062306a36Sopenharmony_ci#define GPSR6_7		FM(QSPI1_MOSI_IO0)
20162306a36Sopenharmony_ci#define GPSR6_6		FM(QSPI1_SPCLK)
20262306a36Sopenharmony_ci#define GPSR6_5		FM(QSPI0_SSL)
20362306a36Sopenharmony_ci#define GPSR6_4		FM(QSPI0_IO3)
20462306a36Sopenharmony_ci#define GPSR6_3		FM(QSPI0_IO2)
20562306a36Sopenharmony_ci#define GPSR6_2		FM(QSPI0_MISO_IO1)
20662306a36Sopenharmony_ci#define GPSR6_1		FM(QSPI0_MOSI_IO0)
20762306a36Sopenharmony_ci#define GPSR6_0		FM(QSPI0_SPCLK)
20862306a36Sopenharmony_ci
20962306a36Sopenharmony_ci/* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */		/* 4 */			/* 5 */		/* 6  - F */
21062306a36Sopenharmony_ci#define IP0_3_0		FM(IRQ0_A)		FM(MSIOF2_SYNC_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
21162306a36Sopenharmony_ci#define IP0_7_4		FM(MSIOF2_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) F_(0, 0)
21262306a36Sopenharmony_ci#define IP0_11_8	FM(MSIOF2_TXD)		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) F_(0, 0)
21362306a36Sopenharmony_ci#define IP0_15_12	FM(MSIOF2_RXD)		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) F_(0, 0)
21462306a36Sopenharmony_ci#define IP0_19_16	FM(MLB_CLK)		FM(MSIOF2_SYNC_A)	FM(SCK5_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)
21562306a36Sopenharmony_ci#define IP0_23_20	FM(MLB_DAT)		FM(MSIOF2_SS1)		FM(RX5_A)		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) F_(0, 0) F_(0, 0)
21662306a36Sopenharmony_ci#define IP0_27_24	FM(MLB_SIG)		FM(MSIOF2_SS2)		FM(TX5_A)		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) F_(0, 0) F_(0, 0)
21762306a36Sopenharmony_ci#define IP0_31_28	FM(DU_DB0)		FM(LCDOUT0)		FM(MSIOF3_TXD_B)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
21862306a36Sopenharmony_ci#define IP1_3_0		FM(DU_DB1)		FM(LCDOUT1)		FM(MSIOF3_RXD_B)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
21962306a36Sopenharmony_ci#define IP1_7_4		FM(DU_DB2)		FM(LCDOUT2)		FM(IRQ0_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
22062306a36Sopenharmony_ci#define IP1_11_8	FM(DU_DB3)		FM(LCDOUT3)		FM(SCK5_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
22162306a36Sopenharmony_ci#define IP1_15_12	FM(DU_DB4)		FM(LCDOUT4)		FM(RX5_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
22262306a36Sopenharmony_ci#define IP1_19_16	FM(DU_DB5)		FM(LCDOUT5)		FM(TX5_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
22362306a36Sopenharmony_ci#define IP1_23_20	FM(DU_DB6)		FM(LCDOUT6)		FM(MSIOF3_SS1_B)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
22462306a36Sopenharmony_ci#define IP1_27_24	FM(DU_DB7)		FM(LCDOUT7)		FM(MSIOF3_SS2_B)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
22562306a36Sopenharmony_ci#define IP1_31_28	FM(DU_DG0)		FM(LCDOUT8)		FM(MSIOF3_SCK_B)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
22662306a36Sopenharmony_ci#define IP2_3_0		FM(DU_DG1)		FM(LCDOUT9)		FM(MSIOF3_SYNC_B)	F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
22762306a36Sopenharmony_ci#define IP2_7_4		FM(DU_DG2)		FM(LCDOUT10)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
22862306a36Sopenharmony_ci#define IP2_11_8	FM(DU_DG3)		FM(LCDOUT11)		FM(IRQ1_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)
22962306a36Sopenharmony_ci#define IP2_15_12	FM(DU_DG4)		FM(LCDOUT12)		FM(HSCK3_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23062306a36Sopenharmony_ci#define IP2_19_16	FM(DU_DG5)		FM(LCDOUT13)		FM(HTX3_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23162306a36Sopenharmony_ci#define IP2_23_20	FM(DU_DG6)		FM(LCDOUT14)		FM(HRX3_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23262306a36Sopenharmony_ci#define IP2_27_24	FM(DU_DG7)		FM(LCDOUT15)		FM(SCK4_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23362306a36Sopenharmony_ci#define IP2_31_28	FM(DU_DR0)		FM(LCDOUT16)		FM(RX4_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23462306a36Sopenharmony_ci#define IP3_3_0		FM(DU_DR1)		FM(LCDOUT17)		FM(TX4_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23562306a36Sopenharmony_ci#define IP3_7_4		FM(DU_DR2)		FM(LCDOUT18)		FM(PWM0_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23662306a36Sopenharmony_ci#define IP3_11_8	FM(DU_DR3)		FM(LCDOUT19)		FM(PWM1_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23762306a36Sopenharmony_ci#define IP3_15_12	FM(DU_DR4)		FM(LCDOUT20)		FM(TCLK2_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23862306a36Sopenharmony_ci#define IP3_19_16	FM(DU_DR5)		FM(LCDOUT21)		FM(NMI)			F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
23962306a36Sopenharmony_ci#define IP3_23_20	FM(DU_DR6)		FM(LCDOUT22)		FM(PWM2_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
24062306a36Sopenharmony_ci#define IP3_27_24	FM(DU_DR7)		FM(LCDOUT23)		FM(TCLK1_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
24162306a36Sopenharmony_ci#define IP3_31_28	FM(DU_DOTCLKOUT0)	FM(QCLK)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
24262306a36Sopenharmony_ci
24362306a36Sopenharmony_ci/* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */		/* 4 */			/* 5 */		/* 6  - F */
24462306a36Sopenharmony_ci#define IP4_3_0		FM(DU_HSYNC)		FM(QSTH_QHS)		FM(IRQ3_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)
24562306a36Sopenharmony_ci#define IP4_7_4		FM(DU_VSYNC)		FM(QSTVA_QVS)		FM(IRQ4_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)
24662306a36Sopenharmony_ci#define IP4_11_8	FM(DU_DISP)		FM(QSTVB_QVE)		FM(PWM3_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
24762306a36Sopenharmony_ci#define IP4_15_12	FM(DU_DISP_CDE)		FM(QCPV_QDE)		FM(IRQ2_B)		FM(DU_DOTCLKIN1)F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
24862306a36Sopenharmony_ci#define IP4_19_16	FM(DU_CDE)		FM(QSTB_QHE)		FM(SCK3_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
24962306a36Sopenharmony_ci#define IP4_23_20	FM(QPOLA)		F_(0, 0)		FM(RX3_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25062306a36Sopenharmony_ci#define IP4_27_24	FM(QPOLB)		F_(0, 0)		FM(TX3_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25162306a36Sopenharmony_ci#define IP4_31_28	FM(VI4_DATA0)		FM(PWM0_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25262306a36Sopenharmony_ci#define IP5_3_0		FM(VI4_DATA1)		FM(PWM1_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25362306a36Sopenharmony_ci#define IP5_7_4		FM(VI4_DATA2)		FM(PWM2_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25462306a36Sopenharmony_ci#define IP5_11_8	FM(VI4_DATA3)		FM(PWM3_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25562306a36Sopenharmony_ci#define IP5_15_12	FM(VI4_DATA5)		FM(SCK4_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25662306a36Sopenharmony_ci#define IP5_19_16	FM(VI4_DATA6)		FM(IRQ2_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25762306a36Sopenharmony_ci#define IP5_23_20	FM(VI4_DATA7)		FM(TCLK2_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25862306a36Sopenharmony_ci#define IP5_27_24	FM(VI4_DATA8)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
25962306a36Sopenharmony_ci#define IP5_31_28	FM(VI4_DATA9)		FM(MSIOF3_SS2_A)	FM(IRQ1_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
26062306a36Sopenharmony_ci#define IP6_3_0		FM(VI4_DATA10)		FM(RX4_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
26162306a36Sopenharmony_ci#define IP6_7_4		FM(VI4_DATA11)		FM(TX4_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
26262306a36Sopenharmony_ci#define IP6_11_8	FM(VI4_DATA12)		FM(TCLK1_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
26362306a36Sopenharmony_ci#define IP6_15_12	FM(VI4_DATA13)		FM(MSIOF3_SS1_A)	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) F_(0, 0) F_(0, 0)
26462306a36Sopenharmony_ci#define IP6_19_16	FM(VI4_DATA14)		FM(SSI_SCK4_B)		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) F_(0, 0) F_(0, 0)
26562306a36Sopenharmony_ci#define IP6_23_20	FM(VI4_DATA15)		FM(SSI_SDATA4_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
26662306a36Sopenharmony_ci#define IP6_27_24	FM(VI4_DATA16)		FM(HRX3_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
26762306a36Sopenharmony_ci#define IP6_31_28	FM(VI4_DATA17)		FM(HTX3_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
26862306a36Sopenharmony_ci#define IP7_3_0		FM(VI4_DATA18)		FM(HSCK3_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
26962306a36Sopenharmony_ci#define IP7_7_4		FM(VI4_DATA19)		FM(SSI_WS4_B)		F_(0, 0)		F_(0, 0)	FM(NFDATA15)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
27062306a36Sopenharmony_ci#define IP7_11_8	FM(VI4_DATA20)		FM(MSIOF3_SYNC_A)	F_(0, 0)		F_(0, 0)	FM(NFDATA14)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
27162306a36Sopenharmony_ci#define IP7_15_12	FM(VI4_DATA21)		FM(MSIOF3_TXD_A)	F_(0, 0)		F_(0, 0)	FM(NFDATA13)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
27262306a36Sopenharmony_ci#define IP7_19_16	FM(VI4_DATA22)		FM(MSIOF3_RXD_A)	F_(0, 0)		F_(0, 0)	FM(NFDATA12)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
27362306a36Sopenharmony_ci#define IP7_23_20	FM(VI4_DATA23)		FM(MSIOF3_SCK_A)	F_(0, 0)		F_(0, 0)	FM(NFDATA11)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
27462306a36Sopenharmony_ci#define IP7_27_24	FM(VI4_VSYNC_N)		FM(SCK1_B)		F_(0, 0)		F_(0, 0)	FM(NFDATA10)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
27562306a36Sopenharmony_ci#define IP7_31_28	FM(VI4_HSYNC_N)		FM(RX1_B)		F_(0, 0)		F_(0, 0)	FM(NFDATA9)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
27662306a36Sopenharmony_ci
27762306a36Sopenharmony_ci/* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */		/* 4 */			/* 5 */		/* 6  - F */
27862306a36Sopenharmony_ci#define IP8_3_0		FM(VI4_FIELD)		FM(AUDIO_CLKB)		FM(IRQ5_A)		FM(SCIF_CLK)	FM(NFDATA8)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
27962306a36Sopenharmony_ci#define IP8_7_4		FM(VI4_CLKENB)		FM(TX1_B)		F_(0, 0)		F_(0, 0)	FM(NFWP_N)		FM(DVC_MUTE_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)
28062306a36Sopenharmony_ci#define IP8_11_8	FM(NFALE)		FM(SCL2_B)		FM(IRQ3_B)		FM(PWM0_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) F_(0, 0)
28162306a36Sopenharmony_ci#define IP8_15_12	FM(NFCLE)		FM(SDA2_B)		FM(SCK3_A)		FM(PWM1_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) F_(0, 0)
28262306a36Sopenharmony_ci#define IP8_19_16	FM(NFCE_N)		F_(0, 0)		FM(RX3_A)		FM(PWM2_C)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
28362306a36Sopenharmony_ci#define IP8_23_20	FM(NFRB_N)		F_(0, 0)		FM(TX3_A)		FM(PWM3_C)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
28462306a36Sopenharmony_ci#define IP8_27_24	FM(NFRE_N)		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) F_(0, 0) F_(0, 0) F_(0, 0)
28562306a36Sopenharmony_ci#define IP8_31_28	FM(NFWE_N)		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) F_(0, 0) F_(0, 0) F_(0, 0)
28662306a36Sopenharmony_ci#define IP9_3_0		FM(NFDATA0)		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) F_(0, 0) F_(0, 0) F_(0, 0)
28762306a36Sopenharmony_ci#define IP9_7_4		FM(NFDATA1)		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) F_(0, 0) F_(0, 0) F_(0, 0)
28862306a36Sopenharmony_ci#define IP9_11_8	FM(NFDATA2)		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) F_(0, 0) F_(0, 0) F_(0, 0)
28962306a36Sopenharmony_ci#define IP9_15_12	FM(NFDATA3)		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) F_(0, 0) F_(0, 0) F_(0, 0)
29062306a36Sopenharmony_ci#define IP9_19_16	FM(NFDATA4)		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) F_(0, 0) F_(0, 0) F_(0, 0)
29162306a36Sopenharmony_ci#define IP9_23_20	FM(NFDATA5)		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) F_(0, 0) F_(0, 0) F_(0, 0)
29262306a36Sopenharmony_ci#define IP9_27_24	FM(NFDATA6)		FM(MMC_D6)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
29362306a36Sopenharmony_ci#define IP9_31_28	FM(NFDATA7)		FM(MMC_D7)		F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
29462306a36Sopenharmony_ci#define IP10_3_0	FM(AUDIO_CLKA)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)		FM(DVC_MUTE_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)
29562306a36Sopenharmony_ci#define IP10_7_4	FM(SSI_SCK34)		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) F_(0, 0) F_(0, 0) F_(0, 0)
29662306a36Sopenharmony_ci#define IP10_11_8	FM(SSI_SDATA3)		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) F_(0, 0) F_(0, 0) F_(0, 0)
29762306a36Sopenharmony_ci#define IP10_15_12	FM(SSI_WS34)		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) F_(0, 0) F_(0, 0) F_(0, 0)
29862306a36Sopenharmony_ci#define IP10_19_16	FM(SSI_SCK4_A)		FM(HSCK0)		FM(AUDIO_CLKOUT)	FM(CAN0_RX_B)	FM(IRQ4_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)
29962306a36Sopenharmony_ci#define IP10_23_20	FM(SSI_SDATA4_A)	FM(HTX0)		FM(SCL2_A)		FM(CAN1_RX_B)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
30062306a36Sopenharmony_ci#define IP10_27_24	FM(SSI_WS4_A)		FM(HRX0)		FM(SDA2_A)		FM(CAN1_TX_B)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
30162306a36Sopenharmony_ci#define IP10_31_28	FM(SCL1)		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) F_(0, 0)
30262306a36Sopenharmony_ci#define IP11_3_0	FM(SDA1)		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) F_(0, 0)
30362306a36Sopenharmony_ci#define IP11_7_4	FM(MSIOF1_SCK)		FM(AVB0_AVTP_PPS_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
30462306a36Sopenharmony_ci#define IP11_11_8	FM(MSIOF1_TXD)		FM(AVB0_AVTP_CAPTURE_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
30562306a36Sopenharmony_ci#define IP11_15_12	FM(MSIOF1_RXD)		FM(AVB0_AVTP_MATCH_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
30662306a36Sopenharmony_ci#define IP11_19_16	FM(SCK0_A)		FM(MSIOF1_SYNC)		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) F_(0, 0) F_(0, 0)
30762306a36Sopenharmony_ci#define IP11_23_20	FM(RX0_A)		FM(MSIOF0_SS1)		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) F_(0, 0) F_(0, 0)
30862306a36Sopenharmony_ci#define IP11_27_24	FM(TX0_A)		FM(MSIOF0_SS2)		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) F_(0, 0) F_(0, 0)
30962306a36Sopenharmony_ci#define IP11_31_28	FM(SCK1_A)		FM(MSIOF1_SS2)		FM(TPU0TO2_B)		FM(CAN0_TX_B)	FM(AUDIO_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)
31062306a36Sopenharmony_ci
31162306a36Sopenharmony_ci/* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */		/* 4 */			/* 5 */		/* 6  - F */
31262306a36Sopenharmony_ci#define IP12_3_0	FM(RX1_A)		FM(CTS0_N)		FM(TPU0TO0_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
31362306a36Sopenharmony_ci#define IP12_7_4	FM(TX1_A)		FM(RTS0_N)		FM(TPU0TO1_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
31462306a36Sopenharmony_ci#define IP12_11_8	FM(SCK2)		FM(MSIOF1_SS1)		FM(TPU0TO3_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
31562306a36Sopenharmony_ci#define IP12_15_12	FM(TPU0TO0_A)		FM(AVB0_AVTP_CAPTURE_A)	FM(HCTS0_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)
31662306a36Sopenharmony_ci#define IP12_19_16	FM(TPU0TO1_A)		FM(AVB0_AVTP_MATCH_A)	FM(HRTS0_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)
31762306a36Sopenharmony_ci#define IP12_23_20	FM(CAN_CLK)		FM(AVB0_AVTP_PPS_A)	FM(SCK0_B)		FM(IRQ5_B)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
31862306a36Sopenharmony_ci#define IP12_27_24	FM(CAN0_RX_A)		FM(CANFD0_RX)		FM(RX0_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
31962306a36Sopenharmony_ci#define IP12_31_28	FM(CAN0_TX_A)		FM(CANFD0_TX)		FM(TX0_B)		F_(0, 0)	F_(0, 0)		F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
32062306a36Sopenharmony_ci#define IP13_3_0	FM(CAN1_RX_A)		FM(CANFD1_RX)		FM(TPU0TO2_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)
32162306a36Sopenharmony_ci#define IP13_7_4	FM(CAN1_TX_A)		FM(CANFD1_TX)		FM(TPU0TO3_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)
32262306a36Sopenharmony_ci
32362306a36Sopenharmony_ci#define PINMUX_GPSR	\
32462306a36Sopenharmony_ci\
32562306a36Sopenharmony_ci		GPSR1_31	GPSR2_31			GPSR4_31		 \
32662306a36Sopenharmony_ci		GPSR1_30	GPSR2_30			GPSR4_30		 \
32762306a36Sopenharmony_ci		GPSR1_29	GPSR2_29			GPSR4_29		 \
32862306a36Sopenharmony_ci		GPSR1_28	GPSR2_28			GPSR4_28		 \
32962306a36Sopenharmony_ci		GPSR1_27	GPSR2_27			GPSR4_27		 \
33062306a36Sopenharmony_ci		GPSR1_26	GPSR2_26			GPSR4_26		 \
33162306a36Sopenharmony_ci		GPSR1_25	GPSR2_25			GPSR4_25		 \
33262306a36Sopenharmony_ci		GPSR1_24	GPSR2_24			GPSR4_24		 \
33362306a36Sopenharmony_ci		GPSR1_23	GPSR2_23			GPSR4_23		 \
33462306a36Sopenharmony_ci		GPSR1_22	GPSR2_22			GPSR4_22		 \
33562306a36Sopenharmony_ci		GPSR1_21	GPSR2_21			GPSR4_21		 \
33662306a36Sopenharmony_ci		GPSR1_20	GPSR2_20			GPSR4_20	GPSR5_20 \
33762306a36Sopenharmony_ci		GPSR1_19	GPSR2_19			GPSR4_19	GPSR5_19 \
33862306a36Sopenharmony_ci		GPSR1_18	GPSR2_18			GPSR4_18	GPSR5_18 \
33962306a36Sopenharmony_ci		GPSR1_17	GPSR2_17			GPSR4_17	GPSR5_17 \
34062306a36Sopenharmony_ci		GPSR1_16	GPSR2_16			GPSR4_16	GPSR5_16 \
34162306a36Sopenharmony_ci		GPSR1_15	GPSR2_15			GPSR4_15	GPSR5_15 \
34262306a36Sopenharmony_ci		GPSR1_14	GPSR2_14			GPSR4_14	GPSR5_14 \
34362306a36Sopenharmony_ci		GPSR1_13	GPSR2_13			GPSR4_13	GPSR5_13	GPSR6_13 \
34462306a36Sopenharmony_ci		GPSR1_12	GPSR2_12			GPSR4_12	GPSR5_12	GPSR6_12 \
34562306a36Sopenharmony_ci		GPSR1_11	GPSR2_11			GPSR4_11	GPSR5_11	GPSR6_11 \
34662306a36Sopenharmony_ci		GPSR1_10	GPSR2_10			GPSR4_10	GPSR5_10	GPSR6_10 \
34762306a36Sopenharmony_ci		GPSR1_9		GPSR2_9		GPSR3_9		GPSR4_9		GPSR5_9		GPSR6_9 \
34862306a36Sopenharmony_ciGPSR0_8		GPSR1_8		GPSR2_8		GPSR3_8		GPSR4_8		GPSR5_8		GPSR6_8 \
34962306a36Sopenharmony_ciGPSR0_7		GPSR1_7		GPSR2_7		GPSR3_7		GPSR4_7		GPSR5_7		GPSR6_7 \
35062306a36Sopenharmony_ciGPSR0_6		GPSR1_6		GPSR2_6		GPSR3_6		GPSR4_6		GPSR5_6		GPSR6_6 \
35162306a36Sopenharmony_ciGPSR0_5		GPSR1_5		GPSR2_5		GPSR3_5		GPSR4_5		GPSR5_5		GPSR6_5 \
35262306a36Sopenharmony_ciGPSR0_4		GPSR1_4		GPSR2_4		GPSR3_4		GPSR4_4		GPSR5_4		GPSR6_4 \
35362306a36Sopenharmony_ciGPSR0_3		GPSR1_3		GPSR2_3		GPSR3_3		GPSR4_3		GPSR5_3		GPSR6_3 \
35462306a36Sopenharmony_ciGPSR0_2		GPSR1_2		GPSR2_2		GPSR3_2		GPSR4_2		GPSR5_2		GPSR6_2 \
35562306a36Sopenharmony_ciGPSR0_1		GPSR1_1		GPSR2_1		GPSR3_1		GPSR4_1		GPSR5_1		GPSR6_1 \
35662306a36Sopenharmony_ciGPSR0_0		GPSR1_0		GPSR2_0		GPSR3_0		GPSR4_0		GPSR5_0		GPSR6_0
35762306a36Sopenharmony_ci
35862306a36Sopenharmony_ci#define PINMUX_IPSR				\
35962306a36Sopenharmony_ci\
36062306a36Sopenharmony_ciFM(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 \
36162306a36Sopenharmony_ciFM(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 \
36262306a36Sopenharmony_ciFM(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 \
36362306a36Sopenharmony_ciFM(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 \
36462306a36Sopenharmony_ciFM(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 \
36562306a36Sopenharmony_ciFM(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 \
36662306a36Sopenharmony_ciFM(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 \
36762306a36Sopenharmony_ciFM(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 \
36862306a36Sopenharmony_ci\
36962306a36Sopenharmony_ciFM(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 \
37062306a36Sopenharmony_ciFM(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 \
37162306a36Sopenharmony_ciFM(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 \
37262306a36Sopenharmony_ciFM(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 \
37362306a36Sopenharmony_ciFM(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 \
37462306a36Sopenharmony_ciFM(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 \
37562306a36Sopenharmony_ciFM(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 \
37662306a36Sopenharmony_ciFM(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 \
37762306a36Sopenharmony_ci\
37862306a36Sopenharmony_ciFM(IP8_3_0)	IP8_3_0		FM(IP9_3_0)	IP9_3_0		FM(IP10_3_0)	IP10_3_0	FM(IP11_3_0)	IP11_3_0 \
37962306a36Sopenharmony_ciFM(IP8_7_4)	IP8_7_4		FM(IP9_7_4)	IP9_7_4		FM(IP10_7_4)	IP10_7_4	FM(IP11_7_4)	IP11_7_4 \
38062306a36Sopenharmony_ciFM(IP8_11_8)	IP8_11_8	FM(IP9_11_8)	IP9_11_8	FM(IP10_11_8)	IP10_11_8	FM(IP11_11_8)	IP11_11_8 \
38162306a36Sopenharmony_ciFM(IP8_15_12)	IP8_15_12	FM(IP9_15_12)	IP9_15_12	FM(IP10_15_12)	IP10_15_12	FM(IP11_15_12)	IP11_15_12 \
38262306a36Sopenharmony_ciFM(IP8_19_16)	IP8_19_16	FM(IP9_19_16)	IP9_19_16	FM(IP10_19_16)	IP10_19_16	FM(IP11_19_16)	IP11_19_16 \
38362306a36Sopenharmony_ciFM(IP8_23_20)	IP8_23_20	FM(IP9_23_20)	IP9_23_20	FM(IP10_23_20)	IP10_23_20	FM(IP11_23_20)	IP11_23_20 \
38462306a36Sopenharmony_ciFM(IP8_27_24)	IP8_27_24	FM(IP9_27_24)	IP9_27_24	FM(IP10_27_24)	IP10_27_24	FM(IP11_27_24)	IP11_27_24 \
38562306a36Sopenharmony_ciFM(IP8_31_28)	IP8_31_28	FM(IP9_31_28)	IP9_31_28	FM(IP10_31_28)	IP10_31_28	FM(IP11_31_28)	IP11_31_28 \
38662306a36Sopenharmony_ci\
38762306a36Sopenharmony_ciFM(IP12_3_0)	IP12_3_0	FM(IP13_3_0)	IP13_3_0 \
38862306a36Sopenharmony_ciFM(IP12_7_4)	IP12_7_4	FM(IP13_7_4)	IP13_7_4 \
38962306a36Sopenharmony_ciFM(IP12_11_8)	IP12_11_8 \
39062306a36Sopenharmony_ciFM(IP12_15_12)	IP12_15_12 \
39162306a36Sopenharmony_ciFM(IP12_19_16)	IP12_19_16 \
39262306a36Sopenharmony_ciFM(IP12_23_20)	IP12_23_20 \
39362306a36Sopenharmony_ciFM(IP12_27_24)	IP12_27_24 \
39462306a36Sopenharmony_ciFM(IP12_31_28)	IP12_31_28 \
39562306a36Sopenharmony_ci
39662306a36Sopenharmony_ci/* The bit numbering in MOD_SEL fields is reversed */
39762306a36Sopenharmony_ci#define REV4(f0, f1, f2, f3)			f0 f2 f1 f3
39862306a36Sopenharmony_ci
39962306a36Sopenharmony_ci/* MOD_SEL0 */			/* 0 */			/* 1 */			/* 2 */			/* 3 */
40062306a36Sopenharmony_ci#define MOD_SEL0_30		FM(SEL_MSIOF2_0)	FM(SEL_MSIOF2_1)
40162306a36Sopenharmony_ci#define MOD_SEL0_29		FM(SEL_I2C3_0)		FM(SEL_I2C3_1)
40262306a36Sopenharmony_ci#define MOD_SEL0_28		FM(SEL_SCIF5_0)		FM(SEL_SCIF5_1)
40362306a36Sopenharmony_ci#define MOD_SEL0_27		FM(SEL_MSIOF3_0)	FM(SEL_MSIOF3_1)
40462306a36Sopenharmony_ci#define MOD_SEL0_26		FM(SEL_HSCIF3_0)	FM(SEL_HSCIF3_1)
40562306a36Sopenharmony_ci#define MOD_SEL0_25		FM(SEL_SCIF4_0)		FM(SEL_SCIF4_1)
40662306a36Sopenharmony_ci#define MOD_SEL0_24_23	   REV4(FM(SEL_PWM0_0),		FM(SEL_PWM0_1),		FM(SEL_PWM0_2),		F_(0, 0))
40762306a36Sopenharmony_ci#define MOD_SEL0_22_21	   REV4(FM(SEL_PWM1_0),		FM(SEL_PWM1_1),		FM(SEL_PWM1_2),		F_(0, 0))
40862306a36Sopenharmony_ci#define MOD_SEL0_20_19	   REV4(FM(SEL_PWM2_0),		FM(SEL_PWM2_1),		FM(SEL_PWM2_2),		F_(0, 0))
40962306a36Sopenharmony_ci#define MOD_SEL0_18_17	   REV4(FM(SEL_PWM3_0),		FM(SEL_PWM3_1),		FM(SEL_PWM3_2),		F_(0, 0))
41062306a36Sopenharmony_ci#define MOD_SEL0_15		FM(SEL_IRQ_0_0)		FM(SEL_IRQ_0_1)
41162306a36Sopenharmony_ci#define MOD_SEL0_14		FM(SEL_IRQ_1_0)		FM(SEL_IRQ_1_1)
41262306a36Sopenharmony_ci#define MOD_SEL0_13		FM(SEL_IRQ_2_0)		FM(SEL_IRQ_2_1)
41362306a36Sopenharmony_ci#define MOD_SEL0_12		FM(SEL_IRQ_3_0)		FM(SEL_IRQ_3_1)
41462306a36Sopenharmony_ci#define MOD_SEL0_11		FM(SEL_IRQ_4_0)		FM(SEL_IRQ_4_1)
41562306a36Sopenharmony_ci#define MOD_SEL0_10		FM(SEL_IRQ_5_0)		FM(SEL_IRQ_5_1)
41662306a36Sopenharmony_ci#define MOD_SEL0_5		FM(SEL_TMU_0_0)		FM(SEL_TMU_0_1)
41762306a36Sopenharmony_ci#define MOD_SEL0_4		FM(SEL_TMU_1_0)		FM(SEL_TMU_1_1)
41862306a36Sopenharmony_ci#define MOD_SEL0_3		FM(SEL_SCIF3_0)		FM(SEL_SCIF3_1)
41962306a36Sopenharmony_ci#define MOD_SEL0_2		FM(SEL_SCIF1_0)		FM(SEL_SCIF1_1)
42062306a36Sopenharmony_ci#define MOD_SEL0_1		FM(SEL_SCU_0)		FM(SEL_SCU_1)
42162306a36Sopenharmony_ci#define MOD_SEL0_0		FM(SEL_RFSO_0)		FM(SEL_RFSO_1)
42262306a36Sopenharmony_ci
42362306a36Sopenharmony_ci#define MOD_SEL1_31		FM(SEL_CAN0_0)		FM(SEL_CAN0_1)
42462306a36Sopenharmony_ci#define MOD_SEL1_30		FM(SEL_CAN1_0)		FM(SEL_CAN1_1)
42562306a36Sopenharmony_ci#define MOD_SEL1_29		FM(SEL_I2C2_0)		FM(SEL_I2C2_1)
42662306a36Sopenharmony_ci#define MOD_SEL1_28		FM(SEL_ETHERAVB_0)	FM(SEL_ETHERAVB_1)
42762306a36Sopenharmony_ci#define MOD_SEL1_27		FM(SEL_SCIF0_0)		FM(SEL_SCIF0_1)
42862306a36Sopenharmony_ci#define MOD_SEL1_26		FM(SEL_SSIF4_0)		FM(SEL_SSIF4_1)
42962306a36Sopenharmony_ci
43062306a36Sopenharmony_ci
43162306a36Sopenharmony_ci#define PINMUX_MOD_SELS	\
43262306a36Sopenharmony_ci\
43362306a36Sopenharmony_ci		MOD_SEL1_31 \
43462306a36Sopenharmony_ciMOD_SEL0_30	MOD_SEL1_30 \
43562306a36Sopenharmony_ciMOD_SEL0_29	MOD_SEL1_29 \
43662306a36Sopenharmony_ciMOD_SEL0_28	MOD_SEL1_28 \
43762306a36Sopenharmony_ciMOD_SEL0_27	MOD_SEL1_27 \
43862306a36Sopenharmony_ciMOD_SEL0_26	MOD_SEL1_26 \
43962306a36Sopenharmony_ciMOD_SEL0_25 \
44062306a36Sopenharmony_ciMOD_SEL0_24_23 \
44162306a36Sopenharmony_ciMOD_SEL0_22_21 \
44262306a36Sopenharmony_ciMOD_SEL0_20_19 \
44362306a36Sopenharmony_ciMOD_SEL0_18_17 \
44462306a36Sopenharmony_ciMOD_SEL0_15 \
44562306a36Sopenharmony_ciMOD_SEL0_14 \
44662306a36Sopenharmony_ciMOD_SEL0_13 \
44762306a36Sopenharmony_ciMOD_SEL0_12 \
44862306a36Sopenharmony_ciMOD_SEL0_11 \
44962306a36Sopenharmony_ciMOD_SEL0_10 \
45062306a36Sopenharmony_ciMOD_SEL0_5 \
45162306a36Sopenharmony_ciMOD_SEL0_4 \
45262306a36Sopenharmony_ciMOD_SEL0_3 \
45362306a36Sopenharmony_ciMOD_SEL0_2 \
45462306a36Sopenharmony_ciMOD_SEL0_1 \
45562306a36Sopenharmony_ciMOD_SEL0_0
45662306a36Sopenharmony_ci
45762306a36Sopenharmony_cienum {
45862306a36Sopenharmony_ci	PINMUX_RESERVED = 0,
45962306a36Sopenharmony_ci
46062306a36Sopenharmony_ci	PINMUX_DATA_BEGIN,
46162306a36Sopenharmony_ci	GP_ALL(DATA),
46262306a36Sopenharmony_ci	PINMUX_DATA_END,
46362306a36Sopenharmony_ci
46462306a36Sopenharmony_ci#define F_(x, y)
46562306a36Sopenharmony_ci#define FM(x)	FN_##x,
46662306a36Sopenharmony_ci	PINMUX_FUNCTION_BEGIN,
46762306a36Sopenharmony_ci	GP_ALL(FN),
46862306a36Sopenharmony_ci	PINMUX_GPSR
46962306a36Sopenharmony_ci	PINMUX_IPSR
47062306a36Sopenharmony_ci	PINMUX_MOD_SELS
47162306a36Sopenharmony_ci	PINMUX_FUNCTION_END,
47262306a36Sopenharmony_ci#undef F_
47362306a36Sopenharmony_ci#undef FM
47462306a36Sopenharmony_ci
47562306a36Sopenharmony_ci#define F_(x, y)
47662306a36Sopenharmony_ci#define FM(x)	x##_MARK,
47762306a36Sopenharmony_ci	PINMUX_MARK_BEGIN,
47862306a36Sopenharmony_ci	PINMUX_GPSR
47962306a36Sopenharmony_ci	PINMUX_IPSR
48062306a36Sopenharmony_ci	PINMUX_MOD_SELS
48162306a36Sopenharmony_ci	PINMUX_MARK_END,
48262306a36Sopenharmony_ci#undef F_
48362306a36Sopenharmony_ci#undef FM
48462306a36Sopenharmony_ci};
48562306a36Sopenharmony_ci
48662306a36Sopenharmony_cistatic const u16 pinmux_data[] = {
48762306a36Sopenharmony_ci	PINMUX_DATA_GP_ALL(),
48862306a36Sopenharmony_ci
48962306a36Sopenharmony_ci	PINMUX_SINGLE(USB0_OVC),
49062306a36Sopenharmony_ci	PINMUX_SINGLE(USB0_PWEN),
49162306a36Sopenharmony_ci	PINMUX_SINGLE(VI4_DATA4),
49262306a36Sopenharmony_ci	PINMUX_SINGLE(VI4_CLK),
49362306a36Sopenharmony_ci	PINMUX_SINGLE(TX2),
49462306a36Sopenharmony_ci	PINMUX_SINGLE(RX2),
49562306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_LINK),
49662306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_PHY_INT),
49762306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_MAGIC),
49862306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_MDC),
49962306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_MDIO),
50062306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_TXCREFCLK),
50162306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_TD3),
50262306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_TD2),
50362306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_TD1),
50462306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_TD0),
50562306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_TXC),
50662306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_TX_CTL),
50762306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_RD3),
50862306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_RD2),
50962306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_RD1),
51062306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_RD0),
51162306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_RXC),
51262306a36Sopenharmony_ci	PINMUX_SINGLE(AVB0_RX_CTL),
51362306a36Sopenharmony_ci	PINMUX_SINGLE(RPC_INT_N),
51462306a36Sopenharmony_ci	PINMUX_SINGLE(RPC_RESET_N),
51562306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI1_SSL),
51662306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI1_IO3),
51762306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI1_IO2),
51862306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI1_MISO_IO1),
51962306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI1_MOSI_IO0),
52062306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI1_SPCLK),
52162306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI0_SSL),
52262306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI0_IO3),
52362306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI0_IO2),
52462306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI0_MISO_IO1),
52562306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI0_MOSI_IO0),
52662306a36Sopenharmony_ci	PINMUX_SINGLE(QSPI0_SPCLK),
52762306a36Sopenharmony_ci	PINMUX_SINGLE(SCL0),
52862306a36Sopenharmony_ci	PINMUX_SINGLE(SDA0),
52962306a36Sopenharmony_ci	PINMUX_SINGLE(MSIOF0_RXD),
53062306a36Sopenharmony_ci	PINMUX_SINGLE(MSIOF0_TXD),
53162306a36Sopenharmony_ci	PINMUX_SINGLE(MSIOF0_SYNC),
53262306a36Sopenharmony_ci	PINMUX_SINGLE(MSIOF0_SCK),
53362306a36Sopenharmony_ci
53462306a36Sopenharmony_ci	/* IPSR0 */
53562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_3_0,	IRQ0_A, SEL_IRQ_0_0),
53662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_3_0,	MSIOF2_SYNC_B, SEL_MSIOF2_1),
53762306a36Sopenharmony_ci
53862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_7_4,	MSIOF2_SCK),
53962306a36Sopenharmony_ci
54062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_11_8,	MSIOF2_TXD),
54162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_11_8,	SCL3_A, SEL_I2C3_0),
54262306a36Sopenharmony_ci
54362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_15_12,	MSIOF2_RXD),
54462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_15_12,	SDA3_A, SEL_I2C3_0),
54562306a36Sopenharmony_ci
54662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_19_16,	MLB_CLK),
54762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_19_16,	MSIOF2_SYNC_A, SEL_MSIOF2_0),
54862306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_19_16,	SCK5_A, SEL_SCIF5_0),
54962306a36Sopenharmony_ci
55062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_23_20,	MLB_DAT),
55162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_23_20,	MSIOF2_SS1),
55262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_23_20,	RX5_A, SEL_SCIF5_0),
55362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_23_20,	SCL3_B, SEL_I2C3_1),
55462306a36Sopenharmony_ci
55562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_27_24,	MLB_SIG),
55662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_27_24,	MSIOF2_SS2),
55762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_27_24,	TX5_A, SEL_SCIF5_0),
55862306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_27_24,	SDA3_B, SEL_I2C3_1),
55962306a36Sopenharmony_ci
56062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_31_28,	DU_DB0),
56162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP0_31_28,	LCDOUT0),
56262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP0_31_28,	MSIOF3_TXD_B, SEL_MSIOF3_1),
56362306a36Sopenharmony_ci
56462306a36Sopenharmony_ci	/* IPSR1 */
56562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_3_0,	DU_DB1),
56662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_3_0,	LCDOUT1),
56762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP1_3_0,	MSIOF3_RXD_B, SEL_MSIOF3_1),
56862306a36Sopenharmony_ci
56962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_7_4,	DU_DB2),
57062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_7_4,	LCDOUT2),
57162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP1_7_4,	IRQ0_B, SEL_IRQ_0_1),
57262306a36Sopenharmony_ci
57362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_11_8,	DU_DB3),
57462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_11_8,	LCDOUT3),
57562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP1_11_8,	SCK5_B, SEL_SCIF5_1),
57662306a36Sopenharmony_ci
57762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_15_12,	DU_DB4),
57862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_15_12,	LCDOUT4),
57962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP1_15_12,	RX5_B, SEL_SCIF5_1),
58062306a36Sopenharmony_ci
58162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_19_16,	DU_DB5),
58262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_19_16,	LCDOUT5),
58362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP1_19_16,	TX5_B, SEL_SCIF5_1),
58462306a36Sopenharmony_ci
58562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_23_20,	DU_DB6),
58662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_23_20,	LCDOUT6),
58762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP1_23_20,	MSIOF3_SS1_B, SEL_MSIOF3_1),
58862306a36Sopenharmony_ci
58962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_27_24,	DU_DB7),
59062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_27_24,	LCDOUT7),
59162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP1_27_24,	MSIOF3_SS2_B, SEL_MSIOF3_1),
59262306a36Sopenharmony_ci
59362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_31_28,	DU_DG0),
59462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP1_31_28,	LCDOUT8),
59562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP1_31_28,	MSIOF3_SCK_B, SEL_MSIOF3_1),
59662306a36Sopenharmony_ci
59762306a36Sopenharmony_ci	/* IPSR2 */
59862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_3_0,	DU_DG1),
59962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_3_0,	LCDOUT9),
60062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP2_3_0,	MSIOF3_SYNC_B, SEL_MSIOF3_1),
60162306a36Sopenharmony_ci
60262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_7_4,	DU_DG2),
60362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_7_4,	LCDOUT10),
60462306a36Sopenharmony_ci
60562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_11_8,	DU_DG3),
60662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_11_8,	LCDOUT11),
60762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP2_11_8,	IRQ1_A, SEL_IRQ_1_0),
60862306a36Sopenharmony_ci
60962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_15_12,	DU_DG4),
61062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_15_12,	LCDOUT12),
61162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP2_15_12,	HSCK3_B, SEL_HSCIF3_1),
61262306a36Sopenharmony_ci
61362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_19_16,	DU_DG5),
61462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_19_16,	LCDOUT13),
61562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP2_19_16,	HTX3_B, SEL_HSCIF3_1),
61662306a36Sopenharmony_ci
61762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_23_20,	DU_DG6),
61862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_23_20,	LCDOUT14),
61962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP2_23_20,	HRX3_B, SEL_HSCIF3_1),
62062306a36Sopenharmony_ci
62162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_27_24,	DU_DG7),
62262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_27_24,	LCDOUT15),
62362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP2_27_24,	SCK4_B, SEL_SCIF4_1),
62462306a36Sopenharmony_ci
62562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_31_28,	DU_DR0),
62662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP2_31_28,	LCDOUT16),
62762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP2_31_28,	RX4_B, SEL_SCIF4_1),
62862306a36Sopenharmony_ci
62962306a36Sopenharmony_ci	/* IPSR3 */
63062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_3_0,	DU_DR1),
63162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_3_0,	LCDOUT17),
63262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP3_3_0,	TX4_B, SEL_SCIF4_1),
63362306a36Sopenharmony_ci
63462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_7_4,	DU_DR2),
63562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_7_4,	LCDOUT18),
63662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP3_7_4,	PWM0_B, SEL_PWM0_2),
63762306a36Sopenharmony_ci
63862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_11_8,	DU_DR3),
63962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_11_8,	LCDOUT19),
64062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP3_11_8,	PWM1_B, SEL_PWM1_2),
64162306a36Sopenharmony_ci
64262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_15_12,	DU_DR4),
64362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_15_12,	LCDOUT20),
64462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP3_15_12,	TCLK2_B, SEL_TMU_0_1),
64562306a36Sopenharmony_ci
64662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_19_16,	DU_DR5),
64762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_19_16,	LCDOUT21),
64862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_19_16,	NMI),
64962306a36Sopenharmony_ci
65062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_23_20,	DU_DR6),
65162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_23_20,	LCDOUT22),
65262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP3_23_20,	PWM2_B, SEL_PWM2_2),
65362306a36Sopenharmony_ci
65462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_27_24,	DU_DR7),
65562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_27_24,	LCDOUT23),
65662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP3_27_24,	TCLK1_B, SEL_TMU_1_1),
65762306a36Sopenharmony_ci
65862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_31_28,	DU_DOTCLKOUT0),
65962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP3_31_28,	QCLK),
66062306a36Sopenharmony_ci
66162306a36Sopenharmony_ci	/* IPSR4 */
66262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_3_0,	DU_HSYNC),
66362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_3_0,	QSTH_QHS),
66462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP4_3_0,	IRQ3_A, SEL_IRQ_3_0),
66562306a36Sopenharmony_ci
66662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_7_4,	DU_VSYNC),
66762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_7_4,	QSTVA_QVS),
66862306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP4_7_4,	IRQ4_A, SEL_IRQ_4_0),
66962306a36Sopenharmony_ci
67062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_11_8,	DU_DISP),
67162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_11_8,	QSTVB_QVE),
67262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP4_11_8,	PWM3_B, SEL_PWM3_2),
67362306a36Sopenharmony_ci
67462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_15_12,	DU_DISP_CDE),
67562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_15_12,	QCPV_QDE),
67662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP4_15_12,	IRQ2_B, SEL_IRQ_2_1),
67762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_15_12,	DU_DOTCLKIN1),
67862306a36Sopenharmony_ci
67962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_19_16,	DU_CDE),
68062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_19_16,	QSTB_QHE),
68162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP4_19_16,	SCK3_B, SEL_SCIF3_1),
68262306a36Sopenharmony_ci
68362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_23_20,	QPOLA),
68462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP4_23_20,	RX3_B, SEL_SCIF3_1),
68562306a36Sopenharmony_ci
68662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_27_24,	QPOLB),
68762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP4_27_24,	TX3_B, SEL_SCIF3_1),
68862306a36Sopenharmony_ci
68962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP4_31_28,	VI4_DATA0),
69062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP4_31_28,	PWM0_A, SEL_PWM0_0),
69162306a36Sopenharmony_ci
69262306a36Sopenharmony_ci	/* IPSR5 */
69362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP5_3_0,	VI4_DATA1),
69462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP5_3_0,	PWM1_A, SEL_PWM1_0),
69562306a36Sopenharmony_ci
69662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP5_7_4,	VI4_DATA2),
69762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP5_7_4,	PWM2_A, SEL_PWM2_0),
69862306a36Sopenharmony_ci
69962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP5_11_8,	VI4_DATA3),
70062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP5_11_8,	PWM3_A, SEL_PWM3_0),
70162306a36Sopenharmony_ci
70262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP5_15_12,	VI4_DATA5),
70362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP5_15_12,	SCK4_A, SEL_SCIF4_0),
70462306a36Sopenharmony_ci
70562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP5_19_16,	VI4_DATA6),
70662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP5_19_16,	IRQ2_A, SEL_IRQ_2_0),
70762306a36Sopenharmony_ci
70862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP5_23_20,	VI4_DATA7),
70962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP5_23_20,	TCLK2_A, SEL_TMU_0_0),
71062306a36Sopenharmony_ci
71162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP5_27_24,	VI4_DATA8),
71262306a36Sopenharmony_ci
71362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP5_31_28,	VI4_DATA9),
71462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP5_31_28,	MSIOF3_SS2_A, SEL_MSIOF3_0),
71562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP5_31_28,	IRQ1_B, SEL_IRQ_1_1),
71662306a36Sopenharmony_ci
71762306a36Sopenharmony_ci	/* IPSR6 */
71862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_3_0,	VI4_DATA10),
71962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP6_3_0,	RX4_A, SEL_SCIF4_0),
72062306a36Sopenharmony_ci
72162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_7_4,	VI4_DATA11),
72262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP6_7_4,	TX4_A, SEL_SCIF4_0),
72362306a36Sopenharmony_ci
72462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_11_8,	VI4_DATA12),
72562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP6_11_8,	TCLK1_A, SEL_TMU_1_0),
72662306a36Sopenharmony_ci
72762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_15_12,	VI4_DATA13),
72862306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP6_15_12,	MSIOF3_SS1_A, SEL_MSIOF3_0),
72962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_15_12,	HCTS3_N),
73062306a36Sopenharmony_ci
73162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_19_16,	VI4_DATA14),
73262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP6_19_16,	SSI_SCK4_B, SEL_SSIF4_1),
73362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_19_16,	HRTS3_N),
73462306a36Sopenharmony_ci
73562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_23_20,	VI4_DATA15),
73662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP6_23_20,	SSI_SDATA4_B, SEL_SSIF4_1),
73762306a36Sopenharmony_ci
73862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_27_24,	VI4_DATA16),
73962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP6_27_24,	HRX3_A, SEL_HSCIF3_0),
74062306a36Sopenharmony_ci
74162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP6_31_28,	VI4_DATA17),
74262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP6_31_28,	HTX3_A, SEL_HSCIF3_0),
74362306a36Sopenharmony_ci
74462306a36Sopenharmony_ci	/* IPSR7 */
74562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_3_0,	VI4_DATA18),
74662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP7_3_0,	HSCK3_A, SEL_HSCIF3_0),
74762306a36Sopenharmony_ci
74862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_7_4,	VI4_DATA19),
74962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP7_7_4,	SSI_WS4_B, SEL_SSIF4_1),
75062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_7_4,	NFDATA15),
75162306a36Sopenharmony_ci
75262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_11_8,	VI4_DATA20),
75362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP7_11_8,	MSIOF3_SYNC_A, SEL_MSIOF3_0),
75462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_11_8,	NFDATA14),
75562306a36Sopenharmony_ci
75662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_15_12,	VI4_DATA21),
75762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP7_15_12,	MSIOF3_TXD_A, SEL_MSIOF3_0),
75862306a36Sopenharmony_ci
75962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_15_12,	NFDATA13),
76062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_19_16,	VI4_DATA22),
76162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP7_19_16,	MSIOF3_RXD_A, SEL_MSIOF3_0),
76262306a36Sopenharmony_ci
76362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_19_16,	NFDATA12),
76462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_23_20,	VI4_DATA23),
76562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP7_23_20,	MSIOF3_SCK_A, SEL_MSIOF3_0),
76662306a36Sopenharmony_ci
76762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_23_20,	NFDATA11),
76862306a36Sopenharmony_ci
76962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_27_24,	VI4_VSYNC_N),
77062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP7_27_24,	SCK1_B, SEL_SCIF1_1),
77162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_27_24,	NFDATA10),
77262306a36Sopenharmony_ci
77362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_31_28,	VI4_HSYNC_N),
77462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP7_31_28,	RX1_B, SEL_SCIF1_1),
77562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP7_31_28,	NFDATA9),
77662306a36Sopenharmony_ci
77762306a36Sopenharmony_ci	/* IPSR8 */
77862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_3_0,	VI4_FIELD),
77962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_3_0,	AUDIO_CLKB),
78062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_3_0,	IRQ5_A, SEL_IRQ_5_0),
78162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_3_0,	SCIF_CLK),
78262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_3_0,	NFDATA8),
78362306a36Sopenharmony_ci
78462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_7_4,	VI4_CLKENB),
78562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_7_4,	TX1_B, SEL_SCIF1_1),
78662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_7_4,	NFWP_N),
78762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_7_4,	DVC_MUTE_A, SEL_SCU_0),
78862306a36Sopenharmony_ci
78962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_11_8,	NFALE),
79062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_11_8,	SCL2_B, SEL_I2C2_1),
79162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_11_8,	IRQ3_B, SEL_IRQ_3_1),
79262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_11_8,	PWM0_C, SEL_PWM0_1),
79362306a36Sopenharmony_ci
79462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_15_12,	NFCLE),
79562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_15_12,	SDA2_B, SEL_I2C2_1),
79662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_15_12,	SCK3_A, SEL_SCIF3_0),
79762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_15_12,	PWM1_C, SEL_PWM1_1),
79862306a36Sopenharmony_ci
79962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_19_16,	NFCE_N),
80062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_19_16,	RX3_A, SEL_SCIF3_0),
80162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_19_16,	PWM2_C, SEL_PWM2_1),
80262306a36Sopenharmony_ci
80362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_23_20,	NFRB_N),
80462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_23_20,	TX3_A, SEL_SCIF3_0),
80562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP8_23_20,	PWM3_C, SEL_PWM3_1),
80662306a36Sopenharmony_ci
80762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_27_24,	NFRE_N),
80862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_27_24,	MMC_CMD),
80962306a36Sopenharmony_ci
81062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_31_28,	NFWE_N),
81162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP8_31_28,	MMC_CLK),
81262306a36Sopenharmony_ci
81362306a36Sopenharmony_ci	/* IPSR9 */
81462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_3_0,	NFDATA0),
81562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_3_0,	MMC_D0),
81662306a36Sopenharmony_ci
81762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_7_4,	NFDATA1),
81862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_7_4,	MMC_D1),
81962306a36Sopenharmony_ci
82062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_11_8,	NFDATA2),
82162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_11_8,	MMC_D2),
82262306a36Sopenharmony_ci
82362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_15_12,	NFDATA3),
82462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_15_12,	MMC_D3),
82562306a36Sopenharmony_ci
82662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_19_16,	NFDATA4),
82762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_19_16,	MMC_D4),
82862306a36Sopenharmony_ci
82962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_23_20,	NFDATA5),
83062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_23_20,	MMC_D5),
83162306a36Sopenharmony_ci
83262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_27_24,	NFDATA6),
83362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_27_24,	MMC_D6),
83462306a36Sopenharmony_ci
83562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_31_28,	NFDATA7),
83662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP9_31_28,	MMC_D7),
83762306a36Sopenharmony_ci
83862306a36Sopenharmony_ci	/* IPSR10 */
83962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_3_0,	AUDIO_CLKA),
84062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_3_0,	DVC_MUTE_B, SEL_SCU_1),
84162306a36Sopenharmony_ci
84262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_7_4,	SSI_SCK34),
84362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_7_4,	FSO_CFE_0_N_A, SEL_RFSO_0),
84462306a36Sopenharmony_ci
84562306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_11_8,	SSI_SDATA3),
84662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_11_8,	FSO_CFE_1_N_A, SEL_RFSO_0),
84762306a36Sopenharmony_ci
84862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_15_12,	SSI_WS34),
84962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_15_12,	FSO_TOE_N_A, SEL_RFSO_0),
85062306a36Sopenharmony_ci
85162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_19_16,	SSI_SCK4_A, SEL_SSIF4_0),
85262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_19_16,	HSCK0),
85362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_19_16,	AUDIO_CLKOUT),
85462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_19_16,	CAN0_RX_B, SEL_CAN0_1),
85562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_19_16,	IRQ4_B, SEL_IRQ_4_1),
85662306a36Sopenharmony_ci
85762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_23_20,	SSI_SDATA4_A, SEL_SSIF4_0),
85862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_23_20,	HTX0),
85962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_23_20,	SCL2_A, SEL_I2C2_0),
86062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_23_20,	CAN1_RX_B, SEL_CAN1_1),
86162306a36Sopenharmony_ci
86262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_27_24,	SSI_WS4_A, SEL_SSIF4_0),
86362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_27_24,	HRX0),
86462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_27_24,	SDA2_A, SEL_I2C2_0),
86562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP10_27_24,	CAN1_TX_B, SEL_CAN1_1),
86662306a36Sopenharmony_ci
86762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_31_28,	SCL1),
86862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP10_31_28,	CTS1_N),
86962306a36Sopenharmony_ci
87062306a36Sopenharmony_ci	/* IPSR11 */
87162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_3_0,	SDA1),
87262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_3_0,	RTS1_N),
87362306a36Sopenharmony_ci
87462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_7_4,	MSIOF1_SCK),
87562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_7_4,	AVB0_AVTP_PPS_B, SEL_ETHERAVB_1),
87662306a36Sopenharmony_ci
87762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_11_8,	MSIOF1_TXD),
87862306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_11_8,	AVB0_AVTP_CAPTURE_B, SEL_ETHERAVB_1),
87962306a36Sopenharmony_ci
88062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_15_12,	MSIOF1_RXD),
88162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_15_12,	AVB0_AVTP_MATCH_B, SEL_ETHERAVB_1),
88262306a36Sopenharmony_ci
88362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_19_16,	SCK0_A, SEL_SCIF0_0),
88462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_19_16,	MSIOF1_SYNC),
88562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_19_16,	FSO_CFE_0_N_B, SEL_RFSO_1),
88662306a36Sopenharmony_ci
88762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_23_20,	RX0_A, SEL_SCIF0_0),
88862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_23_20,	MSIOF0_SS1),
88962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_23_20,	FSO_CFE_1_N_B, SEL_RFSO_1),
89062306a36Sopenharmony_ci
89162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_27_24,	TX0_A, SEL_SCIF0_0),
89262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_27_24,	MSIOF0_SS2),
89362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_27_24,	FSO_TOE_N_B, SEL_RFSO_1),
89462306a36Sopenharmony_ci
89562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_31_28,	SCK1_A, SEL_SCIF1_0),
89662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_31_28,	MSIOF1_SS2),
89762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_31_28,	TPU0TO2_B),
89862306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP11_31_28,	CAN0_TX_B, SEL_CAN0_1),
89962306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP11_31_28,	AUDIO_CLKOUT1),
90062306a36Sopenharmony_ci
90162306a36Sopenharmony_ci	/* IPSR12 */
90262306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_3_0,	RX1_A, SEL_SCIF1_0),
90362306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_3_0,	CTS0_N),
90462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_3_0,	TPU0TO0_B),
90562306a36Sopenharmony_ci
90662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_7_4,	TX1_A, SEL_SCIF1_0),
90762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_7_4,	RTS0_N),
90862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_7_4,	TPU0TO1_B),
90962306a36Sopenharmony_ci
91062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_11_8,	SCK2),
91162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_11_8,	MSIOF1_SS1),
91262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_11_8,	TPU0TO3_B),
91362306a36Sopenharmony_ci
91462306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_15_12,	TPU0TO0_A),
91562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_15_12,	AVB0_AVTP_CAPTURE_A, SEL_ETHERAVB_0),
91662306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_15_12,	HCTS0_N),
91762306a36Sopenharmony_ci
91862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_19_16,	TPU0TO1_A),
91962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_19_16,	AVB0_AVTP_MATCH_A, SEL_ETHERAVB_0),
92062306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_19_16,	HRTS0_N),
92162306a36Sopenharmony_ci
92262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_23_20,	CAN_CLK),
92362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_23_20,	AVB0_AVTP_PPS_A, SEL_ETHERAVB_0),
92462306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_23_20,	SCK0_B, SEL_SCIF0_1),
92562306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_23_20,	IRQ5_B, SEL_IRQ_5_1),
92662306a36Sopenharmony_ci
92762306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_27_24,	CAN0_RX_A, SEL_CAN0_0),
92862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_27_24,	CANFD0_RX),
92962306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_27_24,	RX0_B, SEL_SCIF0_1),
93062306a36Sopenharmony_ci
93162306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_31_28,	CAN0_TX_A, SEL_CAN0_0),
93262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP12_31_28,	CANFD0_TX),
93362306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP12_31_28,	TX0_B, SEL_SCIF0_1),
93462306a36Sopenharmony_ci
93562306a36Sopenharmony_ci	/* IPSR13 */
93662306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP13_3_0,	CAN1_RX_A, SEL_CAN1_0),
93762306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP13_3_0,	CANFD1_RX),
93862306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP13_3_0,	TPU0TO2_A),
93962306a36Sopenharmony_ci
94062306a36Sopenharmony_ci	PINMUX_IPSR_MSEL(IP13_7_4,	CAN1_TX_A, SEL_CAN1_0),
94162306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP13_7_4,	CANFD1_TX),
94262306a36Sopenharmony_ci	PINMUX_IPSR_GPSR(IP13_7_4,	TPU0TO3_A),
94362306a36Sopenharmony_ci};
94462306a36Sopenharmony_ci
94562306a36Sopenharmony_ci/*
94662306a36Sopenharmony_ci * Pins not associated with a GPIO port.
94762306a36Sopenharmony_ci */
94862306a36Sopenharmony_cienum {
94962306a36Sopenharmony_ci	GP_ASSIGN_LAST(),
95062306a36Sopenharmony_ci	NOGP_ALL(),
95162306a36Sopenharmony_ci};
95262306a36Sopenharmony_ci
95362306a36Sopenharmony_cistatic const struct sh_pfc_pin pinmux_pins[] = {
95462306a36Sopenharmony_ci	PINMUX_GPIO_GP_ALL(),
95562306a36Sopenharmony_ci	PINMUX_NOGP_ALL(),
95662306a36Sopenharmony_ci};
95762306a36Sopenharmony_ci
95862306a36Sopenharmony_ci/* - AUDIO CLOCK ------------------------------------------------------------- */
95962306a36Sopenharmony_cistatic const unsigned int audio_clk_a_pins[] = {
96062306a36Sopenharmony_ci	/* CLK A */
96162306a36Sopenharmony_ci	RCAR_GP_PIN(4, 1),
96262306a36Sopenharmony_ci};
96362306a36Sopenharmony_cistatic const unsigned int audio_clk_a_mux[] = {
96462306a36Sopenharmony_ci	AUDIO_CLKA_MARK,
96562306a36Sopenharmony_ci};
96662306a36Sopenharmony_cistatic const unsigned int audio_clk_b_pins[] = {
96762306a36Sopenharmony_ci	/* CLK B */
96862306a36Sopenharmony_ci	RCAR_GP_PIN(2, 27),
96962306a36Sopenharmony_ci};
97062306a36Sopenharmony_cistatic const unsigned int audio_clk_b_mux[] = {
97162306a36Sopenharmony_ci	AUDIO_CLKB_MARK,
97262306a36Sopenharmony_ci};
97362306a36Sopenharmony_cistatic const unsigned int audio_clkout_pins[] = {
97462306a36Sopenharmony_ci	/* CLKOUT */
97562306a36Sopenharmony_ci	RCAR_GP_PIN(4, 5),
97662306a36Sopenharmony_ci};
97762306a36Sopenharmony_cistatic const unsigned int audio_clkout_mux[] = {
97862306a36Sopenharmony_ci	AUDIO_CLKOUT_MARK,
97962306a36Sopenharmony_ci};
98062306a36Sopenharmony_cistatic const unsigned int audio_clkout1_pins[] = {
98162306a36Sopenharmony_ci	/* CLKOUT1 */
98262306a36Sopenharmony_ci	RCAR_GP_PIN(4, 22),
98362306a36Sopenharmony_ci};
98462306a36Sopenharmony_cistatic const unsigned int audio_clkout1_mux[] = {
98562306a36Sopenharmony_ci	AUDIO_CLKOUT1_MARK,
98662306a36Sopenharmony_ci};
98762306a36Sopenharmony_ci
98862306a36Sopenharmony_ci/* - EtherAVB --------------------------------------------------------------- */
98962306a36Sopenharmony_cistatic const unsigned int avb0_link_pins[] = {
99062306a36Sopenharmony_ci	/* AVB0_LINK */
99162306a36Sopenharmony_ci	RCAR_GP_PIN(5, 20),
99262306a36Sopenharmony_ci};
99362306a36Sopenharmony_cistatic const unsigned int avb0_link_mux[] = {
99462306a36Sopenharmony_ci	AVB0_LINK_MARK,
99562306a36Sopenharmony_ci};
99662306a36Sopenharmony_cistatic const unsigned int avb0_magic_pins[] = {
99762306a36Sopenharmony_ci	/* AVB0_MAGIC */
99862306a36Sopenharmony_ci	RCAR_GP_PIN(5, 18),
99962306a36Sopenharmony_ci};
100062306a36Sopenharmony_cistatic const unsigned int avb0_magic_mux[] = {
100162306a36Sopenharmony_ci	AVB0_MAGIC_MARK,
100262306a36Sopenharmony_ci};
100362306a36Sopenharmony_cistatic const unsigned int avb0_phy_int_pins[] = {
100462306a36Sopenharmony_ci	/* AVB0_PHY_INT */
100562306a36Sopenharmony_ci	RCAR_GP_PIN(5, 19),
100662306a36Sopenharmony_ci};
100762306a36Sopenharmony_cistatic const unsigned int avb0_phy_int_mux[] = {
100862306a36Sopenharmony_ci	AVB0_PHY_INT_MARK,
100962306a36Sopenharmony_ci};
101062306a36Sopenharmony_cistatic const unsigned int avb0_mdio_pins[] = {
101162306a36Sopenharmony_ci	/* AVB0_MDC, AVB0_MDIO */
101262306a36Sopenharmony_ci	RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 16),
101362306a36Sopenharmony_ci};
101462306a36Sopenharmony_cistatic const unsigned int avb0_mdio_mux[] = {
101562306a36Sopenharmony_ci	AVB0_MDC_MARK, AVB0_MDIO_MARK,
101662306a36Sopenharmony_ci};
101762306a36Sopenharmony_cistatic const unsigned int avb0_mii_pins[] = {
101862306a36Sopenharmony_ci	/*
101962306a36Sopenharmony_ci	 * AVB0_TX_CTL, AVB0_TXC, AVB0_TD0,
102062306a36Sopenharmony_ci	 * AVB0_TD1, AVB0_TD2, AVB0_TD3,
102162306a36Sopenharmony_ci	 * AVB0_RX_CTL, AVB0_RXC, AVB0_RD0,
102262306a36Sopenharmony_ci	 * AVB0_RD1, AVB0_RD2, AVB0_RD3,
102362306a36Sopenharmony_ci	 * AVB0_TXCREFCLK
102462306a36Sopenharmony_ci	 */
102562306a36Sopenharmony_ci	RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11),
102662306a36Sopenharmony_ci	RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14),
102762306a36Sopenharmony_ci	RCAR_GP_PIN(5, 3), RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5),
102862306a36Sopenharmony_ci	RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 8),
102962306a36Sopenharmony_ci	RCAR_GP_PIN(5, 15),
103062306a36Sopenharmony_ci};
103162306a36Sopenharmony_cistatic const unsigned int avb0_mii_mux[] = {
103262306a36Sopenharmony_ci	AVB0_TX_CTL_MARK, AVB0_TXC_MARK, AVB0_TD0_MARK,
103362306a36Sopenharmony_ci	AVB0_TD1_MARK, AVB0_TD2_MARK, AVB0_TD3_MARK,
103462306a36Sopenharmony_ci	AVB0_RX_CTL_MARK, AVB0_RXC_MARK, AVB0_RD0_MARK,
103562306a36Sopenharmony_ci	AVB0_RD1_MARK, AVB0_RD2_MARK, AVB0_RD3_MARK,
103662306a36Sopenharmony_ci	AVB0_TXCREFCLK_MARK,
103762306a36Sopenharmony_ci};
103862306a36Sopenharmony_cistatic const unsigned int avb0_avtp_pps_a_pins[] = {
103962306a36Sopenharmony_ci	/* AVB0_AVTP_PPS_A */
104062306a36Sopenharmony_ci	RCAR_GP_PIN(5, 2),
104162306a36Sopenharmony_ci};
104262306a36Sopenharmony_cistatic const unsigned int avb0_avtp_pps_a_mux[] = {
104362306a36Sopenharmony_ci	AVB0_AVTP_PPS_A_MARK,
104462306a36Sopenharmony_ci};
104562306a36Sopenharmony_cistatic const unsigned int avb0_avtp_match_a_pins[] = {
104662306a36Sopenharmony_ci	/* AVB0_AVTP_MATCH_A */
104762306a36Sopenharmony_ci	RCAR_GP_PIN(5, 1),
104862306a36Sopenharmony_ci};
104962306a36Sopenharmony_cistatic const unsigned int avb0_avtp_match_a_mux[] = {
105062306a36Sopenharmony_ci	AVB0_AVTP_MATCH_A_MARK,
105162306a36Sopenharmony_ci};
105262306a36Sopenharmony_cistatic const unsigned int avb0_avtp_capture_a_pins[] = {
105362306a36Sopenharmony_ci	/* AVB0_AVTP_CAPTURE_A */
105462306a36Sopenharmony_ci	RCAR_GP_PIN(5, 0),
105562306a36Sopenharmony_ci};
105662306a36Sopenharmony_cistatic const unsigned int avb0_avtp_capture_a_mux[] = {
105762306a36Sopenharmony_ci	AVB0_AVTP_CAPTURE_A_MARK,
105862306a36Sopenharmony_ci};
105962306a36Sopenharmony_cistatic const unsigned int avb0_avtp_pps_b_pins[] = {
106062306a36Sopenharmony_ci	/* AVB0_AVTP_PPS_B */
106162306a36Sopenharmony_ci	RCAR_GP_PIN(4, 16),
106262306a36Sopenharmony_ci};
106362306a36Sopenharmony_cistatic const unsigned int avb0_avtp_pps_b_mux[] = {
106462306a36Sopenharmony_ci	AVB0_AVTP_PPS_B_MARK,
106562306a36Sopenharmony_ci};
106662306a36Sopenharmony_cistatic const unsigned int avb0_avtp_match_b_pins[] = {
106762306a36Sopenharmony_ci	/*  AVB0_AVTP_MATCH_B */
106862306a36Sopenharmony_ci	RCAR_GP_PIN(4, 18),
106962306a36Sopenharmony_ci};
107062306a36Sopenharmony_cistatic const unsigned int avb0_avtp_match_b_mux[] = {
107162306a36Sopenharmony_ci	AVB0_AVTP_MATCH_B_MARK,
107262306a36Sopenharmony_ci};
107362306a36Sopenharmony_cistatic const unsigned int avb0_avtp_capture_b_pins[] = {
107462306a36Sopenharmony_ci	/* AVB0_AVTP_CAPTURE_B */
107562306a36Sopenharmony_ci	RCAR_GP_PIN(4, 17),
107662306a36Sopenharmony_ci};
107762306a36Sopenharmony_cistatic const unsigned int avb0_avtp_capture_b_mux[] = {
107862306a36Sopenharmony_ci	AVB0_AVTP_CAPTURE_B_MARK,
107962306a36Sopenharmony_ci};
108062306a36Sopenharmony_ci
108162306a36Sopenharmony_ci/* - CAN ------------------------------------------------------------------ */
108262306a36Sopenharmony_cistatic const unsigned int can0_data_a_pins[] = {
108362306a36Sopenharmony_ci	/* TX, RX */
108462306a36Sopenharmony_ci	RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 31),
108562306a36Sopenharmony_ci};
108662306a36Sopenharmony_cistatic const unsigned int can0_data_a_mux[] = {
108762306a36Sopenharmony_ci	CAN0_TX_A_MARK, CAN0_RX_A_MARK,
108862306a36Sopenharmony_ci};
108962306a36Sopenharmony_cistatic const unsigned int can0_data_b_pins[] = {
109062306a36Sopenharmony_ci	/* TX, RX */
109162306a36Sopenharmony_ci	RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 5),
109262306a36Sopenharmony_ci};
109362306a36Sopenharmony_cistatic const unsigned int can0_data_b_mux[] = {
109462306a36Sopenharmony_ci	CAN0_TX_B_MARK, CAN0_RX_B_MARK,
109562306a36Sopenharmony_ci};
109662306a36Sopenharmony_cistatic const unsigned int can1_data_a_pins[] = {
109762306a36Sopenharmony_ci	/* TX, RX */
109862306a36Sopenharmony_ci	RCAR_GP_PIN(4, 30), RCAR_GP_PIN(4, 29),
109962306a36Sopenharmony_ci};
110062306a36Sopenharmony_cistatic const unsigned int can1_data_a_mux[] = {
110162306a36Sopenharmony_ci	CAN1_TX_A_MARK, CAN1_RX_A_MARK,
110262306a36Sopenharmony_ci};
110362306a36Sopenharmony_cistatic const unsigned int can1_data_b_pins[] = {
110462306a36Sopenharmony_ci	/* TX, RX */
110562306a36Sopenharmony_ci	RCAR_GP_PIN(4, 7), RCAR_GP_PIN(4, 6),
110662306a36Sopenharmony_ci};
110762306a36Sopenharmony_cistatic const unsigned int can1_data_b_mux[] = {
110862306a36Sopenharmony_ci	CAN1_TX_B_MARK, CAN1_RX_B_MARK,
110962306a36Sopenharmony_ci};
111062306a36Sopenharmony_ci
111162306a36Sopenharmony_ci/* - CAN Clock -------------------------------------------------------------- */
111262306a36Sopenharmony_cistatic const unsigned int can_clk_pins[] = {
111362306a36Sopenharmony_ci	/* CLK */
111462306a36Sopenharmony_ci	RCAR_GP_PIN(5, 2),
111562306a36Sopenharmony_ci};
111662306a36Sopenharmony_cistatic const unsigned int can_clk_mux[] = {
111762306a36Sopenharmony_ci	CAN_CLK_MARK,
111862306a36Sopenharmony_ci};
111962306a36Sopenharmony_ci
112062306a36Sopenharmony_ci/* - CAN FD ----------------------------------------------------------------- */
112162306a36Sopenharmony_cistatic const unsigned int canfd0_data_pins[] = {
112262306a36Sopenharmony_ci	/* TX, RX */
112362306a36Sopenharmony_ci	RCAR_GP_PIN(4, 28), RCAR_GP_PIN(4, 31),
112462306a36Sopenharmony_ci};
112562306a36Sopenharmony_cistatic const unsigned int canfd0_data_mux[] = {
112662306a36Sopenharmony_ci	CANFD0_TX_MARK, CANFD0_RX_MARK,
112762306a36Sopenharmony_ci};
112862306a36Sopenharmony_cistatic const unsigned int canfd1_data_pins[] = {
112962306a36Sopenharmony_ci	/* TX, RX */
113062306a36Sopenharmony_ci	RCAR_GP_PIN(4, 30), RCAR_GP_PIN(4, 29),
113162306a36Sopenharmony_ci};
113262306a36Sopenharmony_cistatic const unsigned int canfd1_data_mux[] = {
113362306a36Sopenharmony_ci	CANFD1_TX_MARK, CANFD1_RX_MARK,
113462306a36Sopenharmony_ci};
113562306a36Sopenharmony_ci
113662306a36Sopenharmony_ci/* - DU --------------------------------------------------------------------- */
113762306a36Sopenharmony_cistatic const unsigned int du_rgb666_pins[] = {
113862306a36Sopenharmony_ci	/* R[7:2], G[7:2], B[7:2] */
113962306a36Sopenharmony_ci	RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21),
114062306a36Sopenharmony_ci	RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18),
114162306a36Sopenharmony_ci	RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13),
114262306a36Sopenharmony_ci	RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 10),
114362306a36Sopenharmony_ci	RCAR_GP_PIN(1, 7),  RCAR_GP_PIN(1, 6),  RCAR_GP_PIN(1, 5),
114462306a36Sopenharmony_ci	RCAR_GP_PIN(1, 4),  RCAR_GP_PIN(1, 3),  RCAR_GP_PIN(1, 2),
114562306a36Sopenharmony_ci};
114662306a36Sopenharmony_cistatic const unsigned int du_rgb666_mux[] = {
114762306a36Sopenharmony_ci	DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK,
114862306a36Sopenharmony_ci	DU_DR3_MARK, DU_DR2_MARK,
114962306a36Sopenharmony_ci	DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK,
115062306a36Sopenharmony_ci	DU_DG3_MARK, DU_DG2_MARK,
115162306a36Sopenharmony_ci	DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK,
115262306a36Sopenharmony_ci	DU_DB3_MARK, DU_DB2_MARK,
115362306a36Sopenharmony_ci};
115462306a36Sopenharmony_cistatic const unsigned int du_rgb888_pins[] = {
115562306a36Sopenharmony_ci	/* R[7:0], G[7:0], B[7:0] */
115662306a36Sopenharmony_ci	RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21),
115762306a36Sopenharmony_ci	RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18),
115862306a36Sopenharmony_ci	RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16),
115962306a36Sopenharmony_ci	RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13),
116062306a36Sopenharmony_ci	RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 10),
116162306a36Sopenharmony_ci	RCAR_GP_PIN(1, 9),  RCAR_GP_PIN(1, 8),
116262306a36Sopenharmony_ci	RCAR_GP_PIN(1, 7),  RCAR_GP_PIN(1, 6),  RCAR_GP_PIN(1, 5),
116362306a36Sopenharmony_ci	RCAR_GP_PIN(1, 4),  RCAR_GP_PIN(1, 3),  RCAR_GP_PIN(1, 2),
116462306a36Sopenharmony_ci	RCAR_GP_PIN(1, 1),  RCAR_GP_PIN(1, 0),
116562306a36Sopenharmony_ci};
116662306a36Sopenharmony_cistatic const unsigned int du_rgb888_mux[] = {
116762306a36Sopenharmony_ci	DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK,
116862306a36Sopenharmony_ci	DU_DR3_MARK, DU_DR2_MARK, DU_DR1_MARK, DU_DR0_MARK,
116962306a36Sopenharmony_ci	DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK,
117062306a36Sopenharmony_ci	DU_DG3_MARK, DU_DG2_MARK, DU_DG1_MARK, DU_DG0_MARK,
117162306a36Sopenharmony_ci	DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK,
117262306a36Sopenharmony_ci	DU_DB3_MARK, DU_DB2_MARK, DU_DB1_MARK, DU_DB0_MARK,
117362306a36Sopenharmony_ci};
117462306a36Sopenharmony_cistatic const unsigned int du_clk_in_1_pins[] = {
117562306a36Sopenharmony_ci	/* CLKIN */
117662306a36Sopenharmony_ci	RCAR_GP_PIN(1, 28),
117762306a36Sopenharmony_ci};
117862306a36Sopenharmony_cistatic const unsigned int du_clk_in_1_mux[] = {
117962306a36Sopenharmony_ci	DU_DOTCLKIN1_MARK
118062306a36Sopenharmony_ci};
118162306a36Sopenharmony_cistatic const unsigned int du_clk_out_0_pins[] = {
118262306a36Sopenharmony_ci	/* CLKOUT */
118362306a36Sopenharmony_ci	RCAR_GP_PIN(1, 24),
118462306a36Sopenharmony_ci};
118562306a36Sopenharmony_cistatic const unsigned int du_clk_out_0_mux[] = {
118662306a36Sopenharmony_ci	DU_DOTCLKOUT0_MARK
118762306a36Sopenharmony_ci};
118862306a36Sopenharmony_cistatic const unsigned int du_sync_pins[] = {
118962306a36Sopenharmony_ci	/* VSYNC, HSYNC */
119062306a36Sopenharmony_ci	RCAR_GP_PIN(1, 26), RCAR_GP_PIN(1, 25),
119162306a36Sopenharmony_ci};
119262306a36Sopenharmony_cistatic const unsigned int du_sync_mux[] = {
119362306a36Sopenharmony_ci	DU_VSYNC_MARK, DU_HSYNC_MARK
119462306a36Sopenharmony_ci};
119562306a36Sopenharmony_cistatic const unsigned int du_disp_cde_pins[] = {
119662306a36Sopenharmony_ci	/* DISP_CDE */
119762306a36Sopenharmony_ci	RCAR_GP_PIN(1, 28),
119862306a36Sopenharmony_ci};
119962306a36Sopenharmony_cistatic const unsigned int du_disp_cde_mux[] = {
120062306a36Sopenharmony_ci	DU_DISP_CDE_MARK,
120162306a36Sopenharmony_ci};
120262306a36Sopenharmony_cistatic const unsigned int du_cde_pins[] = {
120362306a36Sopenharmony_ci	/* CDE */
120462306a36Sopenharmony_ci	RCAR_GP_PIN(1, 29),
120562306a36Sopenharmony_ci};
120662306a36Sopenharmony_cistatic const unsigned int du_cde_mux[] = {
120762306a36Sopenharmony_ci	DU_CDE_MARK,
120862306a36Sopenharmony_ci};
120962306a36Sopenharmony_cistatic const unsigned int du_disp_pins[] = {
121062306a36Sopenharmony_ci	/* DISP */
121162306a36Sopenharmony_ci	RCAR_GP_PIN(1, 27),
121262306a36Sopenharmony_ci};
121362306a36Sopenharmony_cistatic const unsigned int du_disp_mux[] = {
121462306a36Sopenharmony_ci	DU_DISP_MARK,
121562306a36Sopenharmony_ci};
121662306a36Sopenharmony_ci
121762306a36Sopenharmony_ci/* - I2C -------------------------------------------------------------------- */
121862306a36Sopenharmony_cistatic const unsigned int i2c0_pins[] = {
121962306a36Sopenharmony_ci	/* SCL, SDA */
122062306a36Sopenharmony_ci	RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9),
122162306a36Sopenharmony_ci};
122262306a36Sopenharmony_cistatic const unsigned int i2c0_mux[] = {
122362306a36Sopenharmony_ci	SCL0_MARK, SDA0_MARK,
122462306a36Sopenharmony_ci};
122562306a36Sopenharmony_cistatic const unsigned int i2c1_pins[] = {
122662306a36Sopenharmony_ci	/* SCL, SDA */
122762306a36Sopenharmony_ci	RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11),
122862306a36Sopenharmony_ci};
122962306a36Sopenharmony_cistatic const unsigned int i2c1_mux[] = {
123062306a36Sopenharmony_ci	SCL1_MARK, SDA1_MARK,
123162306a36Sopenharmony_ci};
123262306a36Sopenharmony_cistatic const unsigned int i2c2_a_pins[] = {
123362306a36Sopenharmony_ci	/* SCL, SDA */
123462306a36Sopenharmony_ci	RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 7),
123562306a36Sopenharmony_ci};
123662306a36Sopenharmony_cistatic const unsigned int i2c2_a_mux[] = {
123762306a36Sopenharmony_ci	SCL2_A_MARK, SDA2_A_MARK,
123862306a36Sopenharmony_ci};
123962306a36Sopenharmony_cistatic const unsigned int i2c2_b_pins[] = {
124062306a36Sopenharmony_ci	/* SCL, SDA */
124162306a36Sopenharmony_ci	RCAR_GP_PIN(2, 29), RCAR_GP_PIN(2, 30),
124262306a36Sopenharmony_ci};
124362306a36Sopenharmony_cistatic const unsigned int i2c2_b_mux[] = {
124462306a36Sopenharmony_ci	SCL2_B_MARK, SDA2_B_MARK,
124562306a36Sopenharmony_ci};
124662306a36Sopenharmony_cistatic const unsigned int i2c3_a_pins[] = {
124762306a36Sopenharmony_ci	/* SCL, SDA */
124862306a36Sopenharmony_ci	RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 5),
124962306a36Sopenharmony_ci};
125062306a36Sopenharmony_cistatic const unsigned int i2c3_a_mux[] = {
125162306a36Sopenharmony_ci	SCL3_A_MARK, SDA3_A_MARK,
125262306a36Sopenharmony_ci};
125362306a36Sopenharmony_cistatic const unsigned int i2c3_b_pins[] = {
125462306a36Sopenharmony_ci	/* SCL, SDA */
125562306a36Sopenharmony_ci	RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8),
125662306a36Sopenharmony_ci};
125762306a36Sopenharmony_cistatic const unsigned int i2c3_b_mux[] = {
125862306a36Sopenharmony_ci	SCL3_B_MARK, SDA3_B_MARK,
125962306a36Sopenharmony_ci};
126062306a36Sopenharmony_ci
126162306a36Sopenharmony_ci/* - MLB+ ------------------------------------------------------------------- */
126262306a36Sopenharmony_cistatic const unsigned int mlb_3pin_pins[] = {
126362306a36Sopenharmony_ci	RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 7),
126462306a36Sopenharmony_ci};
126562306a36Sopenharmony_cistatic const unsigned int mlb_3pin_mux[] = {
126662306a36Sopenharmony_ci	MLB_CLK_MARK, MLB_SIG_MARK, MLB_DAT_MARK,
126762306a36Sopenharmony_ci};
126862306a36Sopenharmony_ci
126962306a36Sopenharmony_ci/* - MMC ------------------------------------------------------------------- */
127062306a36Sopenharmony_cistatic const unsigned int mmc_data_pins[] = {
127162306a36Sopenharmony_ci	/* D[0:7] */
127262306a36Sopenharmony_ci	RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3),
127362306a36Sopenharmony_ci	RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5),
127462306a36Sopenharmony_ci	RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
127562306a36Sopenharmony_ci	RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9),
127662306a36Sopenharmony_ci};
127762306a36Sopenharmony_cistatic const unsigned int mmc_data_mux[] = {
127862306a36Sopenharmony_ci	MMC_D0_MARK, MMC_D1_MARK,
127962306a36Sopenharmony_ci	MMC_D2_MARK, MMC_D3_MARK,
128062306a36Sopenharmony_ci	MMC_D4_MARK, MMC_D5_MARK,
128162306a36Sopenharmony_ci	MMC_D6_MARK, MMC_D7_MARK,
128262306a36Sopenharmony_ci};
128362306a36Sopenharmony_cistatic const unsigned int mmc_ctrl_pins[] = {
128462306a36Sopenharmony_ci	/* CLK, CMD */
128562306a36Sopenharmony_ci	RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 0),
128662306a36Sopenharmony_ci};
128762306a36Sopenharmony_cistatic const unsigned int mmc_ctrl_mux[] = {
128862306a36Sopenharmony_ci	MMC_CLK_MARK, MMC_CMD_MARK,
128962306a36Sopenharmony_ci};
129062306a36Sopenharmony_ci
129162306a36Sopenharmony_ci/* - MSIOF0 ----------------------------------------------------------------- */
129262306a36Sopenharmony_cistatic const unsigned int msiof0_clk_pins[] = {
129362306a36Sopenharmony_ci	/* SCK */
129462306a36Sopenharmony_ci	RCAR_GP_PIN(4, 12),
129562306a36Sopenharmony_ci};
129662306a36Sopenharmony_ci
129762306a36Sopenharmony_cistatic const unsigned int msiof0_clk_mux[] = {
129862306a36Sopenharmony_ci	MSIOF0_SCK_MARK,
129962306a36Sopenharmony_ci};
130062306a36Sopenharmony_ci
130162306a36Sopenharmony_cistatic const unsigned int msiof0_sync_pins[] = {
130262306a36Sopenharmony_ci	/* SYNC */
130362306a36Sopenharmony_ci	RCAR_GP_PIN(4, 13),
130462306a36Sopenharmony_ci};
130562306a36Sopenharmony_ci
130662306a36Sopenharmony_cistatic const unsigned int msiof0_sync_mux[] = {
130762306a36Sopenharmony_ci	MSIOF0_SYNC_MARK,
130862306a36Sopenharmony_ci};
130962306a36Sopenharmony_ci
131062306a36Sopenharmony_cistatic const unsigned int msiof0_ss1_pins[] = {
131162306a36Sopenharmony_ci	/* SS1 */
131262306a36Sopenharmony_ci	RCAR_GP_PIN(4, 20),
131362306a36Sopenharmony_ci};
131462306a36Sopenharmony_ci
131562306a36Sopenharmony_cistatic const unsigned int msiof0_ss1_mux[] = {
131662306a36Sopenharmony_ci	MSIOF0_SS1_MARK,
131762306a36Sopenharmony_ci};
131862306a36Sopenharmony_ci
131962306a36Sopenharmony_cistatic const unsigned int msiof0_ss2_pins[] = {
132062306a36Sopenharmony_ci	/* SS2 */
132162306a36Sopenharmony_ci	RCAR_GP_PIN(4, 21),
132262306a36Sopenharmony_ci};
132362306a36Sopenharmony_ci
132462306a36Sopenharmony_cistatic const unsigned int msiof0_ss2_mux[] = {
132562306a36Sopenharmony_ci	MSIOF0_SS2_MARK,
132662306a36Sopenharmony_ci};
132762306a36Sopenharmony_ci
132862306a36Sopenharmony_cistatic const unsigned int msiof0_txd_pins[] = {
132962306a36Sopenharmony_ci	/* TXD */
133062306a36Sopenharmony_ci	RCAR_GP_PIN(4, 14),
133162306a36Sopenharmony_ci};
133262306a36Sopenharmony_ci
133362306a36Sopenharmony_cistatic const unsigned int msiof0_txd_mux[] = {
133462306a36Sopenharmony_ci	MSIOF0_TXD_MARK,
133562306a36Sopenharmony_ci};
133662306a36Sopenharmony_ci
133762306a36Sopenharmony_cistatic const unsigned int msiof0_rxd_pins[] = {
133862306a36Sopenharmony_ci	/* RXD */
133962306a36Sopenharmony_ci	RCAR_GP_PIN(4, 15),
134062306a36Sopenharmony_ci};
134162306a36Sopenharmony_ci
134262306a36Sopenharmony_cistatic const unsigned int msiof0_rxd_mux[] = {
134362306a36Sopenharmony_ci	MSIOF0_RXD_MARK,
134462306a36Sopenharmony_ci};
134562306a36Sopenharmony_ci
134662306a36Sopenharmony_ci/* - MSIOF1 ----------------------------------------------------------------- */
134762306a36Sopenharmony_cistatic const unsigned int msiof1_clk_pins[] = {
134862306a36Sopenharmony_ci	/* SCK */
134962306a36Sopenharmony_ci	RCAR_GP_PIN(4, 16),
135062306a36Sopenharmony_ci};
135162306a36Sopenharmony_ci
135262306a36Sopenharmony_cistatic const unsigned int msiof1_clk_mux[] = {
135362306a36Sopenharmony_ci	MSIOF1_SCK_MARK,
135462306a36Sopenharmony_ci};
135562306a36Sopenharmony_ci
135662306a36Sopenharmony_cistatic const unsigned int msiof1_sync_pins[] = {
135762306a36Sopenharmony_ci	/* SYNC */
135862306a36Sopenharmony_ci	RCAR_GP_PIN(4, 19),
135962306a36Sopenharmony_ci};
136062306a36Sopenharmony_ci
136162306a36Sopenharmony_cistatic const unsigned int msiof1_sync_mux[] = {
136262306a36Sopenharmony_ci	MSIOF1_SYNC_MARK,
136362306a36Sopenharmony_ci};
136462306a36Sopenharmony_ci
136562306a36Sopenharmony_cistatic const unsigned int msiof1_ss1_pins[] = {
136662306a36Sopenharmony_ci	/* SS1 */
136762306a36Sopenharmony_ci	RCAR_GP_PIN(4, 25),
136862306a36Sopenharmony_ci};
136962306a36Sopenharmony_ci
137062306a36Sopenharmony_cistatic const unsigned int msiof1_ss1_mux[] = {
137162306a36Sopenharmony_ci	MSIOF1_SS1_MARK,
137262306a36Sopenharmony_ci};
137362306a36Sopenharmony_ci
137462306a36Sopenharmony_cistatic const unsigned int msiof1_ss2_pins[] = {
137562306a36Sopenharmony_ci	/* SS2 */
137662306a36Sopenharmony_ci	RCAR_GP_PIN(4, 22),
137762306a36Sopenharmony_ci};
137862306a36Sopenharmony_ci
137962306a36Sopenharmony_cistatic const unsigned int msiof1_ss2_mux[] = {
138062306a36Sopenharmony_ci	MSIOF1_SS2_MARK,
138162306a36Sopenharmony_ci};
138262306a36Sopenharmony_ci
138362306a36Sopenharmony_cistatic const unsigned int msiof1_txd_pins[] = {
138462306a36Sopenharmony_ci	/* TXD */
138562306a36Sopenharmony_ci	RCAR_GP_PIN(4, 17),
138662306a36Sopenharmony_ci};
138762306a36Sopenharmony_ci
138862306a36Sopenharmony_cistatic const unsigned int msiof1_txd_mux[] = {
138962306a36Sopenharmony_ci	MSIOF1_TXD_MARK,
139062306a36Sopenharmony_ci};
139162306a36Sopenharmony_ci
139262306a36Sopenharmony_cistatic const unsigned int msiof1_rxd_pins[] = {
139362306a36Sopenharmony_ci	/* RXD */
139462306a36Sopenharmony_ci	RCAR_GP_PIN(4, 18),
139562306a36Sopenharmony_ci};
139662306a36Sopenharmony_ci
139762306a36Sopenharmony_cistatic const unsigned int msiof1_rxd_mux[] = {
139862306a36Sopenharmony_ci	MSIOF1_RXD_MARK,
139962306a36Sopenharmony_ci};
140062306a36Sopenharmony_ci
140162306a36Sopenharmony_ci/* - MSIOF2 ----------------------------------------------------------------- */
140262306a36Sopenharmony_cistatic const unsigned int msiof2_clk_pins[] = {
140362306a36Sopenharmony_ci	/* SCK */
140462306a36Sopenharmony_ci	RCAR_GP_PIN(0, 3),
140562306a36Sopenharmony_ci};
140662306a36Sopenharmony_ci
140762306a36Sopenharmony_cistatic const unsigned int msiof2_clk_mux[] = {
140862306a36Sopenharmony_ci	MSIOF2_SCK_MARK,
140962306a36Sopenharmony_ci};
141062306a36Sopenharmony_ci
141162306a36Sopenharmony_cistatic const unsigned int msiof2_sync_a_pins[] = {
141262306a36Sopenharmony_ci	/* SYNC */
141362306a36Sopenharmony_ci	RCAR_GP_PIN(0, 6),
141462306a36Sopenharmony_ci};
141562306a36Sopenharmony_ci
141662306a36Sopenharmony_cistatic const unsigned int msiof2_sync_a_mux[] = {
141762306a36Sopenharmony_ci	MSIOF2_SYNC_A_MARK,
141862306a36Sopenharmony_ci};
141962306a36Sopenharmony_ci
142062306a36Sopenharmony_cistatic const unsigned int msiof2_sync_b_pins[] = {
142162306a36Sopenharmony_ci	/* SYNC */
142262306a36Sopenharmony_ci	RCAR_GP_PIN(0, 2),
142362306a36Sopenharmony_ci};
142462306a36Sopenharmony_ci
142562306a36Sopenharmony_cistatic const unsigned int msiof2_sync_b_mux[] = {
142662306a36Sopenharmony_ci	MSIOF2_SYNC_B_MARK,
142762306a36Sopenharmony_ci};
142862306a36Sopenharmony_ci
142962306a36Sopenharmony_cistatic const unsigned int msiof2_ss1_pins[] = {
143062306a36Sopenharmony_ci	/* SS1 */
143162306a36Sopenharmony_ci	RCAR_GP_PIN(0, 7),
143262306a36Sopenharmony_ci};
143362306a36Sopenharmony_ci
143462306a36Sopenharmony_cistatic const unsigned int msiof2_ss1_mux[] = {
143562306a36Sopenharmony_ci	MSIOF2_SS1_MARK,
143662306a36Sopenharmony_ci};
143762306a36Sopenharmony_ci
143862306a36Sopenharmony_cistatic const unsigned int msiof2_ss2_pins[] = {
143962306a36Sopenharmony_ci	/* SS2 */
144062306a36Sopenharmony_ci	RCAR_GP_PIN(0, 8),
144162306a36Sopenharmony_ci};
144262306a36Sopenharmony_ci
144362306a36Sopenharmony_cistatic const unsigned int msiof2_ss2_mux[] = {
144462306a36Sopenharmony_ci	MSIOF2_SS2_MARK,
144562306a36Sopenharmony_ci};
144662306a36Sopenharmony_ci
144762306a36Sopenharmony_cistatic const unsigned int msiof2_txd_pins[] = {
144862306a36Sopenharmony_ci	/* TXD */
144962306a36Sopenharmony_ci	RCAR_GP_PIN(0, 4),
145062306a36Sopenharmony_ci};
145162306a36Sopenharmony_ci
145262306a36Sopenharmony_cistatic const unsigned int msiof2_txd_mux[] = {
145362306a36Sopenharmony_ci	MSIOF2_TXD_MARK,
145462306a36Sopenharmony_ci};
145562306a36Sopenharmony_ci
145662306a36Sopenharmony_cistatic const unsigned int msiof2_rxd_pins[] = {
145762306a36Sopenharmony_ci	/* RXD */
145862306a36Sopenharmony_ci	RCAR_GP_PIN(0, 5),
145962306a36Sopenharmony_ci};
146062306a36Sopenharmony_ci
146162306a36Sopenharmony_cistatic const unsigned int msiof2_rxd_mux[] = {
146262306a36Sopenharmony_ci	MSIOF2_RXD_MARK,
146362306a36Sopenharmony_ci};
146462306a36Sopenharmony_ci
146562306a36Sopenharmony_ci/* - MSIOF3 ----------------------------------------------------------------- */
146662306a36Sopenharmony_cistatic const unsigned int msiof3_clk_a_pins[] = {
146762306a36Sopenharmony_ci	/* SCK */
146862306a36Sopenharmony_ci	RCAR_GP_PIN(2, 24),
146962306a36Sopenharmony_ci};
147062306a36Sopenharmony_ci
147162306a36Sopenharmony_cistatic const unsigned int msiof3_clk_a_mux[] = {
147262306a36Sopenharmony_ci	MSIOF3_SCK_A_MARK,
147362306a36Sopenharmony_ci};
147462306a36Sopenharmony_ci
147562306a36Sopenharmony_cistatic const unsigned int msiof3_sync_a_pins[] = {
147662306a36Sopenharmony_ci	/* SYNC */
147762306a36Sopenharmony_ci	RCAR_GP_PIN(2, 21),
147862306a36Sopenharmony_ci};
147962306a36Sopenharmony_ci
148062306a36Sopenharmony_cistatic const unsigned int msiof3_sync_a_mux[] = {
148162306a36Sopenharmony_ci	MSIOF3_SYNC_A_MARK,
148262306a36Sopenharmony_ci};
148362306a36Sopenharmony_ci
148462306a36Sopenharmony_cistatic const unsigned int msiof3_ss1_a_pins[] = {
148562306a36Sopenharmony_ci	/* SS1 */
148662306a36Sopenharmony_ci	RCAR_GP_PIN(2, 14),
148762306a36Sopenharmony_ci};
148862306a36Sopenharmony_ci
148962306a36Sopenharmony_cistatic const unsigned int msiof3_ss1_a_mux[] = {
149062306a36Sopenharmony_ci	MSIOF3_SS1_A_MARK,
149162306a36Sopenharmony_ci};
149262306a36Sopenharmony_ci
149362306a36Sopenharmony_cistatic const unsigned int msiof3_ss2_a_pins[] = {
149462306a36Sopenharmony_ci	/* SS2 */
149562306a36Sopenharmony_ci	RCAR_GP_PIN(2, 10),
149662306a36Sopenharmony_ci};
149762306a36Sopenharmony_ci
149862306a36Sopenharmony_cistatic const unsigned int msiof3_ss2_a_mux[] = {
149962306a36Sopenharmony_ci	MSIOF3_SS2_A_MARK,
150062306a36Sopenharmony_ci};
150162306a36Sopenharmony_ci
150262306a36Sopenharmony_cistatic const unsigned int msiof3_txd_a_pins[] = {
150362306a36Sopenharmony_ci	/* TXD */
150462306a36Sopenharmony_ci	RCAR_GP_PIN(2, 22),
150562306a36Sopenharmony_ci};
150662306a36Sopenharmony_ci
150762306a36Sopenharmony_cistatic const unsigned int msiof3_txd_a_mux[] = {
150862306a36Sopenharmony_ci	MSIOF3_TXD_A_MARK,
150962306a36Sopenharmony_ci};
151062306a36Sopenharmony_ci
151162306a36Sopenharmony_cistatic const unsigned int msiof3_rxd_a_pins[] = {
151262306a36Sopenharmony_ci	/* RXD */
151362306a36Sopenharmony_ci	RCAR_GP_PIN(2, 23),
151462306a36Sopenharmony_ci};
151562306a36Sopenharmony_ci
151662306a36Sopenharmony_cistatic const unsigned int msiof3_rxd_a_mux[] = {
151762306a36Sopenharmony_ci	MSIOF3_RXD_A_MARK,
151862306a36Sopenharmony_ci};
151962306a36Sopenharmony_ci
152062306a36Sopenharmony_cistatic const unsigned int msiof3_clk_b_pins[] = {
152162306a36Sopenharmony_ci	/* SCK */
152262306a36Sopenharmony_ci	RCAR_GP_PIN(1, 8),
152362306a36Sopenharmony_ci};
152462306a36Sopenharmony_ci
152562306a36Sopenharmony_cistatic const unsigned int msiof3_clk_b_mux[] = {
152662306a36Sopenharmony_ci	MSIOF3_SCK_B_MARK,
152762306a36Sopenharmony_ci};
152862306a36Sopenharmony_ci
152962306a36Sopenharmony_cistatic const unsigned int msiof3_sync_b_pins[] = {
153062306a36Sopenharmony_ci	/* SYNC */
153162306a36Sopenharmony_ci	RCAR_GP_PIN(1, 9),
153262306a36Sopenharmony_ci};
153362306a36Sopenharmony_ci
153462306a36Sopenharmony_cistatic const unsigned int msiof3_sync_b_mux[] = {
153562306a36Sopenharmony_ci	MSIOF3_SYNC_B_MARK,
153662306a36Sopenharmony_ci};
153762306a36Sopenharmony_ci
153862306a36Sopenharmony_cistatic const unsigned int msiof3_ss1_b_pins[] = {
153962306a36Sopenharmony_ci	/* SS1 */
154062306a36Sopenharmony_ci	RCAR_GP_PIN(1, 6),
154162306a36Sopenharmony_ci};
154262306a36Sopenharmony_ci
154362306a36Sopenharmony_cistatic const unsigned int msiof3_ss1_b_mux[] = {
154462306a36Sopenharmony_ci	MSIOF3_SS1_B_MARK,
154562306a36Sopenharmony_ci};
154662306a36Sopenharmony_ci
154762306a36Sopenharmony_cistatic const unsigned int msiof3_ss2_b_pins[] = {
154862306a36Sopenharmony_ci	/* SS2 */
154962306a36Sopenharmony_ci	RCAR_GP_PIN(1, 7),
155062306a36Sopenharmony_ci};
155162306a36Sopenharmony_ci
155262306a36Sopenharmony_cistatic const unsigned int msiof3_ss2_b_mux[] = {
155362306a36Sopenharmony_ci	MSIOF3_SS2_B_MARK,
155462306a36Sopenharmony_ci};
155562306a36Sopenharmony_ci
155662306a36Sopenharmony_cistatic const unsigned int msiof3_txd_b_pins[] = {
155762306a36Sopenharmony_ci	/* TXD */
155862306a36Sopenharmony_ci	RCAR_GP_PIN(1, 0),
155962306a36Sopenharmony_ci};
156062306a36Sopenharmony_ci
156162306a36Sopenharmony_cistatic const unsigned int msiof3_txd_b_mux[] = {
156262306a36Sopenharmony_ci	MSIOF3_TXD_B_MARK,
156362306a36Sopenharmony_ci};
156462306a36Sopenharmony_ci
156562306a36Sopenharmony_cistatic const unsigned int msiof3_rxd_b_pins[] = {
156662306a36Sopenharmony_ci	/* RXD */
156762306a36Sopenharmony_ci	RCAR_GP_PIN(1, 1),
156862306a36Sopenharmony_ci};
156962306a36Sopenharmony_ci
157062306a36Sopenharmony_cistatic const unsigned int msiof3_rxd_b_mux[] = {
157162306a36Sopenharmony_ci	MSIOF3_RXD_B_MARK,
157262306a36Sopenharmony_ci};
157362306a36Sopenharmony_ci
157462306a36Sopenharmony_ci/* - PWM0 ------------------------------------------------------------------ */
157562306a36Sopenharmony_cistatic const unsigned int pwm0_a_pins[] = {
157662306a36Sopenharmony_ci	/* PWM */
157762306a36Sopenharmony_ci	RCAR_GP_PIN(2, 1),
157862306a36Sopenharmony_ci};
157962306a36Sopenharmony_ci
158062306a36Sopenharmony_cistatic const unsigned int pwm0_a_mux[] = {
158162306a36Sopenharmony_ci	PWM0_A_MARK,
158262306a36Sopenharmony_ci};
158362306a36Sopenharmony_ci
158462306a36Sopenharmony_cistatic const unsigned int pwm0_b_pins[] = {
158562306a36Sopenharmony_ci	/* PWM */
158662306a36Sopenharmony_ci	RCAR_GP_PIN(1, 18),
158762306a36Sopenharmony_ci};
158862306a36Sopenharmony_ci
158962306a36Sopenharmony_cistatic const unsigned int pwm0_b_mux[] = {
159062306a36Sopenharmony_ci	PWM0_B_MARK,
159162306a36Sopenharmony_ci};
159262306a36Sopenharmony_ci
159362306a36Sopenharmony_cistatic const unsigned int pwm0_c_pins[] = {
159462306a36Sopenharmony_ci	/* PWM */
159562306a36Sopenharmony_ci	RCAR_GP_PIN(2, 29),
159662306a36Sopenharmony_ci};
159762306a36Sopenharmony_ci
159862306a36Sopenharmony_cistatic const unsigned int pwm0_c_mux[] = {
159962306a36Sopenharmony_ci	PWM0_C_MARK,
160062306a36Sopenharmony_ci};
160162306a36Sopenharmony_ci
160262306a36Sopenharmony_ci/* - PWM1 ------------------------------------------------------------------ */
160362306a36Sopenharmony_cistatic const unsigned int pwm1_a_pins[] = {
160462306a36Sopenharmony_ci	/* PWM */
160562306a36Sopenharmony_ci	RCAR_GP_PIN(2, 2),
160662306a36Sopenharmony_ci};
160762306a36Sopenharmony_ci
160862306a36Sopenharmony_cistatic const unsigned int pwm1_a_mux[] = {
160962306a36Sopenharmony_ci	PWM1_A_MARK,
161062306a36Sopenharmony_ci};
161162306a36Sopenharmony_ci
161262306a36Sopenharmony_cistatic const unsigned int pwm1_b_pins[] = {
161362306a36Sopenharmony_ci	/* PWM */
161462306a36Sopenharmony_ci	RCAR_GP_PIN(1, 19),
161562306a36Sopenharmony_ci};
161662306a36Sopenharmony_ci
161762306a36Sopenharmony_cistatic const unsigned int pwm1_b_mux[] = {
161862306a36Sopenharmony_ci	PWM1_B_MARK,
161962306a36Sopenharmony_ci};
162062306a36Sopenharmony_ci
162162306a36Sopenharmony_cistatic const unsigned int pwm1_c_pins[] = {
162262306a36Sopenharmony_ci	/* PWM */
162362306a36Sopenharmony_ci	RCAR_GP_PIN(2, 30),
162462306a36Sopenharmony_ci};
162562306a36Sopenharmony_ci
162662306a36Sopenharmony_cistatic const unsigned int pwm1_c_mux[] = {
162762306a36Sopenharmony_ci	PWM1_C_MARK,
162862306a36Sopenharmony_ci};
162962306a36Sopenharmony_ci
163062306a36Sopenharmony_ci/* - PWM2 ------------------------------------------------------------------ */
163162306a36Sopenharmony_cistatic const unsigned int pwm2_a_pins[] = {
163262306a36Sopenharmony_ci	/* PWM */
163362306a36Sopenharmony_ci	RCAR_GP_PIN(2, 3),
163462306a36Sopenharmony_ci};
163562306a36Sopenharmony_ci
163662306a36Sopenharmony_cistatic const unsigned int pwm2_a_mux[] = {
163762306a36Sopenharmony_ci	PWM2_A_MARK,
163862306a36Sopenharmony_ci};
163962306a36Sopenharmony_ci
164062306a36Sopenharmony_cistatic const unsigned int pwm2_b_pins[] = {
164162306a36Sopenharmony_ci	/* PWM */
164262306a36Sopenharmony_ci	RCAR_GP_PIN(1, 22),
164362306a36Sopenharmony_ci};
164462306a36Sopenharmony_ci
164562306a36Sopenharmony_cistatic const unsigned int pwm2_b_mux[] = {
164662306a36Sopenharmony_ci	PWM2_B_MARK,
164762306a36Sopenharmony_ci};
164862306a36Sopenharmony_ci
164962306a36Sopenharmony_cistatic const unsigned int pwm2_c_pins[] = {
165062306a36Sopenharmony_ci	/* PWM */
165162306a36Sopenharmony_ci	RCAR_GP_PIN(2, 31),
165262306a36Sopenharmony_ci};
165362306a36Sopenharmony_ci
165462306a36Sopenharmony_cistatic const unsigned int pwm2_c_mux[] = {
165562306a36Sopenharmony_ci	PWM2_C_MARK,
165662306a36Sopenharmony_ci};
165762306a36Sopenharmony_ci
165862306a36Sopenharmony_ci/* - PWM3 ------------------------------------------------------------------ */
165962306a36Sopenharmony_cistatic const unsigned int pwm3_a_pins[] = {
166062306a36Sopenharmony_ci	/* PWM */
166162306a36Sopenharmony_ci	RCAR_GP_PIN(2, 4),
166262306a36Sopenharmony_ci};
166362306a36Sopenharmony_ci
166462306a36Sopenharmony_cistatic const unsigned int pwm3_a_mux[] = {
166562306a36Sopenharmony_ci	PWM3_A_MARK,
166662306a36Sopenharmony_ci};
166762306a36Sopenharmony_ci
166862306a36Sopenharmony_cistatic const unsigned int pwm3_b_pins[] = {
166962306a36Sopenharmony_ci	/* PWM */
167062306a36Sopenharmony_ci	RCAR_GP_PIN(1, 27),
167162306a36Sopenharmony_ci};
167262306a36Sopenharmony_ci
167362306a36Sopenharmony_cistatic const unsigned int pwm3_b_mux[] = {
167462306a36Sopenharmony_ci	PWM3_B_MARK,
167562306a36Sopenharmony_ci};
167662306a36Sopenharmony_ci
167762306a36Sopenharmony_cistatic const unsigned int pwm3_c_pins[] = {
167862306a36Sopenharmony_ci	/* PWM */
167962306a36Sopenharmony_ci	RCAR_GP_PIN(4, 0),
168062306a36Sopenharmony_ci};
168162306a36Sopenharmony_ci
168262306a36Sopenharmony_cistatic const unsigned int pwm3_c_mux[] = {
168362306a36Sopenharmony_ci	PWM3_C_MARK,
168462306a36Sopenharmony_ci};
168562306a36Sopenharmony_ci
168662306a36Sopenharmony_ci/* - QSPI0 ------------------------------------------------------------------ */
168762306a36Sopenharmony_cistatic const unsigned int qspi0_ctrl_pins[] = {
168862306a36Sopenharmony_ci	/* QSPI0_SPCLK, QSPI0_SSL */
168962306a36Sopenharmony_ci	RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 5),
169062306a36Sopenharmony_ci};
169162306a36Sopenharmony_cistatic const unsigned int qspi0_ctrl_mux[] = {
169262306a36Sopenharmony_ci	QSPI0_SPCLK_MARK, QSPI0_SSL_MARK,
169362306a36Sopenharmony_ci};
169462306a36Sopenharmony_ci/* - QSPI1 ------------------------------------------------------------------ */
169562306a36Sopenharmony_cistatic const unsigned int qspi1_ctrl_pins[] = {
169662306a36Sopenharmony_ci	/* QSPI1_SPCLK, QSPI1_SSL */
169762306a36Sopenharmony_ci	RCAR_GP_PIN(6, 6), RCAR_GP_PIN(6, 11),
169862306a36Sopenharmony_ci};
169962306a36Sopenharmony_cistatic const unsigned int qspi1_ctrl_mux[] = {
170062306a36Sopenharmony_ci	QSPI1_SPCLK_MARK, QSPI1_SSL_MARK,
170162306a36Sopenharmony_ci};
170262306a36Sopenharmony_ci
170362306a36Sopenharmony_ci/* - RPC -------------------------------------------------------------------- */
170462306a36Sopenharmony_cistatic const unsigned int rpc_clk_pins[] = {
170562306a36Sopenharmony_ci	/* Octal-SPI flash: C/SCLK */
170662306a36Sopenharmony_ci	/* HyperFlash: CK, CK# */
170762306a36Sopenharmony_ci	RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 6),
170862306a36Sopenharmony_ci};
170962306a36Sopenharmony_cistatic const unsigned int rpc_clk_mux[] = {
171062306a36Sopenharmony_ci	QSPI0_SPCLK_MARK, QSPI1_SPCLK_MARK,
171162306a36Sopenharmony_ci};
171262306a36Sopenharmony_cistatic const unsigned int rpc_ctrl_pins[] = {
171362306a36Sopenharmony_ci	/* Octal-SPI flash: S#/CS, DQS */
171462306a36Sopenharmony_ci	/* HyperFlash: CS#, RDS */
171562306a36Sopenharmony_ci	RCAR_GP_PIN(6, 5), RCAR_GP_PIN(6, 11),
171662306a36Sopenharmony_ci};
171762306a36Sopenharmony_cistatic const unsigned int rpc_ctrl_mux[] = {
171862306a36Sopenharmony_ci	QSPI0_SSL_MARK, QSPI1_SSL_MARK,
171962306a36Sopenharmony_ci};
172062306a36Sopenharmony_cistatic const unsigned int rpc_data_pins[] = {
172162306a36Sopenharmony_ci	/* DQ[0:7] */
172262306a36Sopenharmony_ci	RCAR_GP_PIN(6, 1), RCAR_GP_PIN(6, 2),
172362306a36Sopenharmony_ci	RCAR_GP_PIN(6, 3), RCAR_GP_PIN(6, 4),
172462306a36Sopenharmony_ci	RCAR_GP_PIN(6, 7), RCAR_GP_PIN(6, 8),
172562306a36Sopenharmony_ci	RCAR_GP_PIN(6, 9), RCAR_GP_PIN(6, 10),
172662306a36Sopenharmony_ci};
172762306a36Sopenharmony_cistatic const unsigned int rpc_data_mux[] = {
172862306a36Sopenharmony_ci	QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK,
172962306a36Sopenharmony_ci	QSPI0_IO2_MARK, QSPI0_IO3_MARK,
173062306a36Sopenharmony_ci	QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK,
173162306a36Sopenharmony_ci	QSPI1_IO2_MARK, QSPI1_IO3_MARK,
173262306a36Sopenharmony_ci};
173362306a36Sopenharmony_cistatic const unsigned int rpc_reset_pins[] = {
173462306a36Sopenharmony_ci	/* RPC_RESET# */
173562306a36Sopenharmony_ci	RCAR_GP_PIN(6, 12),
173662306a36Sopenharmony_ci};
173762306a36Sopenharmony_cistatic const unsigned int rpc_reset_mux[] = {
173862306a36Sopenharmony_ci	RPC_RESET_N_MARK,
173962306a36Sopenharmony_ci};
174062306a36Sopenharmony_cistatic const unsigned int rpc_int_pins[] = {
174162306a36Sopenharmony_ci	/* RPC_INT# */
174262306a36Sopenharmony_ci	RCAR_GP_PIN(6, 13),
174362306a36Sopenharmony_ci};
174462306a36Sopenharmony_cistatic const unsigned int rpc_int_mux[] = {
174562306a36Sopenharmony_ci	RPC_INT_N_MARK,
174662306a36Sopenharmony_ci};
174762306a36Sopenharmony_ci
174862306a36Sopenharmony_ci/* - SCIF0 ------------------------------------------------------------------ */
174962306a36Sopenharmony_cistatic const unsigned int scif0_data_a_pins[] = {
175062306a36Sopenharmony_ci	/* RX, TX */
175162306a36Sopenharmony_ci	RCAR_GP_PIN(4, 20), RCAR_GP_PIN(4, 21),
175262306a36Sopenharmony_ci};
175362306a36Sopenharmony_cistatic const unsigned int scif0_data_a_mux[] = {
175462306a36Sopenharmony_ci	RX0_A_MARK, TX0_A_MARK,
175562306a36Sopenharmony_ci};
175662306a36Sopenharmony_cistatic const unsigned int scif0_clk_a_pins[] = {
175762306a36Sopenharmony_ci	/* SCK */
175862306a36Sopenharmony_ci	RCAR_GP_PIN(4, 19),
175962306a36Sopenharmony_ci};
176062306a36Sopenharmony_cistatic const unsigned int scif0_clk_a_mux[] = {
176162306a36Sopenharmony_ci	SCK0_A_MARK,
176262306a36Sopenharmony_ci};
176362306a36Sopenharmony_cistatic const unsigned int scif0_data_b_pins[] = {
176462306a36Sopenharmony_ci	/* RX, TX */
176562306a36Sopenharmony_ci	RCAR_GP_PIN(4, 31), RCAR_GP_PIN(4, 28),
176662306a36Sopenharmony_ci};
176762306a36Sopenharmony_cistatic const unsigned int scif0_data_b_mux[] = {
176862306a36Sopenharmony_ci	RX0_B_MARK, TX0_B_MARK,
176962306a36Sopenharmony_ci};
177062306a36Sopenharmony_cistatic const unsigned int scif0_clk_b_pins[] = {
177162306a36Sopenharmony_ci	/* SCK */
177262306a36Sopenharmony_ci	RCAR_GP_PIN(5, 2),
177362306a36Sopenharmony_ci};
177462306a36Sopenharmony_cistatic const unsigned int scif0_clk_b_mux[] = {
177562306a36Sopenharmony_ci	SCK0_B_MARK,
177662306a36Sopenharmony_ci};
177762306a36Sopenharmony_cistatic const unsigned int scif0_ctrl_pins[] = {
177862306a36Sopenharmony_ci	/* RTS, CTS */
177962306a36Sopenharmony_ci	RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 23),
178062306a36Sopenharmony_ci};
178162306a36Sopenharmony_cistatic const unsigned int scif0_ctrl_mux[] = {
178262306a36Sopenharmony_ci	RTS0_N_MARK, CTS0_N_MARK,
178362306a36Sopenharmony_ci};
178462306a36Sopenharmony_ci/* - SCIF1 ------------------------------------------------------------------ */
178562306a36Sopenharmony_cistatic const unsigned int scif1_data_a_pins[] = {
178662306a36Sopenharmony_ci	/* RX, TX */
178762306a36Sopenharmony_ci	RCAR_GP_PIN(4, 23), RCAR_GP_PIN(4, 24),
178862306a36Sopenharmony_ci};
178962306a36Sopenharmony_cistatic const unsigned int scif1_data_a_mux[] = {
179062306a36Sopenharmony_ci	RX1_A_MARK, TX1_A_MARK,
179162306a36Sopenharmony_ci};
179262306a36Sopenharmony_cistatic const unsigned int scif1_clk_a_pins[] = {
179362306a36Sopenharmony_ci	/* SCK */
179462306a36Sopenharmony_ci	RCAR_GP_PIN(4, 22),
179562306a36Sopenharmony_ci};
179662306a36Sopenharmony_cistatic const unsigned int scif1_clk_a_mux[] = {
179762306a36Sopenharmony_ci	SCK1_A_MARK,
179862306a36Sopenharmony_ci};
179962306a36Sopenharmony_cistatic const unsigned int scif1_data_b_pins[] = {
180062306a36Sopenharmony_ci	/* RX, TX */
180162306a36Sopenharmony_ci	RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 28),
180262306a36Sopenharmony_ci};
180362306a36Sopenharmony_cistatic const unsigned int scif1_data_b_mux[] = {
180462306a36Sopenharmony_ci	RX1_B_MARK, TX1_B_MARK,
180562306a36Sopenharmony_ci};
180662306a36Sopenharmony_cistatic const unsigned int scif1_clk_b_pins[] = {
180762306a36Sopenharmony_ci	/* SCK */
180862306a36Sopenharmony_ci	RCAR_GP_PIN(2, 25),
180962306a36Sopenharmony_ci};
181062306a36Sopenharmony_cistatic const unsigned int scif1_clk_b_mux[] = {
181162306a36Sopenharmony_ci	SCK1_B_MARK,
181262306a36Sopenharmony_ci};
181362306a36Sopenharmony_cistatic const unsigned int scif1_ctrl_pins[] = {
181462306a36Sopenharmony_ci	/* RTS, CTS */
181562306a36Sopenharmony_ci	RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 10),
181662306a36Sopenharmony_ci};
181762306a36Sopenharmony_cistatic const unsigned int scif1_ctrl_mux[] = {
181862306a36Sopenharmony_ci	RTS1_N_MARK, CTS1_N_MARK,
181962306a36Sopenharmony_ci};
182062306a36Sopenharmony_ci
182162306a36Sopenharmony_ci/* - SCIF2 ------------------------------------------------------------------ */
182262306a36Sopenharmony_cistatic const unsigned int scif2_data_pins[] = {
182362306a36Sopenharmony_ci	/* RX, TX */
182462306a36Sopenharmony_ci	RCAR_GP_PIN(4, 26), RCAR_GP_PIN(4, 27),
182562306a36Sopenharmony_ci};
182662306a36Sopenharmony_cistatic const unsigned int scif2_data_mux[] = {
182762306a36Sopenharmony_ci	RX2_MARK, TX2_MARK,
182862306a36Sopenharmony_ci};
182962306a36Sopenharmony_cistatic const unsigned int scif2_clk_pins[] = {
183062306a36Sopenharmony_ci	/* SCK */
183162306a36Sopenharmony_ci	RCAR_GP_PIN(4, 25),
183262306a36Sopenharmony_ci};
183362306a36Sopenharmony_cistatic const unsigned int scif2_clk_mux[] = {
183462306a36Sopenharmony_ci	SCK2_MARK,
183562306a36Sopenharmony_ci};
183662306a36Sopenharmony_ci/* - SCIF3 ------------------------------------------------------------------ */
183762306a36Sopenharmony_cistatic const unsigned int scif3_data_a_pins[] = {
183862306a36Sopenharmony_ci	/* RX, TX */
183962306a36Sopenharmony_ci	RCAR_GP_PIN(2, 31), RCAR_GP_PIN(4, 00),
184062306a36Sopenharmony_ci};
184162306a36Sopenharmony_cistatic const unsigned int scif3_data_a_mux[] = {
184262306a36Sopenharmony_ci	RX3_A_MARK, TX3_A_MARK,
184362306a36Sopenharmony_ci};
184462306a36Sopenharmony_cistatic const unsigned int scif3_clk_a_pins[] = {
184562306a36Sopenharmony_ci	/* SCK */
184662306a36Sopenharmony_ci	RCAR_GP_PIN(2, 30),
184762306a36Sopenharmony_ci};
184862306a36Sopenharmony_cistatic const unsigned int scif3_clk_a_mux[] = {
184962306a36Sopenharmony_ci	SCK3_A_MARK,
185062306a36Sopenharmony_ci};
185162306a36Sopenharmony_cistatic const unsigned int scif3_data_b_pins[] = {
185262306a36Sopenharmony_ci	/* RX, TX */
185362306a36Sopenharmony_ci	RCAR_GP_PIN(1, 30), RCAR_GP_PIN(1, 31),
185462306a36Sopenharmony_ci};
185562306a36Sopenharmony_cistatic const unsigned int scif3_data_b_mux[] = {
185662306a36Sopenharmony_ci	RX3_B_MARK, TX3_B_MARK,
185762306a36Sopenharmony_ci};
185862306a36Sopenharmony_cistatic const unsigned int scif3_clk_b_pins[] = {
185962306a36Sopenharmony_ci	/* SCK */
186062306a36Sopenharmony_ci	RCAR_GP_PIN(1, 29),
186162306a36Sopenharmony_ci};
186262306a36Sopenharmony_cistatic const unsigned int scif3_clk_b_mux[] = {
186362306a36Sopenharmony_ci	SCK3_B_MARK,
186462306a36Sopenharmony_ci};
186562306a36Sopenharmony_ci/* - SCIF4 ------------------------------------------------------------------ */
186662306a36Sopenharmony_cistatic const unsigned int scif4_data_a_pins[] = {
186762306a36Sopenharmony_ci	/* RX, TX */
186862306a36Sopenharmony_ci	RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12),
186962306a36Sopenharmony_ci};
187062306a36Sopenharmony_cistatic const unsigned int scif4_data_a_mux[] = {
187162306a36Sopenharmony_ci	RX4_A_MARK, TX4_A_MARK,
187262306a36Sopenharmony_ci};
187362306a36Sopenharmony_cistatic const unsigned int scif4_clk_a_pins[] = {
187462306a36Sopenharmony_ci	/* SCK */
187562306a36Sopenharmony_ci	RCAR_GP_PIN(2, 6),
187662306a36Sopenharmony_ci};
187762306a36Sopenharmony_cistatic const unsigned int scif4_clk_a_mux[] = {
187862306a36Sopenharmony_ci	SCK4_A_MARK,
187962306a36Sopenharmony_ci};
188062306a36Sopenharmony_cistatic const unsigned int scif4_data_b_pins[] = {
188162306a36Sopenharmony_ci	/* RX, TX */
188262306a36Sopenharmony_ci	RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17),
188362306a36Sopenharmony_ci};
188462306a36Sopenharmony_cistatic const unsigned int scif4_data_b_mux[] = {
188562306a36Sopenharmony_ci	RX4_B_MARK, TX4_B_MARK,
188662306a36Sopenharmony_ci};
188762306a36Sopenharmony_cistatic const unsigned int scif4_clk_b_pins[] = {
188862306a36Sopenharmony_ci	/* SCK */
188962306a36Sopenharmony_ci	RCAR_GP_PIN(1, 15),
189062306a36Sopenharmony_ci};
189162306a36Sopenharmony_cistatic const unsigned int scif4_clk_b_mux[] = {
189262306a36Sopenharmony_ci	SCK4_B_MARK,
189362306a36Sopenharmony_ci};
189462306a36Sopenharmony_ci/* - SCIF5 ------------------------------------------------------------------ */
189562306a36Sopenharmony_cistatic const unsigned int scif5_data_a_pins[] = {
189662306a36Sopenharmony_ci	/* RX, TX */
189762306a36Sopenharmony_ci	RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8),
189862306a36Sopenharmony_ci};
189962306a36Sopenharmony_cistatic const unsigned int scif5_data_a_mux[] = {
190062306a36Sopenharmony_ci	RX5_A_MARK, TX5_A_MARK,
190162306a36Sopenharmony_ci};
190262306a36Sopenharmony_cistatic const unsigned int scif5_clk_a_pins[] = {
190362306a36Sopenharmony_ci	/* SCK */
190462306a36Sopenharmony_ci	RCAR_GP_PIN(0, 6),
190562306a36Sopenharmony_ci};
190662306a36Sopenharmony_cistatic const unsigned int scif5_clk_a_mux[] = {
190762306a36Sopenharmony_ci	SCK5_A_MARK,
190862306a36Sopenharmony_ci};
190962306a36Sopenharmony_cistatic const unsigned int scif5_data_b_pins[] = {
191062306a36Sopenharmony_ci	/* RX, TX */
191162306a36Sopenharmony_ci	RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 5),
191262306a36Sopenharmony_ci};
191362306a36Sopenharmony_cistatic const unsigned int scif5_data_b_mux[] = {
191462306a36Sopenharmony_ci	RX5_B_MARK, TX5_B_MARK,
191562306a36Sopenharmony_ci};
191662306a36Sopenharmony_cistatic const unsigned int scif5_clk_b_pins[] = {
191762306a36Sopenharmony_ci	/* SCK */
191862306a36Sopenharmony_ci	RCAR_GP_PIN(1, 3),
191962306a36Sopenharmony_ci};
192062306a36Sopenharmony_cistatic const unsigned int scif5_clk_b_mux[] = {
192162306a36Sopenharmony_ci	SCK5_B_MARK,
192262306a36Sopenharmony_ci};
192362306a36Sopenharmony_ci/* - SCIF Clock ------------------------------------------------------------- */
192462306a36Sopenharmony_cistatic const unsigned int scif_clk_pins[] = {
192562306a36Sopenharmony_ci	/* SCIF_CLK */
192662306a36Sopenharmony_ci	RCAR_GP_PIN(2, 27),
192762306a36Sopenharmony_ci};
192862306a36Sopenharmony_cistatic const unsigned int scif_clk_mux[] = {
192962306a36Sopenharmony_ci	SCIF_CLK_MARK,
193062306a36Sopenharmony_ci};
193162306a36Sopenharmony_ci
193262306a36Sopenharmony_ci/* - SSI ---------------------------------------------------------------*/
193362306a36Sopenharmony_cistatic const unsigned int ssi3_data_pins[] = {
193462306a36Sopenharmony_ci	/* SDATA */
193562306a36Sopenharmony_ci	RCAR_GP_PIN(4, 3),
193662306a36Sopenharmony_ci};
193762306a36Sopenharmony_cistatic const unsigned int ssi3_data_mux[] = {
193862306a36Sopenharmony_ci	SSI_SDATA3_MARK,
193962306a36Sopenharmony_ci};
194062306a36Sopenharmony_cistatic const unsigned int ssi34_ctrl_pins[] = {
194162306a36Sopenharmony_ci	/* SCK,  WS */
194262306a36Sopenharmony_ci	RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 4),
194362306a36Sopenharmony_ci};
194462306a36Sopenharmony_cistatic const unsigned int ssi34_ctrl_mux[] = {
194562306a36Sopenharmony_ci	SSI_SCK34_MARK, SSI_WS34_MARK,
194662306a36Sopenharmony_ci};
194762306a36Sopenharmony_cistatic const unsigned int ssi4_ctrl_a_pins[] = {
194862306a36Sopenharmony_ci	/* SCK, WS */
194962306a36Sopenharmony_ci	RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 7),
195062306a36Sopenharmony_ci};
195162306a36Sopenharmony_cistatic const unsigned int ssi4_ctrl_a_mux[] = {
195262306a36Sopenharmony_ci	SSI_SCK4_A_MARK, SSI_WS4_A_MARK,
195362306a36Sopenharmony_ci};
195462306a36Sopenharmony_cistatic const unsigned int ssi4_data_a_pins[] = {
195562306a36Sopenharmony_ci	/* SDATA */
195662306a36Sopenharmony_ci	RCAR_GP_PIN(4, 6),
195762306a36Sopenharmony_ci};
195862306a36Sopenharmony_cistatic const unsigned int ssi4_data_a_mux[] = {
195962306a36Sopenharmony_ci	SSI_SDATA4_A_MARK,
196062306a36Sopenharmony_ci};
196162306a36Sopenharmony_cistatic const unsigned int ssi4_ctrl_b_pins[] = {
196262306a36Sopenharmony_ci	/* SCK, WS */
196362306a36Sopenharmony_ci	RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 20),
196462306a36Sopenharmony_ci};
196562306a36Sopenharmony_cistatic const unsigned int ssi4_ctrl_b_mux[] = {
196662306a36Sopenharmony_ci	SSI_SCK4_B_MARK, SSI_WS4_B_MARK,
196762306a36Sopenharmony_ci};
196862306a36Sopenharmony_cistatic const unsigned int ssi4_data_b_pins[] = {
196962306a36Sopenharmony_ci	/* SDATA */
197062306a36Sopenharmony_ci	RCAR_GP_PIN(2, 16),
197162306a36Sopenharmony_ci};
197262306a36Sopenharmony_cistatic const unsigned int ssi4_data_b_mux[] = {
197362306a36Sopenharmony_ci	SSI_SDATA4_B_MARK,
197462306a36Sopenharmony_ci};
197562306a36Sopenharmony_ci
197662306a36Sopenharmony_ci/* - USB0 ------------------------------------------------------------------- */
197762306a36Sopenharmony_cistatic const unsigned int usb0_pins[] = {
197862306a36Sopenharmony_ci	/* PWEN, OVC */
197962306a36Sopenharmony_ci	RCAR_GP_PIN(0, 0), RCAR_GP_PIN(0, 1),
198062306a36Sopenharmony_ci};
198162306a36Sopenharmony_cistatic const unsigned int usb0_mux[] = {
198262306a36Sopenharmony_ci	USB0_PWEN_MARK, USB0_OVC_MARK,
198362306a36Sopenharmony_ci};
198462306a36Sopenharmony_ci
198562306a36Sopenharmony_ci/* - VIN4 ------------------------------------------------------------------- */
198662306a36Sopenharmony_cistatic const unsigned int vin4_data18_pins[] = {
198762306a36Sopenharmony_ci	RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 4),
198862306a36Sopenharmony_ci	RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 6),
198962306a36Sopenharmony_ci	RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 8),
199062306a36Sopenharmony_ci	RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12),
199162306a36Sopenharmony_ci	RCAR_GP_PIN(2, 13), RCAR_GP_PIN(2, 14),
199262306a36Sopenharmony_ci	RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 16),
199362306a36Sopenharmony_ci	RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 20),
199462306a36Sopenharmony_ci	RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 22),
199562306a36Sopenharmony_ci	RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 24),
199662306a36Sopenharmony_ci};
199762306a36Sopenharmony_cistatic const unsigned int vin4_data18_mux[] = {
199862306a36Sopenharmony_ci	VI4_DATA2_MARK, VI4_DATA3_MARK,
199962306a36Sopenharmony_ci	VI4_DATA4_MARK, VI4_DATA5_MARK,
200062306a36Sopenharmony_ci	VI4_DATA6_MARK, VI4_DATA7_MARK,
200162306a36Sopenharmony_ci	VI4_DATA10_MARK, VI4_DATA11_MARK,
200262306a36Sopenharmony_ci	VI4_DATA12_MARK, VI4_DATA13_MARK,
200362306a36Sopenharmony_ci	VI4_DATA14_MARK, VI4_DATA15_MARK,
200462306a36Sopenharmony_ci	VI4_DATA18_MARK, VI4_DATA19_MARK,
200562306a36Sopenharmony_ci	VI4_DATA20_MARK, VI4_DATA21_MARK,
200662306a36Sopenharmony_ci	VI4_DATA22_MARK, VI4_DATA23_MARK,
200762306a36Sopenharmony_ci};
200862306a36Sopenharmony_cistatic const unsigned int vin4_data_pins[] = {
200962306a36Sopenharmony_ci	RCAR_GP_PIN(2, 1), RCAR_GP_PIN(2, 2),
201062306a36Sopenharmony_ci	RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 4),
201162306a36Sopenharmony_ci	RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 6),
201262306a36Sopenharmony_ci	RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 8),
201362306a36Sopenharmony_ci	RCAR_GP_PIN(2, 9), RCAR_GP_PIN(2, 10),
201462306a36Sopenharmony_ci	RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12),
201562306a36Sopenharmony_ci	RCAR_GP_PIN(2, 13), RCAR_GP_PIN(2, 14),
201662306a36Sopenharmony_ci	RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 16),
201762306a36Sopenharmony_ci	RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 18),
201862306a36Sopenharmony_ci	RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 20),
201962306a36Sopenharmony_ci	RCAR_GP_PIN(2, 21), RCAR_GP_PIN(2, 22),
202062306a36Sopenharmony_ci	RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 24),
202162306a36Sopenharmony_ci};
202262306a36Sopenharmony_cistatic const unsigned int vin4_data_mux[] = {
202362306a36Sopenharmony_ci	VI4_DATA0_MARK, VI4_DATA1_MARK,
202462306a36Sopenharmony_ci	VI4_DATA2_MARK, VI4_DATA3_MARK,
202562306a36Sopenharmony_ci	VI4_DATA4_MARK, VI4_DATA5_MARK,
202662306a36Sopenharmony_ci	VI4_DATA6_MARK, VI4_DATA7_MARK,
202762306a36Sopenharmony_ci	VI4_DATA8_MARK,  VI4_DATA9_MARK,
202862306a36Sopenharmony_ci	VI4_DATA10_MARK, VI4_DATA11_MARK,
202962306a36Sopenharmony_ci	VI4_DATA12_MARK, VI4_DATA13_MARK,
203062306a36Sopenharmony_ci	VI4_DATA14_MARK, VI4_DATA15_MARK,
203162306a36Sopenharmony_ci	VI4_DATA16_MARK, VI4_DATA17_MARK,
203262306a36Sopenharmony_ci	VI4_DATA18_MARK, VI4_DATA19_MARK,
203362306a36Sopenharmony_ci	VI4_DATA20_MARK, VI4_DATA21_MARK,
203462306a36Sopenharmony_ci	VI4_DATA22_MARK, VI4_DATA23_MARK,
203562306a36Sopenharmony_ci};
203662306a36Sopenharmony_cistatic const unsigned int vin4_sync_pins[] = {
203762306a36Sopenharmony_ci	/* HSYNC#, VSYNC# */
203862306a36Sopenharmony_ci	RCAR_GP_PIN(2, 26), RCAR_GP_PIN(2, 25),
203962306a36Sopenharmony_ci};
204062306a36Sopenharmony_cistatic const unsigned int vin4_sync_mux[] = {
204162306a36Sopenharmony_ci	VI4_HSYNC_N_MARK, VI4_VSYNC_N_MARK,
204262306a36Sopenharmony_ci};
204362306a36Sopenharmony_cistatic const unsigned int vin4_field_pins[] = {
204462306a36Sopenharmony_ci	/* FIELD */
204562306a36Sopenharmony_ci	RCAR_GP_PIN(2, 27),
204662306a36Sopenharmony_ci};
204762306a36Sopenharmony_cistatic const unsigned int vin4_field_mux[] = {
204862306a36Sopenharmony_ci	VI4_FIELD_MARK,
204962306a36Sopenharmony_ci};
205062306a36Sopenharmony_cistatic const unsigned int vin4_clkenb_pins[] = {
205162306a36Sopenharmony_ci	/* CLKENB */
205262306a36Sopenharmony_ci	RCAR_GP_PIN(2, 28),
205362306a36Sopenharmony_ci};
205462306a36Sopenharmony_cistatic const unsigned int vin4_clkenb_mux[] = {
205562306a36Sopenharmony_ci	VI4_CLKENB_MARK,
205662306a36Sopenharmony_ci};
205762306a36Sopenharmony_cistatic const unsigned int vin4_clk_pins[] = {
205862306a36Sopenharmony_ci	/* CLK */
205962306a36Sopenharmony_ci	RCAR_GP_PIN(2, 0),
206062306a36Sopenharmony_ci};
206162306a36Sopenharmony_cistatic const unsigned int vin4_clk_mux[] = {
206262306a36Sopenharmony_ci	VI4_CLK_MARK,
206362306a36Sopenharmony_ci};
206462306a36Sopenharmony_ci
206562306a36Sopenharmony_cistatic const struct sh_pfc_pin_group pinmux_groups[] = {
206662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(audio_clk_a),
206762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(audio_clk_b),
206862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(audio_clkout),
206962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(audio_clkout1),
207062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_link),
207162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_magic),
207262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_phy_int),
207362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP_ALIAS(avb0_mdc, avb0_mdio),	/* Deprecated */
207462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_mdio),
207562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_mii),
207662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_avtp_pps_a),
207762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_avtp_match_a),
207862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_avtp_capture_a),
207962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_avtp_pps_b),
208062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_avtp_match_b),
208162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(avb0_avtp_capture_b),
208262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(can0_data_a),
208362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(can0_data_b),
208462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(can1_data_a),
208562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(can1_data_b),
208662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(can_clk),
208762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(canfd0_data),
208862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(canfd1_data),
208962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(du_rgb666),
209062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(du_rgb888),
209162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(du_clk_in_1),
209262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(du_clk_out_0),
209362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(du_sync),
209462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(du_disp_cde),
209562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(du_cde),
209662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(du_disp),
209762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(i2c0),
209862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(i2c1),
209962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(i2c2_a),
210062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(i2c2_b),
210162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(i2c3_a),
210262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(i2c3_b),
210362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(mlb_3pin),
210462306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(mmc_data, 1),
210562306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(mmc_data, 4),
210662306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(mmc_data, 8),
210762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(mmc_ctrl),
210862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof0_clk),
210962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof0_sync),
211062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof0_ss1),
211162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof0_ss2),
211262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof0_txd),
211362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof0_rxd),
211462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof1_clk),
211562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof1_sync),
211662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof1_ss1),
211762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof1_ss2),
211862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof1_txd),
211962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof1_rxd),
212062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof2_clk),
212162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof2_sync_a),
212262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof2_sync_b),
212362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof2_ss1),
212462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof2_ss2),
212562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof2_txd),
212662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof2_rxd),
212762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_clk_a),
212862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_sync_a),
212962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_ss1_a),
213062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_ss2_a),
213162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_txd_a),
213262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_rxd_a),
213362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_clk_b),
213462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_sync_b),
213562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_ss1_b),
213662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_ss2_b),
213762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_txd_b),
213862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(msiof3_rxd_b),
213962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm0_a),
214062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm0_b),
214162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm0_c),
214262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm1_a),
214362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm1_b),
214462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm1_c),
214562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm2_a),
214662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm2_b),
214762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm2_c),
214862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm3_a),
214962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm3_b),
215062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(pwm3_c),
215162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(qspi0_ctrl),
215262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP_SUBSET(qspi0_data2, rpc_data, 0, 2),
215362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP_SUBSET(qspi0_data4, rpc_data, 0, 4),
215462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(qspi1_ctrl),
215562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP_SUBSET(qspi1_data2, rpc_data, 4, 2),
215662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP_SUBSET(qspi1_data4, rpc_data, 4, 4),
215762306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(rpc_clk, 1),
215862306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(rpc_clk, 2),
215962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(rpc_ctrl),
216062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(rpc_data),
216162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(rpc_reset),
216262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(rpc_int),
216362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif0_data_a),
216462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif0_clk_a),
216562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif0_data_b),
216662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif0_clk_b),
216762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif0_ctrl),
216862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif1_data_a),
216962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif1_clk_a),
217062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif1_data_b),
217162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif1_clk_b),
217262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif1_ctrl),
217362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif2_data),
217462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif2_clk),
217562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif3_data_a),
217662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif3_clk_a),
217762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif3_data_b),
217862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif3_clk_b),
217962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif4_data_a),
218062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif4_clk_a),
218162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif4_data_b),
218262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif4_clk_b),
218362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif5_data_a),
218462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif5_clk_a),
218562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif5_data_b),
218662306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif5_clk_b),
218762306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(scif_clk),
218862306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(ssi3_data),
218962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(ssi34_ctrl),
219062306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(ssi4_ctrl_a),
219162306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(ssi4_data_a),
219262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(ssi4_ctrl_b),
219362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(ssi4_data_b),
219462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(usb0),
219562306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(vin4_data, 8),
219662306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(vin4_data, 10),
219762306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(vin4_data, 12),
219862306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(vin4_data, 16),
219962306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(vin4_data18),
220062306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(vin4_data, 20),
220162306a36Sopenharmony_ci	BUS_DATA_PIN_GROUP(vin4_data, 24),
220262306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(vin4_sync),
220362306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(vin4_field),
220462306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(vin4_clkenb),
220562306a36Sopenharmony_ci	SH_PFC_PIN_GROUP(vin4_clk),
220662306a36Sopenharmony_ci};
220762306a36Sopenharmony_ci
220862306a36Sopenharmony_cistatic const char * const audio_clk_groups[] = {
220962306a36Sopenharmony_ci	"audio_clk_a",
221062306a36Sopenharmony_ci	"audio_clk_b",
221162306a36Sopenharmony_ci	"audio_clkout",
221262306a36Sopenharmony_ci	"audio_clkout1",
221362306a36Sopenharmony_ci};
221462306a36Sopenharmony_ci
221562306a36Sopenharmony_cistatic const char * const avb0_groups[] = {
221662306a36Sopenharmony_ci	"avb0_link",
221762306a36Sopenharmony_ci	"avb0_magic",
221862306a36Sopenharmony_ci	"avb0_phy_int",
221962306a36Sopenharmony_ci	"avb0_mdc",	/* Deprecated, please use "avb0_mdio" instead */
222062306a36Sopenharmony_ci	"avb0_mdio",
222162306a36Sopenharmony_ci	"avb0_mii",
222262306a36Sopenharmony_ci	"avb0_avtp_pps_a",
222362306a36Sopenharmony_ci	"avb0_avtp_match_a",
222462306a36Sopenharmony_ci	"avb0_avtp_capture_a",
222562306a36Sopenharmony_ci	"avb0_avtp_pps_b",
222662306a36Sopenharmony_ci	"avb0_avtp_match_b",
222762306a36Sopenharmony_ci	"avb0_avtp_capture_b",
222862306a36Sopenharmony_ci};
222962306a36Sopenharmony_ci
223062306a36Sopenharmony_cistatic const char * const can0_groups[] = {
223162306a36Sopenharmony_ci	"can0_data_a",
223262306a36Sopenharmony_ci	"can0_data_b",
223362306a36Sopenharmony_ci};
223462306a36Sopenharmony_cistatic const char * const can1_groups[] = {
223562306a36Sopenharmony_ci	"can1_data_a",
223662306a36Sopenharmony_ci	"can1_data_b",
223762306a36Sopenharmony_ci};
223862306a36Sopenharmony_cistatic const char * const can_clk_groups[] = {
223962306a36Sopenharmony_ci	"can_clk",
224062306a36Sopenharmony_ci};
224162306a36Sopenharmony_ci
224262306a36Sopenharmony_cistatic const char * const canfd0_groups[] = {
224362306a36Sopenharmony_ci	"canfd0_data",
224462306a36Sopenharmony_ci};
224562306a36Sopenharmony_cistatic const char * const canfd1_groups[] = {
224662306a36Sopenharmony_ci	"canfd1_data",
224762306a36Sopenharmony_ci};
224862306a36Sopenharmony_ci
224962306a36Sopenharmony_cistatic const char * const du_groups[] = {
225062306a36Sopenharmony_ci	"du_rgb666",
225162306a36Sopenharmony_ci	"du_rgb888",
225262306a36Sopenharmony_ci	"du_clk_in_1",
225362306a36Sopenharmony_ci	"du_clk_out_0",
225462306a36Sopenharmony_ci	"du_sync",
225562306a36Sopenharmony_ci	"du_disp_cde",
225662306a36Sopenharmony_ci	"du_cde",
225762306a36Sopenharmony_ci	"du_disp",
225862306a36Sopenharmony_ci};
225962306a36Sopenharmony_ci
226062306a36Sopenharmony_cistatic const char * const i2c0_groups[] = {
226162306a36Sopenharmony_ci	"i2c0",
226262306a36Sopenharmony_ci};
226362306a36Sopenharmony_cistatic const char * const i2c1_groups[] = {
226462306a36Sopenharmony_ci	"i2c1",
226562306a36Sopenharmony_ci};
226662306a36Sopenharmony_ci
226762306a36Sopenharmony_cistatic const char * const i2c2_groups[] = {
226862306a36Sopenharmony_ci	"i2c2_a",
226962306a36Sopenharmony_ci	"i2c2_b",
227062306a36Sopenharmony_ci};
227162306a36Sopenharmony_ci
227262306a36Sopenharmony_cistatic const char * const i2c3_groups[] = {
227362306a36Sopenharmony_ci	"i2c3_a",
227462306a36Sopenharmony_ci	"i2c3_b",
227562306a36Sopenharmony_ci};
227662306a36Sopenharmony_ci
227762306a36Sopenharmony_cistatic const char * const mlb_3pin_groups[] = {
227862306a36Sopenharmony_ci	"mlb_3pin",
227962306a36Sopenharmony_ci};
228062306a36Sopenharmony_ci
228162306a36Sopenharmony_cistatic const char * const mmc_groups[] = {
228262306a36Sopenharmony_ci	"mmc_data1",
228362306a36Sopenharmony_ci	"mmc_data4",
228462306a36Sopenharmony_ci	"mmc_data8",
228562306a36Sopenharmony_ci	"mmc_ctrl",
228662306a36Sopenharmony_ci};
228762306a36Sopenharmony_ci
228862306a36Sopenharmony_cistatic const char * const msiof0_groups[] = {
228962306a36Sopenharmony_ci	"msiof0_clk",
229062306a36Sopenharmony_ci	"msiof0_sync",
229162306a36Sopenharmony_ci	"msiof0_ss1",
229262306a36Sopenharmony_ci	"msiof0_ss2",
229362306a36Sopenharmony_ci	"msiof0_txd",
229462306a36Sopenharmony_ci	"msiof0_rxd",
229562306a36Sopenharmony_ci};
229662306a36Sopenharmony_ci
229762306a36Sopenharmony_cistatic const char * const msiof1_groups[] = {
229862306a36Sopenharmony_ci	"msiof1_clk",
229962306a36Sopenharmony_ci	"msiof1_sync",
230062306a36Sopenharmony_ci	"msiof1_ss1",
230162306a36Sopenharmony_ci	"msiof1_ss2",
230262306a36Sopenharmony_ci	"msiof1_txd",
230362306a36Sopenharmony_ci	"msiof1_rxd",
230462306a36Sopenharmony_ci};
230562306a36Sopenharmony_ci
230662306a36Sopenharmony_cistatic const char * const msiof2_groups[] = {
230762306a36Sopenharmony_ci	"msiof2_clk",
230862306a36Sopenharmony_ci	"msiof2_sync_a",
230962306a36Sopenharmony_ci	"msiof2_sync_b",
231062306a36Sopenharmony_ci	"msiof2_ss1",
231162306a36Sopenharmony_ci	"msiof2_ss2",
231262306a36Sopenharmony_ci	"msiof2_txd",
231362306a36Sopenharmony_ci	"msiof2_rxd",
231462306a36Sopenharmony_ci};
231562306a36Sopenharmony_ci
231662306a36Sopenharmony_cistatic const char * const msiof3_groups[] = {
231762306a36Sopenharmony_ci	"msiof3_clk_a",
231862306a36Sopenharmony_ci	"msiof3_sync_a",
231962306a36Sopenharmony_ci	"msiof3_ss1_a",
232062306a36Sopenharmony_ci	"msiof3_ss2_a",
232162306a36Sopenharmony_ci	"msiof3_txd_a",
232262306a36Sopenharmony_ci	"msiof3_rxd_a",
232362306a36Sopenharmony_ci	"msiof3_clk_b",
232462306a36Sopenharmony_ci	"msiof3_sync_b",
232562306a36Sopenharmony_ci	"msiof3_ss1_b",
232662306a36Sopenharmony_ci	"msiof3_ss2_b",
232762306a36Sopenharmony_ci	"msiof3_txd_b",
232862306a36Sopenharmony_ci	"msiof3_rxd_b",
232962306a36Sopenharmony_ci};
233062306a36Sopenharmony_ci
233162306a36Sopenharmony_cistatic const char * const pwm0_groups[] = {
233262306a36Sopenharmony_ci	"pwm0_a",
233362306a36Sopenharmony_ci	"pwm0_b",
233462306a36Sopenharmony_ci	"pwm0_c",
233562306a36Sopenharmony_ci};
233662306a36Sopenharmony_ci
233762306a36Sopenharmony_cistatic const char * const pwm1_groups[] = {
233862306a36Sopenharmony_ci	"pwm1_a",
233962306a36Sopenharmony_ci	"pwm1_b",
234062306a36Sopenharmony_ci	"pwm1_c",
234162306a36Sopenharmony_ci};
234262306a36Sopenharmony_ci
234362306a36Sopenharmony_cistatic const char * const pwm2_groups[] = {
234462306a36Sopenharmony_ci	"pwm2_a",
234562306a36Sopenharmony_ci	"pwm2_b",
234662306a36Sopenharmony_ci	"pwm2_c",
234762306a36Sopenharmony_ci};
234862306a36Sopenharmony_ci
234962306a36Sopenharmony_cistatic const char * const pwm3_groups[] = {
235062306a36Sopenharmony_ci	"pwm3_a",
235162306a36Sopenharmony_ci	"pwm3_b",
235262306a36Sopenharmony_ci	"pwm3_c",
235362306a36Sopenharmony_ci};
235462306a36Sopenharmony_ci
235562306a36Sopenharmony_cistatic const char * const qspi0_groups[] = {
235662306a36Sopenharmony_ci	"qspi0_ctrl",
235762306a36Sopenharmony_ci	"qspi0_data2",
235862306a36Sopenharmony_ci	"qspi0_data4",
235962306a36Sopenharmony_ci};
236062306a36Sopenharmony_ci
236162306a36Sopenharmony_cistatic const char * const qspi1_groups[] = {
236262306a36Sopenharmony_ci	"qspi1_ctrl",
236362306a36Sopenharmony_ci	"qspi1_data2",
236462306a36Sopenharmony_ci	"qspi1_data4",
236562306a36Sopenharmony_ci};
236662306a36Sopenharmony_ci
236762306a36Sopenharmony_cistatic const char * const rpc_groups[] = {
236862306a36Sopenharmony_ci	"rpc_clk1",
236962306a36Sopenharmony_ci	"rpc_clk2",
237062306a36Sopenharmony_ci	"rpc_ctrl",
237162306a36Sopenharmony_ci	"rpc_data",
237262306a36Sopenharmony_ci	"rpc_reset",
237362306a36Sopenharmony_ci	"rpc_int",
237462306a36Sopenharmony_ci};
237562306a36Sopenharmony_ci
237662306a36Sopenharmony_cistatic const char * const scif0_groups[] = {
237762306a36Sopenharmony_ci	"scif0_data_a",
237862306a36Sopenharmony_ci	"scif0_clk_a",
237962306a36Sopenharmony_ci	"scif0_data_b",
238062306a36Sopenharmony_ci	"scif0_clk_b",
238162306a36Sopenharmony_ci	"scif0_ctrl",
238262306a36Sopenharmony_ci};
238362306a36Sopenharmony_ci
238462306a36Sopenharmony_cistatic const char * const scif1_groups[] = {
238562306a36Sopenharmony_ci	"scif1_data_a",
238662306a36Sopenharmony_ci	"scif1_clk_a",
238762306a36Sopenharmony_ci	"scif1_data_b",
238862306a36Sopenharmony_ci	"scif1_clk_b",
238962306a36Sopenharmony_ci	"scif1_ctrl",
239062306a36Sopenharmony_ci};
239162306a36Sopenharmony_ci
239262306a36Sopenharmony_cistatic const char * const scif2_groups[] = {
239362306a36Sopenharmony_ci	"scif2_data",
239462306a36Sopenharmony_ci	"scif2_clk",
239562306a36Sopenharmony_ci};
239662306a36Sopenharmony_ci
239762306a36Sopenharmony_cistatic const char * const scif3_groups[] = {
239862306a36Sopenharmony_ci	"scif3_data_a",
239962306a36Sopenharmony_ci	"scif3_clk_a",
240062306a36Sopenharmony_ci	"scif3_data_b",
240162306a36Sopenharmony_ci	"scif3_clk_b",
240262306a36Sopenharmony_ci};
240362306a36Sopenharmony_ci
240462306a36Sopenharmony_cistatic const char * const scif4_groups[] = {
240562306a36Sopenharmony_ci	"scif4_data_a",
240662306a36Sopenharmony_ci	"scif4_clk_a",
240762306a36Sopenharmony_ci	"scif4_data_b",
240862306a36Sopenharmony_ci	"scif4_clk_b",
240962306a36Sopenharmony_ci};
241062306a36Sopenharmony_ci
241162306a36Sopenharmony_cistatic const char * const scif5_groups[] = {
241262306a36Sopenharmony_ci	"scif5_data_a",
241362306a36Sopenharmony_ci	"scif5_clk_a",
241462306a36Sopenharmony_ci	"scif5_data_b",
241562306a36Sopenharmony_ci	"scif5_clk_b",
241662306a36Sopenharmony_ci};
241762306a36Sopenharmony_ci
241862306a36Sopenharmony_cistatic const char * const scif_clk_groups[] = {
241962306a36Sopenharmony_ci	"scif_clk",
242062306a36Sopenharmony_ci};
242162306a36Sopenharmony_ci
242262306a36Sopenharmony_cistatic const char * const ssi_groups[] = {
242362306a36Sopenharmony_ci	"ssi3_data",
242462306a36Sopenharmony_ci	"ssi34_ctrl",
242562306a36Sopenharmony_ci	"ssi4_ctrl_a",
242662306a36Sopenharmony_ci	"ssi4_data_a",
242762306a36Sopenharmony_ci	"ssi4_ctrl_b",
242862306a36Sopenharmony_ci	"ssi4_data_b",
242962306a36Sopenharmony_ci};
243062306a36Sopenharmony_ci
243162306a36Sopenharmony_cistatic const char * const usb0_groups[] = {
243262306a36Sopenharmony_ci	"usb0",
243362306a36Sopenharmony_ci};
243462306a36Sopenharmony_ci
243562306a36Sopenharmony_cistatic const char * const vin4_groups[] = {
243662306a36Sopenharmony_ci	"vin4_data8",
243762306a36Sopenharmony_ci	"vin4_data10",
243862306a36Sopenharmony_ci	"vin4_data12",
243962306a36Sopenharmony_ci	"vin4_data16",
244062306a36Sopenharmony_ci	"vin4_data18",
244162306a36Sopenharmony_ci	"vin4_data20",
244262306a36Sopenharmony_ci	"vin4_data24",
244362306a36Sopenharmony_ci	"vin4_sync",
244462306a36Sopenharmony_ci	"vin4_field",
244562306a36Sopenharmony_ci	"vin4_clkenb",
244662306a36Sopenharmony_ci	"vin4_clk",
244762306a36Sopenharmony_ci};
244862306a36Sopenharmony_ci
244962306a36Sopenharmony_cistatic const struct sh_pfc_function pinmux_functions[] = {
245062306a36Sopenharmony_ci	SH_PFC_FUNCTION(audio_clk),
245162306a36Sopenharmony_ci	SH_PFC_FUNCTION(avb0),
245262306a36Sopenharmony_ci	SH_PFC_FUNCTION(can0),
245362306a36Sopenharmony_ci	SH_PFC_FUNCTION(can1),
245462306a36Sopenharmony_ci	SH_PFC_FUNCTION(can_clk),
245562306a36Sopenharmony_ci	SH_PFC_FUNCTION(canfd0),
245662306a36Sopenharmony_ci	SH_PFC_FUNCTION(canfd1),
245762306a36Sopenharmony_ci	SH_PFC_FUNCTION(du),
245862306a36Sopenharmony_ci	SH_PFC_FUNCTION(i2c0),
245962306a36Sopenharmony_ci	SH_PFC_FUNCTION(i2c1),
246062306a36Sopenharmony_ci	SH_PFC_FUNCTION(i2c2),
246162306a36Sopenharmony_ci	SH_PFC_FUNCTION(i2c3),
246262306a36Sopenharmony_ci	SH_PFC_FUNCTION(mlb_3pin),
246362306a36Sopenharmony_ci	SH_PFC_FUNCTION(mmc),
246462306a36Sopenharmony_ci	SH_PFC_FUNCTION(msiof0),
246562306a36Sopenharmony_ci	SH_PFC_FUNCTION(msiof1),
246662306a36Sopenharmony_ci	SH_PFC_FUNCTION(msiof2),
246762306a36Sopenharmony_ci	SH_PFC_FUNCTION(msiof3),
246862306a36Sopenharmony_ci	SH_PFC_FUNCTION(pwm0),
246962306a36Sopenharmony_ci	SH_PFC_FUNCTION(pwm1),
247062306a36Sopenharmony_ci	SH_PFC_FUNCTION(pwm2),
247162306a36Sopenharmony_ci	SH_PFC_FUNCTION(pwm3),
247262306a36Sopenharmony_ci	SH_PFC_FUNCTION(qspi0),
247362306a36Sopenharmony_ci	SH_PFC_FUNCTION(qspi1),
247462306a36Sopenharmony_ci	SH_PFC_FUNCTION(rpc),
247562306a36Sopenharmony_ci	SH_PFC_FUNCTION(scif0),
247662306a36Sopenharmony_ci	SH_PFC_FUNCTION(scif1),
247762306a36Sopenharmony_ci	SH_PFC_FUNCTION(scif2),
247862306a36Sopenharmony_ci	SH_PFC_FUNCTION(scif3),
247962306a36Sopenharmony_ci	SH_PFC_FUNCTION(scif4),
248062306a36Sopenharmony_ci	SH_PFC_FUNCTION(scif5),
248162306a36Sopenharmony_ci	SH_PFC_FUNCTION(scif_clk),
248262306a36Sopenharmony_ci	SH_PFC_FUNCTION(ssi),
248362306a36Sopenharmony_ci	SH_PFC_FUNCTION(usb0),
248462306a36Sopenharmony_ci	SH_PFC_FUNCTION(vin4),
248562306a36Sopenharmony_ci};
248662306a36Sopenharmony_ci
248762306a36Sopenharmony_cistatic const struct pinmux_cfg_reg pinmux_config_regs[] = {
248862306a36Sopenharmony_ci#define F_(x, y)	FN_##y
248962306a36Sopenharmony_ci#define FM(x)		FN_##x
249062306a36Sopenharmony_ci	{ PINMUX_CFG_REG_VAR("GPSR0", 0xe6060100, 32,
249162306a36Sopenharmony_ci			     GROUP(-23, 1, 1, 1, 1, 1, 1, 1, 1, 1),
249262306a36Sopenharmony_ci			     GROUP(
249362306a36Sopenharmony_ci		/* GP0_31_9 RESERVED */
249462306a36Sopenharmony_ci		GP_0_8_FN,	GPSR0_8,
249562306a36Sopenharmony_ci		GP_0_7_FN,	GPSR0_7,
249662306a36Sopenharmony_ci		GP_0_6_FN,	GPSR0_6,
249762306a36Sopenharmony_ci		GP_0_5_FN,	GPSR0_5,
249862306a36Sopenharmony_ci		GP_0_4_FN,	GPSR0_4,
249962306a36Sopenharmony_ci		GP_0_3_FN,	GPSR0_3,
250062306a36Sopenharmony_ci		GP_0_2_FN,	GPSR0_2,
250162306a36Sopenharmony_ci		GP_0_1_FN,	GPSR0_1,
250262306a36Sopenharmony_ci		GP_0_0_FN,	GPSR0_0, ))
250362306a36Sopenharmony_ci	},
250462306a36Sopenharmony_ci	{ PINMUX_CFG_REG("GPSR1", 0xe6060104, 32, 1, GROUP(
250562306a36Sopenharmony_ci		GP_1_31_FN,	GPSR1_31,
250662306a36Sopenharmony_ci		GP_1_30_FN,	GPSR1_30,
250762306a36Sopenharmony_ci		GP_1_29_FN,	GPSR1_29,
250862306a36Sopenharmony_ci		GP_1_28_FN,	GPSR1_28,
250962306a36Sopenharmony_ci		GP_1_27_FN,	GPSR1_27,
251062306a36Sopenharmony_ci		GP_1_26_FN,	GPSR1_26,
251162306a36Sopenharmony_ci		GP_1_25_FN,	GPSR1_25,
251262306a36Sopenharmony_ci		GP_1_24_FN,	GPSR1_24,
251362306a36Sopenharmony_ci		GP_1_23_FN,	GPSR1_23,
251462306a36Sopenharmony_ci		GP_1_22_FN,	GPSR1_22,
251562306a36Sopenharmony_ci		GP_1_21_FN,	GPSR1_21,
251662306a36Sopenharmony_ci		GP_1_20_FN,	GPSR1_20,
251762306a36Sopenharmony_ci		GP_1_19_FN,	GPSR1_19,
251862306a36Sopenharmony_ci		GP_1_18_FN,	GPSR1_18,
251962306a36Sopenharmony_ci		GP_1_17_FN,	GPSR1_17,
252062306a36Sopenharmony_ci		GP_1_16_FN,	GPSR1_16,
252162306a36Sopenharmony_ci		GP_1_15_FN,	GPSR1_15,
252262306a36Sopenharmony_ci		GP_1_14_FN,	GPSR1_14,
252362306a36Sopenharmony_ci		GP_1_13_FN,	GPSR1_13,
252462306a36Sopenharmony_ci		GP_1_12_FN,	GPSR1_12,
252562306a36Sopenharmony_ci		GP_1_11_FN,	GPSR1_11,
252662306a36Sopenharmony_ci		GP_1_10_FN,	GPSR1_10,
252762306a36Sopenharmony_ci		GP_1_9_FN,	GPSR1_9,
252862306a36Sopenharmony_ci		GP_1_8_FN,	GPSR1_8,
252962306a36Sopenharmony_ci		GP_1_7_FN,	GPSR1_7,
253062306a36Sopenharmony_ci		GP_1_6_FN,	GPSR1_6,
253162306a36Sopenharmony_ci		GP_1_5_FN,	GPSR1_5,
253262306a36Sopenharmony_ci		GP_1_4_FN,	GPSR1_4,
253362306a36Sopenharmony_ci		GP_1_3_FN,	GPSR1_3,
253462306a36Sopenharmony_ci		GP_1_2_FN,	GPSR1_2,
253562306a36Sopenharmony_ci		GP_1_1_FN,	GPSR1_1,
253662306a36Sopenharmony_ci		GP_1_0_FN,	GPSR1_0, ))
253762306a36Sopenharmony_ci	},
253862306a36Sopenharmony_ci	{ PINMUX_CFG_REG("GPSR2", 0xe6060108, 32, 1, GROUP(
253962306a36Sopenharmony_ci		GP_2_31_FN,	GPSR2_31,
254062306a36Sopenharmony_ci		GP_2_30_FN,	GPSR2_30,
254162306a36Sopenharmony_ci		GP_2_29_FN,	GPSR2_29,
254262306a36Sopenharmony_ci		GP_2_28_FN,	GPSR2_28,
254362306a36Sopenharmony_ci		GP_2_27_FN,	GPSR2_27,
254462306a36Sopenharmony_ci		GP_2_26_FN,	GPSR2_26,
254562306a36Sopenharmony_ci		GP_2_25_FN,	GPSR2_25,
254662306a36Sopenharmony_ci		GP_2_24_FN,	GPSR2_24,
254762306a36Sopenharmony_ci		GP_2_23_FN,	GPSR2_23,
254862306a36Sopenharmony_ci		GP_2_22_FN,	GPSR2_22,
254962306a36Sopenharmony_ci		GP_2_21_FN,	GPSR2_21,
255062306a36Sopenharmony_ci		GP_2_20_FN,	GPSR2_20,
255162306a36Sopenharmony_ci		GP_2_19_FN,	GPSR2_19,
255262306a36Sopenharmony_ci		GP_2_18_FN,	GPSR2_18,
255362306a36Sopenharmony_ci		GP_2_17_FN,	GPSR2_17,
255462306a36Sopenharmony_ci		GP_2_16_FN,	GPSR2_16,
255562306a36Sopenharmony_ci		GP_2_15_FN,	GPSR2_15,
255662306a36Sopenharmony_ci		GP_2_14_FN,	GPSR2_14,
255762306a36Sopenharmony_ci		GP_2_13_FN,	GPSR2_13,
255862306a36Sopenharmony_ci		GP_2_12_FN,	GPSR2_12,
255962306a36Sopenharmony_ci		GP_2_11_FN,	GPSR2_11,
256062306a36Sopenharmony_ci		GP_2_10_FN,	GPSR2_10,
256162306a36Sopenharmony_ci		GP_2_9_FN,	GPSR2_9,
256262306a36Sopenharmony_ci		GP_2_8_FN,	GPSR2_8,
256362306a36Sopenharmony_ci		GP_2_7_FN,	GPSR2_7,
256462306a36Sopenharmony_ci		GP_2_6_FN,	GPSR2_6,
256562306a36Sopenharmony_ci		GP_2_5_FN,	GPSR2_5,
256662306a36Sopenharmony_ci		GP_2_4_FN,	GPSR2_4,
256762306a36Sopenharmony_ci		GP_2_3_FN,	GPSR2_3,
256862306a36Sopenharmony_ci		GP_2_2_FN,	GPSR2_2,
256962306a36Sopenharmony_ci		GP_2_1_FN,	GPSR2_1,
257062306a36Sopenharmony_ci		GP_2_0_FN,	GPSR2_0, ))
257162306a36Sopenharmony_ci	},
257262306a36Sopenharmony_ci	{ PINMUX_CFG_REG_VAR("GPSR3", 0xe606010c, 32,
257362306a36Sopenharmony_ci			     GROUP(-22, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
257462306a36Sopenharmony_ci			     GROUP(
257562306a36Sopenharmony_ci		/* GP3_31_10 RESERVED */
257662306a36Sopenharmony_ci		GP_3_9_FN,	GPSR3_9,
257762306a36Sopenharmony_ci		GP_3_8_FN,	GPSR3_8,
257862306a36Sopenharmony_ci		GP_3_7_FN,	GPSR3_7,
257962306a36Sopenharmony_ci		GP_3_6_FN,	GPSR3_6,
258062306a36Sopenharmony_ci		GP_3_5_FN,	GPSR3_5,
258162306a36Sopenharmony_ci		GP_3_4_FN,	GPSR3_4,
258262306a36Sopenharmony_ci		GP_3_3_FN,	GPSR3_3,
258362306a36Sopenharmony_ci		GP_3_2_FN,	GPSR3_2,
258462306a36Sopenharmony_ci		GP_3_1_FN,	GPSR3_1,
258562306a36Sopenharmony_ci		GP_3_0_FN,	GPSR3_0, ))
258662306a36Sopenharmony_ci	},
258762306a36Sopenharmony_ci	{ PINMUX_CFG_REG("GPSR4", 0xe6060110, 32, 1, GROUP(
258862306a36Sopenharmony_ci		GP_4_31_FN,	GPSR4_31,
258962306a36Sopenharmony_ci		GP_4_30_FN,	GPSR4_30,
259062306a36Sopenharmony_ci		GP_4_29_FN,	GPSR4_29,
259162306a36Sopenharmony_ci		GP_4_28_FN,	GPSR4_28,
259262306a36Sopenharmony_ci		GP_4_27_FN,	GPSR4_27,
259362306a36Sopenharmony_ci		GP_4_26_FN,	GPSR4_26,
259462306a36Sopenharmony_ci		GP_4_25_FN,	GPSR4_25,
259562306a36Sopenharmony_ci		GP_4_24_FN,	GPSR4_24,
259662306a36Sopenharmony_ci		GP_4_23_FN,	GPSR4_23,
259762306a36Sopenharmony_ci		GP_4_22_FN,	GPSR4_22,
259862306a36Sopenharmony_ci		GP_4_21_FN,	GPSR4_21,
259962306a36Sopenharmony_ci		GP_4_20_FN,	GPSR4_20,
260062306a36Sopenharmony_ci		GP_4_19_FN,	GPSR4_19,
260162306a36Sopenharmony_ci		GP_4_18_FN,	GPSR4_18,
260262306a36Sopenharmony_ci		GP_4_17_FN,	GPSR4_17,
260362306a36Sopenharmony_ci		GP_4_16_FN,	GPSR4_16,
260462306a36Sopenharmony_ci		GP_4_15_FN,	GPSR4_15,
260562306a36Sopenharmony_ci		GP_4_14_FN,	GPSR4_14,
260662306a36Sopenharmony_ci		GP_4_13_FN,	GPSR4_13,
260762306a36Sopenharmony_ci		GP_4_12_FN,	GPSR4_12,
260862306a36Sopenharmony_ci		GP_4_11_FN,	GPSR4_11,
260962306a36Sopenharmony_ci		GP_4_10_FN,	GPSR4_10,
261062306a36Sopenharmony_ci		GP_4_9_FN,	GPSR4_9,
261162306a36Sopenharmony_ci		GP_4_8_FN,	GPSR4_8,
261262306a36Sopenharmony_ci		GP_4_7_FN,	GPSR4_7,
261362306a36Sopenharmony_ci		GP_4_6_FN,	GPSR4_6,
261462306a36Sopenharmony_ci		GP_4_5_FN,	GPSR4_5,
261562306a36Sopenharmony_ci		GP_4_4_FN,	GPSR4_4,
261662306a36Sopenharmony_ci		GP_4_3_FN,	GPSR4_3,
261762306a36Sopenharmony_ci		GP_4_2_FN,	GPSR4_2,
261862306a36Sopenharmony_ci		GP_4_1_FN,	GPSR4_1,
261962306a36Sopenharmony_ci		GP_4_0_FN,	GPSR4_0, ))
262062306a36Sopenharmony_ci	},
262162306a36Sopenharmony_ci	{ PINMUX_CFG_REG_VAR("GPSR5", 0xe6060114, 32,
262262306a36Sopenharmony_ci			     GROUP(-11, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
262362306a36Sopenharmony_ci				   1, 1, 1, 1, 1, 1, 1, 1, 1, 1),
262462306a36Sopenharmony_ci			     GROUP(
262562306a36Sopenharmony_ci		/* GP5_31_21 RESERVED */
262662306a36Sopenharmony_ci		GP_5_20_FN,	GPSR5_20,
262762306a36Sopenharmony_ci		GP_5_19_FN,	GPSR5_19,
262862306a36Sopenharmony_ci		GP_5_18_FN,	GPSR5_18,
262962306a36Sopenharmony_ci		GP_5_17_FN,	GPSR5_17,
263062306a36Sopenharmony_ci		GP_5_16_FN,	GPSR5_16,
263162306a36Sopenharmony_ci		GP_5_15_FN,	GPSR5_15,
263262306a36Sopenharmony_ci		GP_5_14_FN,	GPSR5_14,
263362306a36Sopenharmony_ci		GP_5_13_FN,	GPSR5_13,
263462306a36Sopenharmony_ci		GP_5_12_FN,	GPSR5_12,
263562306a36Sopenharmony_ci		GP_5_11_FN,	GPSR5_11,
263662306a36Sopenharmony_ci		GP_5_10_FN,	GPSR5_10,
263762306a36Sopenharmony_ci		GP_5_9_FN,	GPSR5_9,
263862306a36Sopenharmony_ci		GP_5_8_FN,	GPSR5_8,
263962306a36Sopenharmony_ci		GP_5_7_FN,	GPSR5_7,
264062306a36Sopenharmony_ci		GP_5_6_FN,	GPSR5_6,
264162306a36Sopenharmony_ci		GP_5_5_FN,	GPSR5_5,
264262306a36Sopenharmony_ci		GP_5_4_FN,	GPSR5_4,
264362306a36Sopenharmony_ci		GP_5_3_FN,	GPSR5_3,
264462306a36Sopenharmony_ci		GP_5_2_FN,	GPSR5_2,
264562306a36Sopenharmony_ci		GP_5_1_FN,	GPSR5_1,
264662306a36Sopenharmony_ci		GP_5_0_FN,	GPSR5_0, ))
264762306a36Sopenharmony_ci	},
264862306a36Sopenharmony_ci	{ PINMUX_CFG_REG_VAR("GPSR6", 0xe6060118, 32,
264962306a36Sopenharmony_ci			     GROUP(-18, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
265062306a36Sopenharmony_ci				   1, 1, 1),
265162306a36Sopenharmony_ci			     GROUP(
265262306a36Sopenharmony_ci		/* GP6_31_14 RESERVED */
265362306a36Sopenharmony_ci		GP_6_13_FN,	GPSR6_13,
265462306a36Sopenharmony_ci		GP_6_12_FN,	GPSR6_12,
265562306a36Sopenharmony_ci		GP_6_11_FN,	GPSR6_11,
265662306a36Sopenharmony_ci		GP_6_10_FN,	GPSR6_10,
265762306a36Sopenharmony_ci		GP_6_9_FN,	GPSR6_9,
265862306a36Sopenharmony_ci		GP_6_8_FN,	GPSR6_8,
265962306a36Sopenharmony_ci		GP_6_7_FN,	GPSR6_7,
266062306a36Sopenharmony_ci		GP_6_6_FN,	GPSR6_6,
266162306a36Sopenharmony_ci		GP_6_5_FN,	GPSR6_5,
266262306a36Sopenharmony_ci		GP_6_4_FN,	GPSR6_4,
266362306a36Sopenharmony_ci		GP_6_3_FN,	GPSR6_3,
266462306a36Sopenharmony_ci		GP_6_2_FN,	GPSR6_2,
266562306a36Sopenharmony_ci		GP_6_1_FN,	GPSR6_1,
266662306a36Sopenharmony_ci		GP_6_0_FN,	GPSR6_0, ))
266762306a36Sopenharmony_ci	},
266862306a36Sopenharmony_ci#undef F_
266962306a36Sopenharmony_ci#undef FM
267062306a36Sopenharmony_ci
267162306a36Sopenharmony_ci#define F_(x, y)	x,
267262306a36Sopenharmony_ci#define FM(x)		FN_##x,
267362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR0", 0xe6060200, 32, 4, GROUP(
267462306a36Sopenharmony_ci		IP0_31_28
267562306a36Sopenharmony_ci		IP0_27_24
267662306a36Sopenharmony_ci		IP0_23_20
267762306a36Sopenharmony_ci		IP0_19_16
267862306a36Sopenharmony_ci		IP0_15_12
267962306a36Sopenharmony_ci		IP0_11_8
268062306a36Sopenharmony_ci		IP0_7_4
268162306a36Sopenharmony_ci		IP0_3_0 ))
268262306a36Sopenharmony_ci	},
268362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR1", 0xe6060204, 32, 4, GROUP(
268462306a36Sopenharmony_ci		IP1_31_28
268562306a36Sopenharmony_ci		IP1_27_24
268662306a36Sopenharmony_ci		IP1_23_20
268762306a36Sopenharmony_ci		IP1_19_16
268862306a36Sopenharmony_ci		IP1_15_12
268962306a36Sopenharmony_ci		IP1_11_8
269062306a36Sopenharmony_ci		IP1_7_4
269162306a36Sopenharmony_ci		IP1_3_0 ))
269262306a36Sopenharmony_ci	},
269362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR2", 0xe6060208, 32, 4, GROUP(
269462306a36Sopenharmony_ci		IP2_31_28
269562306a36Sopenharmony_ci		IP2_27_24
269662306a36Sopenharmony_ci		IP2_23_20
269762306a36Sopenharmony_ci		IP2_19_16
269862306a36Sopenharmony_ci		IP2_15_12
269962306a36Sopenharmony_ci		IP2_11_8
270062306a36Sopenharmony_ci		IP2_7_4
270162306a36Sopenharmony_ci		IP2_3_0 ))
270262306a36Sopenharmony_ci	},
270362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR3", 0xe606020c, 32, 4, GROUP(
270462306a36Sopenharmony_ci		IP3_31_28
270562306a36Sopenharmony_ci		IP3_27_24
270662306a36Sopenharmony_ci		IP3_23_20
270762306a36Sopenharmony_ci		IP3_19_16
270862306a36Sopenharmony_ci		IP3_15_12
270962306a36Sopenharmony_ci		IP3_11_8
271062306a36Sopenharmony_ci		IP3_7_4
271162306a36Sopenharmony_ci		IP3_3_0 ))
271262306a36Sopenharmony_ci	},
271362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR4", 0xe6060210, 32, 4, GROUP(
271462306a36Sopenharmony_ci		IP4_31_28
271562306a36Sopenharmony_ci		IP4_27_24
271662306a36Sopenharmony_ci		IP4_23_20
271762306a36Sopenharmony_ci		IP4_19_16
271862306a36Sopenharmony_ci		IP4_15_12
271962306a36Sopenharmony_ci		IP4_11_8
272062306a36Sopenharmony_ci		IP4_7_4
272162306a36Sopenharmony_ci		IP4_3_0 ))
272262306a36Sopenharmony_ci	},
272362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR5", 0xe6060214, 32, 4, GROUP(
272462306a36Sopenharmony_ci		IP5_31_28
272562306a36Sopenharmony_ci		IP5_27_24
272662306a36Sopenharmony_ci		IP5_23_20
272762306a36Sopenharmony_ci		IP5_19_16
272862306a36Sopenharmony_ci		IP5_15_12
272962306a36Sopenharmony_ci		IP5_11_8
273062306a36Sopenharmony_ci		IP5_7_4
273162306a36Sopenharmony_ci		IP5_3_0 ))
273262306a36Sopenharmony_ci	},
273362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR6", 0xe6060218, 32, 4, GROUP(
273462306a36Sopenharmony_ci		IP6_31_28
273562306a36Sopenharmony_ci		IP6_27_24
273662306a36Sopenharmony_ci		IP6_23_20
273762306a36Sopenharmony_ci		IP6_19_16
273862306a36Sopenharmony_ci		IP6_15_12
273962306a36Sopenharmony_ci		IP6_11_8
274062306a36Sopenharmony_ci		IP6_7_4
274162306a36Sopenharmony_ci		IP6_3_0 ))
274262306a36Sopenharmony_ci	},
274362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR7", 0xe606021c, 32, 4, GROUP(
274462306a36Sopenharmony_ci		IP7_31_28
274562306a36Sopenharmony_ci		IP7_27_24
274662306a36Sopenharmony_ci		IP7_23_20
274762306a36Sopenharmony_ci		IP7_19_16
274862306a36Sopenharmony_ci		IP7_15_12
274962306a36Sopenharmony_ci		IP7_11_8
275062306a36Sopenharmony_ci		IP7_7_4
275162306a36Sopenharmony_ci		IP7_3_0 ))
275262306a36Sopenharmony_ci	},
275362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR8", 0xe6060220, 32, 4, GROUP(
275462306a36Sopenharmony_ci		IP8_31_28
275562306a36Sopenharmony_ci		IP8_27_24
275662306a36Sopenharmony_ci		IP8_23_20
275762306a36Sopenharmony_ci		IP8_19_16
275862306a36Sopenharmony_ci		IP8_15_12
275962306a36Sopenharmony_ci		IP8_11_8
276062306a36Sopenharmony_ci		IP8_7_4
276162306a36Sopenharmony_ci		IP8_3_0 ))
276262306a36Sopenharmony_ci	},
276362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR9", 0xe6060224, 32, 4, GROUP(
276462306a36Sopenharmony_ci		IP9_31_28
276562306a36Sopenharmony_ci		IP9_27_24
276662306a36Sopenharmony_ci		IP9_23_20
276762306a36Sopenharmony_ci		IP9_19_16
276862306a36Sopenharmony_ci		IP9_15_12
276962306a36Sopenharmony_ci		IP9_11_8
277062306a36Sopenharmony_ci		IP9_7_4
277162306a36Sopenharmony_ci		IP9_3_0 ))
277262306a36Sopenharmony_ci	},
277362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR10", 0xe6060228, 32, 4, GROUP(
277462306a36Sopenharmony_ci		IP10_31_28
277562306a36Sopenharmony_ci		IP10_27_24
277662306a36Sopenharmony_ci		IP10_23_20
277762306a36Sopenharmony_ci		IP10_19_16
277862306a36Sopenharmony_ci		IP10_15_12
277962306a36Sopenharmony_ci		IP10_11_8
278062306a36Sopenharmony_ci		IP10_7_4
278162306a36Sopenharmony_ci		IP10_3_0 ))
278262306a36Sopenharmony_ci	},
278362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR11", 0xe606022c, 32, 4, GROUP(
278462306a36Sopenharmony_ci		IP11_31_28
278562306a36Sopenharmony_ci		IP11_27_24
278662306a36Sopenharmony_ci		IP11_23_20
278762306a36Sopenharmony_ci		IP11_19_16
278862306a36Sopenharmony_ci		IP11_15_12
278962306a36Sopenharmony_ci		IP11_11_8
279062306a36Sopenharmony_ci		IP11_7_4
279162306a36Sopenharmony_ci		IP11_3_0 ))
279262306a36Sopenharmony_ci	},
279362306a36Sopenharmony_ci	{ PINMUX_CFG_REG("IPSR12", 0xe6060230, 32, 4, GROUP(
279462306a36Sopenharmony_ci		IP12_31_28
279562306a36Sopenharmony_ci		IP12_27_24
279662306a36Sopenharmony_ci		IP12_23_20
279762306a36Sopenharmony_ci		IP12_19_16
279862306a36Sopenharmony_ci		IP12_15_12
279962306a36Sopenharmony_ci		IP12_11_8
280062306a36Sopenharmony_ci		IP12_7_4
280162306a36Sopenharmony_ci		IP12_3_0 ))
280262306a36Sopenharmony_ci	},
280362306a36Sopenharmony_ci	{ PINMUX_CFG_REG_VAR("IPSR13", 0xe6060234, 32,
280462306a36Sopenharmony_ci			     GROUP(-24, 4, 4),
280562306a36Sopenharmony_ci			     GROUP(
280662306a36Sopenharmony_ci		/* IP13_31_8 RESERVED */
280762306a36Sopenharmony_ci		IP13_7_4
280862306a36Sopenharmony_ci		IP13_3_0 ))
280962306a36Sopenharmony_ci	},
281062306a36Sopenharmony_ci#undef F_
281162306a36Sopenharmony_ci#undef FM
281262306a36Sopenharmony_ci
281362306a36Sopenharmony_ci#define F_(x, y)	x,
281462306a36Sopenharmony_ci#define FM(x)		FN_##x,
281562306a36Sopenharmony_ci	{ PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32,
281662306a36Sopenharmony_ci			     GROUP(-1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, -1,
281762306a36Sopenharmony_ci				   1, 1, 1, 1, 1, 1, -4, 1, 1, 1, 1, 1, 1),
281862306a36Sopenharmony_ci			     GROUP(
281962306a36Sopenharmony_ci		/* RESERVED 31 */
282062306a36Sopenharmony_ci		MOD_SEL0_30
282162306a36Sopenharmony_ci		MOD_SEL0_29
282262306a36Sopenharmony_ci		MOD_SEL0_28
282362306a36Sopenharmony_ci		MOD_SEL0_27
282462306a36Sopenharmony_ci		MOD_SEL0_26
282562306a36Sopenharmony_ci		MOD_SEL0_25
282662306a36Sopenharmony_ci		MOD_SEL0_24_23
282762306a36Sopenharmony_ci		MOD_SEL0_22_21
282862306a36Sopenharmony_ci		MOD_SEL0_20_19
282962306a36Sopenharmony_ci		MOD_SEL0_18_17
283062306a36Sopenharmony_ci		/* RESERVED 16 */
283162306a36Sopenharmony_ci		MOD_SEL0_15
283262306a36Sopenharmony_ci		MOD_SEL0_14
283362306a36Sopenharmony_ci		MOD_SEL0_13
283462306a36Sopenharmony_ci		MOD_SEL0_12
283562306a36Sopenharmony_ci		MOD_SEL0_11
283662306a36Sopenharmony_ci		MOD_SEL0_10
283762306a36Sopenharmony_ci		/* RESERVED 9, 8, 7, 6 */
283862306a36Sopenharmony_ci		MOD_SEL0_5
283962306a36Sopenharmony_ci		MOD_SEL0_4
284062306a36Sopenharmony_ci		MOD_SEL0_3
284162306a36Sopenharmony_ci		MOD_SEL0_2
284262306a36Sopenharmony_ci		MOD_SEL0_1
284362306a36Sopenharmony_ci		MOD_SEL0_0 ))
284462306a36Sopenharmony_ci	},
284562306a36Sopenharmony_ci	{ PINMUX_CFG_REG_VAR("MOD_SEL1", 0xe6060504, 32,
284662306a36Sopenharmony_ci			     GROUP(1, 1, 1, 1, 1, 1, -26),
284762306a36Sopenharmony_ci			     GROUP(
284862306a36Sopenharmony_ci		MOD_SEL1_31
284962306a36Sopenharmony_ci		MOD_SEL1_30
285062306a36Sopenharmony_ci		MOD_SEL1_29
285162306a36Sopenharmony_ci		MOD_SEL1_28
285262306a36Sopenharmony_ci		MOD_SEL1_27
285362306a36Sopenharmony_ci		MOD_SEL1_26
285462306a36Sopenharmony_ci		/* RESERVED 25-0 */ ))
285562306a36Sopenharmony_ci	},
285662306a36Sopenharmony_ci	{ /* sentinel */ }
285762306a36Sopenharmony_ci};
285862306a36Sopenharmony_ci
285962306a36Sopenharmony_cienum ioctrl_regs {
286062306a36Sopenharmony_ci	POCCTRL0,
286162306a36Sopenharmony_ci	POCCTRL2,
286262306a36Sopenharmony_ci	TDSELCTRL,
286362306a36Sopenharmony_ci};
286462306a36Sopenharmony_ci
286562306a36Sopenharmony_cistatic const struct pinmux_ioctrl_reg pinmux_ioctrl_regs[] = {
286662306a36Sopenharmony_ci	[POCCTRL0] = { 0xe6060380, },
286762306a36Sopenharmony_ci	[POCCTRL2] = { 0xe6060388, },
286862306a36Sopenharmony_ci	[TDSELCTRL] = { 0xe60603c0, },
286962306a36Sopenharmony_ci	{ /* sentinel */ }
287062306a36Sopenharmony_ci};
287162306a36Sopenharmony_ci
287262306a36Sopenharmony_ci
287362306a36Sopenharmony_cistatic int r8a77995_pin_to_pocctrl(unsigned int pin, u32 *pocctrl)
287462306a36Sopenharmony_ci{
287562306a36Sopenharmony_ci	switch (pin) {
287662306a36Sopenharmony_ci	case RCAR_GP_PIN(3, 0) ... RCAR_GP_PIN(3, 9):
287762306a36Sopenharmony_ci		*pocctrl = pinmux_ioctrl_regs[POCCTRL0].reg;
287862306a36Sopenharmony_ci		return 29 - (pin - RCAR_GP_PIN(3, 0));
287962306a36Sopenharmony_ci
288062306a36Sopenharmony_ci	case PIN_VDDQ_AVB0:
288162306a36Sopenharmony_ci		*pocctrl = pinmux_ioctrl_regs[POCCTRL2].reg;
288262306a36Sopenharmony_ci		return 0;
288362306a36Sopenharmony_ci
288462306a36Sopenharmony_ci	default:
288562306a36Sopenharmony_ci		return -EINVAL;
288662306a36Sopenharmony_ci	}
288762306a36Sopenharmony_ci}
288862306a36Sopenharmony_ci
288962306a36Sopenharmony_cistatic const struct pinmux_bias_reg pinmux_bias_regs[] = {
289062306a36Sopenharmony_ci	{ PINMUX_BIAS_REG("PUEN0", 0xe6060400, "PUD0", 0xe6060440) {
289162306a36Sopenharmony_ci		[ 0] = RCAR_GP_PIN(1, 9),	/* DU_DG1 */
289262306a36Sopenharmony_ci		[ 1] = RCAR_GP_PIN(1, 8),	/* DU_DG0 */
289362306a36Sopenharmony_ci		[ 2] = RCAR_GP_PIN(1, 7),	/* DU_DB7 */
289462306a36Sopenharmony_ci		[ 3] = RCAR_GP_PIN(1, 6),	/* DU_DB6 */
289562306a36Sopenharmony_ci		[ 4] = RCAR_GP_PIN(1, 5),	/* DU_DB5 */
289662306a36Sopenharmony_ci		[ 5] = RCAR_GP_PIN(1, 4),	/* DU_DB4 */
289762306a36Sopenharmony_ci		[ 6] = RCAR_GP_PIN(1, 3),	/* DU_DB3 */
289862306a36Sopenharmony_ci		[ 7] = RCAR_GP_PIN(1, 2),	/* DU_DB2 */
289962306a36Sopenharmony_ci		[ 8] = RCAR_GP_PIN(1, 1),	/* DU_DB1 */
290062306a36Sopenharmony_ci		[ 9] = RCAR_GP_PIN(1, 0),	/* DU_DB0 */
290162306a36Sopenharmony_ci		[10] = PIN_MLB_REF,		/* MLB_REF */
290262306a36Sopenharmony_ci		[11] = RCAR_GP_PIN(0, 8),	/* MLB_SIG */
290362306a36Sopenharmony_ci		[12] = RCAR_GP_PIN(0, 7),	/* MLB_DAT */
290462306a36Sopenharmony_ci		[13] = RCAR_GP_PIN(0, 6),	/* MLB_CLK */
290562306a36Sopenharmony_ci		[14] = RCAR_GP_PIN(0, 5),	/* MSIOF2_RXD */
290662306a36Sopenharmony_ci		[15] = RCAR_GP_PIN(0, 4),	/* MSIOF2_TXD */
290762306a36Sopenharmony_ci		[16] = RCAR_GP_PIN(0, 3),	/* MSIOF2_SCK */
290862306a36Sopenharmony_ci		[17] = RCAR_GP_PIN(0, 2),	/* IRQ0_A */
290962306a36Sopenharmony_ci		[18] = RCAR_GP_PIN(0, 1),	/* USB0_OVC */
291062306a36Sopenharmony_ci		[19] = RCAR_GP_PIN(0, 0),	/* USB0_PWEN */
291162306a36Sopenharmony_ci		[20] = PIN_PRESETOUT_N,		/* PRESETOUT# */
291262306a36Sopenharmony_ci		[21] = PIN_DU_DOTCLKIN0,	/* DU_DOTCLKIN0 */
291362306a36Sopenharmony_ci		[22] = PIN_FSCLKST_N,		/* FSCLKST# */
291462306a36Sopenharmony_ci		[23] = SH_PFC_PIN_NONE,
291562306a36Sopenharmony_ci		[24] = SH_PFC_PIN_NONE,
291662306a36Sopenharmony_ci		[25] = SH_PFC_PIN_NONE,
291762306a36Sopenharmony_ci		[26] = SH_PFC_PIN_NONE,
291862306a36Sopenharmony_ci		[27] = SH_PFC_PIN_NONE,
291962306a36Sopenharmony_ci		[28] = PIN_TDI,			/* TDI */
292062306a36Sopenharmony_ci		[29] = PIN_TMS,			/* TMS */
292162306a36Sopenharmony_ci		[30] = PIN_TCK,			/* TCK */
292262306a36Sopenharmony_ci		[31] = PIN_TRST_N,		/* TRST# */
292362306a36Sopenharmony_ci	} },
292462306a36Sopenharmony_ci	{ PINMUX_BIAS_REG("PUEN1", 0xe6060404, "PUD1", 0xe6060444) {
292562306a36Sopenharmony_ci		[ 0] = RCAR_GP_PIN(2, 9),	/* VI4_DATA8 */
292662306a36Sopenharmony_ci		[ 1] = RCAR_GP_PIN(2, 8),	/* VI4_DATA7 */
292762306a36Sopenharmony_ci		[ 2] = RCAR_GP_PIN(2, 7),	/* VI4_DATA6 */
292862306a36Sopenharmony_ci		[ 3] = RCAR_GP_PIN(2, 6),	/* VI4_DATA5 */
292962306a36Sopenharmony_ci		[ 4] = RCAR_GP_PIN(2, 5),	/* VI4_DATA4 */
293062306a36Sopenharmony_ci		[ 5] = RCAR_GP_PIN(2, 4),	/* VI4_DATA3 */
293162306a36Sopenharmony_ci		[ 6] = RCAR_GP_PIN(2, 3),	/* VI4_DATA2 */
293262306a36Sopenharmony_ci		[ 7] = RCAR_GP_PIN(2, 2),	/* VI4_DATA1 */
293362306a36Sopenharmony_ci		[ 8] = RCAR_GP_PIN(2, 1),	/* VI4_DATA0 */
293462306a36Sopenharmony_ci		[ 9] = RCAR_GP_PIN(2, 0),	/* VI4_CLK */
293562306a36Sopenharmony_ci		[10] = RCAR_GP_PIN(1, 31),	/* QPOLB */
293662306a36Sopenharmony_ci		[11] = RCAR_GP_PIN(1, 30),	/* QPOLA */
293762306a36Sopenharmony_ci		[12] = RCAR_GP_PIN(1, 29),	/* DU_CDE */
293862306a36Sopenharmony_ci		[13] = RCAR_GP_PIN(1, 28),	/* DU_DISP/CDE */
293962306a36Sopenharmony_ci		[14] = RCAR_GP_PIN(1, 27),	/* DU_DISP */
294062306a36Sopenharmony_ci		[15] = RCAR_GP_PIN(1, 26),	/* DU_VSYNC */
294162306a36Sopenharmony_ci		[16] = RCAR_GP_PIN(1, 25),	/* DU_HSYNC */
294262306a36Sopenharmony_ci		[17] = RCAR_GP_PIN(1, 24),	/* DU_DOTCLKOUT0 */
294362306a36Sopenharmony_ci		[18] = RCAR_GP_PIN(1, 23),	/* DU_DR7 */
294462306a36Sopenharmony_ci		[19] = RCAR_GP_PIN(1, 22),	/* DU_DR6 */
294562306a36Sopenharmony_ci		[20] = RCAR_GP_PIN(1, 21),	/* DU_DR5 */
294662306a36Sopenharmony_ci		[21] = RCAR_GP_PIN(1, 20),	/* DU_DR4 */
294762306a36Sopenharmony_ci		[22] = RCAR_GP_PIN(1, 19),	/* DU_DR3 */
294862306a36Sopenharmony_ci		[23] = RCAR_GP_PIN(1, 18),	/* DU_DR2 */
294962306a36Sopenharmony_ci		[24] = RCAR_GP_PIN(1, 17),	/* DU_DR1 */
295062306a36Sopenharmony_ci		[25] = RCAR_GP_PIN(1, 16),	/* DU_DR0 */
295162306a36Sopenharmony_ci		[26] = RCAR_GP_PIN(1, 15),	/* DU_DG7 */
295262306a36Sopenharmony_ci		[27] = RCAR_GP_PIN(1, 14),	/* DU_DG6 */
295362306a36Sopenharmony_ci		[28] = RCAR_GP_PIN(1, 13),	/* DU_DG5 */
295462306a36Sopenharmony_ci		[29] = RCAR_GP_PIN(1, 12),	/* DU_DG4 */
295562306a36Sopenharmony_ci		[30] = RCAR_GP_PIN(1, 11),	/* DU_DG3 */
295662306a36Sopenharmony_ci		[31] = RCAR_GP_PIN(1, 10),	/* DU_DG2 */
295762306a36Sopenharmony_ci	} },
295862306a36Sopenharmony_ci	{ PINMUX_BIAS_REG("PUEN2", 0xe6060408, "PUD2", 0xe6060448) {
295962306a36Sopenharmony_ci		[ 0] = RCAR_GP_PIN(3, 8),	/* NFDATA6 */
296062306a36Sopenharmony_ci		[ 1] = RCAR_GP_PIN(3, 7),	/* NFDATA5 */
296162306a36Sopenharmony_ci		[ 2] = RCAR_GP_PIN(3, 6),	/* NFDATA4 */
296262306a36Sopenharmony_ci		[ 3] = RCAR_GP_PIN(3, 5),	/* NFDATA3 */
296362306a36Sopenharmony_ci		[ 4] = RCAR_GP_PIN(3, 4),	/* NFDATA2 */
296462306a36Sopenharmony_ci		[ 5] = RCAR_GP_PIN(3, 3),	/* NFDATA1 */
296562306a36Sopenharmony_ci		[ 6] = RCAR_GP_PIN(3, 2),	/* NFDATA0 */
296662306a36Sopenharmony_ci		[ 7] = RCAR_GP_PIN(3, 1),	/* NFWE# (PUEN) / NFRE# (PUD) */
296762306a36Sopenharmony_ci		[ 8] = RCAR_GP_PIN(3, 0),	/* NFRE# (PUEN) / NFWE# (PUD) */
296862306a36Sopenharmony_ci		[ 9] = RCAR_GP_PIN(4, 0),	/* NFRB# */
296962306a36Sopenharmony_ci		[10] = RCAR_GP_PIN(2, 31),	/* NFCE# */
297062306a36Sopenharmony_ci		[11] = RCAR_GP_PIN(2, 30),	/* NFCLE */
297162306a36Sopenharmony_ci		[12] = RCAR_GP_PIN(2, 29),	/* NFALE */
297262306a36Sopenharmony_ci		[13] = RCAR_GP_PIN(2, 28),	/* VI4_CLKENB */
297362306a36Sopenharmony_ci		[14] = RCAR_GP_PIN(2, 27),	/* VI4_FIELD */
297462306a36Sopenharmony_ci		[15] = RCAR_GP_PIN(2, 26),	/* VI4_HSYNC# */
297562306a36Sopenharmony_ci		[16] = RCAR_GP_PIN(2, 25),	/* VI4_VSYNC# */
297662306a36Sopenharmony_ci		[17] = RCAR_GP_PIN(2, 24),	/* VI4_DATA23 */
297762306a36Sopenharmony_ci		[18] = RCAR_GP_PIN(2, 23),	/* VI4_DATA22 */
297862306a36Sopenharmony_ci		[19] = RCAR_GP_PIN(2, 22),	/* VI4_DATA21 */
297962306a36Sopenharmony_ci		[20] = RCAR_GP_PIN(2, 21),	/* VI4_DATA20 */
298062306a36Sopenharmony_ci		[21] = RCAR_GP_PIN(2, 20),	/* VI4_DATA19 */
298162306a36Sopenharmony_ci		[22] = RCAR_GP_PIN(2, 19),	/* VI4_DATA18 */
298262306a36Sopenharmony_ci		[23] = RCAR_GP_PIN(2, 18),	/* VI4_DATA17 */
298362306a36Sopenharmony_ci		[24] = RCAR_GP_PIN(2, 17),	/* VI4_DATA16 */
298462306a36Sopenharmony_ci		[25] = RCAR_GP_PIN(2, 16),	/* VI4_DATA15 */
298562306a36Sopenharmony_ci		[26] = RCAR_GP_PIN(2, 15),	/* VI4_DATA14 */
298662306a36Sopenharmony_ci		[27] = RCAR_GP_PIN(2, 14),	/* VI4_DATA13 */
298762306a36Sopenharmony_ci		[28] = RCAR_GP_PIN(2, 13),	/* VI4_DATA12 */
298862306a36Sopenharmony_ci		[29] = RCAR_GP_PIN(2, 12),	/* VI4_DATA11 */
298962306a36Sopenharmony_ci		[30] = RCAR_GP_PIN(2, 11),	/* VI4_DATA10 */
299062306a36Sopenharmony_ci		[31] = RCAR_GP_PIN(2, 10),	/* VI4_DATA9 */
299162306a36Sopenharmony_ci	} },
299262306a36Sopenharmony_ci	{ PINMUX_BIAS_REG("PUEN3", 0xe606040c, "PUD3", 0xe606044c) {
299362306a36Sopenharmony_ci		[ 0] = RCAR_GP_PIN(4, 31),	/* CAN0_RX_A */
299462306a36Sopenharmony_ci		[ 1] = RCAR_GP_PIN(5, 2),	/* CAN_CLK */
299562306a36Sopenharmony_ci		[ 2] = RCAR_GP_PIN(5, 1),	/* TPU0TO1_A */
299662306a36Sopenharmony_ci		[ 3] = RCAR_GP_PIN(5, 0),	/* TPU0TO0_A */
299762306a36Sopenharmony_ci		[ 4] = RCAR_GP_PIN(4, 27),	/* TX2 */
299862306a36Sopenharmony_ci		[ 5] = RCAR_GP_PIN(4, 26),	/* RX2 */
299962306a36Sopenharmony_ci		[ 6] = RCAR_GP_PIN(4, 25),	/* SCK2 */
300062306a36Sopenharmony_ci		[ 7] = RCAR_GP_PIN(4, 24),	/* TX1_A */
300162306a36Sopenharmony_ci		[ 8] = RCAR_GP_PIN(4, 23),	/* RX1_A */
300262306a36Sopenharmony_ci		[ 9] = RCAR_GP_PIN(4, 22),	/* SCK1_A */
300362306a36Sopenharmony_ci		[10] = RCAR_GP_PIN(4, 21),	/* TX0_A */
300462306a36Sopenharmony_ci		[11] = RCAR_GP_PIN(4, 20),	/* RX0_A */
300562306a36Sopenharmony_ci		[12] = RCAR_GP_PIN(4, 19),	/* SCK0_A */
300662306a36Sopenharmony_ci		[13] = RCAR_GP_PIN(4, 18),	/* MSIOF1_RXD */
300762306a36Sopenharmony_ci		[14] = RCAR_GP_PIN(4, 17),	/* MSIOF1_TXD */
300862306a36Sopenharmony_ci		[15] = RCAR_GP_PIN(4, 16),	/* MSIOF1_SCK */
300962306a36Sopenharmony_ci		[16] = RCAR_GP_PIN(4, 15),	/* MSIOF0_RXD */
301062306a36Sopenharmony_ci		[17] = RCAR_GP_PIN(4, 14),	/* MSIOF0_TXD */
301162306a36Sopenharmony_ci		[18] = RCAR_GP_PIN(4, 13),	/* MSIOF0_SYNC */
301262306a36Sopenharmony_ci		[19] = RCAR_GP_PIN(4, 12),	/* MSIOF0_SCK */
301362306a36Sopenharmony_ci		[20] = RCAR_GP_PIN(4, 11),	/* SDA1 */
301462306a36Sopenharmony_ci		[21] = RCAR_GP_PIN(4, 10),	/* SCL1 */
301562306a36Sopenharmony_ci		[22] = RCAR_GP_PIN(4, 9),	/* SDA0 */
301662306a36Sopenharmony_ci		[23] = RCAR_GP_PIN(4, 8),	/* SCL0 */
301762306a36Sopenharmony_ci		[24] = RCAR_GP_PIN(4, 7),	/* SSI_WS4_A */
301862306a36Sopenharmony_ci		[25] = RCAR_GP_PIN(4, 6),	/* SSI_SDATA4_A */
301962306a36Sopenharmony_ci		[26] = RCAR_GP_PIN(4, 5),	/* SSI_SCK4_A */
302062306a36Sopenharmony_ci		[27] = RCAR_GP_PIN(4, 4),	/* SSI_WS34 */
302162306a36Sopenharmony_ci		[28] = RCAR_GP_PIN(4, 3),	/* SSI_SDATA3 */
302262306a36Sopenharmony_ci		[29] = RCAR_GP_PIN(4, 2),	/* SSI_SCK34 */
302362306a36Sopenharmony_ci		[30] = RCAR_GP_PIN(4, 1),	/* AUDIO_CLKA */
302462306a36Sopenharmony_ci		[31] = RCAR_GP_PIN(3, 9),	/* NFDATA7 */
302562306a36Sopenharmony_ci	} },
302662306a36Sopenharmony_ci	{ PINMUX_BIAS_REG("PUEN4", 0xe6060410, "PUD4", 0xe6060450) {
302762306a36Sopenharmony_ci		[ 0] = RCAR_GP_PIN(6, 10),	/* QSPI1_IO3 */
302862306a36Sopenharmony_ci		[ 1] = RCAR_GP_PIN(6, 9),	/* QSPI1_IO2 */
302962306a36Sopenharmony_ci		[ 2] = RCAR_GP_PIN(6, 8),	/* QSPI1_MISO_IO1 */
303062306a36Sopenharmony_ci		[ 3] = RCAR_GP_PIN(6, 7),	/* QSPI1_MOSI_IO0 */
303162306a36Sopenharmony_ci		[ 4] = RCAR_GP_PIN(6, 6),	/* QSPI1_SPCLK */
303262306a36Sopenharmony_ci		[ 5] = RCAR_GP_PIN(6, 5),	/* QSPI0_SSL */
303362306a36Sopenharmony_ci		[ 6] = RCAR_GP_PIN(6, 4),	/* QSPI0_IO3 */
303462306a36Sopenharmony_ci		[ 7] = RCAR_GP_PIN(6, 3),	/* QSPI0_IO2 */
303562306a36Sopenharmony_ci		[ 8] = RCAR_GP_PIN(6, 2),	/* QSPI0_MISO_IO1 */
303662306a36Sopenharmony_ci		[ 9] = RCAR_GP_PIN(6, 1),	/* QSPI0_MOSI_IO0 */
303762306a36Sopenharmony_ci		[10] = RCAR_GP_PIN(6, 0),	/* QSPI0_SPCLK */
303862306a36Sopenharmony_ci		[11] = RCAR_GP_PIN(5, 20),	/* AVB0_LINK */
303962306a36Sopenharmony_ci		[12] = RCAR_GP_PIN(5, 19),	/* AVB0_PHY_INT */
304062306a36Sopenharmony_ci		[13] = RCAR_GP_PIN(5, 18),	/* AVB0_MAGIC */
304162306a36Sopenharmony_ci		[14] = RCAR_GP_PIN(5, 17),	/* AVB0_MDC */
304262306a36Sopenharmony_ci		[15] = RCAR_GP_PIN(5, 16),	/* AVB0_MDIO */
304362306a36Sopenharmony_ci		[16] = RCAR_GP_PIN(5, 15),	/* AVB0_TXCREFCLK */
304462306a36Sopenharmony_ci		[17] = RCAR_GP_PIN(5, 14),	/* AVB0_TD3 */
304562306a36Sopenharmony_ci		[18] = RCAR_GP_PIN(5, 13),	/* AVB0_TD2 */
304662306a36Sopenharmony_ci		[19] = RCAR_GP_PIN(5, 12),	/* AVB0_TD1 */
304762306a36Sopenharmony_ci		[20] = RCAR_GP_PIN(5, 11),	/* AVB0_TD0 */
304862306a36Sopenharmony_ci		[21] = RCAR_GP_PIN(5, 10),	/* AVB0_TXC */
304962306a36Sopenharmony_ci		[22] = RCAR_GP_PIN(5, 9),	/* AVB0_TX_CTL */
305062306a36Sopenharmony_ci		[23] = RCAR_GP_PIN(5, 8),	/* AVB0_RD3 */
305162306a36Sopenharmony_ci		[24] = RCAR_GP_PIN(5, 7),	/* AVB0_RD2 */
305262306a36Sopenharmony_ci		[25] = RCAR_GP_PIN(5, 6),	/* AVB0_RD1 */
305362306a36Sopenharmony_ci		[26] = RCAR_GP_PIN(5, 5),	/* AVB0_RD0 */
305462306a36Sopenharmony_ci		[27] = RCAR_GP_PIN(5, 4),	/* AVB0_RXC */
305562306a36Sopenharmony_ci		[28] = RCAR_GP_PIN(5, 3),	/* AVB0_RX_CTL */
305662306a36Sopenharmony_ci		[29] = RCAR_GP_PIN(4, 30),	/* CAN1_TX_A */
305762306a36Sopenharmony_ci		[30] = RCAR_GP_PIN(4, 29),	/* CAN1_RX_A */
305862306a36Sopenharmony_ci		[31] = RCAR_GP_PIN(4, 28),	/* CAN0_TX_A */
305962306a36Sopenharmony_ci	} },
306062306a36Sopenharmony_ci	{ PINMUX_BIAS_REG("PUEN5", 0xe6060414, "PUD4", 0xe6060454) {
306162306a36Sopenharmony_ci		[ 0] = SH_PFC_PIN_NONE,
306262306a36Sopenharmony_ci		[ 1] = SH_PFC_PIN_NONE,
306362306a36Sopenharmony_ci		[ 2] = SH_PFC_PIN_NONE,
306462306a36Sopenharmony_ci		[ 3] = SH_PFC_PIN_NONE,
306562306a36Sopenharmony_ci		[ 4] = SH_PFC_PIN_NONE,
306662306a36Sopenharmony_ci		[ 5] = SH_PFC_PIN_NONE,
306762306a36Sopenharmony_ci		[ 6] = SH_PFC_PIN_NONE,
306862306a36Sopenharmony_ci		[ 7] = SH_PFC_PIN_NONE,
306962306a36Sopenharmony_ci		[ 8] = SH_PFC_PIN_NONE,
307062306a36Sopenharmony_ci		[ 9] = SH_PFC_PIN_NONE,
307162306a36Sopenharmony_ci		[10] = SH_PFC_PIN_NONE,
307262306a36Sopenharmony_ci		[11] = SH_PFC_PIN_NONE,
307362306a36Sopenharmony_ci		[12] = SH_PFC_PIN_NONE,
307462306a36Sopenharmony_ci		[13] = SH_PFC_PIN_NONE,
307562306a36Sopenharmony_ci		[14] = SH_PFC_PIN_NONE,
307662306a36Sopenharmony_ci		[15] = SH_PFC_PIN_NONE,
307762306a36Sopenharmony_ci		[16] = SH_PFC_PIN_NONE,
307862306a36Sopenharmony_ci		[17] = SH_PFC_PIN_NONE,
307962306a36Sopenharmony_ci		[18] = SH_PFC_PIN_NONE,
308062306a36Sopenharmony_ci		[19] = SH_PFC_PIN_NONE,
308162306a36Sopenharmony_ci		[20] = SH_PFC_PIN_NONE,
308262306a36Sopenharmony_ci		[21] = SH_PFC_PIN_NONE,
308362306a36Sopenharmony_ci		[22] = SH_PFC_PIN_NONE,
308462306a36Sopenharmony_ci		[23] = SH_PFC_PIN_NONE,
308562306a36Sopenharmony_ci		[24] = SH_PFC_PIN_NONE,
308662306a36Sopenharmony_ci		[25] = SH_PFC_PIN_NONE,
308762306a36Sopenharmony_ci		[26] = SH_PFC_PIN_NONE,
308862306a36Sopenharmony_ci		[27] = SH_PFC_PIN_NONE,
308962306a36Sopenharmony_ci		[28] = SH_PFC_PIN_NONE,
309062306a36Sopenharmony_ci		[29] = RCAR_GP_PIN(6, 13),	/* RPC_INT# */
309162306a36Sopenharmony_ci		[30] = RCAR_GP_PIN(6, 12),	/* RPC_RESET# */
309262306a36Sopenharmony_ci		[31] = RCAR_GP_PIN(6, 11),	/* QSPI1_SSL */
309362306a36Sopenharmony_ci	} },
309462306a36Sopenharmony_ci	{ /* sentinel */ }
309562306a36Sopenharmony_ci};
309662306a36Sopenharmony_ci
309762306a36Sopenharmony_cistatic const struct pinmux_bias_reg *
309862306a36Sopenharmony_cir8a77995_pin_to_bias_reg(const struct sh_pfc *pfc, unsigned int pin,
309962306a36Sopenharmony_ci			 unsigned int *puen_bit, unsigned int *pud_bit)
310062306a36Sopenharmony_ci{
310162306a36Sopenharmony_ci	const struct pinmux_bias_reg *reg;
310262306a36Sopenharmony_ci	unsigned int bit;
310362306a36Sopenharmony_ci
310462306a36Sopenharmony_ci	reg = rcar_pin_to_bias_reg(pfc->info, pin, &bit);
310562306a36Sopenharmony_ci	if (!reg)
310662306a36Sopenharmony_ci		return reg;
310762306a36Sopenharmony_ci
310862306a36Sopenharmony_ci	*puen_bit = bit;
310962306a36Sopenharmony_ci
311062306a36Sopenharmony_ci	/* NFWE# and NFRE# use different bit positions in PUD2 */
311162306a36Sopenharmony_ci	switch (pin) {
311262306a36Sopenharmony_ci	case RCAR_GP_PIN(3, 0):	/* NFRE# */
311362306a36Sopenharmony_ci		*pud_bit = 7;
311462306a36Sopenharmony_ci		break;
311562306a36Sopenharmony_ci
311662306a36Sopenharmony_ci	case RCAR_GP_PIN(3, 1):	/* NFWE# */
311762306a36Sopenharmony_ci		*pud_bit = 8;
311862306a36Sopenharmony_ci		break;
311962306a36Sopenharmony_ci
312062306a36Sopenharmony_ci	default:
312162306a36Sopenharmony_ci		*pud_bit = bit;
312262306a36Sopenharmony_ci		break;
312362306a36Sopenharmony_ci	}
312462306a36Sopenharmony_ci
312562306a36Sopenharmony_ci	return reg;
312662306a36Sopenharmony_ci}
312762306a36Sopenharmony_ci
312862306a36Sopenharmony_cistatic unsigned int r8a77995_pinmux_get_bias(struct sh_pfc *pfc,
312962306a36Sopenharmony_ci					     unsigned int pin)
313062306a36Sopenharmony_ci{
313162306a36Sopenharmony_ci	const struct pinmux_bias_reg *reg;
313262306a36Sopenharmony_ci	unsigned int puen_bit, pud_bit;
313362306a36Sopenharmony_ci
313462306a36Sopenharmony_ci	reg = r8a77995_pin_to_bias_reg(pfc, pin, &puen_bit, &pud_bit);
313562306a36Sopenharmony_ci	if (!reg)
313662306a36Sopenharmony_ci		return PIN_CONFIG_BIAS_DISABLE;
313762306a36Sopenharmony_ci
313862306a36Sopenharmony_ci	if (!(sh_pfc_read(pfc, reg->puen) & BIT(puen_bit)))
313962306a36Sopenharmony_ci		return PIN_CONFIG_BIAS_DISABLE;
314062306a36Sopenharmony_ci	else if (sh_pfc_read(pfc, reg->pud) & BIT(pud_bit))
314162306a36Sopenharmony_ci		return PIN_CONFIG_BIAS_PULL_UP;
314262306a36Sopenharmony_ci	else
314362306a36Sopenharmony_ci		return PIN_CONFIG_BIAS_PULL_DOWN;
314462306a36Sopenharmony_ci}
314562306a36Sopenharmony_ci
314662306a36Sopenharmony_cistatic void r8a77995_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
314762306a36Sopenharmony_ci				     unsigned int bias)
314862306a36Sopenharmony_ci{
314962306a36Sopenharmony_ci	const struct pinmux_bias_reg *reg;
315062306a36Sopenharmony_ci	unsigned int puen_bit, pud_bit;
315162306a36Sopenharmony_ci	u32 enable, updown;
315262306a36Sopenharmony_ci
315362306a36Sopenharmony_ci	reg = r8a77995_pin_to_bias_reg(pfc, pin, &puen_bit, &pud_bit);
315462306a36Sopenharmony_ci	if (!reg)
315562306a36Sopenharmony_ci		return;
315662306a36Sopenharmony_ci
315762306a36Sopenharmony_ci	enable = sh_pfc_read(pfc, reg->puen) & ~BIT(puen_bit);
315862306a36Sopenharmony_ci	if (bias != PIN_CONFIG_BIAS_DISABLE) {
315962306a36Sopenharmony_ci		enable |= BIT(puen_bit);
316062306a36Sopenharmony_ci
316162306a36Sopenharmony_ci		updown = sh_pfc_read(pfc, reg->pud) & ~BIT(pud_bit);
316262306a36Sopenharmony_ci		if (bias == PIN_CONFIG_BIAS_PULL_UP)
316362306a36Sopenharmony_ci			updown |= BIT(pud_bit);
316462306a36Sopenharmony_ci
316562306a36Sopenharmony_ci		sh_pfc_write(pfc, reg->pud, updown);
316662306a36Sopenharmony_ci	}
316762306a36Sopenharmony_ci	sh_pfc_write(pfc, reg->puen, enable);
316862306a36Sopenharmony_ci}
316962306a36Sopenharmony_ci
317062306a36Sopenharmony_cistatic const struct sh_pfc_soc_operations r8a77995_pfc_ops = {
317162306a36Sopenharmony_ci	.pin_to_pocctrl = r8a77995_pin_to_pocctrl,
317262306a36Sopenharmony_ci	.get_bias = r8a77995_pinmux_get_bias,
317362306a36Sopenharmony_ci	.set_bias = r8a77995_pinmux_set_bias,
317462306a36Sopenharmony_ci};
317562306a36Sopenharmony_ci
317662306a36Sopenharmony_ciconst struct sh_pfc_soc_info r8a77995_pinmux_info = {
317762306a36Sopenharmony_ci	.name = "r8a77995_pfc",
317862306a36Sopenharmony_ci	.ops = &r8a77995_pfc_ops,
317962306a36Sopenharmony_ci	.unlock_reg = 0xe6060000, /* PMMR */
318062306a36Sopenharmony_ci
318162306a36Sopenharmony_ci	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
318262306a36Sopenharmony_ci
318362306a36Sopenharmony_ci	.pins = pinmux_pins,
318462306a36Sopenharmony_ci	.nr_pins = ARRAY_SIZE(pinmux_pins),
318562306a36Sopenharmony_ci	.groups = pinmux_groups,
318662306a36Sopenharmony_ci	.nr_groups = ARRAY_SIZE(pinmux_groups),
318762306a36Sopenharmony_ci	.functions = pinmux_functions,
318862306a36Sopenharmony_ci	.nr_functions = ARRAY_SIZE(pinmux_functions),
318962306a36Sopenharmony_ci
319062306a36Sopenharmony_ci	.cfg_regs = pinmux_config_regs,
319162306a36Sopenharmony_ci	.bias_regs = pinmux_bias_regs,
319262306a36Sopenharmony_ci	.ioctrl_regs = pinmux_ioctrl_regs,
319362306a36Sopenharmony_ci
319462306a36Sopenharmony_ci	.pinmux_data = pinmux_data,
319562306a36Sopenharmony_ci	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
319662306a36Sopenharmony_ci};
3197