// SPDX-License-Identifier: GPL-2.0
/*
 * R8A77990 processor support - PFC hardware block.
 *
 * Copyright (C) 2018 Renesas Electronics Corp.
 *
 * This file is based on the drivers/pinctrl/sh-pfc/pfc-r8a7796.c
 *
 * R8A7796 processor support - PFC hardware block.
 *
 * Copyright (C) 2016-2017 Renesas Electronics Corp.
 */

#include <linux/kernel.h>

#include "core.h"
#include "sh_pfc.h"

#define CFG_FLAGS (SH_PFC_PIN_CFG_PULL_UP | \
		   SH_PFC_PIN_CFG_PULL_DOWN)

#define CPU_ALL_PORT(fn, sfx) \
	PORT_GP_CFG_18(0, fn, sfx, CFG_FLAGS), \
	PORT_GP_CFG_23(1, fn, sfx, CFG_FLAGS), \
	PORT_GP_CFG_26(2, fn, sfx, CFG_FLAGS), \
	PORT_GP_CFG_16(3, fn, sfx, CFG_FLAGS), \
	PORT_GP_CFG_11(4, fn, sfx, CFG_FLAGS), \
	PORT_GP_CFG_20(5, fn, sfx, CFG_FLAGS), \
	PORT_GP_CFG_18(6, fn, sfx, CFG_FLAGS)
/*
 * F_() : just information
 * FM() : macro for FN_xxx / xxx_MARK
 */

/* GPSR0 */
#define GPSR0_17	F_(SDA4,		IP7_27_24)
#define GPSR0_16	F_(SCL4,		IP7_23_20)
#define GPSR0_15	F_(D15,			IP7_19_16)
#define GPSR0_14	F_(D14,			IP7_15_12)
#define GPSR0_13	F_(D13,			IP7_11_8)
#define GPSR0_12	F_(D12,			IP7_7_4)
#define GPSR0_11	F_(D11,			IP7_3_0)
#define GPSR0_10	F_(D10,			IP6_31_28)
#define GPSR0_9		F_(D9,			IP6_27_24)
#define GPSR0_8		F_(D8,			IP6_23_20)
#define GPSR0_7		F_(D7,			IP6_19_16)
#define GPSR0_6		F_(D6,			IP6_15_12)
#define GPSR0_5		F_(D5,			IP6_11_8)
#define GPSR0_4		F_(D4,			IP6_7_4)
#define GPSR0_3		F_(D3,			IP6_3_0)
#define GPSR0_2		F_(D2,			IP5_31_28)
#define GPSR0_1		F_(D1,			IP5_27_24)
#define GPSR0_0		F_(D0,			IP5_23_20)

/* GPSR1 */
#define GPSR1_22	F_(WE0_N,		IP5_19_16)
#define GPSR1_21	F_(CS0_N,		IP5_15_12)
#define GPSR1_20	FM(CLKOUT)
#define GPSR1_19	F_(A19,			IP5_11_8)
#define GPSR1_18	F_(A18,			IP5_7_4)
#define GPSR1_17	F_(A17,			IP5_3_0)
#define GPSR1_16	F_(A16,			IP4_31_28)
#define GPSR1_15	F_(A15,			IP4_27_24)
#define GPSR1_14	F_(A14,			IP4_23_20)
#define GPSR1_13	F_(A13,			IP4_19_16)
#define GPSR1_12	F_(A12,			IP4_15_12)
#define GPSR1_11	F_(A11,			IP4_11_8)
#define GPSR1_10	F_(A10,			IP4_7_4)
#define GPSR1_9		F_(A9,			IP4_3_0)
#define GPSR1_8		F_(A8,			IP3_31_28)
#define GPSR1_7		F_(A7,			IP3_27_24)
#define GPSR1_6		F_(A6,			IP3_23_20)
#define GPSR1_5		F_(A5,			IP3_19_16)
#define GPSR1_4		F_(A4,			IP3_15_12)
#define GPSR1_3		F_(A3,			IP3_11_8)
#define GPSR1_2		F_(A2,			IP3_7_4)
#define GPSR1_1		F_(A1,			IP3_3_0)
#define GPSR1_0		F_(A0,			IP2_31_28)

/* GPSR2 */
#define GPSR2_25	F_(EX_WAIT0,		IP2_27_24)
#define GPSR2_24	F_(RD_WR_N,		IP2_23_20)
#define GPSR2_23	F_(RD_N,		IP2_19_16)
#define GPSR2_22	F_(BS_N,		IP2_15_12)
#define GPSR2_21	FM(AVB_PHY_INT)
#define GPSR2_20	F_(AVB_TXCREFCLK,	IP2_3_0)
#define GPSR2_19	FM(AVB_RD3)
#define GPSR2_18	F_(AVB_RD2,		IP1_31_28)
#define GPSR2_17	F_(AVB_RD1,		IP1_27_24)
#define GPSR2_16	F_(AVB_RD0,		IP1_23_20)
#define GPSR2_15	FM(AVB_RXC)
#define GPSR2_14	FM(AVB_RX_CTL)
#define GPSR2_13	F_(RPC_RESET_N,		IP1_19_16)
#define GPSR2_12	F_(RPC_INT_N,		IP1_15_12)
#define GPSR2_11	F_(QSPI1_SSL,		IP1_11_8)
#define GPSR2_10	F_(QSPI1_IO3,		IP1_7_4)
#define GPSR2_9		F_(QSPI1_IO2,		IP1_3_0)
#define GPSR2_8		F_(QSPI1_MISO_IO1,	IP0_31_28)
#define GPSR2_7		F_(QSPI1_MOSI_IO0,	IP0_27_24)
#define GPSR2_6		F_(QSPI1_SPCLK,		IP0_23_20)
#define GPSR2_5		FM(QSPI0_SSL)
#define GPSR2_4		F_(QSPI0_IO3,		IP0_19_16)
#define GPSR2_3		F_(QSPI0_IO2,		IP0_15_12)
#define GPSR2_2		F_(QSPI0_MISO_IO1,	IP0_11_8)
#define GPSR2_1		F_(QSPI0_MOSI_IO0,	IP0_7_4)
#define GPSR2_0		F_(QSPI0_SPCLK,		IP0_3_0)

/* GPSR3 */
#define GPSR3_15	F_(SD1_WP,		IP11_7_4)
#define GPSR3_14	F_(SD1_CD,		IP11_3_0)
#define GPSR3_13	F_(SD0_WP,		IP10_31_28)
#define GPSR3_12	F_(SD0_CD,		IP10_27_24)
#define GPSR3_11	F_(SD1_DAT3,		IP9_11_8)
#define GPSR3_10	F_(SD1_DAT2,		IP9_7_4)
#define GPSR3_9		F_(SD1_DAT1,		IP9_3_0)
#define GPSR3_8		F_(SD1_DAT0,		IP8_31_28)
#define GPSR3_7		F_(SD1_CMD,		IP8_27_24)
#define GPSR3_6		F_(SD1_CLK,		IP8_23_20)
#define GPSR3_5		F_(SD0_DAT3,		IP8_19_16)
#define GPSR3_4		F_(SD0_DAT2,		IP8_15_12)
#define GPSR3_3		F_(SD0_DAT1,		IP8_11_8)
#define GPSR3_2		F_(SD0_DAT0,		IP8_7_4)
#define GPSR3_1		F_(SD0_CMD,		IP8_3_0)
#define GPSR3_0		F_(SD0_CLK,		IP7_31_28)

/* GPSR4 */
#define GPSR4_10	F_(SD3_DS,		IP10_23_20)
#define GPSR4_9		F_(SD3_DAT7,		IP10_19_16)
#define GPSR4_8		F_(SD3_DAT6,		IP10_15_12)
#define GPSR4_7		F_(SD3_DAT5,		IP10_11_8)
#define GPSR4_6		F_(SD3_DAT4,		IP10_7_4)
#define GPSR4_5		F_(SD3_DAT3,		IP10_3_0)
#define GPSR4_4		F_(SD3_DAT2,		IP9_31_28)
#define GPSR4_3		F_(SD3_DAT1,		IP9_27_24)
#define GPSR4_2		F_(SD3_DAT0,		IP9_23_20)
#define GPSR4_1		F_(SD3_CMD,		IP9_19_16)
#define GPSR4_0		F_(SD3_CLK,		IP9_15_12)

/* GPSR5 */
#define GPSR5_19	F_(MLB_DAT,		IP13_23_20)
#define GPSR5_18	F_(MLB_SIG,		IP13_19_16)
#define GPSR5_17	F_(MLB_CLK,		IP13_15_12)
#define GPSR5_16	F_(SSI_SDATA9,		IP13_11_8)
#define GPSR5_15	F_(MSIOF0_SS2,		IP13_7_4)
#define GPSR5_14	F_(MSIOF0_SS1,		IP13_3_0)
#define GPSR5_13	F_(MSIOF0_SYNC,		IP12_31_28)
#define GPSR5_12	F_(MSIOF0_TXD,		IP12_27_24)
#define GPSR5_11	F_(MSIOF0_RXD,		IP12_23_20)
#define GPSR5_10	F_(MSIOF0_SCK,		IP12_19_16)
#define GPSR5_9		F_(RX2_A,		IP12_15_12)
#define GPSR5_8		F_(TX2_A,		IP12_11_8)
#define GPSR5_7		F_(SCK2_A,		IP12_7_4)
#define GPSR5_6		F_(TX1,			IP12_3_0)
#define GPSR5_5		F_(RX1,			IP11_31_28)
#define GPSR5_4		F_(RTS0_N_TANS_A,	IP11_23_20)
#define GPSR5_3		F_(CTS0_N_A,		IP11_19_16)
#define GPSR5_2		F_(TX0_A,		IP11_15_12)
#define GPSR5_1		F_(RX0_A,		IP11_11_8)
#define GPSR5_0		F_(SCK0_A,		IP11_27_24)

/* GPSR6 */
#define GPSR6_17	F_(USB30_PWEN,		IP15_27_24)
#define GPSR6_16	F_(SSI_SDATA6,		IP15_19_16)
#define GPSR6_15	F_(SSI_WS6,		IP15_15_12)
#define GPSR6_14	F_(SSI_SCK6,		IP15_11_8)
#define GPSR6_13	F_(SSI_SDATA5,		IP15_7_4)
#define GPSR6_12	F_(SSI_WS5,		IP15_3_0)
#define GPSR6_11	F_(SSI_SCK5,		IP14_31_28)
#define GPSR6_10	F_(SSI_SDATA4,		IP14_27_24)
#define GPSR6_9		F_(USB30_OVC,		IP15_31_28)
#define GPSR6_8		F_(AUDIO_CLKA,		IP15_23_20)
#define GPSR6_7		F_(SSI_SDATA3,		IP14_23_20)
#define GPSR6_6		F_(SSI_WS349,		IP14_19_16)
#define GPSR6_5		F_(SSI_SCK349,		IP14_15_12)
#define GPSR6_4		F_(SSI_SDATA2,		IP14_11_8)
#define GPSR6_3		F_(SSI_SDATA1,		IP14_7_4)
#define GPSR6_2		F_(SSI_SDATA0,		IP14_3_0)
#define GPSR6_1		F_(SSI_WS01239,		IP13_31_28)
#define GPSR6_0		F_(SSI_SCK01239,	IP13_27_24)

/* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */		/* 8 */		/* 9 - F */
#define IP0_3_0		FM(QSPI0_SPCLK)		FM(HSCK4_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP0_7_4		FM(QSPI0_MOSI_IO0)	FM(HCTS4_N_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP0_11_8	FM(QSPI0_MISO_IO1)	FM(HRTS4_N_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP0_15_12	FM(QSPI0_IO2)		FM(HTX4_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP0_19_16	FM(QSPI0_IO3)		FM(HRX4_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP0_23_20	FM(QSPI1_SPCLK)		FM(RIF2_CLK_A)		FM(HSCK4_B)		FM(VI4_DATA0_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP0_27_24	FM(QSPI1_MOSI_IO0)	FM(RIF2_SYNC_A)		FM(HTX4_B)		FM(VI4_DATA1_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP0_31_28	FM(QSPI1_MISO_IO1)	FM(RIF2_D0_A)		FM(HRX4_B)		FM(VI4_DATA2_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP1_3_0		FM(QSPI1_IO2)		FM(RIF2_D1_A)		FM(HTX3_C)		FM(VI4_DATA3_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP1_7_4		FM(QSPI1_IO3)		FM(RIF3_CLK_A)		FM(HRX3_C)		FM(VI4_DATA4_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP1_11_8	FM(QSPI1_SSL)		FM(RIF3_SYNC_A)		FM(HSCK3_C)		FM(VI4_DATA5_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP1_15_12	FM(RPC_INT_N)		FM(RIF3_D0_A)		FM(HCTS3_N_C)		FM(VI4_DATA6_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP1_19_16	FM(RPC_RESET_N)		FM(RIF3_D1_A)		FM(HRTS3_N_C)		FM(VI4_DATA7_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP1_23_20	FM(AVB_RD0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP1_27_24	FM(AVB_RD1)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP1_31_28	FM(AVB_RD2)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP2_3_0		FM(AVB_TXCREFCLK)	F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP2_7_4		FM(AVB_MDIO)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP2_11_8	FM(AVB_MDC)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP2_15_12	FM(BS_N)		FM(PWM0_A)		FM(AVB_MAGIC)		FM(VI4_CLK)		F_(0, 0)		FM(TX3_C)	F_(0, 0)	FM(VI5_CLK_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP2_19_16	FM(RD_N)		FM(PWM1_A)		FM(AVB_LINK)		FM(VI4_FIELD)		F_(0, 0)		FM(RX3_C)	FM(FSCLKST2_N_A) FM(VI5_DATA0_B) F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP2_23_20	FM(RD_WR_N)		FM(SCL7_A)		FM(AVB_AVTP_MATCH_A)	FM(VI4_VSYNC_N)		FM(TX5_B)		FM(SCK3_C)	FM(PWM5_A)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP2_27_24	FM(EX_WAIT0)		FM(SDA7_A)		FM(AVB_AVTP_CAPTURE_A)	FM(VI4_HSYNC_N)		FM(RX5_B)		FM(PWM6_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP2_31_28	FM(A0)			FM(IRQ0)		FM(PWM2_A)		FM(MSIOF3_SS1_B)	FM(VI5_CLK_A)		FM(DU_CDE)	FM(HRX3_D)	FM(IERX)	FM(QSTB_QHE)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP3_3_0		FM(A1)			FM(IRQ1)		FM(PWM3_A)		FM(DU_DOTCLKIN1)	FM(VI5_DATA0_A)		FM(DU_DISP_CDE) FM(SDA6_B)	FM(IETX)	FM(QCPV_QDE)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP3_7_4		FM(A2)			FM(IRQ2)		FM(AVB_AVTP_PPS)	FM(VI4_CLKENB)		FM(VI5_DATA1_A)		FM(DU_DISP)	FM(SCL6_B)	F_(0, 0)	FM(QSTVB_QVE)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP3_11_8	FM(A3)			FM(CTS4_N_A)		FM(PWM4_A)		FM(VI4_DATA12)		F_(0, 0)		FM(DU_DOTCLKOUT0) FM(HTX3_D)	FM(IECLK)	FM(LCDOUT12)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP3_15_12	FM(A4)			FM(RTS4_N_TANS_A)	FM(MSIOF3_SYNC_B)	FM(VI4_DATA8)		FM(PWM2_B)		FM(DU_DG4)	FM(RIF2_CLK_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP3_19_16	FM(A5)			FM(SCK4_A)		FM(MSIOF3_SCK_B)	FM(VI4_DATA9)		FM(PWM3_B)		F_(0, 0)	FM(RIF2_SYNC_B)	F_(0, 0)	FM(QPOLA)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP3_23_20	FM(A6)			FM(RX4_A)		FM(MSIOF3_RXD_B)	FM(VI4_DATA10)		F_(0, 0)		F_(0, 0)	FM(RIF2_D0_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP3_27_24	FM(A7)			FM(TX4_A)		FM(MSIOF3_TXD_B)	FM(VI4_DATA11)		F_(0, 0)		F_(0, 0)	FM(RIF2_D1_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP3_31_28	FM(A8)			FM(SDA6_A)		FM(RX3_B)		FM(HRX4_C)		FM(VI5_HSYNC_N_A)	FM(DU_HSYNC)	FM(VI4_DATA0_B)	F_(0, 0)	FM(QSTH_QHS)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)

/* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */		/* 8 */		/* 9 - F */
#define IP4_3_0		FM(A9)			FM(TX5_A)		FM(IRQ3)		FM(VI4_DATA16)		FM(VI5_VSYNC_N_A)	FM(DU_DG7)	F_(0, 0)	F_(0, 0)	FM(LCDOUT15)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP4_7_4		FM(A10)			FM(IRQ4)		FM(MSIOF2_SYNC_B)	FM(VI4_DATA13)		FM(VI5_FIELD_A)		FM(DU_DG5)	FM(FSCLKST2_N_B) F_(0, 0)	FM(LCDOUT13)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP4_11_8	FM(A11)			FM(SCL6_A)		FM(TX3_B)		FM(HTX4_C)		F_(0, 0)		FM(DU_VSYNC)	FM(VI4_DATA1_B)	F_(0, 0)	FM(QSTVA_QVS)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP4_15_12	FM(A12)			FM(RX5_A)		FM(MSIOF2_SS2_B)	FM(VI4_DATA17)		FM(VI5_DATA3_A)		FM(DU_DG6)	F_(0, 0)	F_(0, 0)	FM(LCDOUT14)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP4_19_16	FM(A13)			FM(SCK5_A)		FM(MSIOF2_SCK_B)	FM(VI4_DATA14)		FM(HRX4_D)		FM(DU_DB2)	F_(0, 0)	F_(0, 0)	FM(LCDOUT2)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP4_23_20	FM(A14)			FM(MSIOF1_SS1)		FM(MSIOF2_RXD_B)	FM(VI4_DATA15)		FM(HTX4_D)		FM(DU_DB3)	F_(0, 0)	F_(0, 0)	FM(LCDOUT3)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP4_27_24	FM(A15)			FM(MSIOF1_SS2)		FM(MSIOF2_TXD_B)	FM(VI4_DATA18)		FM(VI5_DATA4_A)		FM(DU_DB4)	F_(0, 0)	F_(0, 0)	FM(LCDOUT4)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP4_31_28	FM(A16)			FM(MSIOF1_SYNC)		FM(MSIOF2_SS1_B)	FM(VI4_DATA19)		FM(VI5_DATA5_A)		FM(DU_DB5)	F_(0, 0)	F_(0, 0)	FM(LCDOUT5)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP5_3_0		FM(A17)			FM(MSIOF1_RXD)		F_(0, 0)		FM(VI4_DATA20)		FM(VI5_DATA6_A)		FM(DU_DB6)	F_(0, 0)	F_(0, 0)	FM(LCDOUT6)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP5_7_4		FM(A18)			FM(MSIOF1_TXD)		F_(0, 0)		FM(VI4_DATA21)		FM(VI5_DATA7_A)		FM(DU_DB0)	F_(0, 0)	FM(HRX4_E)	FM(LCDOUT0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP5_11_8	FM(A19)			FM(MSIOF1_SCK)		F_(0, 0)		FM(VI4_DATA22)		FM(VI5_DATA2_A)		FM(DU_DB1)	F_(0, 0)	FM(HTX4_E)	FM(LCDOUT1)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP5_15_12	FM(CS0_N)		FM(SCL5)		F_(0, 0)		F_(0, 0)		F_(0, 0)		FM(DU_DR0)	FM(VI4_DATA2_B)	F_(0, 0)	FM(LCDOUT16)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP5_19_16	FM(WE0_N)		FM(SDA5)		F_(0, 0)		F_(0, 0)		F_(0, 0)		FM(DU_DR1)	FM(VI4_DATA3_B)	F_(0, 0)	FM(LCDOUT17)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP5_23_20	FM(D0)			FM(MSIOF3_SCK_A)	F_(0, 0)		F_(0, 0)		F_(0, 0)		FM(DU_DR2)	FM(CTS4_N_C)	F_(0, 0)	FM(LCDOUT18)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP5_27_24	FM(D1)			FM(MSIOF3_SYNC_A)	FM(SCK3_A)		FM(VI4_DATA23)		FM(VI5_CLKENB_A)	FM(DU_DB7)	FM(RTS4_N_TANS_C) F_(0, 0)	FM(LCDOUT7)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP5_31_28	FM(D2)			FM(MSIOF3_RXD_A)	FM(RX5_C)		F_(0, 0)		FM(VI5_DATA14_A)	FM(DU_DR3)	FM(RX4_C)	F_(0, 0)	FM(LCDOUT19)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP6_3_0		FM(D3)			FM(MSIOF3_TXD_A)	FM(TX5_C)		F_(0, 0)		FM(VI5_DATA15_A)	FM(DU_DR4)	FM(TX4_C)	F_(0, 0)	FM(LCDOUT20)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP6_7_4		FM(D4)			FM(CANFD1_TX)		FM(HSCK3_B)		FM(CAN1_TX)		FM(RTS3_N_TANS_A)	FM(MSIOF3_SS2_A) F_(0, 0)	FM(VI5_DATA1_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP6_11_8	FM(D5)			FM(RX3_A)		FM(HRX3_B)		F_(0, 0)		F_(0, 0)		FM(DU_DR5)	FM(VI4_DATA4_B)	F_(0, 0)	FM(LCDOUT21)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP6_15_12	FM(D6)			FM(TX3_A)		FM(HTX3_B)		F_(0, 0)		F_(0, 0)		FM(DU_DR6)	FM(VI4_DATA5_B)	F_(0, 0)	FM(LCDOUT22)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP6_19_16	FM(D7)			FM(CANFD1_RX)		FM(IRQ5)		FM(CAN1_RX)		FM(CTS3_N_A)		F_(0, 0)	F_(0, 0)	FM(VI5_DATA2_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP6_23_20	FM(D8)			FM(MSIOF2_SCK_A)	FM(SCK4_B)		F_(0, 0)		FM(VI5_DATA12_A)	FM(DU_DR7)	FM(RIF3_CLK_B)	FM(HCTS3_N_E)	FM(LCDOUT23)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP6_27_24	FM(D9)			FM(MSIOF2_SYNC_A)	F_(0, 0)		F_(0, 0)		FM(VI5_DATA10_A)	FM(DU_DG0)	FM(RIF3_SYNC_B)	FM(HRX3_E)	FM(LCDOUT8)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP6_31_28	FM(D10)			FM(MSIOF2_RXD_A)	F_(0, 0)		F_(0, 0)		FM(VI5_DATA13_A)	FM(DU_DG1)	FM(RIF3_D0_B)	FM(HTX3_E)	FM(LCDOUT9)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP7_3_0		FM(D11)			FM(MSIOF2_TXD_A)	F_(0, 0)		F_(0, 0)		FM(VI5_DATA11_A)	FM(DU_DG2)	FM(RIF3_D1_B)	FM(HRTS3_N_E)	FM(LCDOUT10)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP7_7_4		FM(D12)			FM(CANFD0_TX)		FM(TX4_B)		FM(CAN0_TX)		FM(VI5_DATA8_A)		F_(0, 0)	F_(0, 0)	FM(VI5_DATA3_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP7_11_8	FM(D13)			FM(CANFD0_RX)		FM(RX4_B)		FM(CAN0_RX)		FM(VI5_DATA9_A)		FM(SCL7_B)	F_(0, 0)	FM(VI5_DATA4_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP7_15_12	FM(D14)			FM(CAN_CLK)		FM(HRX3_A)		FM(MSIOF2_SS2_A)	F_(0, 0)		FM(SDA7_B)	F_(0, 0)	FM(VI5_DATA5_B)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP7_19_16	FM(D15)			FM(MSIOF2_SS1_A)	FM(HTX3_A)		FM(MSIOF3_SS1_A)	F_(0, 0)		FM(DU_DG3)	F_(0, 0)	F_(0, 0)	FM(LCDOUT11)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP7_23_20	FM(SCL4)		FM(CS1_N_A26)		F_(0, 0)		F_(0, 0)		F_(0, 0)		FM(DU_DOTCLKIN0) FM(VI4_DATA6_B) FM(VI5_DATA6_B) FM(QCLK)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP7_27_24	FM(SDA4)		FM(WE1_N)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(VI4_DATA7_B)	FM(VI5_DATA7_B)	FM(QPOLB)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP7_31_28	FM(SD0_CLK)		FM(NFDATA8)		FM(SCL1_C)		FM(HSCK1_B)		FM(SDA2_E)		FM(FMCLK_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)

/* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */		/* 8 */		/* 9 - F */
#define IP8_3_0		FM(SD0_CMD)		FM(NFDATA9)		F_(0, 0)		FM(HRX1_B)		F_(0, 0)		FM(SPEEDIN_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP8_7_4		FM(SD0_DAT0)		FM(NFDATA10)		F_(0, 0)		FM(HTX1_B)		F_(0, 0)		FM(REMOCON_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP8_11_8	FM(SD0_DAT1)		FM(NFDATA11)		FM(SDA2_C)		FM(HCTS1_N_B)		F_(0, 0)		FM(FMIN_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP8_15_12	FM(SD0_DAT2)		FM(NFDATA12)		FM(SCL2_C)		FM(HRTS1_N_B)		F_(0, 0)		FM(BPFCLK_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP8_19_16	FM(SD0_DAT3)		FM(NFDATA13)		FM(SDA1_C)		FM(SCL2_E)		FM(SPEEDIN_C)		FM(REMOCON_C)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP8_23_20	FM(SD1_CLK)		FM(NFDATA14_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP8_27_24	FM(SD1_CMD)		FM(NFDATA15_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP8_31_28	FM(SD1_DAT0)		FM(NFWP_N_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP9_3_0		FM(SD1_DAT1)		FM(NFCE_N_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP9_7_4		FM(SD1_DAT2)		FM(NFALE_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP9_11_8	FM(SD1_DAT3)		FM(NFRB_N_B)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP9_15_12	FM(SD3_CLK)		FM(NFWE_N)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP9_19_16	FM(SD3_CMD)		FM(NFRE_N)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP9_23_20	FM(SD3_DAT0)		FM(NFDATA0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP9_27_24	FM(SD3_DAT1)		FM(NFDATA1)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP9_31_28	FM(SD3_DAT2)		FM(NFDATA2)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP10_3_0	FM(SD3_DAT3)		FM(NFDATA3)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP10_7_4	FM(SD3_DAT4)		FM(NFDATA4)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP10_11_8	FM(SD3_DAT5)		FM(NFDATA5)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP10_15_12	FM(SD3_DAT6)		FM(NFDATA6)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP10_19_16	FM(SD3_DAT7)		FM(NFDATA7)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP10_23_20	FM(SD3_DS)		FM(NFCLE)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP10_27_24	FM(SD0_CD)		FM(NFALE_A)		FM(SD3_CD)		FM(RIF0_CLK_B)		FM(SCL2_B)		FM(TCLK1_A)	FM(SSI_SCK2_B)	FM(TS_SCK0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP10_31_28	FM(SD0_WP)		FM(NFRB_N_A)		FM(SD3_WP)		FM(RIF0_D0_B)		FM(SDA2_B)		FM(TCLK2_A)	FM(SSI_WS2_B)	FM(TS_SDAT0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP11_3_0	FM(SD1_CD)		FM(NFCE_N_A)		FM(SSI_SCK1)		FM(RIF0_D1_B)		F_(0, 0)		F_(0, 0)	F_(0, 0)	FM(TS_SDEN0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP11_7_4	FM(SD1_WP)		FM(NFWP_N_A)		FM(SSI_WS1)		FM(RIF0_SYNC_B)		F_(0, 0)		F_(0, 0)	F_(0, 0)	FM(TS_SPSYNC0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP11_11_8	FM(RX0_A)		FM(HRX1_A)		FM(SSI_SCK2_A)		FM(RIF1_SYNC)		F_(0, 0)		F_(0, 0)	F_(0, 0)	FM(TS_SCK1)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP11_15_12	FM(TX0_A)		FM(HTX1_A)		FM(SSI_WS2_A)		FM(RIF1_D0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	FM(TS_SDAT1)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP11_19_16	FM(CTS0_N_A)		FM(NFDATA14_A)		FM(AUDIO_CLKOUT_A)	FM(RIF1_D1)		FM(SCIF_CLK_A)		FM(FMCLK_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP11_23_20	FM(RTS0_N_TANS_A)	FM(NFDATA15_A)		FM(AUDIO_CLKOUT1_A)	FM(RIF1_CLK)		FM(SCL2_A)		FM(FMIN_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP11_27_24	FM(SCK0_A)		FM(HSCK1_A)		FM(USB3HS0_ID)		FM(RTS1_N_TANS)		FM(SDA2_A)		FM(FMCLK_C)	F_(0, 0)	F_(0, 0)	FM(USB0_ID)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP11_31_28	FM(RX1)			FM(HRX2_B)		FM(SSI_SCK9_B)		FM(AUDIO_CLKOUT1_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)

/* IPSRx */		/* 0 */			/* 1 */			/* 2 */			/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */		/* 8 */		/* 9 - F */
#define IP12_3_0	FM(TX1)			FM(HTX2_B)		FM(SSI_WS9_B)		FM(AUDIO_CLKOUT3_B)	F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP12_7_4	FM(SCK2_A)		FM(HSCK0_A)		FM(AUDIO_CLKB_A)	FM(CTS1_N)		FM(RIF0_CLK_A)		FM(REMOCON_A)	FM(SCIF_CLK_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP12_11_8	FM(TX2_A)		FM(HRX0_A)		FM(AUDIO_CLKOUT2_A)	F_(0, 0)		FM(SCL1_A)		F_(0, 0)	FM(FSO_CFE_0_N_A) FM(TS_SDEN1)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP12_15_12	FM(RX2_A)		FM(HTX0_A)		FM(AUDIO_CLKOUT3_A)	F_(0, 0)		FM(SDA1_A)		F_(0, 0)	FM(FSO_CFE_1_N_A) FM(TS_SPSYNC1) F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP12_19_16	FM(MSIOF0_SCK)		F_(0, 0)		FM(SSI_SCK78)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP12_23_20	FM(MSIOF0_RXD)		F_(0, 0)		FM(SSI_WS78)		F_(0, 0)		F_(0, 0)		FM(TX2_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP12_27_24	FM(MSIOF0_TXD)		F_(0, 0)		FM(SSI_SDATA7)		F_(0, 0)		F_(0, 0)		FM(RX2_B)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP12_31_28	FM(MSIOF0_SYNC)		FM(AUDIO_CLKOUT_B)	FM(SSI_SDATA8)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP13_3_0	FM(MSIOF0_SS1)		FM(HRX2_A)		FM(SSI_SCK4)		FM(HCTS0_N_A)		FM(BPFCLK_C)		FM(SPEEDIN_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP13_7_4	FM(MSIOF0_SS2)		FM(HTX2_A)		FM(SSI_WS4)		FM(HRTS0_N_A)		FM(FMIN_C)		FM(BPFCLK_A)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP13_11_8	FM(SSI_SDATA9)		F_(0, 0)		FM(AUDIO_CLKC_A)	FM(SCK1)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP13_15_12	FM(MLB_CLK)		FM(RX0_B)		F_(0, 0)		FM(RIF0_D0_A)		FM(SCL1_B)		FM(TCLK1_B)	F_(0, 0)	F_(0, 0)	FM(SIM0_RST_A)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP13_19_16	FM(MLB_SIG)		FM(SCK0_B)		F_(0, 0)		FM(RIF0_D1_A)		FM(SDA1_B)		FM(TCLK2_B)	F_(0, 0)	F_(0, 0)	FM(SIM0_D_A)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP13_23_20	FM(MLB_DAT)		FM(TX0_B)		F_(0, 0)		FM(RIF0_SYNC_A)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	FM(SIM0_CLK_A)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP13_27_24	FM(SSI_SCK01239)	F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP13_31_28	FM(SSI_WS01239)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP14_3_0	FM(SSI_SDATA0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP14_7_4	FM(SSI_SDATA1)		FM(AUDIO_CLKC_B)	F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM0_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP14_11_8	FM(SSI_SDATA2)		FM(AUDIO_CLKOUT2_B)	FM(SSI_SCK9_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM1_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP14_15_12	FM(SSI_SCK349)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM2_C)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP14_19_16	FM(SSI_WS349)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM3_C)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP14_23_20	FM(SSI_SDATA3)		FM(AUDIO_CLKOUT1_C)	FM(AUDIO_CLKB_B)	F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM4_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP14_27_24	FM(SSI_SDATA4)		F_(0, 0)		FM(SSI_WS9_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(PWM5_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP14_31_28	FM(SSI_SCK5)		FM(HRX0_B)		F_(0, 0)		FM(USB0_PWEN_B)		FM(SCL2_D)		F_(0, 0)	FM(PWM6_B)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP15_3_0	FM(SSI_WS5)		FM(HTX0_B)		F_(0, 0)		FM(USB0_OVC_B)		FM(SDA2_D)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP15_7_4	FM(SSI_SDATA5)		FM(HSCK0_B)		FM(AUDIO_CLKB_C)	FM(TPU0TO0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP15_11_8	FM(SSI_SCK6)		FM(HSCK2_A)		FM(AUDIO_CLKC_C)	FM(TPU0TO1)		F_(0, 0)		F_(0, 0)	FM(FSO_CFE_0_N_B) F_(0, 0)	FM(SIM0_RST_B)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP15_15_12	FM(SSI_WS6)		FM(HCTS2_N_A)		FM(AUDIO_CLKOUT2_C)	FM(TPU0TO2)		FM(SDA1_D)		F_(0, 0)	FM(FSO_CFE_1_N_B) F_(0, 0)	FM(SIM0_D_B)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP15_19_16	FM(SSI_SDATA6)		FM(HRTS2_N_A)		FM(AUDIO_CLKOUT3_C)	FM(TPU0TO3)		FM(SCL1_D)		F_(0, 0)	FM(FSO_TOE_N_B)	F_(0, 0)	FM(SIM0_CLK_B)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP15_23_20	FM(AUDIO_CLKA)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP15_27_24	FM(USB30_PWEN)		FM(USB0_PWEN_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)
#define IP15_31_28	FM(USB30_OVC)		FM(USB0_OVC_A)		F_(0, 0)		F_(0, 0)		F_(0, 0)		F_(0, 0)	FM(FSO_TOE_N_A)	F_(0, 0)	F_(0, 0)	F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0)

#define PINMUX_GPSR	\
\
													 \
													 \
													 \
													 \
													 \
													 \
				GPSR2_25								 \
				GPSR2_24								 \
				GPSR2_23								 \
		GPSR1_22	GPSR2_22								 \
		GPSR1_21	GPSR2_21								 \
		GPSR1_20	GPSR2_20								 \
		GPSR1_19	GPSR2_19					GPSR5_19		 \
		GPSR1_18	GPSR2_18					GPSR5_18		 \
GPSR0_17	GPSR1_17	GPSR2_17					GPSR5_17	GPSR6_17 \
GPSR0_16	GPSR1_16	GPSR2_16					GPSR5_16	GPSR6_16 \
GPSR0_15	GPSR1_15	GPSR2_15	GPSR3_15			GPSR5_15	GPSR6_15 \
GPSR0_14	GPSR1_14	GPSR2_14	GPSR3_14			GPSR5_14	GPSR6_14 \
GPSR0_13	GPSR1_13	GPSR2_13	GPSR3_13			GPSR5_13	GPSR6_13 \
GPSR0_12	GPSR1_12	GPSR2_12	GPSR3_12			GPSR5_12	GPSR6_12 \
GPSR0_11	GPSR1_11	GPSR2_11	GPSR3_11			GPSR5_11	GPSR6_11 \
GPSR0_10	GPSR1_10	GPSR2_10	GPSR3_10	GPSR4_10	GPSR5_10	GPSR6_10 \
GPSR0_9		GPSR1_9		GPSR2_9		GPSR3_9		GPSR4_9		GPSR5_9		GPSR6_9 \
GPSR0_8		GPSR1_8		GPSR2_8		GPSR3_8		GPSR4_8		GPSR5_8		GPSR6_8 \
GPSR0_7		GPSR1_7		GPSR2_7		GPSR3_7		GPSR4_7		GPSR5_7		GPSR6_7 \
GPSR0_6		GPSR1_6		GPSR2_6		GPSR3_6		GPSR4_6		GPSR5_6		GPSR6_6 \
GPSR0_5		GPSR1_5		GPSR2_5		GPSR3_5		GPSR4_5		GPSR5_5		GPSR6_5 \
GPSR0_4		GPSR1_4		GPSR2_4		GPSR3_4		GPSR4_4		GPSR5_4		GPSR6_4 \
GPSR0_3		GPSR1_3		GPSR2_3		GPSR3_3		GPSR4_3		GPSR5_3		GPSR6_3 \
GPSR0_2		GPSR1_2		GPSR2_2		GPSR3_2		GPSR4_2		GPSR5_2		GPSR6_2 \
GPSR0_1		GPSR1_1		GPSR2_1		GPSR3_1		GPSR4_1		GPSR5_1		GPSR6_1 \
GPSR0_0		GPSR1_0		GPSR2_0		GPSR3_0		GPSR4_0		GPSR5_0		GPSR6_0

#define PINMUX_IPSR				\
\
FM(IP0_3_0)	IP0_3_0		FM(IP1_3_0)	IP1_3_0		FM(IP2_3_0)	IP2_3_0		FM(IP3_3_0)	IP3_3_0 \
FM(IP0_7_4)	IP0_7_4		FM(IP1_7_4)	IP1_7_4		FM(IP2_7_4)	IP2_7_4		FM(IP3_7_4)	IP3_7_4 \
FM(IP0_11_8)	IP0_11_8	FM(IP1_11_8)	IP1_11_8	FM(IP2_11_8)	IP2_11_8	FM(IP3_11_8)	IP3_11_8 \
FM(IP0_15_12)	IP0_15_12	FM(IP1_15_12)	IP1_15_12	FM(IP2_15_12)	IP2_15_12	FM(IP3_15_12)	IP3_15_12 \
FM(IP0_19_16)	IP0_19_16	FM(IP1_19_16)	IP1_19_16	FM(IP2_19_16)	IP2_19_16	FM(IP3_19_16)	IP3_19_16 \
FM(IP0_23_20)	IP0_23_20	FM(IP1_23_20)	IP1_23_20	FM(IP2_23_20)	IP2_23_20	FM(IP3_23_20)	IP3_23_20 \
FM(IP0_27_24)	IP0_27_24	FM(IP1_27_24)	IP1_27_24	FM(IP2_27_24)	IP2_27_24	FM(IP3_27_24)	IP3_27_24 \
FM(IP0_31_28)	IP0_31_28	FM(IP1_31_28)	IP1_31_28	FM(IP2_31_28)	IP2_31_28	FM(IP3_31_28)	IP3_31_28 \
\
FM(IP4_3_0)	IP4_3_0		FM(IP5_3_0)	IP5_3_0		FM(IP6_3_0)	IP6_3_0		FM(IP7_3_0)	IP7_3_0 \
FM(IP4_7_4)	IP4_7_4		FM(IP5_7_4)	IP5_7_4		FM(IP6_7_4)	IP6_7_4		FM(IP7_7_4)	IP7_7_4 \
FM(IP4_11_8)	IP4_11_8	FM(IP5_11_8)	IP5_11_8	FM(IP6_11_8)	IP6_11_8	FM(IP7_11_8)	IP7_11_8 \
FM(IP4_15_12)	IP4_15_12	FM(IP5_15_12)	IP5_15_12	FM(IP6_15_12)	IP6_15_12	FM(IP7_15_12)	IP7_15_12 \
FM(IP4_19_16)	IP4_19_16	FM(IP5_19_16)	IP5_19_16	FM(IP6_19_16)	IP6_19_16	FM(IP7_19_16)	IP7_19_16 \
FM(IP4_23_20)	IP4_23_20	FM(IP5_23_20)	IP5_23_20	FM(IP6_23_20)	IP6_23_20	FM(IP7_23_20)	IP7_23_20 \
FM(IP4_27_24)	IP4_27_24	FM(IP5_27_24)	IP5_27_24	FM(IP6_27_24)	IP6_27_24	FM(IP7_27_24)	IP7_27_24 \
FM(IP4_31_28)	IP4_31_28	FM(IP5_31_28)	IP5_31_28	FM(IP6_31_28)	IP6_31_28	FM(IP7_31_28)	IP7_31_28 \
\
FM(IP8_3_0)	IP8_3_0		FM(IP9_3_0)	IP9_3_0		FM(IP10_3_0)	IP10_3_0	FM(IP11_3_0)	IP11_3_0 \
FM(IP8_7_4)	IP8_7_4		FM(IP9_7_4)	IP9_7_4		FM(IP10_7_4)	IP10_7_4	FM(IP11_7_4)	IP11_7_4 \
FM(IP8_11_8)	IP8_11_8	FM(IP9_11_8)	IP9_11_8	FM(IP10_11_8)	IP10_11_8	FM(IP11_11_8)	IP11_11_8 \
FM(IP8_15_12)	IP8_15_12	FM(IP9_15_12)	IP9_15_12	FM(IP10_15_12)	IP10_15_12	FM(IP11_15_12)	IP11_15_12 \
FM(IP8_19_16)	IP8_19_16	FM(IP9_19_16)	IP9_19_16	FM(IP10_19_16)	IP10_19_16	FM(IP11_19_16)	IP11_19_16 \
FM(IP8_23_20)	IP8_23_20	FM(IP9_23_20)	IP9_23_20	FM(IP10_23_20)	IP10_23_20	FM(IP11_23_20)	IP11_23_20 \
FM(IP8_27_24)	IP8_27_24	FM(IP9_27_24)	IP9_27_24	FM(IP10_27_24)	IP10_27_24	FM(IP11_27_24)	IP11_27_24 \
FM(IP8_31_28)	IP8_31_28	FM(IP9_31_28)	IP9_31_28	FM(IP10_31_28)	IP10_31_28	FM(IP11_31_28)	IP11_31_28 \
\
FM(IP12_3_0)	IP12_3_0	FM(IP13_3_0)	IP13_3_0	FM(IP14_3_0)	IP14_3_0	FM(IP15_3_0)	IP15_3_0 \
FM(IP12_7_4)	IP12_7_4	FM(IP13_7_4)	IP13_7_4	FM(IP14_7_4)	IP14_7_4	FM(IP15_7_4)	IP15_7_4 \
FM(IP12_11_8)	IP12_11_8	FM(IP13_11_8)	IP13_11_8	FM(IP14_11_8)	IP14_11_8	FM(IP15_11_8)	IP15_11_8 \
FM(IP12_15_12)	IP12_15_12	FM(IP13_15_12)	IP13_15_12	FM(IP14_15_12)	IP14_15_12	FM(IP15_15_12)	IP15_15_12 \
FM(IP12_19_16)	IP12_19_16	FM(IP13_19_16)	IP13_19_16	FM(IP14_19_16)	IP14_19_16	FM(IP15_19_16)	IP15_19_16 \
FM(IP12_23_20)	IP12_23_20	FM(IP13_23_20)	IP13_23_20	FM(IP14_23_20)	IP14_23_20	FM(IP15_23_20)	IP15_23_20 \
FM(IP12_27_24)	IP12_27_24	FM(IP13_27_24)	IP13_27_24	FM(IP14_27_24)	IP14_27_24	FM(IP15_27_24)	IP15_27_24 \
FM(IP12_31_28)	IP12_31_28	FM(IP13_31_28)	IP13_31_28	FM(IP14_31_28)	IP14_31_28	FM(IP15_31_28)	IP15_31_28

/* MOD_SEL0 */			/* 0 */				/* 1 */				/* 2 */				/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */
#define MOD_SEL0_30_29		FM(SEL_ADGB_0)			FM(SEL_ADGB_1)			FM(SEL_ADGB_2)			F_(0, 0)
#define MOD_SEL0_28		FM(SEL_DRIF0_0)			FM(SEL_DRIF0_1)
#define MOD_SEL0_27_26		FM(SEL_FM_0)			FM(SEL_FM_1)			FM(SEL_FM_2)			F_(0, 0)
#define MOD_SEL0_25		FM(SEL_FSO_0)			FM(SEL_FSO_1)
#define MOD_SEL0_24		FM(SEL_HSCIF0_0)		FM(SEL_HSCIF0_1)
#define MOD_SEL0_23		FM(SEL_HSCIF1_0)		FM(SEL_HSCIF1_1)
#define MOD_SEL0_22		FM(SEL_HSCIF2_0)		FM(SEL_HSCIF2_1)
#define MOD_SEL0_21_20		FM(SEL_I2C1_0)			FM(SEL_I2C1_1)			FM(SEL_I2C1_2)			FM(SEL_I2C1_3)		FM(SEL_I2C1_4)		F_(0, 0)	F_(0, 0)	F_(0, 0)
#define MOD_SEL0_19_18_17	FM(SEL_I2C2_0)			FM(SEL_I2C2_1)			FM(SEL_I2C2_2)			FM(SEL_I2C2_3)		FM(SEL_I2C2_4)		F_(0, 0)	F_(0, 0)	F_(0, 0)
#define MOD_SEL0_16		FM(SEL_NDFC_0)			FM(SEL_NDFC_1)
#define MOD_SEL0_15		FM(SEL_PWM0_0)			FM(SEL_PWM0_1)
#define MOD_SEL0_14		FM(SEL_PWM1_0)			FM(SEL_PWM1_1)
#define MOD_SEL0_13_12		FM(SEL_PWM2_0)			FM(SEL_PWM2_1)			FM(SEL_PWM2_2)			F_(0, 0)
#define MOD_SEL0_11_10		FM(SEL_PWM3_0)			FM(SEL_PWM3_1)			FM(SEL_PWM3_2)			F_(0, 0)
#define MOD_SEL0_9		FM(SEL_PWM4_0)			FM(SEL_PWM4_1)
#define MOD_SEL0_8		FM(SEL_PWM5_0)			FM(SEL_PWM5_1)
#define MOD_SEL0_7		FM(SEL_PWM6_0)			FM(SEL_PWM6_1)
#define MOD_SEL0_6_5		FM(SEL_REMOCON_0)		FM(SEL_REMOCON_1)		FM(SEL_REMOCON_2)		F_(0, 0)
#define MOD_SEL0_4		FM(SEL_SCIF_0)			FM(SEL_SCIF_1)
#define MOD_SEL0_3		FM(SEL_SCIF0_0)			FM(SEL_SCIF0_1)
#define MOD_SEL0_2		FM(SEL_SCIF2_0)			FM(SEL_SCIF2_1)
#define MOD_SEL0_1_0		FM(SEL_SPEED_PULSE_IF_0)	FM(SEL_SPEED_PULSE_IF_1)	FM(SEL_SPEED_PULSE_IF_2)	F_(0, 0)

/* MOD_SEL1 */			/* 0 */				/* 1 */				/* 2 */				/* 3 */			/* 4 */			/* 5 */		/* 6 */		/* 7 */
#define MOD_SEL1_31		FM(SEL_SIMCARD_0)		FM(SEL_SIMCARD_1)
#define MOD_SEL1_30		FM(SEL_SSI2_0)			FM(SEL_SSI2_1)
#define MOD_SEL1_29		FM(SEL_TIMER_TMU_0)		FM(SEL_TIMER_TMU_1)
#define MOD_SEL1_28		FM(SEL_USB_20_CH0_0)		FM(SEL_USB_20_CH0_1)
#define MOD_SEL1_26		FM(SEL_DRIF2_0)			FM(SEL_DRIF2_1)
#define MOD_SEL1_25		FM(SEL_DRIF3_0)			FM(SEL_DRIF3_1)
#define MOD_SEL1_24_23_22	FM(SEL_HSCIF3_0)		FM(SEL_HSCIF3_1)		FM(SEL_HSCIF3_2)		FM(SEL_HSCIF3_3)	FM(SEL_HSCIF3_4)	F_(0, 0)	F_(0, 0)	F_(0, 0)
#define MOD_SEL1_21_20_19	FM(SEL_HSCIF4_0)		FM(SEL_HSCIF4_1)		FM(SEL_HSCIF4_2)		FM(SEL_HSCIF4_3)	FM(SEL_HSCIF4_4)	F_(0, 0)	F_(0, 0)	F_(0, 0)
#define MOD_SEL1_18		FM(SEL_I2C6_0)			FM(SEL_I2C6_1)
#define MOD_SEL1_17		FM(SEL_I2C7_0)			FM(SEL_I2C7_1)
#define MOD_SEL1_16		FM(SEL_MSIOF2_0)		FM(SEL_MSIOF2_1)
#define MOD_SEL1_15		FM(SEL_MSIOF3_0)		FM(SEL_MSIOF3_1)
#define MOD_SEL1_14_13		FM(SEL_SCIF3_0)			FM(SEL_SCIF3_1)			FM(SEL_SCIF3_2)			F_(0, 0)
#define MOD_SEL1_12_11		FM(SEL_SCIF4_0)			FM(SEL_SCIF4_1)			FM(SEL_SCIF4_2)			F_(0, 0)
#define MOD_SEL1_10_9		FM(SEL_SCIF5_0)			FM(SEL_SCIF5_1)			FM(SEL_SCIF5_2)			F_(0, 0)
#define MOD_SEL1_8		FM(SEL_VIN4_0)			FM(SEL_VIN4_1)
#define MOD_SEL1_7		FM(SEL_VIN5_0)			FM(SEL_VIN5_1)
#define MOD_SEL1_6_5		FM(SEL_ADGC_0)			FM(SEL_ADGC_1)			FM(SEL_ADGC_2)			F_(0, 0)
#define MOD_SEL1_4		FM(SEL_SSI9_0)			FM(SEL_SSI9_1)

#define PINMUX_MOD_SELS	\
\
			MOD_SEL1_31 \
MOD_SEL0_30_29		MOD_SEL1_30 \
			MOD_SEL1_29 \
MOD_SEL0_28		MOD_SEL1_28 \
MOD_SEL0_27_26 \
			MOD_SEL1_26 \
MOD_SEL0_25		MOD_SEL1_25 \
MOD_SEL0_24		MOD_SEL1_24_23_22 \
MOD_SEL0_23 \
MOD_SEL0_22 \
MOD_SEL0_21_20		MOD_SEL1_21_20_19 \
MOD_SEL0_19_18_17	MOD_SEL1_18 \
			MOD_SEL1_17 \
MOD_SEL0_16		MOD_SEL1_16 \
MOD_SEL0_15		MOD_SEL1_15 \
MOD_SEL0_14		MOD_SEL1_14_13 \
MOD_SEL0_13_12 \
			MOD_SEL1_12_11 \
MOD_SEL0_11_10 \
			MOD_SEL1_10_9 \
MOD_SEL0_9 \
MOD_SEL0_8		MOD_SEL1_8 \
MOD_SEL0_7		MOD_SEL1_7 \
MOD_SEL0_6_5		MOD_SEL1_6_5 \
MOD_SEL0_4		MOD_SEL1_4 \
MOD_SEL0_3 \
MOD_SEL0_2 \
MOD_SEL0_1_0

/*
 * These pins are not able to be muxed but have other properties
 * that can be set, such as pull-up/pull-down enable.
 */
#define PINMUX_STATIC \
	FM(AVB_TX_CTL) FM(AVB_TXC) FM(AVB_TD0) FM(AVB_TD1) FM(AVB_TD2) \
	FM(AVB_TD3) \
	FM(PRESETOUT_N) FM(FSCLKST_N) FM(TRST_N) FM(TCK) FM(TMS) FM(TDI) \
	FM(ASEBRK) \
	FM(MLB_REF)

enum {
	PINMUX_RESERVED = 0,

	PINMUX_DATA_BEGIN,
	GP_ALL(DATA),
	PINMUX_DATA_END,

#define F_(x, y)
#define FM(x)	FN_##x,
	PINMUX_FUNCTION_BEGIN,
	GP_ALL(FN),
	PINMUX_GPSR
	PINMUX_IPSR
	PINMUX_MOD_SELS
	PINMUX_FUNCTION_END,
#undef F_
#undef FM

#define F_(x, y)
#define FM(x)	x##_MARK,
	PINMUX_MARK_BEGIN,
	PINMUX_GPSR
	PINMUX_IPSR
	PINMUX_MOD_SELS
	PINMUX_STATIC
	PINMUX_MARK_END,
#undef F_
#undef FM
};

static const u16 pinmux_data[] = {
	PINMUX_DATA_GP_ALL(),

	PINMUX_SINGLE(CLKOUT),
	PINMUX_SINGLE(AVB_PHY_INT),
	PINMUX_SINGLE(AVB_RD3),
	PINMUX_SINGLE(AVB_RXC),
	PINMUX_SINGLE(AVB_RX_CTL),
	PINMUX_SINGLE(QSPI0_SSL),

	/* IPSR0 */
	PINMUX_IPSR_GPSR(IP0_3_0,		QSPI0_SPCLK),
	PINMUX_IPSR_MSEL(IP0_3_0,		HSCK4_A,	SEL_HSCIF4_0),

	PINMUX_IPSR_GPSR(IP0_7_4,		QSPI0_MOSI_IO0),
	PINMUX_IPSR_MSEL(IP0_7_4,		HCTS4_N_A,	SEL_HSCIF4_0),

	PINMUX_IPSR_GPSR(IP0_11_8,		QSPI0_MISO_IO1),
	PINMUX_IPSR_MSEL(IP0_11_8,		HRTS4_N_A,	SEL_HSCIF4_0),

	PINMUX_IPSR_GPSR(IP0_15_12,		QSPI0_IO2),
	PINMUX_IPSR_GPSR(IP0_15_12,		HTX4_A),

	PINMUX_IPSR_GPSR(IP0_19_16,		QSPI0_IO3),
	PINMUX_IPSR_MSEL(IP0_19_16,		HRX4_A,		SEL_HSCIF4_0),

	PINMUX_IPSR_GPSR(IP0_23_20,		QSPI1_SPCLK),
	PINMUX_IPSR_MSEL(IP0_23_20,		RIF2_CLK_A,	SEL_DRIF2_0),
	PINMUX_IPSR_MSEL(IP0_23_20,		HSCK4_B,	SEL_HSCIF4_1),
	PINMUX_IPSR_MSEL(IP0_23_20,		VI4_DATA0_A,	SEL_VIN4_0),

	PINMUX_IPSR_GPSR(IP0_27_24,		QSPI1_MOSI_IO0),
	PINMUX_IPSR_MSEL(IP0_27_24,		RIF2_SYNC_A,	SEL_DRIF2_0),
	PINMUX_IPSR_GPSR(IP0_27_24,		HTX4_B),
	PINMUX_IPSR_MSEL(IP0_27_24,		VI4_DATA1_A,	SEL_VIN4_0),

	PINMUX_IPSR_GPSR(IP0_31_28,		QSPI1_MISO_IO1),
	PINMUX_IPSR_MSEL(IP0_31_28,		RIF2_D0_A,	SEL_DRIF2_0),
	PINMUX_IPSR_MSEL(IP0_31_28,		HRX4_B,		SEL_HSCIF4_1),
	PINMUX_IPSR_MSEL(IP0_31_28,		VI4_DATA2_A,	SEL_VIN4_0),

	/* IPSR1 */
	PINMUX_IPSR_GPSR(IP1_3_0,		QSPI1_IO2),
	PINMUX_IPSR_MSEL(IP1_3_0,		RIF2_D1_A,	SEL_DRIF2_0),
	PINMUX_IPSR_GPSR(IP1_3_0,		HTX3_C),
	PINMUX_IPSR_MSEL(IP1_3_0,		VI4_DATA3_A,	SEL_VIN4_0),

	PINMUX_IPSR_GPSR(IP1_7_4,		QSPI1_IO3),
	PINMUX_IPSR_MSEL(IP1_7_4,		RIF3_CLK_A,	SEL_DRIF3_0),
	PINMUX_IPSR_MSEL(IP1_7_4,		HRX3_C,		SEL_HSCIF3_2),
	PINMUX_IPSR_MSEL(IP1_7_4,		VI4_DATA4_A,	SEL_VIN4_0),

	PINMUX_IPSR_GPSR(IP1_11_8,		QSPI1_SSL),
	PINMUX_IPSR_MSEL(IP1_11_8,		RIF3_SYNC_A,	SEL_DRIF3_0),
	PINMUX_IPSR_MSEL(IP1_11_8,		HSCK3_C,	SEL_HSCIF3_2),
	PINMUX_IPSR_MSEL(IP1_11_8,		VI4_DATA5_A,	SEL_VIN4_0),

	PINMUX_IPSR_GPSR(IP1_15_12,		RPC_INT_N),
	PINMUX_IPSR_MSEL(IP1_15_12,		RIF3_D0_A,	SEL_DRIF3_0),
	PINMUX_IPSR_MSEL(IP1_15_12,		HCTS3_N_C,	SEL_HSCIF3_2),
	PINMUX_IPSR_MSEL(IP1_15_12,		VI4_DATA6_A,	SEL_VIN4_0),

	PINMUX_IPSR_GPSR(IP1_19_16,		RPC_RESET_N),
	PINMUX_IPSR_MSEL(IP1_19_16,		RIF3_D1_A,	SEL_DRIF3_0),
	PINMUX_IPSR_MSEL(IP1_19_16,		HRTS3_N_C,	SEL_HSCIF3_2),
	PINMUX_IPSR_MSEL(IP1_19_16,		VI4_DATA7_A,	SEL_VIN4_0),

	PINMUX_IPSR_GPSR(IP1_23_20,		AVB_RD0),

	PINMUX_IPSR_GPSR(IP1_27_24,		AVB_RD1),

	PINMUX_IPSR_GPSR(IP1_31_28,		AVB_RD2),

	/* IPSR2 */
	PINMUX_IPSR_GPSR(IP2_3_0,		AVB_TXCREFCLK),

	PINMUX_IPSR_GPSR(IP2_7_4,		AVB_MDIO),

	PINMUX_IPSR_GPSR(IP2_11_8,		AVB_MDC),

	PINMUX_IPSR_GPSR(IP2_15_12,		BS_N),
	PINMUX_IPSR_MSEL(IP2_15_12,		PWM0_A,		SEL_PWM0_0),
	PINMUX_IPSR_GPSR(IP2_15_12,		AVB_MAGIC),
	PINMUX_IPSR_GPSR(IP2_15_12,		VI4_CLK),
	PINMUX_IPSR_GPSR(IP2_15_12,		TX3_C),
	PINMUX_IPSR_MSEL(IP2_15_12,		VI5_CLK_B,	SEL_VIN5_1),

	PINMUX_IPSR_GPSR(IP2_19_16,		RD_N),
	PINMUX_IPSR_MSEL(IP2_19_16,		PWM1_A,		SEL_PWM1_0),
	PINMUX_IPSR_GPSR(IP2_19_16,		AVB_LINK),
	PINMUX_IPSR_GPSR(IP2_19_16,		VI4_FIELD),
	PINMUX_IPSR_MSEL(IP2_19_16,		RX3_C,		SEL_SCIF3_2),
	PINMUX_IPSR_GPSR(IP2_19_16,		FSCLKST2_N_A),
	PINMUX_IPSR_MSEL(IP2_19_16,		VI5_DATA0_B,	SEL_VIN5_1),

	PINMUX_IPSR_GPSR(IP2_23_20,		RD_WR_N),
	PINMUX_IPSR_MSEL(IP2_23_20,		SCL7_A,		SEL_I2C7_0),
	PINMUX_IPSR_GPSR(IP2_23_20,		AVB_AVTP_MATCH_A),
	PINMUX_IPSR_GPSR(IP2_23_20,		VI4_VSYNC_N),
	PINMUX_IPSR_GPSR(IP2_23_20,		TX5_B),
	PINMUX_IPSR_MSEL(IP2_23_20,		SCK3_C,		SEL_SCIF3_2),
	PINMUX_IPSR_MSEL(IP2_23_20,		PWM5_A,		SEL_PWM5_0),

	PINMUX_IPSR_GPSR(IP2_27_24,		EX_WAIT0),
	PINMUX_IPSR_MSEL(IP2_27_24,		SDA7_A,		SEL_I2C7_0),
	PINMUX_IPSR_GPSR(IP2_27_24,		AVB_AVTP_CAPTURE_A),
	PINMUX_IPSR_GPSR(IP2_27_24,		VI4_HSYNC_N),
	PINMUX_IPSR_MSEL(IP2_27_24,		RX5_B,		SEL_SCIF5_1),
	PINMUX_IPSR_MSEL(IP2_27_24,		PWM6_A,		SEL_PWM6_0),

	PINMUX_IPSR_GPSR(IP2_31_28,		A0),
	PINMUX_IPSR_GPSR(IP2_31_28,		IRQ0),
	PINMUX_IPSR_MSEL(IP2_31_28,		PWM2_A,		SEL_PWM2_0),
	PINMUX_IPSR_MSEL(IP2_31_28,		MSIOF3_SS1_B,	SEL_MSIOF3_1),
	PINMUX_IPSR_MSEL(IP2_31_28,		VI5_CLK_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP2_31_28,		DU_CDE),
	PINMUX_IPSR_MSEL(IP2_31_28,		HRX3_D,		SEL_HSCIF3_3),
	PINMUX_IPSR_GPSR(IP2_31_28,		IERX),
	PINMUX_IPSR_GPSR(IP2_31_28,		QSTB_QHE),

	/* IPSR3 */
	PINMUX_IPSR_GPSR(IP3_3_0,		A1),
	PINMUX_IPSR_GPSR(IP3_3_0,		IRQ1),
	PINMUX_IPSR_MSEL(IP3_3_0,		PWM3_A,		SEL_PWM3_0),
	PINMUX_IPSR_GPSR(IP3_3_0,		DU_DOTCLKIN1),
	PINMUX_IPSR_MSEL(IP3_3_0,		VI5_DATA0_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP3_3_0,		DU_DISP_CDE),
	PINMUX_IPSR_MSEL(IP3_3_0,		SDA6_B,		SEL_I2C6_1),
	PINMUX_IPSR_GPSR(IP3_3_0,		IETX),
	PINMUX_IPSR_GPSR(IP3_3_0,		QCPV_QDE),

	PINMUX_IPSR_GPSR(IP3_7_4,		A2),
	PINMUX_IPSR_GPSR(IP3_7_4,		IRQ2),
	PINMUX_IPSR_GPSR(IP3_7_4,		AVB_AVTP_PPS),
	PINMUX_IPSR_GPSR(IP3_7_4,		VI4_CLKENB),
	PINMUX_IPSR_MSEL(IP3_7_4,		VI5_DATA1_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP3_7_4,		DU_DISP),
	PINMUX_IPSR_MSEL(IP3_7_4,		SCL6_B,		SEL_I2C6_1),
	PINMUX_IPSR_GPSR(IP3_7_4,		QSTVB_QVE),

	PINMUX_IPSR_GPSR(IP3_11_8,		A3),
	PINMUX_IPSR_MSEL(IP3_11_8,		CTS4_N_A,	SEL_SCIF4_0),
	PINMUX_IPSR_MSEL(IP3_11_8,		PWM4_A,		SEL_PWM4_0),
	PINMUX_IPSR_GPSR(IP3_11_8,		VI4_DATA12),
	PINMUX_IPSR_GPSR(IP3_11_8,		DU_DOTCLKOUT0),
	PINMUX_IPSR_GPSR(IP3_11_8,		HTX3_D),
	PINMUX_IPSR_GPSR(IP3_11_8,		IECLK),
	PINMUX_IPSR_GPSR(IP3_11_8,		LCDOUT12),

	PINMUX_IPSR_GPSR(IP3_15_12,		A4),
	PINMUX_IPSR_MSEL(IP3_15_12,		RTS4_N_TANS_A,	SEL_SCIF4_0),
	PINMUX_IPSR_MSEL(IP3_15_12,		MSIOF3_SYNC_B,	SEL_MSIOF3_1),
	PINMUX_IPSR_GPSR(IP3_15_12,		VI4_DATA8),
	PINMUX_IPSR_MSEL(IP3_15_12,		PWM2_B,		SEL_PWM2_1),
	PINMUX_IPSR_GPSR(IP3_15_12,		DU_DG4),
	PINMUX_IPSR_MSEL(IP3_15_12,		RIF2_CLK_B,	SEL_DRIF2_1),

	PINMUX_IPSR_GPSR(IP3_19_16,		A5),
	PINMUX_IPSR_MSEL(IP3_19_16,		SCK4_A,		SEL_SCIF4_0),
	PINMUX_IPSR_MSEL(IP3_19_16,		MSIOF3_SCK_B,	SEL_MSIOF3_1),
	PINMUX_IPSR_GPSR(IP3_19_16,		VI4_DATA9),
	PINMUX_IPSR_MSEL(IP3_19_16,		PWM3_B,		SEL_PWM3_1),
	PINMUX_IPSR_MSEL(IP3_19_16,		RIF2_SYNC_B,	SEL_DRIF2_1),
	PINMUX_IPSR_GPSR(IP3_19_16,		QPOLA),

	PINMUX_IPSR_GPSR(IP3_23_20,		A6),
	PINMUX_IPSR_MSEL(IP3_23_20,		RX4_A,		SEL_SCIF4_0),
	PINMUX_IPSR_MSEL(IP3_23_20,		MSIOF3_RXD_B,	SEL_MSIOF3_1),
	PINMUX_IPSR_GPSR(IP3_23_20,		VI4_DATA10),
	PINMUX_IPSR_MSEL(IP3_23_20,		RIF2_D0_B,	SEL_DRIF2_1),

	PINMUX_IPSR_GPSR(IP3_27_24,		A7),
	PINMUX_IPSR_GPSR(IP3_27_24,		TX4_A),
	PINMUX_IPSR_GPSR(IP3_27_24,		MSIOF3_TXD_B),
	PINMUX_IPSR_GPSR(IP3_27_24,		VI4_DATA11),
	PINMUX_IPSR_MSEL(IP3_27_24,		RIF2_D1_B,	SEL_DRIF2_1),

	PINMUX_IPSR_GPSR(IP3_31_28,		A8),
	PINMUX_IPSR_MSEL(IP3_31_28,		SDA6_A,		SEL_I2C6_0),
	PINMUX_IPSR_MSEL(IP3_31_28,		RX3_B,		SEL_SCIF3_1),
	PINMUX_IPSR_MSEL(IP3_31_28,		HRX4_C,		SEL_HSCIF4_2),
	PINMUX_IPSR_MSEL(IP3_31_28,		VI5_HSYNC_N_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP3_31_28,		DU_HSYNC),
	PINMUX_IPSR_MSEL(IP3_31_28,		VI4_DATA0_B,	SEL_VIN4_1),
	PINMUX_IPSR_GPSR(IP3_31_28,		QSTH_QHS),

	/* IPSR4 */
	PINMUX_IPSR_GPSR(IP4_3_0,		A9),
	PINMUX_IPSR_GPSR(IP4_3_0,		TX5_A),
	PINMUX_IPSR_GPSR(IP4_3_0,		IRQ3),
	PINMUX_IPSR_GPSR(IP4_3_0,		VI4_DATA16),
	PINMUX_IPSR_MSEL(IP4_3_0,		VI5_VSYNC_N_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP4_3_0,		DU_DG7),
	PINMUX_IPSR_GPSR(IP4_3_0,		LCDOUT15),

	PINMUX_IPSR_GPSR(IP4_7_4,		A10),
	PINMUX_IPSR_GPSR(IP4_7_4,		IRQ4),
	PINMUX_IPSR_MSEL(IP4_7_4,		MSIOF2_SYNC_B,	SEL_MSIOF2_1),
	PINMUX_IPSR_GPSR(IP4_7_4,		VI4_DATA13),
	PINMUX_IPSR_MSEL(IP4_7_4,		VI5_FIELD_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP4_7_4,		DU_DG5),
	PINMUX_IPSR_GPSR(IP4_7_4,		FSCLKST2_N_B),
	PINMUX_IPSR_GPSR(IP4_7_4,		LCDOUT13),

	PINMUX_IPSR_GPSR(IP4_11_8,		A11),
	PINMUX_IPSR_MSEL(IP4_11_8,		SCL6_A,		SEL_I2C6_0),
	PINMUX_IPSR_GPSR(IP4_11_8,		TX3_B),
	PINMUX_IPSR_GPSR(IP4_11_8,		HTX4_C),
	PINMUX_IPSR_GPSR(IP4_11_8,		DU_VSYNC),
	PINMUX_IPSR_MSEL(IP4_11_8,		VI4_DATA1_B,	SEL_VIN4_1),
	PINMUX_IPSR_GPSR(IP4_11_8,		QSTVA_QVS),

	PINMUX_IPSR_GPSR(IP4_15_12,		A12),
	PINMUX_IPSR_MSEL(IP4_15_12,		RX5_A,		SEL_SCIF5_0),
	PINMUX_IPSR_GPSR(IP4_15_12,		MSIOF2_SS2_B),
	PINMUX_IPSR_GPSR(IP4_15_12,		VI4_DATA17),
	PINMUX_IPSR_MSEL(IP4_15_12,		VI5_DATA3_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP4_15_12,		DU_DG6),
	PINMUX_IPSR_GPSR(IP4_15_12,		LCDOUT14),

	PINMUX_IPSR_GPSR(IP4_19_16,		A13),
	PINMUX_IPSR_MSEL(IP4_19_16,		SCK5_A,		SEL_SCIF5_0),
	PINMUX_IPSR_MSEL(IP4_19_16,		MSIOF2_SCK_B,	SEL_MSIOF2_1),
	PINMUX_IPSR_GPSR(IP4_19_16,		VI4_DATA14),
	PINMUX_IPSR_MSEL(IP4_19_16,		HRX4_D,		SEL_HSCIF4_3),
	PINMUX_IPSR_GPSR(IP4_19_16,		DU_DB2),
	PINMUX_IPSR_GPSR(IP4_19_16,		LCDOUT2),

	PINMUX_IPSR_GPSR(IP4_23_20,		A14),
	PINMUX_IPSR_GPSR(IP4_23_20,		MSIOF1_SS1),
	PINMUX_IPSR_MSEL(IP4_23_20,		MSIOF2_RXD_B,	SEL_MSIOF2_1),
	PINMUX_IPSR_GPSR(IP4_23_20,		VI4_DATA15),
	PINMUX_IPSR_GPSR(IP4_23_20,		HTX4_D),
	PINMUX_IPSR_GPSR(IP4_23_20,		DU_DB3),
	PINMUX_IPSR_GPSR(IP4_23_20,		LCDOUT3),

	PINMUX_IPSR_GPSR(IP4_27_24,		A15),
	PINMUX_IPSR_GPSR(IP4_27_24,		MSIOF1_SS2),
	PINMUX_IPSR_GPSR(IP4_27_24,		MSIOF2_TXD_B),
	PINMUX_IPSR_GPSR(IP4_27_24,		VI4_DATA18),
	PINMUX_IPSR_MSEL(IP4_27_24,		VI5_DATA4_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP4_27_24,		DU_DB4),
	PINMUX_IPSR_GPSR(IP4_27_24,		LCDOUT4),

	PINMUX_IPSR_GPSR(IP4_31_28,		A16),
	PINMUX_IPSR_GPSR(IP4_31_28,		MSIOF1_SYNC),
	PINMUX_IPSR_GPSR(IP4_31_28,		MSIOF2_SS1_B),
	PINMUX_IPSR_GPSR(IP4_31_28,		VI4_DATA19),
	PINMUX_IPSR_MSEL(IP4_31_28,		VI5_DATA5_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP4_31_28,		DU_DB5),
	PINMUX_IPSR_GPSR(IP4_31_28,		LCDOUT5),

	/* IPSR5 */
	PINMUX_IPSR_GPSR(IP5_3_0,		A17),
	PINMUX_IPSR_GPSR(IP5_3_0,		MSIOF1_RXD),
	PINMUX_IPSR_GPSR(IP5_3_0,		VI4_DATA20),
	PINMUX_IPSR_MSEL(IP5_3_0,		VI5_DATA6_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP5_3_0,		DU_DB6),
	PINMUX_IPSR_GPSR(IP5_3_0,		LCDOUT6),

	PINMUX_IPSR_GPSR(IP5_7_4,		A18),
	PINMUX_IPSR_GPSR(IP5_7_4,		MSIOF1_TXD),
	PINMUX_IPSR_GPSR(IP5_7_4,		VI4_DATA21),
	PINMUX_IPSR_MSEL(IP5_7_4,		VI5_DATA7_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP5_7_4,		DU_DB0),
	PINMUX_IPSR_MSEL(IP5_7_4,		HRX4_E,		SEL_HSCIF4_4),
	PINMUX_IPSR_GPSR(IP5_7_4,		LCDOUT0),

	PINMUX_IPSR_GPSR(IP5_11_8,		A19),
	PINMUX_IPSR_GPSR(IP5_11_8,		MSIOF1_SCK),
	PINMUX_IPSR_GPSR(IP5_11_8,		VI4_DATA22),
	PINMUX_IPSR_MSEL(IP5_11_8,		VI5_DATA2_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP5_11_8,		DU_DB1),
	PINMUX_IPSR_GPSR(IP5_11_8,		HTX4_E),
	PINMUX_IPSR_GPSR(IP5_11_8,		LCDOUT1),

	PINMUX_IPSR_GPSR(IP5_15_12,		CS0_N),
	PINMUX_IPSR_GPSR(IP5_15_12,		SCL5),
	PINMUX_IPSR_GPSR(IP5_15_12,		DU_DR0),
	PINMUX_IPSR_MSEL(IP5_15_12,		VI4_DATA2_B,	SEL_VIN4_1),
	PINMUX_IPSR_GPSR(IP5_15_12,		LCDOUT16),

	PINMUX_IPSR_GPSR(IP5_19_16,		WE0_N),
	PINMUX_IPSR_GPSR(IP5_19_16,		SDA5),
	PINMUX_IPSR_GPSR(IP5_19_16,		DU_DR1),
	PINMUX_IPSR_MSEL(IP5_19_16,		VI4_DATA3_B,	SEL_VIN4_1),
	PINMUX_IPSR_GPSR(IP5_19_16,		LCDOUT17),

	PINMUX_IPSR_GPSR(IP5_23_20,		D0),
	PINMUX_IPSR_MSEL(IP5_23_20,		MSIOF3_SCK_A,	SEL_MSIOF3_0),
	PINMUX_IPSR_GPSR(IP5_23_20,		DU_DR2),
	PINMUX_IPSR_MSEL(IP5_23_20,		CTS4_N_C,	SEL_SCIF4_2),
	PINMUX_IPSR_GPSR(IP5_23_20,		LCDOUT18),

	PINMUX_IPSR_GPSR(IP5_27_24,		D1),
	PINMUX_IPSR_MSEL(IP5_27_24,		MSIOF3_SYNC_A,	SEL_MSIOF3_0),
	PINMUX_IPSR_MSEL(IP5_27_24,		SCK3_A,		SEL_SCIF3_0),
	PINMUX_IPSR_GPSR(IP5_27_24,		VI4_DATA23),
	PINMUX_IPSR_MSEL(IP5_27_24,		VI5_CLKENB_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP5_27_24,		DU_DB7),
	PINMUX_IPSR_MSEL(IP5_27_24,		RTS4_N_TANS_C,	SEL_SCIF4_2),
	PINMUX_IPSR_GPSR(IP5_27_24,		LCDOUT7),

	PINMUX_IPSR_GPSR(IP5_31_28,		D2),
	PINMUX_IPSR_MSEL(IP5_31_28,		MSIOF3_RXD_A,	SEL_MSIOF3_0),
	PINMUX_IPSR_MSEL(IP5_31_28,		RX5_C,		SEL_SCIF5_2),
	PINMUX_IPSR_MSEL(IP5_31_28,		VI5_DATA14_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP5_31_28,		DU_DR3),
	PINMUX_IPSR_MSEL(IP5_31_28,		RX4_C,		SEL_SCIF4_2),
	PINMUX_IPSR_GPSR(IP5_31_28,		LCDOUT19),

	/* IPSR6 */
	PINMUX_IPSR_GPSR(IP6_3_0,		D3),
	PINMUX_IPSR_GPSR(IP6_3_0,		MSIOF3_TXD_A),
	PINMUX_IPSR_GPSR(IP6_3_0,		TX5_C),
	PINMUX_IPSR_MSEL(IP6_3_0,		VI5_DATA15_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP6_3_0,		DU_DR4),
	PINMUX_IPSR_GPSR(IP6_3_0,		TX4_C),
	PINMUX_IPSR_GPSR(IP6_3_0,		LCDOUT20),

	PINMUX_IPSR_GPSR(IP6_7_4,		D4),
	PINMUX_IPSR_GPSR(IP6_7_4,		CANFD1_TX),
	PINMUX_IPSR_MSEL(IP6_7_4,		HSCK3_B,	SEL_HSCIF3_1),
	PINMUX_IPSR_GPSR(IP6_7_4,		CAN1_TX),
	PINMUX_IPSR_MSEL(IP6_7_4,		RTS3_N_TANS_A,	SEL_SCIF3_0),
	PINMUX_IPSR_GPSR(IP6_7_4,		MSIOF3_SS2_A),
	PINMUX_IPSR_MSEL(IP6_7_4,		VI5_DATA1_B,	SEL_VIN5_1),

	PINMUX_IPSR_GPSR(IP6_11_8,		D5),
	PINMUX_IPSR_MSEL(IP6_11_8,		RX3_A,		SEL_SCIF3_0),
	PINMUX_IPSR_MSEL(IP6_11_8,		HRX3_B,		SEL_HSCIF3_1),
	PINMUX_IPSR_GPSR(IP6_11_8,		DU_DR5),
	PINMUX_IPSR_MSEL(IP6_11_8,		VI4_DATA4_B,	SEL_VIN4_1),
	PINMUX_IPSR_GPSR(IP6_11_8,		LCDOUT21),

	PINMUX_IPSR_GPSR(IP6_15_12,		D6),
	PINMUX_IPSR_GPSR(IP6_15_12,		TX3_A),
	PINMUX_IPSR_GPSR(IP6_15_12,		HTX3_B),
	PINMUX_IPSR_GPSR(IP6_15_12,		DU_DR6),
	PINMUX_IPSR_MSEL(IP6_15_12,		VI4_DATA5_B,	SEL_VIN4_1),
	PINMUX_IPSR_GPSR(IP6_15_12,		LCDOUT22),

	PINMUX_IPSR_GPSR(IP6_19_16,		D7),
	PINMUX_IPSR_GPSR(IP6_19_16,		CANFD1_RX),
	PINMUX_IPSR_GPSR(IP6_19_16,		IRQ5),
	PINMUX_IPSR_GPSR(IP6_19_16,		CAN1_RX),
	PINMUX_IPSR_MSEL(IP6_19_16,		CTS3_N_A,	SEL_SCIF3_0),
	PINMUX_IPSR_MSEL(IP6_19_16,		VI5_DATA2_B,	SEL_VIN5_1),

	PINMUX_IPSR_GPSR(IP6_23_20,		D8),
	PINMUX_IPSR_MSEL(IP6_23_20,		MSIOF2_SCK_A,	SEL_MSIOF2_0),
	PINMUX_IPSR_MSEL(IP6_23_20,		SCK4_B,		SEL_SCIF4_1),
	PINMUX_IPSR_MSEL(IP6_23_20,		VI5_DATA12_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP6_23_20,		DU_DR7),
	PINMUX_IPSR_MSEL(IP6_23_20,		RIF3_CLK_B,	SEL_DRIF3_1),
	PINMUX_IPSR_MSEL(IP6_23_20,		HCTS3_N_E,	SEL_HSCIF3_4),
	PINMUX_IPSR_GPSR(IP6_23_20,		LCDOUT23),

	PINMUX_IPSR_GPSR(IP6_27_24,		D9),
	PINMUX_IPSR_MSEL(IP6_27_24,		MSIOF2_SYNC_A,	SEL_MSIOF2_0),
	PINMUX_IPSR_MSEL(IP6_27_24,		VI5_DATA10_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP6_27_24,		DU_DG0),
	PINMUX_IPSR_MSEL(IP6_27_24,		RIF3_SYNC_B,	SEL_DRIF3_1),
	PINMUX_IPSR_MSEL(IP6_27_24,		HRX3_E,		SEL_HSCIF3_4),
	PINMUX_IPSR_GPSR(IP6_27_24,		LCDOUT8),

	PINMUX_IPSR_GPSR(IP6_31_28,		D10),
	PINMUX_IPSR_MSEL(IP6_31_28,		MSIOF2_RXD_A,	SEL_MSIOF2_0),
	PINMUX_IPSR_MSEL(IP6_31_28,		VI5_DATA13_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP6_31_28,		DU_DG1),
	PINMUX_IPSR_MSEL(IP6_31_28,		RIF3_D0_B,	SEL_DRIF3_1),
	PINMUX_IPSR_GPSR(IP6_31_28,		HTX3_E),
	PINMUX_IPSR_GPSR(IP6_31_28,		LCDOUT9),

	/* IPSR7 */
	PINMUX_IPSR_GPSR(IP7_3_0,		D11),
	PINMUX_IPSR_GPSR(IP7_3_0,		MSIOF2_TXD_A),
	PINMUX_IPSR_MSEL(IP7_3_0,		VI5_DATA11_A,	SEL_VIN5_0),
	PINMUX_IPSR_GPSR(IP7_3_0,		DU_DG2),
	PINMUX_IPSR_MSEL(IP7_3_0,		RIF3_D1_B,	SEL_DRIF3_1),
	PINMUX_IPSR_MSEL(IP7_3_0,		HRTS3_N_E,	SEL_HSCIF3_4),
	PINMUX_IPSR_GPSR(IP7_3_0,		LCDOUT10),

	PINMUX_IPSR_GPSR(IP7_7_4,		D12),
	PINMUX_IPSR_GPSR(IP7_7_4,		CANFD0_TX),
	PINMUX_IPSR_GPSR(IP7_7_4,		TX4_B),
	PINMUX_IPSR_GPSR(IP7_7_4,		CAN0_TX),
	PINMUX_IPSR_MSEL(IP7_7_4,		VI5_DATA8_A,	SEL_VIN5_0),
	PINMUX_IPSR_MSEL(IP7_7_4,		VI5_DATA3_B,	SEL_VIN5_1),

	PINMUX_IPSR_GPSR(IP7_11_8,		D13),
	PINMUX_IPSR_GPSR(IP7_11_8,		CANFD0_RX),
	PINMUX_IPSR_MSEL(IP7_11_8,		RX4_B,		SEL_SCIF4_1),
	PINMUX_IPSR_GPSR(IP7_11_8,		CAN0_RX),
	PINMUX_IPSR_MSEL(IP7_11_8,		VI5_DATA9_A,	SEL_VIN5_0),
	PINMUX_IPSR_MSEL(IP7_11_8,		SCL7_B,		SEL_I2C7_1),
	PINMUX_IPSR_MSEL(IP7_11_8,		VI5_DATA4_B,	SEL_VIN5_1),

	PINMUX_IPSR_GPSR(IP7_15_12,		D14),
	PINMUX_IPSR_GPSR(IP7_15_12,		CAN_CLK),
	PINMUX_IPSR_MSEL(IP7_15_12,		HRX3_A,		SEL_HSCIF3_0),
	PINMUX_IPSR_GPSR(IP7_15_12,		MSIOF2_SS2_A),
	PINMUX_IPSR_MSEL(IP7_15_12,		SDA7_B,		SEL_I2C7_1),
	PINMUX_IPSR_MSEL(IP7_15_12,		VI5_DATA5_B,	SEL_VIN5_1),

	PINMUX_IPSR_GPSR(IP7_19_16,		D15),
	PINMUX_IPSR_GPSR(IP7_19_16,		MSIOF2_SS1_A),
	PINMUX_IPSR_GPSR(IP7_19_16,		HTX3_A),
	PINMUX_IPSR_GPSR(IP7_19_16,		MSIOF3_SS1_A),
	PINMUX_IPSR_GPSR(IP7_19_16,		DU_DG3),
	PINMUX_IPSR_GPSR(IP7_19_16,		LCDOUT11),

	PINMUX_IPSR_GPSR(IP7_23_20,		SCL4),
	PINMUX_IPSR_GPSR(IP7_23_20,		CS1_N_A26),
	PINMUX_IPSR_GPSR(IP7_23_20,		DU_DOTCLKIN0),
	PINMUX_IPSR_MSEL(IP7_23_20,		VI4_DATA6_B,	SEL_VIN4_1),
	PINMUX_IPSR_MSEL(IP7_23_20,		VI5_DATA6_B,	SEL_VIN5_1),
	PINMUX_IPSR_GPSR(IP7_23_20,		QCLK),

	PINMUX_IPSR_GPSR(IP7_27_24,		SDA4),
	PINMUX_IPSR_GPSR(IP7_27_24,		WE1_N),
	PINMUX_IPSR_MSEL(IP7_27_24,		VI4_DATA7_B,	SEL_VIN4_1),
	PINMUX_IPSR_MSEL(IP7_27_24,		VI5_DATA7_B,	SEL_VIN5_1),
	PINMUX_IPSR_GPSR(IP7_27_24,		QPOLB),

	PINMUX_IPSR_GPSR(IP7_31_28,		SD0_CLK),
	PINMUX_IPSR_GPSR(IP7_31_28,		NFDATA8),
	PINMUX_IPSR_MSEL(IP7_31_28,		SCL1_C,		SEL_I2C1_2),
	PINMUX_IPSR_MSEL(IP7_31_28,		HSCK1_B,	SEL_HSCIF1_1),
	PINMUX_IPSR_MSEL(IP7_31_28,		SDA2_E,		SEL_I2C2_4),
	PINMUX_IPSR_MSEL(IP7_31_28,		FMCLK_B,	SEL_FM_1),

	/* IPSR8 */
	PINMUX_IPSR_GPSR(IP8_3_0,		SD0_CMD),
	PINMUX_IPSR_GPSR(IP8_3_0,		NFDATA9),
	PINMUX_IPSR_MSEL(IP8_3_0,		HRX1_B,		SEL_HSCIF1_1),
	PINMUX_IPSR_MSEL(IP8_3_0,		SPEEDIN_B,	SEL_SPEED_PULSE_IF_1),

	PINMUX_IPSR_GPSR(IP8_7_4,		SD0_DAT0),
	PINMUX_IPSR_GPSR(IP8_7_4,		NFDATA10),
	PINMUX_IPSR_GPSR(IP8_7_4,		HTX1_B),
	PINMUX_IPSR_MSEL(IP8_7_4,		REMOCON_B,	SEL_REMOCON_1),

	PINMUX_IPSR_GPSR(IP8_11_8,		SD0_DAT1),
	PINMUX_IPSR_GPSR(IP8_11_8,		NFDATA11),
	PINMUX_IPSR_MSEL(IP8_11_8,		SDA2_C,		SEL_I2C2_2),
	PINMUX_IPSR_MSEL(IP8_11_8,		HCTS1_N_B,	SEL_HSCIF1_1),
	PINMUX_IPSR_MSEL(IP8_11_8,		FMIN_B,		SEL_FM_1),

	PINMUX_IPSR_GPSR(IP8_15_12,		SD0_DAT2),
	PINMUX_IPSR_GPSR(IP8_15_12,		NFDATA12),
	PINMUX_IPSR_MSEL(IP8_15_12,		SCL2_C,		SEL_I2C2_2),
	PINMUX_IPSR_MSEL(IP8_15_12,		HRTS1_N_B,	SEL_HSCIF1_1),
	PINMUX_IPSR_GPSR(IP8_15_12,		BPFCLK_B),

	PINMUX_IPSR_GPSR(IP8_19_16,		SD0_DAT3),
	PINMUX_IPSR_GPSR(IP8_19_16,		NFDATA13),
	PINMUX_IPSR_MSEL(IP8_19_16,		SDA1_C,		SEL_I2C1_2),
	PINMUX_IPSR_MSEL(IP8_19_16,		SCL2_E,		SEL_I2C2_4),
	PINMUX_IPSR_MSEL(IP8_19_16,		SPEEDIN_C,	SEL_SPEED_PULSE_IF_2),
	PINMUX_IPSR_MSEL(IP8_19_16,		REMOCON_C,	SEL_REMOCON_2),

	PINMUX_IPSR_GPSR(IP8_23_20,		SD1_CLK),
	PINMUX_IPSR_MSEL(IP8_23_20,		NFDATA14_B,	SEL_NDFC_1),

	PINMUX_IPSR_GPSR(IP8_27_24,		SD1_CMD),
	PINMUX_IPSR_MSEL(IP8_27_24,		NFDATA15_B,	SEL_NDFC_1),

	PINMUX_IPSR_GPSR(IP8_31_28,		SD1_DAT0),
	PINMUX_IPSR_MSEL(IP8_31_28,		NFWP_N_B,	SEL_NDFC_1),

	/* IPSR9 */
	PINMUX_IPSR_GPSR(IP9_3_0,		SD1_DAT1),
	PINMUX_IPSR_MSEL(IP9_3_0,		NFCE_N_B,	SEL_NDFC_1),

	PINMUX_IPSR_GPSR(IP9_7_4,		SD1_DAT2),
	PINMUX_IPSR_MSEL(IP9_7_4,		NFALE_B,	SEL_NDFC_1),

	PINMUX_IPSR_GPSR(IP9_11_8,		SD1_DAT3),
	PINMUX_IPSR_MSEL(IP9_11_8,		NFRB_N_B,	SEL_NDFC_1),

	PINMUX_IPSR_GPSR(IP9_15_12,		SD3_CLK),
	PINMUX_IPSR_GPSR(IP9_15_12,		NFWE_N),

	PINMUX_IPSR_GPSR(IP9_19_16,		SD3_CMD),
	PINMUX_IPSR_GPSR(IP9_19_16,		NFRE_N),

	PINMUX_IPSR_GPSR(IP9_23_20,		SD3_DAT0),
	PINMUX_IPSR_GPSR(IP9_23_20,		NFDATA0),

	PINMUX_IPSR_GPSR(IP9_27_24,		SD3_DAT1),
	PINMUX_IPSR_GPSR(IP9_27_24,		NFDATA1),

	PINMUX_IPSR_GPSR(IP9_31_28,		SD3_DAT2),
	PINMUX_IPSR_GPSR(IP9_31_28,		NFDATA2),

	/* IPSR10 */
	PINMUX_IPSR_GPSR(IP10_3_0,		SD3_DAT3),
	PINMUX_IPSR_GPSR(IP10_3_0,		NFDATA3),

	PINMUX_IPSR_GPSR(IP10_7_4,		SD3_DAT4),
	PINMUX_IPSR_GPSR(IP10_7_4,		NFDATA4),

	PINMUX_IPSR_GPSR(IP10_11_8,		SD3_DAT5),
	PINMUX_IPSR_GPSR(IP10_11_8,		NFDATA5),

	PINMUX_IPSR_GPSR(IP10_15_12,		SD3_DAT6),
	PINMUX_IPSR_GPSR(IP10_15_12,		NFDATA6),

	PINMUX_IPSR_GPSR(IP10_19_16,		SD3_DAT7),
	PINMUX_IPSR_GPSR(IP10_19_16,		NFDATA7),

	PINMUX_IPSR_GPSR(IP10_23_20,		SD3_DS),
	PINMUX_IPSR_GPSR(IP10_23_20,		NFCLE),

	PINMUX_IPSR_GPSR(IP10_27_24,		SD0_CD),
	PINMUX_IPSR_GPSR(IP10_27_24,		NFALE_A),
	PINMUX_IPSR_GPSR(IP10_27_24,		SD3_CD),
	PINMUX_IPSR_MSEL(IP10_27_24,		RIF0_CLK_B,	SEL_DRIF0_1),
	PINMUX_IPSR_MSEL(IP10_27_24,		SCL2_B,		SEL_I2C2_1),
	PINMUX_IPSR_MSEL(IP10_27_24,		TCLK1_A,	SEL_TIMER_TMU_0),
	PINMUX_IPSR_MSEL(IP10_27_24,		SSI_SCK2_B,	SEL_SSI2_1),
	PINMUX_IPSR_GPSR(IP10_27_24,		TS_SCK0),

	PINMUX_IPSR_GPSR(IP10_31_28,		SD0_WP),
	PINMUX_IPSR_GPSR(IP10_31_28,		NFRB_N_A),
	PINMUX_IPSR_GPSR(IP10_31_28,		SD3_WP),
	PINMUX_IPSR_MSEL(IP10_31_28,		RIF0_D0_B,	SEL_DRIF0_1),
	PINMUX_IPSR_MSEL(IP10_31_28,		SDA2_B,		SEL_I2C2_1),
	PINMUX_IPSR_MSEL(IP10_31_28,		TCLK2_A,	SEL_TIMER_TMU_0),
	PINMUX_IPSR_MSEL(IP10_31_28,		SSI_WS2_B,	SEL_SSI2_1),
	PINMUX_IPSR_GPSR(IP10_31_28,		TS_SDAT0),

	/* IPSR11 */
	PINMUX_IPSR_GPSR(IP11_3_0,		SD1_CD),
	PINMUX_IPSR_MSEL(IP11_3_0,		NFCE_N_A,	SEL_NDFC_0),
	PINMUX_IPSR_GPSR(IP11_3_0,		SSI_SCK1),
	PINMUX_IPSR_MSEL(IP11_3_0,		RIF0_D1_B,	SEL_DRIF0_1),
	PINMUX_IPSR_GPSR(IP11_3_0,		TS_SDEN0),

	PINMUX_IPSR_GPSR(IP11_7_4,		SD1_WP),
	PINMUX_IPSR_MSEL(IP11_7_4,		NFWP_N_A,	SEL_NDFC_0),
	PINMUX_IPSR_GPSR(IP11_7_4,		SSI_WS1),
	PINMUX_IPSR_MSEL(IP11_7_4,		RIF0_SYNC_B,	SEL_DRIF0_1),
	PINMUX_IPSR_GPSR(IP11_7_4,		TS_SPSYNC0),

	PINMUX_IPSR_MSEL(IP11_11_8,		RX0_A,		SEL_SCIF0_0),
	PINMUX_IPSR_MSEL(IP11_11_8,		HRX1_A,		SEL_HSCIF1_0),
	PINMUX_IPSR_MSEL(IP11_11_8,		SSI_SCK2_A,	SEL_SSI2_0),
	PINMUX_IPSR_GPSR(IP11_11_8,		RIF1_SYNC),
	PINMUX_IPSR_GPSR(IP11_11_8,		TS_SCK1),

	PINMUX_IPSR_GPSR(IP11_15_12,		TX0_A),
	PINMUX_IPSR_GPSR(IP11_15_12,		HTX1_A),
	PINMUX_IPSR_MSEL(IP11_15_12,		SSI_WS2_A,	SEL_SSI2_0),
	PINMUX_IPSR_GPSR(IP11_15_12,		RIF1_D0),
	PINMUX_IPSR_GPSR(IP11_15_12,		TS_SDAT1),

	PINMUX_IPSR_MSEL(IP11_19_16,		CTS0_N_A,	SEL_SCIF0_0),
	PINMUX_IPSR_MSEL(IP11_19_16,		NFDATA14_A,	SEL_NDFC_0),
	PINMUX_IPSR_GPSR(IP11_19_16,		AUDIO_CLKOUT_A),
	PINMUX_IPSR_GPSR(IP11_19_16,		RIF1_D1),
	PINMUX_IPSR_MSEL(IP11_19_16,		SCIF_CLK_A,	SEL_SCIF_0),
	PINMUX_IPSR_MSEL(IP11_19_16,		FMCLK_A,	SEL_FM_0),

	PINMUX_IPSR_MSEL(IP11_23_20,		RTS0_N_TANS_A,	SEL_SCIF0_0),
	PINMUX_IPSR_MSEL(IP11_23_20,		NFDATA15_A,	SEL_NDFC_0),
	PINMUX_IPSR_GPSR(IP11_23_20,		AUDIO_CLKOUT1_A),
	PINMUX_IPSR_GPSR(IP11_23_20,		RIF1_CLK),
	PINMUX_IPSR_MSEL(IP11_23_20,		SCL2_A,		SEL_I2C2_0),
	PINMUX_IPSR_MSEL(IP11_23_20,		FMIN_A,		SEL_FM_0),

	PINMUX_IPSR_MSEL(IP11_27_24,		SCK0_A,		SEL_SCIF0_0),
	PINMUX_IPSR_MSEL(IP11_27_24,		HSCK1_A,	SEL_HSCIF1_0),
	PINMUX_IPSR_GPSR(IP11_27_24,		USB3HS0_ID),
	PINMUX_IPSR_GPSR(IP11_27_24,		RTS1_N_TANS),
	PINMUX_IPSR_MSEL(IP11_27_24,		SDA2_A,		SEL_I2C2_0),
	PINMUX_IPSR_MSEL(IP11_27_24,		FMCLK_C,	SEL_FM_2),
	PINMUX_IPSR_GPSR(IP11_27_24,		USB0_ID),

	PINMUX_IPSR_GPSR(IP11_31_28,		RX1),
	PINMUX_IPSR_MSEL(IP11_31_28,		HRX2_B,		SEL_HSCIF2_1),
	PINMUX_IPSR_MSEL(IP11_31_28,		SSI_SCK9_B,	SEL_SSI9_1),
	PINMUX_IPSR_GPSR(IP11_31_28,		AUDIO_CLKOUT1_B),

	/* IPSR12 */
	PINMUX_IPSR_GPSR(IP12_3_0,		TX1),
	PINMUX_IPSR_GPSR(IP12_3_0,		HTX2_B),
	PINMUX_IPSR_MSEL(IP12_3_0,		SSI_WS9_B,	SEL_SSI9_1),
	PINMUX_IPSR_GPSR(IP12_3_0,		AUDIO_CLKOUT3_B),

	PINMUX_IPSR_GPSR(IP12_7_4,		SCK2_A),
	PINMUX_IPSR_MSEL(IP12_7_4,		HSCK0_A,	SEL_HSCIF0_0),
	PINMUX_IPSR_MSEL(IP12_7_4,		AUDIO_CLKB_A,	SEL_ADGB_0),
	PINMUX_IPSR_GPSR(IP12_7_4,		CTS1_N),
	PINMUX_IPSR_MSEL(IP12_7_4,		RIF0_CLK_A,	SEL_DRIF0_0),
	PINMUX_IPSR_MSEL(IP12_7_4,		REMOCON_A,	SEL_REMOCON_0),
	PINMUX_IPSR_MSEL(IP12_7_4,		SCIF_CLK_B,	SEL_SCIF_1),

	PINMUX_IPSR_GPSR(IP12_11_8,		TX2_A),
	PINMUX_IPSR_MSEL(IP12_11_8,		HRX0_A,		SEL_HSCIF0_0),
	PINMUX_IPSR_GPSR(IP12_11_8,		AUDIO_CLKOUT2_A),
	PINMUX_IPSR_MSEL(IP12_11_8,		SCL1_A,		SEL_I2C1_0),
	PINMUX_IPSR_MSEL(IP12_11_8,		FSO_CFE_0_N_A,	SEL_FSO_0),
	PINMUX_IPSR_GPSR(IP12_11_8,		TS_SDEN1),

	PINMUX_IPSR_GPSR(IP12_15_12,		RX2_A),
	PINMUX_IPSR_GPSR(IP12_15_12,		HTX0_A),
	PINMUX_IPSR_GPSR(IP12_15_12,		AUDIO_CLKOUT3_A),
	PINMUX_IPSR_MSEL(IP12_15_12,		SDA1_A,		SEL_I2C1_0),
	PINMUX_IPSR_MSEL(IP12_15_12,		FSO_CFE_1_N_A,	SEL_FSO_0),
	PINMUX_IPSR_GPSR(IP12_15_12,		TS_SPSYNC1),

	PINMUX_IPSR_GPSR(IP12_19_16,		MSIOF0_SCK),
	PINMUX_IPSR_GPSR(IP12_19_16,		SSI_SCK78),

	PINMUX_IPSR_GPSR(IP12_23_20,		MSIOF0_RXD),
	PINMUX_IPSR_GPSR(IP12_23_20,		SSI_WS78),
	PINMUX_IPSR_GPSR(IP12_23_20,		TX2_B),

	PINMUX_IPSR_GPSR(IP12_27_24,		MSIOF0_TXD),
	PINMUX_IPSR_GPSR(IP12_27_24,		SSI_SDATA7),
	PINMUX_IPSR_GPSR(IP12_27_24,		RX2_B),

	PINMUX_IPSR_GPSR(IP12_31_28,		MSIOF0_SYNC),
	PINMUX_IPSR_GPSR(IP12_31_28,		AUDIO_CLKOUT_B),
	PINMUX_IPSR_GPSR(IP12_31_28,		SSI_SDATA8),

	/* IPSR13 */
	PINMUX_IPSR_GPSR(IP13_3_0,		MSIOF0_SS1),
	PINMUX_IPSR_MSEL(IP13_3_0,		HRX2_A,		SEL_HSCIF2_0),
	PINMUX_IPSR_GPSR(IP13_3_0,		SSI_SCK4),
	PINMUX_IPSR_MSEL(IP13_3_0,		HCTS0_N_A,	SEL_HSCIF0_0),
	PINMUX_IPSR_GPSR(IP13_3_0,		BPFCLK_C),
	PINMUX_IPSR_MSEL(IP13_3_0,		SPEEDIN_A,	SEL_SPEED_PULSE_IF_0),

	PINMUX_IPSR_GPSR(IP13_7_4,		MSIOF0_SS2),
	PINMUX_IPSR_GPSR(IP13_7_4,		HTX2_A),
	PINMUX_IPSR_GPSR(IP13_7_4,		SSI_WS4),
	PINMUX_IPSR_MSEL(IP13_7_4,		HRTS0_N_A,	SEL_HSCIF0_0),
	PINMUX_IPSR_MSEL(IP13_7_4,		FMIN_C,		SEL_FM_2),
	PINMUX_IPSR_GPSR(IP13_7_4,		BPFCLK_A),

	PINMUX_IPSR_GPSR(IP13_11_8,		SSI_SDATA9),
	PINMUX_IPSR_MSEL(IP13_11_8,		AUDIO_CLKC_A,	SEL_ADGC_0),
	PINMUX_IPSR_GPSR(IP13_11_8,		SCK1),

	PINMUX_IPSR_GPSR(IP13_15_12,		MLB_CLK),
	PINMUX_IPSR_MSEL(IP13_15_12,		RX0_B,		SEL_SCIF0_1),
	PINMUX_IPSR_MSEL(IP13_15_12,		RIF0_D0_A,	SEL_DRIF0_0),
	PINMUX_IPSR_MSEL(IP13_15_12,		SCL1_B,		SEL_I2C1_1),
	PINMUX_IPSR_MSEL(IP13_15_12,		TCLK1_B,	SEL_TIMER_TMU_1),
	PINMUX_IPSR_GPSR(IP13_15_12,		SIM0_RST_A),

	PINMUX_IPSR_GPSR(IP13_19_16,		MLB_SIG),
	PINMUX_IPSR_MSEL(IP13_19_16,		SCK0_B,		SEL_SCIF0_1),
	PINMUX_IPSR_MSEL(IP13_19_16,		RIF0_D1_A,	SEL_DRIF0_0),
	PINMUX_IPSR_MSEL(IP13_19_16,		SDA1_B,		SEL_I2C1_1),
	PINMUX_IPSR_MSEL(IP13_19_16,		TCLK2_B,	SEL_TIMER_TMU_1),
	PINMUX_IPSR_MSEL(IP13_19_16,		SIM0_D_A,	SEL_SIMCARD_0),

	PINMUX_IPSR_GPSR(IP13_23_20,		MLB_DAT),
	PINMUX_IPSR_GPSR(IP13_23_20,		TX0_B),
	PINMUX_IPSR_MSEL(IP13_23_20,		RIF0_SYNC_A,	SEL_DRIF0_0),
	PINMUX_IPSR_GPSR(IP13_23_20,		SIM0_CLK_A),

	PINMUX_IPSR_GPSR(IP13_27_24,		SSI_SCK01239),

	PINMUX_IPSR_GPSR(IP13_31_28,		SSI_WS01239),

	/* IPSR14 */
	PINMUX_IPSR_GPSR(IP14_3_0,		SSI_SDATA0),

	PINMUX_IPSR_GPSR(IP14_7_4,		SSI_SDATA1),
	PINMUX_IPSR_MSEL(IP14_7_4,		AUDIO_CLKC_B,	SEL_ADGC_1),
	PINMUX_IPSR_MSEL(IP14_7_4,		PWM0_B,		SEL_PWM0_1),

	PINMUX_IPSR_GPSR(IP14_11_8,		SSI_SDATA2),
	PINMUX_IPSR_GPSR(IP14_11_8,		AUDIO_CLKOUT2_B),
	PINMUX_IPSR_MSEL(IP14_11_8,		SSI_SCK9_A,	SEL_SSI9_0),
	PINMUX_IPSR_MSEL(IP14_11_8,		PWM1_B,		SEL_PWM1_1),

	PINMUX_IPSR_GPSR(IP14_15_12,		SSI_SCK349),
	PINMUX_IPSR_MSEL(IP14_15_12,		PWM2_C,		SEL_PWM2_2),

	PINMUX_IPSR_GPSR(IP14_19_16,		SSI_WS349),
	PINMUX_IPSR_MSEL(IP14_19_16,		PWM3_C,		SEL_PWM3_2),

	PINMUX_IPSR_GPSR(IP14_23_20,		SSI_SDATA3),
	PINMUX_IPSR_GPSR(IP14_23_20,		AUDIO_CLKOUT1_C),
	PINMUX_IPSR_MSEL(IP14_23_20,		AUDIO_CLKB_B,	SEL_ADGB_1),
	PINMUX_IPSR_MSEL(IP14_23_20,		PWM4_B,		SEL_PWM4_1),

	PINMUX_IPSR_GPSR(IP14_27_24,		SSI_SDATA4),
	PINMUX_IPSR_MSEL(IP14_27_24,		SSI_WS9_A,	SEL_SSI9_0),
	PINMUX_IPSR_MSEL(IP14_27_24,		PWM5_B,		SEL_PWM5_1),

	PINMUX_IPSR_GPSR(IP14_31_28,		SSI_SCK5),
	PINMUX_IPSR_MSEL(IP14_31_28,		HRX0_B,		SEL_HSCIF0_1),
	PINMUX_IPSR_GPSR(IP14_31_28,		USB0_PWEN_B),
	PINMUX_IPSR_MSEL(IP14_31_28,		SCL2_D,		SEL_I2C2_3),
	PINMUX_IPSR_MSEL(IP14_31_28,		PWM6_B,		SEL_PWM6_1),

	/* IPSR15 */
	PINMUX_IPSR_GPSR(IP15_3_0,		SSI_WS5),
	PINMUX_IPSR_GPSR(IP15_3_0,		HTX0_B),
	PINMUX_IPSR_MSEL(IP15_3_0,		USB0_OVC_B,	SEL_USB_20_CH0_1),
	PINMUX_IPSR_MSEL(IP15_3_0,		SDA2_D,		SEL_I2C2_3),

	PINMUX_IPSR_GPSR(IP15_7_4,		SSI_SDATA5),
	PINMUX_IPSR_MSEL(IP15_7_4,		HSCK0_B,	SEL_HSCIF0_1),
	PINMUX_IPSR_MSEL(IP15_7_4,		AUDIO_CLKB_C,	SEL_ADGB_2),
	PINMUX_IPSR_GPSR(IP15_7_4,		TPU0TO0),

	PINMUX_IPSR_GPSR(IP15_11_8,		SSI_SCK6),
	PINMUX_IPSR_MSEL(IP15_11_8,		HSCK2_A,	SEL_HSCIF2_0),
	PINMUX_IPSR_MSEL(IP15_11_8,		AUDIO_CLKC_C,	SEL_ADGC_2),
	PINMUX_IPSR_GPSR(IP15_11_8,		TPU0TO1),
	PINMUX_IPSR_MSEL(IP15_11_8,		FSO_CFE_0_N_B,	SEL_FSO_1),
	PINMUX_IPSR_GPSR(IP15_11_8,		SIM0_RST_B),

	PINMUX_IPSR_GPSR(IP15_15_12,		SSI_WS6),
	PINMUX_IPSR_MSEL(IP15_15_12,		HCTS2_N_A,	SEL_HSCIF2_0),
	PINMUX_IPSR_GPSR(IP15_15_12,		AUDIO_CLKOUT2_C),
	PINMUX_IPSR_GPSR(IP15_15_12,		TPU0TO2),
	PINMUX_IPSR_MSEL(IP15_15_12,		SDA1_D,		SEL_I2C1_3),
	PINMUX_IPSR_MSEL(IP15_15_12,		FSO_CFE_1_N_B,	SEL_FSO_1),
	PINMUX_IPSR_MSEL(IP15_15_12,		SIM0_D_B,	SEL_SIMCARD_1),

	PINMUX_IPSR_GPSR(IP15_19_16,		SSI_SDATA6),
	PINMUX_IPSR_MSEL(IP15_19_16,		HRTS2_N_A,	SEL_HSCIF2_0),
	PINMUX_IPSR_GPSR(IP15_19_16,		AUDIO_CLKOUT3_C),
	PINMUX_IPSR_GPSR(IP15_19_16,		TPU0TO3),
	PINMUX_IPSR_MSEL(IP15_19_16,		SCL1_D,		SEL_I2C1_3),
	PINMUX_IPSR_MSEL(IP15_19_16,		FSO_TOE_N_B,	SEL_FSO_1),
	PINMUX_IPSR_GPSR(IP15_19_16,		SIM0_CLK_B),

	PINMUX_IPSR_GPSR(IP15_23_20,		AUDIO_CLKA),

	PINMUX_IPSR_GPSR(IP15_27_24,		USB30_PWEN),
	PINMUX_IPSR_GPSR(IP15_27_24,		USB0_PWEN_A),

	PINMUX_IPSR_GPSR(IP15_31_28,		USB30_OVC),
	PINMUX_IPSR_MSEL(IP15_31_28,		USB0_OVC_A,	SEL_USB_20_CH0_0),

/*
 * Static pins can not be muxed between different functions but
 * still need mark entries in the pinmux list. Add each static
 * pin to the list without an associated function. The sh-pfc
 * core will do the right thing and skip trying to mux the pin
 * while still applying configuration to it.
 */
#define FM(x)   PINMUX_DATA(x##_MARK, 0),
	PINMUX_STATIC
#undef FM
};

/*
 * R8A77990 has 7 banks with 32 GPIOs in each => 224 GPIOs.
 * Physical layout rows: A - AE, cols: 1 - 25.
 */
#define ROW_GROUP_A(r) ('Z' - 'A' + 1 + (r))
#define PIN_NUMBER(r, c) (((r) - 'A') * 25 + (c) + 300)
#define PIN_A_NUMBER(r, c) PIN_NUMBER(ROW_GROUP_A(r), c)
#define PIN_NONE U16_MAX

static const struct sh_pfc_pin pinmux_pins[] = {
	PINMUX_GPIO_GP_ALL(),

	/*
	 * Pins not associated with a GPIO port.
	 *
	 * The pin positions are different between different R8A77990
	 * packages, all that is needed for the pfc driver is a unique
	 * number for each pin. To this end use the pin layout from
	 * R8A77990 to calculate a unique number for each pin.
	 */
	SH_PFC_PIN_NAMED_CFG('F',  1, TRST_N,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('F',  3, TMS,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('F',  4, TCK,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('G',  2, TDI,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('G',  3, FSCLKST_N,	CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('H',  1, ASEBRK,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('N',  1, AVB_TXC,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('N',  2, AVB_TD0,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('N',  3, AVB_TD1,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('N',  5, AVB_TD2,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('N',  6, AVB_TD3,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('P',  3, AVB_TX_CTL,	CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('P',  4, AVB_MDIO,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('P',  5, AVB_MDC,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG('T', 21, MLB_REF,		CFG_FLAGS),
	SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 3, PRESETOUT_N, CFG_FLAGS),
};

/* - EtherAVB --------------------------------------------------------------- */
static const unsigned int avb_link_pins[] = {
	/* AVB_LINK */
	RCAR_GP_PIN(2, 23),
};

static const unsigned int avb_link_mux[] = {
	AVB_LINK_MARK,
};

static const unsigned int avb_magic_pins[] = {
	/* AVB_MAGIC */
	RCAR_GP_PIN(2, 22),
};

static const unsigned int avb_magic_mux[] = {
	AVB_MAGIC_MARK,
};

static const unsigned int avb_phy_int_pins[] = {
	/* AVB_PHY_INT */
	RCAR_GP_PIN(2, 21),
};

static const unsigned int avb_phy_int_mux[] = {
	AVB_PHY_INT_MARK,
};

static const unsigned int avb_mii_pins[] = {
	/*
	 * AVB_RX_CTL, AVB_RXC, AVB_RD0,
	 * AVB_RD1, AVB_RD2, AVB_RD3,
	 * AVB_TXCREFCLK
	 */
	RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 16),
	RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 19),
	RCAR_GP_PIN(2, 20),
};

static const unsigned int avb_mii_mux[] = {
	AVB_RX_CTL_MARK, AVB_RXC_MARK, AVB_RD0_MARK,
	AVB_RD1_MARK, AVB_RD2_MARK, AVB_RD3_MARK,
	AVB_TXCREFCLK_MARK,
};

static const unsigned int avb_avtp_pps_pins[] = {
	/* AVB_AVTP_PPS */
	RCAR_GP_PIN(1, 2),
};

static const unsigned int avb_avtp_pps_mux[] = {
	AVB_AVTP_PPS_MARK,
};

static const unsigned int avb_avtp_match_a_pins[] = {
	/* AVB_AVTP_MATCH_A */
	RCAR_GP_PIN(2, 24),
};

static const unsigned int avb_avtp_match_a_mux[] = {
	AVB_AVTP_MATCH_A_MARK,
};

static const unsigned int avb_avtp_capture_a_pins[] = {
	/* AVB_AVTP_CAPTURE_A */
	RCAR_GP_PIN(2, 25),
};

static const unsigned int avb_avtp_capture_a_mux[] = {
	AVB_AVTP_CAPTURE_A_MARK,
};

/* - I2C -------------------------------------------------------------------- */
static const unsigned int i2c1_a_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9),
};

static const unsigned int i2c1_a_mux[] = {
	SCL1_A_MARK, SDA1_A_MARK,
};

static const unsigned int i2c1_b_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 18),
};

static const unsigned int i2c1_b_mux[] = {
	SCL1_B_MARK, SDA1_B_MARK,
};

static const unsigned int i2c1_c_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 5),
};

static const unsigned int i2c1_c_mux[] = {
	SCL1_C_MARK, SDA1_C_MARK,
};

static const unsigned int i2c1_d_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(6, 16), RCAR_GP_PIN(6, 15),
};

static const unsigned int i2c1_d_mux[] = {
	SCL1_D_MARK, SDA1_D_MARK,
};

static const unsigned int i2c2_a_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 0),
};

static const unsigned int i2c2_a_mux[] = {
	SCL2_A_MARK, SDA2_A_MARK,
};

static const unsigned int i2c2_b_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 13),
};

static const unsigned int i2c2_b_mux[] = {
	SCL2_B_MARK, SDA2_B_MARK,
};

static const unsigned int i2c2_c_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 3),
};

static const unsigned int i2c2_c_mux[] = {
	SCL2_C_MARK, SDA2_C_MARK,
};

static const unsigned int i2c2_d_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(6, 11), RCAR_GP_PIN(6, 12),
};

static const unsigned int i2c2_d_mux[] = {
	SCL2_D_MARK, SDA2_D_MARK,
};

static const unsigned int i2c2_e_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 0),
};

static const unsigned int i2c2_e_mux[] = {
	SCL2_E_MARK, SDA2_E_MARK,
};

static const unsigned int i2c4_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(0, 16), RCAR_GP_PIN(0, 17),
};

static const unsigned int i2c4_mux[] = {
	SCL4_MARK, SDA4_MARK,
};

static const unsigned int i2c5_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
};

static const unsigned int i2c5_mux[] = {
	SCL5_MARK, SDA5_MARK,
};

static const unsigned int i2c6_a_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 8),
};

static const unsigned int i2c6_a_mux[] = {
	SCL6_A_MARK, SDA6_A_MARK,
};

static const unsigned int i2c6_b_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 1),
};

static const unsigned int i2c6_b_mux[] = {
	SCL6_B_MARK, SDA6_B_MARK,
};

static const unsigned int i2c7_a_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(2, 24), RCAR_GP_PIN(2, 25),
};

static const unsigned int i2c7_a_mux[] = {
	SCL7_A_MARK, SDA7_A_MARK,
};

static const unsigned int i2c7_b_pins[] = {
	/* SCL, SDA */
	RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 14),
};

static const unsigned int i2c7_b_mux[] = {
	SCL7_B_MARK, SDA7_B_MARK,
};

/* - SCIF0 ------------------------------------------------------------------ */
static const unsigned int scif0_data_a_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
};

static const unsigned int scif0_data_a_mux[] = {
	RX0_A_MARK, TX0_A_MARK,
};

static const unsigned int scif0_clk_a_pins[] = {
	/* SCK */
	RCAR_GP_PIN(5, 0),
};

static const unsigned int scif0_clk_a_mux[] = {
	SCK0_A_MARK,
};

static const unsigned int scif0_ctrl_a_pins[] = {
	/* RTS, CTS */
	RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 3),
};

static const unsigned int scif0_ctrl_a_mux[] = {
	RTS0_N_TANS_A_MARK, CTS0_N_A_MARK,
};

static const unsigned int scif0_data_b_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 19),
};

static const unsigned int scif0_data_b_mux[] = {
	RX0_B_MARK, TX0_B_MARK,
};

static const unsigned int scif0_clk_b_pins[] = {
	/* SCK */
	RCAR_GP_PIN(5, 18),
};

static const unsigned int scif0_clk_b_mux[] = {
	SCK0_B_MARK,
};

/* - SCIF1 ------------------------------------------------------------------ */
static const unsigned int scif1_data_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6),
};

static const unsigned int scif1_data_mux[] = {
	RX1_MARK, TX1_MARK,
};

static const unsigned int scif1_clk_pins[] = {
	/* SCK */
	RCAR_GP_PIN(5, 16),
};

static const unsigned int scif1_clk_mux[] = {
	SCK1_MARK,
};

static const unsigned int scif1_ctrl_pins[] = {
	/* RTS, CTS */
	RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 7),
};

static const unsigned int scif1_ctrl_mux[] = {
	RTS1_N_TANS_MARK, CTS1_N_MARK,
};

/* - SCIF2 ------------------------------------------------------------------ */
static const unsigned int scif2_data_a_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 8),
};

static const unsigned int scif2_data_a_mux[] = {
	RX2_A_MARK, TX2_A_MARK,
};

static const unsigned int scif2_clk_a_pins[] = {
	/* SCK */
	RCAR_GP_PIN(5, 7),
};

static const unsigned int scif2_clk_a_mux[] = {
	SCK2_A_MARK,
};

static const unsigned int scif2_data_b_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 11),
};

static const unsigned int scif2_data_b_mux[] = {
	RX2_B_MARK, TX2_B_MARK,
};

/* - SCIF3 ------------------------------------------------------------------ */
static const unsigned int scif3_data_a_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6),
};

static const unsigned int scif3_data_a_mux[] = {
	RX3_A_MARK, TX3_A_MARK,
};

static const unsigned int scif3_clk_a_pins[] = {
	/* SCK */
	RCAR_GP_PIN(0, 1),
};

static const unsigned int scif3_clk_a_mux[] = {
	SCK3_A_MARK,
};

static const unsigned int scif3_ctrl_a_pins[] = {
	/* RTS, CTS */
	RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 7),
};

static const unsigned int scif3_ctrl_a_mux[] = {
	RTS3_N_TANS_A_MARK, CTS3_N_A_MARK,
};

static const unsigned int scif3_data_b_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 11),
};

static const unsigned int scif3_data_b_mux[] = {
	RX3_B_MARK, TX3_B_MARK,
};

static const unsigned int scif3_data_c_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 22),
};

static const unsigned int scif3_data_c_mux[] = {
	RX3_C_MARK, TX3_C_MARK,
};

static const unsigned int scif3_clk_c_pins[] = {
	/* SCK */
	RCAR_GP_PIN(2, 24),
};

static const unsigned int scif3_clk_c_mux[] = {
	SCK3_C_MARK,
};

/* - SCIF4 ------------------------------------------------------------------ */
static const unsigned int scif4_data_a_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 7),
};

static const unsigned int scif4_data_a_mux[] = {
	RX4_A_MARK, TX4_A_MARK,
};

static const unsigned int scif4_clk_a_pins[] = {
	/* SCK */
	RCAR_GP_PIN(1, 5),
};

static const unsigned int scif4_clk_a_mux[] = {
	SCK4_A_MARK,
};

static const unsigned int scif4_ctrl_a_pins[] = {
	/* RTS, CTS */
	RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 3),
};

static const unsigned int scif4_ctrl_a_mux[] = {
	RTS4_N_TANS_A_MARK, CTS4_N_A_MARK,
};

static const unsigned int scif4_data_b_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 12),
};

static const unsigned int scif4_data_b_mux[] = {
	RX4_B_MARK, TX4_B_MARK,
};

static const unsigned int scif4_clk_b_pins[] = {
	/* SCK */
	RCAR_GP_PIN(0, 8),
};

static const unsigned int scif4_clk_b_mux[] = {
	SCK4_B_MARK,
};

static const unsigned int scif4_data_c_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 3),
};

static const unsigned int scif4_data_c_mux[] = {
	RX4_C_MARK, TX4_C_MARK,
};

static const unsigned int scif4_ctrl_c_pins[] = {
	/* RTS, CTS */
	RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 0),
};

static const unsigned int scif4_ctrl_c_mux[] = {
	RTS4_N_TANS_C_MARK, CTS4_N_C_MARK,
};

/* - SCIF5 ------------------------------------------------------------------ */
static const unsigned int scif5_data_a_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 9),
};

static const unsigned int scif5_data_a_mux[] = {
	RX5_A_MARK, TX5_A_MARK,
};

static const unsigned int scif5_clk_a_pins[] = {
	/* SCK */
	RCAR_GP_PIN(1, 13),
};

static const unsigned int scif5_clk_a_mux[] = {
	SCK5_A_MARK,
};

static const unsigned int scif5_data_b_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(2, 25), RCAR_GP_PIN(2, 24),
};

static const unsigned int scif5_data_b_mux[] = {
	RX5_B_MARK, TX5_B_MARK,
};

static const unsigned int scif5_data_c_pins[] = {
	/* RX, TX */
	RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 3),
};

static const unsigned int scif5_data_c_mux[] = {
	RX5_C_MARK, TX5_C_MARK,
};

/* - SCIF Clock ------------------------------------------------------------- */
static const unsigned int scif_clk_a_pins[] = {
	/* SCIF_CLK */
	RCAR_GP_PIN(5, 3),
};

static const unsigned int scif_clk_a_mux[] = {
	SCIF_CLK_A_MARK,
};

static const unsigned int scif_clk_b_pins[] = {
	/* SCIF_CLK */
	RCAR_GP_PIN(5, 7),
};

static const unsigned int scif_clk_b_mux[] = {
	SCIF_CLK_B_MARK,
};

/* - USB0 ------------------------------------------------------------------- */
static const unsigned int usb0_a_pins[] = {
	/* PWEN, OVC */
	RCAR_GP_PIN(6, 17), RCAR_GP_PIN(6, 9),
};

static const unsigned int usb0_a_mux[] = {
	USB0_PWEN_A_MARK, USB0_OVC_A_MARK,
};

static const unsigned int usb0_b_pins[] = {
	/* PWEN, OVC */
	RCAR_GP_PIN(6, 11), RCAR_GP_PIN(6, 12),
};

static const unsigned int usb0_b_mux[] = {
	USB0_PWEN_B_MARK, USB0_OVC_B_MARK,
};

static const unsigned int usb0_id_pins[] = {
	/* ID */
	RCAR_GP_PIN(5, 0)
};

static const unsigned int usb0_id_mux[] = {
	USB0_ID_MARK,
};

/* - USB30 ------------------------------------------------------------------ */
static const unsigned int usb30_pins[] = {
	/* PWEN, OVC */
	RCAR_GP_PIN(6, 17), RCAR_GP_PIN(6, 9),
};

static const unsigned int usb30_mux[] = {
	USB30_PWEN_MARK, USB30_OVC_MARK,
};

static const unsigned int usb30_id_pins[] = {
	/* ID */
	RCAR_GP_PIN(5, 0),
};

static const unsigned int usb30_id_mux[] = {
	USB3HS0_ID_MARK,
};

static const struct sh_pfc_pin_group pinmux_groups[] = {
	SH_PFC_PIN_GROUP(avb_link),
	SH_PFC_PIN_GROUP(avb_magic),
	SH_PFC_PIN_GROUP(avb_phy_int),
	SH_PFC_PIN_GROUP(avb_mii),
	SH_PFC_PIN_GROUP(avb_avtp_pps),
	SH_PFC_PIN_GROUP(avb_avtp_match_a),
	SH_PFC_PIN_GROUP(avb_avtp_capture_a),
	SH_PFC_PIN_GROUP(i2c1_a),
	SH_PFC_PIN_GROUP(i2c1_b),
	SH_PFC_PIN_GROUP(i2c1_c),
	SH_PFC_PIN_GROUP(i2c1_d),
	SH_PFC_PIN_GROUP(i2c2_a),
	SH_PFC_PIN_GROUP(i2c2_b),
	SH_PFC_PIN_GROUP(i2c2_c),
	SH_PFC_PIN_GROUP(i2c2_d),
	SH_PFC_PIN_GROUP(i2c2_e),
	SH_PFC_PIN_GROUP(i2c4),
	SH_PFC_PIN_GROUP(i2c5),
	SH_PFC_PIN_GROUP(i2c6_a),
	SH_PFC_PIN_GROUP(i2c6_b),
	SH_PFC_PIN_GROUP(i2c7_a),
	SH_PFC_PIN_GROUP(i2c7_b),
	SH_PFC_PIN_GROUP(scif0_data_a),
	SH_PFC_PIN_GROUP(scif0_clk_a),
	SH_PFC_PIN_GROUP(scif0_ctrl_a),
	SH_PFC_PIN_GROUP(scif0_data_b),
	SH_PFC_PIN_GROUP(scif0_clk_b),
	SH_PFC_PIN_GROUP(scif1_data),
	SH_PFC_PIN_GROUP(scif1_clk),
	SH_PFC_PIN_GROUP(scif1_ctrl),
	SH_PFC_PIN_GROUP(scif2_data_a),
	SH_PFC_PIN_GROUP(scif2_clk_a),
	SH_PFC_PIN_GROUP(scif2_data_b),
	SH_PFC_PIN_GROUP(scif3_data_a),
	SH_PFC_PIN_GROUP(scif3_clk_a),
	SH_PFC_PIN_GROUP(scif3_ctrl_a),
	SH_PFC_PIN_GROUP(scif3_data_b),
	SH_PFC_PIN_GROUP(scif3_data_c),
	SH_PFC_PIN_GROUP(scif3_clk_c),
	SH_PFC_PIN_GROUP(scif4_data_a),
	SH_PFC_PIN_GROUP(scif4_clk_a),
	SH_PFC_PIN_GROUP(scif4_ctrl_a),
	SH_PFC_PIN_GROUP(scif4_data_b),
	SH_PFC_PIN_GROUP(scif4_clk_b),
	SH_PFC_PIN_GROUP(scif4_data_c),
	SH_PFC_PIN_GROUP(scif4_ctrl_c),
	SH_PFC_PIN_GROUP(scif5_data_a),
	SH_PFC_PIN_GROUP(scif5_clk_a),
	SH_PFC_PIN_GROUP(scif5_data_b),
	SH_PFC_PIN_GROUP(scif5_data_c),
	SH_PFC_PIN_GROUP(scif_clk_a),
	SH_PFC_PIN_GROUP(scif_clk_b),
	SH_PFC_PIN_GROUP(usb0_a),
	SH_PFC_PIN_GROUP(usb0_b),
	SH_PFC_PIN_GROUP(usb0_id),
	SH_PFC_PIN_GROUP(usb30),
	SH_PFC_PIN_GROUP(usb30_id),
};

static const char * const avb_groups[] = {
	"avb_link",
	"avb_magic",
	"avb_phy_int",
	"avb_mii",
	"avb_avtp_pps",
	"avb_avtp_match_a",
	"avb_avtp_capture_a",
};

static const char * const i2c1_groups[] = {
	"i2c1_a",
	"i2c1_b",
	"i2c1_c",
	"i2c1_d",
};

static const char * const i2c2_groups[] = {
	"i2c2_a",
	"i2c2_b",
	"i2c2_c",
	"i2c2_d",
	"i2c2_e",
};

static const char * const i2c4_groups[] = {
	"i2c4",
};

static const char * const i2c5_groups[] = {
	"i2c5",
};

static const char * const i2c6_groups[] = {
	"i2c6_a",
	"i2c6_b",
};

static const char * const i2c7_groups[] = {
	"i2c7_a",
	"i2c7_b",
};

static const char * const scif0_groups[] = {
	"scif0_data_a",
	"scif0_clk_a",
	"scif0_ctrl_a",
	"scif0_data_b",
	"scif0_clk_b",
};

static const char * const scif1_groups[] = {
	"scif1_data",
	"scif1_clk",
	"scif1_ctrl",
};

static const char * const scif2_groups[] = {
	"scif2_data_a",
	"scif2_clk_a",
	"scif2_data_b",
};

static const char * const scif3_groups[] = {
	"scif3_data_a",
	"scif3_clk_a",
	"scif3_ctrl_a",
	"scif3_data_b",
	"scif3_data_c",
	"scif3_clk_c",
};

static const char * const scif4_groups[] = {
	"scif4_data_a",
	"scif4_clk_a",
	"scif4_ctrl_a",
	"scif4_data_b",
	"scif4_clk_b",
	"scif4_data_c",
	"scif4_ctrl_c",
};

static const char * const scif5_groups[] = {
	"scif5_data_a",
	"scif5_clk_a",
	"scif5_data_b",
	"scif5_data_c",
};

static const char * const scif_clk_groups[] = {
	"scif_clk_a",
	"scif_clk_b",
};

static const char * const usb0_groups[] = {
	"usb0_a",
	"usb0_b",
	"usb0_id",
};

static const char * const usb30_groups[] = {
	"usb30",
	"usb30_id",
};

static const struct sh_pfc_function pinmux_functions[] = {
	SH_PFC_FUNCTION(avb),
	SH_PFC_FUNCTION(i2c1),
	SH_PFC_FUNCTION(i2c2),
	SH_PFC_FUNCTION(i2c4),
	SH_PFC_FUNCTION(i2c5),
	SH_PFC_FUNCTION(i2c6),
	SH_PFC_FUNCTION(i2c7),
	SH_PFC_FUNCTION(scif0),
	SH_PFC_FUNCTION(scif1),
	SH_PFC_FUNCTION(scif2),
	SH_PFC_FUNCTION(scif3),
	SH_PFC_FUNCTION(scif4),
	SH_PFC_FUNCTION(scif5),
	SH_PFC_FUNCTION(scif_clk),
	SH_PFC_FUNCTION(usb0),
	SH_PFC_FUNCTION(usb30),
};

static const struct pinmux_cfg_reg pinmux_config_regs[] = {
#define F_(x, y)	FN_##y
#define FM(x)		FN_##x
	{ PINMUX_CFG_REG("GPSR0", 0xe6060100, 32, 1) {
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		GP_0_17_FN,	GPSR0_17,
		GP_0_16_FN,	GPSR0_16,
		GP_0_15_FN,	GPSR0_15,
		GP_0_14_FN,	GPSR0_14,
		GP_0_13_FN,	GPSR0_13,
		GP_0_12_FN,	GPSR0_12,
		GP_0_11_FN,	GPSR0_11,
		GP_0_10_FN,	GPSR0_10,
		GP_0_9_FN,	GPSR0_9,
		GP_0_8_FN,	GPSR0_8,
		GP_0_7_FN,	GPSR0_7,
		GP_0_6_FN,	GPSR0_6,
		GP_0_5_FN,	GPSR0_5,
		GP_0_4_FN,	GPSR0_4,
		GP_0_3_FN,	GPSR0_3,
		GP_0_2_FN,	GPSR0_2,
		GP_0_1_FN,	GPSR0_1,
		GP_0_0_FN,	GPSR0_0, }
	},
	{ PINMUX_CFG_REG("GPSR1", 0xe6060104, 32, 1) {
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		GP_1_22_FN,	GPSR1_22,
		GP_1_21_FN,	GPSR1_21,
		GP_1_20_FN,	GPSR1_20,
		GP_1_19_FN,	GPSR1_19,
		GP_1_18_FN,	GPSR1_18,
		GP_1_17_FN,	GPSR1_17,
		GP_1_16_FN,	GPSR1_16,
		GP_1_15_FN,	GPSR1_15,
		GP_1_14_FN,	GPSR1_14,
		GP_1_13_FN,	GPSR1_13,
		GP_1_12_FN,	GPSR1_12,
		GP_1_11_FN,	GPSR1_11,
		GP_1_10_FN,	GPSR1_10,
		GP_1_9_FN,	GPSR1_9,
		GP_1_8_FN,	GPSR1_8,
		GP_1_7_FN,	GPSR1_7,
		GP_1_6_FN,	GPSR1_6,
		GP_1_5_FN,	GPSR1_5,
		GP_1_4_FN,	GPSR1_4,
		GP_1_3_FN,	GPSR1_3,
		GP_1_2_FN,	GPSR1_2,
		GP_1_1_FN,	GPSR1_1,
		GP_1_0_FN,	GPSR1_0, }
	},
	{ PINMUX_CFG_REG("GPSR2", 0xe6060108, 32, 1) {
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		GP_2_25_FN,	GPSR2_25,
		GP_2_24_FN,	GPSR2_24,
		GP_2_23_FN,	GPSR2_23,
		GP_2_22_FN,	GPSR2_22,
		GP_2_21_FN,	GPSR2_21,
		GP_2_20_FN,	GPSR2_20,
		GP_2_19_FN,	GPSR2_19,
		GP_2_18_FN,	GPSR2_18,
		GP_2_17_FN,	GPSR2_17,
		GP_2_16_FN,	GPSR2_16,
		GP_2_15_FN,	GPSR2_15,
		GP_2_14_FN,	GPSR2_14,
		GP_2_13_FN,	GPSR2_13,
		GP_2_12_FN,	GPSR2_12,
		GP_2_11_FN,	GPSR2_11,
		GP_2_10_FN,	GPSR2_10,
		GP_2_9_FN,	GPSR2_9,
		GP_2_8_FN,	GPSR2_8,
		GP_2_7_FN,	GPSR2_7,
		GP_2_6_FN,	GPSR2_6,
		GP_2_5_FN,	GPSR2_5,
		GP_2_4_FN,	GPSR2_4,
		GP_2_3_FN,	GPSR2_3,
		GP_2_2_FN,	GPSR2_2,
		GP_2_1_FN,	GPSR2_1,
		GP_2_0_FN,	GPSR2_0, }
	},
	{ PINMUX_CFG_REG("GPSR3", 0xe606010c, 32, 1) {
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		GP_3_15_FN,	GPSR3_15,
		GP_3_14_FN,	GPSR3_14,
		GP_3_13_FN,	GPSR3_13,
		GP_3_12_FN,	GPSR3_12,
		GP_3_11_FN,	GPSR3_11,
		GP_3_10_FN,	GPSR3_10,
		GP_3_9_FN,	GPSR3_9,
		GP_3_8_FN,	GPSR3_8,
		GP_3_7_FN,	GPSR3_7,
		GP_3_6_FN,	GPSR3_6,
		GP_3_5_FN,	GPSR3_5,
		GP_3_4_FN,	GPSR3_4,
		GP_3_3_FN,	GPSR3_3,
		GP_3_2_FN,	GPSR3_2,
		GP_3_1_FN,	GPSR3_1,
		GP_3_0_FN,	GPSR3_0, }
	},
	{ PINMUX_CFG_REG("GPSR4", 0xe6060110, 32, 1) {
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		GP_4_10_FN,	GPSR4_10,
		GP_4_9_FN,	GPSR4_9,
		GP_4_8_FN,	GPSR4_8,
		GP_4_7_FN,	GPSR4_7,
		GP_4_6_FN,	GPSR4_6,
		GP_4_5_FN,	GPSR4_5,
		GP_4_4_FN,	GPSR4_4,
		GP_4_3_FN,	GPSR4_3,
		GP_4_2_FN,	GPSR4_2,
		GP_4_1_FN,	GPSR4_1,
		GP_4_0_FN,	GPSR4_0, }
	},
	{ PINMUX_CFG_REG("GPSR5", 0xe6060114, 32, 1) {
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		GP_5_19_FN,	GPSR5_19,
		GP_5_18_FN,	GPSR5_18,
		GP_5_17_FN,	GPSR5_17,
		GP_5_16_FN,	GPSR5_16,
		GP_5_15_FN,	GPSR5_15,
		GP_5_14_FN,	GPSR5_14,
		GP_5_13_FN,	GPSR5_13,
		GP_5_12_FN,	GPSR5_12,
		GP_5_11_FN,	GPSR5_11,
		GP_5_10_FN,	GPSR5_10,
		GP_5_9_FN,	GPSR5_9,
		GP_5_8_FN,	GPSR5_8,
		GP_5_7_FN,	GPSR5_7,
		GP_5_6_FN,	GPSR5_6,
		GP_5_5_FN,	GPSR5_5,
		GP_5_4_FN,	GPSR5_4,
		GP_5_3_FN,	GPSR5_3,
		GP_5_2_FN,	GPSR5_2,
		GP_5_1_FN,	GPSR5_1,
		GP_5_0_FN,	GPSR5_0, }
	},
	{ PINMUX_CFG_REG("GPSR6", 0xe6060118, 32, 1) {
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		0, 0,
		GP_6_17_FN,	GPSR6_17,
		GP_6_16_FN,	GPSR6_16,
		GP_6_15_FN,	GPSR6_15,
		GP_6_14_FN,	GPSR6_14,
		GP_6_13_FN,	GPSR6_13,
		GP_6_12_FN,	GPSR6_12,
		GP_6_11_FN,	GPSR6_11,
		GP_6_10_FN,	GPSR6_10,
		GP_6_9_FN,	GPSR6_9,
		GP_6_8_FN,	GPSR6_8,
		GP_6_7_FN,	GPSR6_7,
		GP_6_6_FN,	GPSR6_6,
		GP_6_5_FN,	GPSR6_5,
		GP_6_4_FN,	GPSR6_4,
		GP_6_3_FN,	GPSR6_3,
		GP_6_2_FN,	GPSR6_2,
		GP_6_1_FN,	GPSR6_1,
		GP_6_0_FN,	GPSR6_0, }
	},
#undef F_
#undef FM

#define F_(x, y)	x,
#define FM(x)		FN_##x,
	{ PINMUX_CFG_REG("IPSR0", 0xe6060200, 32, 4) {
		IP0_31_28
		IP0_27_24
		IP0_23_20
		IP0_19_16
		IP0_15_12
		IP0_11_8
		IP0_7_4
		IP0_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR1", 0xe6060204, 32, 4) {
		IP1_31_28
		IP1_27_24
		IP1_23_20
		IP1_19_16
		IP1_15_12
		IP1_11_8
		IP1_7_4
		IP1_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR2", 0xe6060208, 32, 4) {
		IP2_31_28
		IP2_27_24
		IP2_23_20
		IP2_19_16
		IP2_15_12
		IP2_11_8
		IP2_7_4
		IP2_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR3", 0xe606020c, 32, 4) {
		IP3_31_28
		IP3_27_24
		IP3_23_20
		IP3_19_16
		IP3_15_12
		IP3_11_8
		IP3_7_4
		IP3_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR4", 0xe6060210, 32, 4) {
		IP4_31_28
		IP4_27_24
		IP4_23_20
		IP4_19_16
		IP4_15_12
		IP4_11_8
		IP4_7_4
		IP4_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR5", 0xe6060214, 32, 4) {
		IP5_31_28
		IP5_27_24
		IP5_23_20
		IP5_19_16
		IP5_15_12
		IP5_11_8
		IP5_7_4
		IP5_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR6", 0xe6060218, 32, 4) {
		IP6_31_28
		IP6_27_24
		IP6_23_20
		IP6_19_16
		IP6_15_12
		IP6_11_8
		IP6_7_4
		IP6_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR7", 0xe606021c, 32, 4) {
		IP7_31_28
		IP7_27_24
		IP7_23_20
		IP7_19_16
		IP7_15_12
		IP7_11_8
		IP7_7_4
		IP7_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR8", 0xe6060220, 32, 4) {
		IP8_31_28
		IP8_27_24
		IP8_23_20
		IP8_19_16
		IP8_15_12
		IP8_11_8
		IP8_7_4
		IP8_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR9", 0xe6060224, 32, 4) {
		IP9_31_28
		IP9_27_24
		IP9_23_20
		IP9_19_16
		IP9_15_12
		IP9_11_8
		IP9_7_4
		IP9_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR10", 0xe6060228, 32, 4) {
		IP10_31_28
		IP10_27_24
		IP10_23_20
		IP10_19_16
		IP10_15_12
		IP10_11_8
		IP10_7_4
		IP10_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR11", 0xe606022c, 32, 4) {
		IP11_31_28
		IP11_27_24
		IP11_23_20
		IP11_19_16
		IP11_15_12
		IP11_11_8
		IP11_7_4
		IP11_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR12", 0xe6060230, 32, 4) {
		IP12_31_28
		IP12_27_24
		IP12_23_20
		IP12_19_16
		IP12_15_12
		IP12_11_8
		IP12_7_4
		IP12_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR13", 0xe6060234, 32, 4) {
		IP13_31_28
		IP13_27_24
		IP13_23_20
		IP13_19_16
		IP13_15_12
		IP13_11_8
		IP13_7_4
		IP13_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR14", 0xe6060238, 32, 4) {
		IP14_31_28
		IP14_27_24
		IP14_23_20
		IP14_19_16
		IP14_15_12
		IP14_11_8
		IP14_7_4
		IP14_3_0 }
	},
	{ PINMUX_CFG_REG("IPSR15", 0xe606023c, 32, 4) {
		IP15_31_28
		IP15_27_24
		IP15_23_20
		IP15_19_16
		IP15_15_12
		IP15_11_8
		IP15_7_4
		IP15_3_0 }
	},
#undef F_
#undef FM

#define F_(x, y)	x,
#define FM(x)		FN_##x,
	{ PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32,
			     1, 2, 1, 2, 1, 1, 1, 1, 2, 3, 1,
			     1, 1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2) {
		/* RESERVED 31 */
		0, 0,
		MOD_SEL0_30_29
		MOD_SEL0_28
		MOD_SEL0_27_26
		MOD_SEL0_25
		MOD_SEL0_24
		MOD_SEL0_23
		MOD_SEL0_22
		MOD_SEL0_21_20
		MOD_SEL0_19_18_17
		MOD_SEL0_16
		MOD_SEL0_15
		MOD_SEL0_14
		MOD_SEL0_13_12
		MOD_SEL0_11_10
		MOD_SEL0_9
		MOD_SEL0_8
		MOD_SEL0_7
		MOD_SEL0_6_5
		MOD_SEL0_4
		MOD_SEL0_3
		MOD_SEL0_2
		MOD_SEL0_1_0 }
	},
	{ PINMUX_CFG_REG_VAR("MOD_SEL1", 0xe6060504, 32,
			     1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1,
			     1, 2, 2, 2, 1, 1, 2, 1, 4) {
		MOD_SEL1_31
		MOD_SEL1_30
		MOD_SEL1_29
		MOD_SEL1_28
		/* RESERVED 27 */
		0, 0,
		MOD_SEL1_26
		MOD_SEL1_25
		MOD_SEL1_24_23_22
		MOD_SEL1_21_20_19
		MOD_SEL1_18
		MOD_SEL1_17
		MOD_SEL1_16
		MOD_SEL1_15
		MOD_SEL1_14_13
		MOD_SEL1_12_11
		MOD_SEL1_10_9
		MOD_SEL1_8
		MOD_SEL1_7
		MOD_SEL1_6_5
		MOD_SEL1_4
		/* RESERVED 3, 2, 1, 0  */
		0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
	},
	{ },
};

static const struct pinmux_bias_reg pinmux_bias_regs[] = {
	{ PINMUX_BIAS_REG("PUEN0", 0xe6060400, "PUD0", 0xe6060440) {
		 [0] = RCAR_GP_PIN(2, 23),	/* RD# */
		 [1] = RCAR_GP_PIN(2, 22),	/* BS# */
		 [2] = RCAR_GP_PIN(2, 21),	/* AVB_PHY_INT */
		 [3] = PIN_NUMBER('P', 5),	/* AVB_MDC */
		 [4] = PIN_NUMBER('P', 4),	/* AVB_MDIO */
		 [5] = RCAR_GP_PIN(2, 20),	/* AVB_TXCREFCLK */
		 [6] = PIN_NUMBER('N', 6),	/* AVB_TD3 */
		 [7] = PIN_NUMBER('N', 5),	/* AVB_TD2 */
		 [8] = PIN_NUMBER('N', 3),	/* AVB_TD1 */
		 [9] = PIN_NUMBER('N', 2),	/* AVB_TD0 */
		[10] = PIN_NUMBER('N', 1),	/* AVB_TXC */
		[11] = PIN_NUMBER('P', 3),	/* AVB_TX_CTL */
		[12] = RCAR_GP_PIN(2, 19),	/* AVB_RD3 */
		[13] = RCAR_GP_PIN(2, 18),	/* AVB_RD2 */
		[14] = RCAR_GP_PIN(2, 17),	/* AVB_RD1 */
		[15] = RCAR_GP_PIN(2, 16),	/* AVB_RD0 */
		[16] = RCAR_GP_PIN(2, 15),	/* AVB_RXC */
		[17] = RCAR_GP_PIN(2, 14),	/* AVB_RX_CTL */
		[18] = RCAR_GP_PIN(2, 13),	/* RPC_RESET# */
		[19] = RCAR_GP_PIN(2, 12),	/* RPC_INT# */
		[20] = RCAR_GP_PIN(2, 11),	/* QSPI1_SSL */
		[21] = RCAR_GP_PIN(2, 10),	/* QSPI1_IO3 */
		[22] = RCAR_GP_PIN(2,  9),	/* QSPI1_IO2 */
		[23] = RCAR_GP_PIN(2,  8),	/* QSPI1_MISO/IO1 */
		[24] = RCAR_GP_PIN(2,  7),	/* QSPI1_MOSI/IO0 */
		[25] = RCAR_GP_PIN(2,  6),	/* QSPI1_SPCLK */
		[26] = RCAR_GP_PIN(2,  5),	/* QSPI0_SSL */
		[27] = RCAR_GP_PIN(2,  4),	/* QSPI0_IO3 */
		[28] = RCAR_GP_PIN(2,  3),	/* QSPI0_IO2 */
		[29] = RCAR_GP_PIN(2,  2),	/* QSPI0_MISO/IO1 */
		[30] = RCAR_GP_PIN(2,  1),	/* QSPI0_MOSI/IO0 */
		[31] = RCAR_GP_PIN(2,  0),	/* QSPI0_SPCLK */
	} },
	{ PINMUX_BIAS_REG("PUEN1", 0xe6060404, "PUD1", 0xe6060444) {
		 [0] = RCAR_GP_PIN(0,  4),	/* D4 */
		 [1] = RCAR_GP_PIN(0,  3),	/* D3 */
		 [2] = RCAR_GP_PIN(0,  2),	/* D2 */
		 [3] = RCAR_GP_PIN(0,  1),	/* D1 */
		 [4] = RCAR_GP_PIN(0,  0),	/* D0 */
		 [5] = RCAR_GP_PIN(1, 22),	/* WE0# */
		 [6] = RCAR_GP_PIN(1, 21),	/* CS0# */
		 [7] = RCAR_GP_PIN(1, 20),	/* CLKOUT */
		 [8] = RCAR_GP_PIN(1, 19),	/* A19 */
		 [9] = RCAR_GP_PIN(1, 18),	/* A18 */
		[10] = RCAR_GP_PIN(1, 17),	/* A17 */
		[11] = RCAR_GP_PIN(1, 16),	/* A16 */
		[12] = RCAR_GP_PIN(1, 15),	/* A15 */
		[13] = RCAR_GP_PIN(1, 14),	/* A14 */
		[14] = RCAR_GP_PIN(1, 13),	/* A13 */
		[15] = RCAR_GP_PIN(1, 12),	/* A12 */
		[16] = RCAR_GP_PIN(1, 11),	/* A11 */
		[17] = RCAR_GP_PIN(1, 10),	/* A10 */
		[18] = RCAR_GP_PIN(1,  9),	/* A9 */
		[19] = RCAR_GP_PIN(1,  8),	/* A8 */
		[20] = RCAR_GP_PIN(1,  7),	/* A7 */
		[21] = RCAR_GP_PIN(1,  6),	/* A6 */
		[22] = RCAR_GP_PIN(1,  5),	/* A5 */
		[23] = RCAR_GP_PIN(1,  4),	/* A4 */
		[24] = RCAR_GP_PIN(1,  3),	/* A3 */
		[25] = RCAR_GP_PIN(1,  2),	/* A2 */
		[26] = RCAR_GP_PIN(1,  1),	/* A1 */
		[27] = RCAR_GP_PIN(1,  0),	/* A0 */
		[28] = PIN_NONE,
		[29] = PIN_NONE,
		[30] = RCAR_GP_PIN(2, 25),	/* PUEN_EX_WAIT0 */
		[31] = RCAR_GP_PIN(2, 24),	/* PUEN_RD/WR# */
	} },
	{ PINMUX_BIAS_REG("PUEN2", 0xe6060408, "PUD2", 0xe6060448) {
		 [0] = RCAR_GP_PIN(3,  1),	/* SD0_CMD */
		 [1] = RCAR_GP_PIN(3,  0),	/* SD0_CLK */
		 [2] = PIN_NUMBER('H', 1),	/* ASEBRK */
		 [3] = PIN_NONE,
		 [4] = PIN_NUMBER('G', 2),	/* TDI */
		 [5] = PIN_NUMBER('F', 3),	/* TMS */
		 [6] = PIN_NUMBER('F', 4),	/* TCK */
		 [7] = PIN_NUMBER('F', 1),	/* TRST# */
		 [8] = PIN_NONE,
		 [9] = PIN_NONE,
		[10] = PIN_NONE,
		[11] = PIN_NONE,
		[12] = PIN_NONE,
		[13] = PIN_NONE,
		[14] = PIN_NONE,
		[15] = PIN_NUMBER('G', 3),	/* FSCLKST# */
		[16] = RCAR_GP_PIN(0, 17),	/* SDA4 */
		[17] = RCAR_GP_PIN(0, 16),	/* SCL4 */
		[18] = PIN_NONE,
		[19] = PIN_NONE,
		[20] = PIN_A_NUMBER('D', 3),	/* PRESETOUT# */
		[21] = RCAR_GP_PIN(0, 15),	/* D15 */
		[22] = RCAR_GP_PIN(0, 14),	/* D14 */
		[23] = RCAR_GP_PIN(0, 13),	/* D13 */
		[24] = RCAR_GP_PIN(0, 12),	/* D12 */
		[25] = RCAR_GP_PIN(0, 11),	/* D11 */
		[26] = RCAR_GP_PIN(0, 10),	/* D10 */
		[27] = RCAR_GP_PIN(0,  9),	/* D9 */
		[28] = RCAR_GP_PIN(0,  8),	/* D8 */
		[29] = RCAR_GP_PIN(0,  7),	/* D7 */
		[30] = RCAR_GP_PIN(0,  6),	/* D6 */
		[31] = RCAR_GP_PIN(0,  5),	/* D5 */
	} },
	{ PINMUX_BIAS_REG("PUEN3", 0xe606040c, "PUD3", 0xe606044c) {
		 [0] = RCAR_GP_PIN(5,  0),	/* SCK0_A */
		 [1] = RCAR_GP_PIN(5,  4),	/* RTS0#/TANS_A */
		 [2] = RCAR_GP_PIN(5,  3),	/* CTS0#_A */
		 [3] = RCAR_GP_PIN(5,  2),	/* TX0_A */
		 [4] = RCAR_GP_PIN(5,  1),	/* RX0_A */
		 [5] = PIN_NONE,
		 [6] = PIN_NONE,
		 [7] = RCAR_GP_PIN(3, 15),	/* SD1_WP */
		 [8] = RCAR_GP_PIN(3, 14),	/* SD1_CD */
		 [9] = RCAR_GP_PIN(3, 13),	/* SD0_WP */
		[10] = RCAR_GP_PIN(3, 12),	/* SD0_CD */
		[11] = RCAR_GP_PIN(4, 10),	/* SD3_DS */
		[12] = RCAR_GP_PIN(4,  9),	/* SD3_DAT7 */
		[13] = RCAR_GP_PIN(4,  8),	/* SD3_DAT6 */
		[14] = RCAR_GP_PIN(4,  7),	/* SD3_DAT5 */
		[15] = RCAR_GP_PIN(4,  6),	/* SD3_DAT4 */
		[16] = RCAR_GP_PIN(4,  5),	/* SD3_DAT3 */
		[17] = RCAR_GP_PIN(4,  4),	/* SD3_DAT2 */
		[18] = RCAR_GP_PIN(4,  3),	/* SD3_DAT1 */
		[19] = RCAR_GP_PIN(4,  2),	/* SD3_DAT0 */
		[20] = RCAR_GP_PIN(4,  1),	/* SD3_CMD */
		[21] = RCAR_GP_PIN(4,  0),	/* SD3_CLK */
		[22] = RCAR_GP_PIN(3, 11),	/* SD1_DAT3 */
		[23] = RCAR_GP_PIN(3, 10),	/* SD1_DAT2 */
		[24] = RCAR_GP_PIN(3,  9),	/* SD1_DAT1 */
		[25] = RCAR_GP_PIN(3,  8),	/* SD1_DAT0 */
		[26] = RCAR_GP_PIN(3,  7),	/* SD1_CMD */
		[27] = RCAR_GP_PIN(3,  6),	/* SD1_CLK */
		[28] = RCAR_GP_PIN(3,  5),	/* SD0_DAT3 */
		[29] = RCAR_GP_PIN(3,  4),	/* SD0_DAT2 */
		[30] = RCAR_GP_PIN(3,  3),	/* SD0_DAT1 */
		[31] = RCAR_GP_PIN(3,  2),	/* SD0_DAT0 */
	} },
	{ PINMUX_BIAS_REG("PUEN4", 0xe6060410, "PUD4", 0xe6060450) {
		 [0] = RCAR_GP_PIN(6,  8),	/* AUDIO_CLKA */
		 [1] = RCAR_GP_PIN(6, 16),	/* SSI_SDATA6 */
		 [2] = RCAR_GP_PIN(6, 15),	/* SSI_WS6 */
		 [3] = RCAR_GP_PIN(6, 14),	/* SSI_SCK6 */
		 [4] = RCAR_GP_PIN(6, 13),	/* SSI_SDATA5 */
		 [5] = RCAR_GP_PIN(6, 12),	/* SSI_WS5 */
		 [6] = RCAR_GP_PIN(6, 11),	/* SSI_SCK5 */
		 [7] = RCAR_GP_PIN(6, 10),	/* SSI_SDATA4 */
		 [8] = RCAR_GP_PIN(6,  7),	/* SSI_SDATA3 */
		 [9] = RCAR_GP_PIN(6,  6),	/* SSI_WS349 */
		[10] = RCAR_GP_PIN(6,  5),	/* SSI_SCK349 */
		[11] = RCAR_GP_PIN(6,  4),	/* SSI_SDATA2 */
		[12] = RCAR_GP_PIN(6,  3),	/* SSI_SDATA1 */
		[13] = RCAR_GP_PIN(6,  2),	/* SSI_SDATA0 */
		[14] = RCAR_GP_PIN(6,  1),	/* SSI_WS01239 */
		[15] = RCAR_GP_PIN(6,  0),	/* SSI_SCK01239 */
		[16] = PIN_NUMBER('T', 21),	/* MLB_REF */
		[17] = RCAR_GP_PIN(5, 19),	/* MLB_DAT */
		[18] = RCAR_GP_PIN(5, 18),	/* MLB_SIG */
		[19] = RCAR_GP_PIN(5, 17),	/* MLB_CLK */
		[20] = RCAR_GP_PIN(5, 16),	/* SSI_SDATA9 */
		[21] = RCAR_GP_PIN(5, 15),	/* MSIOF0_SS2 */
		[22] = RCAR_GP_PIN(5, 14),	/* MSIOF0_SS1 */
		[23] = RCAR_GP_PIN(5, 13),	/* MSIOF0_SYNC */
		[24] = RCAR_GP_PIN(5, 12),	/* MSIOF0_TXD */
		[25] = RCAR_GP_PIN(5, 11),	/* MSIOF0_RXD */
		[26] = RCAR_GP_PIN(5, 10),	/* MSIOF0_SCK */
		[27] = RCAR_GP_PIN(5,  9),	/* RX2_A */
		[28] = RCAR_GP_PIN(5,  8),	/* TX2_A */
		[29] = RCAR_GP_PIN(5,  7),	/* SCK2_A */
		[30] = RCAR_GP_PIN(5,  6),	/* TX1 */
		[31] = RCAR_GP_PIN(5,  5),	/* RX1 */
	} },
	{ PINMUX_BIAS_REG("PUEN5", 0xe6060414, "PUD5", 0xe6060454) {
		 [0] = PIN_NONE,
		 [1] = PIN_NONE,
		 [2] = PIN_NONE,
		 [3] = PIN_NONE,
		 [4] = PIN_NONE,
		 [5] = PIN_NONE,
		 [6] = PIN_NONE,
		 [7] = PIN_NONE,
		 [8] = PIN_NONE,
		 [9] = PIN_NONE,
		[10] = PIN_NONE,
		[11] = PIN_NONE,
		[12] = PIN_NONE,
		[13] = PIN_NONE,
		[14] = PIN_NONE,
		[15] = PIN_NONE,
		[16] = PIN_NONE,
		[17] = PIN_NONE,
		[18] = PIN_NONE,
		[19] = PIN_NONE,
		[20] = PIN_NONE,
		[21] = PIN_NONE,
		[22] = PIN_NONE,
		[23] = PIN_NONE,
		[24] = PIN_NONE,
		[25] = PIN_NONE,
		[26] = PIN_NONE,
		[27] = PIN_NONE,
		[28] = PIN_NONE,
		[29] = PIN_NONE,
		[30] = RCAR_GP_PIN(6,  9),	/* PUEN_USB30_OVC */
		[31] = RCAR_GP_PIN(6, 17),	/* PUEN_USB30_PWEN */
	} },
	{ /* sentinel */ },
};

static unsigned int r8a77990_pinmux_get_bias(struct sh_pfc *pfc,
					     unsigned int pin)
{
	const struct pinmux_bias_reg *reg;
	unsigned int bit;

	reg = sh_pfc_pin_to_bias_reg(pfc, pin, &bit);
	if (!reg)
		return PIN_CONFIG_BIAS_DISABLE;

	if (!(sh_pfc_read(pfc, reg->puen) & BIT(bit)))
		return PIN_CONFIG_BIAS_DISABLE;
	else if (sh_pfc_read(pfc, reg->pud) & BIT(bit))
		return PIN_CONFIG_BIAS_PULL_UP;
	else
		return PIN_CONFIG_BIAS_PULL_DOWN;
}

static void r8a77990_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
				     unsigned int bias)
{
	const struct pinmux_bias_reg *reg;
	u32 enable, updown;
	unsigned int bit;

	reg = sh_pfc_pin_to_bias_reg(pfc, pin, &bit);
	if (!reg)
		return;

	enable = sh_pfc_read(pfc, reg->puen) & ~BIT(bit);
	if (bias != PIN_CONFIG_BIAS_DISABLE)
		enable |= BIT(bit);

	updown = sh_pfc_read(pfc, reg->pud) & ~BIT(bit);
	if (bias == PIN_CONFIG_BIAS_PULL_UP)
		updown |= BIT(bit);

	sh_pfc_write(pfc, reg->pud, updown);
	sh_pfc_write(pfc, reg->puen, enable);
}

static const struct sh_pfc_soc_operations r8a77990_pinmux_ops = {
	.get_bias = r8a77990_pinmux_get_bias,
	.set_bias = r8a77990_pinmux_set_bias,
};

const struct sh_pfc_soc_info r8a77990_pinmux_info = {
	.name = "r8a77990_pfc",
	.ops = &r8a77990_pinmux_ops,
	.unlock_reg = 0xe6060000, /* PMMR */

	.function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },

	.pins = pinmux_pins,
	.nr_pins = ARRAY_SIZE(pinmux_pins),
	.groups = pinmux_groups,
	.nr_groups = ARRAY_SIZE(pinmux_groups),
	.functions = pinmux_functions,
	.nr_functions = ARRAY_SIZE(pinmux_functions),

	.cfg_regs = pinmux_config_regs,
	.bias_regs = pinmux_bias_regs,

	.pinmux_data = pinmux_data,
	.pinmux_data_size = ARRAY_SIZE(pinmux_data),
};
