linux/drivers/pinctrl/sh-pfc/pfc-r8a77990.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2/*
   3 * R8A77990 processor support - PFC hardware block.
   4 *
   5 * Copyright (C) 2018-2019 Renesas Electronics Corp.
   6 *
   7 * This file is based on the drivers/pinctrl/sh-pfc/pfc-r8a7796.c
   8 *
   9 * R8A7796 processor support - PFC hardware block.
  10 *
  11 * Copyright (C) 2016-2017 Renesas Electronics Corp.
  12 */
  13
  14#include <linux/errno.h>
  15#include <linux/kernel.h>
  16
  17#include "core.h"
  18#include "sh_pfc.h"
  19
  20#define CFG_FLAGS (SH_PFC_PIN_CFG_PULL_UP_DOWN)
  21
  22#define CPU_ALL_GP(fn, sfx) \
  23        PORT_GP_CFG_18(0, fn, sfx, CFG_FLAGS), \
  24        PORT_GP_CFG_23(1, fn, sfx, CFG_FLAGS), \
  25        PORT_GP_CFG_26(2, fn, sfx, CFG_FLAGS), \
  26        PORT_GP_CFG_12(3, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE), \
  27        PORT_GP_CFG_1(3, 12, fn, sfx, CFG_FLAGS), \
  28        PORT_GP_CFG_1(3, 13, fn, sfx, CFG_FLAGS), \
  29        PORT_GP_CFG_1(3, 14, fn, sfx, CFG_FLAGS), \
  30        PORT_GP_CFG_1(3, 15, fn, sfx, CFG_FLAGS), \
  31        PORT_GP_CFG_11(4, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE), \
  32        PORT_GP_CFG_20(5, fn, sfx, CFG_FLAGS), \
  33        PORT_GP_CFG_9(6, fn, sfx, CFG_FLAGS), \
  34        PORT_GP_CFG_1(6, 9, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \
  35        PORT_GP_CFG_1(6, 10, fn, sfx, CFG_FLAGS), \
  36        PORT_GP_CFG_1(6, 11, fn, sfx, CFG_FLAGS), \
  37        PORT_GP_CFG_1(6, 12, fn, sfx, CFG_FLAGS), \
  38        PORT_GP_CFG_1(6, 13, fn, sfx, CFG_FLAGS), \
  39        PORT_GP_CFG_1(6, 14, fn, sfx, CFG_FLAGS), \
  40        PORT_GP_CFG_1(6, 15, fn, sfx, CFG_FLAGS), \
  41        PORT_GP_CFG_1(6, 16, fn, sfx, CFG_FLAGS), \
  42        PORT_GP_CFG_1(6, 17, fn, sfx, CFG_FLAGS)
  43
  44#define CPU_ALL_NOGP(fn)                                                \
  45        PIN_NOGP_CFG(ASEBRK, "ASEBRK", fn, CFG_FLAGS),                  \
  46        PIN_NOGP_CFG(AVB_MDC, "AVB_MDC", fn, CFG_FLAGS),                \
  47        PIN_NOGP_CFG(AVB_MDIO, "AVB_MDIO", fn, CFG_FLAGS),              \
  48        PIN_NOGP_CFG(AVB_TD0, "AVB_TD0", fn, CFG_FLAGS),                \
  49        PIN_NOGP_CFG(AVB_TD1, "AVB_TD1", fn, CFG_FLAGS),                \
  50        PIN_NOGP_CFG(AVB_TD2, "AVB_TD2", fn, CFG_FLAGS),                \
  51        PIN_NOGP_CFG(AVB_TD3, "AVB_TD3", fn, CFG_FLAGS),                \
  52        PIN_NOGP_CFG(AVB_TXC, "AVB_TXC", fn, CFG_FLAGS),                \
  53        PIN_NOGP_CFG(AVB_TX_CTL, "AVB_TX_CTL", fn, CFG_FLAGS),          \
  54        PIN_NOGP_CFG(FSCLKST_N, "FSCLKST_N", fn, CFG_FLAGS),            \
  55        PIN_NOGP_CFG(MLB_REF, "MLB_REF", fn, CFG_FLAGS),                \
  56        PIN_NOGP_CFG(PRESETOUT_N, "PRESETOUT_N", fn, CFG_FLAGS),        \
  57        PIN_NOGP_CFG(TCK, "TCK", fn, CFG_FLAGS),                        \
  58        PIN_NOGP_CFG(TDI, "TDI", fn, CFG_FLAGS),                        \
  59        PIN_NOGP_CFG(TMS, "TMS", fn, CFG_FLAGS),                        \
  60        PIN_NOGP_CFG(TRST_N, "TRST_N", fn, CFG_FLAGS)
  61
  62/*
  63 * F_() : just information
  64 * FM() : macro for FN_xxx / xxx_MARK
  65 */
  66
  67/* GPSR0 */
  68#define GPSR0_17        F_(SDA4,                IP7_27_24)
  69#define GPSR0_16        F_(SCL4,                IP7_23_20)
  70#define GPSR0_15        F_(D15,                 IP7_19_16)
  71#define GPSR0_14        F_(D14,                 IP7_15_12)
  72#define GPSR0_13        F_(D13,                 IP7_11_8)
  73#define GPSR0_12        F_(D12,                 IP7_7_4)
  74#define GPSR0_11        F_(D11,                 IP7_3_0)
  75#define GPSR0_10        F_(D10,                 IP6_31_28)
  76#define GPSR0_9         F_(D9,                  IP6_27_24)
  77#define GPSR0_8         F_(D8,                  IP6_23_20)
  78#define GPSR0_7         F_(D7,                  IP6_19_16)
  79#define GPSR0_6         F_(D6,                  IP6_15_12)
  80#define GPSR0_5         F_(D5,                  IP6_11_8)
  81#define GPSR0_4         F_(D4,                  IP6_7_4)
  82#define GPSR0_3         F_(D3,                  IP6_3_0)
  83#define GPSR0_2         F_(D2,                  IP5_31_28)
  84#define GPSR0_1         F_(D1,                  IP5_27_24)
  85#define GPSR0_0         F_(D0,                  IP5_23_20)
  86
  87/* GPSR1 */
  88#define GPSR1_22        F_(WE0_N,               IP5_19_16)
  89#define GPSR1_21        F_(CS0_N,               IP5_15_12)
  90#define GPSR1_20        FM(CLKOUT)
  91#define GPSR1_19        F_(A19,                 IP5_11_8)
  92#define GPSR1_18        F_(A18,                 IP5_7_4)
  93#define GPSR1_17        F_(A17,                 IP5_3_0)
  94#define GPSR1_16        F_(A16,                 IP4_31_28)
  95#define GPSR1_15        F_(A15,                 IP4_27_24)
  96#define GPSR1_14        F_(A14,                 IP4_23_20)
  97#define GPSR1_13        F_(A13,                 IP4_19_16)
  98#define GPSR1_12        F_(A12,                 IP4_15_12)
  99#define GPSR1_11        F_(A11,                 IP4_11_8)
 100#define GPSR1_10        F_(A10,                 IP4_7_4)
 101#define GPSR1_9         F_(A9,                  IP4_3_0)
 102#define GPSR1_8         F_(A8,                  IP3_31_28)
 103#define GPSR1_7         F_(A7,                  IP3_27_24)
 104#define GPSR1_6         F_(A6,                  IP3_23_20)
 105#define GPSR1_5         F_(A5,                  IP3_19_16)
 106#define GPSR1_4         F_(A4,                  IP3_15_12)
 107#define GPSR1_3         F_(A3,                  IP3_11_8)
 108#define GPSR1_2         F_(A2,                  IP3_7_4)
 109#define GPSR1_1         F_(A1,                  IP3_3_0)
 110#define GPSR1_0         F_(A0,                  IP2_31_28)
 111
 112/* GPSR2 */
 113#define GPSR2_25        F_(EX_WAIT0,            IP2_27_24)
 114#define GPSR2_24        F_(RD_WR_N,             IP2_23_20)
 115#define GPSR2_23        F_(RD_N,                IP2_19_16)
 116#define GPSR2_22        F_(BS_N,                IP2_15_12)
 117#define GPSR2_21        FM(AVB_PHY_INT)
 118#define GPSR2_20        F_(AVB_TXCREFCLK,       IP2_3_0)
 119#define GPSR2_19        FM(AVB_RD3)
 120#define GPSR2_18        F_(AVB_RD2,             IP1_31_28)
 121#define GPSR2_17        F_(AVB_RD1,             IP1_27_24)
 122#define GPSR2_16        F_(AVB_RD0,             IP1_23_20)
 123#define GPSR2_15        FM(AVB_RXC)
 124#define GPSR2_14        FM(AVB_RX_CTL)
 125#define GPSR2_13        F_(RPC_RESET_N,         IP1_19_16)
 126#define GPSR2_12        F_(RPC_INT_N,           IP1_15_12)
 127#define GPSR2_11        F_(QSPI1_SSL,           IP1_11_8)
 128#define GPSR2_10        F_(QSPI1_IO3,           IP1_7_4)
 129#define GPSR2_9         F_(QSPI1_IO2,           IP1_3_0)
 130#define GPSR2_8         F_(QSPI1_MISO_IO1,      IP0_31_28)
 131#define GPSR2_7         F_(QSPI1_MOSI_IO0,      IP0_27_24)
 132#define GPSR2_6         F_(QSPI1_SPCLK,         IP0_23_20)
 133#define GPSR2_5         FM(QSPI0_SSL)
 134#define GPSR2_4         F_(QSPI0_IO3,           IP0_19_16)
 135#define GPSR2_3         F_(QSPI0_IO2,           IP0_15_12)
 136#define GPSR2_2         F_(QSPI0_MISO_IO1,      IP0_11_8)
 137#define GPSR2_1         F_(QSPI0_MOSI_IO0,      IP0_7_4)
 138#define GPSR2_0         F_(QSPI0_SPCLK,         IP0_3_0)
 139
 140/* GPSR3 */
 141#define GPSR3_15        F_(SD1_WP,              IP11_7_4)
 142#define GPSR3_14        F_(SD1_CD,              IP11_3_0)
 143#define GPSR3_13        F_(SD0_WP,              IP10_31_28)
 144#define GPSR3_12        F_(SD0_CD,              IP10_27_24)
 145#define GPSR3_11        F_(SD1_DAT3,            IP9_11_8)
 146#define GPSR3_10        F_(SD1_DAT2,            IP9_7_4)
 147#define GPSR3_9         F_(SD1_DAT1,            IP9_3_0)
 148#define GPSR3_8         F_(SD1_DAT0,            IP8_31_28)
 149#define GPSR3_7         F_(SD1_CMD,             IP8_27_24)
 150#define GPSR3_6         F_(SD1_CLK,             IP8_23_20)
 151#define GPSR3_5         F_(SD0_DAT3,            IP8_19_16)
 152#define GPSR3_4         F_(SD0_DAT2,            IP8_15_12)
 153#define GPSR3_3         F_(SD0_DAT1,            IP8_11_8)
 154#define GPSR3_2         F_(SD0_DAT0,            IP8_7_4)
 155#define GPSR3_1         F_(SD0_CMD,             IP8_3_0)
 156#define GPSR3_0         F_(SD0_CLK,             IP7_31_28)
 157
 158/* GPSR4 */
 159#define GPSR4_10        F_(SD3_DS,              IP10_23_20)
 160#define GPSR4_9         F_(SD3_DAT7,            IP10_19_16)
 161#define GPSR4_8         F_(SD3_DAT6,            IP10_15_12)
 162#define GPSR4_7         F_(SD3_DAT5,            IP10_11_8)
 163#define GPSR4_6         F_(SD3_DAT4,            IP10_7_4)
 164#define GPSR4_5         F_(SD3_DAT3,            IP10_3_0)
 165#define GPSR4_4         F_(SD3_DAT2,            IP9_31_28)
 166#define GPSR4_3         F_(SD3_DAT1,            IP9_27_24)
 167#define GPSR4_2         F_(SD3_DAT0,            IP9_23_20)
 168#define GPSR4_1         F_(SD3_CMD,             IP9_19_16)
 169#define GPSR4_0         F_(SD3_CLK,             IP9_15_12)
 170
 171/* GPSR5 */
 172#define GPSR5_19        F_(MLB_DAT,             IP13_23_20)
 173#define GPSR5_18        F_(MLB_SIG,             IP13_19_16)
 174#define GPSR5_17        F_(MLB_CLK,             IP13_15_12)
 175#define GPSR5_16        F_(SSI_SDATA9,          IP13_11_8)
 176#define GPSR5_15        F_(MSIOF0_SS2,          IP13_7_4)
 177#define GPSR5_14        F_(MSIOF0_SS1,          IP13_3_0)
 178#define GPSR5_13        F_(MSIOF0_SYNC,         IP12_31_28)
 179#define GPSR5_12        F_(MSIOF0_TXD,          IP12_27_24)
 180#define GPSR5_11        F_(MSIOF0_RXD,          IP12_23_20)
 181#define GPSR5_10        F_(MSIOF0_SCK,          IP12_19_16)
 182#define GPSR5_9         F_(RX2_A,               IP12_15_12)
 183#define GPSR5_8         F_(TX2_A,               IP12_11_8)
 184#define GPSR5_7         F_(SCK2_A,              IP12_7_4)
 185#define GPSR5_6         F_(TX1,                 IP12_3_0)
 186#define GPSR5_5         F_(RX1,                 IP11_31_28)
 187#define GPSR5_4         F_(RTS0_N_A,            IP11_23_20)
 188#define GPSR5_3         F_(CTS0_N_A,            IP11_19_16)
 189#define GPSR5_2         F_(TX0_A,               IP11_15_12)
 190#define GPSR5_1         F_(RX0_A,               IP11_11_8)
 191#define GPSR5_0         F_(SCK0_A,              IP11_27_24)
 192
 193/* GPSR6 */
 194#define GPSR6_17        F_(USB30_PWEN,          IP15_27_24)
 195#define GPSR6_16        F_(SSI_SDATA6,          IP15_19_16)
 196#define GPSR6_15        F_(SSI_WS6,             IP15_15_12)
 197#define GPSR6_14        F_(SSI_SCK6,            IP15_11_8)
 198#define GPSR6_13        F_(SSI_SDATA5,          IP15_7_4)
 199#define GPSR6_12        F_(SSI_WS5,             IP15_3_0)
 200#define GPSR6_11        F_(SSI_SCK5,            IP14_31_28)
 201#define GPSR6_10        F_(SSI_SDATA4,          IP14_27_24)
 202#define GPSR6_9         F_(USB30_OVC,           IP15_31_28)
 203#define GPSR6_8         F_(AUDIO_CLKA,          IP15_23_20)
 204#define GPSR6_7         F_(SSI_SDATA3,          IP14_23_20)
 205#define GPSR6_6         F_(SSI_WS349,           IP14_19_16)
 206#define GPSR6_5         F_(SSI_SCK349,          IP14_15_12)
 207#define GPSR6_4         F_(SSI_SDATA2,          IP14_11_8)
 208#define GPSR6_3         F_(SSI_SDATA1,          IP14_7_4)
 209#define GPSR6_2         F_(SSI_SDATA0,          IP14_3_0)
 210#define GPSR6_1         F_(SSI_WS01239,         IP13_31_28)
 211#define GPSR6_0         F_(SSI_SCK01239,        IP13_27_24)
 212
 213/* IPSRx */             /* 0 */                 /* 1 */                 /* 2 */                 /* 3 */                 /* 4 */                 /* 5 */         /* 6 */         /* 7 */         /* 8 */         /* 9 - F */
 214#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)
 215#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)
 216#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)
 217#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)
 218#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)
 219#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)
 220#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)
 221#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)
 222#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)
 223#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)
 224#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)
 225#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)
 226#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)
 227#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)
 228#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)
 229#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)
 230#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)
 231#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)
 232#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)
 233#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)
 234#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)
 235#define IP2_23_20       FM(RD_WR_N)             FM(SCL7_A)              FM(AVB_AVTP_MATCH)      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)
 236#define IP2_27_24       FM(EX_WAIT0)            FM(SDA7_A)              FM(AVB_AVTP_CAPTURE)    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)
 237#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)
 238#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)
 239#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)
 240#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)
 241#define IP3_15_12       FM(A4)                  FM(RTS4_N_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)
 242#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)
 243#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)
 244#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)
 245#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)
 246
 247/* IPSRx */             /* 0 */                 /* 1 */                 /* 2 */                 /* 3 */                 /* 4 */                 /* 5 */         /* 6 */         /* 7 */         /* 8 */         /* 9 - F */
 248#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)
 249#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)
 250#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)
 251#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)
 252#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)
 253#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)
 254#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)
 255#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)
 256#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)
 257#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)
 258#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)
 259#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)
 260#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)
 261#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)
 262#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_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)
 263#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)
 264#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)
 265#define IP6_7_4         FM(D4)                  FM(CANFD1_TX)           FM(HSCK3_B)             FM(CAN1_TX)             FM(RTS3_N_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)
 266#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)
 267#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)
 268#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)
 269#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)
 270#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)
 271#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)
 272#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)
 273#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)
 274#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)
 275#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)
 276#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)
 277#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)
 278#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)
 279#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)
 280
 281/* IPSRx */             /* 0 */                 /* 1 */                 /* 2 */                 /* 3 */                 /* 4 */                 /* 5 */         /* 6 */         /* 7 */         /* 8 */         /* 9 - F */
 282#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)
 283#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)
 284#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)
 285#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)
 286#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)
 287#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)
 288#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)
 289#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)
 290#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)
 291#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)
 292#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)
 293#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)
 294#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)
 295#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)
 296#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)
 297#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)
 298#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)
 299#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)
 300#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)
 301#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)
 302#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)
 303#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)
 304#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)
 305#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)
 306#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)
 307#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)
 308#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)
 309#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)
 310#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)
 311#define IP11_23_20      FM(RTS0_N_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)
 312#define IP11_27_24      FM(SCK0_A)              FM(HSCK1_A)             FM(USB3HS0_ID)          FM(RTS1_N)              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)
 313#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)
 314
 315/* IPSRx */             /* 0 */                 /* 1 */                 /* 2 */                 /* 3 */                 /* 4 */                 /* 5 */         /* 6 */         /* 7 */         /* 8 */         /* 9 - F */
 316#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)
 317#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)
 318#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)
 319#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)
 320#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)
 321#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)
 322#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)
 323#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)
 324#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)
 325#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)
 326#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)
 327#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)
 328#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)
 329#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)
 330#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)
 331#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)
 332#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)
 333#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)
 334#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)
 335#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)
 336#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)
 337#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)
 338#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)
 339#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)
 340#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)
 341#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)
 342#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)
 343#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)
 344#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)
 345#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)
 346#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)
 347#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)
 348
 349#define PINMUX_GPSR     \
 350\
 351                                                                                                         \
 352                                                                                                         \
 353                                                                                                         \
 354                                                                                                         \
 355                                                                                                         \
 356                                                                                                         \
 357                                GPSR2_25                                                                 \
 358                                GPSR2_24                                                                 \
 359                                GPSR2_23                                                                 \
 360                GPSR1_22        GPSR2_22                                                                 \
 361                GPSR1_21        GPSR2_21                                                                 \
 362                GPSR1_20        GPSR2_20                                                                 \
 363                GPSR1_19        GPSR2_19                                        GPSR5_19                 \
 364                GPSR1_18        GPSR2_18                                        GPSR5_18                 \
 365GPSR0_17        GPSR1_17        GPSR2_17                                        GPSR5_17        GPSR6_17 \
 366GPSR0_16        GPSR1_16        GPSR2_16                                        GPSR5_16        GPSR6_16 \
 367GPSR0_15        GPSR1_15        GPSR2_15        GPSR3_15                        GPSR5_15        GPSR6_15 \
 368GPSR0_14        GPSR1_14        GPSR2_14        GPSR3_14                        GPSR5_14        GPSR6_14 \
 369GPSR0_13        GPSR1_13        GPSR2_13        GPSR3_13                        GPSR5_13        GPSR6_13 \
 370GPSR0_12        GPSR1_12        GPSR2_12        GPSR3_12                        GPSR5_12        GPSR6_12 \
 371GPSR0_11        GPSR1_11        GPSR2_11        GPSR3_11                        GPSR5_11        GPSR6_11 \
 372GPSR0_10        GPSR1_10        GPSR2_10        GPSR3_10        GPSR4_10        GPSR5_10        GPSR6_10 \
 373GPSR0_9         GPSR1_9         GPSR2_9         GPSR3_9         GPSR4_9         GPSR5_9         GPSR6_9 \
 374GPSR0_8         GPSR1_8         GPSR2_8         GPSR3_8         GPSR4_8         GPSR5_8         GPSR6_8 \
 375GPSR0_7         GPSR1_7         GPSR2_7         GPSR3_7         GPSR4_7         GPSR5_7         GPSR6_7 \
 376GPSR0_6         GPSR1_6         GPSR2_6         GPSR3_6         GPSR4_6         GPSR5_6         GPSR6_6 \
 377GPSR0_5         GPSR1_5         GPSR2_5         GPSR3_5         GPSR4_5         GPSR5_5         GPSR6_5 \
 378GPSR0_4         GPSR1_4         GPSR2_4         GPSR3_4         GPSR4_4         GPSR5_4         GPSR6_4 \
 379GPSR0_3         GPSR1_3         GPSR2_3         GPSR3_3         GPSR4_3         GPSR5_3         GPSR6_3 \
 380GPSR0_2         GPSR1_2         GPSR2_2         GPSR3_2         GPSR4_2         GPSR5_2         GPSR6_2 \
 381GPSR0_1         GPSR1_1         GPSR2_1         GPSR3_1         GPSR4_1         GPSR5_1         GPSR6_1 \
 382GPSR0_0         GPSR1_0         GPSR2_0         GPSR3_0         GPSR4_0         GPSR5_0         GPSR6_0
 383
 384#define PINMUX_IPSR                             \
 385\
 386FM(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 \
 387FM(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 \
 388FM(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 \
 389FM(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 \
 390FM(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 \
 391FM(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 \
 392FM(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 \
 393FM(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 \
 394\
 395FM(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 \
 396FM(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 \
 397FM(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 \
 398FM(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 \
 399FM(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 \
 400FM(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 \
 401FM(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 \
 402FM(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 \
 403\
 404FM(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 \
 405FM(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 \
 406FM(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 \
 407FM(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 \
 408FM(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 \
 409FM(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 \
 410FM(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 \
 411FM(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 \
 412\
 413FM(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 \
 414FM(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 \
 415FM(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 \
 416FM(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 \
 417FM(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 \
 418FM(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 \
 419FM(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 \
 420FM(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
 421
 422/* The bit numbering in MOD_SEL fields is reversed */
 423#define REV4(f0, f1, f2, f3)                    f0 f2 f1 f3
 424#define REV8(f0, f1, f2, f3, f4, f5, f6, f7)    f0 f4 f2 f6 f1 f5 f3 f7
 425
 426/* MOD_SEL0 */                  /* 0 */                         /* 1 */                         /* 2 */                         /* 3 */                 /* 4 */                 /* 5 */         /* 6 */         /* 7 */
 427#define MOD_SEL0_30_29     REV4(FM(SEL_ADGB_0),                 FM(SEL_ADGB_1),                 FM(SEL_ADGB_2),                 F_(0, 0))
 428#define MOD_SEL0_28             FM(SEL_DRIF0_0)                 FM(SEL_DRIF0_1)
 429#define MOD_SEL0_27_26     REV4(FM(SEL_FM_0),                   FM(SEL_FM_1),                   FM(SEL_FM_2),                   F_(0, 0))
 430#define MOD_SEL0_25             FM(SEL_FSO_0)                   FM(SEL_FSO_1)
 431#define MOD_SEL0_24             FM(SEL_HSCIF0_0)                FM(SEL_HSCIF0_1)
 432#define MOD_SEL0_23             FM(SEL_HSCIF1_0)                FM(SEL_HSCIF1_1)
 433#define MOD_SEL0_22             FM(SEL_HSCIF2_0)                FM(SEL_HSCIF2_1)
 434#define MOD_SEL0_21_20     REV4(FM(SEL_I2C1_0),                 FM(SEL_I2C1_1),                 FM(SEL_I2C1_2),                 FM(SEL_I2C1_3))
 435#define MOD_SEL0_19_18_17  REV8(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))
 436#define MOD_SEL0_16             FM(SEL_NDF_0)                   FM(SEL_NDF_1)
 437#define MOD_SEL0_15             FM(SEL_PWM0_0)                  FM(SEL_PWM0_1)
 438#define MOD_SEL0_14             FM(SEL_PWM1_0)                  FM(SEL_PWM1_1)
 439#define MOD_SEL0_13_12     REV4(FM(SEL_PWM2_0),                 FM(SEL_PWM2_1),                 FM(SEL_PWM2_2),                 F_(0, 0))
 440#define MOD_SEL0_11_10     REV4(FM(SEL_PWM3_0),                 FM(SEL_PWM3_1),                 FM(SEL_PWM3_2),                 F_(0, 0))
 441#define MOD_SEL0_9              FM(SEL_PWM4_0)                  FM(SEL_PWM4_1)
 442#define MOD_SEL0_8              FM(SEL_PWM5_0)                  FM(SEL_PWM5_1)
 443#define MOD_SEL0_7              FM(SEL_PWM6_0)                  FM(SEL_PWM6_1)
 444#define MOD_SEL0_6_5       REV4(FM(SEL_REMOCON_0),              FM(SEL_REMOCON_1),              FM(SEL_REMOCON_2),              F_(0, 0))
 445#define MOD_SEL0_4              FM(SEL_SCIF_0)                  FM(SEL_SCIF_1)
 446#define MOD_SEL0_3              FM(SEL_SCIF0_0)                 FM(SEL_SCIF0_1)
 447#define MOD_SEL0_2              FM(SEL_SCIF2_0)                 FM(SEL_SCIF2_1)
 448#define MOD_SEL0_1_0       REV4(FM(SEL_SPEED_PULSE_IF_0),       FM(SEL_SPEED_PULSE_IF_1),       FM(SEL_SPEED_PULSE_IF_2),       F_(0, 0))
 449
 450/* MOD_SEL1 */                  /* 0 */                         /* 1 */                         /* 2 */                         /* 3 */                 /* 4 */                 /* 5 */         /* 6 */         /* 7 */
 451#define MOD_SEL1_31             FM(SEL_SIMCARD_0)               FM(SEL_SIMCARD_1)
 452#define MOD_SEL1_30             FM(SEL_SSI2_0)                  FM(SEL_SSI2_1)
 453#define MOD_SEL1_29             FM(SEL_TIMER_TMU_0)             FM(SEL_TIMER_TMU_1)
 454#define MOD_SEL1_28             FM(SEL_USB_20_CH0_0)            FM(SEL_USB_20_CH0_1)
 455#define MOD_SEL1_26             FM(SEL_DRIF2_0)                 FM(SEL_DRIF2_1)
 456#define MOD_SEL1_25             FM(SEL_DRIF3_0)                 FM(SEL_DRIF3_1)
 457#define MOD_SEL1_24_23_22  REV8(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))
 458#define MOD_SEL1_21_20_19  REV8(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))
 459#define MOD_SEL1_18             FM(SEL_I2C6_0)                  FM(SEL_I2C6_1)
 460#define MOD_SEL1_17             FM(SEL_I2C7_0)                  FM(SEL_I2C7_1)
 461#define MOD_SEL1_16             FM(SEL_MSIOF2_0)                FM(SEL_MSIOF2_1)
 462#define MOD_SEL1_15             FM(SEL_MSIOF3_0)                FM(SEL_MSIOF3_1)
 463#define MOD_SEL1_14_13     REV4(FM(SEL_SCIF3_0),                FM(SEL_SCIF3_1),                FM(SEL_SCIF3_2),                F_(0, 0))
 464#define MOD_SEL1_12_11     REV4(FM(SEL_SCIF4_0),                FM(SEL_SCIF4_1),                FM(SEL_SCIF4_2),                F_(0, 0))
 465#define MOD_SEL1_10_9      REV4(FM(SEL_SCIF5_0),                FM(SEL_SCIF5_1),                FM(SEL_SCIF5_2),                F_(0, 0))
 466#define MOD_SEL1_8              FM(SEL_VIN4_0)                  FM(SEL_VIN4_1)
 467#define MOD_SEL1_7              FM(SEL_VIN5_0)                  FM(SEL_VIN5_1)
 468#define MOD_SEL1_6_5       REV4(FM(SEL_ADGC_0),                 FM(SEL_ADGC_1),                 FM(SEL_ADGC_2),                 F_(0, 0))
 469#define MOD_SEL1_4              FM(SEL_SSI9_0)                  FM(SEL_SSI9_1)
 470
 471#define PINMUX_MOD_SELS \
 472\
 473                        MOD_SEL1_31 \
 474MOD_SEL0_30_29          MOD_SEL1_30 \
 475                        MOD_SEL1_29 \
 476MOD_SEL0_28             MOD_SEL1_28 \
 477MOD_SEL0_27_26 \
 478                        MOD_SEL1_26 \
 479MOD_SEL0_25             MOD_SEL1_25 \
 480MOD_SEL0_24             MOD_SEL1_24_23_22 \
 481MOD_SEL0_23 \
 482MOD_SEL0_22 \
 483MOD_SEL0_21_20          MOD_SEL1_21_20_19 \
 484MOD_SEL0_19_18_17       MOD_SEL1_18 \
 485                        MOD_SEL1_17 \
 486MOD_SEL0_16             MOD_SEL1_16 \
 487MOD_SEL0_15             MOD_SEL1_15 \
 488MOD_SEL0_14             MOD_SEL1_14_13 \
 489MOD_SEL0_13_12 \
 490                        MOD_SEL1_12_11 \
 491MOD_SEL0_11_10 \
 492                        MOD_SEL1_10_9 \
 493MOD_SEL0_9 \
 494MOD_SEL0_8              MOD_SEL1_8 \
 495MOD_SEL0_7              MOD_SEL1_7 \
 496MOD_SEL0_6_5            MOD_SEL1_6_5 \
 497MOD_SEL0_4              MOD_SEL1_4 \
 498MOD_SEL0_3 \
 499MOD_SEL0_2 \
 500MOD_SEL0_1_0
 501
 502/*
 503 * These pins are not able to be muxed but have other properties
 504 * that can be set, such as pull-up/pull-down enable.
 505 */
 506#define PINMUX_STATIC \
 507        FM(AVB_TX_CTL) FM(AVB_TXC) FM(AVB_TD0) FM(AVB_TD1) FM(AVB_TD2) \
 508        FM(AVB_TD3) \
 509        FM(PRESETOUT_N) FM(FSCLKST_N) FM(TRST_N) FM(TCK) FM(TMS) FM(TDI) \
 510        FM(ASEBRK) \
 511        FM(MLB_REF)
 512
 513enum {
 514        PINMUX_RESERVED = 0,
 515
 516        PINMUX_DATA_BEGIN,
 517        GP_ALL(DATA),
 518        PINMUX_DATA_END,
 519
 520#define F_(x, y)
 521#define FM(x)   FN_##x,
 522        PINMUX_FUNCTION_BEGIN,
 523        GP_ALL(FN),
 524        PINMUX_GPSR
 525        PINMUX_IPSR
 526        PINMUX_MOD_SELS
 527        PINMUX_FUNCTION_END,
 528#undef F_
 529#undef FM
 530
 531#define F_(x, y)
 532#define FM(x)   x##_MARK,
 533        PINMUX_MARK_BEGIN,
 534        PINMUX_GPSR
 535        PINMUX_IPSR
 536        PINMUX_MOD_SELS
 537        PINMUX_STATIC
 538        PINMUX_MARK_END,
 539#undef F_
 540#undef FM
 541};
 542
 543static const u16 pinmux_data[] = {
 544        PINMUX_DATA_GP_ALL(),
 545
 546        PINMUX_SINGLE(CLKOUT),
 547        PINMUX_SINGLE(AVB_PHY_INT),
 548        PINMUX_SINGLE(AVB_RD3),
 549        PINMUX_SINGLE(AVB_RXC),
 550        PINMUX_SINGLE(AVB_RX_CTL),
 551        PINMUX_SINGLE(QSPI0_SSL),
 552
 553        /* IPSR0 */
 554        PINMUX_IPSR_GPSR(IP0_3_0,               QSPI0_SPCLK),
 555        PINMUX_IPSR_MSEL(IP0_3_0,               HSCK4_A,        SEL_HSCIF4_0),
 556
 557        PINMUX_IPSR_GPSR(IP0_7_4,               QSPI0_MOSI_IO0),
 558        PINMUX_IPSR_MSEL(IP0_7_4,               HCTS4_N_A,      SEL_HSCIF4_0),
 559
 560        PINMUX_IPSR_GPSR(IP0_11_8,              QSPI0_MISO_IO1),
 561        PINMUX_IPSR_MSEL(IP0_11_8,              HRTS4_N_A,      SEL_HSCIF4_0),
 562
 563        PINMUX_IPSR_GPSR(IP0_15_12,             QSPI0_IO2),
 564        PINMUX_IPSR_GPSR(IP0_15_12,             HTX4_A),
 565
 566        PINMUX_IPSR_GPSR(IP0_19_16,             QSPI0_IO3),
 567        PINMUX_IPSR_MSEL(IP0_19_16,             HRX4_A,         SEL_HSCIF4_0),
 568
 569        PINMUX_IPSR_GPSR(IP0_23_20,             QSPI1_SPCLK),
 570        PINMUX_IPSR_MSEL(IP0_23_20,             RIF2_CLK_A,     SEL_DRIF2_0),
 571        PINMUX_IPSR_MSEL(IP0_23_20,             HSCK4_B,        SEL_HSCIF4_1),
 572        PINMUX_IPSR_MSEL(IP0_23_20,             VI4_DATA0_A,    SEL_VIN4_0),
 573
 574        PINMUX_IPSR_GPSR(IP0_27_24,             QSPI1_MOSI_IO0),
 575        PINMUX_IPSR_MSEL(IP0_27_24,             RIF2_SYNC_A,    SEL_DRIF2_0),
 576        PINMUX_IPSR_GPSR(IP0_27_24,             HTX4_B),
 577        PINMUX_IPSR_MSEL(IP0_27_24,             VI4_DATA1_A,    SEL_VIN4_0),
 578
 579        PINMUX_IPSR_GPSR(IP0_31_28,             QSPI1_MISO_IO1),
 580        PINMUX_IPSR_MSEL(IP0_31_28,             RIF2_D0_A,      SEL_DRIF2_0),
 581        PINMUX_IPSR_MSEL(IP0_31_28,             HRX4_B,         SEL_HSCIF4_1),
 582        PINMUX_IPSR_MSEL(IP0_31_28,             VI4_DATA2_A,    SEL_VIN4_0),
 583
 584        /* IPSR1 */
 585        PINMUX_IPSR_GPSR(IP1_3_0,               QSPI1_IO2),
 586        PINMUX_IPSR_MSEL(IP1_3_0,               RIF2_D1_A,      SEL_DRIF2_0),
 587        PINMUX_IPSR_GPSR(IP1_3_0,               HTX3_C),
 588        PINMUX_IPSR_MSEL(IP1_3_0,               VI4_DATA3_A,    SEL_VIN4_0),
 589
 590        PINMUX_IPSR_GPSR(IP1_7_4,               QSPI1_IO3),
 591        PINMUX_IPSR_MSEL(IP1_7_4,               RIF3_CLK_A,     SEL_DRIF3_0),
 592        PINMUX_IPSR_MSEL(IP1_7_4,               HRX3_C,         SEL_HSCIF3_2),
 593        PINMUX_IPSR_MSEL(IP1_7_4,               VI4_DATA4_A,    SEL_VIN4_0),
 594
 595        PINMUX_IPSR_GPSR(IP1_11_8,              QSPI1_SSL),
 596        PINMUX_IPSR_MSEL(IP1_11_8,              RIF3_SYNC_A,    SEL_DRIF3_0),
 597        PINMUX_IPSR_MSEL(IP1_11_8,              HSCK3_C,        SEL_HSCIF3_2),
 598        PINMUX_IPSR_MSEL(IP1_11_8,              VI4_DATA5_A,    SEL_VIN4_0),
 599
 600        PINMUX_IPSR_GPSR(IP1_15_12,             RPC_INT_N),
 601        PINMUX_IPSR_MSEL(IP1_15_12,             RIF3_D0_A,      SEL_DRIF3_0),
 602        PINMUX_IPSR_MSEL(IP1_15_12,             HCTS3_N_C,      SEL_HSCIF3_2),
 603        PINMUX_IPSR_MSEL(IP1_15_12,             VI4_DATA6_A,    SEL_VIN4_0),
 604
 605        PINMUX_IPSR_GPSR(IP1_19_16,             RPC_RESET_N),
 606        PINMUX_IPSR_MSEL(IP1_19_16,             RIF3_D1_A,      SEL_DRIF3_0),
 607        PINMUX_IPSR_MSEL(IP1_19_16,             HRTS3_N_C,      SEL_HSCIF3_2),
 608        PINMUX_IPSR_MSEL(IP1_19_16,             VI4_DATA7_A,    SEL_VIN4_0),
 609
 610        PINMUX_IPSR_GPSR(IP1_23_20,             AVB_RD0),
 611
 612        PINMUX_IPSR_GPSR(IP1_27_24,             AVB_RD1),
 613
 614        PINMUX_IPSR_GPSR(IP1_31_28,             AVB_RD2),
 615
 616        /* IPSR2 */
 617        PINMUX_IPSR_GPSR(IP2_3_0,               AVB_TXCREFCLK),
 618
 619        PINMUX_IPSR_GPSR(IP2_7_4,               AVB_MDIO),
 620
 621        PINMUX_IPSR_GPSR(IP2_11_8,              AVB_MDC),
 622
 623        PINMUX_IPSR_GPSR(IP2_15_12,             BS_N),
 624        PINMUX_IPSR_MSEL(IP2_15_12,             PWM0_A,         SEL_PWM0_0),
 625        PINMUX_IPSR_GPSR(IP2_15_12,             AVB_MAGIC),
 626        PINMUX_IPSR_GPSR(IP2_15_12,             VI4_CLK),
 627        PINMUX_IPSR_GPSR(IP2_15_12,             TX3_C),
 628        PINMUX_IPSR_MSEL(IP2_15_12,             VI5_CLK_B,      SEL_VIN5_1),
 629
 630        PINMUX_IPSR_GPSR(IP2_19_16,             RD_N),
 631        PINMUX_IPSR_MSEL(IP2_19_16,             PWM1_A,         SEL_PWM1_0),
 632        PINMUX_IPSR_GPSR(IP2_19_16,             AVB_LINK),
 633        PINMUX_IPSR_GPSR(IP2_19_16,             VI4_FIELD),
 634        PINMUX_IPSR_MSEL(IP2_19_16,             RX3_C,          SEL_SCIF3_2),
 635        PINMUX_IPSR_GPSR(IP2_19_16,             FSCLKST2_N_A),
 636        PINMUX_IPSR_MSEL(IP2_19_16,             VI5_DATA0_B,    SEL_VIN5_1),
 637
 638        PINMUX_IPSR_GPSR(IP2_23_20,             RD_WR_N),
 639        PINMUX_IPSR_MSEL(IP2_23_20,             SCL7_A,         SEL_I2C7_0),
 640        PINMUX_IPSR_GPSR(IP2_23_20,             AVB_AVTP_MATCH),
 641        PINMUX_IPSR_GPSR(IP2_23_20,             VI4_VSYNC_N),
 642        PINMUX_IPSR_GPSR(IP2_23_20,             TX5_B),
 643        PINMUX_IPSR_MSEL(IP2_23_20,             SCK3_C,         SEL_SCIF3_2),
 644        PINMUX_IPSR_MSEL(IP2_23_20,             PWM5_A,         SEL_PWM5_0),
 645
 646        PINMUX_IPSR_GPSR(IP2_27_24,             EX_WAIT0),
 647        PINMUX_IPSR_MSEL(IP2_27_24,             SDA7_A,         SEL_I2C7_0),
 648        PINMUX_IPSR_GPSR(IP2_27_24,             AVB_AVTP_CAPTURE),
 649        PINMUX_IPSR_GPSR(IP2_27_24,             VI4_HSYNC_N),
 650        PINMUX_IPSR_MSEL(IP2_27_24,             RX5_B,          SEL_SCIF5_1),
 651        PINMUX_IPSR_MSEL(IP2_27_24,             PWM6_A,         SEL_PWM6_0),
 652
 653        PINMUX_IPSR_GPSR(IP2_31_28,             A0),
 654        PINMUX_IPSR_GPSR(IP2_31_28,             IRQ0),
 655        PINMUX_IPSR_MSEL(IP2_31_28,             PWM2_A,         SEL_PWM2_0),
 656        PINMUX_IPSR_MSEL(IP2_31_28,             MSIOF3_SS1_B,   SEL_MSIOF3_1),
 657        PINMUX_IPSR_MSEL(IP2_31_28,             VI5_CLK_A,      SEL_VIN5_0),
 658        PINMUX_IPSR_GPSR(IP2_31_28,             DU_CDE),
 659        PINMUX_IPSR_MSEL(IP2_31_28,             HRX3_D,         SEL_HSCIF3_3),
 660        PINMUX_IPSR_GPSR(IP2_31_28,             IERX),
 661        PINMUX_IPSR_GPSR(IP2_31_28,             QSTB_QHE),
 662
 663        /* IPSR3 */
 664        PINMUX_IPSR_GPSR(IP3_3_0,               A1),
 665        PINMUX_IPSR_GPSR(IP3_3_0,               IRQ1),
 666        PINMUX_IPSR_MSEL(IP3_3_0,               PWM3_A,         SEL_PWM3_0),
 667        PINMUX_IPSR_GPSR(IP3_3_0,               DU_DOTCLKIN1),
 668        PINMUX_IPSR_MSEL(IP3_3_0,               VI5_DATA0_A,    SEL_VIN5_0),
 669        PINMUX_IPSR_GPSR(IP3_3_0,               DU_DISP_CDE),
 670        PINMUX_IPSR_MSEL(IP3_3_0,               SDA6_B,         SEL_I2C6_1),
 671        PINMUX_IPSR_GPSR(IP3_3_0,               IETX),
 672        PINMUX_IPSR_GPSR(IP3_3_0,               QCPV_QDE),
 673
 674        PINMUX_IPSR_GPSR(IP3_7_4,               A2),
 675        PINMUX_IPSR_GPSR(IP3_7_4,               IRQ2),
 676        PINMUX_IPSR_GPSR(IP3_7_4,               AVB_AVTP_PPS),
 677        PINMUX_IPSR_GPSR(IP3_7_4,               VI4_CLKENB),
 678        PINMUX_IPSR_MSEL(IP3_7_4,               VI5_DATA1_A,    SEL_VIN5_0),
 679        PINMUX_IPSR_GPSR(IP3_7_4,               DU_DISP),
 680        PINMUX_IPSR_MSEL(IP3_7_4,               SCL6_B,         SEL_I2C6_1),
 681        PINMUX_IPSR_GPSR(IP3_7_4,               QSTVB_QVE),
 682
 683        PINMUX_IPSR_GPSR(IP3_11_8,              A3),
 684        PINMUX_IPSR_MSEL(IP3_11_8,              CTS4_N_A,       SEL_SCIF4_0),
 685        PINMUX_IPSR_MSEL(IP3_11_8,              PWM4_A,         SEL_PWM4_0),
 686        PINMUX_IPSR_GPSR(IP3_11_8,              VI4_DATA12),
 687        PINMUX_IPSR_GPSR(IP3_11_8,              DU_DOTCLKOUT0),
 688        PINMUX_IPSR_GPSR(IP3_11_8,              HTX3_D),
 689        PINMUX_IPSR_GPSR(IP3_11_8,              IECLK),
 690        PINMUX_IPSR_GPSR(IP3_11_8,              LCDOUT12),
 691
 692        PINMUX_IPSR_GPSR(IP3_15_12,             A4),
 693        PINMUX_IPSR_MSEL(IP3_15_12,             RTS4_N_A,       SEL_SCIF4_0),
 694        PINMUX_IPSR_MSEL(IP3_15_12,             MSIOF3_SYNC_B,  SEL_MSIOF3_1),
 695        PINMUX_IPSR_GPSR(IP3_15_12,             VI4_DATA8),
 696        PINMUX_IPSR_MSEL(IP3_15_12,             PWM2_B,         SEL_PWM2_1),
 697        PINMUX_IPSR_GPSR(IP3_15_12,             DU_DG4),
 698        PINMUX_IPSR_MSEL(IP3_15_12,             RIF2_CLK_B,     SEL_DRIF2_1),
 699
 700        PINMUX_IPSR_GPSR(IP3_19_16,             A5),
 701        PINMUX_IPSR_MSEL(IP3_19_16,             SCK4_A,         SEL_SCIF4_0),
 702        PINMUX_IPSR_MSEL(IP3_19_16,             MSIOF3_SCK_B,   SEL_MSIOF3_1),
 703        PINMUX_IPSR_GPSR(IP3_19_16,             VI4_DATA9),
 704        PINMUX_IPSR_MSEL(IP3_19_16,             PWM3_B,         SEL_PWM3_1),
 705        PINMUX_IPSR_MSEL(IP3_19_16,             RIF2_SYNC_B,    SEL_DRIF2_1),
 706        PINMUX_IPSR_GPSR(IP3_19_16,             QPOLA),
 707
 708        PINMUX_IPSR_GPSR(IP3_23_20,             A6),
 709        PINMUX_IPSR_MSEL(IP3_23_20,             RX4_A,          SEL_SCIF4_0),
 710        PINMUX_IPSR_MSEL(IP3_23_20,             MSIOF3_RXD_B,   SEL_MSIOF3_1),
 711        PINMUX_IPSR_GPSR(IP3_23_20,             VI4_DATA10),
 712        PINMUX_IPSR_MSEL(IP3_23_20,             RIF2_D0_B,      SEL_DRIF2_1),
 713
 714        PINMUX_IPSR_GPSR(IP3_27_24,             A7),
 715        PINMUX_IPSR_GPSR(IP3_27_24,             TX4_A),
 716        PINMUX_IPSR_GPSR(IP3_27_24,             MSIOF3_TXD_B),
 717        PINMUX_IPSR_GPSR(IP3_27_24,             VI4_DATA11),
 718        PINMUX_IPSR_MSEL(IP3_27_24,             RIF2_D1_B,      SEL_DRIF2_1),
 719
 720        PINMUX_IPSR_GPSR(IP3_31_28,             A8),
 721        PINMUX_IPSR_MSEL(IP3_31_28,             SDA6_A,         SEL_I2C6_0),
 722        PINMUX_IPSR_MSEL(IP3_31_28,             RX3_B,          SEL_SCIF3_1),
 723        PINMUX_IPSR_MSEL(IP3_31_28,             HRX4_C,         SEL_HSCIF4_2),
 724        PINMUX_IPSR_MSEL(IP3_31_28,             VI5_HSYNC_N_A,  SEL_VIN5_0),
 725        PINMUX_IPSR_GPSR(IP3_31_28,             DU_HSYNC),
 726        PINMUX_IPSR_MSEL(IP3_31_28,             VI4_DATA0_B,    SEL_VIN4_1),
 727        PINMUX_IPSR_GPSR(IP3_31_28,             QSTH_QHS),
 728
 729        /* IPSR4 */
 730        PINMUX_IPSR_GPSR(IP4_3_0,               A9),
 731        PINMUX_IPSR_GPSR(IP4_3_0,               TX5_A),
 732        PINMUX_IPSR_GPSR(IP4_3_0,               IRQ3),
 733        PINMUX_IPSR_GPSR(IP4_3_0,               VI4_DATA16),
 734        PINMUX_IPSR_MSEL(IP4_3_0,               VI5_VSYNC_N_A,  SEL_VIN5_0),
 735        PINMUX_IPSR_GPSR(IP4_3_0,               DU_DG7),
 736        PINMUX_IPSR_GPSR(IP4_3_0,               LCDOUT15),
 737
 738        PINMUX_IPSR_GPSR(IP4_7_4,               A10),
 739        PINMUX_IPSR_GPSR(IP4_7_4,               IRQ4),
 740        PINMUX_IPSR_MSEL(IP4_7_4,               MSIOF2_SYNC_B,  SEL_MSIOF2_1),
 741        PINMUX_IPSR_GPSR(IP4_7_4,               VI4_DATA13),
 742        PINMUX_IPSR_MSEL(IP4_7_4,               VI5_FIELD_A,    SEL_VIN5_0),
 743        PINMUX_IPSR_GPSR(IP4_7_4,               DU_DG5),
 744        PINMUX_IPSR_GPSR(IP4_7_4,               FSCLKST2_N_B),
 745        PINMUX_IPSR_GPSR(IP4_7_4,               LCDOUT13),
 746
 747        PINMUX_IPSR_GPSR(IP4_11_8,              A11),
 748        PINMUX_IPSR_MSEL(IP4_11_8,              SCL6_A,         SEL_I2C6_0),
 749        PINMUX_IPSR_GPSR(IP4_11_8,              TX3_B),
 750        PINMUX_IPSR_GPSR(IP4_11_8,              HTX4_C),
 751        PINMUX_IPSR_GPSR(IP4_11_8,              DU_VSYNC),
 752        PINMUX_IPSR_MSEL(IP4_11_8,              VI4_DATA1_B,    SEL_VIN4_1),
 753        PINMUX_IPSR_GPSR(IP4_11_8,              QSTVA_QVS),
 754
 755        PINMUX_IPSR_GPSR(IP4_15_12,             A12),
 756        PINMUX_IPSR_MSEL(IP4_15_12,             RX5_A,          SEL_SCIF5_0),
 757        PINMUX_IPSR_GPSR(IP4_15_12,             MSIOF2_SS2_B),
 758        PINMUX_IPSR_GPSR(IP4_15_12,             VI4_DATA17),
 759        PINMUX_IPSR_MSEL(IP4_15_12,             VI5_DATA3_A,    SEL_VIN5_0),
 760        PINMUX_IPSR_GPSR(IP4_15_12,             DU_DG6),
 761        PINMUX_IPSR_GPSR(IP4_15_12,             LCDOUT14),
 762
 763        PINMUX_IPSR_GPSR(IP4_19_16,             A13),
 764        PINMUX_IPSR_MSEL(IP4_19_16,             SCK5_A,         SEL_SCIF5_0),
 765        PINMUX_IPSR_MSEL(IP4_19_16,             MSIOF2_SCK_B,   SEL_MSIOF2_1),
 766        PINMUX_IPSR_GPSR(IP4_19_16,             VI4_DATA14),
 767        PINMUX_IPSR_MSEL(IP4_19_16,             HRX4_D,         SEL_HSCIF4_3),
 768        PINMUX_IPSR_GPSR(IP4_19_16,             DU_DB2),
 769        PINMUX_IPSR_GPSR(IP4_19_16,             LCDOUT2),
 770
 771        PINMUX_IPSR_GPSR(IP4_23_20,             A14),
 772        PINMUX_IPSR_GPSR(IP4_23_20,             MSIOF1_SS1),
 773        PINMUX_IPSR_MSEL(IP4_23_20,             MSIOF2_RXD_B,   SEL_MSIOF2_1),
 774        PINMUX_IPSR_GPSR(IP4_23_20,             VI4_DATA15),
 775        PINMUX_IPSR_GPSR(IP4_23_20,             HTX4_D),
 776        PINMUX_IPSR_GPSR(IP4_23_20,             DU_DB3),
 777        PINMUX_IPSR_GPSR(IP4_23_20,             LCDOUT3),
 778
 779        PINMUX_IPSR_GPSR(IP4_27_24,             A15),
 780        PINMUX_IPSR_GPSR(IP4_27_24,             MSIOF1_SS2),
 781        PINMUX_IPSR_GPSR(IP4_27_24,             MSIOF2_TXD_B),
 782        PINMUX_IPSR_GPSR(IP4_27_24,             VI4_DATA18),
 783        PINMUX_IPSR_MSEL(IP4_27_24,             VI5_DATA4_A,    SEL_VIN5_0),
 784        PINMUX_IPSR_GPSR(IP4_27_24,             DU_DB4),
 785        PINMUX_IPSR_GPSR(IP4_27_24,             LCDOUT4),
 786
 787        PINMUX_IPSR_GPSR(IP4_31_28,             A16),
 788        PINMUX_IPSR_GPSR(IP4_31_28,             MSIOF1_SYNC),
 789        PINMUX_IPSR_GPSR(IP4_31_28,             MSIOF2_SS1_B),
 790        PINMUX_IPSR_GPSR(IP4_31_28,             VI4_DATA19),
 791        PINMUX_IPSR_MSEL(IP4_31_28,             VI5_DATA5_A,    SEL_VIN5_0),
 792        PINMUX_IPSR_GPSR(IP4_31_28,             DU_DB5),
 793        PINMUX_IPSR_GPSR(IP4_31_28,             LCDOUT5),
 794
 795        /* IPSR5 */
 796        PINMUX_IPSR_GPSR(IP5_3_0,               A17),
 797        PINMUX_IPSR_GPSR(IP5_3_0,               MSIOF1_RXD),
 798        PINMUX_IPSR_GPSR(IP5_3_0,               VI4_DATA20),
 799        PINMUX_IPSR_MSEL(IP5_3_0,               VI5_DATA6_A,    SEL_VIN5_0),
 800        PINMUX_IPSR_GPSR(IP5_3_0,               DU_DB6),
 801        PINMUX_IPSR_GPSR(IP5_3_0,               LCDOUT6),
 802
 803        PINMUX_IPSR_GPSR(IP5_7_4,               A18),
 804        PINMUX_IPSR_GPSR(IP5_7_4,               MSIOF1_TXD),
 805        PINMUX_IPSR_GPSR(IP5_7_4,               VI4_DATA21),
 806        PINMUX_IPSR_MSEL(IP5_7_4,               VI5_DATA7_A,    SEL_VIN5_0),
 807        PINMUX_IPSR_GPSR(IP5_7_4,               DU_DB0),
 808        PINMUX_IPSR_MSEL(IP5_7_4,               HRX4_E,         SEL_HSCIF4_4),
 809        PINMUX_IPSR_GPSR(IP5_7_4,               LCDOUT0),
 810
 811        PINMUX_IPSR_GPSR(IP5_11_8,              A19),
 812        PINMUX_IPSR_GPSR(IP5_11_8,              MSIOF1_SCK),
 813        PINMUX_IPSR_GPSR(IP5_11_8,              VI4_DATA22),
 814        PINMUX_IPSR_MSEL(IP5_11_8,              VI5_DATA2_A,    SEL_VIN5_0),
 815        PINMUX_IPSR_GPSR(IP5_11_8,              DU_DB1),
 816        PINMUX_IPSR_GPSR(IP5_11_8,              HTX4_E),
 817        PINMUX_IPSR_GPSR(IP5_11_8,              LCDOUT1),
 818
 819        PINMUX_IPSR_GPSR(IP5_15_12,             CS0_N),
 820        PINMUX_IPSR_GPSR(IP5_15_12,             SCL5),
 821        PINMUX_IPSR_GPSR(IP5_15_12,             DU_DR0),
 822        PINMUX_IPSR_MSEL(IP5_15_12,             VI4_DATA2_B,    SEL_VIN4_1),
 823        PINMUX_IPSR_GPSR(IP5_15_12,             LCDOUT16),
 824
 825        PINMUX_IPSR_GPSR(IP5_19_16,             WE0_N),
 826        PINMUX_IPSR_GPSR(IP5_19_16,             SDA5),
 827        PINMUX_IPSR_GPSR(IP5_19_16,             DU_DR1),
 828        PINMUX_IPSR_MSEL(IP5_19_16,             VI4_DATA3_B,    SEL_VIN4_1),
 829        PINMUX_IPSR_GPSR(IP5_19_16,             LCDOUT17),
 830
 831        PINMUX_IPSR_GPSR(IP5_23_20,             D0),
 832        PINMUX_IPSR_MSEL(IP5_23_20,             MSIOF3_SCK_A,   SEL_MSIOF3_0),
 833        PINMUX_IPSR_GPSR(IP5_23_20,             DU_DR2),
 834        PINMUX_IPSR_MSEL(IP5_23_20,             CTS4_N_C,       SEL_SCIF4_2),
 835        PINMUX_IPSR_GPSR(IP5_23_20,             LCDOUT18),
 836
 837        PINMUX_IPSR_GPSR(IP5_27_24,             D1),
 838        PINMUX_IPSR_MSEL(IP5_27_24,             MSIOF3_SYNC_A,  SEL_MSIOF3_0),
 839        PINMUX_IPSR_MSEL(IP5_27_24,             SCK3_A,         SEL_SCIF3_0),
 840        PINMUX_IPSR_GPSR(IP5_27_24,             VI4_DATA23),
 841        PINMUX_IPSR_MSEL(IP5_27_24,             VI5_CLKENB_A,   SEL_VIN5_0),
 842        PINMUX_IPSR_GPSR(IP5_27_24,             DU_DB7),
 843        PINMUX_IPSR_MSEL(IP5_27_24,             RTS4_N_C,       SEL_SCIF4_2),
 844        PINMUX_IPSR_GPSR(IP5_27_24,             LCDOUT7),
 845
 846        PINMUX_IPSR_GPSR(IP5_31_28,             D2),
 847        PINMUX_IPSR_MSEL(IP5_31_28,             MSIOF3_RXD_A,   SEL_MSIOF3_0),
 848        PINMUX_IPSR_MSEL(IP5_31_28,             RX5_C,          SEL_SCIF5_2),
 849        PINMUX_IPSR_MSEL(IP5_31_28,             VI5_DATA14_A,   SEL_VIN5_0),
 850        PINMUX_IPSR_GPSR(IP5_31_28,             DU_DR3),
 851        PINMUX_IPSR_MSEL(IP5_31_28,             RX4_C,          SEL_SCIF4_2),
 852        PINMUX_IPSR_GPSR(IP5_31_28,             LCDOUT19),
 853
 854        /* IPSR6 */
 855        PINMUX_IPSR_GPSR(IP6_3_0,               D3),
 856        PINMUX_IPSR_GPSR(IP6_3_0,               MSIOF3_TXD_A),
 857        PINMUX_IPSR_GPSR(IP6_3_0,               TX5_C),
 858        PINMUX_IPSR_MSEL(IP6_3_0,               VI5_DATA15_A,   SEL_VIN5_0),
 859        PINMUX_IPSR_GPSR(IP6_3_0,               DU_DR4),
 860        PINMUX_IPSR_GPSR(IP6_3_0,               TX4_C),
 861        PINMUX_IPSR_GPSR(IP6_3_0,               LCDOUT20),
 862
 863        PINMUX_IPSR_GPSR(IP6_7_4,               D4),
 864        PINMUX_IPSR_GPSR(IP6_7_4,               CANFD1_TX),
 865        PINMUX_IPSR_MSEL(IP6_7_4,               HSCK3_B,        SEL_HSCIF3_1),
 866        PINMUX_IPSR_GPSR(IP6_7_4,               CAN1_TX),
 867        PINMUX_IPSR_MSEL(IP6_7_4,               RTS3_N_A,       SEL_SCIF3_0),
 868        PINMUX_IPSR_GPSR(IP6_7_4,               MSIOF3_SS2_A),
 869        PINMUX_IPSR_MSEL(IP6_7_4,               VI5_DATA1_B,    SEL_VIN5_1),
 870
 871        PINMUX_IPSR_GPSR(IP6_11_8,              D5),
 872        PINMUX_IPSR_MSEL(IP6_11_8,              RX3_A,          SEL_SCIF3_0),
 873        PINMUX_IPSR_MSEL(IP6_11_8,              HRX3_B,         SEL_HSCIF3_1),
 874        PINMUX_IPSR_GPSR(IP6_11_8,              DU_DR5),
 875        PINMUX_IPSR_MSEL(IP6_11_8,              VI4_DATA4_B,    SEL_VIN4_1),
 876        PINMUX_IPSR_GPSR(IP6_11_8,              LCDOUT21),
 877
 878        PINMUX_IPSR_GPSR(IP6_15_12,             D6),
 879        PINMUX_IPSR_GPSR(IP6_15_12,             TX3_A),
 880        PINMUX_IPSR_GPSR(IP6_15_12,             HTX3_B),
 881        PINMUX_IPSR_GPSR(IP6_15_12,             DU_DR6),
 882        PINMUX_IPSR_MSEL(IP6_15_12,             VI4_DATA5_B,    SEL_VIN4_1),
 883        PINMUX_IPSR_GPSR(IP6_15_12,             LCDOUT22),
 884
 885        PINMUX_IPSR_GPSR(IP6_19_16,             D7),
 886        PINMUX_IPSR_GPSR(IP6_19_16,             CANFD1_RX),
 887        PINMUX_IPSR_GPSR(IP6_19_16,             IRQ5),
 888        PINMUX_IPSR_GPSR(IP6_19_16,             CAN1_RX),
 889        PINMUX_IPSR_MSEL(IP6_19_16,             CTS3_N_A,       SEL_SCIF3_0),
 890        PINMUX_IPSR_MSEL(IP6_19_16,             VI5_DATA2_B,    SEL_VIN5_1),
 891
 892        PINMUX_IPSR_GPSR(IP6_23_20,             D8),
 893        PINMUX_IPSR_MSEL(IP6_23_20,             MSIOF2_SCK_A,   SEL_MSIOF2_0),
 894        PINMUX_IPSR_MSEL(IP6_23_20,             SCK4_B,         SEL_SCIF4_1),
 895        PINMUX_IPSR_MSEL(IP6_23_20,             VI5_DATA12_A,   SEL_VIN5_0),
 896        PINMUX_IPSR_GPSR(IP6_23_20,             DU_DR7),
 897        PINMUX_IPSR_MSEL(IP6_23_20,             RIF3_CLK_B,     SEL_DRIF3_1),
 898        PINMUX_IPSR_MSEL(IP6_23_20,             HCTS3_N_E,      SEL_HSCIF3_4),
 899        PINMUX_IPSR_GPSR(IP6_23_20,             LCDOUT23),
 900
 901        PINMUX_IPSR_GPSR(IP6_27_24,             D9),
 902        PINMUX_IPSR_MSEL(IP6_27_24,             MSIOF2_SYNC_A,  SEL_MSIOF2_0),
 903        PINMUX_IPSR_MSEL(IP6_27_24,             VI5_DATA10_A,   SEL_VIN5_0),
 904        PINMUX_IPSR_GPSR(IP6_27_24,             DU_DG0),
 905        PINMUX_IPSR_MSEL(IP6_27_24,             RIF3_SYNC_B,    SEL_DRIF3_1),
 906        PINMUX_IPSR_MSEL(IP6_27_24,             HRX3_E,         SEL_HSCIF3_4),
 907        PINMUX_IPSR_GPSR(IP6_27_24,             LCDOUT8),
 908
 909        PINMUX_IPSR_GPSR(IP6_31_28,             D10),
 910        PINMUX_IPSR_MSEL(IP6_31_28,             MSIOF2_RXD_A,   SEL_MSIOF2_0),
 911        PINMUX_IPSR_MSEL(IP6_31_28,             VI5_DATA13_A,   SEL_VIN5_0),
 912        PINMUX_IPSR_GPSR(IP6_31_28,             DU_DG1),
 913        PINMUX_IPSR_MSEL(IP6_31_28,             RIF3_D0_B,      SEL_DRIF3_1),
 914        PINMUX_IPSR_GPSR(IP6_31_28,             HTX3_E),
 915        PINMUX_IPSR_GPSR(IP6_31_28,             LCDOUT9),
 916
 917        /* IPSR7 */
 918        PINMUX_IPSR_GPSR(IP7_3_0,               D11),
 919        PINMUX_IPSR_GPSR(IP7_3_0,               MSIOF2_TXD_A),
 920        PINMUX_IPSR_MSEL(IP7_3_0,               VI5_DATA11_A,   SEL_VIN5_0),
 921        PINMUX_IPSR_GPSR(IP7_3_0,               DU_DG2),
 922        PINMUX_IPSR_MSEL(IP7_3_0,               RIF3_D1_B,      SEL_DRIF3_1),
 923        PINMUX_IPSR_MSEL(IP7_3_0,               HRTS3_N_E,      SEL_HSCIF3_4),
 924        PINMUX_IPSR_GPSR(IP7_3_0,               LCDOUT10),
 925
 926        PINMUX_IPSR_GPSR(IP7_7_4,               D12),
 927        PINMUX_IPSR_GPSR(IP7_7_4,               CANFD0_TX),
 928        PINMUX_IPSR_GPSR(IP7_7_4,               TX4_B),
 929        PINMUX_IPSR_GPSR(IP7_7_4,               CAN0_TX),
 930        PINMUX_IPSR_MSEL(IP7_7_4,               VI5_DATA8_A,    SEL_VIN5_0),
 931        PINMUX_IPSR_MSEL(IP7_7_4,               VI5_DATA3_B,    SEL_VIN5_1),
 932
 933        PINMUX_IPSR_GPSR(IP7_11_8,              D13),
 934        PINMUX_IPSR_GPSR(IP7_11_8,              CANFD0_RX),
 935        PINMUX_IPSR_MSEL(IP7_11_8,              RX4_B,          SEL_SCIF4_1),
 936        PINMUX_IPSR_GPSR(IP7_11_8,              CAN0_RX),
 937        PINMUX_IPSR_MSEL(IP7_11_8,              VI5_DATA9_A,    SEL_VIN5_0),
 938        PINMUX_IPSR_MSEL(IP7_11_8,              SCL7_B,         SEL_I2C7_1),
 939        PINMUX_IPSR_MSEL(IP7_11_8,              VI5_DATA4_B,    SEL_VIN5_1),
 940
 941        PINMUX_IPSR_GPSR(IP7_15_12,             D14),
 942        PINMUX_IPSR_GPSR(IP7_15_12,             CAN_CLK),
 943        PINMUX_IPSR_MSEL(IP7_15_12,             HRX3_A,         SEL_HSCIF3_0),
 944        PINMUX_IPSR_GPSR(IP7_15_12,             MSIOF2_SS2_A),
 945        PINMUX_IPSR_MSEL(IP7_15_12,             SDA7_B,         SEL_I2C7_1),
 946        PINMUX_IPSR_MSEL(IP7_15_12,             VI5_DATA5_B,    SEL_VIN5_1),
 947
 948        PINMUX_IPSR_GPSR(IP7_19_16,             D15),
 949        PINMUX_IPSR_GPSR(IP7_19_16,             MSIOF2_SS1_A),
 950        PINMUX_IPSR_GPSR(IP7_19_16,             HTX3_A),
 951        PINMUX_IPSR_GPSR(IP7_19_16,             MSIOF3_SS1_A),
 952        PINMUX_IPSR_GPSR(IP7_19_16,             DU_DG3),
 953        PINMUX_IPSR_GPSR(IP7_19_16,             LCDOUT11),
 954
 955        PINMUX_IPSR_GPSR(IP7_23_20,             SCL4),
 956        PINMUX_IPSR_GPSR(IP7_23_20,             CS1_N_A26),
 957        PINMUX_IPSR_GPSR(IP7_23_20,             DU_DOTCLKIN0),
 958        PINMUX_IPSR_MSEL(IP7_23_20,             VI4_DATA6_B,    SEL_VIN4_1),
 959        PINMUX_IPSR_MSEL(IP7_23_20,             VI5_DATA6_B,    SEL_VIN5_1),
 960        PINMUX_IPSR_GPSR(IP7_23_20,             QCLK),
 961
 962        PINMUX_IPSR_GPSR(IP7_27_24,             SDA4),
 963        PINMUX_IPSR_GPSR(IP7_27_24,             WE1_N),
 964        PINMUX_IPSR_MSEL(IP7_27_24,             VI4_DATA7_B,    SEL_VIN4_1),
 965        PINMUX_IPSR_MSEL(IP7_27_24,             VI5_DATA7_B,    SEL_VIN5_1),
 966        PINMUX_IPSR_GPSR(IP7_27_24,             QPOLB),
 967
 968        PINMUX_IPSR_GPSR(IP7_31_28,             SD0_CLK),
 969        PINMUX_IPSR_GPSR(IP7_31_28,             NFDATA8),
 970        PINMUX_IPSR_MSEL(IP7_31_28,             SCL1_C,         SEL_I2C1_2),
 971        PINMUX_IPSR_MSEL(IP7_31_28,             HSCK1_B,        SEL_HSCIF1_1),
 972        PINMUX_IPSR_MSEL(IP7_31_28,             SDA2_E,         SEL_I2C2_4),
 973        PINMUX_IPSR_MSEL(IP7_31_28,             FMCLK_B,        SEL_FM_1),
 974
 975        /* IPSR8 */
 976        PINMUX_IPSR_GPSR(IP8_3_0,               SD0_CMD),
 977        PINMUX_IPSR_GPSR(IP8_3_0,               NFDATA9),
 978        PINMUX_IPSR_MSEL(IP8_3_0,               HRX1_B,         SEL_HSCIF1_1),
 979        PINMUX_IPSR_MSEL(IP8_3_0,               SPEEDIN_B,      SEL_SPEED_PULSE_IF_1),
 980
 981        PINMUX_IPSR_GPSR(IP8_7_4,               SD0_DAT0),
 982        PINMUX_IPSR_GPSR(IP8_7_4,               NFDATA10),
 983        PINMUX_IPSR_GPSR(IP8_7_4,               HTX1_B),
 984        PINMUX_IPSR_MSEL(IP8_7_4,               REMOCON_B,      SEL_REMOCON_1),
 985
 986        PINMUX_IPSR_GPSR(IP8_11_8,              SD0_DAT1),
 987        PINMUX_IPSR_GPSR(IP8_11_8,              NFDATA11),
 988        PINMUX_IPSR_MSEL(IP8_11_8,              SDA2_C,         SEL_I2C2_2),
 989        PINMUX_IPSR_MSEL(IP8_11_8,              HCTS1_N_B,      SEL_HSCIF1_1),
 990        PINMUX_IPSR_MSEL(IP8_11_8,              FMIN_B,         SEL_FM_1),
 991
 992        PINMUX_IPSR_GPSR(IP8_15_12,             SD0_DAT2),
 993        PINMUX_IPSR_GPSR(IP8_15_12,             NFDATA12),
 994        PINMUX_IPSR_MSEL(IP8_15_12,             SCL2_C,         SEL_I2C2_2),
 995        PINMUX_IPSR_MSEL(IP8_15_12,             HRTS1_N_B,      SEL_HSCIF1_1),
 996        PINMUX_IPSR_GPSR(IP8_15_12,             BPFCLK_B),
 997
 998        PINMUX_IPSR_GPSR(IP8_19_16,             SD0_DAT3),
 999        PINMUX_IPSR_GPSR(IP8_19_16,             NFDATA13),
1000        PINMUX_IPSR_MSEL(IP8_19_16,             SDA1_C,         SEL_I2C1_2),
1001        PINMUX_IPSR_MSEL(IP8_19_16,             SCL2_E,         SEL_I2C2_4),
1002        PINMUX_IPSR_MSEL(IP8_19_16,             SPEEDIN_C,      SEL_SPEED_PULSE_IF_2),
1003        PINMUX_IPSR_MSEL(IP8_19_16,             REMOCON_C,      SEL_REMOCON_2),
1004
1005        PINMUX_IPSR_GPSR(IP8_23_20,             SD1_CLK),
1006        PINMUX_IPSR_MSEL(IP8_23_20,             NFDATA14_B,     SEL_NDF_1),
1007
1008        PINMUX_IPSR_GPSR(IP8_27_24,             SD1_CMD),
1009        PINMUX_IPSR_MSEL(IP8_27_24,             NFDATA15_B,     SEL_NDF_1),
1010
1011        PINMUX_IPSR_GPSR(IP8_31_28,             SD1_DAT0),
1012        PINMUX_IPSR_MSEL(IP8_31_28,             NFWP_N_B,       SEL_NDF_1),
1013
1014        /* IPSR9 */
1015        PINMUX_IPSR_GPSR(IP9_3_0,               SD1_DAT1),
1016        PINMUX_IPSR_MSEL(IP9_3_0,               NFCE_N_B,       SEL_NDF_1),
1017
1018        PINMUX_IPSR_GPSR(IP9_7_4,               SD1_DAT2),
1019        PINMUX_IPSR_MSEL(IP9_7_4,               NFALE_B,        SEL_NDF_1),
1020
1021        PINMUX_IPSR_GPSR(IP9_11_8,              SD1_DAT3),
1022        PINMUX_IPSR_MSEL(IP9_11_8,              NFRB_N_B,       SEL_NDF_1),
1023
1024        PINMUX_IPSR_GPSR(IP9_15_12,             SD3_CLK),
1025        PINMUX_IPSR_GPSR(IP9_15_12,             NFWE_N),
1026
1027        PINMUX_IPSR_GPSR(IP9_19_16,             SD3_CMD),
1028        PINMUX_IPSR_GPSR(IP9_19_16,             NFRE_N),
1029
1030        PINMUX_IPSR_GPSR(IP9_23_20,             SD3_DAT0),
1031        PINMUX_IPSR_GPSR(IP9_23_20,             NFDATA0),
1032
1033        PINMUX_IPSR_GPSR(IP9_27_24,             SD3_DAT1),
1034        PINMUX_IPSR_GPSR(IP9_27_24,             NFDATA1),
1035
1036        PINMUX_IPSR_GPSR(IP9_31_28,             SD3_DAT2),
1037        PINMUX_IPSR_GPSR(IP9_31_28,             NFDATA2),
1038
1039        /* IPSR10 */
1040        PINMUX_IPSR_GPSR(IP10_3_0,              SD3_DAT3),
1041        PINMUX_IPSR_GPSR(IP10_3_0,              NFDATA3),
1042
1043        PINMUX_IPSR_GPSR(IP10_7_4,              SD3_DAT4),
1044        PINMUX_IPSR_GPSR(IP10_7_4,              NFDATA4),
1045
1046        PINMUX_IPSR_GPSR(IP10_11_8,             SD3_DAT5),
1047        PINMUX_IPSR_GPSR(IP10_11_8,             NFDATA5),
1048
1049        PINMUX_IPSR_GPSR(IP10_15_12,            SD3_DAT6),
1050        PINMUX_IPSR_GPSR(IP10_15_12,            NFDATA6),
1051
1052        PINMUX_IPSR_GPSR(IP10_19_16,            SD3_DAT7),
1053        PINMUX_IPSR_GPSR(IP10_19_16,            NFDATA7),
1054
1055        PINMUX_IPSR_GPSR(IP10_23_20,            SD3_DS),
1056        PINMUX_IPSR_GPSR(IP10_23_20,            NFCLE),
1057
1058        PINMUX_IPSR_GPSR(IP10_27_24,            SD0_CD),
1059        PINMUX_IPSR_MSEL(IP10_27_24,            NFALE_A,        SEL_NDF_0),
1060        PINMUX_IPSR_GPSR(IP10_27_24,            SD3_CD),
1061        PINMUX_IPSR_MSEL(IP10_27_24,            RIF0_CLK_B,     SEL_DRIF0_1),
1062        PINMUX_IPSR_MSEL(IP10_27_24,            SCL2_B,         SEL_I2C2_1),
1063        PINMUX_IPSR_MSEL(IP10_27_24,            TCLK1_A,        SEL_TIMER_TMU_0),
1064        PINMUX_IPSR_MSEL(IP10_27_24,            SSI_SCK2_B,     SEL_SSI2_1),
1065        PINMUX_IPSR_GPSR(IP10_27_24,            TS_SCK0),
1066
1067        PINMUX_IPSR_GPSR(IP10_31_28,            SD0_WP),
1068        PINMUX_IPSR_MSEL(IP10_31_28,            NFRB_N_A,       SEL_NDF_0),
1069        PINMUX_IPSR_GPSR(IP10_31_28,            SD3_WP),
1070        PINMUX_IPSR_MSEL(IP10_31_28,            RIF0_D0_B,      SEL_DRIF0_1),
1071        PINMUX_IPSR_MSEL(IP10_31_28,            SDA2_B,         SEL_I2C2_1),
1072        PINMUX_IPSR_MSEL(IP10_31_28,            TCLK2_A,        SEL_TIMER_TMU_0),
1073        PINMUX_IPSR_MSEL(IP10_31_28,            SSI_WS2_B,      SEL_SSI2_1),
1074        PINMUX_IPSR_GPSR(IP10_31_28,            TS_SDAT0),
1075
1076        /* IPSR11 */
1077        PINMUX_IPSR_GPSR(IP11_3_0,              SD1_CD),
1078        PINMUX_IPSR_MSEL(IP11_3_0,              NFCE_N_A,       SEL_NDF_0),
1079        PINMUX_IPSR_GPSR(IP11_3_0,              SSI_SCK1),
1080        PINMUX_IPSR_MSEL(IP11_3_0,              RIF0_D1_B,      SEL_DRIF0_1),
1081        PINMUX_IPSR_GPSR(IP11_3_0,              TS_SDEN0),
1082
1083        PINMUX_IPSR_GPSR(IP11_7_4,              SD1_WP),
1084        PINMUX_IPSR_MSEL(IP11_7_4,              NFWP_N_A,       SEL_NDF_0),
1085        PINMUX_IPSR_GPSR(IP11_7_4,              SSI_WS1),
1086        PINMUX_IPSR_MSEL(IP11_7_4,              RIF0_SYNC_B,    SEL_DRIF0_1),
1087        PINMUX_IPSR_GPSR(IP11_7_4,              TS_SPSYNC0),
1088
1089        PINMUX_IPSR_MSEL(IP11_11_8,             RX0_A,          SEL_SCIF0_0),
1090        PINMUX_IPSR_MSEL(IP11_11_8,             HRX1_A,         SEL_HSCIF1_0),
1091        PINMUX_IPSR_MSEL(IP11_11_8,             SSI_SCK2_A,     SEL_SSI2_0),
1092        PINMUX_IPSR_GPSR(IP11_11_8,             RIF1_SYNC),
1093        PINMUX_IPSR_GPSR(IP11_11_8,             TS_SCK1),
1094
1095        PINMUX_IPSR_MSEL(IP11_15_12,            TX0_A,          SEL_SCIF0_0),
1096        PINMUX_IPSR_GPSR(IP11_15_12,            HTX1_A),
1097        PINMUX_IPSR_MSEL(IP11_15_12,            SSI_WS2_A,      SEL_SSI2_0),
1098        PINMUX_IPSR_GPSR(IP11_15_12,            RIF1_D0),
1099        PINMUX_IPSR_GPSR(IP11_15_12,            TS_SDAT1),
1100
1101        PINMUX_IPSR_MSEL(IP11_19_16,            CTS0_N_A,       SEL_SCIF0_0),
1102        PINMUX_IPSR_MSEL(IP11_19_16,            NFDATA14_A,     SEL_NDF_0),
1103        PINMUX_IPSR_GPSR(IP11_19_16,            AUDIO_CLKOUT_A),
1104        PINMUX_IPSR_GPSR(IP11_19_16,            RIF1_D1),
1105        PINMUX_IPSR_MSEL(IP11_19_16,            SCIF_CLK_A,     SEL_SCIF_0),
1106        PINMUX_IPSR_MSEL(IP11_19_16,            FMCLK_A,        SEL_FM_0),
1107
1108        PINMUX_IPSR_MSEL(IP11_23_20,            RTS0_N_A,       SEL_SCIF0_0),
1109        PINMUX_IPSR_MSEL(IP11_23_20,            NFDATA15_A,     SEL_NDF_0),
1110        PINMUX_IPSR_GPSR(IP11_23_20,            AUDIO_CLKOUT1_A),
1111        PINMUX_IPSR_GPSR(IP11_23_20,            RIF1_CLK),
1112        PINMUX_IPSR_MSEL(IP11_23_20,            SCL2_A,         SEL_I2C2_0),
1113        PINMUX_IPSR_MSEL(IP11_23_20,            FMIN_A,         SEL_FM_0),
1114
1115        PINMUX_IPSR_MSEL(IP11_27_24,            SCK0_A,         SEL_SCIF0_0),
1116        PINMUX_IPSR_MSEL(IP11_27_24,            HSCK1_A,        SEL_HSCIF1_0),
1117        PINMUX_IPSR_GPSR(IP11_27_24,            USB3HS0_ID),
1118        PINMUX_IPSR_GPSR(IP11_27_24,            RTS1_N),
1119        PINMUX_IPSR_MSEL(IP11_27_24,            SDA2_A,         SEL_I2C2_0),
1120        PINMUX_IPSR_MSEL(IP11_27_24,            FMCLK_C,        SEL_FM_2),
1121        PINMUX_IPSR_GPSR(IP11_27_24,            USB0_ID),
1122
1123        PINMUX_IPSR_GPSR(IP11_31_28,            RX1),
1124        PINMUX_IPSR_MSEL(IP11_31_28,            HRX2_B,         SEL_HSCIF2_1),
1125        PINMUX_IPSR_MSEL(IP11_31_28,            SSI_SCK9_B,     SEL_SSI9_1),
1126        PINMUX_IPSR_GPSR(IP11_31_28,            AUDIO_CLKOUT1_B),
1127
1128        /* IPSR12 */
1129        PINMUX_IPSR_GPSR(IP12_3_0,              TX1),
1130        PINMUX_IPSR_GPSR(IP12_3_0,              HTX2_B),
1131        PINMUX_IPSR_MSEL(IP12_3_0,              SSI_WS9_B,      SEL_SSI9_1),
1132        PINMUX_IPSR_GPSR(IP12_3_0,              AUDIO_CLKOUT3_B),
1133
1134        PINMUX_IPSR_MSEL(IP12_7_4,              SCK2_A,         SEL_SCIF2_0),
1135        PINMUX_IPSR_MSEL(IP12_7_4,              HSCK0_A,        SEL_HSCIF0_0),
1136        PINMUX_IPSR_MSEL(IP12_7_4,              AUDIO_CLKB_A,   SEL_ADGB_0),
1137        PINMUX_IPSR_GPSR(IP12_7_4,              CTS1_N),
1138        PINMUX_IPSR_MSEL(IP12_7_4,              RIF0_CLK_A,     SEL_DRIF0_0),
1139        PINMUX_IPSR_MSEL(IP12_7_4,              REMOCON_A,      SEL_REMOCON_0),
1140        PINMUX_IPSR_MSEL(IP12_7_4,              SCIF_CLK_B,     SEL_SCIF_1),
1141
1142        PINMUX_IPSR_MSEL(IP12_11_8,             TX2_A,          SEL_SCIF2_0),
1143        PINMUX_IPSR_MSEL(IP12_11_8,             HRX0_A,         SEL_HSCIF0_0),
1144        PINMUX_IPSR_GPSR(IP12_11_8,             AUDIO_CLKOUT2_A),
1145        PINMUX_IPSR_MSEL(IP12_11_8,             SCL1_A,         SEL_I2C1_0),
1146        PINMUX_IPSR_MSEL(IP12_11_8,             FSO_CFE_0_N_A,  SEL_FSO_0),
1147        PINMUX_IPSR_GPSR(IP12_11_8,             TS_SDEN1),
1148
1149        PINMUX_IPSR_MSEL(IP12_15_12,            RX2_A,          SEL_SCIF2_0),
1150        PINMUX_IPSR_GPSR(IP12_15_12,            HTX0_A),
1151        PINMUX_IPSR_GPSR(IP12_15_12,            AUDIO_CLKOUT3_A),
1152        PINMUX_IPSR_MSEL(IP12_15_12,            SDA1_A,         SEL_I2C1_0),
1153        PINMUX_IPSR_MSEL(IP12_15_12,            FSO_CFE_1_N_A,  SEL_FSO_0),
1154        PINMUX_IPSR_GPSR(IP12_15_12,            TS_SPSYNC1),
1155
1156        PINMUX_IPSR_GPSR(IP12_19_16,            MSIOF0_SCK),
1157        PINMUX_IPSR_GPSR(IP12_19_16,            SSI_SCK78),
1158
1159        PINMUX_IPSR_GPSR(IP12_23_20,            MSIOF0_RXD),
1160        PINMUX_IPSR_GPSR(IP12_23_20,            SSI_WS78),
1161        PINMUX_IPSR_MSEL(IP12_23_20,            TX2_B,          SEL_SCIF2_1),
1162
1163        PINMUX_IPSR_GPSR(IP12_27_24,            MSIOF0_TXD),
1164        PINMUX_IPSR_GPSR(IP12_27_24,            SSI_SDATA7),
1165        PINMUX_IPSR_MSEL(IP12_27_24,            RX2_B,          SEL_SCIF2_1),
1166
1167        PINMUX_IPSR_GPSR(IP12_31_28,            MSIOF0_SYNC),
1168        PINMUX_IPSR_GPSR(IP12_31_28,            AUDIO_CLKOUT_B),
1169        PINMUX_IPSR_GPSR(IP12_31_28,            SSI_SDATA8),
1170
1171        /* IPSR13 */
1172        PINMUX_IPSR_GPSR(IP13_3_0,              MSIOF0_SS1),
1173        PINMUX_IPSR_MSEL(IP13_3_0,              HRX2_A,         SEL_HSCIF2_0),
1174        PINMUX_IPSR_GPSR(IP13_3_0,              SSI_SCK4),
1175        PINMUX_IPSR_MSEL(IP13_3_0,              HCTS0_N_A,      SEL_HSCIF0_0),
1176        PINMUX_IPSR_GPSR(IP13_3_0,              BPFCLK_C),
1177        PINMUX_IPSR_MSEL(IP13_3_0,              SPEEDIN_A,      SEL_SPEED_PULSE_IF_0),
1178
1179        PINMUX_IPSR_GPSR(IP13_7_4,              MSIOF0_SS2),
1180        PINMUX_IPSR_GPSR(IP13_7_4,              HTX2_A),
1181        PINMUX_IPSR_GPSR(IP13_7_4,              SSI_WS4),
1182        PINMUX_IPSR_MSEL(IP13_7_4,              HRTS0_N_A,      SEL_HSCIF0_0),
1183        PINMUX_IPSR_MSEL(IP13_7_4,              FMIN_C,         SEL_FM_2),
1184        PINMUX_IPSR_GPSR(IP13_7_4,              BPFCLK_A),
1185
1186        PINMUX_IPSR_GPSR(IP13_11_8,             SSI_SDATA9),
1187        PINMUX_IPSR_MSEL(IP13_11_8,             AUDIO_CLKC_A,   SEL_ADGC_0),
1188        PINMUX_IPSR_GPSR(IP13_11_8,             SCK1),
1189
1190        PINMUX_IPSR_GPSR(IP13_15_12,            MLB_CLK),
1191        PINMUX_IPSR_MSEL(IP13_15_12,            RX0_B,          SEL_SCIF0_1),
1192        PINMUX_IPSR_MSEL(IP13_15_12,            RIF0_D0_A,      SEL_DRIF0_0),
1193        PINMUX_IPSR_MSEL(IP13_15_12,            SCL1_B,         SEL_I2C1_1),
1194        PINMUX_IPSR_MSEL(IP13_15_12,            TCLK1_B,        SEL_TIMER_TMU_1),
1195        PINMUX_IPSR_GPSR(IP13_15_12,            SIM0_RST_A),
1196
1197        PINMUX_IPSR_GPSR(IP13_19_16,            MLB_SIG),
1198        PINMUX_IPSR_MSEL(IP13_19_16,            SCK0_B,         SEL_SCIF0_1),
1199        PINMUX_IPSR_MSEL(IP13_19_16,            RIF0_D1_A,      SEL_DRIF0_0),
1200        PINMUX_IPSR_MSEL(IP13_19_16,            SDA1_B,         SEL_I2C1_1),
1201        PINMUX_IPSR_MSEL(IP13_19_16,            TCLK2_B,        SEL_TIMER_TMU_1),
1202        PINMUX_IPSR_MSEL(IP13_19_16,            SIM0_D_A,       SEL_SIMCARD_0),
1203
1204        PINMUX_IPSR_GPSR(IP13_23_20,            MLB_DAT),
1205        PINMUX_IPSR_MSEL(IP13_23_20,            TX0_B,          SEL_SCIF0_1),
1206        PINMUX_IPSR_MSEL(IP13_23_20,            RIF0_SYNC_A,    SEL_DRIF0_0),
1207        PINMUX_IPSR_GPSR(IP13_23_20,            SIM0_CLK_A),
1208
1209        PINMUX_IPSR_GPSR(IP13_27_24,            SSI_SCK01239),
1210
1211        PINMUX_IPSR_GPSR(IP13_31_28,            SSI_WS01239),
1212
1213        /* IPSR14 */
1214        PINMUX_IPSR_GPSR(IP14_3_0,              SSI_SDATA0),
1215
1216        PINMUX_IPSR_GPSR(IP14_7_4,              SSI_SDATA1),
1217        PINMUX_IPSR_MSEL(IP14_7_4,              AUDIO_CLKC_B,   SEL_ADGC_1),
1218        PINMUX_IPSR_MSEL(IP14_7_4,              PWM0_B,         SEL_PWM0_1),
1219
1220        PINMUX_IPSR_GPSR(IP14_11_8,             SSI_SDATA2),
1221        PINMUX_IPSR_GPSR(IP14_11_8,             AUDIO_CLKOUT2_B),
1222        PINMUX_IPSR_MSEL(IP14_11_8,             SSI_SCK9_A,     SEL_SSI9_0),
1223        PINMUX_IPSR_MSEL(IP14_11_8,             PWM1_B,         SEL_PWM1_1),
1224
1225        PINMUX_IPSR_GPSR(IP14_15_12,            SSI_SCK349),
1226        PINMUX_IPSR_MSEL(IP14_15_12,            PWM2_C,         SEL_PWM2_2),
1227
1228        PINMUX_IPSR_GPSR(IP14_19_16,            SSI_WS349),
1229        PINMUX_IPSR_MSEL(IP14_19_16,            PWM3_C,         SEL_PWM3_2),
1230
1231        PINMUX_IPSR_GPSR(IP14_23_20,            SSI_SDATA3),
1232        PINMUX_IPSR_GPSR(IP14_23_20,            AUDIO_CLKOUT1_C),
1233        PINMUX_IPSR_MSEL(IP14_23_20,            AUDIO_CLKB_B,   SEL_ADGB_1),
1234        PINMUX_IPSR_MSEL(IP14_23_20,            PWM4_B,         SEL_PWM4_1),
1235
1236        PINMUX_IPSR_GPSR(IP14_27_24,            SSI_SDATA4),
1237        PINMUX_IPSR_MSEL(IP14_27_24,            SSI_WS9_A,      SEL_SSI9_0),
1238        PINMUX_IPSR_MSEL(IP14_27_24,            PWM5_B,         SEL_PWM5_1),
1239
1240        PINMUX_IPSR_GPSR(IP14_31_28,            SSI_SCK5),
1241        PINMUX_IPSR_MSEL(IP14_31_28,            HRX0_B,         SEL_HSCIF0_1),
1242        PINMUX_IPSR_GPSR(IP14_31_28,            USB0_PWEN_B),
1243        PINMUX_IPSR_MSEL(IP14_31_28,            SCL2_D,         SEL_I2C2_3),
1244        PINMUX_IPSR_MSEL(IP14_31_28,            PWM6_B,         SEL_PWM6_1),
1245
1246        /* IPSR15 */
1247        PINMUX_IPSR_GPSR(IP15_3_0,              SSI_WS5),
1248        PINMUX_IPSR_GPSR(IP15_3_0,              HTX0_B),
1249        PINMUX_IPSR_MSEL(IP15_3_0,              USB0_OVC_B,     SEL_USB_20_CH0_1),
1250        PINMUX_IPSR_MSEL(IP15_3_0,              SDA2_D,         SEL_I2C2_3),
1251
1252        PINMUX_IPSR_GPSR(IP15_7_4,              SSI_SDATA5),
1253        PINMUX_IPSR_MSEL(IP15_7_4,              HSCK0_B,        SEL_HSCIF0_1),
1254        PINMUX_IPSR_MSEL(IP15_7_4,              AUDIO_CLKB_C,   SEL_ADGB_2),
1255        PINMUX_IPSR_GPSR(IP15_7_4,              TPU0TO0),
1256
1257        PINMUX_IPSR_GPSR(IP15_11_8,             SSI_SCK6),
1258        PINMUX_IPSR_MSEL(IP15_11_8,             HSCK2_A,        SEL_HSCIF2_0),
1259        PINMUX_IPSR_MSEL(IP15_11_8,             AUDIO_CLKC_C,   SEL_ADGC_2),
1260        PINMUX_IPSR_GPSR(IP15_11_8,             TPU0TO1),
1261        PINMUX_IPSR_MSEL(IP15_11_8,             FSO_CFE_0_N_B,  SEL_FSO_1),
1262        PINMUX_IPSR_GPSR(IP15_11_8,             SIM0_RST_B),
1263
1264        PINMUX_IPSR_GPSR(IP15_15_12,            SSI_WS6),
1265        PINMUX_IPSR_MSEL(IP15_15_12,            HCTS2_N_A,      SEL_HSCIF2_0),
1266        PINMUX_IPSR_GPSR(IP15_15_12,            AUDIO_CLKOUT2_C),
1267        PINMUX_IPSR_GPSR(IP15_15_12,            TPU0TO2),
1268        PINMUX_IPSR_MSEL(IP15_15_12,            SDA1_D,         SEL_I2C1_3),
1269        PINMUX_IPSR_MSEL(IP15_15_12,            FSO_CFE_1_N_B,  SEL_FSO_1),
1270        PINMUX_IPSR_MSEL(IP15_15_12,            SIM0_D_B,       SEL_SIMCARD_1),
1271
1272        PINMUX_IPSR_GPSR(IP15_19_16,            SSI_SDATA6),
1273        PINMUX_IPSR_MSEL(IP15_19_16,            HRTS2_N_A,      SEL_HSCIF2_0),
1274        PINMUX_IPSR_GPSR(IP15_19_16,            AUDIO_CLKOUT3_C),
1275        PINMUX_IPSR_GPSR(IP15_19_16,            TPU0TO3),
1276        PINMUX_IPSR_MSEL(IP15_19_16,            SCL1_D,         SEL_I2C1_3),
1277        PINMUX_IPSR_MSEL(IP15_19_16,            FSO_TOE_N_B,    SEL_FSO_1),
1278        PINMUX_IPSR_GPSR(IP15_19_16,            SIM0_CLK_B),
1279
1280        PINMUX_IPSR_GPSR(IP15_23_20,            AUDIO_CLKA),
1281
1282        PINMUX_IPSR_GPSR(IP15_27_24,            USB30_PWEN),
1283        PINMUX_IPSR_GPSR(IP15_27_24,            USB0_PWEN_A),
1284
1285        PINMUX_IPSR_GPSR(IP15_31_28,            USB30_OVC),
1286        PINMUX_IPSR_MSEL(IP15_31_28,            USB0_OVC_A,     SEL_USB_20_CH0_0),
1287
1288/*
1289 * Static pins can not be muxed between different functions but
1290 * still need mark entries in the pinmux list. Add each static
1291 * pin to the list without an associated function. The sh-pfc
1292 * core will do the right thing and skip trying to mux the pin
1293 * while still applying configuration to it.
1294 */
1295#define FM(x)   PINMUX_DATA(x##_MARK, 0),
1296        PINMUX_STATIC
1297#undef FM
1298};
1299
1300/*
1301 * Pins not associated with a GPIO port.
1302 */
1303enum {
1304        GP_ASSIGN_LAST(),
1305        NOGP_ALL(),
1306};
1307
1308static const struct sh_pfc_pin pinmux_pins[] = {
1309        PINMUX_GPIO_GP_ALL(),
1310        PINMUX_NOGP_ALL(),
1311};
1312
1313/* - AUDIO CLOCK ------------------------------------------------------------ */
1314static const unsigned int audio_clk_a_pins[] = {
1315        /* CLK A */
1316        RCAR_GP_PIN(6, 8),
1317};
1318
1319static const unsigned int audio_clk_a_mux[] = {
1320        AUDIO_CLKA_MARK,
1321};
1322
1323static const unsigned int audio_clk_b_a_pins[] = {
1324        /* CLK B_A */
1325        RCAR_GP_PIN(5, 7),
1326};
1327
1328static const unsigned int audio_clk_b_a_mux[] = {
1329        AUDIO_CLKB_A_MARK,
1330};
1331
1332static const unsigned int audio_clk_b_b_pins[] = {
1333        /* CLK B_B */
1334        RCAR_GP_PIN(6, 7),
1335};
1336
1337static const unsigned int audio_clk_b_b_mux[] = {
1338        AUDIO_CLKB_B_MARK,
1339};
1340
1341static const unsigned int audio_clk_b_c_pins[] = {
1342        /* CLK B_C */
1343        RCAR_GP_PIN(6, 13),
1344};
1345
1346static const unsigned int audio_clk_b_c_mux[] = {
1347        AUDIO_CLKB_C_MARK,
1348};
1349
1350static const unsigned int audio_clk_c_a_pins[] = {
1351        /* CLK C_A */
1352        RCAR_GP_PIN(5, 16),
1353};
1354
1355static const unsigned int audio_clk_c_a_mux[] = {
1356        AUDIO_CLKC_A_MARK,
1357};
1358
1359static const unsigned int audio_clk_c_b_pins[] = {
1360        /* CLK C_B */
1361        RCAR_GP_PIN(6, 3),
1362};
1363
1364static const unsigned int audio_clk_c_b_mux[] = {
1365        AUDIO_CLKC_B_MARK,
1366};
1367
1368static const unsigned int audio_clk_c_c_pins[] = {
1369        /* CLK C_C */
1370        RCAR_GP_PIN(6, 14),
1371};
1372
1373static const unsigned int audio_clk_c_c_mux[] = {
1374        AUDIO_CLKC_C_MARK,
1375};
1376
1377static const unsigned int audio_clkout_a_pins[] = {
1378        /* CLKOUT_A */
1379        RCAR_GP_PIN(5, 3),
1380};
1381
1382static const unsigned int audio_clkout_a_mux[] = {
1383        AUDIO_CLKOUT_A_MARK,
1384};
1385
1386static const unsigned int audio_clkout_b_pins[] = {
1387        /* CLKOUT_B */
1388        RCAR_GP_PIN(5, 13),
1389};
1390
1391static const unsigned int audio_clkout_b_mux[] = {
1392        AUDIO_CLKOUT_B_MARK,
1393};
1394
1395static const unsigned int audio_clkout1_a_pins[] = {
1396        /* CLKOUT1_A */
1397        RCAR_GP_PIN(5, 4),
1398};
1399
1400static const unsigned int audio_clkout1_a_mux[] = {
1401        AUDIO_CLKOUT1_A_MARK,
1402};
1403
1404static const unsigned int audio_clkout1_b_pins[] = {
1405        /* CLKOUT1_B */
1406        RCAR_GP_PIN(5, 5),
1407};
1408
1409static const unsigned int audio_clkout1_b_mux[] = {
1410        AUDIO_CLKOUT1_B_MARK,
1411};
1412
1413static const unsigned int audio_clkout1_c_pins[] = {
1414        /* CLKOUT1_C */
1415        RCAR_GP_PIN(6, 7),
1416};
1417
1418static const unsigned int audio_clkout1_c_mux[] = {
1419        AUDIO_CLKOUT1_C_MARK,
1420};
1421
1422static const unsigned int audio_clkout2_a_pins[] = {
1423        /* CLKOUT2_A */
1424        RCAR_GP_PIN(5, 8),
1425};
1426
1427static const unsigned int audio_clkout2_a_mux[] = {
1428        AUDIO_CLKOUT2_A_MARK,
1429};
1430
1431static const unsigned int audio_clkout2_b_pins[] = {
1432        /* CLKOUT2_B */
1433        RCAR_GP_PIN(6, 4),
1434};
1435
1436static const unsigned int audio_clkout2_b_mux[] = {
1437        AUDIO_CLKOUT2_B_MARK,
1438};
1439
1440static const unsigned int audio_clkout2_c_pins[] = {
1441        /* CLKOUT2_C */
1442        RCAR_GP_PIN(6, 15),
1443};
1444
1445static const unsigned int audio_clkout2_c_mux[] = {
1446        AUDIO_CLKOUT2_C_MARK,
1447};
1448
1449static const unsigned int audio_clkout3_a_pins[] = {
1450        /* CLKOUT3_A */
1451        RCAR_GP_PIN(5, 9),
1452};
1453
1454static const unsigned int audio_clkout3_a_mux[] = {
1455        AUDIO_CLKOUT3_A_MARK,
1456};
1457
1458static const unsigned int audio_clkout3_b_pins[] = {
1459        /* CLKOUT3_B */
1460        RCAR_GP_PIN(5, 6),
1461};
1462
1463static const unsigned int audio_clkout3_b_mux[] = {
1464        AUDIO_CLKOUT3_B_MARK,
1465};
1466
1467static const unsigned int audio_clkout3_c_pins[] = {
1468        /* CLKOUT3_C */
1469        RCAR_GP_PIN(6, 16),
1470};
1471
1472static const unsigned int audio_clkout3_c_mux[] = {
1473        AUDIO_CLKOUT3_C_MARK,
1474};
1475
1476/* - EtherAVB --------------------------------------------------------------- */
1477static const unsigned int avb_link_pins[] = {
1478        /* AVB_LINK */
1479        RCAR_GP_PIN(2, 23),
1480};
1481
1482static const unsigned int avb_link_mux[] = {
1483        AVB_LINK_MARK,
1484};
1485
1486static const unsigned int avb_magic_pins[] = {
1487        /* AVB_MAGIC */
1488        RCAR_GP_PIN(2, 22),
1489};
1490
1491static const unsigned int avb_magic_mux[] = {
1492        AVB_MAGIC_MARK,
1493};
1494
1495static const unsigned int avb_phy_int_pins[] = {
1496        /* AVB_PHY_INT */
1497        RCAR_GP_PIN(2, 21),
1498};
1499
1500static const unsigned int avb_phy_int_mux[] = {
1501        AVB_PHY_INT_MARK,
1502};
1503
1504static const unsigned int avb_mii_pins[] = {
1505        /*
1506         * AVB_RX_CTL, AVB_RXC, AVB_RD0,
1507         * AVB_RD1, AVB_RD2, AVB_RD3,
1508         * AVB_TXCREFCLK
1509         */
1510        RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 16),
1511        RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 18), RCAR_GP_PIN(2, 19),
1512        RCAR_GP_PIN(2, 20),
1513};
1514
1515static const unsigned int avb_mii_mux[] = {
1516        AVB_RX_CTL_MARK, AVB_RXC_MARK, AVB_RD0_MARK,
1517        AVB_RD1_MARK, AVB_RD2_MARK, AVB_RD3_MARK,
1518        AVB_TXCREFCLK_MARK,
1519};
1520
1521static const unsigned int avb_avtp_pps_pins[] = {
1522        /* AVB_AVTP_PPS */
1523        RCAR_GP_PIN(1, 2),
1524};
1525
1526static const unsigned int avb_avtp_pps_mux[] = {
1527        AVB_AVTP_PPS_MARK,
1528};
1529
1530static const unsigned int avb_avtp_match_pins[] = {
1531        /* AVB_AVTP_MATCH */
1532        RCAR_GP_PIN(2, 24),
1533};
1534
1535static const unsigned int avb_avtp_match_mux[] = {
1536        AVB_AVTP_MATCH_MARK,
1537};
1538
1539static const unsigned int avb_avtp_capture_pins[] = {
1540        /* AVB_AVTP_CAPTURE */
1541        RCAR_GP_PIN(2, 25),
1542};
1543
1544static const unsigned int avb_avtp_capture_mux[] = {
1545        AVB_AVTP_CAPTURE_MARK,
1546};
1547
1548/* - CAN ------------------------------------------------------------------ */
1549static const unsigned int can0_data_pins[] = {
1550        /* TX, RX */
1551        RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 13),
1552};
1553
1554static const unsigned int can0_data_mux[] = {
1555        CAN0_TX_MARK, CAN0_RX_MARK,
1556};
1557
1558static const unsigned int can1_data_pins[] = {
1559        /* TX, RX */
1560        RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 7),
1561};
1562
1563static const unsigned int can1_data_mux[] = {
1564        CAN1_TX_MARK, CAN1_RX_MARK,
1565};
1566
1567/* - CAN Clock -------------------------------------------------------------- */
1568static const unsigned int can_clk_pins[] = {
1569        /* CLK */
1570        RCAR_GP_PIN(0, 14),
1571};
1572
1573static const unsigned int can_clk_mux[] = {
1574        CAN_CLK_MARK,
1575};
1576
1577/* - CAN FD --------------------------------------------------------------- */
1578static const unsigned int canfd0_data_pins[] = {
1579        /* TX, RX */
1580        RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 13),
1581};
1582
1583static const unsigned int canfd0_data_mux[] = {
1584        CANFD0_TX_MARK, CANFD0_RX_MARK,
1585};
1586
1587static const unsigned int canfd1_data_pins[] = {
1588        /* TX, RX */
1589        RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 7),
1590};
1591
1592static const unsigned int canfd1_data_mux[] = {
1593        CANFD1_TX_MARK, CANFD1_RX_MARK,
1594};
1595
1596/* - DRIF0 --------------------------------------------------------------- */
1597static const unsigned int drif0_ctrl_a_pins[] = {
1598        /* CLK, SYNC */
1599        RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 19),
1600};
1601
1602static const unsigned int drif0_ctrl_a_mux[] = {
1603        RIF0_CLK_A_MARK, RIF0_SYNC_A_MARK,
1604};
1605
1606static const unsigned int drif0_data0_a_pins[] = {
1607        /* D0 */
1608        RCAR_GP_PIN(5, 17),
1609};
1610
1611static const unsigned int drif0_data0_a_mux[] = {
1612        RIF0_D0_A_MARK,
1613};
1614
1615static const unsigned int drif0_data1_a_pins[] = {
1616        /* D1 */
1617        RCAR_GP_PIN(5, 18),
1618};
1619
1620static const unsigned int drif0_data1_a_mux[] = {
1621        RIF0_D1_A_MARK,
1622};
1623
1624static const unsigned int drif0_ctrl_b_pins[] = {
1625        /* CLK, SYNC */
1626        RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 15),
1627};
1628
1629static const unsigned int drif0_ctrl_b_mux[] = {
1630        RIF0_CLK_B_MARK, RIF0_SYNC_B_MARK,
1631};
1632
1633static const unsigned int drif0_data0_b_pins[] = {
1634        /* D0 */
1635        RCAR_GP_PIN(3, 13),
1636};
1637
1638static const unsigned int drif0_data0_b_mux[] = {
1639        RIF0_D0_B_MARK,
1640};
1641
1642static const unsigned int drif0_data1_b_pins[] = {
1643        /* D1 */
1644        RCAR_GP_PIN(3, 14),
1645};
1646
1647static const unsigned int drif0_data1_b_mux[] = {
1648        RIF0_D1_B_MARK,
1649};
1650
1651/* - DRIF1 --------------------------------------------------------------- */
1652static const unsigned int drif1_ctrl_pins[] = {
1653        /* CLK, SYNC */
1654        RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 1),
1655};
1656
1657static const unsigned int drif1_ctrl_mux[] = {
1658        RIF1_CLK_MARK, RIF1_SYNC_MARK,
1659};
1660
1661static const unsigned int drif1_data0_pins[] = {
1662        /* D0 */
1663        RCAR_GP_PIN(5, 2),
1664};
1665
1666static const unsigned int drif1_data0_mux[] = {
1667        RIF1_D0_MARK,
1668};
1669
1670static const unsigned int drif1_data1_pins[] = {
1671        /* D1 */
1672        RCAR_GP_PIN(5, 3),
1673};
1674
1675static const unsigned int drif1_data1_mux[] = {
1676        RIF1_D1_MARK,
1677};
1678
1679/* - DRIF2 --------------------------------------------------------------- */
1680static const unsigned int drif2_ctrl_a_pins[] = {
1681        /* CLK, SYNC */
1682        RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 7),
1683};
1684
1685static const unsigned int drif2_ctrl_a_mux[] = {
1686        RIF2_CLK_A_MARK, RIF2_SYNC_A_MARK,
1687};
1688
1689static const unsigned int drif2_data0_a_pins[] = {
1690        /* D0 */
1691        RCAR_GP_PIN(2, 8),
1692};
1693
1694static const unsigned int drif2_data0_a_mux[] = {
1695        RIF2_D0_A_MARK,
1696};
1697
1698static const unsigned int drif2_data1_a_pins[] = {
1699        /* D1 */
1700        RCAR_GP_PIN(2, 9),
1701};
1702
1703static const unsigned int drif2_data1_a_mux[] = {
1704        RIF2_D1_A_MARK,
1705};
1706
1707static const unsigned int drif2_ctrl_b_pins[] = {
1708        /* CLK, SYNC */
1709        RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 5),
1710};
1711
1712static const unsigned int drif2_ctrl_b_mux[] = {
1713        RIF2_CLK_B_MARK, RIF2_SYNC_B_MARK,
1714};
1715
1716static const unsigned int drif2_data0_b_pins[] = {
1717        /* D0 */
1718        RCAR_GP_PIN(1, 6),
1719};
1720
1721static const unsigned int drif2_data0_b_mux[] = {
1722        RIF2_D0_B_MARK,
1723};
1724
1725static const unsigned int drif2_data1_b_pins[] = {
1726        /* D1 */
1727        RCAR_GP_PIN(1, 7),
1728};
1729
1730static const unsigned int drif2_data1_b_mux[] = {
1731        RIF2_D1_B_MARK,
1732};
1733
1734/* - DRIF3 --------------------------------------------------------------- */
1735static const unsigned int drif3_ctrl_a_pins[] = {
1736        /* CLK, SYNC */
1737        RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11),
1738};
1739
1740static const unsigned int drif3_ctrl_a_mux[] = {
1741        RIF3_CLK_A_MARK, RIF3_SYNC_A_MARK,
1742};
1743
1744static const unsigned int drif3_data0_a_pins[] = {
1745        /* D0 */
1746        RCAR_GP_PIN(2, 12),
1747};
1748
1749static const unsigned int drif3_data0_a_mux[] = {
1750        RIF3_D0_A_MARK,
1751};
1752
1753static const unsigned int drif3_data1_a_pins[] = {
1754        /* D1 */
1755        RCAR_GP_PIN(2, 13),
1756};
1757
1758static const unsigned int drif3_data1_a_mux[] = {
1759        RIF3_D1_A_MARK,
1760};
1761
1762static const unsigned int drif3_ctrl_b_pins[] = {
1763        /* CLK, SYNC */
1764        RCAR_GP_PIN(0, 8), RCAR_GP_PIN(0, 9),
1765};
1766
1767static const unsigned int drif3_ctrl_b_mux[] = {
1768        RIF3_CLK_B_MARK, RIF3_SYNC_B_MARK,
1769};
1770
1771static const unsigned int drif3_data0_b_pins[] = {
1772        /* D0 */
1773        RCAR_GP_PIN(0, 10),
1774};
1775
1776static const unsigned int drif3_data0_b_mux[] = {
1777        RIF3_D0_B_MARK,
1778};
1779
1780static const unsigned int drif3_data1_b_pins[] = {
1781        /* D1 */
1782        RCAR_GP_PIN(0, 11),
1783};
1784
1785static const unsigned int drif3_data1_b_mux[] = {
1786        RIF3_D1_B_MARK,
1787};
1788
1789/* - DU --------------------------------------------------------------------- */
1790static const unsigned int du_rgb666_pins[] = {
1791        /* R[7:2], G[7:2], B[7:2] */
1792        RCAR_GP_PIN(0, 8),  RCAR_GP_PIN(0, 6),  RCAR_GP_PIN(0, 5),
1793        RCAR_GP_PIN(0, 3),  RCAR_GP_PIN(0, 2),  RCAR_GP_PIN(0, 0),
1794        RCAR_GP_PIN(1, 9),  RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 10),
1795        RCAR_GP_PIN(1, 4),  RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 11),
1796        RCAR_GP_PIN(0, 1),  RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16),
1797        RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13),
1798};
1799static const unsigned int du_rgb666_mux[] = {
1800        DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK,
1801        DU_DR3_MARK, DU_DR2_MARK,
1802        DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK,
1803        DU_DG3_MARK, DU_DG2_MARK,
1804        DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK,
1805        DU_DB3_MARK, DU_DB2_MARK,
1806};
1807static const unsigned int du_rgb888_pins[] = {
1808        /* R[7:0], G[7:0], B[7:0] */
1809        RCAR_GP_PIN(0, 8),  RCAR_GP_PIN(0, 6),  RCAR_GP_PIN(0, 5),
1810        RCAR_GP_PIN(0, 3),  RCAR_GP_PIN(0, 2),  RCAR_GP_PIN(0, 0),
1811        RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21),
1812        RCAR_GP_PIN(1, 9),  RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 10),
1813        RCAR_GP_PIN(1, 4),  RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 11),
1814        RCAR_GP_PIN(0, 10), RCAR_GP_PIN(0, 9),
1815        RCAR_GP_PIN(0, 1),  RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16),
1816        RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13),
1817        RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18),
1818};
1819static const unsigned int du_rgb888_mux[] = {
1820        DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK,
1821        DU_DR3_MARK, DU_DR2_MARK, DU_DR1_MARK, DU_DR0_MARK,
1822        DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK,
1823        DU_DG3_MARK, DU_DG2_MARK, DU_DG1_MARK, DU_DG0_MARK,
1824        DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK,
1825        DU_DB3_MARK, DU_DB2_MARK, DU_DB1_MARK, DU_DB0_MARK,
1826};
1827static const unsigned int du_clk_in_0_pins[] = {
1828        /* CLKIN0 */
1829        RCAR_GP_PIN(0, 16),
1830};
1831static const unsigned int du_clk_in_0_mux[] = {
1832        DU_DOTCLKIN0_MARK
1833};
1834static const unsigned int du_clk_in_1_pins[] = {
1835        /* CLKIN1 */
1836        RCAR_GP_PIN(1, 1),
1837};
1838static const unsigned int du_clk_in_1_mux[] = {
1839        DU_DOTCLKIN1_MARK
1840};
1841static const unsigned int du_clk_out_0_pins[] = {
1842        /* CLKOUT */
1843        RCAR_GP_PIN(1, 3),
1844};
1845static const unsigned int du_clk_out_0_mux[] = {
1846        DU_DOTCLKOUT0_MARK
1847};
1848static const unsigned int du_sync_pins[] = {
1849        /* VSYNC, HSYNC */
1850        RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 8),
1851};
1852static const unsigned int du_sync_mux[] = {
1853        DU_VSYNC_MARK, DU_HSYNC_MARK
1854};
1855static const unsigned int du_disp_cde_pins[] = {
1856        /* DISP_CDE */
1857        RCAR_GP_PIN(1, 1),
1858};
1859static const unsigned int du_disp_cde_mux[] = {
1860        DU_DISP_CDE_MARK,
1861};
1862static const unsigned int du_cde_pins[] = {
1863        /* CDE */
1864        RCAR_GP_PIN(1, 0),
1865};
1866static const unsigned int du_cde_mux[] = {
1867        DU_CDE_MARK,
1868};
1869static const unsigned int du_disp_pins[] = {
1870        /* DISP */
1871        RCAR_GP_PIN(1, 2),
1872};
1873static const unsigned int du_disp_mux[] = {
1874        DU_DISP_MARK,
1875};
1876
1877/* - HSCIF0 --------------------------------------------------*/
1878static const unsigned int hscif0_data_a_pins[] = {
1879        /* RX, TX */
1880        RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9),
1881};
1882
1883static const unsigned int hscif0_data_a_mux[] = {
1884        HRX0_A_MARK, HTX0_A_MARK,
1885};
1886
1887static const unsigned int hscif0_clk_a_pins[] = {
1888        /* SCK */
1889        RCAR_GP_PIN(5, 7),
1890};
1891
1892static const unsigned int hscif0_clk_a_mux[] = {
1893        HSCK0_A_MARK,
1894};
1895
1896static const unsigned int hscif0_ctrl_a_pins[] = {
1897        /* RTS, CTS */
1898        RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 14),
1899};
1900
1901static const unsigned int hscif0_ctrl_a_mux[] = {
1902        HRTS0_N_A_MARK, HCTS0_N_A_MARK,
1903};
1904
1905static const unsigned int hscif0_data_b_pins[] = {
1906        /* RX, TX */
1907        RCAR_GP_PIN(6, 11), RCAR_GP_PIN(6, 12),
1908};
1909
1910static const unsigned int hscif0_data_b_mux[] = {
1911        HRX0_B_MARK, HTX0_B_MARK,
1912};
1913
1914static const unsigned int hscif0_clk_b_pins[] = {
1915        /* SCK */
1916        RCAR_GP_PIN(6, 13),
1917};
1918
1919static const unsigned int hscif0_clk_b_mux[] = {
1920        HSCK0_B_MARK,
1921};
1922
1923/* - HSCIF1 ------------------------------------------------- */
1924static const unsigned int hscif1_data_a_pins[] = {
1925        /* RX, TX */
1926        RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
1927};
1928
1929static const unsigned int hscif1_data_a_mux[] = {
1930        HRX1_A_MARK, HTX1_A_MARK,
1931};
1932
1933static const unsigned int hscif1_clk_a_pins[] = {
1934        /* SCK */
1935        RCAR_GP_PIN(5, 0),
1936};
1937
1938static const unsigned int hscif1_clk_a_mux[] = {
1939        HSCK1_A_MARK,
1940};
1941
1942static const unsigned int hscif1_data_b_pins[] = {
1943        /* RX, TX */
1944        RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 2),
1945};
1946
1947static const unsigned int hscif1_data_b_mux[] = {
1948        HRX1_B_MARK, HTX1_B_MARK,
1949};
1950
1951static const unsigned int hscif1_clk_b_pins[] = {
1952        /* SCK */
1953        RCAR_GP_PIN(3, 0),
1954};
1955
1956static const unsigned int hscif1_clk_b_mux[] = {
1957        HSCK1_B_MARK,
1958};
1959
1960static const unsigned int hscif1_ctrl_b_pins[] = {
1961        /* RTS, CTS */
1962        RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 3),
1963};
1964
1965static const unsigned int hscif1_ctrl_b_mux[] = {
1966        HRTS1_N_B_MARK, HCTS1_N_B_MARK,
1967};
1968
1969/* - HSCIF2 ------------------------------------------------- */
1970static const unsigned int hscif2_data_a_pins[] = {
1971        /* RX, TX */
1972        RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 15),
1973};
1974
1975static const unsigned int hscif2_data_a_mux[] = {
1976        HRX2_A_MARK, HTX2_A_MARK,
1977};
1978
1979static const unsigned int hscif2_clk_a_pins[] = {
1980        /* SCK */
1981        RCAR_GP_PIN(6, 14),
1982};
1983
1984static const unsigned int hscif2_clk_a_mux[] = {
1985        HSCK2_A_MARK,
1986};
1987
1988static const unsigned int hscif2_ctrl_a_pins[] = {
1989        /* RTS, CTS */
1990        RCAR_GP_PIN(6, 16), RCAR_GP_PIN(6, 15),
1991};
1992
1993static const unsigned int hscif2_ctrl_a_mux[] = {
1994        HRTS2_N_A_MARK, HCTS2_N_A_MARK,
1995};
1996
1997static const unsigned int hscif2_data_b_pins[] = {
1998        /* RX, TX */
1999        RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6),
2000};
2001
2002static const unsigned int hscif2_data_b_mux[] = {
2003        HRX2_B_MARK, HTX2_B_MARK,
2004};
2005
2006/* - HSCIF3 ------------------------------------------------*/
2007static const unsigned int hscif3_data_a_pins[] = {
2008        /* RX, TX */
2009        RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 15),
2010};
2011
2012static const unsigned int hscif3_data_a_mux[] = {
2013        HRX3_A_MARK, HTX3_A_MARK,
2014};
2015
2016static const unsigned int hscif3_data_b_pins[] = {
2017        /* RX, TX */
2018        RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6),
2019};
2020
2021static const unsigned int hscif3_data_b_mux[] = {
2022        HRX3_B_MARK, HTX3_B_MARK,
2023};
2024
2025static const unsigned int hscif3_clk_b_pins[] = {
2026        /* SCK */
2027        RCAR_GP_PIN(0, 4),
2028};
2029
2030static const unsigned int hscif3_clk_b_mux[] = {
2031        HSCK3_B_MARK,
2032};
2033
2034static const unsigned int hscif3_data_c_pins[] = {
2035        /* RX, TX */
2036        RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 9),
2037};
2038
2039static const unsigned int hscif3_data_c_mux[] = {
2040        HRX3_C_MARK, HTX3_C_MARK,
2041};
2042
2043static const unsigned int hscif3_clk_c_pins[] = {
2044        /* SCK */
2045        RCAR_GP_PIN(2, 11),
2046};
2047
2048static const unsigned int hscif3_clk_c_mux[] = {
2049        HSCK3_C_MARK,
2050};
2051
2052static const unsigned int hscif3_ctrl_c_pins[] = {
2053        /* RTS, CTS */
2054        RCAR_GP_PIN(2, 13), RCAR_GP_PIN(2, 12),
2055};
2056
2057static const unsigned int hscif3_ctrl_c_mux[] = {
2058        HRTS3_N_C_MARK, HCTS3_N_C_MARK,
2059};
2060
2061static const unsigned int hscif3_data_d_pins[] = {
2062        /* RX, TX */
2063        RCAR_GP_PIN(1, 0), RCAR_GP_PIN(1, 3),
2064};
2065
2066static const unsigned int hscif3_data_d_mux[] = {
2067        HRX3_D_MARK, HTX3_D_MARK,
2068};
2069
2070static const unsigned int hscif3_data_e_pins[] = {
2071        /* RX, TX */
2072        RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10),
2073};
2074
2075static const unsigned int hscif3_data_e_mux[] = {
2076        HRX3_E_MARK, HTX3_E_MARK,
2077};
2078
2079static const unsigned int hscif3_ctrl_e_pins[] = {
2080        /* RTS, CTS */
2081        RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 8),
2082};
2083
2084static const unsigned int hscif3_ctrl_e_mux[] = {
2085        HRTS3_N_E_MARK, HCTS3_N_E_MARK,
2086};
2087
2088/* - HSCIF4 -------------------------------------------------- */
2089static const unsigned int hscif4_data_a_pins[] = {
2090        /* RX, TX */
2091        RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 3),
2092};
2093
2094static const unsigned int hscif4_data_a_mux[] = {
2095        HRX4_A_MARK, HTX4_A_MARK,
2096};
2097
2098static const unsigned int hscif4_clk_a_pins[] = {
2099        /* SCK */
2100        RCAR_GP_PIN(2, 0),
2101};
2102
2103static const unsigned int hscif4_clk_a_mux[] = {
2104        HSCK4_A_MARK,
2105};
2106
2107static const unsigned int hscif4_ctrl_a_pins[] = {
2108        /* RTS, CTS */
2109        RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 1),
2110};
2111
2112static const unsigned int hscif4_ctrl_a_mux[] = {
2113        HRTS4_N_A_MARK, HCTS4_N_A_MARK,
2114};
2115
2116static const unsigned int hscif4_data_b_pins[] = {
2117        /* RX, TX */
2118        RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 7),
2119};
2120
2121static const unsigned int hscif4_data_b_mux[] = {
2122        HRX4_B_MARK, HTX4_B_MARK,
2123};
2124
2125static const unsigned int hscif4_clk_b_pins[] = {
2126        /* SCK */
2127        RCAR_GP_PIN(2, 6),
2128};
2129
2130static const unsigned int hscif4_clk_b_mux[] = {
2131        HSCK4_B_MARK,
2132};
2133
2134static const unsigned int hscif4_data_c_pins[] = {
2135        /* RX, TX */
2136        RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 11),
2137};
2138
2139static const unsigned int hscif4_data_c_mux[] = {
2140        HRX4_C_MARK, HTX4_C_MARK,
2141};
2142
2143static const unsigned int hscif4_data_d_pins[] = {
2144        /* RX, TX */
2145        RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 14),
2146};
2147
2148static const unsigned int hscif4_data_d_mux[] = {
2149        HRX4_D_MARK, HTX4_D_MARK,
2150};
2151
2152static const unsigned int hscif4_data_e_pins[] = {
2153        /* RX, TX */
2154        RCAR_GP_PIN(1, 18), RCAR_GP_PIN(1, 19),
2155};
2156
2157static const unsigned int hscif4_data_e_mux[] = {
2158        HRX4_E_MARK, HTX4_E_MARK,
2159};
2160
2161/* - I2C -------------------------------------------------------------------- */
2162static const unsigned int i2c1_a_pins[] = {
2163        /* SCL, SDA */
2164        RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9),
2165};
2166
2167static const unsigned int i2c1_a_mux[] = {
2168        SCL1_A_MARK, SDA1_A_MARK,
2169};
2170
2171static const unsigned int i2c1_b_pins[] = {
2172        /* SCL, SDA */
2173        RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 18),
2174};
2175
2176static const unsigned int i2c1_b_mux[] = {
2177        SCL1_B_MARK, SDA1_B_MARK,
2178};
2179
2180static const unsigned int i2c1_c_pins[] = {
2181        /* SCL, SDA */
2182        RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 5),
2183};
2184
2185static const unsigned int i2c1_c_mux[] = {
2186        SCL1_C_MARK, SDA1_C_MARK,
2187};
2188
2189static const unsigned int i2c1_d_pins[] = {
2190        /* SCL, SDA */
2191        RCAR_GP_PIN(6, 16), RCAR_GP_PIN(6, 15),
2192};
2193
2194static const unsigned int i2c1_d_mux[] = {
2195        SCL1_D_MARK, SDA1_D_MARK,
2196};
2197
2198static const unsigned int i2c2_a_pins[] = {
2199        /* SCL, SDA */
2200        RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 0),
2201};
2202
2203static const unsigned int i2c2_a_mux[] = {
2204        SCL2_A_MARK, SDA2_A_MARK,
2205};
2206
2207static const unsigned int i2c2_b_pins[] = {
2208        /* SCL, SDA */
2209        RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 13),
2210};
2211
2212static const unsigned int i2c2_b_mux[] = {
2213        SCL2_B_MARK, SDA2_B_MARK,
2214};
2215
2216static const unsigned int i2c2_c_pins[] = {
2217        /* SCL, SDA */
2218        RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 3),
2219};
2220
2221static const unsigned int i2c2_c_mux[] = {
2222        SCL2_C_MARK, SDA2_C_MARK,
2223};
2224
2225static const unsigned int i2c2_d_pins[] = {
2226        /* SCL, SDA */
2227        RCAR_GP_PIN(6, 11), RCAR_GP_PIN(6, 12),
2228};
2229
2230static const unsigned int i2c2_d_mux[] = {
2231        SCL2_D_MARK, SDA2_D_MARK,
2232};
2233
2234static const unsigned int i2c2_e_pins[] = {
2235        /* SCL, SDA */
2236        RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 0),
2237};
2238
2239static const unsigned int i2c2_e_mux[] = {
2240        SCL2_E_MARK, SDA2_E_MARK,
2241};
2242
2243static const unsigned int i2c4_pins[] = {
2244        /* SCL, SDA */
2245        RCAR_GP_PIN(0, 16), RCAR_GP_PIN(0, 17),
2246};
2247
2248static const unsigned int i2c4_mux[] = {
2249        SCL4_MARK, SDA4_MARK,
2250};
2251
2252static const unsigned int i2c5_pins[] = {
2253        /* SCL, SDA */
2254        RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
2255};
2256
2257static const unsigned int i2c5_mux[] = {
2258        SCL5_MARK, SDA5_MARK,
2259};
2260
2261static const unsigned int i2c6_a_pins[] = {
2262        /* SCL, SDA */
2263        RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 8),
2264};
2265
2266static const unsigned int i2c6_a_mux[] = {
2267        SCL6_A_MARK, SDA6_A_MARK,
2268};
2269
2270static const unsigned int i2c6_b_pins[] = {
2271        /* SCL, SDA */
2272        RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 1),
2273};
2274
2275static const unsigned int i2c6_b_mux[] = {
2276        SCL6_B_MARK, SDA6_B_MARK,
2277};
2278
2279static const unsigned int i2c7_a_pins[] = {
2280        /* SCL, SDA */
2281        RCAR_GP_PIN(2, 24), RCAR_GP_PIN(2, 25),
2282};
2283
2284static const unsigned int i2c7_a_mux[] = {
2285        SCL7_A_MARK, SDA7_A_MARK,
2286};
2287
2288static const unsigned int i2c7_b_pins[] = {
2289        /* SCL, SDA */
2290        RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 14),
2291};
2292
2293static const unsigned int i2c7_b_mux[] = {
2294        SCL7_B_MARK, SDA7_B_MARK,
2295};
2296
2297/* - INTC-EX ---------------------------------------------------------------- */
2298static const unsigned int intc_ex_irq0_pins[] = {
2299        /* IRQ0 */
2300        RCAR_GP_PIN(1, 0),
2301};
2302static const unsigned int intc_ex_irq0_mux[] = {
2303        IRQ0_MARK,
2304};
2305static const unsigned int intc_ex_irq1_pins[] = {
2306        /* IRQ1 */
2307        RCAR_GP_PIN(1, 1),
2308};
2309static const unsigned int intc_ex_irq1_mux[] = {
2310        IRQ1_MARK,
2311};
2312static const unsigned int intc_ex_irq2_pins[] = {
2313        /* IRQ2 */
2314        RCAR_GP_PIN(1, 2),
2315};
2316static const unsigned int intc_ex_irq2_mux[] = {
2317        IRQ2_MARK,
2318};
2319static const unsigned int intc_ex_irq3_pins[] = {
2320        /* IRQ3 */
2321        RCAR_GP_PIN(1, 9),
2322};
2323static const unsigned int intc_ex_irq3_mux[] = {
2324        IRQ3_MARK,
2325};
2326static const unsigned int intc_ex_irq4_pins[] = {
2327        /* IRQ4 */
2328        RCAR_GP_PIN(1, 10),
2329};
2330static const unsigned int intc_ex_irq4_mux[] = {
2331        IRQ4_MARK,
2332};
2333static const unsigned int intc_ex_irq5_pins[] = {
2334        /* IRQ5 */
2335        RCAR_GP_PIN(0, 7),
2336};
2337static const unsigned int intc_ex_irq5_mux[] = {
2338        IRQ5_MARK,
2339};
2340
2341/* - MSIOF0 ----------------------------------------------------------------- */
2342static const unsigned int msiof0_clk_pins[] = {
2343        /* SCK */
2344        RCAR_GP_PIN(5, 10),
2345};
2346
2347static const unsigned int msiof0_clk_mux[] = {
2348        MSIOF0_SCK_MARK,
2349};
2350
2351static const unsigned int msiof0_sync_pins[] = {
2352        /* SYNC */
2353        RCAR_GP_PIN(5, 13),
2354};
2355
2356static const unsigned int msiof0_sync_mux[] = {
2357        MSIOF0_SYNC_MARK,
2358};
2359
2360static const unsigned int msiof0_ss1_pins[] = {
2361        /* SS1 */
2362        RCAR_GP_PIN(5, 14),
2363};
2364
2365static const unsigned int msiof0_ss1_mux[] = {
2366        MSIOF0_SS1_MARK,
2367};
2368
2369static const unsigned int msiof0_ss2_pins[] = {
2370        /* SS2 */
2371        RCAR_GP_PIN(5, 15),
2372};
2373
2374static const unsigned int msiof0_ss2_mux[] = {
2375        MSIOF0_SS2_MARK,
2376};
2377
2378static const unsigned int msiof0_txd_pins[] = {
2379        /* TXD */
2380        RCAR_GP_PIN(5, 12),
2381};
2382
2383static const unsigned int msiof0_txd_mux[] = {
2384        MSIOF0_TXD_MARK,
2385};
2386
2387static const unsigned int msiof0_rxd_pins[] = {
2388        /* RXD */
2389        RCAR_GP_PIN(5, 11),
2390};
2391
2392static const unsigned int msiof0_rxd_mux[] = {
2393        MSIOF0_RXD_MARK,
2394};
2395
2396/* - MSIOF1 ----------------------------------------------------------------- */
2397static const unsigned int msiof1_clk_pins[] = {
2398        /* SCK */
2399        RCAR_GP_PIN(1, 19),
2400};
2401
2402static const unsigned int msiof1_clk_mux[] = {
2403        MSIOF1_SCK_MARK,
2404};
2405
2406static const unsigned int msiof1_sync_pins[] = {
2407        /* SYNC */
2408        RCAR_GP_PIN(1, 16),
2409};
2410
2411static const unsigned int msiof1_sync_mux[] = {
2412        MSIOF1_SYNC_MARK,
2413};
2414
2415static const unsigned int msiof1_ss1_pins[] = {
2416        /* SS1 */
2417        RCAR_GP_PIN(1, 14),
2418};
2419
2420static const unsigned int msiof1_ss1_mux[] = {
2421        MSIOF1_SS1_MARK,
2422};
2423
2424static const unsigned int msiof1_ss2_pins[] = {
2425        /* SS2 */
2426        RCAR_GP_PIN(1, 15),
2427};
2428
2429static const unsigned int msiof1_ss2_mux[] = {
2430        MSIOF1_SS2_MARK,
2431};
2432
2433static const unsigned int msiof1_txd_pins[] = {
2434        /* TXD */
2435        RCAR_GP_PIN(1, 18),
2436};
2437
2438static const unsigned int msiof1_txd_mux[] = {
2439        MSIOF1_TXD_MARK,
2440};
2441
2442static const unsigned int msiof1_rxd_pins[] = {
2443        /* RXD */
2444        RCAR_GP_PIN(1, 17),
2445};
2446
2447static const unsigned int msiof1_rxd_mux[] = {
2448        MSIOF1_RXD_MARK,
2449};
2450
2451/* - MSIOF2 ----------------------------------------------------------------- */
2452static const unsigned int msiof2_clk_a_pins[] = {
2453        /* SCK */
2454        RCAR_GP_PIN(0, 8),
2455};
2456
2457static const unsigned int msiof2_clk_a_mux[] = {
2458        MSIOF2_SCK_A_MARK,
2459};
2460
2461static const unsigned int msiof2_sync_a_pins[] = {
2462        /* SYNC */
2463        RCAR_GP_PIN(0, 9),
2464};
2465
2466static const unsigned int msiof2_sync_a_mux[] = {
2467        MSIOF2_SYNC_A_MARK,
2468};
2469
2470static const unsigned int msiof2_ss1_a_pins[] = {
2471        /* SS1 */
2472        RCAR_GP_PIN(0, 15),
2473};
2474
2475static const unsigned int msiof2_ss1_a_mux[] = {
2476        MSIOF2_SS1_A_MARK,
2477};
2478
2479static const unsigned int msiof2_ss2_a_pins[] = {
2480        /* SS2 */
2481        RCAR_GP_PIN(0, 14),
2482};
2483
2484static const unsigned int msiof2_ss2_a_mux[] = {
2485        MSIOF2_SS2_A_MARK,
2486};
2487
2488static const unsigned int msiof2_txd_a_pins[] = {
2489        /* TXD */
2490        RCAR_GP_PIN(0, 11),
2491};
2492
2493static const unsigned int msiof2_txd_a_mux[] = {
2494        MSIOF2_TXD_A_MARK,
2495};
2496
2497static const unsigned int msiof2_rxd_a_pins[] = {
2498        /* RXD */
2499        RCAR_GP_PIN(0, 10),
2500};
2501
2502static const unsigned int msiof2_rxd_a_mux[] = {
2503        MSIOF2_RXD_A_MARK,
2504};
2505
2506static const unsigned int msiof2_clk_b_pins[] = {
2507        /* SCK */
2508        RCAR_GP_PIN(1, 13),
2509};
2510
2511static const unsigned int msiof2_clk_b_mux[] = {
2512        MSIOF2_SCK_B_MARK,
2513};
2514
2515static const unsigned int msiof2_sync_b_pins[] = {
2516        /* SYNC */
2517        RCAR_GP_PIN(1, 10),
2518};
2519
2520static const unsigned int msiof2_sync_b_mux[] = {
2521        MSIOF2_SYNC_B_MARK,
2522};
2523
2524static const unsigned int msiof2_ss1_b_pins[] = {
2525        /* SS1 */
2526        RCAR_GP_PIN(1, 16),
2527};
2528
2529static const unsigned int msiof2_ss1_b_mux[] = {
2530        MSIOF2_SS1_B_MARK,
2531};
2532
2533static const unsigned int msiof2_ss2_b_pins[] = {
2534        /* SS2 */
2535        RCAR_GP_PIN(1, 12),
2536};
2537
2538static const unsigned int msiof2_ss2_b_mux[] = {
2539        MSIOF2_SS2_B_MARK,
2540};
2541
2542static const unsigned int msiof2_txd_b_pins[] = {
2543        /* TXD */
2544        RCAR_GP_PIN(1, 15),
2545};
2546
2547static const unsigned int msiof2_txd_b_mux[] = {
2548        MSIOF2_TXD_B_MARK,
2549};
2550
2551static const unsigned int msiof2_rxd_b_pins[] = {
2552        /* RXD */
2553        RCAR_GP_PIN(1, 14),
2554};
2555
2556static const unsigned int msiof2_rxd_b_mux[] = {
2557        MSIOF2_RXD_B_MARK,
2558};
2559
2560/* - MSIOF3 ----------------------------------------------------------------- */
2561static const unsigned int msiof3_clk_a_pins[] = {
2562        /* SCK */
2563        RCAR_GP_PIN(0, 0),
2564};
2565
2566static const unsigned int msiof3_clk_a_mux[] = {
2567        MSIOF3_SCK_A_MARK,
2568};
2569
2570static const unsigned int msiof3_sync_a_pins[] = {
2571        /* SYNC */
2572        RCAR_GP_PIN(0, 1),
2573};
2574
2575static const unsigned int msiof3_sync_a_mux[] = {
2576        MSIOF3_SYNC_A_MARK,
2577};
2578
2579static const unsigned int msiof3_ss1_a_pins[] = {
2580        /* SS1 */
2581        RCAR_GP_PIN(0, 15),
2582};
2583
2584static const unsigned int msiof3_ss1_a_mux[] = {
2585        MSIOF3_SS1_A_MARK,
2586};
2587
2588static const unsigned int msiof3_ss2_a_pins[] = {
2589        /* SS2 */
2590        RCAR_GP_PIN(0, 4),
2591};
2592
2593static const unsigned int msiof3_ss2_a_mux[] = {
2594        MSIOF3_SS2_A_MARK,
2595};
2596
2597static const unsigned int msiof3_txd_a_pins[] = {
2598        /* TXD */
2599        RCAR_GP_PIN(0, 3),
2600};
2601
2602static const unsigned int msiof3_txd_a_mux[] = {
2603        MSIOF3_TXD_A_MARK,
2604};
2605
2606static const unsigned int msiof3_rxd_a_pins[] = {
2607        /* RXD */
2608        RCAR_GP_PIN(0, 2),
2609};
2610
2611static const unsigned int msiof3_rxd_a_mux[] = {
2612        MSIOF3_RXD_A_MARK,
2613};
2614
2615static const unsigned int msiof3_clk_b_pins[] = {
2616        /* SCK */
2617        RCAR_GP_PIN(1, 5),
2618};
2619
2620static const unsigned int msiof3_clk_b_mux[] = {
2621        MSIOF3_SCK_B_MARK,
2622};
2623
2624static const unsigned int msiof3_sync_b_pins[] = {
2625        /* SYNC */
2626        RCAR_GP_PIN(1, 4),
2627};
2628
2629static const unsigned int msiof3_sync_b_mux[] = {
2630        MSIOF3_SYNC_B_MARK,
2631};
2632
2633static const unsigned int msiof3_ss1_b_pins[] = {
2634        /* SS1 */
2635        RCAR_GP_PIN(1, 0),
2636};
2637
2638static const unsigned int msiof3_ss1_b_mux[] = {
2639        MSIOF3_SS1_B_MARK,
2640};
2641
2642static const unsigned int msiof3_txd_b_pins[] = {
2643        /* TXD */
2644        RCAR_GP_PIN(1, 7),
2645};
2646
2647static const unsigned int msiof3_txd_b_mux[] = {
2648        MSIOF3_TXD_B_MARK,
2649};
2650
2651static const unsigned int msiof3_rxd_b_pins[] = {
2652        /* RXD */
2653        RCAR_GP_PIN(1, 6),
2654};
2655
2656static const unsigned int msiof3_rxd_b_mux[] = {
2657        MSIOF3_RXD_B_MARK,
2658};
2659
2660/* - PWM0 --------------------------------------------------------------------*/
2661static const unsigned int pwm0_a_pins[] = {
2662        /* PWM */
2663        RCAR_GP_PIN(2, 22),
2664};
2665
2666static const unsigned int pwm0_a_mux[] = {
2667        PWM0_A_MARK,
2668};
2669
2670static const unsigned int pwm0_b_pins[] = {
2671        /* PWM */
2672        RCAR_GP_PIN(6, 3),
2673};
2674
2675static const unsigned int pwm0_b_mux[] = {
2676        PWM0_B_MARK,
2677};
2678
2679/* - PWM1 --------------------------------------------------------------------*/
2680static const unsigned int pwm1_a_pins[] = {
2681        /* PWM */
2682        RCAR_GP_PIN(2, 23),
2683};
2684
2685static const unsigned int pwm1_a_mux[] = {
2686        PWM1_A_MARK,
2687};
2688
2689static const unsigned int pwm1_b_pins[] = {
2690        /* PWM */
2691        RCAR_GP_PIN(6, 4),
2692};
2693
2694static const unsigned int pwm1_b_mux[] = {
2695        PWM1_B_MARK,
2696};
2697
2698/* - PWM2 --------------------------------------------------------------------*/
2699static const unsigned int pwm2_a_pins[] = {
2700        /* PWM */
2701        RCAR_GP_PIN(1, 0),
2702};
2703
2704static const unsigned int pwm2_a_mux[] = {
2705        PWM2_A_MARK,
2706};
2707
2708static const unsigned int pwm2_b_pins[] = {
2709        /* PWM */
2710        RCAR_GP_PIN(1, 4),
2711};
2712
2713static const unsigned int pwm2_b_mux[] = {
2714        PWM2_B_MARK,
2715};
2716
2717static const unsigned int pwm2_c_pins[] = {
2718        /* PWM */
2719        RCAR_GP_PIN(6, 5),
2720};
2721
2722static const unsigned int pwm2_c_mux[] = {
2723        PWM2_C_MARK,
2724};
2725
2726/* - PWM3 --------------------------------------------------------------------*/
2727static const unsigned int pwm3_a_pins[] = {
2728        /* PWM */
2729        RCAR_GP_PIN(1, 1),
2730};
2731
2732static const unsigned int pwm3_a_mux[] = {
2733        PWM3_A_MARK,
2734};
2735
2736static const unsigned int pwm3_b_pins[] = {
2737        /* PWM */
2738        RCAR_GP_PIN(1, 5),
2739};
2740
2741static const unsigned int pwm3_b_mux[] = {
2742        PWM3_B_MARK,
2743};
2744
2745static const unsigned int pwm3_c_pins[] = {
2746        /* PWM */
2747        RCAR_GP_PIN(6, 6),
2748};
2749
2750static const unsigned int pwm3_c_mux[] = {
2751        PWM3_C_MARK,
2752};
2753
2754/* - PWM4 --------------------------------------------------------------------*/
2755static const unsigned int pwm4_a_pins[] = {
2756        /* PWM */
2757        RCAR_GP_PIN(1, 3),
2758};
2759
2760static const unsigned int pwm4_a_mux[] = {
2761        PWM4_A_MARK,
2762};
2763
2764static const unsigned int pwm4_b_pins[] = {
2765        /* PWM */
2766        RCAR_GP_PIN(6, 7),
2767};
2768
2769static const unsigned int pwm4_b_mux[] = {
2770        PWM4_B_MARK,
2771};
2772
2773/* - PWM5 --------------------------------------------------------------------*/
2774static const unsigned int pwm5_a_pins[] = {
2775        /* PWM */
2776        RCAR_GP_PIN(2, 24),
2777};
2778
2779static const unsigned int pwm5_a_mux[] = {
2780        PWM5_A_MARK,
2781};
2782
2783static const unsigned int pwm5_b_pins[] = {
2784        /* PWM */
2785        RCAR_GP_PIN(6, 10),
2786};
2787
2788static const unsigned int pwm5_b_mux[] = {
2789        PWM5_B_MARK,
2790};
2791
2792/* - PWM6 --------------------------------------------------------------------*/
2793static const unsigned int pwm6_a_pins[] = {
2794        /* PWM */
2795        RCAR_GP_PIN(2, 25),
2796};
2797
2798static const unsigned int pwm6_a_mux[] = {
2799        PWM6_A_MARK,
2800};
2801
2802static const unsigned int pwm6_b_pins[] = {
2803        /* PWM */
2804        RCAR_GP_PIN(6, 11),
2805};
2806
2807static const unsigned int pwm6_b_mux[] = {
2808        PWM6_B_MARK,
2809};
2810
2811/* - SCIF0 ------------------------------------------------------------------ */
2812static const unsigned int scif0_data_a_pins[] = {
2813        /* RX, TX */
2814        RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
2815};
2816
2817static const unsigned int scif0_data_a_mux[] = {
2818        RX0_A_MARK, TX0_A_MARK,
2819};
2820
2821static const unsigned int scif0_clk_a_pins[] = {
2822        /* SCK */
2823        RCAR_GP_PIN(5, 0),
2824};
2825
2826static const unsigned int scif0_clk_a_mux[] = {
2827        SCK0_A_MARK,
2828};
2829
2830static const unsigned int scif0_ctrl_a_pins[] = {
2831        /* RTS, CTS */
2832        RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 3),
2833};
2834
2835static const unsigned int scif0_ctrl_a_mux[] = {
2836        RTS0_N_A_MARK, CTS0_N_A_MARK,
2837};
2838
2839static const unsigned int scif0_data_b_pins[] = {
2840        /* RX, TX */
2841        RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 19),
2842};
2843
2844static const unsigned int scif0_data_b_mux[] = {
2845        RX0_B_MARK, TX0_B_MARK,
2846};
2847
2848static const unsigned int scif0_clk_b_pins[] = {
2849        /* SCK */
2850        RCAR_GP_PIN(5, 18),
2851};
2852
2853static const unsigned int scif0_clk_b_mux[] = {
2854        SCK0_B_MARK,
2855};
2856
2857/* - SCIF1 ------------------------------------------------------------------ */
2858static const unsigned int scif1_data_pins[] = {
2859        /* RX, TX */
2860        RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6),
2861};
2862
2863static const unsigned int scif1_data_mux[] = {
2864        RX1_MARK, TX1_MARK,
2865};
2866
2867static const unsigned int scif1_clk_pins[] = {
2868        /* SCK */
2869        RCAR_GP_PIN(5, 16),
2870};
2871
2872static const unsigned int scif1_clk_mux[] = {
2873        SCK1_MARK,
2874};
2875
2876static const unsigned int scif1_ctrl_pins[] = {
2877        /* RTS, CTS */
2878        RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 7),
2879};
2880
2881static const unsigned int scif1_ctrl_mux[] = {
2882        RTS1_N_MARK, CTS1_N_MARK,
2883};
2884
2885/* - SCIF2 ------------------------------------------------------------------ */
2886static const unsigned int scif2_data_a_pins[] = {
2887        /* RX, TX */
2888        RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 8),
2889};
2890
2891static const unsigned int scif2_data_a_mux[] = {
2892        RX2_A_MARK, TX2_A_MARK,
2893};
2894
2895static const unsigned int scif2_clk_a_pins[] = {
2896        /* SCK */
2897        RCAR_GP_PIN(5, 7),
2898};
2899
2900static const unsigned int scif2_clk_a_mux[] = {
2901        SCK2_A_MARK,
2902};
2903
2904static const unsigned int scif2_data_b_pins[] = {
2905        /* RX, TX */
2906        RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 11),
2907};
2908
2909static const unsigned int scif2_data_b_mux[] = {
2910        RX2_B_MARK, TX2_B_MARK,
2911};
2912
2913/* - SCIF3 ------------------------------------------------------------------ */
2914static const unsigned int scif3_data_a_pins[] = {
2915        /* RX, TX */
2916        RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6),
2917};
2918
2919static const unsigned int scif3_data_a_mux[] = {
2920        RX3_A_MARK, TX3_A_MARK,
2921};
2922
2923static const unsigned int scif3_clk_a_pins[] = {
2924        /* SCK */
2925        RCAR_GP_PIN(0, 1),
2926};
2927
2928static const unsigned int scif3_clk_a_mux[] = {
2929        SCK3_A_MARK,
2930};
2931
2932static const unsigned int scif3_ctrl_a_pins[] = {
2933        /* RTS, CTS */
2934        RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 7),
2935};
2936
2937static const unsigned int scif3_ctrl_a_mux[] = {
2938        RTS3_N_A_MARK, CTS3_N_A_MARK,
2939};
2940
2941static const unsigned int scif3_data_b_pins[] = {
2942        /* RX, TX */
2943        RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 11),
2944};
2945
2946static const unsigned int scif3_data_b_mux[] = {
2947        RX3_B_MARK, TX3_B_MARK,
2948};
2949
2950static const unsigned int scif3_data_c_pins[] = {
2951        /* RX, TX */
2952        RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 22),
2953};
2954
2955static const unsigned int scif3_data_c_mux[] = {
2956        RX3_C_MARK, TX3_C_MARK,
2957};
2958
2959static const unsigned int scif3_clk_c_pins[] = {
2960        /* SCK */
2961        RCAR_GP_PIN(2, 24),
2962};
2963
2964static const unsigned int scif3_clk_c_mux[] = {
2965        SCK3_C_MARK,
2966};
2967
2968/* - SCIF4 ------------------------------------------------------------------ */
2969static const unsigned int scif4_data_a_pins[] = {
2970        /* RX, TX */
2971        RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 7),
2972};
2973
2974static const unsigned int scif4_data_a_mux[] = {
2975        RX4_A_MARK, TX4_A_MARK,
2976};
2977
2978static const unsigned int scif4_clk_a_pins[] = {
2979        /* SCK */
2980        RCAR_GP_PIN(1, 5),
2981};
2982
2983static const unsigned int scif4_clk_a_mux[] = {
2984        SCK4_A_MARK,
2985};
2986
2987static const unsigned int scif4_ctrl_a_pins[] = {
2988        /* RTS, CTS */
2989        RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 3),
2990};
2991
2992static const unsigned int scif4_ctrl_a_mux[] = {
2993        RTS4_N_A_MARK, CTS4_N_A_MARK,
2994};
2995
2996static const unsigned int scif4_data_b_pins[] = {
2997        /* RX, TX */
2998        RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 12),
2999};
3000
3001static const unsigned int scif4_data_b_mux[] = {
3002        RX4_B_MARK, TX4_B_MARK,
3003};
3004
3005static const unsigned int scif4_clk_b_pins[] = {
3006        /* SCK */
3007        RCAR_GP_PIN(0, 8),
3008};
3009
3010static const unsigned int scif4_clk_b_mux[] = {
3011        SCK4_B_MARK,
3012};
3013
3014static const unsigned int scif4_data_c_pins[] = {
3015        /* RX, TX */
3016        RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 3),
3017};
3018
3019static const unsigned int scif4_data_c_mux[] = {
3020        RX4_C_MARK, TX4_C_MARK,
3021};
3022
3023static const unsigned int scif4_ctrl_c_pins[] = {
3024        /* RTS, CTS */
3025        RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 0),
3026};
3027
3028static const unsigned int scif4_ctrl_c_mux[] = {
3029        RTS4_N_C_MARK, CTS4_N_C_MARK,
3030};
3031
3032/* - SCIF5 ------------------------------------------------------------------ */
3033static const unsigned int scif5_data_a_pins[] = {
3034        /* RX, TX */
3035        RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 9),
3036};
3037
3038static const unsigned int scif5_data_a_mux[] = {
3039        RX5_A_MARK, TX5_A_MARK,
3040};
3041
3042static const unsigned int scif5_clk_a_pins[] = {
3043        /* SCK */
3044        RCAR_GP_PIN(1, 13),
3045};
3046
3047static const unsigned int scif5_clk_a_mux[] = {
3048        SCK5_A_MARK,
3049};
3050
3051static const unsigned int scif5_data_b_pins[] = {
3052        /* RX, TX */
3053        RCAR_GP_PIN(2, 25), RCAR_GP_PIN(2, 24),
3054};
3055
3056static const unsigned int scif5_data_b_mux[] = {
3057        RX5_B_MARK, TX5_B_MARK,
3058};
3059
3060static const unsigned int scif5_data_c_pins[] = {
3061        /* RX, TX */
3062        RCAR_GP_PIN(0, 2), RCAR_GP_PIN(0, 3),
3063};
3064
3065static const unsigned int scif5_data_c_mux[] = {
3066        RX5_C_MARK, TX5_C_MARK,
3067};
3068
3069/* - SCIF Clock ------------------------------------------------------------- */
3070static const unsigned int scif_clk_a_pins[] = {
3071        /* SCIF_CLK */
3072        RCAR_GP_PIN(5, 3),
3073};
3074
3075static const unsigned int scif_clk_a_mux[] = {
3076        SCIF_CLK_A_MARK,
3077};
3078
3079static const unsigned int scif_clk_b_pins[] = {
3080        /* SCIF_CLK */
3081        RCAR_GP_PIN(5, 7),
3082};
3083
3084static const unsigned int scif_clk_b_mux[] = {
3085        SCIF_CLK_B_MARK,
3086};
3087
3088/* - SDHI0 ------------------------------------------------------------------ */
3089static const unsigned int sdhi0_data1_pins[] = {
3090        /* D0 */
3091        RCAR_GP_PIN(3, 2),
3092};
3093
3094static const unsigned int sdhi0_data1_mux[] = {
3095        SD0_DAT0_MARK,
3096};
3097
3098static const unsigned int sdhi0_data4_pins[] = {
3099        /* D[0:3] */
3100        RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3),
3101        RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5),
3102};
3103
3104static const unsigned int sdhi0_data4_mux[] = {
3105        SD0_DAT0_MARK, SD0_DAT1_MARK,
3106        SD0_DAT2_MARK, SD0_DAT3_MARK,
3107};
3108
3109static const unsigned int sdhi0_ctrl_pins[] = {
3110        /* CLK, CMD */
3111        RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 1),
3112};
3113
3114static const unsigned int sdhi0_ctrl_mux[] = {
3115        SD0_CLK_MARK, SD0_CMD_MARK,
3116};
3117
3118static const unsigned int sdhi0_cd_pins[] = {
3119        /* CD */
3120        RCAR_GP_PIN(3, 12),
3121};
3122
3123static const unsigned int sdhi0_cd_mux[] = {
3124        SD0_CD_MARK,
3125};
3126
3127static const unsigned int sdhi0_wp_pins[] = {
3128        /* WP */
3129        RCAR_GP_PIN(3, 13),
3130};
3131
3132static const unsigned int sdhi0_wp_mux[] = {
3133        SD0_WP_MARK,
3134};
3135
3136/* - SDHI1 ------------------------------------------------------------------ */
3137static const unsigned int sdhi1_data1_pins[] = {
3138        /* D0 */
3139        RCAR_GP_PIN(3, 8),
3140};
3141
3142static const unsigned int sdhi1_data1_mux[] = {
3143        SD1_DAT0_MARK,
3144};
3145
3146static const unsigned int sdhi1_data4_pins[] = {
3147        /* D[0:3] */
3148        RCAR_GP_PIN(3, 8),  RCAR_GP_PIN(3, 9),
3149        RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11),
3150};
3151
3152static const unsigned int sdhi1_data4_mux[] = {
3153        SD1_DAT0_MARK, SD1_DAT1_MARK,
3154        SD1_DAT2_MARK, SD1_DAT3_MARK,
3155};
3156
3157static const unsigned int sdhi1_ctrl_pins[] = {
3158        /* CLK, CMD */
3159        RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7),
3160};
3161
3162static const unsigned int sdhi1_ctrl_mux[] = {
3163        SD1_CLK_MARK, SD1_CMD_MARK,
3164};
3165
3166static const unsigned int sdhi1_cd_pins[] = {
3167        /* CD */
3168        RCAR_GP_PIN(3, 14),
3169};
3170
3171static const unsigned int sdhi1_cd_mux[] = {
3172        SD1_CD_MARK,
3173};
3174
3175static const unsigned int sdhi1_wp_pins[] = {
3176        /* WP */
3177        RCAR_GP_PIN(3, 15),
3178};
3179
3180static const unsigned int sdhi1_wp_mux[] = {
3181        SD1_WP_MARK,
3182};
3183
3184/* - SDHI3 ------------------------------------------------------------------ */
3185static const unsigned int sdhi3_data1_pins[] = {
3186        /* D0 */
3187        RCAR_GP_PIN(4, 2),
3188};
3189
3190static const unsigned int sdhi3_data1_mux[] = {
3191        SD3_DAT0_MARK,
3192};
3193
3194static const unsigned int sdhi3_data4_pins[] = {
3195        /* D[0:3] */
3196        RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3),
3197        RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
3198};
3199
3200static const unsigned int sdhi3_data4_mux[] = {
3201        SD3_DAT0_MARK, SD3_DAT1_MARK,
3202        SD3_DAT2_MARK, SD3_DAT3_MARK,
3203};
3204
3205static const unsigned int sdhi3_data8_pins[] = {
3206        /* D[0:7] */
3207        RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3),
3208        RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5),
3209        RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 7),
3210        RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9),
3211};
3212
3213static const unsigned int sdhi3_data8_mux[] = {
3214        SD3_DAT0_MARK, SD3_DAT1_MARK,
3215        SD3_DAT2_MARK, SD3_DAT3_MARK,
3216        SD3_DAT4_MARK, SD3_DAT5_MARK,
3217        SD3_DAT6_MARK, SD3_DAT7_MARK,
3218};
3219
3220static const unsigned int sdhi3_ctrl_pins[] = {
3221        /* CLK, CMD */
3222        RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1),
3223};
3224
3225static const unsigned int sdhi3_ctrl_mux[] = {
3226        SD3_CLK_MARK, SD3_CMD_MARK,
3227};
3228
3229static const unsigned int sdhi3_cd_pins[] = {
3230        /* CD */
3231        RCAR_GP_PIN(3, 12),
3232};
3233
3234static const unsigned int sdhi3_cd_mux[] = {
3235        SD3_CD_MARK,
3236};
3237
3238static const unsigned int sdhi3_wp_pins[] = {
3239        /* WP */
3240        RCAR_GP_PIN(3, 13),
3241};
3242
3243static const unsigned int sdhi3_wp_mux[] = {
3244        SD3_WP_MARK,
3245};
3246
3247static const unsigned int sdhi3_ds_pins[] = {
3248        /* DS */
3249        RCAR_GP_PIN(4, 10),
3250};
3251
3252static const unsigned int sdhi3_ds_mux[] = {
3253        SD3_DS_MARK,
3254};
3255
3256/* - SSI -------------------------------------------------------------------- */
3257static const unsigned int ssi0_data_pins[] = {
3258        /* SDATA */
3259        RCAR_GP_PIN(6, 2),
3260};
3261
3262static const unsigned int ssi0_data_mux[] = {
3263        SSI_SDATA0_MARK,
3264};
3265
3266static const unsigned int ssi01239_ctrl_pins[] = {
3267        /* SCK, WS */
3268        RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 1),
3269};
3270
3271static const unsigned int ssi01239_ctrl_mux[] = {
3272        SSI_SCK01239_MARK, SSI_WS01239_MARK,
3273};
3274
3275static const unsigned int ssi1_data_pins[] = {
3276        /* SDATA */
3277        RCAR_GP_PIN(6, 3),
3278};
3279
3280static const unsigned int ssi1_data_mux[] = {
3281        SSI_SDATA1_MARK,
3282};
3283
3284static const unsigned int ssi1_ctrl_pins[] = {
3285        /* SCK, WS */
3286        RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15),
3287};
3288
3289static const unsigned int ssi1_ctrl_mux[] = {
3290        SSI_SCK1_MARK, SSI_WS1_MARK,
3291};
3292
3293static const unsigned int ssi2_data_pins[] = {
3294        /* SDATA */
3295        RCAR_GP_PIN(6, 4),
3296};
3297
3298static const unsigned int ssi2_data_mux[] = {
3299        SSI_SDATA2_MARK,
3300};
3301
3302static const unsigned int ssi2_ctrl_a_pins[] = {
3303        /* SCK, WS */
3304        RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2),
3305};
3306
3307static const unsigned int ssi2_ctrl_a_mux[] = {
3308        SSI_SCK2_A_MARK, SSI_WS2_A_MARK,
3309};
3310
3311static const unsigned int ssi2_ctrl_b_pins[] = {
3312        /* SCK, WS */
3313        RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 13),
3314};
3315
3316static const unsigned int ssi2_ctrl_b_mux[] = {
3317        SSI_SCK2_B_MARK, SSI_WS2_B_MARK,
3318};
3319
3320static const unsigned int ssi3_data_pins[] = {
3321        /* SDATA */
3322        RCAR_GP_PIN(6, 7),
3323};
3324
3325static const unsigned int ssi3_data_mux[] = {
3326        SSI_SDATA3_MARK,
3327};
3328
3329static const unsigned int ssi349_ctrl_pins[] = {
3330        /* SCK, WS */
3331        RCAR_GP_PIN(6, 5), RCAR_GP_PIN(6, 6),
3332};
3333
3334static const unsigned int ssi349_ctrl_mux[] = {
3335        SSI_SCK349_MARK, SSI_WS349_MARK,
3336};
3337
3338static const unsigned int ssi4_data_pins[] = {
3339        /* SDATA */
3340        RCAR_GP_PIN(6, 10),
3341};
3342
3343static const unsigned int ssi4_data_mux[] = {
3344        SSI_SDATA4_MARK,
3345};
3346
3347static const unsigned int ssi4_ctrl_pins[] = {
3348        /* SCK, WS */
3349        RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 15),
3350};
3351
3352static const unsigned int ssi4_ctrl_mux[] = {
3353        SSI_SCK4_MARK, SSI_WS4_MARK,
3354};
3355
3356static const unsigned int ssi5_data_pins[] = {
3357        /* SDATA */
3358        RCAR_GP_PIN(6, 13),
3359};
3360
3361static const unsigned int ssi5_data_mux[] = {
3362        SSI_SDATA5_MARK,
3363};
3364
3365static const unsigned int ssi5_ctrl_pins[] = {
3366        /* SCK, WS */
3367        RCAR_GP_PIN(6, 11), RCAR_GP_PIN(6, 12),
3368};
3369
3370static const unsigned int ssi5_ctrl_mux[] = {
3371        SSI_SCK5_MARK, SSI_WS5_MARK,
3372};
3373
3374static const unsigned int ssi6_data_pins[] = {
3375        /* SDATA */
3376        RCAR_GP_PIN(6, 16),
3377};
3378
3379static const unsigned int ssi6_data_mux[] = {
3380        SSI_SDATA6_MARK,
3381};
3382
3383static const unsigned int ssi6_ctrl_pins[] = {
3384        /* SCK, WS */
3385        RCAR_GP_PIN(6, 14), RCAR_GP_PIN(6, 15),
3386};
3387
3388static const unsigned int ssi6_ctrl_mux[] = {
3389        SSI_SCK6_MARK, SSI_WS6_MARK,
3390};
3391
3392static const unsigned int ssi7_data_pins[] = {
3393        /* SDATA */
3394        RCAR_GP_PIN(5, 12),
3395};
3396
3397static const unsigned int ssi7_data_mux[] = {
3398        SSI_SDATA7_MARK,
3399};
3400
3401static const unsigned int ssi78_ctrl_pins[] = {
3402        /* SCK, WS */
3403        RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11),
3404};
3405
3406static const unsigned int ssi78_ctrl_mux[] = {
3407        SSI_SCK78_MARK, SSI_WS78_MARK,
3408};
3409
3410static const unsigned int ssi8_data_pins[] = {
3411        /* SDATA */
3412        RCAR_GP_PIN(5, 13),
3413};
3414
3415static const unsigned int ssi8_data_mux[] = {
3416        SSI_SDATA8_MARK,
3417};
3418
3419static const unsigned int ssi9_data_pins[] = {
3420        /* SDATA */
3421        RCAR_GP_PIN(5, 16),
3422};
3423
3424static const unsigned int ssi9_data_mux[] = {
3425        SSI_SDATA9_MARK,
3426};
3427
3428static const unsigned int ssi9_ctrl_a_pins[] = {
3429        /* SCK, WS */
3430        RCAR_GP_PIN(6, 4), RCAR_GP_PIN(6, 10),
3431};
3432
3433static const unsigned int ssi9_ctrl_a_mux[] = {
3434        SSI_SCK9_A_MARK, SSI_WS9_A_MARK,
3435};
3436
3437static const unsigned int ssi9_ctrl_b_pins[] = {
3438        /* SCK, WS */
3439        RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6),
3440};
3441
3442static const unsigned int ssi9_ctrl_b_mux[] = {
3443        SSI_SCK9_B_MARK, SSI_WS9_B_MARK,
3444};
3445
3446/* - TMU -------------------------------------------------------------------- */
3447static const unsigned int tmu_tclk1_a_pins[] = {
3448        /* TCLK */
3449        RCAR_GP_PIN(3, 12),
3450};
3451
3452static const unsigned int tmu_tclk1_a_mux[] = {
3453        TCLK1_A_MARK,
3454};
3455
3456static const unsigned int tmu_tclk1_b_pins[] = {
3457        /* TCLK */
3458        RCAR_GP_PIN(5, 17),
3459};
3460
3461static const unsigned int tmu_tclk1_b_mux[] = {
3462        TCLK1_B_MARK,
3463};
3464
3465static const unsigned int tmu_tclk2_a_pins[] = {
3466        /* TCLK */
3467        RCAR_GP_PIN(3, 13),
3468};
3469
3470static const unsigned int tmu_tclk2_a_mux[] = {
3471        TCLK2_A_MARK,
3472};
3473
3474static const unsigned int tmu_tclk2_b_pins[] = {
3475        /* TCLK */
3476        RCAR_GP_PIN(5, 18),
3477};
3478
3479static const unsigned int tmu_tclk2_b_mux[] = {
3480        TCLK2_B_MARK,
3481};
3482
3483/* - USB0 ------------------------------------------------------------------- */
3484static const unsigned int usb0_a_pins[] = {
3485        /* PWEN, OVC */
3486        RCAR_GP_PIN(6, 17), RCAR_GP_PIN(6, 9),
3487};
3488
3489static const unsigned int usb0_a_mux[] = {
3490        USB0_PWEN_A_MARK, USB0_OVC_A_MARK,
3491};
3492
3493static const unsigned int usb0_b_pins[] = {
3494        /* PWEN, OVC */
3495        RCAR_GP_PIN(6, 11), RCAR_GP_PIN(6, 12),
3496};
3497
3498static const unsigned int usb0_b_mux[] = {
3499        USB0_PWEN_B_MARK, USB0_OVC_B_MARK,
3500};
3501
3502static const unsigned int usb0_id_pins[] = {
3503        /* ID */
3504        RCAR_GP_PIN(5, 0)
3505};
3506
3507static const unsigned int usb0_id_mux[] = {
3508        USB0_ID_MARK,
3509};
3510
3511/* - USB30 ------------------------------------------------------------------ */
3512static const unsigned int usb30_pins[] = {
3513        /* PWEN, OVC */
3514        RCAR_GP_PIN(6, 17), RCAR_GP_PIN(6, 9),
3515};
3516
3517static const unsigned int usb30_mux[] = {
3518        USB30_PWEN_MARK, USB30_OVC_MARK,
3519};
3520
3521static const unsigned int usb30_id_pins[] = {
3522        /* ID */
3523        RCAR_GP_PIN(5, 0),
3524};
3525
3526static const unsigned int usb30_id_mux[] = {
3527        USB3HS0_ID_MARK,
3528};
3529
3530/* - VIN4 ------------------------------------------------------------------- */
3531static const unsigned int vin4_data18_a_pins[] = {
3532        RCAR_GP_PIN(2, 8),  RCAR_GP_PIN(2, 9),
3533        RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11),
3534        RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 13),
3535        RCAR_GP_PIN(1, 6),  RCAR_GP_PIN(1, 7),
3536        RCAR_GP_PIN(1, 3),  RCAR_GP_PIN(1, 10),
3537        RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 14),
3538        RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 16),
3539        RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18),
3540        RCAR_GP_PIN(1, 19), RCAR_GP_PIN(0, 1),
3541};
3542
3543static const unsigned int vin4_data18_a_mux[] = {
3544        VI4_DATA2_A_MARK, VI4_DATA3_A_MARK,
3545        VI4_DATA4_A_MARK, VI4_DATA5_A_MARK,
3546        VI4_DATA6_A_MARK, VI4_DATA7_A_MARK,
3547        VI4_DATA10_MARK,  VI4_DATA11_MARK,
3548        VI4_DATA12_MARK,  VI4_DATA13_MARK,
3549        VI4_DATA14_MARK,  VI4_DATA15_MARK,
3550        VI4_DATA18_MARK,  VI4_DATA19_MARK,
3551        VI4_DATA20_MARK,  VI4_DATA21_MARK,
3552        VI4_DATA22_MARK,  VI4_DATA23_MARK,
3553};
3554
3555static const union vin_data vin4_data_a_pins = {
3556        .data24 = {
3557                RCAR_GP_PIN(2, 6),  RCAR_GP_PIN(2, 7),
3558                RCAR_GP_PIN(2, 8),  RCAR_GP_PIN(2, 9),
3559                RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11),
3560                RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 13),
3561                RCAR_GP_PIN(1, 4),  RCAR_GP_PIN(1, 5),
3562                RCAR_GP_PIN(1, 6),  RCAR_GP_PIN(1, 7),
3563                RCAR_GP_PIN(1, 3),  RCAR_GP_PIN(1, 10),
3564                RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 14),
3565                RCAR_GP_PIN(1, 9),  RCAR_GP_PIN(1, 12),
3566                RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 16),
3567                RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18),
3568                RCAR_GP_PIN(1, 19), RCAR_GP_PIN(0, 1),
3569        },
3570};
3571
3572static const union vin_data vin4_data_a_mux = {
3573        .data24 = {
3574                VI4_DATA0_A_MARK, VI4_DATA1_A_MARK,
3575                VI4_DATA2_A_MARK, VI4_DATA3_A_MARK,
3576                VI4_DATA4_A_MARK, VI4_DATA5_A_MARK,
3577                VI4_DATA6_A_MARK, VI4_DATA7_A_MARK,
3578                VI4_DATA8_MARK,   VI4_DATA9_MARK,
3579                VI4_DATA10_MARK,  VI4_DATA11_MARK,
3580                VI4_DATA12_MARK,  VI4_DATA13_MARK,
3581                VI4_DATA14_MARK,  VI4_DATA15_MARK,
3582                VI4_DATA16_MARK,  VI4_DATA17_MARK,
3583                VI4_DATA18_MARK,  VI4_DATA19_MARK,
3584                VI4_DATA20_MARK,  VI4_DATA21_MARK,
3585                VI4_DATA22_MARK,  VI4_DATA23_MARK,
3586        },
3587};
3588
3589static const unsigned int vin4_data18_b_pins[] = {
3590        RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
3591        RCAR_GP_PIN(0, 5),  RCAR_GP_PIN(0, 6),
3592        RCAR_GP_PIN(0, 16), RCAR_GP_PIN(0, 17),
3593        RCAR_GP_PIN(1, 6),  RCAR_GP_PIN(1, 7),
3594        RCAR_GP_PIN(1, 3),  RCAR_GP_PIN(1, 10),
3595        RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 14),
3596        RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 16),
3597        RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18),
3598        RCAR_GP_PIN(1, 19), RCAR_GP_PIN(0, 1),
3599};
3600
3601static const unsigned int vin4_data18_b_mux[] = {
3602        VI4_DATA2_B_MARK, VI4_DATA3_B_MARK,
3603        VI4_DATA4_B_MARK, VI4_DATA5_B_MARK,
3604        VI4_DATA6_B_MARK, VI4_DATA7_B_MARK,
3605        VI4_DATA10_MARK,  VI4_DATA11_MARK,
3606        VI4_DATA12_MARK,  VI4_DATA13_MARK,
3607        VI4_DATA14_MARK,  VI4_DATA15_MARK,
3608        VI4_DATA18_MARK,  VI4_DATA19_MARK,
3609        VI4_DATA20_MARK,  VI4_DATA21_MARK,
3610        VI4_DATA22_MARK,  VI4_DATA23_MARK,
3611};
3612
3613static const union vin_data vin4_data_b_pins = {
3614        .data24 = {
3615                RCAR_GP_PIN(1, 8),  RCAR_GP_PIN(1, 11),
3616                RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22),
3617                RCAR_GP_PIN(0, 5),  RCAR_GP_PIN(0, 6),
3618                RCAR_GP_PIN(0, 16), RCAR_GP_PIN(0, 17),
3619                RCAR_GP_PIN(1, 4),  RCAR_GP_PIN(1, 5),
3620                RCAR_GP_PIN(1, 6),  RCAR_GP_PIN(1, 7),
3621                RCAR_GP_PIN(1, 3),  RCAR_GP_PIN(1, 10),
3622                RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 14),
3623                RCAR_GP_PIN(1, 9),  RCAR_GP_PIN(1, 12),
3624                RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 16),
3625                RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18),
3626                RCAR_GP_PIN(1, 19), RCAR_GP_PIN(0, 1),
3627        },
3628};
3629
3630static const union vin_data vin4_data_b_mux = {
3631        .data24 = {
3632                VI4_DATA0_B_MARK, VI4_DATA1_B_MARK,
3633                VI4_DATA2_B_MARK, VI4_DATA3_B_MARK,
3634                VI4_DATA4_B_MARK, VI4_DATA5_B_MARK,
3635                VI4_DATA6_B_MARK, VI4_DATA7_B_MARK,
3636                VI4_DATA8_MARK,   VI4_DATA9_MARK,
3637                VI4_DATA10_MARK,  VI4_DATA11_MARK,
3638                VI4_DATA12_MARK,  VI4_DATA13_MARK,
3639                VI4_DATA14_MARK,  VI4_DATA15_MARK,
3640                VI4_DATA16_MARK,  VI4_DATA17_MARK,
3641                VI4_DATA18_MARK,  VI4_DATA19_MARK,
3642                VI4_DATA20_MARK,  VI4_DATA21_MARK,
3643                VI4_DATA22_MARK,  VI4_DATA23_MARK,
3644        },
3645};
3646
3647static const unsigned int vin4_sync_pins[] = {
3648        /* HSYNC, VSYNC */
3649        RCAR_GP_PIN(2, 25), RCAR_GP_PIN(2, 24),
3650};
3651
3652static const unsigned int vin4_sync_mux[] = {
3653        VI4_HSYNC_N_MARK, VI4_VSYNC_N_MARK,
3654};
3655
3656static const unsigned int vin4_field_pins[] = {
3657        RCAR_GP_PIN(2, 23),
3658};
3659
3660static const unsigned int vin4_field_mux[] = {
3661        VI4_FIELD_MARK,
3662};
3663
3664static const unsigned int vin4_clkenb_pins[] = {
3665        RCAR_GP_PIN(1, 2),
3666};
3667
3668static const unsigned int vin4_clkenb_mux[] = {
3669        VI4_CLKENB_MARK,
3670};
3671
3672static const unsigned int vin4_clk_pins[] = {
3673        RCAR_GP_PIN(2, 22),
3674};
3675
3676static const unsigned int vin4_clk_mux[] = {
3677        VI4_CLK_MARK,
3678};
3679
3680/* - VIN5 ------------------------------------------------------------------- */
3681static const union vin_data16 vin5_data_a_pins = {
3682        .data16 = {
3683                RCAR_GP_PIN(1, 1),  RCAR_GP_PIN(1, 2),
3684                RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 12),
3685                RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 16),
3686                RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18),
3687                RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 13),
3688                RCAR_GP_PIN(0, 9),  RCAR_GP_PIN(0, 11),
3689                RCAR_GP_PIN(0, 8),  RCAR_GP_PIN(0, 10),
3690                RCAR_GP_PIN(0, 2),  RCAR_GP_PIN(0, 3),
3691        },
3692};
3693
3694static const union vin_data16 vin5_data_a_mux = {
3695        .data16 = {
3696                VI5_DATA0_A_MARK,  VI5_DATA1_A_MARK,
3697                VI5_DATA2_A_MARK,  VI5_DATA3_A_MARK,
3698                VI5_DATA4_A_MARK,  VI5_DATA5_A_MARK,
3699                VI5_DATA6_A_MARK,  VI5_DATA7_A_MARK,
3700                VI5_DATA8_A_MARK,  VI5_DATA9_A_MARK,
3701                VI5_DATA10_A_MARK, VI5_DATA11_A_MARK,
3702                VI5_DATA12_A_MARK, VI5_DATA13_A_MARK,
3703                VI5_DATA14_A_MARK, VI5_DATA15_A_MARK,
3704        },
3705};
3706
3707static const unsigned int vin5_data8_b_pins[] = {
3708        RCAR_GP_PIN(2, 23), RCAR_GP_PIN(0, 4),
3709        RCAR_GP_PIN(0, 7),  RCAR_GP_PIN(0, 12),
3710        RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 14),
3711        RCAR_GP_PIN(0, 16), RCAR_GP_PIN(0, 17),
3712};
3713
3714static const unsigned int vin5_data8_b_mux[] = {
3715        VI5_DATA0_B_MARK,  VI5_DATA1_B_MARK,
3716        VI5_DATA2_B_MARK,  VI5_DATA3_B_MARK,
3717        VI5_DATA4_B_MARK,  VI5_DATA5_B_MARK,
3718        VI5_DATA6_B_MARK,  VI5_DATA7_B_MARK,
3719};
3720
3721static const unsigned int vin5_sync_a_pins[] = {
3722        /* HSYNC_N, VSYNC_N */
3723        RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 9),
3724};
3725
3726static const unsigned int vin5_sync_a_mux[] = {
3727        VI5_HSYNC_N_A_MARK, VI5_VSYNC_N_A_MARK,
3728};
3729
3730static const unsigned int vin5_field_a_pins[] = {
3731        RCAR_GP_PIN(1, 10),
3732};
3733
3734static const unsigned int vin5_field_a_mux[] = {
3735        VI5_FIELD_A_MARK,
3736};
3737
3738static const unsigned int vin5_clkenb_a_pins[] = {
3739        RCAR_GP_PIN(0, 1),
3740};
3741
3742static const unsigned int vin5_clkenb_a_mux[] = {
3743        VI5_CLKENB_A_MARK,
3744};
3745
3746static const unsigned int vin5_clk_a_pins[] = {
3747        RCAR_GP_PIN(1, 0),
3748};
3749
3750static const unsigned int vin5_clk_a_mux[] = {
3751        VI5_CLK_A_MARK,
3752};
3753
3754static const unsigned int vin5_clk_b_pins[] = {
3755        RCAR_GP_PIN(2, 22),
3756};
3757
3758static const unsigned int vin5_clk_b_mux[] = {
3759        VI5_CLK_B_MARK,
3760};
3761
3762static const struct {
3763        struct sh_pfc_pin_group common[247];
3764        struct sh_pfc_pin_group automotive[21];
3765} pinmux_groups = {
3766        .common = {
3767                SH_PFC_PIN_GROUP(audio_clk_a),
3768                SH_PFC_PIN_GROUP(audio_clk_b_a),
3769                SH_PFC_PIN_GROUP(audio_clk_b_b),
3770                SH_PFC_PIN_GROUP(audio_clk_b_c),
3771                SH_PFC_PIN_GROUP(audio_clk_c_a),
3772                SH_PFC_PIN_GROUP(audio_clk_c_b),
3773                SH_PFC_PIN_GROUP(audio_clk_c_c),
3774                SH_PFC_PIN_GROUP(audio_clkout_a),
3775                SH_PFC_PIN_GROUP(audio_clkout_b),
3776                SH_PFC_PIN_GROUP(audio_clkout1_a),
3777                SH_PFC_PIN_GROUP(audio_clkout1_b),
3778                SH_PFC_PIN_GROUP(audio_clkout1_c),
3779                SH_PFC_PIN_GROUP(audio_clkout2_a),
3780                SH_PFC_PIN_GROUP(audio_clkout2_b),
3781                SH_PFC_PIN_GROUP(audio_clkout2_c),
3782                SH_PFC_PIN_GROUP(audio_clkout3_a),
3783                SH_PFC_PIN_GROUP(audio_clkout3_b),
3784                SH_PFC_PIN_GROUP(audio_clkout3_c),
3785                SH_PFC_PIN_GROUP(avb_link),
3786                SH_PFC_PIN_GROUP(avb_magic),
3787                SH_PFC_PIN_GROUP(avb_phy_int),
3788                SH_PFC_PIN_GROUP(avb_mii),
3789                SH_PFC_PIN_GROUP(avb_avtp_pps),
3790                SH_PFC_PIN_GROUP(avb_avtp_match),
3791                SH_PFC_PIN_GROUP(avb_avtp_capture),
3792                SH_PFC_PIN_GROUP(can0_data),
3793                SH_PFC_PIN_GROUP(can1_data),
3794                SH_PFC_PIN_GROUP(can_clk),
3795                SH_PFC_PIN_GROUP(canfd0_data),
3796                SH_PFC_PIN_GROUP(canfd1_data),
3797                SH_PFC_PIN_GROUP(du_rgb666),
3798                SH_PFC_PIN_GROUP(du_rgb888),
3799                SH_PFC_PIN_GROUP(du_clk_in_0),
3800                SH_PFC_PIN_GROUP(du_clk_in_1),
3801                SH_PFC_PIN_GROUP(du_clk_out_0),
3802                SH_PFC_PIN_GROUP(du_sync),
3803                SH_PFC_PIN_GROUP(du_disp_cde),
3804                SH_PFC_PIN_GROUP(du_cde),
3805                SH_PFC_PIN_GROUP(du_disp),
3806                SH_PFC_PIN_GROUP(hscif0_data_a),
3807                SH_PFC_PIN_GROUP(hscif0_clk_a),
3808                SH_PFC_PIN_GROUP(hscif0_ctrl_a),
3809                SH_PFC_PIN_GROUP(hscif0_data_b),
3810                SH_PFC_PIN_GROUP(hscif0_clk_b),
3811                SH_PFC_PIN_GROUP(hscif1_data_a),
3812                SH_PFC_PIN_GROUP(hscif1_clk_a),
3813                SH_PFC_PIN_GROUP(hscif1_data_b),
3814                SH_PFC_PIN_GROUP(hscif1_clk_b),
3815                SH_PFC_PIN_GROUP(hscif1_ctrl_b),
3816                SH_PFC_PIN_GROUP(hscif2_data_a),
3817                SH_PFC_PIN_GROUP(hscif2_clk_a),
3818                SH_PFC_PIN_GROUP(hscif2_ctrl_a),
3819                SH_PFC_PIN_GROUP(hscif2_data_b),
3820                SH_PFC_PIN_GROUP(hscif3_data_a),
3821                SH_PFC_PIN_GROUP(hscif3_data_b),
3822                SH_PFC_PIN_GROUP(hscif3_clk_b),
3823                SH_PFC_PIN_GROUP(hscif3_data_c),
3824                SH_PFC_PIN_GROUP(hscif3_clk_c),
3825                SH_PFC_PIN_GROUP(hscif3_ctrl_c),
3826                SH_PFC_PIN_GROUP(hscif3_data_d),
3827                SH_PFC_PIN_GROUP(hscif3_data_e),
3828                SH_PFC_PIN_GROUP(hscif3_ctrl_e),
3829                SH_PFC_PIN_GROUP(hscif4_data_a),
3830                SH_PFC_PIN_GROUP(hscif4_clk_a),
3831                SH_PFC_PIN_GROUP(hscif4_ctrl_a),
3832                SH_PFC_PIN_GROUP(hscif4_data_b),
3833                SH_PFC_PIN_GROUP(hscif4_clk_b),
3834                SH_PFC_PIN_GROUP(hscif4_data_c),
3835                SH_PFC_PIN_GROUP(hscif4_data_d),
3836                SH_PFC_PIN_GROUP(hscif4_data_e),
3837                SH_PFC_PIN_GROUP(i2c1_a),
3838                SH_PFC_PIN_GROUP(i2c1_b),
3839                SH_PFC_PIN_GROUP(i2c1_c),
3840                SH_PFC_PIN_GROUP(i2c1_d),
3841                SH_PFC_PIN_GROUP(i2c2_a),
3842                SH_PFC_PIN_GROUP(i2c2_b),
3843                SH_PFC_PIN_GROUP(i2c2_c),
3844                SH_PFC_PIN_GROUP(i2c2_d),
3845                SH_PFC_PIN_GROUP(i2c2_e),
3846                SH_PFC_PIN_GROUP(i2c4),
3847                SH_PFC_PIN_GROUP(i2c5),
3848                SH_PFC_PIN_GROUP(i2c6_a),
3849                SH_PFC_PIN_GROUP(i2c6_b),
3850                SH_PFC_PIN_GROUP(i2c7_a),
3851                SH_PFC_PIN_GROUP(i2c7_b),
3852                SH_PFC_PIN_GROUP(intc_ex_irq0),
3853                SH_PFC_PIN_GROUP(intc_ex_irq1),
3854                SH_PFC_PIN_GROUP(intc_ex_irq2),
3855                SH_PFC_PIN_GROUP(intc_ex_irq3),
3856                SH_PFC_PIN_GROUP(intc_ex_irq4),
3857                SH_PFC_PIN_GROUP(intc_ex_irq5),
3858                SH_PFC_PIN_GROUP(msiof0_clk),
3859                SH_PFC_PIN_GROUP(msiof0_sync),
3860                SH_PFC_PIN_GROUP(msiof0_ss1),
3861                SH_PFC_PIN_GROUP(msiof0_ss2),
3862                SH_PFC_PIN_GROUP(msiof0_txd),
3863                SH_PFC_PIN_GROUP(msiof0_rxd),
3864                SH_PFC_PIN_GROUP(msiof1_clk),
3865                SH_PFC_PIN_GROUP(msiof1_sync),
3866                SH_PFC_PIN_GROUP(msiof1_ss1),
3867                SH_PFC_PIN_GROUP(msiof1_ss2),
3868                SH_PFC_PIN_GROUP(msiof1_txd),
3869                SH_PFC_PIN_GROUP(msiof1_rxd),
3870                SH_PFC_PIN_GROUP(msiof2_clk_a),
3871                SH_PFC_PIN_GROUP(msiof2_sync_a),
3872                SH_PFC_PIN_GROUP(msiof2_ss1_a),
3873                SH_PFC_PIN_GROUP(msiof2_ss2_a),
3874                SH_PFC_PIN_GROUP(msiof2_txd_a),
3875                SH_PFC_PIN_GROUP(msiof2_rxd_a),
3876                SH_PFC_PIN_GROUP(msiof2_clk_b),
3877                SH_PFC_PIN_GROUP(msiof2_sync_b),
3878                SH_PFC_PIN_GROUP(msiof2_ss1_b),
3879                SH_PFC_PIN_GROUP(msiof2_ss2_b),
3880                SH_PFC_PIN_GROUP(msiof2_txd_b),
3881                SH_PFC_PIN_GROUP(msiof2_rxd_b),
3882                SH_PFC_PIN_GROUP(msiof3_clk_a),
3883                SH_PFC_PIN_GROUP(msiof3_sync_a),
3884                SH_PFC_PIN_GROUP(msiof3_ss1_a),
3885                SH_PFC_PIN_GROUP(msiof3_ss2_a),
3886                SH_PFC_PIN_GROUP(msiof3_txd_a),
3887                SH_PFC_PIN_GROUP(msiof3_rxd_a),
3888                SH_PFC_PIN_GROUP(msiof3_clk_b),
3889                SH_PFC_PIN_GROUP(msiof3_sync_b),
3890                SH_PFC_PIN_GROUP(msiof3_ss1_b),
3891                SH_PFC_PIN_GROUP(msiof3_txd_b),
3892                SH_PFC_PIN_GROUP(msiof3_rxd_b),
3893                SH_PFC_PIN_GROUP(pwm0_a),
3894                SH_PFC_PIN_GROUP(pwm0_b),
3895                SH_PFC_PIN_GROUP(pwm1_a),
3896                SH_PFC_PIN_GROUP(pwm1_b),
3897                SH_PFC_PIN_GROUP(pwm2_a),
3898                SH_PFC_PIN_GROUP(pwm2_b),
3899                SH_PFC_PIN_GROUP(pwm2_c),
3900                SH_PFC_PIN_GROUP(pwm3_a),
3901                SH_PFC_PIN_GROUP(pwm3_b),
3902                SH_PFC_PIN_GROUP(pwm3_c),
3903                SH_PFC_PIN_GROUP(pwm4_a),
3904                SH_PFC_PIN_GROUP(pwm4_b),
3905                SH_PFC_PIN_GROUP(pwm5_a),
3906                SH_PFC_PIN_GROUP(pwm5_b),
3907                SH_PFC_PIN_GROUP(pwm6_a),
3908                SH_PFC_PIN_GROUP(pwm6_b),
3909                SH_PFC_PIN_GROUP(scif0_data_a),
3910                SH_PFC_PIN_GROUP(scif0_clk_a),
3911                SH_PFC_PIN_GROUP(scif0_ctrl_a),
3912                SH_PFC_PIN_GROUP(scif0_data_b),
3913                SH_PFC_PIN_GROUP(scif0_clk_b),
3914                SH_PFC_PIN_GROUP(scif1_data),
3915                SH_PFC_PIN_GROUP(scif1_clk),
3916                SH_PFC_PIN_GROUP(scif1_ctrl),
3917                SH_PFC_PIN_GROUP(scif2_data_a),
3918                SH_PFC_PIN_GROUP(scif2_clk_a),
3919                SH_PFC_PIN_GROUP(scif2_data_b),
3920                SH_PFC_PIN_GROUP(scif3_data_a),
3921                SH_PFC_PIN_GROUP(scif3_clk_a),
3922                SH_PFC_PIN_GROUP(scif3_ctrl_a),
3923                SH_PFC_PIN_GROUP(scif3_data_b),
3924                SH_PFC_PIN_GROUP(scif3_data_c),
3925                SH_PFC_PIN_GROUP(scif3_clk_c),
3926                SH_PFC_PIN_GROUP(scif4_data_a),
3927                SH_PFC_PIN_GROUP(scif4_clk_a),
3928                SH_PFC_PIN_GROUP(scif4_ctrl_a),
3929                SH_PFC_PIN_GROUP(scif4_data_b),
3930                SH_PFC_PIN_GROUP(scif4_clk_b),
3931                SH_PFC_PIN_GROUP(scif4_data_c),
3932                SH_PFC_PIN_GROUP(scif4_ctrl_c),
3933                SH_PFC_PIN_GROUP(scif5_data_a),
3934                SH_PFC_PIN_GROUP(scif5_clk_a),
3935                SH_PFC_PIN_GROUP(scif5_data_b),
3936                SH_PFC_PIN_GROUP(scif5_data_c),
3937                SH_PFC_PIN_GROUP(scif_clk_a),
3938                SH_PFC_PIN_GROUP(scif_clk_b),
3939                SH_PFC_PIN_GROUP(sdhi0_data1),
3940                SH_PFC_PIN_GROUP(sdhi0_data4),
3941                SH_PFC_PIN_GROUP(sdhi0_ctrl),
3942                SH_PFC_PIN_GROUP(sdhi0_cd),
3943                SH_PFC_PIN_GROUP(sdhi0_wp),
3944                SH_PFC_PIN_GROUP(sdhi1_data1),
3945                SH_PFC_PIN_GROUP(sdhi1_data4),
3946                SH_PFC_PIN_GROUP(sdhi1_ctrl),
3947                SH_PFC_PIN_GROUP(sdhi1_cd),
3948                SH_PFC_PIN_GROUP(sdhi1_wp),
3949                SH_PFC_PIN_GROUP(sdhi3_data1),
3950                SH_PFC_PIN_GROUP(sdhi3_data4),
3951                SH_PFC_PIN_GROUP(sdhi3_data8),
3952                SH_PFC_PIN_GROUP(sdhi3_ctrl),
3953                SH_PFC_PIN_GROUP(sdhi3_cd),
3954                SH_PFC_PIN_GROUP(sdhi3_wp),
3955                SH_PFC_PIN_GROUP(sdhi3_ds),
3956                SH_PFC_PIN_GROUP(ssi0_data),
3957                SH_PFC_PIN_GROUP(ssi01239_ctrl),
3958                SH_PFC_PIN_GROUP(ssi1_data),
3959                SH_PFC_PIN_GROUP(ssi1_ctrl),
3960                SH_PFC_PIN_GROUP(ssi2_data),
3961                SH_PFC_PIN_GROUP(ssi2_ctrl_a),
3962                SH_PFC_PIN_GROUP(ssi2_ctrl_b),
3963                SH_PFC_PIN_GROUP(ssi3_data),
3964                SH_PFC_PIN_GROUP(ssi349_ctrl),
3965                SH_PFC_PIN_GROUP(ssi4_data),
3966                SH_PFC_PIN_GROUP(ssi4_ctrl),
3967                SH_PFC_PIN_GROUP(ssi5_data),
3968                SH_PFC_PIN_GROUP(ssi5_ctrl),
3969                SH_PFC_PIN_GROUP(ssi6_data),
3970                SH_PFC_PIN_GROUP(ssi6_ctrl),
3971                SH_PFC_PIN_GROUP(ssi7_data),
3972                SH_PFC_PIN_GROUP(ssi78_ctrl),
3973                SH_PFC_PIN_GROUP(ssi8_data),
3974                SH_PFC_PIN_GROUP(ssi9_data),
3975                SH_PFC_PIN_GROUP(ssi9_ctrl_a),
3976                SH_PFC_PIN_GROUP(ssi9_ctrl_b),
3977                SH_PFC_PIN_GROUP(tmu_tclk1_a),
3978                SH_PFC_PIN_GROUP(tmu_tclk1_b),
3979                SH_PFC_PIN_GROUP(tmu_tclk2_a),
3980                SH_PFC_PIN_GROUP(tmu_tclk2_b),
3981                SH_PFC_PIN_GROUP(usb0_a),
3982                SH_PFC_PIN_GROUP(usb0_b),
3983                SH_PFC_PIN_GROUP(usb0_id),
3984                SH_PFC_PIN_GROUP(usb30),
3985                SH_PFC_PIN_GROUP(usb30_id),
3986                VIN_DATA_PIN_GROUP(vin4_data, 8, _a),
3987                VIN_DATA_PIN_GROUP(vin4_data, 10, _a),
3988                VIN_DATA_PIN_GROUP(vin4_data, 12, _a),
3989                VIN_DATA_PIN_GROUP(vin4_data, 16, _a),
3990                SH_PFC_PIN_GROUP(vin4_data18_a),
3991                VIN_DATA_PIN_GROUP(vin4_data, 20, _a),
3992                VIN_DATA_PIN_GROUP(vin4_data, 24, _a),
3993                VIN_DATA_PIN_GROUP(vin4_data, 8, _b),
3994                VIN_DATA_PIN_GROUP(vin4_data, 10, _b),
3995                VIN_DATA_PIN_GROUP(vin4_data, 12, _b),
3996                VIN_DATA_PIN_GROUP(vin4_data, 16, _b),
3997                SH_PFC_PIN_GROUP(vin4_data18_b),
3998                VIN_DATA_PIN_GROUP(vin4_data, 20, _b),
3999                VIN_DATA_PIN_GROUP(vin4_data, 24, _b),
4000                SH_PFC_PIN_GROUP(vin4_sync),
4001                SH_PFC_PIN_GROUP(vin4_field),
4002                SH_PFC_PIN_GROUP(vin4_clkenb),
4003                SH_PFC_PIN_GROUP(vin4_clk),
4004                VIN_DATA_PIN_GROUP(vin5_data, 8, _a),
4005                VIN_DATA_PIN_GROUP(vin5_data, 10, _a),
4006                VIN_DATA_PIN_GROUP(vin5_data, 12, _a),
4007                VIN_DATA_PIN_GROUP(vin5_data, 16, _a),
4008                SH_PFC_PIN_GROUP(vin5_data8_b),
4009                SH_PFC_PIN_GROUP(vin5_sync_a),
4010                SH_PFC_PIN_GROUP(vin5_field_a),
4011                SH_PFC_PIN_GROUP(vin5_clkenb_a),
4012                SH_PFC_PIN_GROUP(vin5_clk_a),
4013                SH_PFC_PIN_GROUP(vin5_clk_b),
4014        },
4015        .automotive = {
4016                SH_PFC_PIN_GROUP(drif0_ctrl_a),
4017                SH_PFC_PIN_GROUP(drif0_data0_a),
4018                SH_PFC_PIN_GROUP(drif0_data1_a),
4019                SH_PFC_PIN_GROUP(drif0_ctrl_b),
4020                SH_PFC_PIN_GROUP(drif0_data0_b),
4021                SH_PFC_PIN_GROUP(drif0_data1_b),
4022                SH_PFC_PIN_GROUP(drif1_ctrl),
4023                SH_PFC_PIN_GROUP(drif1_data0),
4024                SH_PFC_PIN_GROUP(drif1_data1),
4025                SH_PFC_PIN_GROUP(drif2_ctrl_a),
4026                SH_PFC_PIN_GROUP(drif2_data0_a),
4027                SH_PFC_PIN_GROUP(drif2_data1_a),
4028                SH_PFC_PIN_GROUP(drif2_ctrl_b),
4029                SH_PFC_PIN_GROUP(drif2_data0_b),
4030                SH_PFC_PIN_GROUP(drif2_data1_b),
4031                SH_PFC_PIN_GROUP(drif3_ctrl_a),
4032                SH_PFC_PIN_GROUP(drif3_data0_a),
4033                SH_PFC_PIN_GROUP(drif3_data1_a),
4034                SH_PFC_PIN_GROUP(drif3_ctrl_b),
4035                SH_PFC_PIN_GROUP(drif3_data0_b),
4036                SH_PFC_PIN_GROUP(drif3_data1_b),
4037        }
4038};
4039
4040static const char * const audio_clk_groups[] = {
4041        "audio_clk_a",
4042        "audio_clk_b_a",
4043        "audio_clk_b_b",
4044        "audio_clk_b_c",
4045        "audio_clk_c_a",
4046        "audio_clk_c_b",
4047        "audio_clk_c_c",
4048        "audio_clkout_a",
4049        "audio_clkout_b",
4050        "audio_clkout1_a",
4051        "audio_clkout1_b",
4052        "audio_clkout1_c",
4053        "audio_clkout2_a",
4054        "audio_clkout2_b",
4055        "audio_clkout2_c",
4056        "audio_clkout3_a",
4057        "audio_clkout3_b",
4058        "audio_clkout3_c",
4059};
4060
4061static const char * const avb_groups[] = {
4062        "avb_link",
4063        "avb_magic",
4064        "avb_phy_int",
4065        "avb_mii",
4066        "avb_avtp_pps",
4067        "avb_avtp_match",
4068        "avb_avtp_capture",
4069};
4070
4071static const char * const can0_groups[] = {
4072        "can0_data",
4073};
4074
4075static const char * const can1_groups[] = {
4076        "can1_data",
4077};
4078
4079static const char * const can_clk_groups[] = {
4080        "can_clk",
4081};
4082
4083static const char * const canfd0_groups[] = {
4084        "canfd0_data",
4085};
4086
4087static const char * const canfd1_groups[] = {
4088        "canfd1_data",
4089};
4090
4091static const char * const drif0_groups[] = {
4092        "drif0_ctrl_a",
4093        "drif0_data0_a",
4094        "drif0_data1_a",
4095        "drif0_ctrl_b",
4096        "drif0_data0_b",
4097        "drif0_data1_b",
4098};
4099
4100static const char * const drif1_groups[] = {
4101        "drif1_ctrl",
4102        "drif1_data0",
4103        "drif1_data1",
4104};
4105
4106static const char * const drif2_groups[] = {
4107        "drif2_ctrl_a",
4108        "drif2_data0_a",
4109        "drif2_data1_a",
4110        "drif2_ctrl_b",
4111        "drif2_data0_b",
4112        "drif2_data1_b",
4113};
4114
4115static const char * const drif3_groups[] = {
4116        "drif3_ctrl_a",
4117        "drif3_data0_a",
4118        "drif3_data1_a",
4119        "drif3_ctrl_b",
4120        "drif3_data0_b",
4121        "drif3_data1_b",
4122};
4123
4124static const char * const du_groups[] = {
4125        "du_rgb666",
4126        "du_rgb888",
4127        "du_clk_in_0",
4128        "du_clk_in_1",
4129        "du_clk_out_0",
4130        "du_sync",
4131        "du_disp_cde",
4132        "du_cde",
4133        "du_disp",
4134};
4135
4136static const char * const hscif0_groups[] = {
4137        "hscif0_data_a",
4138        "hscif0_clk_a",
4139        "hscif0_ctrl_a",
4140        "hscif0_data_b",
4141        "hscif0_clk_b",
4142};
4143
4144static const char * const hscif1_groups[] = {
4145        "hscif1_data_a",
4146        "hscif1_clk_a",
4147        "hscif1_data_b",
4148        "hscif1_clk_b",
4149        "hscif1_ctrl_b",
4150};
4151
4152static const char * const hscif2_groups[] = {
4153        "hscif2_data_a",
4154        "hscif2_clk_a",
4155        "hscif2_ctrl_a",
4156        "hscif2_data_b",
4157};
4158
4159static const char * const hscif3_groups[] = {
4160        "hscif3_data_a",
4161        "hscif3_data_b",
4162        "hscif3_clk_b",
4163        "hscif3_data_c",
4164        "hscif3_clk_c",
4165        "hscif3_ctrl_c",
4166        "hscif3_data_d",
4167        "hscif3_data_e",
4168        "hscif3_ctrl_e",
4169};
4170
4171static const char * const hscif4_groups[] = {
4172        "hscif4_data_a",
4173        "hscif4_clk_a",
4174        "hscif4_ctrl_a",
4175        "hscif4_data_b",
4176        "hscif4_clk_b",
4177        "hscif4_data_c",
4178        "hscif4_data_d",
4179        "hscif4_data_e",
4180};
4181
4182static const char * const i2c1_groups[] = {
4183        "i2c1_a",
4184        "i2c1_b",
4185        "i2c1_c",
4186        "i2c1_d",
4187};
4188
4189static const char * const i2c2_groups[] = {
4190        "i2c2_a",
4191        "i2c2_b",
4192        "i2c2_c",
4193        "i2c2_d",
4194        "i2c2_e",
4195};
4196
4197static const char * const i2c4_groups[] = {
4198        "i2c4",
4199};
4200
4201static const char * const i2c5_groups[] = {
4202        "i2c5",
4203};
4204
4205static const char * const i2c6_groups[] = {
4206        "i2c6_a",
4207        "i2c6_b",
4208};
4209
4210static const char * const i2c7_groups[] = {
4211        "i2c7_a",
4212        "i2c7_b",
4213};
4214
4215static const char * const intc_ex_groups[] = {
4216        "intc_ex_irq0",
4217        "intc_ex_irq1",
4218        "intc_ex_irq2",
4219        "intc_ex_irq3",
4220        "intc_ex_irq4",
4221        "intc_ex_irq5",
4222};
4223
4224static const char * const msiof0_groups[] = {
4225        "msiof0_clk",
4226        "msiof0_sync",
4227        "msiof0_ss1",
4228        "msiof0_ss2",
4229        "msiof0_txd",
4230        "msiof0_rxd",
4231};
4232
4233static const char * const msiof1_groups[] = {
4234        "msiof1_clk",
4235        "msiof1_sync",
4236        "msiof1_ss1",
4237        "msiof1_ss2",
4238        "msiof1_txd",
4239        "msiof1_rxd",
4240};
4241
4242static const char * const msiof2_groups[] = {
4243        "msiof2_clk_a",
4244        "msiof2_sync_a",
4245        "msiof2_ss1_a",
4246        "msiof2_ss2_a",
4247        "msiof2_txd_a",
4248        "msiof2_rxd_a",
4249        "msiof2_clk_b",
4250        "msiof2_sync_b",
4251        "msiof2_ss1_b",
4252        "msiof2_ss2_b",
4253        "msiof2_txd_b",
4254        "msiof2_rxd_b",
4255};
4256
4257static const char * const msiof3_groups[] = {
4258        "msiof3_clk_a",
4259        "msiof3_sync_a",
4260        "msiof3_ss1_a",
4261        "msiof3_ss2_a",
4262        "msiof3_txd_a",
4263        "msiof3_rxd_a",
4264        "msiof3_clk_b",
4265        "msiof3_sync_b",
4266        "msiof3_ss1_b",
4267        "msiof3_txd_b",
4268        "msiof3_rxd_b",
4269};
4270
4271static const char * const pwm0_groups[] = {
4272        "pwm0_a",
4273        "pwm0_b",
4274};
4275
4276static const char * const pwm1_groups[] = {
4277        "pwm1_a",
4278        "pwm1_b",
4279};
4280
4281static const char * const pwm2_groups[] = {
4282        "pwm2_a",
4283        "pwm2_b",
4284        "pwm2_c",
4285};
4286
4287static const char * const pwm3_groups[] = {
4288        "pwm3_a",
4289        "pwm3_b",
4290        "pwm3_c",
4291};
4292
4293static const char * const pwm4_groups[] = {
4294        "pwm4_a",
4295        "pwm4_b",
4296};
4297
4298static const char * const pwm5_groups[] = {
4299        "pwm5_a",
4300        "pwm5_b",
4301};
4302
4303static const char * const pwm6_groups[] = {
4304        "pwm6_a",
4305        "pwm6_b",
4306};
4307
4308static const char * const scif0_groups[] = {
4309        "scif0_data_a",
4310        "scif0_clk_a",
4311        "scif0_ctrl_a",
4312        "scif0_data_b",
4313        "scif0_clk_b",
4314};
4315
4316static const char * const scif1_groups[] = {
4317        "scif1_data",
4318        "scif1_clk",
4319        "scif1_ctrl",
4320};
4321
4322static const char * const scif2_groups[] = {
4323        "scif2_data_a",
4324        "scif2_clk_a",
4325        "scif2_data_b",
4326};
4327
4328static const char * const scif3_groups[] = {
4329        "scif3_data_a",
4330        "scif3_clk_a",
4331        "scif3_ctrl_a",
4332        "scif3_data_b",
4333        "scif3_data_c",
4334        "scif3_clk_c",
4335};
4336
4337static const char * const scif4_groups[] = {
4338        "scif4_data_a",
4339        "scif4_clk_a",
4340        "scif4_ctrl_a",
4341        "scif4_data_b",
4342        "scif4_clk_b",
4343        "scif4_data_c",
4344        "scif4_ctrl_c",
4345};
4346
4347static const char * const scif5_groups[] = {
4348        "scif5_data_a",
4349        "scif5_clk_a",
4350        "scif5_data_b",
4351        "scif5_data_c",
4352};
4353
4354static const char * const scif_clk_groups[] = {
4355        "scif_clk_a",
4356        "scif_clk_b",
4357};
4358
4359static const char * const sdhi0_groups[] = {
4360        "sdhi0_data1",
4361        "sdhi0_data4",
4362        "sdhi0_ctrl",
4363        "sdhi0_cd",
4364        "sdhi0_wp",
4365};
4366
4367static const char * const sdhi1_groups[] = {
4368        "sdhi1_data1",
4369        "sdhi1_data4",
4370        "sdhi1_ctrl",
4371        "sdhi1_cd",
4372        "sdhi1_wp",
4373};
4374
4375static const char * const sdhi3_groups[] = {
4376        "sdhi3_data1",
4377        "sdhi3_data4",
4378        "sdhi3_data8",
4379        "sdhi3_ctrl",
4380        "sdhi3_cd",
4381        "sdhi3_wp",
4382        "sdhi3_ds",
4383};
4384
4385static const char * const ssi_groups[] = {
4386        "ssi0_data",
4387        "ssi01239_ctrl",
4388        "ssi1_data",
4389        "ssi1_ctrl",
4390        "ssi2_data",
4391        "ssi2_ctrl_a",
4392        "ssi2_ctrl_b",
4393        "ssi3_data",
4394        "ssi349_ctrl",
4395        "ssi4_data",
4396        "ssi4_ctrl",
4397        "ssi5_data",
4398        "ssi5_ctrl",
4399        "ssi6_data",
4400        "ssi6_ctrl",
4401        "ssi7_data",
4402        "ssi78_ctrl",
4403        "ssi8_data",
4404        "ssi9_data",
4405        "ssi9_ctrl_a",
4406        "ssi9_ctrl_b",
4407};
4408
4409static const char * const tmu_groups[] = {
4410        "tmu_tclk1_a",
4411        "tmu_tclk1_b",
4412        "tmu_tclk2_a",
4413        "tmu_tclk2_b",
4414};
4415
4416static const char * const usb0_groups[] = {
4417        "usb0_a",
4418        "usb0_b",
4419        "usb0_id",
4420};
4421
4422static const char * const usb30_groups[] = {
4423        "usb30",
4424        "usb30_id",
4425};
4426
4427static const char * const vin4_groups[] = {
4428        "vin4_data8_a",
4429        "vin4_data10_a",
4430        "vin4_data12_a",
4431        "vin4_data16_a",
4432        "vin4_data18_a",
4433        "vin4_data20_a",
4434        "vin4_data24_a",
4435        "vin4_data8_b",
4436        "vin4_data10_b",
4437        "vin4_data12_b",
4438        "vin4_data16_b",
4439        "vin4_data18_b",
4440        "vin4_data20_b",
4441        "vin4_data24_b",
4442        "vin4_sync",
4443        "vin4_field",
4444        "vin4_clkenb",
4445        "vin4_clk",
4446};
4447
4448static const char * const vin5_groups[] = {
4449        "vin5_data8_a",
4450        "vin5_data10_a",
4451        "vin5_data12_a",
4452        "vin5_data16_a",
4453        "vin5_data8_b",
4454        "vin5_sync_a",
4455        "vin5_field_a",
4456        "vin5_clkenb_a",
4457        "vin5_clk_a",
4458        "vin5_clk_b",
4459};
4460
4461static const struct {
4462        struct sh_pfc_function common[47];
4463        struct sh_pfc_function automotive[4];
4464} pinmux_functions = {
4465        .common = {
4466                SH_PFC_FUNCTION(audio_clk),
4467                SH_PFC_FUNCTION(avb),
4468                SH_PFC_FUNCTION(can0),
4469                SH_PFC_FUNCTION(can1),
4470                SH_PFC_FUNCTION(can_clk),
4471                SH_PFC_FUNCTION(canfd0),
4472                SH_PFC_FUNCTION(canfd1),
4473                SH_PFC_FUNCTION(du),
4474                SH_PFC_FUNCTION(hscif0),
4475                SH_PFC_FUNCTION(hscif1),
4476                SH_PFC_FUNCTION(hscif2),
4477                SH_PFC_FUNCTION(hscif3),
4478                SH_PFC_FUNCTION(hscif4),
4479                SH_PFC_FUNCTION(i2c1),
4480                SH_PFC_FUNCTION(i2c2),
4481                SH_PFC_FUNCTION(i2c4),
4482                SH_PFC_FUNCTION(i2c5),
4483                SH_PFC_FUNCTION(i2c6),
4484                SH_PFC_FUNCTION(i2c7),
4485                SH_PFC_FUNCTION(intc_ex),
4486                SH_PFC_FUNCTION(msiof0),
4487                SH_PFC_FUNCTION(msiof1),
4488                SH_PFC_FUNCTION(msiof2),
4489                SH_PFC_FUNCTION(msiof3),
4490                SH_PFC_FUNCTION(pwm0),
4491                SH_PFC_FUNCTION(pwm1),
4492                SH_PFC_FUNCTION(pwm2),
4493                SH_PFC_FUNCTION(pwm3),
4494                SH_PFC_FUNCTION(pwm4),
4495                SH_PFC_FUNCTION(pwm5),
4496                SH_PFC_FUNCTION(pwm6),
4497                SH_PFC_FUNCTION(scif0),
4498                SH_PFC_FUNCTION(scif1),
4499                SH_PFC_FUNCTION(scif2),
4500                SH_PFC_FUNCTION(scif3),
4501                SH_PFC_FUNCTION(scif4),
4502                SH_PFC_FUNCTION(scif5),
4503                SH_PFC_FUNCTION(scif_clk),
4504                SH_PFC_FUNCTION(sdhi0),
4505                SH_PFC_FUNCTION(sdhi1),
4506                SH_PFC_FUNCTION(sdhi3),
4507                SH_PFC_FUNCTION(ssi),
4508                SH_PFC_FUNCTION(tmu),
4509                SH_PFC_FUNCTION(usb0),
4510                SH_PFC_FUNCTION(usb30),
4511                SH_PFC_FUNCTION(vin4),
4512                SH_PFC_FUNCTION(vin5),
4513        },
4514        .automotive = {
4515                SH_PFC_FUNCTION(drif0),
4516                SH_PFC_FUNCTION(drif1),
4517                SH_PFC_FUNCTION(drif2),
4518                SH_PFC_FUNCTION(drif3),
4519        }
4520};
4521
4522static const struct pinmux_cfg_reg pinmux_config_regs[] = {
4523#define F_(x, y)        FN_##y
4524#define FM(x)           FN_##x
4525        { PINMUX_CFG_REG("GPSR0", 0xe6060100, 32, 1, GROUP(
4526                0, 0,
4527                0, 0,
4528                0, 0,
4529                0, 0,
4530                0, 0,
4531                0, 0,
4532                0, 0,
4533                0, 0,
4534                0, 0,
4535                0, 0,
4536                0, 0,
4537                0, 0,
4538                0, 0,
4539                0, 0,
4540                GP_0_17_FN,     GPSR0_17,
4541                GP_0_16_FN,     GPSR0_16,
4542                GP_0_15_FN,     GPSR0_15,
4543                GP_0_14_FN,     GPSR0_14,
4544                GP_0_13_FN,     GPSR0_13,
4545                GP_0_12_FN,     GPSR0_12,
4546                GP_0_11_FN,     GPSR0_11,
4547                GP_0_10_FN,     GPSR0_10,
4548                GP_0_9_FN,      GPSR0_9,
4549                GP_0_8_FN,      GPSR0_8,
4550                GP_0_7_FN,      GPSR0_7,
4551                GP_0_6_FN,      GPSR0_6,
4552                GP_0_5_FN,      GPSR0_5,
4553                GP_0_4_FN,      GPSR0_4,
4554                GP_0_3_FN,      GPSR0_3,
4555                GP_0_2_FN,      GPSR0_2,
4556                GP_0_1_FN,      GPSR0_1,
4557                GP_0_0_FN,      GPSR0_0, ))
4558        },
4559        { PINMUX_CFG_REG("GPSR1", 0xe6060104, 32, 1, GROUP(
4560                0, 0,
4561                0, 0,
4562                0, 0,
4563                0, 0,
4564                0, 0,
4565                0, 0,
4566                0, 0,
4567                0, 0,
4568                0, 0,
4569                GP_1_22_FN,     GPSR1_22,
4570                GP_1_21_FN,     GPSR1_21,
4571                GP_1_20_FN,     GPSR1_20,
4572                GP_1_19_FN,     GPSR1_19,
4573                GP_1_18_FN,     GPSR1_18,
4574                GP_1_17_FN,     GPSR1_17,
4575                GP_1_16_FN,     GPSR1_16,
4576                GP_1_15_FN,     GPSR1_15,
4577                GP_1_14_FN,     GPSR1_14,
4578                GP_1_13_FN,     GPSR1_13,
4579                GP_1_12_FN,     GPSR1_12,
4580                GP_1_11_FN,     GPSR1_11,
4581                GP_1_10_FN,     GPSR1_10,
4582                GP_1_9_FN,      GPSR1_9,
4583                GP_1_8_FN,      GPSR1_8,
4584                GP_1_7_FN,      GPSR1_7,
4585                GP_1_6_FN,      GPSR1_6,
4586                GP_1_5_FN,      GPSR1_5,
4587                GP_1_4_FN,      GPSR1_4,
4588                GP_1_3_FN,      GPSR1_3,
4589                GP_1_2_FN,      GPSR1_2,
4590                GP_1_1_FN,      GPSR1_1,
4591                GP_1_0_FN,      GPSR1_0, ))
4592        },
4593        { PINMUX_CFG_REG("GPSR2", 0xe6060108, 32, 1, GROUP(
4594                0, 0,
4595                0, 0,
4596                0, 0,
4597                0, 0,
4598                0, 0,
4599                0, 0,
4600                GP_2_25_FN,     GPSR2_25,
4601                GP_2_24_FN,     GPSR2_24,
4602                GP_2_23_FN,     GPSR2_23,
4603                GP_2_22_FN,     GPSR2_22,
4604                GP_2_21_FN,     GPSR2_21,
4605                GP_2_20_FN,     GPSR2_20,
4606                GP_2_19_FN,     GPSR2_19,
4607                GP_2_18_FN,     GPSR2_18,
4608                GP_2_17_FN,     GPSR2_17,
4609                GP_2_16_FN,     GPSR2_16,
4610                GP_2_15_FN,     GPSR2_15,
4611                GP_2_14_FN,     GPSR2_14,
4612                GP_2_13_FN,     GPSR2_13,
4613                GP_2_12_FN,     GPSR2_12,
4614                GP_2_11_FN,     GPSR2_11,
4615                GP_2_10_FN,     GPSR2_10,
4616                GP_2_9_FN,      GPSR2_9,
4617                GP_2_8_FN,      GPSR2_8,
4618                GP_2_7_FN,      GPSR2_7,
4619                GP_2_6_FN,      GPSR2_6,
4620                GP_2_5_FN,      GPSR2_5,
4621                GP_2_4_FN,      GPSR2_4,
4622                GP_2_3_FN,      GPSR2_3,
4623                GP_2_2_FN,      GPSR2_2,
4624                GP_2_1_FN,      GPSR2_1,
4625                GP_2_0_FN,      GPSR2_0, ))
4626        },
4627        { PINMUX_CFG_REG("GPSR3", 0xe606010c, 32, 1, GROUP(
4628                0, 0,
4629                0, 0,
4630                0, 0,
4631                0, 0,
4632                0, 0,
4633                0, 0,
4634                0, 0,
4635                0, 0,
4636                0, 0,
4637                0, 0,
4638                0, 0,
4639                0, 0,
4640                0, 0,
4641                0, 0,
4642                0, 0,
4643                0, 0,
4644                GP_3_15_FN,     GPSR3_15,
4645                GP_3_14_FN,     GPSR3_14,
4646                GP_3_13_FN,     GPSR3_13,
4647                GP_3_12_FN,     GPSR3_12,
4648                GP_3_11_FN,     GPSR3_11,
4649                GP_3_10_FN,     GPSR3_10,
4650                GP_3_9_FN,      GPSR3_9,
4651                GP_3_8_FN,      GPSR3_8,
4652                GP_3_7_FN,      GPSR3_7,
4653                GP_3_6_FN,      GPSR3_6,
4654                GP_3_5_FN,      GPSR3_5,
4655                GP_3_4_FN,      GPSR3_4,
4656                GP_3_3_FN,      GPSR3_3,
4657                GP_3_2_FN,      GPSR3_2,
4658                GP_3_1_FN,      GPSR3_1,
4659                GP_3_0_FN,      GPSR3_0, ))
4660        },
4661        { PINMUX_CFG_REG("GPSR4", 0xe6060110, 32, 1, GROUP(
4662                0, 0,
4663                0, 0,
4664                0, 0,
4665                0, 0,
4666                0, 0,
4667                0, 0,
4668                0, 0,
4669                0, 0,
4670                0, 0,
4671                0, 0,
4672                0, 0,
4673                0, 0,
4674                0, 0,
4675                0, 0,
4676                0, 0,
4677                0, 0,
4678                0, 0,
4679                0, 0,
4680                0, 0,
4681                0, 0,
4682                0, 0,
4683                GP_4_10_FN,     GPSR4_10,
4684                GP_4_9_FN,      GPSR4_9,
4685                GP_4_8_FN,      GPSR4_8,
4686                GP_4_7_FN,      GPSR4_7,
4687                GP_4_6_FN,      GPSR4_6,
4688                GP_4_5_FN,      GPSR4_5,
4689                GP_4_4_FN,      GPSR4_4,
4690                GP_4_3_FN,      GPSR4_3,
4691                GP_4_2_FN,      GPSR4_2,
4692                GP_4_1_FN,      GPSR4_1,
4693                GP_4_0_FN,      GPSR4_0, ))
4694        },
4695        { PINMUX_CFG_REG("GPSR5", 0xe6060114, 32, 1, GROUP(
4696                0, 0,
4697                0, 0,
4698                0, 0,
4699                0, 0,
4700                0, 0,
4701                0, 0,
4702                0, 0,
4703                0, 0,
4704                0, 0,
4705                0, 0,
4706                0, 0,
4707                0, 0,
4708                GP_5_19_FN,     GPSR5_19,
4709                GP_5_18_FN,     GPSR5_18,
4710                GP_5_17_FN,     GPSR5_17,
4711                GP_5_16_FN,     GPSR5_16,
4712                GP_5_15_FN,     GPSR5_15,
4713                GP_5_14_FN,     GPSR5_14,
4714                GP_5_13_FN,     GPSR5_13,
4715                GP_5_12_FN,     GPSR5_12,
4716                GP_5_11_FN,     GPSR5_11,
4717                GP_5_10_FN,     GPSR5_10,
4718                GP_5_9_FN,      GPSR5_9,
4719                GP_5_8_FN,      GPSR5_8,
4720                GP_5_7_FN,      GPSR5_7,
4721                GP_5_6_FN,      GPSR5_6,
4722                GP_5_5_FN,      GPSR5_5,
4723                GP_5_4_FN,      GPSR5_4,
4724                GP_5_3_FN,      GPSR5_3,
4725                GP_5_2_FN,      GPSR5_2,
4726                GP_5_1_FN,      GPSR5_1,
4727                GP_5_0_FN,      GPSR5_0, ))
4728        },
4729        { PINMUX_CFG_REG("GPSR6", 0xe6060118, 32, 1, GROUP(
4730                0, 0,
4731                0, 0,
4732                0, 0,
4733                0, 0,
4734                0, 0,
4735                0, 0,
4736                0, 0,
4737                0, 0,
4738                0, 0,
4739                0, 0,
4740                0, 0,
4741                0, 0,
4742                0, 0,
4743                0, 0,
4744                GP_6_17_FN,     GPSR6_17,
4745                GP_6_16_FN,     GPSR6_16,
4746                GP_6_15_FN,     GPSR6_15,
4747                GP_6_14_FN,     GPSR6_14,
4748                GP_6_13_FN,     GPSR6_13,
4749                GP_6_12_FN,     GPSR6_12,
4750                GP_6_11_FN,     GPSR6_11,
4751                GP_6_10_FN,     GPSR6_10,
4752                GP_6_9_FN,      GPSR6_9,
4753                GP_6_8_FN,      GPSR6_8,
4754                GP_6_7_FN,      GPSR6_7,
4755                GP_6_6_FN,      GPSR6_6,
4756                GP_6_5_FN,      GPSR6_5,
4757                GP_6_4_FN,      GPSR6_4,
4758                GP_6_3_FN,      GPSR6_3,
4759                GP_6_2_FN,      GPSR6_2,
4760                GP_6_1_FN,      GPSR6_1,
4761                GP_6_0_FN,      GPSR6_0, ))
4762        },
4763#undef F_
4764#undef FM
4765
4766#define F_(x, y)        x,
4767#define FM(x)           FN_##x,
4768        { PINMUX_CFG_REG("IPSR0", 0xe6060200, 32, 4, GROUP(
4769                IP0_31_28
4770                IP0_27_24
4771                IP0_23_20
4772                IP0_19_16
4773                IP0_15_12
4774                IP0_11_8
4775                IP0_7_4
4776                IP0_3_0 ))
4777        },
4778        { PINMUX_CFG_REG("IPSR1", 0xe6060204, 32, 4, GROUP(
4779                IP1_31_28
4780                IP1_27_24
4781                IP1_23_20
4782                IP1_19_16
4783                IP1_15_12
4784                IP1_11_8
4785                IP1_7_4
4786                IP1_3_0 ))
4787        },
4788        { PINMUX_CFG_REG("IPSR2", 0xe6060208, 32, 4, GROUP(
4789                IP2_31_28
4790                IP2_27_24
4791                IP2_23_20
4792                IP2_19_16
4793                IP2_15_12
4794                IP2_11_8
4795                IP2_7_4
4796                IP2_3_0 ))
4797        },
4798        { PINMUX_CFG_REG("IPSR3", 0xe606020c, 32, 4, GROUP(
4799                IP3_31_28
4800                IP3_27_24
4801                IP3_23_20
4802                IP3_19_16
4803                IP3_15_12
4804                IP3_11_8
4805                IP3_7_4
4806                IP3_3_0 ))
4807        },
4808        { PINMUX_CFG_REG("IPSR4", 0xe6060210, 32, 4, GROUP(
4809                IP4_31_28
4810                IP4_27_24
4811                IP4_23_20
4812                IP4_19_16
4813                IP4_15_12
4814                IP4_11_8
4815                IP4_7_4
4816                IP4_3_0 ))
4817        },
4818        { PINMUX_CFG_REG("IPSR5", 0xe6060214, 32, 4, GROUP(
4819                IP5_31_28
4820                IP5_27_24
4821                IP5_23_20
4822                IP5_19_16
4823                IP5_15_12
4824                IP5_11_8
4825                IP5_7_4
4826                IP5_3_0 ))
4827        },
4828        { PINMUX_CFG_REG("IPSR6", 0xe6060218, 32, 4, GROUP(
4829                IP6_31_28
4830                IP6_27_24
4831                IP6_23_20
4832                IP6_19_16
4833                IP6_15_12
4834                IP6_11_8
4835                IP6_7_4
4836                IP6_3_0 ))
4837        },
4838        { PINMUX_CFG_REG("IPSR7", 0xe606021c, 32, 4, GROUP(
4839                IP7_31_28
4840                IP7_27_24
4841                IP7_23_20
4842                IP7_19_16
4843                IP7_15_12
4844                IP7_11_8
4845                IP7_7_4
4846                IP7_3_0 ))
4847        },
4848        { PINMUX_CFG_REG("IPSR8", 0xe6060220, 32, 4, GROUP(
4849                IP8_31_28
4850                IP8_27_24
4851                IP8_23_20
4852                IP8_19_16
4853                IP8_15_12
4854                IP8_11_8
4855                IP8_7_4
4856                IP8_3_0 ))
4857        },
4858        { PINMUX_CFG_REG("IPSR9", 0xe6060224, 32, 4, GROUP(
4859                IP9_31_28
4860                IP9_27_24
4861                IP9_23_20
4862                IP9_19_16
4863                IP9_15_12
4864                IP9_11_8
4865                IP9_7_4
4866                IP9_3_0 ))
4867        },
4868        { PINMUX_CFG_REG("IPSR10", 0xe6060228, 32, 4, GROUP(
4869                IP10_31_28
4870                IP10_27_24
4871                IP10_23_20
4872                IP10_19_16
4873                IP10_15_12
4874                IP10_11_8
4875                IP10_7_4
4876                IP10_3_0 ))
4877        },
4878        { PINMUX_CFG_REG("IPSR11", 0xe606022c, 32, 4, GROUP(
4879                IP11_31_28
4880                IP11_27_24
4881                IP11_23_20
4882                IP11_19_16
4883                IP11_15_12
4884                IP11_11_8
4885                IP11_7_4
4886                IP11_3_0 ))
4887        },
4888        { PINMUX_CFG_REG("IPSR12", 0xe6060230, 32, 4, GROUP(
4889                IP12_31_28
4890                IP12_27_24
4891                IP12_23_20
4892                IP12_19_16
4893                IP12_15_12
4894                IP12_11_8
4895                IP12_7_4
4896                IP12_3_0 ))
4897        },
4898        { PINMUX_CFG_REG("IPSR13", 0xe6060234, 32, 4, GROUP(
4899                IP13_31_28
4900                IP13_27_24
4901                IP13_23_20
4902                IP13_19_16
4903                IP13_15_12
4904                IP13_11_8
4905                IP13_7_4
4906                IP13_3_0 ))
4907        },
4908        { PINMUX_CFG_REG("IPSR14", 0xe6060238, 32, 4, GROUP(
4909                IP14_31_28
4910                IP14_27_24
4911                IP14_23_20
4912                IP14_19_16
4913                IP14_15_12
4914                IP14_11_8
4915                IP14_7_4
4916                IP14_3_0 ))
4917        },
4918        { PINMUX_CFG_REG("IPSR15", 0xe606023c, 32, 4, GROUP(
4919                IP15_31_28
4920                IP15_27_24
4921                IP15_23_20
4922                IP15_19_16
4923                IP15_15_12
4924                IP15_11_8
4925                IP15_7_4
4926                IP15_3_0 ))
4927        },
4928#undef F_
4929#undef FM
4930
4931#define F_(x, y)        x,
4932#define FM(x)           FN_##x,
4933        { PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32,
4934                             GROUP(1, 2, 1, 2, 1, 1, 1, 1, 2, 3, 1, 1,
4935                                   1, 2, 2, 1, 1, 1, 2, 1, 1, 1, 2),
4936                             GROUP(
4937                /* RESERVED 31 */
4938                0, 0,
4939                MOD_SEL0_30_29
4940                MOD_SEL0_28
4941                MOD_SEL0_27_26
4942                MOD_SEL0_25
4943                MOD_SEL0_24
4944                MOD_SEL0_23
4945                MOD_SEL0_22
4946                MOD_SEL0_21_20
4947                MOD_SEL0_19_18_17
4948                MOD_SEL0_16
4949                MOD_SEL0_15
4950                MOD_SEL0_14
4951                MOD_SEL0_13_12
4952                MOD_SEL0_11_10
4953                MOD_SEL0_9
4954                MOD_SEL0_8
4955                MOD_SEL0_7
4956                MOD_SEL0_6_5
4957                MOD_SEL0_4
4958                MOD_SEL0_3
4959                MOD_SEL0_2
4960                MOD_SEL0_1_0 ))
4961        },
4962        { PINMUX_CFG_REG_VAR("MOD_SEL1", 0xe6060504, 32,
4963                             GROUP(1, 1, 1, 1, 1, 1, 1, 3, 3, 1, 1, 1,
4964                                   1, 2, 2, 2, 1, 1, 2, 1, 4),
4965                             GROUP(
4966                MOD_SEL1_31
4967                MOD_SEL1_30
4968                MOD_SEL1_29
4969                MOD_SEL1_28
4970                /* RESERVED 27 */
4971                0, 0,
4972                MOD_SEL1_26
4973                MOD_SEL1_25
4974                MOD_SEL1_24_23_22
4975                MOD_SEL1_21_20_19
4976                MOD_SEL1_18
4977                MOD_SEL1_17
4978                MOD_SEL1_16
4979                MOD_SEL1_15
4980                MOD_SEL1_14_13
4981                MOD_SEL1_12_11
4982                MOD_SEL1_10_9
4983                MOD_SEL1_8
4984                MOD_SEL1_7
4985                MOD_SEL1_6_5
4986                MOD_SEL1_4
4987                /* RESERVED 3, 2, 1, 0  */
4988                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 ))
4989        },
4990        { },
4991};
4992
4993enum ioctrl_regs {
4994        POCCTRL0,
4995        TDSELCTRL,
4996};
4997
4998static const struct pinmux_ioctrl_reg pinmux_ioctrl_regs[] = {
4999        [POCCTRL0] = { 0xe6060380, },
5000        [TDSELCTRL] = { 0xe60603c0, },
5001        { /* sentinel */ },
5002};
5003
5004static int r8a77990_pin_to_pocctrl(struct sh_pfc *pfc, unsigned int pin,
5005                                   u32 *pocctrl)
5006{
5007        int bit = -EINVAL;
5008
5009        *pocctrl = pinmux_ioctrl_regs[POCCTRL0].reg;
5010
5011        if (pin >= RCAR_GP_PIN(3, 0) && pin <= RCAR_GP_PIN(3, 11))
5012                bit = pin & 0x1f;
5013
5014        if (pin >= RCAR_GP_PIN(4, 0) && pin <= RCAR_GP_PIN(4, 10))
5015                bit = (pin & 0x1f) + 19;
5016
5017        return bit;
5018}
5019
5020static const struct pinmux_bias_reg pinmux_bias_regs[] = {
5021        { PINMUX_BIAS_REG("PUEN0", 0xe6060400, "PUD0", 0xe6060440) {
5022                 [0] = RCAR_GP_PIN(2, 23),      /* RD# */
5023                 [1] = RCAR_GP_PIN(2, 22),      /* BS# */
5024                 [2] = RCAR_GP_PIN(2, 21),      /* AVB_PHY_INT */
5025                 [3] = PIN_AVB_MDC,             /* AVB_MDC */
5026                 [4] = PIN_AVB_MDIO,            /* AVB_MDIO */
5027                 [5] = RCAR_GP_PIN(2, 20),      /* AVB_TXCREFCLK */
5028                 [6] = PIN_AVB_TD3,             /* AVB_TD3 */
5029                 [7] = PIN_AVB_TD2,             /* AVB_TD2 */
5030                 [8] = PIN_AVB_TD1,             /* AVB_TD1 */
5031                 [9] = PIN_AVB_TD0,             /* AVB_TD0 */
5032                [10] = PIN_AVB_TXC,             /* AVB_TXC */
5033                [11] = PIN_AVB_TX_CTL,          /* AVB_TX_CTL */
5034                [12] = RCAR_GP_PIN(2, 19),      /* AVB_RD3 */
5035                [13] = RCAR_GP_PIN(2, 18),      /* AVB_RD2 */
5036                [14] = RCAR_GP_PIN(2, 17),      /* AVB_RD1 */
5037                [15] = RCAR_GP_PIN(2, 16),      /* AVB_RD0 */
5038                [16] = RCAR_GP_PIN(2, 15),      /* AVB_RXC */
5039                [17] = RCAR_GP_PIN(2, 14),      /* AVB_RX_CTL */
5040                [18] = RCAR_GP_PIN(2, 13),      /* RPC_RESET# */
5041                [19] = RCAR_GP_PIN(2, 12),      /* RPC_INT# */
5042                [20] = RCAR_GP_PIN(2, 11),      /* QSPI1_SSL */
5043                [21] = RCAR_GP_PIN(2, 10),      /* QSPI1_IO3 */
5044                [22] = RCAR_GP_PIN(2,  9),      /* QSPI1_IO2 */
5045                [23] = RCAR_GP_PIN(2,  8),      /* QSPI1_MISO/IO1 */
5046                [24] = RCAR_GP_PIN(2,  7),      /* QSPI1_MOSI/IO0 */
5047                [25] = RCAR_GP_PIN(2,  6),      /* QSPI1_SPCLK */
5048                [26] = RCAR_GP_PIN(2,  5),      /* QSPI0_SSL */
5049                [27] = RCAR_GP_PIN(2,  4),      /* QSPI0_IO3 */
5050                [28] = RCAR_GP_PIN(2,  3),      /* QSPI0_IO2 */
5051                [29] = RCAR_GP_PIN(2,  2),      /* QSPI0_MISO/IO1 */
5052                [30] = RCAR_GP_PIN(2,  1),      /* QSPI0_MOSI/IO0 */
5053                [31] = RCAR_GP_PIN(2,  0),      /* QSPI0_SPCLK */
5054        } },
5055        { PINMUX_BIAS_REG("PUEN1", 0xe6060404, "PUD1", 0xe6060444) {
5056                 [0] = RCAR_GP_PIN(0,  4),      /* D4 */
5057                 [1] = RCAR_GP_PIN(0,  3),      /* D3 */
5058                 [2] = RCAR_GP_PIN(0,  2),      /* D2 */
5059                 [3] = RCAR_GP_PIN(0,  1),      /* D1 */
5060                 [4] = RCAR_GP_PIN(0,  0),      /* D0 */
5061                 [5] = RCAR_GP_PIN(1, 22),      /* WE0# */
5062                 [6] = RCAR_GP_PIN(1, 21),      /* CS0# */
5063                 [7] = RCAR_GP_PIN(1, 20),      /* CLKOUT */
5064                 [8] = RCAR_GP_PIN(1, 19),      /* A19 */
5065                 [9] = RCAR_GP_PIN(1, 18),      /* A18 */
5066                [10] = RCAR_GP_PIN(1, 17),      /* A17 */
5067                [11] = RCAR_GP_PIN(1, 16),      /* A16 */
5068                [12] = RCAR_GP_PIN(1, 15),      /* A15 */
5069                [13] = RCAR_GP_PIN(1, 14),      /* A14 */
5070                [14] = RCAR_GP_PIN(1, 13),      /* A13 */
5071                [15] = RCAR_GP_PIN(1, 12),      /* A12 */
5072                [16] = RCAR_GP_PIN(1, 11),      /* A11 */
5073                [17] = RCAR_GP_PIN(1, 10),      /* A10 */
5074                [18] = RCAR_GP_PIN(1,  9),      /* A9 */
5075                [19] = RCAR_GP_PIN(1,  8),      /* A8 */
5076                [20] = RCAR_GP_PIN(1,  7),      /* A7 */
5077                [21] = RCAR_GP_PIN(1,  6),      /* A6 */
5078                [22] = RCAR_GP_PIN(1,  5),      /* A5 */
5079                [23] = RCAR_GP_PIN(1,  4),      /* A4 */
5080                [24] = RCAR_GP_PIN(1,  3),      /* A3 */
5081                [25] = RCAR_GP_PIN(1,  2),      /* A2 */
5082                [26] = RCAR_GP_PIN(1,  1),      /* A1 */
5083                [27] = RCAR_GP_PIN(1,  0),      /* A0 */
5084                [28] = SH_PFC_PIN_NONE,
5085                [29] = SH_PFC_PIN_NONE,
5086                [30] = RCAR_GP_PIN(2, 25),      /* PUEN_EX_WAIT0 */
5087                [31] = RCAR_GP_PIN(2, 24),      /* PUEN_RD/WR# */
5088        } },
5089        { PINMUX_BIAS_REG("PUEN2", 0xe6060408, "PUD2", 0xe6060448) {
5090                 [0] = RCAR_GP_PIN(3,  1),      /* SD0_CMD */
5091                 [1] = RCAR_GP_PIN(3,  0),      /* SD0_CLK */
5092                 [2] = PIN_ASEBRK,              /* ASEBRK */
5093                 [3] = SH_PFC_PIN_NONE,
5094                 [4] = PIN_TDI,                 /* TDI */
5095                 [5] = PIN_TMS,                 /* TMS */
5096                 [6] = PIN_TCK,                 /* TCK */
5097                 [7] = PIN_TRST_N,              /* TRST# */
5098                 [8] = SH_PFC_PIN_NONE,
5099                 [9] = SH_PFC_PIN_NONE,
5100                [10] = SH_PFC_PIN_NONE,
5101                [11] = SH_PFC_PIN_NONE,
5102                [12] = SH_PFC_PIN_NONE,
5103                [13] = SH_PFC_PIN_NONE,
5104                [14] = SH_PFC_PIN_NONE,
5105                [15] = PIN_FSCLKST_N,           /* FSCLKST# */
5106                [16] = RCAR_GP_PIN(0, 17),      /* SDA4 */
5107                [17] = RCAR_GP_PIN(0, 16),      /* SCL4 */
5108                [18] = SH_PFC_PIN_NONE,
5109                [19] = SH_PFC_PIN_NONE,
5110                [20] = PIN_PRESETOUT_N,         /* PRESETOUT# */
5111                [21] = RCAR_GP_PIN(0, 15),      /* D15 */
5112                [22] = RCAR_GP_PIN(0, 14),      /* D14 */
5113                [23] = RCAR_GP_PIN(0, 13),      /* D13 */
5114                [24] = RCAR_GP_PIN(0, 12),      /* D12 */
5115                [25] = RCAR_GP_PIN(0, 11),      /* D11 */
5116                [26] = RCAR_GP_PIN(0, 10),      /* D10 */
5117                [27] = RCAR_GP_PIN(0,  9),      /* D9 */
5118                [28] = RCAR_GP_PIN(0,  8),      /* D8 */
5119                [29] = RCAR_GP_PIN(0,  7),      /* D7 */
5120                [30] = RCAR_GP_PIN(0,  6),      /* D6 */
5121                [31] = RCAR_GP_PIN(0,  5),      /* D5 */
5122        } },
5123        { PINMUX_BIAS_REG("PUEN3", 0xe606040c, "PUD3", 0xe606044c) {
5124                 [0] = RCAR_GP_PIN(5,  0),      /* SCK0_A */
5125                 [1] = RCAR_GP_PIN(5,  4),      /* RTS0#_A */
5126                 [2] = RCAR_GP_PIN(5,  3),      /* CTS0#_A */
5127                 [3] = RCAR_GP_PIN(5,  2),      /* TX0_A */
5128                 [4] = RCAR_GP_PIN(5,  1),      /* RX0_A */
5129                 [5] = SH_PFC_PIN_NONE,
5130                 [6] = SH_PFC_PIN_NONE,
5131                 [7] = RCAR_GP_PIN(3, 15),      /* SD1_WP */
5132                 [8] = RCAR_GP_PIN(3, 14),      /* SD1_CD */
5133                 [9] = RCAR_GP_PIN(3, 13),      /* SD0_WP */
5134                [10] = RCAR_GP_PIN(3, 12),      /* SD0_CD */
5135                [11] = RCAR_GP_PIN(4, 10),      /* SD3_DS */
5136                [12] = RCAR_GP_PIN(4,  9),      /* SD3_DAT7 */
5137                [13] = RCAR_GP_PIN(4,  8),      /* SD3_DAT6 */
5138                [14] = RCAR_GP_PIN(4,  7),      /* SD3_DAT5 */
5139                [15] = RCAR_GP_PIN(4,  6),      /* SD3_DAT4 */
5140                [16] = RCAR_GP_PIN(4,  5),      /* SD3_DAT3 */
5141                [17] = RCAR_GP_PIN(4,  4),      /* SD3_DAT2 */
5142                [18] = RCAR_GP_PIN(4,  3),      /* SD3_DAT1 */
5143                [19] = RCAR_GP_PIN(4,  2),      /* SD3_DAT0 */
5144                [20] = RCAR_GP_PIN(4,  1),      /* SD3_CMD */
5145                [21] = RCAR_GP_PIN(4,  0),      /* SD3_CLK */
5146                [22] = RCAR_GP_PIN(3, 11),      /* SD1_DAT3 */
5147                [23] = RCAR_GP_PIN(3, 10),      /* SD1_DAT2 */
5148                [24] = RCAR_GP_PIN(3,  9),      /* SD1_DAT1 */
5149                [25] = RCAR_GP_PIN(3,  8),      /* SD1_DAT0 */
5150                [26] = RCAR_GP_PIN(3,  7),      /* SD1_CMD */
5151                [27] = RCAR_GP_PIN(3,  6),      /* SD1_CLK */
5152                [28] = RCAR_GP_PIN(3,  5),      /* SD0_DAT3 */
5153                [29] = RCAR_GP_PIN(3,  4),      /* SD0_DAT2 */
5154                [30] = RCAR_GP_PIN(3,  3),      /* SD0_DAT1 */
5155                [31] = RCAR_GP_PIN(3,  2),      /* SD0_DAT0 */
5156        } },
5157        { PINMUX_BIAS_REG("PUEN4", 0xe6060410, "PUD4", 0xe6060450) {
5158                 [0] = RCAR_GP_PIN(6,  8),      /* AUDIO_CLKA */
5159                 [1] = RCAR_GP_PIN(6, 16),      /* SSI_SDATA6 */
5160                 [2] = RCAR_GP_PIN(6, 15),      /* SSI_WS6 */
5161                 [3] = RCAR_GP_PIN(6, 14),      /* SSI_SCK6 */
5162                 [4] = RCAR_GP_PIN(6, 13),      /* SSI_SDATA5 */
5163                 [5] = RCAR_GP_PIN(6, 12),      /* SSI_WS5 */
5164                 [6] = RCAR_GP_PIN(6, 11),      /* SSI_SCK5 */
5165                 [7] = RCAR_GP_PIN(6, 10),      /* SSI_SDATA4 */
5166                 [8] = RCAR_GP_PIN(6,  7),      /* SSI_SDATA3 */
5167                 [9] = RCAR_GP_PIN(6,  6),      /* SSI_WS349 */
5168                [10] = RCAR_GP_PIN(6,  5),      /* SSI_SCK349 */
5169                [11] = RCAR_GP_PIN(6,  4),      /* SSI_SDATA2 */
5170                [12] = RCAR_GP_PIN(6,  3),      /* SSI_SDATA1 */
5171                [13] = RCAR_GP_PIN(6,  2),      /* SSI_SDATA0 */
5172                [14] = RCAR_GP_PIN(6,  1),      /* SSI_WS01239 */
5173                [15] = RCAR_GP_PIN(6,  0),      /* SSI_SCK01239 */
5174                [16] = PIN_MLB_REF,             /* MLB_REF */
5175                [17] = RCAR_GP_PIN(5, 19),      /* MLB_DAT */
5176                [18] = RCAR_GP_PIN(5, 18),      /* MLB_SIG */
5177                [19] = RCAR_GP_PIN(5, 17),      /* MLB_CLK */
5178                [20] = RCAR_GP_PIN(5, 16),      /* SSI_SDATA9 */
5179                [21] = RCAR_GP_PIN(5, 15),      /* MSIOF0_SS2 */
5180                [22] = RCAR_GP_PIN(5, 14),      /* MSIOF0_SS1 */
5181                [23] = RCAR_GP_PIN(5, 13),      /* MSIOF0_SYNC */
5182                [24] = RCAR_GP_PIN(5, 12),      /* MSIOF0_TXD */
5183                [25] = RCAR_GP_PIN(5, 11),      /* MSIOF0_RXD */
5184                [26] = RCAR_GP_PIN(5, 10),      /* MSIOF0_SCK */
5185                [27] = RCAR_GP_PIN(5,  9),      /* RX2_A */
5186                [28] = RCAR_GP_PIN(5,  8),      /* TX2_A */
5187                [29] = RCAR_GP_PIN(5,  7),      /* SCK2_A */
5188                [30] = RCAR_GP_PIN(5,  6),      /* TX1 */
5189                [31] = RCAR_GP_PIN(5,  5),      /* RX1 */
5190        } },
5191        { PINMUX_BIAS_REG("PUEN5", 0xe6060414, "PUD5", 0xe6060454) {
5192                 [0] = SH_PFC_PIN_NONE,
5193                 [1] = SH_PFC_PIN_NONE,
5194                 [2] = SH_PFC_PIN_NONE,
5195                 [3] = SH_PFC_PIN_NONE,
5196                 [4] = SH_PFC_PIN_NONE,
5197                 [5] = SH_PFC_PIN_NONE,
5198                 [6] = SH_PFC_PIN_NONE,
5199                 [7] = SH_PFC_PIN_NONE,
5200                 [8] = SH_PFC_PIN_NONE,
5201                 [9] = SH_PFC_PIN_NONE,
5202                [10] = SH_PFC_PIN_NONE,
5203                [11] = SH_PFC_PIN_NONE,
5204                [12] = SH_PFC_PIN_NONE,
5205                [13] = SH_PFC_PIN_NONE,
5206                [14] = SH_PFC_PIN_NONE,
5207                [15] = SH_PFC_PIN_NONE,
5208                [16] = SH_PFC_PIN_NONE,
5209                [17] = SH_PFC_PIN_NONE,
5210                [18] = SH_PFC_PIN_NONE,
5211                [19] = SH_PFC_PIN_NONE,
5212                [20] = SH_PFC_PIN_NONE,
5213                [21] = SH_PFC_PIN_NONE,
5214                [22] = SH_PFC_PIN_NONE,
5215                [23] = SH_PFC_PIN_NONE,
5216                [24] = SH_PFC_PIN_NONE,
5217                [25] = SH_PFC_PIN_NONE,
5218                [26] = SH_PFC_PIN_NONE,
5219                [27] = SH_PFC_PIN_NONE,
5220                [28] = SH_PFC_PIN_NONE,
5221                [29] = SH_PFC_PIN_NONE,
5222                [30] = RCAR_GP_PIN(6,  9),      /* PUEN_USB30_OVC */
5223                [31] = RCAR_GP_PIN(6, 17),      /* PUEN_USB30_PWEN */
5224        } },
5225        { /* sentinel */ },
5226};
5227
5228static unsigned int r8a77990_pinmux_get_bias(struct sh_pfc *pfc,
5229                                             unsigned int pin)
5230{
5231        const struct pinmux_bias_reg *reg;
5232        unsigned int bit;
5233
5234        reg = sh_pfc_pin_to_bias_reg(pfc, pin, &bit);
5235        if (!reg)
5236                return PIN_CONFIG_BIAS_DISABLE;
5237
5238        if (!(sh_pfc_read(pfc, reg->puen) & BIT(bit)))
5239                return PIN_CONFIG_BIAS_DISABLE;
5240        else if (sh_pfc_read(pfc, reg->pud) & BIT(bit))
5241                return PIN_CONFIG_BIAS_PULL_UP;
5242        else
5243                return PIN_CONFIG_BIAS_PULL_DOWN;
5244}
5245
5246static void r8a77990_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin,
5247                                     unsigned int bias)
5248{
5249        const struct pinmux_bias_reg *reg;
5250        u32 enable, updown;
5251        unsigned int bit;
5252
5253        reg = sh_pfc_pin_to_bias_reg(pfc, pin, &bit);
5254        if (!reg)
5255                return;
5256
5257        enable = sh_pfc_read(pfc, reg->puen) & ~BIT(bit);
5258        if (bias != PIN_CONFIG_BIAS_DISABLE)
5259                enable |= BIT(bit);
5260
5261        updown = sh_pfc_read(pfc, reg->pud) & ~BIT(bit);
5262        if (bias == PIN_CONFIG_BIAS_PULL_UP)
5263                updown |= BIT(bit);
5264
5265        sh_pfc_write(pfc, reg->pud, updown);
5266        sh_pfc_write(pfc, reg->puen, enable);
5267}
5268
5269static const struct sh_pfc_soc_operations r8a77990_pinmux_ops = {
5270        .pin_to_pocctrl = r8a77990_pin_to_pocctrl,
5271        .get_bias = r8a77990_pinmux_get_bias,
5272        .set_bias = r8a77990_pinmux_set_bias,
5273};
5274
5275#ifdef CONFIG_PINCTRL_PFC_R8A774C0
5276const struct sh_pfc_soc_info r8a774c0_pinmux_info = {
5277        .name = "r8a774c0_pfc",
5278        .ops = &r8a77990_pinmux_ops,
5279        .unlock_reg = 0xe6060000, /* PMMR */
5280
5281        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
5282
5283        .pins = pinmux_pins,
5284        .nr_pins = ARRAY_SIZE(pinmux_pins),
5285        .groups = pinmux_groups.common,
5286        .nr_groups = ARRAY_SIZE(pinmux_groups.common),
5287        .functions = pinmux_functions.common,
5288        .nr_functions = ARRAY_SIZE(pinmux_functions.common),
5289
5290        .cfg_regs = pinmux_config_regs,
5291        .bias_regs = pinmux_bias_regs,
5292        .ioctrl_regs = pinmux_ioctrl_regs,
5293
5294        .pinmux_data = pinmux_data,
5295        .pinmux_data_size = ARRAY_SIZE(pinmux_data),
5296};
5297#endif
5298
5299#ifdef CONFIG_PINCTRL_PFC_R8A77990
5300const struct sh_pfc_soc_info r8a77990_pinmux_info = {
5301        .name = "r8a77990_pfc",
5302        .ops = &r8a77990_pinmux_ops,
5303        .unlock_reg = 0xe6060000, /* PMMR */
5304
5305        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
5306
5307        .pins = pinmux_pins,
5308        .nr_pins = ARRAY_SIZE(pinmux_pins),
5309        .groups = pinmux_groups.common,
5310        .nr_groups = ARRAY_SIZE(pinmux_groups.common) +
5311                ARRAY_SIZE(pinmux_groups.automotive),
5312        .functions = pinmux_functions.common,
5313        .nr_functions = ARRAY_SIZE(pinmux_functions.common) +
5314                ARRAY_SIZE(pinmux_functions.automotive),
5315
5316        .cfg_regs = pinmux_config_regs,
5317        .bias_regs = pinmux_bias_regs,
5318        .ioctrl_regs = pinmux_ioctrl_regs,
5319
5320        .pinmux_data = pinmux_data,
5321        .pinmux_data_size = ARRAY_SIZE(pinmux_data),
5322};
5323#endif
5324