1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * R8A77470 processor support - PFC hardware block. 4 * 5 * Copyright (C) 2018 Renesas Electronics Corp. 6 */ 7 8 #include <linux/errno.h> 9 #include <linux/kernel.h> 10 11 #include "sh_pfc.h" 12 13 #define CPU_ALL_GP(fn, sfx) \ 14 PORT_GP_CFG_4(0, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 15 PORT_GP_CFG_1(0, 4, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 16 PORT_GP_CFG_1(0, 5, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 17 PORT_GP_CFG_1(0, 6, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 18 PORT_GP_CFG_1(0, 7, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 19 PORT_GP_CFG_1(0, 8, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 20 PORT_GP_CFG_1(0, 9, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 21 PORT_GP_CFG_1(0, 10, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 22 PORT_GP_CFG_1(0, 11, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 23 PORT_GP_CFG_1(0, 12, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 24 PORT_GP_CFG_1(0, 13, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 25 PORT_GP_CFG_1(0, 14, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 26 PORT_GP_CFG_1(0, 15, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 27 PORT_GP_CFG_1(0, 16, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 28 PORT_GP_CFG_1(0, 17, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 29 PORT_GP_CFG_1(0, 18, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 30 PORT_GP_CFG_1(0, 19, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 31 PORT_GP_CFG_1(0, 20, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 32 PORT_GP_CFG_1(0, 21, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 33 PORT_GP_CFG_1(0, 22, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 34 PORT_GP_CFG_23(1, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 35 PORT_GP_CFG_32(2, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 36 PORT_GP_CFG_17(3, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 37 PORT_GP_CFG_1(3, 27, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 38 PORT_GP_CFG_1(3, 28, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 39 PORT_GP_CFG_1(3, 29, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 40 PORT_GP_CFG_14(4, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 41 PORT_GP_CFG_1(4, 14, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 42 PORT_GP_CFG_1(4, 15, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 43 PORT_GP_CFG_1(4, 16, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 44 PORT_GP_CFG_1(4, 17, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 45 PORT_GP_CFG_1(4, 18, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 46 PORT_GP_CFG_1(4, 19, fn, sfx, SH_PFC_PIN_CFG_IO_VOLTAGE | SH_PFC_PIN_CFG_PULL_UP), \ 47 PORT_GP_CFG_1(4, 20, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 48 PORT_GP_CFG_1(4, 21, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 49 PORT_GP_CFG_1(4, 22, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 50 PORT_GP_CFG_1(4, 23, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 51 PORT_GP_CFG_1(4, 24, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 52 PORT_GP_CFG_1(4, 25, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 53 PORT_GP_CFG_32(5, fn, sfx, SH_PFC_PIN_CFG_PULL_UP) 54 55 #define CPU_ALL_NOGP(fn) \ 56 PIN_NOGP_CFG(ASEBRK_N_ACK, "ASEBRK#/ACK", fn, SH_PFC_PIN_CFG_PULL_DOWN), \ 57 PIN_NOGP_CFG(NMI, "NMI", fn, SH_PFC_PIN_CFG_PULL_UP), \ 58 PIN_NOGP_CFG(PRESETOUT_N, "PRESETOUT#", fn, SH_PFC_PIN_CFG_PULL_UP), \ 59 PIN_NOGP_CFG(TCK, "TCK", fn, SH_PFC_PIN_CFG_PULL_UP), \ 60 PIN_NOGP_CFG(TDI, "TDI", fn, SH_PFC_PIN_CFG_PULL_UP), \ 61 PIN_NOGP_CFG(TDO, "TDO", fn, SH_PFC_PIN_CFG_PULL_UP), \ 62 PIN_NOGP_CFG(TMS, "TMS", fn, SH_PFC_PIN_CFG_PULL_UP), \ 63 PIN_NOGP_CFG(TRST_N, "TRST#", fn, SH_PFC_PIN_CFG_PULL_UP) 64 65 enum { 66 PINMUX_RESERVED = 0, 67 68 PINMUX_DATA_BEGIN, 69 GP_ALL(DATA), 70 PINMUX_DATA_END, 71 72 PINMUX_FUNCTION_BEGIN, 73 GP_ALL(FN), 74 75 /* GPSR0 */ 76 FN_USB0_PWEN, FN_USB0_OVC, FN_USB1_PWEN, FN_USB1_OVC, FN_CLKOUT, 77 FN_IP0_3_0, FN_IP0_7_4, FN_IP0_11_8, FN_IP0_15_12, FN_IP0_19_16, 78 FN_IP0_23_20, FN_IP0_27_24, FN_IP0_31_28, FN_MMC0_CLK_SDHI1_CLK, 79 FN_MMC0_CMD_SDHI1_CMD, FN_MMC0_D0_SDHI1_D0, FN_MMC0_D1_SDHI1_D1, 80 FN_MMC0_D2_SDHI1_D2, FN_MMC0_D3_SDHI1_D3, FN_IP1_3_0, 81 FN_IP1_7_4, FN_MMC0_D6, FN_MMC0_D7, 82 83 /* GPSR1 */ 84 FN_IP1_11_8, FN_IP1_15_12, FN_IP1_19_16, FN_IP1_23_20, FN_IP1_27_24, 85 FN_IP1_31_28, FN_IP2_3_0, FN_IP2_7_4, FN_IP2_11_8, FN_IP2_15_12, 86 FN_IP2_19_16, FN_IP2_23_20, FN_IP2_27_24, FN_IP2_31_28, FN_IP3_3_0, 87 FN_IP3_7_4, FN_IP3_11_8, FN_IP3_15_12, FN_IP3_19_16, FN_IP3_23_20, 88 FN_IP3_27_24, FN_IP3_31_28, FN_IP4_3_0, 89 90 /* GPSR2 */ 91 FN_IP4_7_4, FN_IP4_11_8, FN_IP4_15_12, FN_IP4_19_16, FN_IP4_23_20, 92 FN_IP4_27_24, FN_IP4_31_28, FN_IP5_3_0, FN_IP5_7_4, FN_IP5_11_8, 93 FN_IP5_15_12, FN_IP5_19_16, FN_IP5_23_20, FN_IP5_27_24, FN_IP5_31_28, 94 FN_IP6_3_0, FN_IP6_7_4, FN_IP6_11_8, FN_IP6_15_12, FN_IP6_19_16, 95 FN_IP6_23_20, FN_IP6_27_24, FN_IP6_31_28, FN_IP7_3_0, FN_IP7_7_4, 96 FN_IP7_11_8, FN_IP7_15_12, FN_IP7_19_16, FN_IP7_23_20, FN_IP7_27_24, 97 FN_IP7_31_28, FN_IP8_3_0, 98 99 /* GPSR3 */ 100 FN_IP8_7_4, FN_IP8_11_8, FN_IP8_15_12, FN_IP8_19_16, FN_IP8_23_20, 101 FN_IP8_27_24, FN_IP8_31_28, FN_IP9_3_0, FN_IP9_7_4, FN_IP9_11_8, 102 FN_IP9_15_12, FN_IP9_19_16, FN_IP9_23_20, FN_IP9_27_24, FN_IP9_31_28, 103 FN_IP10_3_0, FN_IP10_7_4, FN_IP10_11_8, FN_IP10_15_12, FN_IP10_19_16, 104 105 /* GPSR4 */ 106 FN_IP10_23_20, FN_IP10_27_24, FN_IP10_31_28, FN_IP11_3_0, FN_IP11_7_4, 107 FN_IP11_11_8, FN_IP11_15_12, FN_IP11_19_16, FN_IP11_23_20, 108 FN_IP11_27_24, FN_IP11_31_28, FN_IP12_3_0, FN_IP12_7_4, FN_IP12_11_8, 109 FN_IP12_15_12, FN_IP12_19_16, FN_IP12_23_20, FN_IP12_27_24, 110 FN_IP12_31_28, FN_IP13_3_0, FN_IP13_7_4, FN_IP13_11_8, FN_IP13_15_12, 111 FN_IP13_19_16, FN_IP13_23_20, FN_IP13_27_24, 112 113 /* GPSR5 */ 114 FN_IP13_31_28, FN_IP14_3_0, FN_IP14_7_4, FN_IP14_11_8, FN_IP14_15_12, 115 FN_IP14_19_16, FN_IP14_23_20, FN_IP14_27_24, FN_IP14_31_28, 116 FN_IP15_3_0, FN_IP15_7_4, FN_IP15_11_8, FN_IP15_15_12, FN_IP15_19_16, 117 FN_IP15_23_20, FN_IP15_27_24, FN_IP15_31_28, FN_IP16_3_0, FN_IP16_7_4, 118 FN_IP16_11_8, FN_IP16_15_12, FN_IP16_19_16, FN_IP16_23_20, 119 FN_IP16_27_24, FN_IP16_31_28, FN_IP17_3_0, FN_IP17_7_4, FN_IP17_11_8, 120 FN_IP17_15_12, FN_IP17_19_16, FN_IP17_23_20, FN_IP17_27_24, 121 122 /* IPSR0 */ 123 FN_SD0_CLK, FN_SSI_SCK1_C, FN_RX3_C, 124 FN_SD0_CMD, FN_SSI_WS1_C, FN_TX3_C, 125 FN_SD0_DAT0, FN_SSI_SDATA1_C, FN_RX4_E, 126 FN_SD0_DAT1, FN_SSI_SCK0129_B, FN_TX4_E, 127 FN_SD0_DAT2, FN_SSI_WS0129_B, FN_RX5_E, 128 FN_SD0_DAT3, FN_SSI_SDATA0_B, FN_TX5_E, 129 FN_SD0_CD, FN_CAN0_RX_A, 130 FN_SD0_WP, FN_IRQ7, FN_CAN0_TX_A, 131 132 /* IPSR1 */ 133 FN_MMC0_D4, FN_SD1_CD, 134 FN_MMC0_D5, FN_SD1_WP, 135 FN_D0, FN_SCL3_B, FN_RX5_B, FN_IRQ4, FN_MSIOF2_RXD_C, FN_SSI_SDATA5_B, 136 FN_D1, FN_SDA3_B, FN_TX5_B, FN_MSIOF2_TXD_C, FN_SSI_WS5_B, 137 FN_D2, FN_RX4_B, FN_SCL0_D, FN_PWM1_C, FN_MSIOF2_SCK_C, FN_SSI_SCK5_B, 138 FN_D3, FN_TX4_B, FN_SDA0_D, FN_PWM0_A, FN_MSIOF2_SYNC_C, 139 FN_D4, FN_IRQ3, FN_TCLK1_A, FN_PWM6_C, 140 FN_D5, FN_HRX2, FN_SCL1_B, FN_PWM2_C, FN_TCLK2_B, 141 142 /* IPSR2 */ 143 FN_D6, FN_HTX2, FN_SDA1_B, FN_PWM4_C, 144 FN_D7, FN_HSCK2, FN_SCIF1_SCK_C, FN_IRQ6, FN_PWM5_C, 145 FN_D8, FN_HCTS2_N, FN_RX1_C, FN_SCL1_D, FN_PWM3_C, 146 FN_D9, FN_HRTS2_N, FN_TX1_C, FN_SDA1_D, 147 FN_D10, FN_MSIOF2_RXD_A, FN_HRX0_B, 148 FN_D11, FN_MSIOF2_TXD_A, FN_HTX0_B, 149 FN_D12, FN_MSIOF2_SCK_A, FN_HSCK0, FN_CAN_CLK_C, 150 FN_D13, FN_MSIOF2_SYNC_A, FN_RX4_C, 151 152 /* IPSR3 */ 153 FN_D14, FN_MSIOF2_SS1, FN_TX4_C, FN_CAN1_RX_B, FN_AVB_AVTP_CAPTURE_A, 154 FN_D15, FN_MSIOF2_SS2, FN_PWM4_A, FN_CAN1_TX_B, FN_IRQ2, FN_AVB_AVTP_MATCH_A, 155 FN_QSPI0_SPCLK, FN_WE0_N, 156 FN_QSPI0_MOSI_QSPI0_IO0, FN_BS_N, 157 FN_QSPI0_MISO_QSPI0_IO1, FN_RD_WR_N, 158 FN_QSPI0_IO2, FN_CS0_N, 159 FN_QSPI0_IO3, FN_RD_N, 160 FN_QSPI0_SSL, FN_WE1_N, 161 162 /* IPSR4 */ 163 FN_EX_WAIT0, FN_CAN_CLK_B, FN_SCIF_CLK_A, 164 FN_DU0_DR0, FN_RX5_C, FN_SCL2_D, FN_A0, 165 FN_DU0_DR1, FN_TX5_C, FN_SDA2_D, FN_A1, 166 FN_DU0_DR2, FN_RX0_D, FN_SCL0_E, FN_A2, 167 FN_DU0_DR3, FN_TX0_D, FN_SDA0_E, FN_PWM0_B, FN_A3, 168 FN_DU0_DR4, FN_RX1_D, FN_A4, 169 FN_DU0_DR5, FN_TX1_D, FN_PWM1_B, FN_A5, 170 FN_DU0_DR6, FN_RX2_C, FN_A6, 171 172 /* IPSR5 */ 173 FN_DU0_DR7, FN_TX2_C, FN_PWM2_B, FN_A7, 174 FN_DU0_DG0, FN_RX3_B, FN_SCL3_D, FN_A8, 175 FN_DU0_DG1, FN_TX3_B, FN_SDA3_D, FN_PWM3_B, FN_A9, 176 FN_DU0_DG2, FN_RX4_D, FN_A10, 177 FN_DU0_DG3, FN_TX4_D, FN_PWM4_B, FN_A11, 178 FN_DU0_DG4, FN_HRX0_A, FN_A12, 179 FN_DU0_DG5, FN_HTX0_A, FN_PWM5_B, FN_A13, 180 FN_DU0_DG6, FN_HRX1_C, FN_A14, 181 182 /* IPSR6 */ 183 FN_DU0_DG7, FN_HTX1_C, FN_PWM6_B, FN_A15, 184 FN_DU0_DB0, FN_SCL4_D, FN_CAN0_RX_C, FN_A16, 185 FN_DU0_DB1, FN_SDA4_D, FN_CAN0_TX_C, FN_A17, 186 FN_DU0_DB2, FN_HCTS0_N, FN_A18, 187 FN_DU0_DB3, FN_HRTS0_N, FN_A19, 188 FN_DU0_DB4, FN_HCTS1_N_C, FN_A20, 189 FN_DU0_DB5, FN_HRTS1_N_C, FN_A21, 190 FN_DU0_DB6, FN_A22, 191 192 /* IPSR7 */ 193 FN_DU0_DB7, FN_A23, 194 FN_DU0_DOTCLKIN, FN_A24, 195 FN_DU0_DOTCLKOUT0, FN_A25, 196 FN_DU0_DOTCLKOUT1, FN_MSIOF2_RXD_B, FN_CS1_N_A26, 197 FN_DU0_EXHSYNC_DU0_HSYNC, FN_MSIOF2_TXD_B, FN_DREQ0_N, 198 FN_DU0_EXVSYNC_DU0_VSYNC, FN_MSIOF2_SYNC_B, FN_DACK0, 199 FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, FN_MSIOF2_SCK_B, FN_DRACK0, 200 FN_DU0_DISP, FN_CAN1_RX_C, 201 202 /* IPSR8 */ 203 FN_DU0_CDE, FN_CAN1_TX_C, 204 FN_VI1_CLK, FN_AVB_RX_CLK, FN_ETH_REF_CLK, 205 FN_VI1_DATA0, FN_AVB_RX_DV, FN_ETH_CRS_DV, 206 FN_VI1_DATA1, FN_AVB_RXD0, FN_ETH_RXD0, 207 FN_VI1_DATA2, FN_AVB_RXD1, FN_ETH_RXD1, 208 FN_VI1_DATA3, FN_AVB_RXD2, FN_ETH_MDIO, 209 FN_VI1_DATA4, FN_AVB_RXD3, FN_ETH_RX_ER, 210 FN_VI1_DATA5, FN_AVB_RXD4, FN_ETH_LINK, 211 212 /* IPSR9 */ 213 FN_VI1_DATA6, FN_AVB_RXD5, FN_ETH_TXD1, 214 FN_VI1_DATA7, FN_AVB_RXD6, FN_ETH_TX_EN, 215 FN_VI1_CLKENB, FN_SCL3_A, FN_AVB_RXD7, FN_ETH_MAGIC, 216 FN_VI1_FIELD, FN_SDA3_A, FN_AVB_RX_ER, FN_ETH_TXD0, 217 FN_VI1_HSYNC_N, FN_RX0_B, FN_SCL0_C, FN_AVB_GTXREFCLK, FN_ETH_MDC, 218 FN_VI1_VSYNC_N, FN_TX0_B, FN_SDA0_C, FN_AUDIO_CLKOUT_B, FN_AVB_TX_CLK, 219 FN_VI1_DATA8, FN_SCL2_B, FN_AVB_TX_EN, 220 FN_VI1_DATA9, FN_SDA2_B, FN_AVB_TXD0, 221 222 /* IPSR10 */ 223 FN_VI1_DATA10, FN_CAN0_RX_B, FN_AVB_TXD1, 224 FN_VI1_DATA11, FN_CAN0_TX_B, FN_AVB_TXD2, 225 FN_AVB_TXD3, FN_AUDIO_CLKA_B, FN_SSI_SCK1_D, FN_RX5_F, FN_MSIOF0_RXD_B, 226 FN_AVB_TXD4, FN_AUDIO_CLKB_B, FN_SSI_WS1_D, FN_TX5_F, FN_MSIOF0_TXD_B, 227 FN_AVB_TXD5, FN_SCIF_CLK_B, FN_AUDIO_CLKC_B, FN_SSI_SDATA1_D, FN_MSIOF0_SCK_B, 228 FN_SCL0_A, FN_RX0_C, FN_PWM5_A, FN_TCLK1_B, FN_AVB_TXD6, FN_CAN1_RX_D, FN_MSIOF0_SYNC_B, 229 FN_SDA0_A, FN_TX0_C, FN_IRQ5, FN_CAN_CLK_A, FN_AVB_GTX_CLK, FN_CAN1_TX_D, FN_DVC_MUTE, 230 FN_SCL1_A, FN_RX4_A, FN_PWM5_D, FN_DU1_DR0, FN_SSI_SCK6_B, FN_VI0_G0, 231 232 /* IPSR11 */ 233 FN_SDA1_A, FN_TX4_A, FN_DU1_DR1, FN_SSI_WS6_B, FN_VI0_G1, 234 FN_MSIOF0_RXD_A, FN_RX5_A, FN_SCL2_C, FN_DU1_DR2, FN_QSPI1_MOSI_QSPI1_IO0, FN_SSI_SDATA6_B, FN_VI0_G2, 235 FN_MSIOF0_TXD_A, FN_TX5_A, FN_SDA2_C, FN_DU1_DR3, FN_QSPI1_MISO_QSPI1_IO1, FN_SSI_WS78_B, FN_VI0_G3, 236 FN_MSIOF0_SCK_A, FN_IRQ0, FN_DU1_DR4, FN_QSPI1_SPCLK, FN_SSI_SCK78_B, FN_VI0_G4, 237 FN_MSIOF0_SYNC_A, FN_PWM1_A, FN_DU1_DR5, FN_QSPI1_IO2, FN_SSI_SDATA7_B, 238 FN_MSIOF0_SS1_A, FN_DU1_DR6, FN_QSPI1_IO3, FN_SSI_SDATA8_B, 239 FN_MSIOF0_SS2_A, FN_DU1_DR7, FN_QSPI1_SSL, 240 FN_HRX1_A, FN_SCL4_A, FN_PWM6_A, FN_DU1_DG0, FN_RX0_A, 241 242 /* IPSR12 */ 243 FN_HTX1_A, FN_SDA4_A, FN_DU1_DG1, FN_TX0_A, 244 FN_HCTS1_N_A, FN_PWM2_A, FN_DU1_DG2, FN_REMOCON_B, 245 FN_HRTS1_N_A, FN_DU1_DG3, FN_SSI_WS1_B, FN_IRQ1, 246 FN_SD2_CLK, FN_HSCK1, FN_DU1_DG4, FN_SSI_SCK1_B, 247 FN_SD2_CMD, FN_SCIF1_SCK_A, FN_TCLK2_A, FN_DU1_DG5, FN_SSI_SCK2_B, FN_PWM3_A, 248 FN_SD2_DAT0, FN_RX1_A, FN_SCL1_E, FN_DU1_DG6, FN_SSI_SDATA1_B, 249 FN_SD2_DAT1, FN_TX1_A, FN_SDA1_E, FN_DU1_DG7, FN_SSI_WS2_B, 250 FN_SD2_DAT2, FN_RX2_A, FN_DU1_DB0, FN_SSI_SDATA2_B, 251 252 /* IPSR13 */ 253 FN_SD2_DAT3, FN_TX2_A, FN_DU1_DB1, FN_SSI_WS9_B, 254 FN_SD2_CD, FN_SCIF2_SCK_A, FN_DU1_DB2, FN_SSI_SCK9_B, 255 FN_SD2_WP, FN_SCIF3_SCK, FN_DU1_DB3, FN_SSI_SDATA9_B, 256 FN_RX3_A, FN_SCL1_C, FN_MSIOF1_RXD_B, FN_DU1_DB4, FN_AUDIO_CLKA_C, FN_SSI_SDATA4_B, 257 FN_TX3_A, FN_SDA1_C, FN_MSIOF1_TXD_B, FN_DU1_DB5, FN_AUDIO_CLKB_C, FN_SSI_WS4_B, 258 FN_SCL2_A, FN_MSIOF1_SCK_B, FN_DU1_DB6, FN_AUDIO_CLKC_C, FN_SSI_SCK4_B, 259 FN_SDA2_A, FN_MSIOF1_SYNC_B, FN_DU1_DB7, FN_AUDIO_CLKOUT_C, 260 FN_SSI_SCK5_A, FN_DU1_DOTCLKOUT1, 261 262 /* IPSR14 */ 263 FN_SSI_WS5_A, FN_SCL3_C, FN_DU1_DOTCLKIN, 264 FN_SSI_SDATA5_A, FN_SDA3_C, FN_DU1_DOTCLKOUT0, 265 FN_SSI_SCK6_A, FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, 266 FN_SSI_WS6_A, FN_SCL4_C, FN_DU1_EXHSYNC_DU1_HSYNC, 267 FN_SSI_SDATA6_A, FN_SDA4_C, FN_DU1_EXVSYNC_DU1_VSYNC, 268 FN_SSI_SCK78_A, FN_SDA4_E, FN_DU1_DISP, 269 FN_SSI_WS78_A, FN_SCL4_E, FN_DU1_CDE, 270 FN_SSI_SDATA7_A, FN_IRQ8, FN_AUDIO_CLKA_D, FN_CAN_CLK_D, FN_VI0_G5, 271 272 /* IPSR15 */ 273 FN_SSI_SCK0129_A, FN_MSIOF1_RXD_A, FN_RX5_D, FN_VI0_G6, 274 FN_SSI_WS0129_A, FN_MSIOF1_TXD_A, FN_TX5_D, FN_VI0_G7, 275 FN_SSI_SDATA0_A, FN_MSIOF1_SYNC_A, FN_PWM0_C, FN_VI0_R0, 276 FN_SSI_SCK34, FN_MSIOF1_SCK_A, FN_AVB_MDC, FN_DACK1, FN_VI0_R1, 277 FN_SSI_WS34, FN_MSIOF1_SS1_A, FN_AVB_MDIO, FN_CAN1_RX_A, FN_DREQ1_N, FN_VI0_R2, 278 FN_SSI_SDATA3, FN_MSIOF1_SS2_A, FN_AVB_LINK, FN_CAN1_TX_A, FN_DREQ2_N, FN_VI0_R3, 279 FN_SSI_SCK4_A, FN_AVB_MAGIC, FN_VI0_R4, 280 FN_SSI_WS4_A, FN_AVB_PHY_INT, FN_VI0_R5, 281 282 /* IPSR16 */ 283 FN_SSI_SDATA4_A, FN_AVB_CRS, FN_VI0_R6, 284 FN_SSI_SCK1_A, FN_SCIF1_SCK_B, FN_PWM1_D, FN_IRQ9, FN_REMOCON_A, FN_DACK2, FN_VI0_CLK, FN_AVB_COL, 285 FN_SSI_SDATA8_A, FN_RX1_B, FN_CAN0_RX_D, FN_AVB_AVTP_CAPTURE_B, FN_VI0_R7, 286 FN_SSI_WS1_A, FN_TX1_B, FN_CAN0_TX_D, FN_AVB_AVTP_MATCH_B, FN_VI0_DATA0_VI0_B0, 287 FN_SSI_SDATA1_A, FN_HRX1_B, FN_VI0_DATA1_VI0_B1, 288 FN_SSI_SCK2_A, FN_HTX1_B, FN_AVB_TXD7, FN_VI0_DATA2_VI0_B2, 289 FN_SSI_WS2_A, FN_HCTS1_N_B, FN_AVB_TX_ER, FN_VI0_DATA3_VI0_B3, 290 FN_SSI_SDATA2_A, FN_HRTS1_N_B, FN_VI0_DATA4_VI0_B4, 291 292 /* IPSR17 */ 293 FN_SSI_SCK9_A, FN_RX2_B, FN_SCL3_E, FN_EX_WAIT1, FN_VI0_DATA5_VI0_B5, 294 FN_SSI_WS9_A, FN_TX2_B, FN_SDA3_E, FN_VI0_DATA6_VI0_B6, 295 FN_SSI_SDATA9_A, FN_SCIF2_SCK_B, FN_PWM2_D, FN_VI0_DATA7_VI0_B7, 296 FN_AUDIO_CLKA_A, FN_SCL0_B, FN_VI0_CLKENB, 297 FN_AUDIO_CLKB_A, FN_SDA0_B, FN_VI0_FIELD, 298 FN_AUDIO_CLKC_A, FN_SCL4_B, FN_VI0_HSYNC_N, 299 FN_AUDIO_CLKOUT_A, FN_SDA4_B, FN_VI0_VSYNC_N, 300 301 /* MOD_SEL0 */ 302 FN_SEL_ADGA_0, FN_SEL_ADGA_1, FN_SEL_ADGA_2, FN_SEL_ADGA_3, 303 FN_SEL_CANCLK_0, FN_SEL_CANCLK_1, FN_SEL_CANCLK_2, FN_SEL_CANCLK_3, 304 FN_SEL_CAN1_0, FN_SEL_CAN1_1, FN_SEL_CAN1_2, FN_SEL_CAN1_3, 305 FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3, 306 FN_SEL_I2C04_0, FN_SEL_I2C04_1, FN_SEL_I2C04_2, FN_SEL_I2C04_3, FN_SEL_I2C04_4, 307 FN_SEL_I2C03_0, FN_SEL_I2C03_1, FN_SEL_I2C03_2, FN_SEL_I2C03_3, FN_SEL_I2C03_4, 308 FN_SEL_I2C02_0, FN_SEL_I2C02_1, FN_SEL_I2C02_2, FN_SEL_I2C02_3, 309 FN_SEL_I2C01_0, FN_SEL_I2C01_1, FN_SEL_I2C01_2, FN_SEL_I2C01_3, FN_SEL_I2C01_4, 310 FN_SEL_I2C00_0, FN_SEL_I2C00_1, FN_SEL_I2C00_2, FN_SEL_I2C00_3, FN_SEL_I2C00_4, 311 FN_SEL_AVB_0, FN_SEL_AVB_1, 312 313 /* MOD_SEL1 */ 314 FN_SEL_SCIFCLK_0, FN_SEL_SCIFCLK_1, 315 FN_SEL_SCIF5_0, FN_SEL_SCIF5_1, FN_SEL_SCIF5_2, FN_SEL_SCIF5_3, FN_SEL_SCIF5_4, FN_SEL_SCIF5_5, 316 FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2, FN_SEL_SCIF4_3, FN_SEL_SCIF4_4, 317 FN_SEL_SCIF3_0, FN_SEL_SCIF3_1, FN_SEL_SCIF3_2, 318 FN_SEL_SCIF2_0, FN_SEL_SCIF2_1, FN_SEL_SCIF2_2, 319 FN_SEL_SCIF2_CLK_0, FN_SEL_SCIF2_CLK_1, 320 FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF1_3, 321 FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2, FN_SEL_SCIF0_3, 322 FN_SEL_MSIOF2_0, FN_SEL_MSIOF2_1, FN_SEL_MSIOF2_2, 323 FN_SEL_MSIOF1_0, FN_SEL_MSIOF1_1, 324 FN_SEL_MSIOF0_0, FN_SEL_MSIOF0_1, 325 FN_SEL_RCN_0, FN_SEL_RCN_1, 326 FN_SEL_TMU2_0, FN_SEL_TMU2_1, 327 FN_SEL_TMU1_0, FN_SEL_TMU1_1, 328 FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, FN_SEL_HSCIF1_2, 329 FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, 330 331 /* MOD_SEL2 */ 332 FN_SEL_ADGB_0, FN_SEL_ADGB_1, FN_SEL_ADGB_2, 333 FN_SEL_ADGC_0, FN_SEL_ADGC_1, FN_SEL_ADGC_2, 334 FN_SEL_SSI9_0, FN_SEL_SSI9_1, 335 FN_SEL_SSI8_0, FN_SEL_SSI8_1, 336 FN_SEL_SSI7_0, FN_SEL_SSI7_1, 337 FN_SEL_SSI6_0, FN_SEL_SSI6_1, 338 FN_SEL_SSI5_0, FN_SEL_SSI5_1, 339 FN_SEL_SSI4_0, FN_SEL_SSI4_1, 340 FN_SEL_SSI2_0, FN_SEL_SSI2_1, 341 FN_SEL_SSI1_0, FN_SEL_SSI1_1, FN_SEL_SSI1_2, FN_SEL_SSI1_3, 342 FN_SEL_SSI0_0, FN_SEL_SSI0_1, 343 PINMUX_FUNCTION_END, 344 345 PINMUX_MARK_BEGIN, 346 347 USB0_PWEN_MARK, USB0_OVC_MARK, USB1_PWEN_MARK, USB1_OVC_MARK, 348 CLKOUT_MARK, MMC0_CLK_SDHI1_CLK_MARK, MMC0_CMD_SDHI1_CMD_MARK, 349 MMC0_D0_SDHI1_D0_MARK, MMC0_D1_SDHI1_D1_MARK, 350 MMC0_D2_SDHI1_D2_MARK, MMC0_D3_SDHI1_D3_MARK, MMC0_D6_MARK, 351 MMC0_D7_MARK, 352 353 /* IPSR0 */ 354 SD0_CLK_MARK, SSI_SCK1_C_MARK, RX3_C_MARK, 355 SD0_CMD_MARK, SSI_WS1_C_MARK, TX3_C_MARK, 356 SD0_DAT0_MARK, SSI_SDATA1_C_MARK, RX4_E_MARK, 357 SD0_DAT1_MARK, SSI_SCK0129_B_MARK, TX4_E_MARK, 358 SD0_DAT2_MARK, SSI_WS0129_B_MARK, RX5_E_MARK, 359 SD0_DAT3_MARK, SSI_SDATA0_B_MARK, TX5_E_MARK, 360 SD0_CD_MARK, CAN0_RX_A_MARK, 361 SD0_WP_MARK, IRQ7_MARK, CAN0_TX_A_MARK, 362 363 /* IPSR1 */ 364 MMC0_D4_MARK, SD1_CD_MARK, 365 MMC0_D5_MARK, SD1_WP_MARK, 366 D0_MARK, SCL3_B_MARK, RX5_B_MARK, IRQ4_MARK, MSIOF2_RXD_C_MARK, SSI_SDATA5_B_MARK, 367 D1_MARK, SDA3_B_MARK, TX5_B_MARK, MSIOF2_TXD_C_MARK, SSI_WS5_B_MARK, 368 D2_MARK, RX4_B_MARK, SCL0_D_MARK, PWM1_C_MARK, MSIOF2_SCK_C_MARK, SSI_SCK5_B_MARK, 369 D3_MARK, TX4_B_MARK, SDA0_D_MARK, PWM0_A_MARK, MSIOF2_SYNC_C_MARK, 370 D4_MARK, IRQ3_MARK, TCLK1_A_MARK, PWM6_C_MARK, 371 D5_MARK, HRX2_MARK, SCL1_B_MARK, PWM2_C_MARK, TCLK2_B_MARK, 372 373 /* IPSR2 */ 374 D6_MARK, HTX2_MARK, SDA1_B_MARK, PWM4_C_MARK, 375 D7_MARK, HSCK2_MARK, SCIF1_SCK_C_MARK, IRQ6_MARK, PWM5_C_MARK, 376 D8_MARK, HCTS2_N_MARK, RX1_C_MARK, SCL1_D_MARK, PWM3_C_MARK, 377 D9_MARK, HRTS2_N_MARK, TX1_C_MARK, SDA1_D_MARK, 378 D10_MARK, MSIOF2_RXD_A_MARK, HRX0_B_MARK, 379 D11_MARK, MSIOF2_TXD_A_MARK, HTX0_B_MARK, 380 D12_MARK, MSIOF2_SCK_A_MARK, HSCK0_MARK, CAN_CLK_C_MARK, 381 D13_MARK, MSIOF2_SYNC_A_MARK, RX4_C_MARK, 382 383 /* IPSR3 */ 384 D14_MARK, MSIOF2_SS1_MARK, TX4_C_MARK, CAN1_RX_B_MARK, AVB_AVTP_CAPTURE_A_MARK, 385 D15_MARK, MSIOF2_SS2_MARK, PWM4_A_MARK, CAN1_TX_B_MARK, IRQ2_MARK, AVB_AVTP_MATCH_A_MARK, 386 QSPI0_SPCLK_MARK, WE0_N_MARK, 387 QSPI0_MOSI_QSPI0_IO0_MARK, BS_N_MARK, 388 QSPI0_MISO_QSPI0_IO1_MARK, RD_WR_N_MARK, 389 QSPI0_IO2_MARK, CS0_N_MARK, 390 QSPI0_IO3_MARK, RD_N_MARK, 391 QSPI0_SSL_MARK, WE1_N_MARK, 392 393 /* IPSR4 */ 394 EX_WAIT0_MARK, CAN_CLK_B_MARK, SCIF_CLK_A_MARK, 395 DU0_DR0_MARK, RX5_C_MARK, SCL2_D_MARK, A0_MARK, 396 DU0_DR1_MARK, TX5_C_MARK, SDA2_D_MARK, A1_MARK, 397 DU0_DR2_MARK, RX0_D_MARK, SCL0_E_MARK, A2_MARK, 398 DU0_DR3_MARK, TX0_D_MARK, SDA0_E_MARK, PWM0_B_MARK, A3_MARK, 399 DU0_DR4_MARK, RX1_D_MARK, A4_MARK, 400 DU0_DR5_MARK, TX1_D_MARK, PWM1_B_MARK, A5_MARK, 401 DU0_DR6_MARK, RX2_C_MARK, A6_MARK, 402 403 /* IPSR5 */ 404 DU0_DR7_MARK, TX2_C_MARK, PWM2_B_MARK, A7_MARK, 405 DU0_DG0_MARK, RX3_B_MARK, SCL3_D_MARK, A8_MARK, 406 DU0_DG1_MARK, TX3_B_MARK, SDA3_D_MARK, PWM3_B_MARK, A9_MARK, 407 DU0_DG2_MARK, RX4_D_MARK, A10_MARK, 408 DU0_DG3_MARK, TX4_D_MARK, PWM4_B_MARK, A11_MARK, 409 DU0_DG4_MARK, HRX0_A_MARK, A12_MARK, 410 DU0_DG5_MARK, HTX0_A_MARK, PWM5_B_MARK, A13_MARK, 411 DU0_DG6_MARK, HRX1_C_MARK, A14_MARK, 412 413 /* IPSR6 */ 414 DU0_DG7_MARK, HTX1_C_MARK, PWM6_B_MARK, A15_MARK, 415 DU0_DB0_MARK, SCL4_D_MARK, CAN0_RX_C_MARK, A16_MARK, 416 DU0_DB1_MARK, SDA4_D_MARK, CAN0_TX_C_MARK, A17_MARK, 417 DU0_DB2_MARK, HCTS0_N_MARK, A18_MARK, 418 DU0_DB3_MARK, HRTS0_N_MARK, A19_MARK, 419 DU0_DB4_MARK, HCTS1_N_C_MARK, A20_MARK, 420 DU0_DB5_MARK, HRTS1_N_C_MARK, A21_MARK, 421 DU0_DB6_MARK, A22_MARK, 422 423 /* IPSR7 */ 424 DU0_DB7_MARK, A23_MARK, 425 DU0_DOTCLKIN_MARK, A24_MARK, 426 DU0_DOTCLKOUT0_MARK, A25_MARK, 427 DU0_DOTCLKOUT1_MARK, MSIOF2_RXD_B_MARK, CS1_N_A26_MARK, 428 DU0_EXHSYNC_DU0_HSYNC_MARK, MSIOF2_TXD_B_MARK, DREQ0_N_MARK, 429 DU0_EXVSYNC_DU0_VSYNC_MARK, MSIOF2_SYNC_B_MARK, DACK0_MARK, 430 DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK, MSIOF2_SCK_B_MARK, DRACK0_MARK, 431 DU0_DISP_MARK, CAN1_RX_C_MARK, 432 433 /* IPSR8 */ 434 DU0_CDE_MARK, CAN1_TX_C_MARK, 435 VI1_CLK_MARK, AVB_RX_CLK_MARK, ETH_REF_CLK_MARK, 436 VI1_DATA0_MARK, AVB_RX_DV_MARK, ETH_CRS_DV_MARK, 437 VI1_DATA1_MARK, AVB_RXD0_MARK, ETH_RXD0_MARK, 438 VI1_DATA2_MARK, AVB_RXD1_MARK, ETH_RXD1_MARK, 439 VI1_DATA3_MARK, AVB_RXD2_MARK, ETH_MDIO_MARK, 440 VI1_DATA4_MARK, AVB_RXD3_MARK, ETH_RX_ER_MARK, 441 VI1_DATA5_MARK, AVB_RXD4_MARK, ETH_LINK_MARK, 442 443 /* IPSR9 */ 444 VI1_DATA6_MARK, AVB_RXD5_MARK, ETH_TXD1_MARK, 445 VI1_DATA7_MARK, AVB_RXD6_MARK, ETH_TX_EN_MARK, 446 VI1_CLKENB_MARK, SCL3_A_MARK, AVB_RXD7_MARK, ETH_MAGIC_MARK, 447 VI1_FIELD_MARK, SDA3_A_MARK, AVB_RX_ER_MARK, ETH_TXD0_MARK, 448 VI1_HSYNC_N_MARK, RX0_B_MARK, SCL0_C_MARK, AVB_GTXREFCLK_MARK, ETH_MDC_MARK, 449 VI1_VSYNC_N_MARK, TX0_B_MARK, SDA0_C_MARK, AUDIO_CLKOUT_B_MARK, AVB_TX_CLK_MARK, 450 VI1_DATA8_MARK, SCL2_B_MARK, AVB_TX_EN_MARK, 451 VI1_DATA9_MARK, SDA2_B_MARK, AVB_TXD0_MARK, 452 453 /* IPSR10 */ 454 VI1_DATA10_MARK, CAN0_RX_B_MARK, AVB_TXD1_MARK, 455 VI1_DATA11_MARK, CAN0_TX_B_MARK, AVB_TXD2_MARK, 456 AVB_TXD3_MARK, AUDIO_CLKA_B_MARK, SSI_SCK1_D_MARK, RX5_F_MARK, MSIOF0_RXD_B_MARK, 457 AVB_TXD4_MARK, AUDIO_CLKB_B_MARK, SSI_WS1_D_MARK, TX5_F_MARK, MSIOF0_TXD_B_MARK, 458 AVB_TXD5_MARK, SCIF_CLK_B_MARK, AUDIO_CLKC_B_MARK, SSI_SDATA1_D_MARK, MSIOF0_SCK_B_MARK, 459 SCL0_A_MARK, RX0_C_MARK, PWM5_A_MARK, TCLK1_B_MARK, AVB_TXD6_MARK, CAN1_RX_D_MARK, MSIOF0_SYNC_B_MARK, 460 SDA0_A_MARK, TX0_C_MARK, IRQ5_MARK, CAN_CLK_A_MARK, AVB_GTX_CLK_MARK, CAN1_TX_D_MARK, DVC_MUTE_MARK, 461 SCL1_A_MARK, RX4_A_MARK, PWM5_D_MARK, DU1_DR0_MARK, SSI_SCK6_B_MARK, VI0_G0_MARK, 462 463 /* IPSR11 */ 464 SDA1_A_MARK, TX4_A_MARK, DU1_DR1_MARK, SSI_WS6_B_MARK, VI0_G1_MARK, 465 MSIOF0_RXD_A_MARK, RX5_A_MARK, SCL2_C_MARK, DU1_DR2_MARK, QSPI1_MOSI_QSPI1_IO0_MARK, SSI_SDATA6_B_MARK, VI0_G2_MARK, 466 MSIOF0_TXD_A_MARK, TX5_A_MARK, SDA2_C_MARK, DU1_DR3_MARK, QSPI1_MISO_QSPI1_IO1_MARK, SSI_WS78_B_MARK, VI0_G3_MARK, 467 MSIOF0_SCK_A_MARK, IRQ0_MARK, DU1_DR4_MARK, QSPI1_SPCLK_MARK, SSI_SCK78_B_MARK, VI0_G4_MARK, 468 MSIOF0_SYNC_A_MARK, PWM1_A_MARK, DU1_DR5_MARK, QSPI1_IO2_MARK, SSI_SDATA7_B_MARK, 469 MSIOF0_SS1_A_MARK, DU1_DR6_MARK, QSPI1_IO3_MARK, SSI_SDATA8_B_MARK, 470 MSIOF0_SS2_A_MARK, DU1_DR7_MARK, QSPI1_SSL_MARK, 471 HRX1_A_MARK, SCL4_A_MARK, PWM6_A_MARK, DU1_DG0_MARK, RX0_A_MARK, 472 473 /* IPSR12 */ 474 HTX1_A_MARK, SDA4_A_MARK, DU1_DG1_MARK, TX0_A_MARK, 475 HCTS1_N_A_MARK, PWM2_A_MARK, DU1_DG2_MARK, REMOCON_B_MARK, 476 HRTS1_N_A_MARK, DU1_DG3_MARK, SSI_WS1_B_MARK, IRQ1_MARK, 477 SD2_CLK_MARK, HSCK1_MARK, DU1_DG4_MARK, SSI_SCK1_B_MARK, 478 SD2_CMD_MARK, SCIF1_SCK_A_MARK, TCLK2_A_MARK, DU1_DG5_MARK, SSI_SCK2_B_MARK, PWM3_A_MARK, 479 SD2_DAT0_MARK, RX1_A_MARK, SCL1_E_MARK, DU1_DG6_MARK, SSI_SDATA1_B_MARK, 480 SD2_DAT1_MARK, TX1_A_MARK, SDA1_E_MARK, DU1_DG7_MARK, SSI_WS2_B_MARK, 481 SD2_DAT2_MARK, RX2_A_MARK, DU1_DB0_MARK, SSI_SDATA2_B_MARK, 482 483 /* IPSR13 */ 484 SD2_DAT3_MARK, TX2_A_MARK, DU1_DB1_MARK, SSI_WS9_B_MARK, 485 SD2_CD_MARK, SCIF2_SCK_A_MARK, DU1_DB2_MARK, SSI_SCK9_B_MARK, 486 SD2_WP_MARK, SCIF3_SCK_MARK, DU1_DB3_MARK, SSI_SDATA9_B_MARK, 487 RX3_A_MARK, SCL1_C_MARK, MSIOF1_RXD_B_MARK, DU1_DB4_MARK, AUDIO_CLKA_C_MARK, SSI_SDATA4_B_MARK, 488 TX3_A_MARK, SDA1_C_MARK, MSIOF1_TXD_B_MARK, DU1_DB5_MARK, AUDIO_CLKB_C_MARK, SSI_WS4_B_MARK, 489 SCL2_A_MARK, MSIOF1_SCK_B_MARK, DU1_DB6_MARK, AUDIO_CLKC_C_MARK, SSI_SCK4_B_MARK, 490 SDA2_A_MARK, MSIOF1_SYNC_B_MARK, DU1_DB7_MARK, AUDIO_CLKOUT_C_MARK, 491 SSI_SCK5_A_MARK, DU1_DOTCLKOUT1_MARK, 492 493 /* IPSR14 */ 494 SSI_WS5_A_MARK, SCL3_C_MARK, DU1_DOTCLKIN_MARK, 495 SSI_SDATA5_A_MARK, SDA3_C_MARK, DU1_DOTCLKOUT0_MARK, 496 SSI_SCK6_A_MARK, DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK, 497 SSI_WS6_A_MARK, SCL4_C_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK, 498 SSI_SDATA6_A_MARK, SDA4_C_MARK, DU1_EXVSYNC_DU1_VSYNC_MARK, 499 SSI_SCK78_A_MARK, SDA4_E_MARK, DU1_DISP_MARK, 500 SSI_WS78_A_MARK, SCL4_E_MARK, DU1_CDE_MARK, 501 SSI_SDATA7_A_MARK, IRQ8_MARK, AUDIO_CLKA_D_MARK, CAN_CLK_D_MARK, VI0_G5_MARK, 502 503 /* IPSR15 */ 504 SSI_SCK0129_A_MARK, MSIOF1_RXD_A_MARK, RX5_D_MARK, VI0_G6_MARK, 505 SSI_WS0129_A_MARK, MSIOF1_TXD_A_MARK, TX5_D_MARK, VI0_G7_MARK, 506 SSI_SDATA0_A_MARK, MSIOF1_SYNC_A_MARK, PWM0_C_MARK, VI0_R0_MARK, 507 SSI_SCK34_MARK, MSIOF1_SCK_A_MARK, AVB_MDC_MARK, DACK1_MARK, VI0_R1_MARK, 508 SSI_WS34_MARK, MSIOF1_SS1_A_MARK, AVB_MDIO_MARK, CAN1_RX_A_MARK, DREQ1_N_MARK, VI0_R2_MARK, 509 SSI_SDATA3_MARK, MSIOF1_SS2_A_MARK, AVB_LINK_MARK, CAN1_TX_A_MARK, DREQ2_N_MARK, VI0_R3_MARK, 510 SSI_SCK4_A_MARK, AVB_MAGIC_MARK, VI0_R4_MARK, 511 SSI_WS4_A_MARK, AVB_PHY_INT_MARK, VI0_R5_MARK, 512 513 /* IPSR16 */ 514 SSI_SDATA4_A_MARK, AVB_CRS_MARK, VI0_R6_MARK, 515 SSI_SCK1_A_MARK, SCIF1_SCK_B_MARK, PWM1_D_MARK, IRQ9_MARK, REMOCON_A_MARK, DACK2_MARK, VI0_CLK_MARK, AVB_COL_MARK, 516 SSI_SDATA8_A_MARK, RX1_B_MARK, CAN0_RX_D_MARK, AVB_AVTP_CAPTURE_B_MARK, VI0_R7_MARK, 517 SSI_WS1_A_MARK, TX1_B_MARK, CAN0_TX_D_MARK, AVB_AVTP_MATCH_B_MARK, VI0_DATA0_VI0_B0_MARK, 518 SSI_SDATA1_A_MARK, HRX1_B_MARK, VI0_DATA1_VI0_B1_MARK, 519 SSI_SCK2_A_MARK, HTX1_B_MARK, AVB_TXD7_MARK, VI0_DATA2_VI0_B2_MARK, 520 SSI_WS2_A_MARK, HCTS1_N_B_MARK, AVB_TX_ER_MARK, VI0_DATA3_VI0_B3_MARK, 521 SSI_SDATA2_A_MARK, HRTS1_N_B_MARK, VI0_DATA4_VI0_B4_MARK, 522 523 /* IPSR17 */ 524 SSI_SCK9_A_MARK, RX2_B_MARK, SCL3_E_MARK, EX_WAIT1_MARK, VI0_DATA5_VI0_B5_MARK, 525 SSI_WS9_A_MARK, TX2_B_MARK, SDA3_E_MARK, VI0_DATA6_VI0_B6_MARK, 526 SSI_SDATA9_A_MARK, SCIF2_SCK_B_MARK, PWM2_D_MARK, VI0_DATA7_VI0_B7_MARK, 527 AUDIO_CLKA_A_MARK, SCL0_B_MARK, VI0_CLKENB_MARK, 528 AUDIO_CLKB_A_MARK, SDA0_B_MARK, VI0_FIELD_MARK, 529 AUDIO_CLKC_A_MARK, SCL4_B_MARK, VI0_HSYNC_N_MARK, 530 AUDIO_CLKOUT_A_MARK, SDA4_B_MARK, VI0_VSYNC_N_MARK, 531 532 PINMUX_MARK_END, 533 }; 534 535 static const u16 pinmux_data[] = { 536 PINMUX_DATA_GP_ALL(), /* PINMUX_DATA(GP_M_N_DATA, GP_M_N_FN...), */ 537 538 PINMUX_SINGLE(USB0_PWEN), 539 PINMUX_SINGLE(USB0_OVC), 540 PINMUX_SINGLE(USB1_PWEN), 541 PINMUX_SINGLE(USB1_OVC), 542 PINMUX_SINGLE(CLKOUT), 543 PINMUX_SINGLE(MMC0_CLK_SDHI1_CLK), 544 PINMUX_SINGLE(MMC0_CMD_SDHI1_CMD), 545 PINMUX_SINGLE(MMC0_D0_SDHI1_D0), 546 PINMUX_SINGLE(MMC0_D1_SDHI1_D1), 547 PINMUX_SINGLE(MMC0_D2_SDHI1_D2), 548 PINMUX_SINGLE(MMC0_D3_SDHI1_D3), 549 PINMUX_SINGLE(MMC0_D6), 550 PINMUX_SINGLE(MMC0_D7), 551 552 /* IPSR0 */ 553 PINMUX_IPSR_GPSR(IP0_3_0, SD0_CLK), 554 PINMUX_IPSR_MSEL(IP0_3_0, SSI_SCK1_C, SEL_SSI1_2), 555 PINMUX_IPSR_MSEL(IP0_3_0, RX3_C, SEL_SCIF3_2), 556 PINMUX_IPSR_GPSR(IP0_7_4, SD0_CMD), 557 PINMUX_IPSR_MSEL(IP0_7_4, SSI_WS1_C, SEL_SSI1_2), 558 PINMUX_IPSR_MSEL(IP0_7_4, TX3_C, SEL_SCIF3_2), 559 PINMUX_IPSR_GPSR(IP0_11_8, SD0_DAT0), 560 PINMUX_IPSR_MSEL(IP0_11_8, SSI_SDATA1_C, SEL_SSI1_2), 561 PINMUX_IPSR_MSEL(IP0_11_8, RX4_E, SEL_SCIF4_4), 562 PINMUX_IPSR_GPSR(IP0_15_12, SD0_DAT1), 563 PINMUX_IPSR_MSEL(IP0_15_12, SSI_SCK0129_B, SEL_SSI0_1), 564 PINMUX_IPSR_MSEL(IP0_15_12, TX4_E, SEL_SCIF4_4), 565 PINMUX_IPSR_GPSR(IP0_19_16, SD0_DAT2), 566 PINMUX_IPSR_MSEL(IP0_19_16, SSI_WS0129_B, SEL_SSI0_1), 567 PINMUX_IPSR_MSEL(IP0_19_16, RX5_E, SEL_SCIF5_4), 568 PINMUX_IPSR_GPSR(IP0_23_20, SD0_DAT3), 569 PINMUX_IPSR_MSEL(IP0_23_20, SSI_SDATA0_B, SEL_SSI0_1), 570 PINMUX_IPSR_MSEL(IP0_23_20, TX5_E, SEL_SCIF5_4), 571 PINMUX_IPSR_GPSR(IP0_27_24, SD0_CD), 572 PINMUX_IPSR_MSEL(IP0_27_24, CAN0_RX_A, SEL_CAN0_0), 573 PINMUX_IPSR_GPSR(IP0_31_28, SD0_WP), 574 PINMUX_IPSR_GPSR(IP0_31_28, IRQ7), 575 PINMUX_IPSR_MSEL(IP0_31_28, CAN0_TX_A, SEL_CAN0_0), 576 577 /* IPSR1 */ 578 PINMUX_IPSR_GPSR(IP1_3_0, MMC0_D4), 579 PINMUX_IPSR_GPSR(IP1_3_0, SD1_CD), 580 PINMUX_IPSR_GPSR(IP1_7_4, MMC0_D5), 581 PINMUX_IPSR_GPSR(IP1_7_4, SD1_WP), 582 PINMUX_IPSR_GPSR(IP1_11_8, D0), 583 PINMUX_IPSR_MSEL(IP1_11_8, SCL3_B, SEL_I2C03_1), 584 PINMUX_IPSR_MSEL(IP1_11_8, RX5_B, SEL_SCIF5_1), 585 PINMUX_IPSR_GPSR(IP1_11_8, IRQ4), 586 PINMUX_IPSR_MSEL(IP1_11_8, MSIOF2_RXD_C, SEL_MSIOF2_2), 587 PINMUX_IPSR_MSEL(IP1_11_8, SSI_SDATA5_B, SEL_SSI5_1), 588 PINMUX_IPSR_GPSR(IP1_15_12, D1), 589 PINMUX_IPSR_MSEL(IP1_15_12, SDA3_B, SEL_I2C03_1), 590 PINMUX_IPSR_MSEL(IP1_15_12, TX5_B, SEL_SCIF5_1), 591 PINMUX_IPSR_MSEL(IP1_15_12, MSIOF2_TXD_C, SEL_MSIOF2_2), 592 PINMUX_IPSR_MSEL(IP1_15_12, SSI_WS5_B, SEL_SSI5_1), 593 PINMUX_IPSR_GPSR(IP1_19_16, D2), 594 PINMUX_IPSR_MSEL(IP1_19_16, RX4_B, SEL_SCIF4_1), 595 PINMUX_IPSR_MSEL(IP1_19_16, SCL0_D, SEL_I2C00_3), 596 PINMUX_IPSR_GPSR(IP1_19_16, PWM1_C), 597 PINMUX_IPSR_MSEL(IP1_19_16, MSIOF2_SCK_C, SEL_MSIOF2_2), 598 PINMUX_IPSR_MSEL(IP1_19_16, SSI_SCK5_B, SEL_SSI5_1), 599 PINMUX_IPSR_GPSR(IP1_23_20, D3), 600 PINMUX_IPSR_MSEL(IP1_23_20, TX4_B, SEL_SCIF4_1), 601 PINMUX_IPSR_MSEL(IP1_23_20, SDA0_D, SEL_I2C00_3), 602 PINMUX_IPSR_GPSR(IP1_23_20, PWM0_A), 603 PINMUX_IPSR_MSEL(IP1_23_20, MSIOF2_SYNC_C, SEL_MSIOF2_2), 604 PINMUX_IPSR_GPSR(IP1_27_24, D4), 605 PINMUX_IPSR_GPSR(IP1_27_24, IRQ3), 606 PINMUX_IPSR_MSEL(IP1_27_24, TCLK1_A, SEL_TMU1_0), 607 PINMUX_IPSR_GPSR(IP1_27_24, PWM6_C), 608 PINMUX_IPSR_GPSR(IP1_31_28, D5), 609 PINMUX_IPSR_GPSR(IP1_31_28, HRX2), 610 PINMUX_IPSR_MSEL(IP1_31_28, SCL1_B, SEL_I2C01_1), 611 PINMUX_IPSR_GPSR(IP1_31_28, PWM2_C), 612 PINMUX_IPSR_MSEL(IP1_31_28, TCLK2_B, SEL_TMU2_1), 613 614 /* IPSR2 */ 615 PINMUX_IPSR_GPSR(IP2_3_0, D6), 616 PINMUX_IPSR_GPSR(IP2_3_0, HTX2), 617 PINMUX_IPSR_MSEL(IP2_3_0, SDA1_B, SEL_I2C01_1), 618 PINMUX_IPSR_GPSR(IP2_3_0, PWM4_C), 619 PINMUX_IPSR_GPSR(IP2_7_4, D7), 620 PINMUX_IPSR_GPSR(IP2_7_4, HSCK2), 621 PINMUX_IPSR_MSEL(IP2_7_4, SCIF1_SCK_C, SEL_SCIF1_2), 622 PINMUX_IPSR_GPSR(IP2_7_4, IRQ6), 623 PINMUX_IPSR_GPSR(IP2_7_4, PWM5_C), 624 PINMUX_IPSR_GPSR(IP2_11_8, D8), 625 PINMUX_IPSR_GPSR(IP2_11_8, HCTS2_N), 626 PINMUX_IPSR_MSEL(IP2_11_8, RX1_C, SEL_SCIF1_2), 627 PINMUX_IPSR_MSEL(IP2_11_8, SCL1_D, SEL_I2C01_3), 628 PINMUX_IPSR_GPSR(IP2_11_8, PWM3_C), 629 PINMUX_IPSR_GPSR(IP2_15_12, D9), 630 PINMUX_IPSR_GPSR(IP2_15_12, HRTS2_N), 631 PINMUX_IPSR_MSEL(IP2_15_12, TX1_C, SEL_SCIF1_2), 632 PINMUX_IPSR_MSEL(IP2_15_12, SDA1_D, SEL_I2C01_3), 633 PINMUX_IPSR_GPSR(IP2_19_16, D10), 634 PINMUX_IPSR_MSEL(IP2_19_16, MSIOF2_RXD_A, SEL_MSIOF2_0), 635 PINMUX_IPSR_MSEL(IP2_19_16, HRX0_B, SEL_HSCIF0_1), 636 PINMUX_IPSR_GPSR(IP2_23_20, D11), 637 PINMUX_IPSR_MSEL(IP2_23_20, MSIOF2_TXD_A, SEL_MSIOF2_0), 638 PINMUX_IPSR_MSEL(IP2_23_20, HTX0_B, SEL_HSCIF0_1), 639 PINMUX_IPSR_GPSR(IP2_27_24, D12), 640 PINMUX_IPSR_MSEL(IP2_27_24, MSIOF2_SCK_A, SEL_MSIOF2_0), 641 PINMUX_IPSR_GPSR(IP2_27_24, HSCK0), 642 PINMUX_IPSR_MSEL(IP2_27_24, CAN_CLK_C, SEL_CANCLK_2), 643 PINMUX_IPSR_GPSR(IP2_31_28, D13), 644 PINMUX_IPSR_MSEL(IP2_31_28, MSIOF2_SYNC_A, SEL_MSIOF2_0), 645 PINMUX_IPSR_MSEL(IP2_31_28, RX4_C, SEL_SCIF4_2), 646 647 /* IPSR3 */ 648 PINMUX_IPSR_GPSR(IP3_3_0, D14), 649 PINMUX_IPSR_GPSR(IP3_3_0, MSIOF2_SS1), 650 PINMUX_IPSR_MSEL(IP3_3_0, TX4_C, SEL_SCIF4_2), 651 PINMUX_IPSR_MSEL(IP3_3_0, CAN1_RX_B, SEL_CAN1_1), 652 PINMUX_IPSR_MSEL(IP3_3_0, AVB_AVTP_CAPTURE_A, SEL_AVB_0), 653 PINMUX_IPSR_GPSR(IP3_7_4, D15), 654 PINMUX_IPSR_GPSR(IP3_7_4, MSIOF2_SS2), 655 PINMUX_IPSR_GPSR(IP3_7_4, PWM4_A), 656 PINMUX_IPSR_MSEL(IP3_7_4, CAN1_TX_B, SEL_CAN1_1), 657 PINMUX_IPSR_GPSR(IP3_7_4, IRQ2), 658 PINMUX_IPSR_MSEL(IP3_7_4, AVB_AVTP_MATCH_A, SEL_AVB_0), 659 PINMUX_IPSR_GPSR(IP3_11_8, QSPI0_SPCLK), 660 PINMUX_IPSR_GPSR(IP3_11_8, WE0_N), 661 PINMUX_IPSR_GPSR(IP3_15_12, QSPI0_MOSI_QSPI0_IO0), 662 PINMUX_IPSR_GPSR(IP3_15_12, BS_N), 663 PINMUX_IPSR_GPSR(IP3_19_16, QSPI0_MISO_QSPI0_IO1), 664 PINMUX_IPSR_GPSR(IP3_19_16, RD_WR_N), 665 PINMUX_IPSR_GPSR(IP3_23_20, QSPI0_IO2), 666 PINMUX_IPSR_GPSR(IP3_23_20, CS0_N), 667 PINMUX_IPSR_GPSR(IP3_27_24, QSPI0_IO3), 668 PINMUX_IPSR_GPSR(IP3_27_24, RD_N), 669 PINMUX_IPSR_GPSR(IP3_31_28, QSPI0_SSL), 670 PINMUX_IPSR_GPSR(IP3_31_28, WE1_N), 671 672 /* IPSR4 */ 673 PINMUX_IPSR_GPSR(IP4_3_0, EX_WAIT0), 674 PINMUX_IPSR_MSEL(IP4_3_0, CAN_CLK_B, SEL_CANCLK_1), 675 PINMUX_IPSR_MSEL(IP4_3_0, SCIF_CLK_A, SEL_SCIFCLK_0), 676 PINMUX_IPSR_GPSR(IP4_7_4, DU0_DR0), 677 PINMUX_IPSR_MSEL(IP4_7_4, RX5_C, SEL_SCIF5_2), 678 PINMUX_IPSR_MSEL(IP4_7_4, SCL2_D, SEL_I2C02_3), 679 PINMUX_IPSR_GPSR(IP4_7_4, A0), 680 PINMUX_IPSR_GPSR(IP4_11_8, DU0_DR1), 681 PINMUX_IPSR_MSEL(IP4_11_8, TX5_C, SEL_SCIF5_2), 682 PINMUX_IPSR_MSEL(IP4_11_8, SDA2_D, SEL_I2C02_3), 683 PINMUX_IPSR_GPSR(IP4_11_8, A1), 684 PINMUX_IPSR_GPSR(IP4_15_12, DU0_DR2), 685 PINMUX_IPSR_MSEL(IP4_15_12, RX0_D, SEL_SCIF0_3), 686 PINMUX_IPSR_MSEL(IP4_15_12, SCL0_E, SEL_I2C00_4), 687 PINMUX_IPSR_GPSR(IP4_15_12, A2), 688 PINMUX_IPSR_GPSR(IP4_19_16, DU0_DR3), 689 PINMUX_IPSR_MSEL(IP4_19_16, TX0_D, SEL_SCIF0_3), 690 PINMUX_IPSR_MSEL(IP4_19_16, SDA0_E, SEL_I2C00_4), 691 PINMUX_IPSR_GPSR(IP4_19_16, PWM0_B), 692 PINMUX_IPSR_GPSR(IP4_19_16, A3), 693 PINMUX_IPSR_GPSR(IP4_23_20, DU0_DR4), 694 PINMUX_IPSR_MSEL(IP4_23_20, RX1_D, SEL_SCIF1_3), 695 PINMUX_IPSR_GPSR(IP4_23_20, A4), 696 PINMUX_IPSR_GPSR(IP4_27_24, DU0_DR5), 697 PINMUX_IPSR_MSEL(IP4_27_24, TX1_D, SEL_SCIF1_3), 698 PINMUX_IPSR_GPSR(IP4_27_24, PWM1_B), 699 PINMUX_IPSR_GPSR(IP4_27_24, A5), 700 PINMUX_IPSR_GPSR(IP4_31_28, DU0_DR6), 701 PINMUX_IPSR_MSEL(IP4_31_28, RX2_C, SEL_SCIF2_2), 702 PINMUX_IPSR_GPSR(IP4_31_28, A6), 703 704 /* IPSR5 */ 705 PINMUX_IPSR_GPSR(IP5_3_0, DU0_DR7), 706 PINMUX_IPSR_MSEL(IP5_3_0, TX2_C, SEL_SCIF2_2), 707 PINMUX_IPSR_GPSR(IP5_3_0, PWM2_B), 708 PINMUX_IPSR_GPSR(IP5_3_0, A7), 709 PINMUX_IPSR_GPSR(IP5_7_4, DU0_DG0), 710 PINMUX_IPSR_MSEL(IP5_7_4, RX3_B, SEL_SCIF3_1), 711 PINMUX_IPSR_MSEL(IP5_7_4, SCL3_D, SEL_I2C03_3), 712 PINMUX_IPSR_GPSR(IP5_7_4, A8), 713 PINMUX_IPSR_GPSR(IP5_11_8, DU0_DG1), 714 PINMUX_IPSR_MSEL(IP5_11_8, TX3_B, SEL_SCIF3_1), 715 PINMUX_IPSR_MSEL(IP5_11_8, SDA3_D, SEL_I2C03_3), 716 PINMUX_IPSR_GPSR(IP5_11_8, PWM3_B), 717 PINMUX_IPSR_GPSR(IP5_11_8, A9), 718 PINMUX_IPSR_GPSR(IP5_15_12, DU0_DG2), 719 PINMUX_IPSR_MSEL(IP5_15_12, RX4_D, SEL_SCIF4_3), 720 PINMUX_IPSR_GPSR(IP5_15_12, A10), 721 PINMUX_IPSR_GPSR(IP5_19_16, DU0_DG3), 722 PINMUX_IPSR_MSEL(IP5_19_16, TX4_D, SEL_SCIF4_3), 723 PINMUX_IPSR_GPSR(IP5_19_16, PWM4_B), 724 PINMUX_IPSR_GPSR(IP5_19_16, A11), 725 PINMUX_IPSR_GPSR(IP5_23_20, DU0_DG4), 726 PINMUX_IPSR_MSEL(IP5_23_20, HRX0_A, SEL_HSCIF0_0), 727 PINMUX_IPSR_GPSR(IP5_23_20, A12), 728 PINMUX_IPSR_GPSR(IP5_27_24, DU0_DG5), 729 PINMUX_IPSR_MSEL(IP5_27_24, HTX0_A, SEL_HSCIF0_0), 730 PINMUX_IPSR_GPSR(IP5_27_24, PWM5_B), 731 PINMUX_IPSR_GPSR(IP5_27_24, A13), 732 PINMUX_IPSR_GPSR(IP5_31_28, DU0_DG6), 733 PINMUX_IPSR_MSEL(IP5_31_28, HRX1_C, SEL_HSCIF1_2), 734 PINMUX_IPSR_GPSR(IP5_31_28, A14), 735 736 /* IPSR6 */ 737 PINMUX_IPSR_GPSR(IP6_3_0, DU0_DG7), 738 PINMUX_IPSR_MSEL(IP6_3_0, HTX1_C, SEL_HSCIF1_2), 739 PINMUX_IPSR_GPSR(IP6_3_0, PWM6_B), 740 PINMUX_IPSR_GPSR(IP6_3_0, A15), 741 PINMUX_IPSR_GPSR(IP6_7_4, DU0_DB0), 742 PINMUX_IPSR_MSEL(IP6_7_4, SCL4_D, SEL_I2C04_3), 743 PINMUX_IPSR_MSEL(IP6_7_4, CAN0_RX_C, SEL_CAN0_2), 744 PINMUX_IPSR_GPSR(IP6_7_4, A16), 745 PINMUX_IPSR_GPSR(IP6_11_8, DU0_DB1), 746 PINMUX_IPSR_MSEL(IP6_11_8, SDA4_D, SEL_I2C04_3), 747 PINMUX_IPSR_MSEL(IP6_11_8, CAN0_TX_C, SEL_CAN0_2), 748 PINMUX_IPSR_GPSR(IP6_11_8, A17), 749 PINMUX_IPSR_GPSR(IP6_15_12, DU0_DB2), 750 PINMUX_IPSR_GPSR(IP6_15_12, HCTS0_N), 751 PINMUX_IPSR_GPSR(IP6_15_12, A18), 752 PINMUX_IPSR_GPSR(IP6_19_16, DU0_DB3), 753 PINMUX_IPSR_GPSR(IP6_19_16, HRTS0_N), 754 PINMUX_IPSR_GPSR(IP6_19_16, A19), 755 PINMUX_IPSR_GPSR(IP6_23_20, DU0_DB4), 756 PINMUX_IPSR_MSEL(IP6_23_20, HCTS1_N_C, SEL_HSCIF1_2), 757 PINMUX_IPSR_GPSR(IP6_23_20, A20), 758 PINMUX_IPSR_GPSR(IP6_27_24, DU0_DB5), 759 PINMUX_IPSR_MSEL(IP6_27_24, HRTS1_N_C, SEL_HSCIF1_2), 760 PINMUX_IPSR_GPSR(IP6_27_24, A21), 761 PINMUX_IPSR_GPSR(IP6_31_28, DU0_DB6), 762 PINMUX_IPSR_GPSR(IP6_31_28, A22), 763 764 /* IPSR7 */ 765 PINMUX_IPSR_GPSR(IP7_3_0, DU0_DB7), 766 PINMUX_IPSR_GPSR(IP7_3_0, A23), 767 PINMUX_IPSR_GPSR(IP7_7_4, DU0_DOTCLKIN), 768 PINMUX_IPSR_GPSR(IP7_7_4, A24), 769 PINMUX_IPSR_GPSR(IP7_11_8, DU0_DOTCLKOUT0), 770 PINMUX_IPSR_GPSR(IP7_11_8, A25), 771 PINMUX_IPSR_GPSR(IP7_15_12, DU0_DOTCLKOUT1), 772 PINMUX_IPSR_MSEL(IP7_15_12, MSIOF2_RXD_B, SEL_MSIOF2_1), 773 PINMUX_IPSR_GPSR(IP7_15_12, CS1_N_A26), 774 PINMUX_IPSR_GPSR(IP7_19_16, DU0_EXHSYNC_DU0_HSYNC), 775 PINMUX_IPSR_MSEL(IP7_19_16, MSIOF2_TXD_B, SEL_MSIOF2_1), 776 PINMUX_IPSR_GPSR(IP7_19_16, DREQ0_N), 777 PINMUX_IPSR_GPSR(IP7_23_20, DU0_EXVSYNC_DU0_VSYNC), 778 PINMUX_IPSR_MSEL(IP7_23_20, MSIOF2_SYNC_B, SEL_MSIOF2_1), 779 PINMUX_IPSR_GPSR(IP7_23_20, DACK0), 780 PINMUX_IPSR_GPSR(IP7_27_24, DU0_EXODDF_DU0_ODDF_DISP_CDE), 781 PINMUX_IPSR_MSEL(IP7_27_24, MSIOF2_SCK_B, SEL_MSIOF2_1), 782 PINMUX_IPSR_GPSR(IP7_27_24, DRACK0), 783 PINMUX_IPSR_GPSR(IP7_31_28, DU0_DISP), 784 PINMUX_IPSR_MSEL(IP7_31_28, CAN1_RX_C, SEL_CAN1_2), 785 786 /* IPSR8 */ 787 PINMUX_IPSR_GPSR(IP8_3_0, DU0_CDE), 788 PINMUX_IPSR_MSEL(IP8_3_0, CAN1_TX_C, SEL_CAN1_2), 789 PINMUX_IPSR_GPSR(IP8_7_4, VI1_CLK), 790 PINMUX_IPSR_GPSR(IP8_7_4, AVB_RX_CLK), 791 PINMUX_IPSR_GPSR(IP8_7_4, ETH_REF_CLK), 792 PINMUX_IPSR_GPSR(IP8_11_8, VI1_DATA0), 793 PINMUX_IPSR_GPSR(IP8_11_8, AVB_RX_DV), 794 PINMUX_IPSR_GPSR(IP8_11_8, ETH_CRS_DV), 795 PINMUX_IPSR_GPSR(IP8_15_12, VI1_DATA1), 796 PINMUX_IPSR_GPSR(IP8_15_12, AVB_RXD0), 797 PINMUX_IPSR_GPSR(IP8_15_12, ETH_RXD0), 798 PINMUX_IPSR_GPSR(IP8_19_16, VI1_DATA2), 799 PINMUX_IPSR_GPSR(IP8_19_16, AVB_RXD1), 800 PINMUX_IPSR_GPSR(IP8_19_16, ETH_RXD1), 801 PINMUX_IPSR_GPSR(IP8_23_20, VI1_DATA3), 802 PINMUX_IPSR_GPSR(IP8_23_20, AVB_RXD2), 803 PINMUX_IPSR_GPSR(IP8_23_20, ETH_MDIO), 804 PINMUX_IPSR_GPSR(IP8_27_24, VI1_DATA4), 805 PINMUX_IPSR_GPSR(IP8_27_24, AVB_RXD3), 806 PINMUX_IPSR_GPSR(IP8_27_24, ETH_RX_ER), 807 PINMUX_IPSR_GPSR(IP8_31_28, VI1_DATA5), 808 PINMUX_IPSR_GPSR(IP8_31_28, AVB_RXD4), 809 PINMUX_IPSR_GPSR(IP8_31_28, ETH_LINK), 810 811 /* IPSR9 */ 812 PINMUX_IPSR_GPSR(IP9_3_0, VI1_DATA6), 813 PINMUX_IPSR_GPSR(IP9_3_0, AVB_RXD5), 814 PINMUX_IPSR_GPSR(IP9_3_0, ETH_TXD1), 815 PINMUX_IPSR_GPSR(IP9_7_4, VI1_DATA7), 816 PINMUX_IPSR_GPSR(IP9_7_4, AVB_RXD6), 817 PINMUX_IPSR_GPSR(IP9_7_4, ETH_TX_EN), 818 PINMUX_IPSR_GPSR(IP9_11_8, VI1_CLKENB), 819 PINMUX_IPSR_MSEL(IP9_11_8, SCL3_A, SEL_I2C03_0), 820 PINMUX_IPSR_GPSR(IP9_11_8, AVB_RXD7), 821 PINMUX_IPSR_GPSR(IP9_11_8, ETH_MAGIC), 822 PINMUX_IPSR_GPSR(IP9_15_12, VI1_FIELD), 823 PINMUX_IPSR_MSEL(IP9_15_12, SDA3_A, SEL_I2C03_0), 824 PINMUX_IPSR_GPSR(IP9_15_12, AVB_RX_ER), 825 PINMUX_IPSR_GPSR(IP9_15_12, ETH_TXD0), 826 PINMUX_IPSR_GPSR(IP9_19_16, VI1_HSYNC_N), 827 PINMUX_IPSR_MSEL(IP9_19_16, RX0_B, SEL_SCIF0_1), 828 PINMUX_IPSR_MSEL(IP9_19_16, SCL0_C, SEL_I2C00_2), 829 PINMUX_IPSR_GPSR(IP9_19_16, AVB_GTXREFCLK), 830 PINMUX_IPSR_GPSR(IP9_19_16, ETH_MDC), 831 PINMUX_IPSR_GPSR(IP9_23_20, VI1_VSYNC_N), 832 PINMUX_IPSR_MSEL(IP9_23_20, TX0_B, SEL_SCIF0_1), 833 PINMUX_IPSR_MSEL(IP9_23_20, SDA0_C, SEL_I2C00_2), 834 PINMUX_IPSR_GPSR(IP9_23_20, AUDIO_CLKOUT_B), 835 PINMUX_IPSR_GPSR(IP9_23_20, AVB_TX_CLK), 836 PINMUX_IPSR_GPSR(IP9_27_24, VI1_DATA8), 837 PINMUX_IPSR_MSEL(IP9_27_24, SCL2_B, SEL_I2C02_1), 838 PINMUX_IPSR_GPSR(IP9_27_24, AVB_TX_EN), 839 PINMUX_IPSR_GPSR(IP9_31_28, VI1_DATA9), 840 PINMUX_IPSR_MSEL(IP9_31_28, SDA2_B, SEL_I2C02_1), 841 PINMUX_IPSR_GPSR(IP9_31_28, AVB_TXD0), 842 843 /* IPSR10 */ 844 PINMUX_IPSR_GPSR(IP10_3_0, VI1_DATA10), 845 PINMUX_IPSR_MSEL(IP10_3_0, CAN0_RX_B, SEL_CAN0_1), 846 PINMUX_IPSR_GPSR(IP10_3_0, AVB_TXD1), 847 PINMUX_IPSR_GPSR(IP10_7_4, VI1_DATA11), 848 PINMUX_IPSR_MSEL(IP10_7_4, CAN0_TX_B, SEL_CAN0_1), 849 PINMUX_IPSR_GPSR(IP10_7_4, AVB_TXD2), 850 PINMUX_IPSR_GPSR(IP10_11_8, AVB_TXD3), 851 PINMUX_IPSR_MSEL(IP10_11_8, AUDIO_CLKA_B, SEL_ADGA_1), 852 PINMUX_IPSR_MSEL(IP10_11_8, SSI_SCK1_D, SEL_SSI1_3), 853 PINMUX_IPSR_MSEL(IP10_11_8, RX5_F, SEL_SCIF5_5), 854 PINMUX_IPSR_MSEL(IP10_11_8, MSIOF0_RXD_B, SEL_MSIOF0_1), 855 PINMUX_IPSR_GPSR(IP10_15_12, AVB_TXD4), 856 PINMUX_IPSR_MSEL(IP10_15_12, AUDIO_CLKB_B, SEL_ADGB_1), 857 PINMUX_IPSR_MSEL(IP10_15_12, SSI_WS1_D, SEL_SSI1_3), 858 PINMUX_IPSR_MSEL(IP10_15_12, TX5_F, SEL_SCIF5_5), 859 PINMUX_IPSR_MSEL(IP10_15_12, MSIOF0_TXD_B, SEL_MSIOF0_1), 860 PINMUX_IPSR_GPSR(IP10_19_16, AVB_TXD5), 861 PINMUX_IPSR_MSEL(IP10_19_16, SCIF_CLK_B, SEL_SCIFCLK_1), 862 PINMUX_IPSR_MSEL(IP10_19_16, AUDIO_CLKC_B, SEL_ADGC_1), 863 PINMUX_IPSR_MSEL(IP10_19_16, SSI_SDATA1_D, SEL_SSI1_3), 864 PINMUX_IPSR_MSEL(IP10_19_16, MSIOF0_SCK_B, SEL_MSIOF0_1), 865 PINMUX_IPSR_MSEL(IP10_23_20, SCL0_A, SEL_I2C00_0), 866 PINMUX_IPSR_MSEL(IP10_23_20, RX0_C, SEL_SCIF0_2), 867 PINMUX_IPSR_GPSR(IP10_23_20, PWM5_A), 868 PINMUX_IPSR_MSEL(IP10_23_20, TCLK1_B, SEL_TMU1_1), 869 PINMUX_IPSR_GPSR(IP10_23_20, AVB_TXD6), 870 PINMUX_IPSR_MSEL(IP10_23_20, CAN1_RX_D, SEL_CAN1_3), 871 PINMUX_IPSR_MSEL(IP10_23_20, MSIOF0_SYNC_B, SEL_MSIOF0_1), 872 PINMUX_IPSR_MSEL(IP10_27_24, SDA0_A, SEL_I2C00_0), 873 PINMUX_IPSR_MSEL(IP10_27_24, TX0_C, SEL_SCIF0_2), 874 PINMUX_IPSR_GPSR(IP10_27_24, IRQ5), 875 PINMUX_IPSR_MSEL(IP10_27_24, CAN_CLK_A, SEL_CANCLK_0), 876 PINMUX_IPSR_GPSR(IP10_27_24, AVB_GTX_CLK), 877 PINMUX_IPSR_MSEL(IP10_27_24, CAN1_TX_D, SEL_CAN1_3), 878 PINMUX_IPSR_GPSR(IP10_27_24, DVC_MUTE), 879 PINMUX_IPSR_MSEL(IP10_31_28, SCL1_A, SEL_I2C01_0), 880 PINMUX_IPSR_MSEL(IP10_31_28, RX4_A, SEL_SCIF4_0), 881 PINMUX_IPSR_GPSR(IP10_31_28, PWM5_D), 882 PINMUX_IPSR_GPSR(IP10_31_28, DU1_DR0), 883 PINMUX_IPSR_MSEL(IP10_31_28, SSI_SCK6_B, SEL_SSI6_1), 884 PINMUX_IPSR_GPSR(IP10_31_28, VI0_G0), 885 886 /* IPSR11 */ 887 PINMUX_IPSR_MSEL(IP11_3_0, SDA1_A, SEL_I2C01_0), 888 PINMUX_IPSR_MSEL(IP11_3_0, TX4_A, SEL_SCIF4_0), 889 PINMUX_IPSR_GPSR(IP11_3_0, DU1_DR1), 890 PINMUX_IPSR_MSEL(IP11_3_0, SSI_WS6_B, SEL_SSI6_1), 891 PINMUX_IPSR_GPSR(IP11_3_0, VI0_G1), 892 PINMUX_IPSR_MSEL(IP11_7_4, MSIOF0_RXD_A, SEL_MSIOF0_0), 893 PINMUX_IPSR_MSEL(IP11_7_4, RX5_A, SEL_SCIF5_0), 894 PINMUX_IPSR_MSEL(IP11_7_4, SCL2_C, SEL_I2C02_2), 895 PINMUX_IPSR_GPSR(IP11_7_4, DU1_DR2), 896 PINMUX_IPSR_GPSR(IP11_7_4, QSPI1_MOSI_QSPI1_IO0), 897 PINMUX_IPSR_MSEL(IP11_7_4, SSI_SDATA6_B, SEL_SSI6_1), 898 PINMUX_IPSR_GPSR(IP11_7_4, VI0_G2), 899 PINMUX_IPSR_MSEL(IP11_11_8, MSIOF0_TXD_A, SEL_MSIOF0_0), 900 PINMUX_IPSR_MSEL(IP11_11_8, TX5_A, SEL_SCIF5_0), 901 PINMUX_IPSR_MSEL(IP11_11_8, SDA2_C, SEL_I2C02_2), 902 PINMUX_IPSR_GPSR(IP11_11_8, DU1_DR3), 903 PINMUX_IPSR_GPSR(IP11_11_8, QSPI1_MISO_QSPI1_IO1), 904 PINMUX_IPSR_MSEL(IP11_11_8, SSI_WS78_B, SEL_SSI7_1), 905 PINMUX_IPSR_GPSR(IP11_11_8, VI0_G3), 906 PINMUX_IPSR_MSEL(IP11_15_12, MSIOF0_SCK_A, SEL_MSIOF0_0), 907 PINMUX_IPSR_GPSR(IP11_15_12, IRQ0), 908 PINMUX_IPSR_GPSR(IP11_15_12, DU1_DR4), 909 PINMUX_IPSR_GPSR(IP11_15_12, QSPI1_SPCLK), 910 PINMUX_IPSR_MSEL(IP11_15_12, SSI_SCK78_B, SEL_SSI7_1), 911 PINMUX_IPSR_GPSR(IP11_15_12, VI0_G4), 912 PINMUX_IPSR_MSEL(IP11_19_16, MSIOF0_SYNC_A, SEL_MSIOF0_0), 913 PINMUX_IPSR_GPSR(IP11_19_16, PWM1_A), 914 PINMUX_IPSR_GPSR(IP11_19_16, DU1_DR5), 915 PINMUX_IPSR_GPSR(IP11_19_16, QSPI1_IO2), 916 PINMUX_IPSR_MSEL(IP11_19_16, SSI_SDATA7_B, SEL_SSI7_1), 917 PINMUX_IPSR_MSEL(IP11_23_20, MSIOF0_SS1_A, SEL_MSIOF0_0), 918 PINMUX_IPSR_GPSR(IP11_23_20, DU1_DR6), 919 PINMUX_IPSR_GPSR(IP11_23_20, QSPI1_IO3), 920 PINMUX_IPSR_MSEL(IP11_23_20, SSI_SDATA8_B, SEL_SSI8_1), 921 PINMUX_IPSR_MSEL(IP11_27_24, MSIOF0_SS2_A, SEL_MSIOF0_0), 922 PINMUX_IPSR_GPSR(IP11_27_24, DU1_DR7), 923 PINMUX_IPSR_GPSR(IP11_27_24, QSPI1_SSL), 924 PINMUX_IPSR_MSEL(IP11_31_28, HRX1_A, SEL_HSCIF1_0), 925 PINMUX_IPSR_MSEL(IP11_31_28, SCL4_A, SEL_I2C04_0), 926 PINMUX_IPSR_GPSR(IP11_31_28, PWM6_A), 927 PINMUX_IPSR_GPSR(IP11_31_28, DU1_DG0), 928 PINMUX_IPSR_MSEL(IP11_31_28, RX0_A, SEL_SCIF0_0), 929 930 /* IPSR12 */ 931 PINMUX_IPSR_MSEL(IP12_3_0, HTX1_A, SEL_HSCIF1_0), 932 PINMUX_IPSR_MSEL(IP12_3_0, SDA4_A, SEL_I2C04_0), 933 PINMUX_IPSR_GPSR(IP12_3_0, DU1_DG1), 934 PINMUX_IPSR_MSEL(IP12_3_0, TX0_A, SEL_SCIF0_0), 935 PINMUX_IPSR_MSEL(IP12_7_4, HCTS1_N_A, SEL_HSCIF1_0), 936 PINMUX_IPSR_GPSR(IP12_7_4, PWM2_A), 937 PINMUX_IPSR_GPSR(IP12_7_4, DU1_DG2), 938 PINMUX_IPSR_MSEL(IP12_7_4, REMOCON_B, SEL_RCN_1), 939 PINMUX_IPSR_MSEL(IP12_11_8, HRTS1_N_A, SEL_HSCIF1_0), 940 PINMUX_IPSR_GPSR(IP12_11_8, DU1_DG3), 941 PINMUX_IPSR_MSEL(IP12_11_8, SSI_WS1_B, SEL_SSI1_1), 942 PINMUX_IPSR_GPSR(IP12_11_8, IRQ1), 943 PINMUX_IPSR_GPSR(IP12_15_12, SD2_CLK), 944 PINMUX_IPSR_GPSR(IP12_15_12, HSCK1), 945 PINMUX_IPSR_GPSR(IP12_15_12, DU1_DG4), 946 PINMUX_IPSR_MSEL(IP12_15_12, SSI_SCK1_B, SEL_SSI1_1), 947 PINMUX_IPSR_GPSR(IP12_19_16, SD2_CMD), 948 PINMUX_IPSR_MSEL(IP12_19_16, SCIF1_SCK_A, SEL_SCIF1_0), 949 PINMUX_IPSR_MSEL(IP12_19_16, TCLK2_A, SEL_TMU2_0), 950 PINMUX_IPSR_GPSR(IP12_19_16, DU1_DG5), 951 PINMUX_IPSR_MSEL(IP12_19_16, SSI_SCK2_B, SEL_SSI2_1), 952 PINMUX_IPSR_GPSR(IP12_19_16, PWM3_A), 953 PINMUX_IPSR_GPSR(IP12_23_20, SD2_DAT0), 954 PINMUX_IPSR_MSEL(IP12_23_20, RX1_A, SEL_SCIF1_0), 955 PINMUX_IPSR_MSEL(IP12_23_20, SCL1_E, SEL_I2C01_4), 956 PINMUX_IPSR_GPSR(IP12_23_20, DU1_DG6), 957 PINMUX_IPSR_MSEL(IP12_23_20, SSI_SDATA1_B, SEL_SSI1_1), 958 PINMUX_IPSR_GPSR(IP12_27_24, SD2_DAT1), 959 PINMUX_IPSR_MSEL(IP12_27_24, TX1_A, SEL_SCIF1_0), 960 PINMUX_IPSR_MSEL(IP12_27_24, SDA1_E, SEL_I2C01_4), 961 PINMUX_IPSR_GPSR(IP12_27_24, DU1_DG7), 962 PINMUX_IPSR_MSEL(IP12_27_24, SSI_WS2_B, SEL_SSI2_1), 963 PINMUX_IPSR_GPSR(IP12_31_28, SD2_DAT2), 964 PINMUX_IPSR_MSEL(IP12_31_28, RX2_A, SEL_SCIF2_0), 965 PINMUX_IPSR_GPSR(IP12_31_28, DU1_DB0), 966 PINMUX_IPSR_MSEL(IP12_31_28, SSI_SDATA2_B, SEL_SSI2_1), 967 968 /* IPSR13 */ 969 PINMUX_IPSR_GPSR(IP13_3_0, SD2_DAT3), 970 PINMUX_IPSR_MSEL(IP13_3_0, TX2_A, SEL_SCIF2_0), 971 PINMUX_IPSR_GPSR(IP13_3_0, DU1_DB1), 972 PINMUX_IPSR_MSEL(IP13_3_0, SSI_WS9_B, SEL_SSI9_1), 973 PINMUX_IPSR_GPSR(IP13_7_4, SD2_CD), 974 PINMUX_IPSR_MSEL(IP13_7_4, SCIF2_SCK_A, SEL_SCIF2_CLK_0), 975 PINMUX_IPSR_GPSR(IP13_7_4, DU1_DB2), 976 PINMUX_IPSR_MSEL(IP13_7_4, SSI_SCK9_B, SEL_SSI9_1), 977 PINMUX_IPSR_GPSR(IP13_11_8, SD2_WP), 978 PINMUX_IPSR_GPSR(IP13_11_8, SCIF3_SCK), 979 PINMUX_IPSR_GPSR(IP13_11_8, DU1_DB3), 980 PINMUX_IPSR_MSEL(IP13_11_8, SSI_SDATA9_B, SEL_SSI9_1), 981 PINMUX_IPSR_MSEL(IP13_15_12, RX3_A, SEL_SCIF3_0), 982 PINMUX_IPSR_MSEL(IP13_15_12, SCL1_C, SEL_I2C01_2), 983 PINMUX_IPSR_MSEL(IP13_15_12, MSIOF1_RXD_B, SEL_MSIOF1_1), 984 PINMUX_IPSR_GPSR(IP13_15_12, DU1_DB4), 985 PINMUX_IPSR_MSEL(IP13_15_12, AUDIO_CLKA_C, SEL_ADGA_2), 986 PINMUX_IPSR_MSEL(IP13_15_12, SSI_SDATA4_B, SEL_SSI4_1), 987 PINMUX_IPSR_MSEL(IP13_19_16, TX3_A, SEL_SCIF3_0), 988 PINMUX_IPSR_MSEL(IP13_19_16, SDA1_C, SEL_I2C01_2), 989 PINMUX_IPSR_MSEL(IP13_19_16, MSIOF1_TXD_B, SEL_MSIOF1_1), 990 PINMUX_IPSR_GPSR(IP13_19_16, DU1_DB5), 991 PINMUX_IPSR_MSEL(IP13_19_16, AUDIO_CLKB_C, SEL_ADGB_2), 992 PINMUX_IPSR_MSEL(IP13_19_16, SSI_WS4_B, SEL_SSI4_1), 993 PINMUX_IPSR_MSEL(IP13_23_20, SCL2_A, SEL_I2C02_0), 994 PINMUX_IPSR_MSEL(IP13_23_20, MSIOF1_SCK_B, SEL_MSIOF1_1), 995 PINMUX_IPSR_GPSR(IP13_23_20, DU1_DB6), 996 PINMUX_IPSR_MSEL(IP13_23_20, AUDIO_CLKC_C, SEL_ADGC_2), 997 PINMUX_IPSR_MSEL(IP13_23_20, SSI_SCK4_B, SEL_SSI4_1), 998 PINMUX_IPSR_MSEL(IP13_27_24, SDA2_A, SEL_I2C02_0), 999 PINMUX_IPSR_MSEL(IP13_27_24, MSIOF1_SYNC_B, SEL_MSIOF1_1), 1000 PINMUX_IPSR_GPSR(IP13_27_24, DU1_DB7), 1001 PINMUX_IPSR_GPSR(IP13_27_24, AUDIO_CLKOUT_C), 1002 PINMUX_IPSR_MSEL(IP13_31_28, SSI_SCK5_A, SEL_SSI5_0), 1003 PINMUX_IPSR_GPSR(IP13_31_28, DU1_DOTCLKOUT1), 1004 1005 /* IPSR14 */ 1006 PINMUX_IPSR_MSEL(IP14_3_0, SSI_WS5_A, SEL_SSI5_0), 1007 PINMUX_IPSR_MSEL(IP14_3_0, SCL3_C, SEL_I2C03_2), 1008 PINMUX_IPSR_GPSR(IP14_3_0, DU1_DOTCLKIN), 1009 PINMUX_IPSR_MSEL(IP14_7_4, SSI_SDATA5_A, SEL_SSI5_0), 1010 PINMUX_IPSR_MSEL(IP14_7_4, SDA3_C, SEL_I2C03_2), 1011 PINMUX_IPSR_GPSR(IP14_7_4, DU1_DOTCLKOUT0), 1012 PINMUX_IPSR_MSEL(IP14_11_8, SSI_SCK6_A, SEL_SSI6_0), 1013 PINMUX_IPSR_GPSR(IP14_11_8, DU1_EXODDF_DU1_ODDF_DISP_CDE), 1014 PINMUX_IPSR_MSEL(IP14_15_12, SSI_WS6_A, SEL_SSI6_0), 1015 PINMUX_IPSR_MSEL(IP14_15_12, SCL4_C, SEL_I2C04_2), 1016 PINMUX_IPSR_GPSR(IP14_15_12, DU1_EXHSYNC_DU1_HSYNC), 1017 PINMUX_IPSR_MSEL(IP14_19_16, SSI_SDATA6_A, SEL_SSI6_0), 1018 PINMUX_IPSR_MSEL(IP14_19_16, SDA4_C, SEL_I2C04_2), 1019 PINMUX_IPSR_GPSR(IP14_19_16, DU1_EXVSYNC_DU1_VSYNC), 1020 PINMUX_IPSR_MSEL(IP14_23_20, SSI_SCK78_A, SEL_SSI7_0), 1021 PINMUX_IPSR_MSEL(IP14_23_20, SDA4_E, SEL_I2C04_4), 1022 PINMUX_IPSR_GPSR(IP14_23_20, DU1_DISP), 1023 PINMUX_IPSR_MSEL(IP14_27_24, SSI_WS78_A, SEL_SSI7_0), 1024 PINMUX_IPSR_MSEL(IP14_27_24, SCL4_E, SEL_I2C04_4), 1025 PINMUX_IPSR_GPSR(IP14_27_24, DU1_CDE), 1026 PINMUX_IPSR_MSEL(IP14_31_28, SSI_SDATA7_A, SEL_SSI7_0), 1027 PINMUX_IPSR_GPSR(IP14_31_28, IRQ8), 1028 PINMUX_IPSR_MSEL(IP14_31_28, AUDIO_CLKA_D, SEL_ADGA_3), 1029 PINMUX_IPSR_MSEL(IP14_31_28, CAN_CLK_D, SEL_CANCLK_3), 1030 PINMUX_IPSR_GPSR(IP14_31_28, VI0_G5), 1031 1032 /* IPSR15 */ 1033 PINMUX_IPSR_MSEL(IP15_3_0, SSI_SCK0129_A, SEL_SSI0_0), 1034 PINMUX_IPSR_MSEL(IP15_3_0, MSIOF1_RXD_A, SEL_MSIOF1_0), 1035 PINMUX_IPSR_MSEL(IP15_3_0, RX5_D, SEL_SCIF5_3), 1036 PINMUX_IPSR_GPSR(IP15_3_0, VI0_G6), 1037 PINMUX_IPSR_MSEL(IP15_7_4, SSI_WS0129_A, SEL_SSI0_0), 1038 PINMUX_IPSR_MSEL(IP15_7_4, MSIOF1_TXD_A, SEL_MSIOF1_0), 1039 PINMUX_IPSR_MSEL(IP15_7_4, TX5_D, SEL_SCIF5_3), 1040 PINMUX_IPSR_GPSR(IP15_7_4, VI0_G7), 1041 PINMUX_IPSR_MSEL(IP15_11_8, SSI_SDATA0_A, SEL_SSI0_0), 1042 PINMUX_IPSR_MSEL(IP15_11_8, MSIOF1_SYNC_A, SEL_MSIOF1_0), 1043 PINMUX_IPSR_GPSR(IP15_11_8, PWM0_C), 1044 PINMUX_IPSR_GPSR(IP15_11_8, VI0_R0), 1045 PINMUX_IPSR_GPSR(IP15_15_12, SSI_SCK34), 1046 PINMUX_IPSR_MSEL(IP15_15_12, MSIOF1_SCK_A, SEL_MSIOF1_0), 1047 PINMUX_IPSR_GPSR(IP15_15_12, AVB_MDC), 1048 PINMUX_IPSR_GPSR(IP15_15_12, DACK1), 1049 PINMUX_IPSR_GPSR(IP15_15_12, VI0_R1), 1050 PINMUX_IPSR_GPSR(IP15_19_16, SSI_WS34), 1051 PINMUX_IPSR_MSEL(IP15_19_16, MSIOF1_SS1_A, SEL_MSIOF1_0), 1052 PINMUX_IPSR_GPSR(IP15_19_16, AVB_MDIO), 1053 PINMUX_IPSR_MSEL(IP15_19_16, CAN1_RX_A, SEL_CAN1_0), 1054 PINMUX_IPSR_GPSR(IP15_19_16, DREQ1_N), 1055 PINMUX_IPSR_GPSR(IP15_19_16, VI0_R2), 1056 PINMUX_IPSR_GPSR(IP15_23_20, SSI_SDATA3), 1057 PINMUX_IPSR_MSEL(IP15_23_20, MSIOF1_SS2_A, SEL_MSIOF1_0), 1058 PINMUX_IPSR_GPSR(IP15_23_20, AVB_LINK), 1059 PINMUX_IPSR_MSEL(IP15_23_20, CAN1_TX_A, SEL_CAN1_0), 1060 PINMUX_IPSR_GPSR(IP15_23_20, DREQ2_N), 1061 PINMUX_IPSR_GPSR(IP15_23_20, VI0_R3), 1062 PINMUX_IPSR_MSEL(IP15_27_24, SSI_SCK4_A, SEL_SSI4_0), 1063 PINMUX_IPSR_GPSR(IP15_27_24, AVB_MAGIC), 1064 PINMUX_IPSR_GPSR(IP15_27_24, VI0_R4), 1065 PINMUX_IPSR_MSEL(IP15_31_28, SSI_WS4_A, SEL_SSI4_0), 1066 PINMUX_IPSR_GPSR(IP15_31_28, AVB_PHY_INT), 1067 PINMUX_IPSR_GPSR(IP15_31_28, VI0_R5), 1068 1069 /* IPSR16 */ 1070 PINMUX_IPSR_MSEL(IP16_3_0, SSI_SDATA4_A, SEL_SSI4_0), 1071 PINMUX_IPSR_GPSR(IP16_3_0, AVB_CRS), 1072 PINMUX_IPSR_GPSR(IP16_3_0, VI0_R6), 1073 PINMUX_IPSR_MSEL(IP16_7_4, SSI_SCK1_A, SEL_SSI1_0), 1074 PINMUX_IPSR_MSEL(IP16_7_4, SCIF1_SCK_B, SEL_SCIF1_1), 1075 PINMUX_IPSR_GPSR(IP16_7_4, PWM1_D), 1076 PINMUX_IPSR_GPSR(IP16_7_4, IRQ9), 1077 PINMUX_IPSR_MSEL(IP16_7_4, REMOCON_A, SEL_RCN_0), 1078 PINMUX_IPSR_GPSR(IP16_7_4, DACK2), 1079 PINMUX_IPSR_GPSR(IP16_7_4, VI0_CLK), 1080 PINMUX_IPSR_GPSR(IP16_7_4, AVB_COL), 1081 PINMUX_IPSR_MSEL(IP16_11_8, SSI_SDATA8_A, SEL_SSI8_0), 1082 PINMUX_IPSR_MSEL(IP16_11_8, RX1_B, SEL_SCIF1_1), 1083 PINMUX_IPSR_MSEL(IP16_11_8, CAN0_RX_D, SEL_CAN0_3), 1084 PINMUX_IPSR_MSEL(IP16_11_8, AVB_AVTP_CAPTURE_B, SEL_AVB_1), 1085 PINMUX_IPSR_GPSR(IP16_11_8, VI0_R7), 1086 PINMUX_IPSR_MSEL(IP16_15_12, SSI_WS1_A, SEL_SSI1_0), 1087 PINMUX_IPSR_MSEL(IP16_15_12, TX1_B, SEL_SCIF1_1), 1088 PINMUX_IPSR_MSEL(IP16_15_12, CAN0_TX_D, SEL_CAN0_3), 1089 PINMUX_IPSR_MSEL(IP16_15_12, AVB_AVTP_MATCH_B, SEL_AVB_1), 1090 PINMUX_IPSR_GPSR(IP16_15_12, VI0_DATA0_VI0_B0), 1091 PINMUX_IPSR_MSEL(IP16_19_16, SSI_SDATA1_A, SEL_SSI1_0), 1092 PINMUX_IPSR_MSEL(IP16_19_16, HRX1_B, SEL_HSCIF1_1), 1093 PINMUX_IPSR_GPSR(IP16_19_16, VI0_DATA1_VI0_B1), 1094 PINMUX_IPSR_MSEL(IP16_23_20, SSI_SCK2_A, SEL_SSI2_0), 1095 PINMUX_IPSR_MSEL(IP16_23_20, HTX1_B, SEL_HSCIF1_1), 1096 PINMUX_IPSR_GPSR(IP16_23_20, AVB_TXD7), 1097 PINMUX_IPSR_GPSR(IP16_23_20, VI0_DATA2_VI0_B2), 1098 PINMUX_IPSR_MSEL(IP16_27_24, SSI_WS2_A, SEL_SSI2_0), 1099 PINMUX_IPSR_MSEL(IP16_27_24, HCTS1_N_B, SEL_HSCIF1_1), 1100 PINMUX_IPSR_GPSR(IP16_27_24, AVB_TX_ER), 1101 PINMUX_IPSR_GPSR(IP16_27_24, VI0_DATA3_VI0_B3), 1102 PINMUX_IPSR_MSEL(IP16_31_28, SSI_SDATA2_A, SEL_SSI2_0), 1103 PINMUX_IPSR_MSEL(IP16_31_28, HRTS1_N_B, SEL_HSCIF1_1), 1104 PINMUX_IPSR_GPSR(IP16_31_28, VI0_DATA4_VI0_B4), 1105 1106 /* IPSR17 */ 1107 PINMUX_IPSR_MSEL(IP17_3_0, SSI_SCK9_A, SEL_SSI9_0), 1108 PINMUX_IPSR_MSEL(IP17_3_0, RX2_B, SEL_SCIF2_1), 1109 PINMUX_IPSR_MSEL(IP17_3_0, SCL3_E, SEL_I2C03_4), 1110 PINMUX_IPSR_GPSR(IP17_3_0, EX_WAIT1), 1111 PINMUX_IPSR_GPSR(IP17_3_0, VI0_DATA5_VI0_B5), 1112 PINMUX_IPSR_MSEL(IP17_7_4, SSI_WS9_A, SEL_SSI9_0), 1113 PINMUX_IPSR_MSEL(IP17_7_4, TX2_B, SEL_SCIF2_1), 1114 PINMUX_IPSR_MSEL(IP17_7_4, SDA3_E, SEL_I2C03_4), 1115 PINMUX_IPSR_GPSR(IP17_7_4, VI0_DATA6_VI0_B6), 1116 PINMUX_IPSR_MSEL(IP17_11_8, SSI_SDATA9_A, SEL_SSI9_0), 1117 PINMUX_IPSR_GPSR(IP17_11_8, SCIF2_SCK_B), 1118 PINMUX_IPSR_GPSR(IP17_11_8, PWM2_D), 1119 PINMUX_IPSR_GPSR(IP17_11_8, VI0_DATA7_VI0_B7), 1120 PINMUX_IPSR_MSEL(IP17_15_12, AUDIO_CLKA_A, SEL_ADGA_0), 1121 PINMUX_IPSR_MSEL(IP17_15_12, SCL0_B, SEL_I2C00_1), 1122 PINMUX_IPSR_GPSR(IP17_15_12, VI0_CLKENB), 1123 PINMUX_IPSR_MSEL(IP17_19_16, AUDIO_CLKB_A, SEL_ADGB_0), 1124 PINMUX_IPSR_MSEL(IP17_19_16, SDA0_B, SEL_I2C00_1), 1125 PINMUX_IPSR_GPSR(IP17_19_16, VI0_FIELD), 1126 PINMUX_IPSR_MSEL(IP17_23_20, AUDIO_CLKC_A, SEL_ADGC_0), 1127 PINMUX_IPSR_MSEL(IP17_23_20, SCL4_B, SEL_I2C04_1), 1128 PINMUX_IPSR_GPSR(IP17_23_20, VI0_HSYNC_N), 1129 PINMUX_IPSR_GPSR(IP17_27_24, AUDIO_CLKOUT_A), 1130 PINMUX_IPSR_MSEL(IP17_27_24, SDA4_B, SEL_I2C04_1), 1131 PINMUX_IPSR_GPSR(IP17_27_24, VI0_VSYNC_N), 1132 }; 1133 1134 /* 1135 * Pins not associated with a GPIO port. 1136 */ 1137 enum { 1138 GP_ASSIGN_LAST(), 1139 NOGP_ALL(), 1140 }; 1141 1142 static const struct sh_pfc_pin pinmux_pins[] = { 1143 PINMUX_GPIO_GP_ALL(), 1144 PINMUX_NOGP_ALL(), 1145 }; 1146 1147 /* - AVB -------------------------------------------------------------------- */ 1148 static const unsigned int avb_col_pins[] = { 1149 RCAR_GP_PIN(5, 18), 1150 }; 1151 static const unsigned int avb_col_mux[] = { 1152 AVB_COL_MARK, 1153 }; 1154 static const unsigned int avb_crs_pins[] = { 1155 RCAR_GP_PIN(5, 17), 1156 }; 1157 static const unsigned int avb_crs_mux[] = { 1158 AVB_CRS_MARK, 1159 }; 1160 static const unsigned int avb_link_pins[] = { 1161 RCAR_GP_PIN(5, 14), 1162 }; 1163 static const unsigned int avb_link_mux[] = { 1164 AVB_LINK_MARK, 1165 }; 1166 static const unsigned int avb_magic_pins[] = { 1167 RCAR_GP_PIN(5, 15), 1168 }; 1169 static const unsigned int avb_magic_mux[] = { 1170 AVB_MAGIC_MARK, 1171 }; 1172 static const unsigned int avb_phy_int_pins[] = { 1173 RCAR_GP_PIN(5, 16), 1174 }; 1175 static const unsigned int avb_phy_int_mux[] = { 1176 AVB_PHY_INT_MARK, 1177 }; 1178 static const unsigned int avb_mdio_pins[] = { 1179 RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 13), 1180 }; 1181 static const unsigned int avb_mdio_mux[] = { 1182 AVB_MDC_MARK, AVB_MDIO_MARK, 1183 }; 1184 static const unsigned int avb_mii_tx_rx_pins[] = { 1185 RCAR_GP_PIN(3, 12), RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), 1186 RCAR_GP_PIN(3, 16), RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 13), 1187 1188 RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), 1189 RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 1), 1190 RCAR_GP_PIN(3, 10), 1191 }; 1192 static const unsigned int avb_mii_tx_rx_mux[] = { 1193 AVB_TX_CLK_MARK, AVB_TXD0_MARK, AVB_TXD1_MARK, AVB_TXD2_MARK, 1194 AVB_TXD3_MARK, AVB_TX_EN_MARK, 1195 1196 AVB_RX_CLK_MARK, AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK, 1197 AVB_RXD3_MARK, AVB_RX_DV_MARK, AVB_RX_ER_MARK, 1198 }; 1199 static const unsigned int avb_mii_tx_er_pins[] = { 1200 RCAR_GP_PIN(5, 23), 1201 }; 1202 static const unsigned int avb_mii_tx_er_mux[] = { 1203 AVB_TX_ER_MARK, 1204 }; 1205 static const unsigned int avb_gmii_tx_rx_pins[] = { 1206 RCAR_GP_PIN(4, 1), RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12), 1207 RCAR_GP_PIN(3, 14), RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16), 1208 RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28), RCAR_GP_PIN(3, 29), 1209 RCAR_GP_PIN(4, 0), RCAR_GP_PIN(5, 22), RCAR_GP_PIN(3, 13), 1210 RCAR_GP_PIN(5, 23), 1211 1212 RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), 1213 RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6), 1214 RCAR_GP_PIN(3, 7), RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9), 1215 RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 10), 1216 }; 1217 static const unsigned int avb_gmii_tx_rx_mux[] = { 1218 AVB_GTX_CLK_MARK, AVB_GTXREFCLK_MARK, AVB_TX_CLK_MARK, AVB_TXD0_MARK, 1219 AVB_TXD1_MARK, AVB_TXD2_MARK, AVB_TXD3_MARK, AVB_TXD4_MARK, 1220 AVB_TXD5_MARK, AVB_TXD6_MARK, AVB_TXD7_MARK, AVB_TX_EN_MARK, 1221 AVB_TX_ER_MARK, 1222 1223 AVB_RX_CLK_MARK, AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK, 1224 AVB_RXD3_MARK, AVB_RXD4_MARK, AVB_RXD5_MARK, AVB_RXD6_MARK, 1225 AVB_RXD7_MARK, AVB_RX_DV_MARK, AVB_RX_ER_MARK, 1226 }; 1227 static const unsigned int avb_avtp_match_a_pins[] = { 1228 RCAR_GP_PIN(1, 15), 1229 }; 1230 static const unsigned int avb_avtp_match_a_mux[] = { 1231 AVB_AVTP_MATCH_A_MARK, 1232 }; 1233 static const unsigned int avb_avtp_capture_a_pins[] = { 1234 RCAR_GP_PIN(1, 14), 1235 }; 1236 static const unsigned int avb_avtp_capture_a_mux[] = { 1237 AVB_AVTP_CAPTURE_A_MARK, 1238 }; 1239 static const unsigned int avb_avtp_match_b_pins[] = { 1240 RCAR_GP_PIN(5, 20), 1241 }; 1242 static const unsigned int avb_avtp_match_b_mux[] = { 1243 AVB_AVTP_MATCH_B_MARK, 1244 }; 1245 static const unsigned int avb_avtp_capture_b_pins[] = { 1246 RCAR_GP_PIN(5, 19), 1247 }; 1248 static const unsigned int avb_avtp_capture_b_mux[] = { 1249 AVB_AVTP_CAPTURE_B_MARK, 1250 }; 1251 /* - DU --------------------------------------------------------------------- */ 1252 static const unsigned int du0_rgb666_pins[] = { 1253 /* R[7:2], G[7:2], B[7:2] */ 1254 RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 5), 1255 RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 2), 1256 RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13), 1257 RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10), 1258 RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 22), RCAR_GP_PIN(2, 21), 1259 RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 18), 1260 }; 1261 static const unsigned int du0_rgb666_mux[] = { 1262 DU0_DR7_MARK, DU0_DR6_MARK, DU0_DR5_MARK, DU0_DR4_MARK, 1263 DU0_DR3_MARK, DU0_DR2_MARK, 1264 DU0_DG7_MARK, DU0_DG6_MARK, DU0_DG5_MARK, DU0_DG4_MARK, 1265 DU0_DG3_MARK, DU0_DG2_MARK, 1266 DU0_DB7_MARK, DU0_DB6_MARK, DU0_DB5_MARK, DU0_DB4_MARK, 1267 DU0_DB3_MARK, DU0_DB2_MARK, 1268 }; 1269 static const unsigned int du0_rgb888_pins[] = { 1270 /* R[7:0], G[7:0], B[7:0] */ 1271 RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 5), 1272 RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 2), 1273 RCAR_GP_PIN(2, 1), RCAR_GP_PIN(2, 0), 1274 RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13), 1275 RCAR_GP_PIN(2, 12), RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10), 1276 RCAR_GP_PIN(2, 9), RCAR_GP_PIN(2, 8), 1277 RCAR_GP_PIN(2, 23), RCAR_GP_PIN(2, 22), RCAR_GP_PIN(2, 21), 1278 RCAR_GP_PIN(2, 20), RCAR_GP_PIN(2, 19), RCAR_GP_PIN(2, 18), 1279 RCAR_GP_PIN(2, 17), RCAR_GP_PIN(2, 16), 1280 }; 1281 static const unsigned int du0_rgb888_mux[] = { 1282 DU0_DR7_MARK, DU0_DR6_MARK, DU0_DR5_MARK, DU0_DR4_MARK, 1283 DU0_DR3_MARK, DU0_DR2_MARK, DU0_DR1_MARK, DU0_DR0_MARK, 1284 DU0_DG7_MARK, DU0_DG6_MARK, DU0_DG5_MARK, DU0_DG4_MARK, 1285 DU0_DG3_MARK, DU0_DG2_MARK, DU0_DG1_MARK, DU0_DG0_MARK, 1286 DU0_DB7_MARK, DU0_DB6_MARK, DU0_DB5_MARK, DU0_DB4_MARK, 1287 DU0_DB3_MARK, DU0_DB2_MARK, DU0_DB1_MARK, DU0_DB0_MARK, 1288 }; 1289 static const unsigned int du0_clk0_out_pins[] = { 1290 /* DOTCLKOUT0 */ 1291 RCAR_GP_PIN(2, 25), 1292 }; 1293 static const unsigned int du0_clk0_out_mux[] = { 1294 DU0_DOTCLKOUT0_MARK 1295 }; 1296 static const unsigned int du0_clk1_out_pins[] = { 1297 /* DOTCLKOUT1 */ 1298 RCAR_GP_PIN(2, 26), 1299 }; 1300 static const unsigned int du0_clk1_out_mux[] = { 1301 DU0_DOTCLKOUT1_MARK 1302 }; 1303 static const unsigned int du0_clk_in_pins[] = { 1304 /* CLKIN */ 1305 RCAR_GP_PIN(2, 24), 1306 }; 1307 static const unsigned int du0_clk_in_mux[] = { 1308 DU0_DOTCLKIN_MARK 1309 }; 1310 static const unsigned int du0_sync_pins[] = { 1311 /* EXVSYNC/VSYNC, EXHSYNC/HSYNC */ 1312 RCAR_GP_PIN(2, 28), RCAR_GP_PIN(2, 27), 1313 }; 1314 static const unsigned int du0_sync_mux[] = { 1315 DU0_EXVSYNC_DU0_VSYNC_MARK, DU0_EXHSYNC_DU0_HSYNC_MARK 1316 }; 1317 static const unsigned int du0_oddf_pins[] = { 1318 /* EXODDF/ODDF/DISP/CDE */ 1319 RCAR_GP_PIN(2, 29), 1320 }; 1321 static const unsigned int du0_oddf_mux[] = { 1322 DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK, 1323 }; 1324 static const unsigned int du0_cde_pins[] = { 1325 /* CDE */ 1326 RCAR_GP_PIN(2, 31), 1327 }; 1328 static const unsigned int du0_cde_mux[] = { 1329 DU0_CDE_MARK, 1330 }; 1331 static const unsigned int du0_disp_pins[] = { 1332 /* DISP */ 1333 RCAR_GP_PIN(2, 30), 1334 }; 1335 static const unsigned int du0_disp_mux[] = { 1336 DU0_DISP_MARK 1337 }; 1338 static const unsigned int du1_rgb666_pins[] = { 1339 /* R[7:2], G[7:2], B[7:2] */ 1340 RCAR_GP_PIN(4, 9), RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 7), 1341 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 4), 1342 RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 15), 1343 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 12), 1344 RCAR_GP_PIN(4, 25), RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 23), 1345 RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 20), 1346 }; 1347 static const unsigned int du1_rgb666_mux[] = { 1348 DU1_DR7_MARK, DU1_DR6_MARK, DU1_DR5_MARK, DU1_DR4_MARK, 1349 DU1_DR3_MARK, DU1_DR2_MARK, 1350 DU1_DG7_MARK, DU1_DG6_MARK, DU1_DG5_MARK, DU1_DG4_MARK, 1351 DU1_DG3_MARK, DU1_DG2_MARK, 1352 DU1_DB7_MARK, DU1_DB6_MARK, DU1_DB5_MARK, DU1_DB4_MARK, 1353 DU1_DB3_MARK, DU1_DB2_MARK, 1354 }; 1355 static const unsigned int du1_rgb888_pins[] = { 1356 /* R[7:0], G[7:0], B[7:0] */ 1357 RCAR_GP_PIN(4, 9), RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 7), 1358 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 4), 1359 RCAR_GP_PIN(4, 3), RCAR_GP_PIN(4, 2), 1360 RCAR_GP_PIN(4, 17), RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 15), 1361 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 12), 1362 RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 10), 1363 RCAR_GP_PIN(4, 25), RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 23), 1364 RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 21), RCAR_GP_PIN(4, 20), 1365 RCAR_GP_PIN(4, 19), RCAR_GP_PIN(4, 18), 1366 }; 1367 static const unsigned int du1_rgb888_mux[] = { 1368 DU1_DR7_MARK, DU1_DR6_MARK, DU1_DR5_MARK, DU1_DR4_MARK, 1369 DU1_DR3_MARK, DU1_DR2_MARK, DU1_DR1_MARK, DU1_DR0_MARK, 1370 DU1_DG7_MARK, DU1_DG6_MARK, DU1_DG5_MARK, DU1_DG4_MARK, 1371 DU1_DG3_MARK, DU1_DG2_MARK, DU1_DG1_MARK, DU1_DG0_MARK, 1372 DU1_DB7_MARK, DU1_DB6_MARK, DU1_DB5_MARK, DU1_DB4_MARK, 1373 DU1_DB3_MARK, DU1_DB2_MARK, DU1_DB1_MARK, DU1_DB0_MARK, 1374 }; 1375 static const unsigned int du1_clk0_out_pins[] = { 1376 /* DOTCLKOUT0 */ 1377 RCAR_GP_PIN(5, 2), 1378 }; 1379 static const unsigned int du1_clk0_out_mux[] = { 1380 DU1_DOTCLKOUT0_MARK 1381 }; 1382 static const unsigned int du1_clk1_out_pins[] = { 1383 /* DOTCLKOUT1 */ 1384 RCAR_GP_PIN(5, 0), 1385 }; 1386 static const unsigned int du1_clk1_out_mux[] = { 1387 DU1_DOTCLKOUT1_MARK 1388 }; 1389 static const unsigned int du1_clk_in_pins[] = { 1390 /* DOTCLKIN */ 1391 RCAR_GP_PIN(5, 1), 1392 }; 1393 static const unsigned int du1_clk_in_mux[] = { 1394 DU1_DOTCLKIN_MARK 1395 }; 1396 static const unsigned int du1_sync_pins[] = { 1397 /* EXVSYNC/VSYNC, EXHSYNC/HSYNC */ 1398 RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 4), 1399 }; 1400 static const unsigned int du1_sync_mux[] = { 1401 DU1_EXVSYNC_DU1_VSYNC_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK 1402 }; 1403 static const unsigned int du1_oddf_pins[] = { 1404 /* EXODDF/ODDF/DISP/CDE */ 1405 RCAR_GP_PIN(5, 3), 1406 }; 1407 static const unsigned int du1_oddf_mux[] = { 1408 DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK, 1409 }; 1410 static const unsigned int du1_cde_pins[] = { 1411 /* CDE */ 1412 RCAR_GP_PIN(5, 7), 1413 }; 1414 static const unsigned int du1_cde_mux[] = { 1415 DU1_CDE_MARK 1416 }; 1417 static const unsigned int du1_disp_pins[] = { 1418 /* DISP */ 1419 RCAR_GP_PIN(5, 6), 1420 }; 1421 static const unsigned int du1_disp_mux[] = { 1422 DU1_DISP_MARK 1423 }; 1424 /* - I2C0 ------------------------------------------------------------------- */ 1425 static const unsigned int i2c0_a_pins[] = { 1426 /* SCL, SDA */ 1427 RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1), 1428 }; 1429 static const unsigned int i2c0_a_mux[] = { 1430 SCL0_A_MARK, SDA0_A_MARK, 1431 }; 1432 static const unsigned int i2c0_b_pins[] = { 1433 /* SCL, SDA */ 1434 RCAR_GP_PIN(5, 28), RCAR_GP_PIN(5, 29), 1435 }; 1436 static const unsigned int i2c0_b_mux[] = { 1437 SCL0_B_MARK, SDA0_B_MARK, 1438 }; 1439 static const unsigned int i2c0_c_pins[] = { 1440 /* SCL, SDA */ 1441 RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12), 1442 }; 1443 static const unsigned int i2c0_c_mux[] = { 1444 SCL0_C_MARK, SDA0_C_MARK, 1445 }; 1446 static const unsigned int i2c0_d_pins[] = { 1447 /* SCL, SDA */ 1448 RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 3), 1449 }; 1450 static const unsigned int i2c0_d_mux[] = { 1451 SCL0_D_MARK, SDA0_D_MARK, 1452 }; 1453 static const unsigned int i2c0_e_pins[] = { 1454 /* SCL, SDA */ 1455 RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 3), 1456 }; 1457 static const unsigned int i2c0_e_mux[] = { 1458 SCL0_E_MARK, SDA0_E_MARK, 1459 }; 1460 /* - I2C1 ------------------------------------------------------------------- */ 1461 static const unsigned int i2c1_a_pins[] = { 1462 /* SCL, SDA */ 1463 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3), 1464 }; 1465 static const unsigned int i2c1_a_mux[] = { 1466 SCL1_A_MARK, SDA1_A_MARK, 1467 }; 1468 static const unsigned int i2c1_b_pins[] = { 1469 /* SCL, SDA */ 1470 RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 6), 1471 }; 1472 static const unsigned int i2c1_b_mux[] = { 1473 SCL1_B_MARK, SDA1_B_MARK, 1474 }; 1475 static const unsigned int i2c1_c_pins[] = { 1476 /* SCL, SDA */ 1477 RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 23), 1478 }; 1479 static const unsigned int i2c1_c_mux[] = { 1480 SCL1_C_MARK, SDA1_C_MARK, 1481 }; 1482 static const unsigned int i2c1_d_pins[] = { 1483 /* SCL, SDA */ 1484 RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 9), 1485 }; 1486 static const unsigned int i2c1_d_mux[] = { 1487 SCL1_D_MARK, SDA1_D_MARK, 1488 }; 1489 static const unsigned int i2c1_e_pins[] = { 1490 /* SCL, SDA */ 1491 RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 17), 1492 }; 1493 static const unsigned int i2c1_e_mux[] = { 1494 SCL1_E_MARK, SDA1_E_MARK, 1495 }; 1496 /* - I2C2 ------------------------------------------------------------------- */ 1497 static const unsigned int i2c2_a_pins[] = { 1498 /* SCL, SDA */ 1499 RCAR_GP_PIN(4, 24), RCAR_GP_PIN(4, 25), 1500 }; 1501 static const unsigned int i2c2_a_mux[] = { 1502 SCL2_A_MARK, SDA2_A_MARK, 1503 }; 1504 static const unsigned int i2c2_b_pins[] = { 1505 /* SCL, SDA */ 1506 RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14), 1507 }; 1508 static const unsigned int i2c2_b_mux[] = { 1509 SCL2_B_MARK, SDA2_B_MARK, 1510 }; 1511 static const unsigned int i2c2_c_pins[] = { 1512 /* SCL, SDA */ 1513 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), 1514 }; 1515 static const unsigned int i2c2_c_mux[] = { 1516 SCL2_C_MARK, SDA2_C_MARK, 1517 }; 1518 static const unsigned int i2c2_d_pins[] = { 1519 /* SCL, SDA */ 1520 RCAR_GP_PIN(2, 0), RCAR_GP_PIN(2, 1), 1521 }; 1522 static const unsigned int i2c2_d_mux[] = { 1523 SCL2_D_MARK, SDA2_D_MARK, 1524 }; 1525 /* - I2C3 ------------------------------------------------------------------- */ 1526 static const unsigned int i2c3_a_pins[] = { 1527 /* SCL, SDA */ 1528 RCAR_GP_PIN(3, 9), RCAR_GP_PIN(3, 10), 1529 }; 1530 static const unsigned int i2c3_a_mux[] = { 1531 SCL3_A_MARK, SDA3_A_MARK, 1532 }; 1533 static const unsigned int i2c3_b_pins[] = { 1534 /* SCL, SDA */ 1535 RCAR_GP_PIN(1, 0), RCAR_GP_PIN(1, 1), 1536 }; 1537 static const unsigned int i2c3_b_mux[] = { 1538 SCL3_B_MARK, SDA3_B_MARK, 1539 }; 1540 static const unsigned int i2c3_c_pins[] = { 1541 /* SCL, SDA */ 1542 RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2), 1543 }; 1544 static const unsigned int i2c3_c_mux[] = { 1545 SCL3_C_MARK, SDA3_C_MARK, 1546 }; 1547 static const unsigned int i2c3_d_pins[] = { 1548 /* SCL, SDA */ 1549 RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9), 1550 }; 1551 static const unsigned int i2c3_d_mux[] = { 1552 SCL3_D_MARK, SDA3_D_MARK, 1553 }; 1554 static const unsigned int i2c3_e_pins[] = { 1555 /* SCL, SDA */ 1556 RCAR_GP_PIN(5, 25), RCAR_GP_PIN(5, 26), 1557 }; 1558 static const unsigned int i2c3_e_mux[] = { 1559 SCL3_E_MARK, SDA3_E_MARK, 1560 }; 1561 /* - I2C4 ------------------------------------------------------------------- */ 1562 static const unsigned int i2c4_a_pins[] = { 1563 /* SCL, SDA */ 1564 RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), 1565 }; 1566 static const unsigned int i2c4_a_mux[] = { 1567 SCL4_A_MARK, SDA4_A_MARK, 1568 }; 1569 static const unsigned int i2c4_b_pins[] = { 1570 /* SCL, SDA */ 1571 RCAR_GP_PIN(5, 30), RCAR_GP_PIN(5, 31), 1572 }; 1573 static const unsigned int i2c4_b_mux[] = { 1574 SCL4_B_MARK, SDA4_B_MARK, 1575 }; 1576 static const unsigned int i2c4_c_pins[] = { 1577 /* SCL, SDA */ 1578 RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5), 1579 }; 1580 static const unsigned int i2c4_c_mux[] = { 1581 SCL4_C_MARK, SDA4_C_MARK, 1582 }; 1583 static const unsigned int i2c4_d_pins[] = { 1584 /* SCL, SDA */ 1585 RCAR_GP_PIN(2, 16), RCAR_GP_PIN(2, 17), 1586 }; 1587 static const unsigned int i2c4_d_mux[] = { 1588 SCL4_D_MARK, SDA4_D_MARK, 1589 }; 1590 static const unsigned int i2c4_e_pins[] = { 1591 /* SCL, SDA */ 1592 RCAR_GP_PIN(5, 7), RCAR_GP_PIN(5, 6), 1593 }; 1594 static const unsigned int i2c4_e_mux[] = { 1595 SCL4_E_MARK, SDA4_E_MARK, 1596 }; 1597 /* - MMC -------------------------------------------------------------------- */ 1598 static const unsigned int mmc_data_pins[] = { 1599 /* D[0:3] */ 1600 RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 16), 1601 RCAR_GP_PIN(0, 17), RCAR_GP_PIN(0, 18), 1602 RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 20), 1603 RCAR_GP_PIN(0, 21), RCAR_GP_PIN(0, 22), 1604 }; 1605 static const unsigned int mmc_data_mux[] = { 1606 MMC0_D0_SDHI1_D0_MARK, MMC0_D1_SDHI1_D1_MARK, 1607 MMC0_D2_SDHI1_D2_MARK, MMC0_D3_SDHI1_D3_MARK, 1608 MMC0_D4_MARK, MMC0_D5_MARK, 1609 MMC0_D6_MARK, MMC0_D7_MARK, 1610 }; 1611 static const unsigned int mmc_ctrl_pins[] = { 1612 /* CLK, CMD */ 1613 RCAR_GP_PIN(0, 13), RCAR_GP_PIN(0, 14), 1614 }; 1615 static const unsigned int mmc_ctrl_mux[] = { 1616 MMC0_CLK_SDHI1_CLK_MARK, MMC0_CMD_SDHI1_CMD_MARK, 1617 }; 1618 /* - QSPI ------------------------------------------------------------------- */ 1619 static const unsigned int qspi0_ctrl_pins[] = { 1620 /* SPCLK, SSL */ 1621 RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 21), 1622 }; 1623 static const unsigned int qspi0_ctrl_mux[] = { 1624 QSPI0_SPCLK_MARK, QSPI0_SSL_MARK, 1625 }; 1626 static const unsigned int qspi0_data2_pins[] = { 1627 /* MOSI_IO0, MISO_IO1 */ 1628 RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18), 1629 }; 1630 static const unsigned int qspi0_data2_mux[] = { 1631 QSPI0_MOSI_QSPI0_IO0_MARK, QSPI0_MISO_QSPI0_IO1_MARK, 1632 }; 1633 static const unsigned int qspi0_data4_pins[] = { 1634 /* MOSI_IO0, MISO_IO1, IO2, IO3 */ 1635 RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 18), RCAR_GP_PIN(1, 19), 1636 RCAR_GP_PIN(1, 20), 1637 }; 1638 static const unsigned int qspi0_data4_mux[] = { 1639 QSPI0_MOSI_QSPI0_IO0_MARK, QSPI0_MISO_QSPI0_IO1_MARK, 1640 QSPI0_IO2_MARK, QSPI0_IO3_MARK, 1641 }; 1642 static const unsigned int qspi1_ctrl_pins[] = { 1643 /* SPCLK, SSL */ 1644 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 9), 1645 }; 1646 static const unsigned int qspi1_ctrl_mux[] = { 1647 QSPI1_SPCLK_MARK, QSPI1_SSL_MARK, 1648 }; 1649 static const unsigned int qspi1_data2_pins[] = { 1650 /* MOSI_IO0, MISO_IO1 */ 1651 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), 1652 }; 1653 static const unsigned int qspi1_data2_mux[] = { 1654 QSPI1_MOSI_QSPI1_IO0_MARK, QSPI1_MISO_QSPI1_IO1_MARK, 1655 }; 1656 static const unsigned int qspi1_data4_pins[] = { 1657 /* MOSI_IO0, MISO_IO1, IO2, IO3 */ 1658 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), RCAR_GP_PIN(4, 7), 1659 RCAR_GP_PIN(4, 8), 1660 }; 1661 static const unsigned int qspi1_data4_mux[] = { 1662 QSPI1_MOSI_QSPI1_IO0_MARK, QSPI1_MISO_QSPI1_IO1_MARK, 1663 QSPI1_IO2_MARK, QSPI1_IO3_MARK, 1664 }; 1665 /* - SCIF0 ------------------------------------------------------------------ */ 1666 static const unsigned int scif0_data_a_pins[] = { 1667 /* RX, TX */ 1668 RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), 1669 }; 1670 static const unsigned int scif0_data_a_mux[] = { 1671 RX0_A_MARK, TX0_A_MARK, 1672 }; 1673 static const unsigned int scif0_data_b_pins[] = { 1674 /* RX, TX */ 1675 RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12), 1676 }; 1677 static const unsigned int scif0_data_b_mux[] = { 1678 RX0_B_MARK, TX0_B_MARK, 1679 }; 1680 static const unsigned int scif0_data_c_pins[] = { 1681 /* RX, TX */ 1682 RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1), 1683 }; 1684 static const unsigned int scif0_data_c_mux[] = { 1685 RX0_C_MARK, TX0_C_MARK, 1686 }; 1687 static const unsigned int scif0_data_d_pins[] = { 1688 /* RX, TX */ 1689 RCAR_GP_PIN(2, 2), RCAR_GP_PIN(2, 3), 1690 }; 1691 static const unsigned int scif0_data_d_mux[] = { 1692 RX0_D_MARK, TX0_D_MARK, 1693 }; 1694 /* - SCIF1 ------------------------------------------------------------------ */ 1695 static const unsigned int scif1_data_a_pins[] = { 1696 /* RX, TX */ 1697 RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 17), 1698 }; 1699 static const unsigned int scif1_data_a_mux[] = { 1700 RX1_A_MARK, TX1_A_MARK, 1701 }; 1702 static const unsigned int scif1_clk_a_pins[] = { 1703 /* SCK */ 1704 RCAR_GP_PIN(4, 15), 1705 }; 1706 static const unsigned int scif1_clk_a_mux[] = { 1707 SCIF1_SCK_A_MARK, 1708 }; 1709 static const unsigned int scif1_data_b_pins[] = { 1710 /* RX, TX */ 1711 RCAR_GP_PIN(5, 19), RCAR_GP_PIN(5, 20), 1712 }; 1713 static const unsigned int scif1_data_b_mux[] = { 1714 RX1_B_MARK, TX1_B_MARK, 1715 }; 1716 static const unsigned int scif1_clk_b_pins[] = { 1717 /* SCK */ 1718 RCAR_GP_PIN(5, 18), 1719 }; 1720 static const unsigned int scif1_clk_b_mux[] = { 1721 SCIF1_SCK_B_MARK, 1722 }; 1723 static const unsigned int scif1_data_c_pins[] = { 1724 /* RX, TX */ 1725 RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 9), 1726 }; 1727 static const unsigned int scif1_data_c_mux[] = { 1728 RX1_C_MARK, TX1_C_MARK, 1729 }; 1730 static const unsigned int scif1_clk_c_pins[] = { 1731 /* SCK */ 1732 RCAR_GP_PIN(1, 7), 1733 }; 1734 static const unsigned int scif1_clk_c_mux[] = { 1735 SCIF1_SCK_C_MARK, 1736 }; 1737 static const unsigned int scif1_data_d_pins[] = { 1738 /* RX, TX */ 1739 RCAR_GP_PIN(2, 4), RCAR_GP_PIN(2, 5), 1740 }; 1741 static const unsigned int scif1_data_d_mux[] = { 1742 RX1_D_MARK, TX1_D_MARK, 1743 }; 1744 /* - SCIF2 ------------------------------------------------------------------ */ 1745 static const unsigned int scif2_data_a_pins[] = { 1746 /* RX, TX */ 1747 RCAR_GP_PIN(4, 18), RCAR_GP_PIN(4, 19), 1748 }; 1749 static const unsigned int scif2_data_a_mux[] = { 1750 RX2_A_MARK, TX2_A_MARK, 1751 }; 1752 static const unsigned int scif2_clk_a_pins[] = { 1753 /* SCK */ 1754 RCAR_GP_PIN(4, 20), 1755 }; 1756 static const unsigned int scif2_clk_a_mux[] = { 1757 SCIF2_SCK_A_MARK, 1758 }; 1759 static const unsigned int scif2_data_b_pins[] = { 1760 /* RX, TX */ 1761 RCAR_GP_PIN(5, 25), RCAR_GP_PIN(5, 26), 1762 }; 1763 static const unsigned int scif2_data_b_mux[] = { 1764 RX2_B_MARK, TX2_B_MARK, 1765 }; 1766 static const unsigned int scif2_clk_b_pins[] = { 1767 /* SCK */ 1768 RCAR_GP_PIN(5, 27), 1769 }; 1770 static const unsigned int scif2_clk_b_mux[] = { 1771 SCIF2_SCK_B_MARK, 1772 }; 1773 static const unsigned int scif2_data_c_pins[] = { 1774 /* RX, TX */ 1775 RCAR_GP_PIN(2, 6), RCAR_GP_PIN(2, 7), 1776 }; 1777 static const unsigned int scif2_data_c_mux[] = { 1778 RX2_C_MARK, TX2_C_MARK, 1779 }; 1780 /* - SCIF3 ------------------------------------------------------------------ */ 1781 static const unsigned int scif3_data_a_pins[] = { 1782 /* RX, TX */ 1783 RCAR_GP_PIN(4, 22), RCAR_GP_PIN(4, 23), 1784 }; 1785 static const unsigned int scif3_data_a_mux[] = { 1786 RX3_A_MARK, TX3_A_MARK, 1787 }; 1788 static const unsigned int scif3_clk_pins[] = { 1789 /* SCK */ 1790 RCAR_GP_PIN(4, 21), 1791 }; 1792 static const unsigned int scif3_clk_mux[] = { 1793 SCIF3_SCK_MARK, 1794 }; 1795 static const unsigned int scif3_data_b_pins[] = { 1796 /* RX, TX */ 1797 RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9), 1798 }; 1799 static const unsigned int scif3_data_b_mux[] = { 1800 RX3_B_MARK, TX3_B_MARK, 1801 }; 1802 static const unsigned int scif3_data_c_pins[] = { 1803 /* RX, TX */ 1804 RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6), 1805 }; 1806 static const unsigned int scif3_data_c_mux[] = { 1807 RX3_C_MARK, TX3_C_MARK, 1808 }; 1809 /* - SCIF4 ------------------------------------------------------------------ */ 1810 static const unsigned int scif4_data_a_pins[] = { 1811 /* RX, TX */ 1812 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3), 1813 }; 1814 static const unsigned int scif4_data_a_mux[] = { 1815 RX4_A_MARK, TX4_A_MARK, 1816 }; 1817 static const unsigned int scif4_data_b_pins[] = { 1818 /* RX, TX */ 1819 RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 3), 1820 }; 1821 static const unsigned int scif4_data_b_mux[] = { 1822 RX4_B_MARK, TX4_B_MARK, 1823 }; 1824 static const unsigned int scif4_data_c_pins[] = { 1825 /* RX, TX */ 1826 RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 14), 1827 }; 1828 static const unsigned int scif4_data_c_mux[] = { 1829 RX4_C_MARK, TX4_C_MARK, 1830 }; 1831 static const unsigned int scif4_data_d_pins[] = { 1832 /* RX, TX */ 1833 RCAR_GP_PIN(2, 10), RCAR_GP_PIN(2, 11), 1834 }; 1835 static const unsigned int scif4_data_d_mux[] = { 1836 RX4_D_MARK, TX4_D_MARK, 1837 }; 1838 static const unsigned int scif4_data_e_pins[] = { 1839 /* RX, TX */ 1840 RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8), 1841 }; 1842 static const unsigned int scif4_data_e_mux[] = { 1843 RX4_E_MARK, TX4_E_MARK, 1844 }; 1845 /* - SCIF5 ------------------------------------------------------------------ */ 1846 static const unsigned int scif5_data_a_pins[] = { 1847 /* RX, TX */ 1848 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), 1849 }; 1850 static const unsigned int scif5_data_a_mux[] = { 1851 RX5_A_MARK, TX5_A_MARK, 1852 }; 1853 static const unsigned int scif5_data_b_pins[] = { 1854 /* RX, TX */ 1855 RCAR_GP_PIN(1, 0), RCAR_GP_PIN(1, 1), 1856 }; 1857 static const unsigned int scif5_data_b_mux[] = { 1858 RX5_B_MARK, TX5_B_MARK, 1859 }; 1860 static const unsigned int scif5_data_c_pins[] = { 1861 /* RX, TX */ 1862 RCAR_GP_PIN(2, 0), RCAR_GP_PIN(2, 1), 1863 }; 1864 static const unsigned int scif5_data_c_mux[] = { 1865 RX5_C_MARK, TX5_C_MARK, 1866 }; 1867 static const unsigned int scif5_data_d_pins[] = { 1868 /* RX, TX */ 1869 RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10), 1870 }; 1871 static const unsigned int scif5_data_d_mux[] = { 1872 RX5_D_MARK, TX5_D_MARK, 1873 }; 1874 static const unsigned int scif5_data_e_pins[] = { 1875 /* RX, TX */ 1876 RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10), 1877 }; 1878 static const unsigned int scif5_data_e_mux[] = { 1879 RX5_E_MARK, TX5_E_MARK, 1880 }; 1881 static const unsigned int scif5_data_f_pins[] = { 1882 /* RX, TX */ 1883 RCAR_GP_PIN(3, 27), RCAR_GP_PIN(3, 28), 1884 }; 1885 static const unsigned int scif5_data_f_mux[] = { 1886 RX5_F_MARK, TX5_F_MARK, 1887 }; 1888 /* - SCIF Clock ------------------------------------------------------------- */ 1889 static const unsigned int scif_clk_a_pins[] = { 1890 /* SCIF_CLK */ 1891 RCAR_GP_PIN(1, 22), 1892 }; 1893 static const unsigned int scif_clk_a_mux[] = { 1894 SCIF_CLK_A_MARK, 1895 }; 1896 static const unsigned int scif_clk_b_pins[] = { 1897 /* SCIF_CLK */ 1898 RCAR_GP_PIN(3, 29), 1899 }; 1900 static const unsigned int scif_clk_b_mux[] = { 1901 SCIF_CLK_B_MARK, 1902 }; 1903 /* - SDHI0 ------------------------------------------------------------------ */ 1904 static const unsigned int sdhi0_data1_pins[] = { 1905 /* D0 */ 1906 RCAR_GP_PIN(0, 7), 1907 }; 1908 static const unsigned int sdhi0_data1_mux[] = { 1909 SD0_DAT0_MARK, 1910 }; 1911 static const unsigned int sdhi0_data4_pins[] = { 1912 /* D[0:3] */ 1913 RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8), 1914 RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10), 1915 }; 1916 static const unsigned int sdhi0_data4_mux[] = { 1917 SD0_DAT0_MARK, SD0_DAT1_MARK, SD0_DAT2_MARK, SD0_DAT3_MARK, 1918 }; 1919 static const unsigned int sdhi0_ctrl_pins[] = { 1920 /* CLK, CMD */ 1921 RCAR_GP_PIN(0, 5), RCAR_GP_PIN(0, 6), 1922 }; 1923 static const unsigned int sdhi0_ctrl_mux[] = { 1924 SD0_CLK_MARK, SD0_CMD_MARK, 1925 }; 1926 static const unsigned int sdhi0_cd_pins[] = { 1927 /* CD */ 1928 RCAR_GP_PIN(0, 11), 1929 }; 1930 static const unsigned int sdhi0_cd_mux[] = { 1931 SD0_CD_MARK, 1932 }; 1933 static const unsigned int sdhi0_wp_pins[] = { 1934 /* WP */ 1935 RCAR_GP_PIN(0, 12), 1936 }; 1937 static const unsigned int sdhi0_wp_mux[] = { 1938 SD0_WP_MARK, 1939 }; 1940 /* - SDHI1 ------------------------------------------------------------------ */ 1941 static const unsigned int sdhi1_cd_pins[] = { 1942 /* CD */ 1943 RCAR_GP_PIN(0, 19), 1944 }; 1945 static const unsigned int sdhi1_cd_mux[] = { 1946 SD1_CD_MARK, 1947 }; 1948 static const unsigned int sdhi1_wp_pins[] = { 1949 /* WP */ 1950 RCAR_GP_PIN(0, 20), 1951 }; 1952 static const unsigned int sdhi1_wp_mux[] = { 1953 SD1_WP_MARK, 1954 }; 1955 /* - SDHI2 ------------------------------------------------------------------ */ 1956 static const unsigned int sdhi2_data1_pins[] = { 1957 /* D0 */ 1958 RCAR_GP_PIN(4, 16), 1959 }; 1960 static const unsigned int sdhi2_data1_mux[] = { 1961 SD2_DAT0_MARK, 1962 }; 1963 static const unsigned int sdhi2_data4_pins[] = { 1964 /* D[0:3] */ 1965 RCAR_GP_PIN(4, 16), RCAR_GP_PIN(4, 17), 1966 RCAR_GP_PIN(4, 18), RCAR_GP_PIN(4, 19), 1967 }; 1968 static const unsigned int sdhi2_data4_mux[] = { 1969 SD2_DAT0_MARK, SD2_DAT1_MARK, SD2_DAT2_MARK, SD2_DAT3_MARK, 1970 }; 1971 static const unsigned int sdhi2_ctrl_pins[] = { 1972 /* CLK, CMD */ 1973 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15), 1974 }; 1975 static const unsigned int sdhi2_ctrl_mux[] = { 1976 SD2_CLK_MARK, SD2_CMD_MARK, 1977 }; 1978 static const unsigned int sdhi2_cd_pins[] = { 1979 /* CD */ 1980 RCAR_GP_PIN(4, 20), 1981 }; 1982 static const unsigned int sdhi2_cd_mux[] = { 1983 SD2_CD_MARK, 1984 }; 1985 static const unsigned int sdhi2_wp_pins[] = { 1986 /* WP */ 1987 RCAR_GP_PIN(4, 21), 1988 }; 1989 static const unsigned int sdhi2_wp_mux[] = { 1990 SD2_WP_MARK, 1991 }; 1992 /* - USB0 ------------------------------------------------------------------- */ 1993 static const unsigned int usb0_pins[] = { 1994 RCAR_GP_PIN(0, 0), /* PWEN */ 1995 RCAR_GP_PIN(0, 1), /* OVC */ 1996 }; 1997 static const unsigned int usb0_mux[] = { 1998 USB0_PWEN_MARK, 1999 USB0_OVC_MARK, 2000 }; 2001 /* - USB1 ------------------------------------------------------------------- */ 2002 static const unsigned int usb1_pins[] = { 2003 RCAR_GP_PIN(0, 2), /* PWEN */ 2004 RCAR_GP_PIN(0, 3), /* OVC */ 2005 }; 2006 static const unsigned int usb1_mux[] = { 2007 USB1_PWEN_MARK, 2008 USB1_OVC_MARK, 2009 }; 2010 /* - VIN0 ------------------------------------------------------------------- */ 2011 static const unsigned int vin0_data_pins[] = { 2012 /* B */ 2013 RCAR_GP_PIN(5, 20), RCAR_GP_PIN(5, 21), 2014 RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 23), 2015 RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 25), 2016 RCAR_GP_PIN(5, 26), RCAR_GP_PIN(5, 27), 2017 /* G */ 2018 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3), 2019 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), 2020 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(5, 8), 2021 RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10), 2022 /* R */ 2023 RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 12), 2024 RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14), 2025 RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16), 2026 RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 19), 2027 }; 2028 static const unsigned int vin0_data_mux[] = { 2029 /* B */ 2030 VI0_DATA0_VI0_B0_MARK, VI0_DATA1_VI0_B1_MARK, 2031 VI0_DATA2_VI0_B2_MARK, VI0_DATA3_VI0_B3_MARK, 2032 VI0_DATA4_VI0_B4_MARK, VI0_DATA5_VI0_B5_MARK, 2033 VI0_DATA6_VI0_B6_MARK, VI0_DATA7_VI0_B7_MARK, 2034 /* G */ 2035 VI0_G0_MARK, VI0_G1_MARK, 2036 VI0_G2_MARK, VI0_G3_MARK, 2037 VI0_G4_MARK, VI0_G5_MARK, 2038 VI0_G6_MARK, VI0_G7_MARK, 2039 /* R */ 2040 VI0_R0_MARK, VI0_R1_MARK, 2041 VI0_R2_MARK, VI0_R3_MARK, 2042 VI0_R4_MARK, VI0_R5_MARK, 2043 VI0_R6_MARK, VI0_R7_MARK, 2044 }; 2045 static const unsigned int vin0_data18_pins[] = { 2046 /* B */ 2047 RCAR_GP_PIN(5, 22), RCAR_GP_PIN(5, 23), 2048 RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 25), 2049 RCAR_GP_PIN(5, 26), RCAR_GP_PIN(5, 27), 2050 /* G */ 2051 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), 2052 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(5, 8), 2053 RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 10), 2054 /* R */ 2055 RCAR_GP_PIN(5, 13), RCAR_GP_PIN(5, 14), 2056 RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16), 2057 RCAR_GP_PIN(5, 17), RCAR_GP_PIN(5, 19), 2058 }; 2059 static const unsigned int vin0_data18_mux[] = { 2060 /* B */ 2061 VI0_DATA2_VI0_B2_MARK, VI0_DATA3_VI0_B3_MARK, 2062 VI0_DATA4_VI0_B4_MARK, VI0_DATA5_VI0_B5_MARK, 2063 VI0_DATA6_VI0_B6_MARK, VI0_DATA7_VI0_B7_MARK, 2064 /* G */ 2065 VI0_G2_MARK, VI0_G3_MARK, 2066 VI0_G4_MARK, VI0_G5_MARK, 2067 VI0_G6_MARK, VI0_G7_MARK, 2068 /* R */ 2069 VI0_R2_MARK, VI0_R3_MARK, 2070 VI0_R4_MARK, VI0_R5_MARK, 2071 VI0_R6_MARK, VI0_R7_MARK, 2072 }; 2073 static const unsigned int vin0_sync_pins[] = { 2074 RCAR_GP_PIN(5, 30), /* HSYNC */ 2075 RCAR_GP_PIN(5, 31), /* VSYNC */ 2076 }; 2077 static const unsigned int vin0_sync_mux[] = { 2078 VI0_HSYNC_N_MARK, 2079 VI0_VSYNC_N_MARK, 2080 }; 2081 static const unsigned int vin0_field_pins[] = { 2082 RCAR_GP_PIN(5, 29), 2083 }; 2084 static const unsigned int vin0_field_mux[] = { 2085 VI0_FIELD_MARK, 2086 }; 2087 static const unsigned int vin0_clkenb_pins[] = { 2088 RCAR_GP_PIN(5, 28), 2089 }; 2090 static const unsigned int vin0_clkenb_mux[] = { 2091 VI0_CLKENB_MARK, 2092 }; 2093 static const unsigned int vin0_clk_pins[] = { 2094 RCAR_GP_PIN(5, 18), 2095 }; 2096 static const unsigned int vin0_clk_mux[] = { 2097 VI0_CLK_MARK, 2098 }; 2099 /* - VIN1 ------------------------------------------------------------------- */ 2100 static const unsigned int vin1_data_pins[] = { 2101 RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 2), 2102 RCAR_GP_PIN(3, 3), RCAR_GP_PIN(3, 4), 2103 RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6), 2104 RCAR_GP_PIN(3, 7), RCAR_GP_PIN(3, 8), 2105 RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14), 2106 RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16), 2107 }; 2108 static const unsigned int vin1_data_mux[] = { 2109 VI1_DATA0_MARK, VI1_DATA1_MARK, 2110 VI1_DATA2_MARK, VI1_DATA3_MARK, 2111 VI1_DATA4_MARK, VI1_DATA5_MARK, 2112 VI1_DATA6_MARK, VI1_DATA7_MARK, 2113 VI1_DATA8_MARK, VI1_DATA9_MARK, 2114 VI1_DATA10_MARK, VI1_DATA11_MARK, 2115 }; 2116 static const unsigned int vin1_sync_pins[] = { 2117 RCAR_GP_PIN(3, 11), /* HSYNC */ 2118 RCAR_GP_PIN(3, 12), /* VSYNC */ 2119 }; 2120 static const unsigned int vin1_sync_mux[] = { 2121 VI1_HSYNC_N_MARK, 2122 VI1_VSYNC_N_MARK, 2123 }; 2124 static const unsigned int vin1_field_pins[] = { 2125 RCAR_GP_PIN(3, 10), 2126 }; 2127 static const unsigned int vin1_field_mux[] = { 2128 VI1_FIELD_MARK, 2129 }; 2130 static const unsigned int vin1_clkenb_pins[] = { 2131 RCAR_GP_PIN(3, 9), 2132 }; 2133 static const unsigned int vin1_clkenb_mux[] = { 2134 VI1_CLKENB_MARK, 2135 }; 2136 static const unsigned int vin1_clk_pins[] = { 2137 RCAR_GP_PIN(3, 0), 2138 }; 2139 static const unsigned int vin1_clk_mux[] = { 2140 VI1_CLK_MARK, 2141 }; 2142 2143 static const struct sh_pfc_pin_group pinmux_groups[] = { 2144 SH_PFC_PIN_GROUP(avb_col), 2145 SH_PFC_PIN_GROUP(avb_crs), 2146 SH_PFC_PIN_GROUP(avb_link), 2147 SH_PFC_PIN_GROUP(avb_magic), 2148 SH_PFC_PIN_GROUP(avb_phy_int), 2149 SH_PFC_PIN_GROUP(avb_mdio), 2150 SH_PFC_PIN_GROUP(avb_mii_tx_rx), 2151 SH_PFC_PIN_GROUP(avb_mii_tx_er), 2152 SH_PFC_PIN_GROUP(avb_gmii_tx_rx), 2153 SH_PFC_PIN_GROUP(avb_avtp_match_a), 2154 SH_PFC_PIN_GROUP(avb_avtp_capture_a), 2155 SH_PFC_PIN_GROUP(avb_avtp_match_b), 2156 SH_PFC_PIN_GROUP(avb_avtp_capture_b), 2157 SH_PFC_PIN_GROUP(du0_rgb666), 2158 SH_PFC_PIN_GROUP(du0_rgb888), 2159 SH_PFC_PIN_GROUP(du0_clk0_out), 2160 SH_PFC_PIN_GROUP(du0_clk1_out), 2161 SH_PFC_PIN_GROUP(du0_clk_in), 2162 SH_PFC_PIN_GROUP(du0_sync), 2163 SH_PFC_PIN_GROUP(du0_oddf), 2164 SH_PFC_PIN_GROUP(du0_cde), 2165 SH_PFC_PIN_GROUP(du0_disp), 2166 SH_PFC_PIN_GROUP(du1_rgb666), 2167 SH_PFC_PIN_GROUP(du1_rgb888), 2168 SH_PFC_PIN_GROUP(du1_clk0_out), 2169 SH_PFC_PIN_GROUP(du1_clk1_out), 2170 SH_PFC_PIN_GROUP(du1_clk_in), 2171 SH_PFC_PIN_GROUP(du1_sync), 2172 SH_PFC_PIN_GROUP(du1_oddf), 2173 SH_PFC_PIN_GROUP(du1_cde), 2174 SH_PFC_PIN_GROUP(du1_disp), 2175 SH_PFC_PIN_GROUP(i2c0_a), 2176 SH_PFC_PIN_GROUP(i2c0_b), 2177 SH_PFC_PIN_GROUP(i2c0_c), 2178 SH_PFC_PIN_GROUP(i2c0_d), 2179 SH_PFC_PIN_GROUP(i2c0_e), 2180 SH_PFC_PIN_GROUP(i2c1_a), 2181 SH_PFC_PIN_GROUP(i2c1_b), 2182 SH_PFC_PIN_GROUP(i2c1_c), 2183 SH_PFC_PIN_GROUP(i2c1_d), 2184 SH_PFC_PIN_GROUP(i2c1_e), 2185 SH_PFC_PIN_GROUP(i2c2_a), 2186 SH_PFC_PIN_GROUP(i2c2_b), 2187 SH_PFC_PIN_GROUP(i2c2_c), 2188 SH_PFC_PIN_GROUP(i2c2_d), 2189 SH_PFC_PIN_GROUP(i2c3_a), 2190 SH_PFC_PIN_GROUP(i2c3_b), 2191 SH_PFC_PIN_GROUP(i2c3_c), 2192 SH_PFC_PIN_GROUP(i2c3_d), 2193 SH_PFC_PIN_GROUP(i2c3_e), 2194 SH_PFC_PIN_GROUP(i2c4_a), 2195 SH_PFC_PIN_GROUP(i2c4_b), 2196 SH_PFC_PIN_GROUP(i2c4_c), 2197 SH_PFC_PIN_GROUP(i2c4_d), 2198 SH_PFC_PIN_GROUP(i2c4_e), 2199 BUS_DATA_PIN_GROUP(mmc_data, 1), 2200 BUS_DATA_PIN_GROUP(mmc_data, 4), 2201 BUS_DATA_PIN_GROUP(mmc_data, 8), 2202 SH_PFC_PIN_GROUP(mmc_ctrl), 2203 SH_PFC_PIN_GROUP(qspi0_ctrl), 2204 SH_PFC_PIN_GROUP(qspi0_data2), 2205 SH_PFC_PIN_GROUP(qspi0_data4), 2206 SH_PFC_PIN_GROUP(qspi1_ctrl), 2207 SH_PFC_PIN_GROUP(qspi1_data2), 2208 SH_PFC_PIN_GROUP(qspi1_data4), 2209 SH_PFC_PIN_GROUP(scif0_data_a), 2210 SH_PFC_PIN_GROUP(scif0_data_b), 2211 SH_PFC_PIN_GROUP(scif0_data_c), 2212 SH_PFC_PIN_GROUP(scif0_data_d), 2213 SH_PFC_PIN_GROUP(scif1_data_a), 2214 SH_PFC_PIN_GROUP(scif1_clk_a), 2215 SH_PFC_PIN_GROUP(scif1_data_b), 2216 SH_PFC_PIN_GROUP(scif1_clk_b), 2217 SH_PFC_PIN_GROUP(scif1_data_c), 2218 SH_PFC_PIN_GROUP(scif1_clk_c), 2219 SH_PFC_PIN_GROUP(scif1_data_d), 2220 SH_PFC_PIN_GROUP(scif2_data_a), 2221 SH_PFC_PIN_GROUP(scif2_clk_a), 2222 SH_PFC_PIN_GROUP(scif2_data_b), 2223 SH_PFC_PIN_GROUP(scif2_clk_b), 2224 SH_PFC_PIN_GROUP(scif2_data_c), 2225 SH_PFC_PIN_GROUP(scif3_data_a), 2226 SH_PFC_PIN_GROUP(scif3_clk), 2227 SH_PFC_PIN_GROUP(scif3_data_b), 2228 SH_PFC_PIN_GROUP(scif3_data_c), 2229 SH_PFC_PIN_GROUP(scif4_data_a), 2230 SH_PFC_PIN_GROUP(scif4_data_b), 2231 SH_PFC_PIN_GROUP(scif4_data_c), 2232 SH_PFC_PIN_GROUP(scif4_data_d), 2233 SH_PFC_PIN_GROUP(scif4_data_e), 2234 SH_PFC_PIN_GROUP(scif5_data_a), 2235 SH_PFC_PIN_GROUP(scif5_data_b), 2236 SH_PFC_PIN_GROUP(scif5_data_c), 2237 SH_PFC_PIN_GROUP(scif5_data_d), 2238 SH_PFC_PIN_GROUP(scif5_data_e), 2239 SH_PFC_PIN_GROUP(scif5_data_f), 2240 SH_PFC_PIN_GROUP(scif_clk_a), 2241 SH_PFC_PIN_GROUP(scif_clk_b), 2242 SH_PFC_PIN_GROUP(sdhi0_data1), 2243 SH_PFC_PIN_GROUP(sdhi0_data4), 2244 SH_PFC_PIN_GROUP(sdhi0_ctrl), 2245 SH_PFC_PIN_GROUP(sdhi0_cd), 2246 SH_PFC_PIN_GROUP(sdhi0_wp), 2247 SH_PFC_PIN_GROUP_SUBSET(sdhi1_data1, mmc_data, 0, 1), 2248 SH_PFC_PIN_GROUP_SUBSET(sdhi1_data4, mmc_data, 0, 4), 2249 SH_PFC_PIN_GROUP_ALIAS(sdhi1_ctrl, mmc_ctrl), 2250 SH_PFC_PIN_GROUP(sdhi1_cd), 2251 SH_PFC_PIN_GROUP(sdhi1_wp), 2252 SH_PFC_PIN_GROUP(sdhi2_data1), 2253 SH_PFC_PIN_GROUP(sdhi2_data4), 2254 SH_PFC_PIN_GROUP(sdhi2_ctrl), 2255 SH_PFC_PIN_GROUP(sdhi2_cd), 2256 SH_PFC_PIN_GROUP(sdhi2_wp), 2257 SH_PFC_PIN_GROUP(usb0), 2258 SH_PFC_PIN_GROUP(usb1), 2259 BUS_DATA_PIN_GROUP(vin0_data, 24), 2260 BUS_DATA_PIN_GROUP(vin0_data, 20), 2261 SH_PFC_PIN_GROUP(vin0_data18), 2262 BUS_DATA_PIN_GROUP(vin0_data, 16), 2263 BUS_DATA_PIN_GROUP(vin0_data, 12), 2264 BUS_DATA_PIN_GROUP(vin0_data, 10), 2265 BUS_DATA_PIN_GROUP(vin0_data, 8), 2266 SH_PFC_PIN_GROUP(vin0_sync), 2267 SH_PFC_PIN_GROUP(vin0_field), 2268 SH_PFC_PIN_GROUP(vin0_clkenb), 2269 SH_PFC_PIN_GROUP(vin0_clk), 2270 BUS_DATA_PIN_GROUP(vin1_data, 12), 2271 BUS_DATA_PIN_GROUP(vin1_data, 10), 2272 BUS_DATA_PIN_GROUP(vin1_data, 8), 2273 SH_PFC_PIN_GROUP(vin1_sync), 2274 SH_PFC_PIN_GROUP(vin1_field), 2275 SH_PFC_PIN_GROUP(vin1_clkenb), 2276 SH_PFC_PIN_GROUP(vin1_clk), 2277 }; 2278 2279 static const char * const avb_groups[] = { 2280 "avb_col", 2281 "avb_crs", 2282 "avb_link", 2283 "avb_magic", 2284 "avb_phy_int", 2285 "avb_mdio", 2286 "avb_mii_tx_rx", 2287 "avb_mii_tx_er", 2288 "avb_gmii_tx_rx", 2289 "avb_avtp_match_a", 2290 "avb_avtp_capture_a", 2291 "avb_avtp_match_b", 2292 "avb_avtp_capture_b", 2293 }; 2294 2295 static const char * const du0_groups[] = { 2296 "du0_rgb666", 2297 "du0_rgb888", 2298 "du0_clk0_out", 2299 "du0_clk1_out", 2300 "du0_clk_in", 2301 "du0_sync", 2302 "du0_oddf", 2303 "du0_cde", 2304 "du0_disp", 2305 }; 2306 2307 static const char * const du1_groups[] = { 2308 "du1_rgb666", 2309 "du1_rgb888", 2310 "du1_clk0_out", 2311 "du1_clk1_out", 2312 "du1_clk_in", 2313 "du1_sync", 2314 "du1_oddf", 2315 "du1_cde", 2316 "du1_disp", 2317 }; 2318 2319 static const char * const i2c0_groups[] = { 2320 "i2c0_a", 2321 "i2c0_b", 2322 "i2c0_c", 2323 "i2c0_d", 2324 "i2c0_e", 2325 }; 2326 2327 static const char * const i2c1_groups[] = { 2328 "i2c1_a", 2329 "i2c1_b", 2330 "i2c1_c", 2331 "i2c1_d", 2332 "i2c1_e", 2333 }; 2334 2335 static const char * const i2c2_groups[] = { 2336 "i2c2_a", 2337 "i2c2_b", 2338 "i2c2_c", 2339 "i2c2_d", 2340 }; 2341 2342 static const char * const i2c3_groups[] = { 2343 "i2c3_a", 2344 "i2c3_b", 2345 "i2c3_c", 2346 "i2c3_d", 2347 "i2c3_e", 2348 }; 2349 2350 static const char * const i2c4_groups[] = { 2351 "i2c4_a", 2352 "i2c4_b", 2353 "i2c4_c", 2354 "i2c4_d", 2355 "i2c4_e", 2356 }; 2357 2358 static const char * const mmc_groups[] = { 2359 "mmc_data1", 2360 "mmc_data4", 2361 "mmc_data8", 2362 "mmc_ctrl", 2363 }; 2364 2365 static const char * const qspi0_groups[] = { 2366 "qspi0_ctrl", 2367 "qspi0_data2", 2368 "qspi0_data4", 2369 }; 2370 2371 static const char * const qspi1_groups[] = { 2372 "qspi1_ctrl", 2373 "qspi1_data2", 2374 "qspi1_data4", 2375 }; 2376 2377 static const char * const scif0_groups[] = { 2378 "scif0_data_a", 2379 "scif0_data_b", 2380 "scif0_data_c", 2381 "scif0_data_d", 2382 }; 2383 2384 static const char * const scif1_groups[] = { 2385 "scif1_data_a", 2386 "scif1_clk_a", 2387 "scif1_data_b", 2388 "scif1_clk_b", 2389 "scif1_data_c", 2390 "scif1_clk_c", 2391 "scif1_data_d", 2392 }; 2393 2394 static const char * const scif2_groups[] = { 2395 "scif2_data_a", 2396 "scif2_clk_a", 2397 "scif2_data_b", 2398 "scif2_clk_b", 2399 "scif2_data_c", 2400 }; 2401 2402 static const char * const scif3_groups[] = { 2403 "scif3_data_a", 2404 "scif3_clk", 2405 "scif3_data_b", 2406 "scif3_data_c", 2407 }; 2408 2409 static const char * const scif4_groups[] = { 2410 "scif4_data_a", 2411 "scif4_data_b", 2412 "scif4_data_c", 2413 "scif4_data_d", 2414 "scif4_data_e", 2415 }; 2416 2417 static const char * const scif5_groups[] = { 2418 "scif5_data_a", 2419 "scif5_data_b", 2420 "scif5_data_c", 2421 "scif5_data_d", 2422 "scif5_data_e", 2423 "scif5_data_f", 2424 }; 2425 2426 static const char * const scif_clk_groups[] = { 2427 "scif_clk_a", 2428 "scif_clk_b", 2429 }; 2430 2431 static const char * const sdhi0_groups[] = { 2432 "sdhi0_data1", 2433 "sdhi0_data4", 2434 "sdhi0_ctrl", 2435 "sdhi0_cd", 2436 "sdhi0_wp", 2437 }; 2438 2439 static const char * const sdhi1_groups[] = { 2440 "sdhi1_data1", 2441 "sdhi1_data4", 2442 "sdhi1_ctrl", 2443 "sdhi1_cd", 2444 "sdhi1_wp", 2445 }; 2446 2447 static const char * const sdhi2_groups[] = { 2448 "sdhi2_data1", 2449 "sdhi2_data4", 2450 "sdhi2_ctrl", 2451 "sdhi2_cd", 2452 "sdhi2_wp", 2453 }; 2454 2455 static const char * const usb0_groups[] = { 2456 "usb0", 2457 }; 2458 2459 static const char * const usb1_groups[] = { 2460 "usb1", 2461 }; 2462 2463 static const char * const vin0_groups[] = { 2464 "vin0_data24", 2465 "vin0_data20", 2466 "vin0_data18", 2467 "vin0_data16", 2468 "vin0_data12", 2469 "vin0_data10", 2470 "vin0_data8", 2471 "vin0_sync", 2472 "vin0_field", 2473 "vin0_clkenb", 2474 "vin0_clk", 2475 }; 2476 2477 static const char * const vin1_groups[] = { 2478 "vin1_data12", 2479 "vin1_data10", 2480 "vin1_data8", 2481 "vin1_sync", 2482 "vin1_field", 2483 "vin1_clkenb", 2484 "vin1_clk", 2485 }; 2486 2487 static const struct sh_pfc_function pinmux_functions[] = { 2488 SH_PFC_FUNCTION(avb), 2489 SH_PFC_FUNCTION(du0), 2490 SH_PFC_FUNCTION(du1), 2491 SH_PFC_FUNCTION(i2c0), 2492 SH_PFC_FUNCTION(i2c1), 2493 SH_PFC_FUNCTION(i2c2), 2494 SH_PFC_FUNCTION(i2c3), 2495 SH_PFC_FUNCTION(i2c4), 2496 SH_PFC_FUNCTION(mmc), 2497 SH_PFC_FUNCTION(qspi0), 2498 SH_PFC_FUNCTION(qspi1), 2499 SH_PFC_FUNCTION(scif0), 2500 SH_PFC_FUNCTION(scif1), 2501 SH_PFC_FUNCTION(scif2), 2502 SH_PFC_FUNCTION(scif3), 2503 SH_PFC_FUNCTION(scif4), 2504 SH_PFC_FUNCTION(scif5), 2505 SH_PFC_FUNCTION(scif_clk), 2506 SH_PFC_FUNCTION(sdhi0), 2507 SH_PFC_FUNCTION(sdhi1), 2508 SH_PFC_FUNCTION(sdhi2), 2509 SH_PFC_FUNCTION(usb0), 2510 SH_PFC_FUNCTION(usb1), 2511 SH_PFC_FUNCTION(vin0), 2512 SH_PFC_FUNCTION(vin1), 2513 }; 2514 2515 static const struct pinmux_cfg_reg pinmux_config_regs[] = { 2516 { PINMUX_CFG_REG("GPSR0", 0xE6060004, 32, 1, GROUP( 2517 0, 0, 2518 0, 0, 2519 0, 0, 2520 0, 0, 2521 0, 0, 2522 0, 0, 2523 0, 0, 2524 0, 0, 2525 0, 0, 2526 GP_0_22_FN, FN_MMC0_D7, 2527 GP_0_21_FN, FN_MMC0_D6, 2528 GP_0_20_FN, FN_IP1_7_4, 2529 GP_0_19_FN, FN_IP1_3_0, 2530 GP_0_18_FN, FN_MMC0_D3_SDHI1_D3, 2531 GP_0_17_FN, FN_MMC0_D2_SDHI1_D2, 2532 GP_0_16_FN, FN_MMC0_D1_SDHI1_D1, 2533 GP_0_15_FN, FN_MMC0_D0_SDHI1_D0, 2534 GP_0_14_FN, FN_MMC0_CMD_SDHI1_CMD, 2535 GP_0_13_FN, FN_MMC0_CLK_SDHI1_CLK, 2536 GP_0_12_FN, FN_IP0_31_28, 2537 GP_0_11_FN, FN_IP0_27_24, 2538 GP_0_10_FN, FN_IP0_23_20, 2539 GP_0_9_FN, FN_IP0_19_16, 2540 GP_0_8_FN, FN_IP0_15_12, 2541 GP_0_7_FN, FN_IP0_11_8, 2542 GP_0_6_FN, FN_IP0_7_4, 2543 GP_0_5_FN, FN_IP0_3_0, 2544 GP_0_4_FN, FN_CLKOUT, 2545 GP_0_3_FN, FN_USB1_OVC, 2546 GP_0_2_FN, FN_USB1_PWEN, 2547 GP_0_1_FN, FN_USB0_OVC, 2548 GP_0_0_FN, FN_USB0_PWEN, )) 2549 }, 2550 { PINMUX_CFG_REG("GPSR1", 0xE6060008, 32, 1, GROUP( 2551 0, 0, 2552 0, 0, 2553 0, 0, 2554 0, 0, 2555 0, 0, 2556 0, 0, 2557 0, 0, 2558 0, 0, 2559 0, 0, 2560 GP_1_22_FN, FN_IP4_3_0, 2561 GP_1_21_FN, FN_IP3_31_28, 2562 GP_1_20_FN, FN_IP3_27_24, 2563 GP_1_19_FN, FN_IP3_23_20, 2564 GP_1_18_FN, FN_IP3_19_16, 2565 GP_1_17_FN, FN_IP3_15_12, 2566 GP_1_16_FN, FN_IP3_11_8, 2567 GP_1_15_FN, FN_IP3_7_4, 2568 GP_1_14_FN, FN_IP3_3_0, 2569 GP_1_13_FN, FN_IP2_31_28, 2570 GP_1_12_FN, FN_IP2_27_24, 2571 GP_1_11_FN, FN_IP2_23_20, 2572 GP_1_10_FN, FN_IP2_19_16, 2573 GP_1_9_FN, FN_IP2_15_12, 2574 GP_1_8_FN, FN_IP2_11_8, 2575 GP_1_7_FN, FN_IP2_7_4, 2576 GP_1_6_FN, FN_IP2_3_0, 2577 GP_1_5_FN, FN_IP1_31_28, 2578 GP_1_4_FN, FN_IP1_27_24, 2579 GP_1_3_FN, FN_IP1_23_20, 2580 GP_1_2_FN, FN_IP1_19_16, 2581 GP_1_1_FN, FN_IP1_15_12, 2582 GP_1_0_FN, FN_IP1_11_8, )) 2583 }, 2584 { PINMUX_CFG_REG("GPSR2", 0xE606000C, 32, 1, GROUP( 2585 GP_2_31_FN, FN_IP8_3_0, 2586 GP_2_30_FN, FN_IP7_31_28, 2587 GP_2_29_FN, FN_IP7_27_24, 2588 GP_2_28_FN, FN_IP7_23_20, 2589 GP_2_27_FN, FN_IP7_19_16, 2590 GP_2_26_FN, FN_IP7_15_12, 2591 GP_2_25_FN, FN_IP7_11_8, 2592 GP_2_24_FN, FN_IP7_7_4, 2593 GP_2_23_FN, FN_IP7_3_0, 2594 GP_2_22_FN, FN_IP6_31_28, 2595 GP_2_21_FN, FN_IP6_27_24, 2596 GP_2_20_FN, FN_IP6_23_20, 2597 GP_2_19_FN, FN_IP6_19_16, 2598 GP_2_18_FN, FN_IP6_15_12, 2599 GP_2_17_FN, FN_IP6_11_8, 2600 GP_2_16_FN, FN_IP6_7_4, 2601 GP_2_15_FN, FN_IP6_3_0, 2602 GP_2_14_FN, FN_IP5_31_28, 2603 GP_2_13_FN, FN_IP5_27_24, 2604 GP_2_12_FN, FN_IP5_23_20, 2605 GP_2_11_FN, FN_IP5_19_16, 2606 GP_2_10_FN, FN_IP5_15_12, 2607 GP_2_9_FN, FN_IP5_11_8, 2608 GP_2_8_FN, FN_IP5_7_4, 2609 GP_2_7_FN, FN_IP5_3_0, 2610 GP_2_6_FN, FN_IP4_31_28, 2611 GP_2_5_FN, FN_IP4_27_24, 2612 GP_2_4_FN, FN_IP4_23_20, 2613 GP_2_3_FN, FN_IP4_19_16, 2614 GP_2_2_FN, FN_IP4_15_12, 2615 GP_2_1_FN, FN_IP4_11_8, 2616 GP_2_0_FN, FN_IP4_7_4, )) 2617 }, 2618 { PINMUX_CFG_REG("GPSR3", 0xE6060010, 32, 1, GROUP( 2619 0, 0, 2620 0, 0, 2621 GP_3_29_FN, FN_IP10_19_16, 2622 GP_3_28_FN, FN_IP10_15_12, 2623 GP_3_27_FN, FN_IP10_11_8, 2624 0, 0, 2625 0, 0, 2626 0, 0, 2627 0, 0, 2628 0, 0, 2629 0, 0, 2630 0, 0, 2631 0, 0, 2632 0, 0, 2633 0, 0, 2634 GP_3_16_FN, FN_IP10_7_4, 2635 GP_3_15_FN, FN_IP10_3_0, 2636 GP_3_14_FN, FN_IP9_31_28, 2637 GP_3_13_FN, FN_IP9_27_24, 2638 GP_3_12_FN, FN_IP9_23_20, 2639 GP_3_11_FN, FN_IP9_19_16, 2640 GP_3_10_FN, FN_IP9_15_12, 2641 GP_3_9_FN, FN_IP9_11_8, 2642 GP_3_8_FN, FN_IP9_7_4, 2643 GP_3_7_FN, FN_IP9_3_0, 2644 GP_3_6_FN, FN_IP8_31_28, 2645 GP_3_5_FN, FN_IP8_27_24, 2646 GP_3_4_FN, FN_IP8_23_20, 2647 GP_3_3_FN, FN_IP8_19_16, 2648 GP_3_2_FN, FN_IP8_15_12, 2649 GP_3_1_FN, FN_IP8_11_8, 2650 GP_3_0_FN, FN_IP8_7_4, )) 2651 }, 2652 { PINMUX_CFG_REG("GPSR4", 0xE6060014, 32, 1, GROUP( 2653 0, 0, 2654 0, 0, 2655 0, 0, 2656 0, 0, 2657 0, 0, 2658 0, 0, 2659 GP_4_25_FN, FN_IP13_27_24, 2660 GP_4_24_FN, FN_IP13_23_20, 2661 GP_4_23_FN, FN_IP13_19_16, 2662 GP_4_22_FN, FN_IP13_15_12, 2663 GP_4_21_FN, FN_IP13_11_8, 2664 GP_4_20_FN, FN_IP13_7_4, 2665 GP_4_19_FN, FN_IP13_3_0, 2666 GP_4_18_FN, FN_IP12_31_28, 2667 GP_4_17_FN, FN_IP12_27_24, 2668 GP_4_16_FN, FN_IP12_23_20, 2669 GP_4_15_FN, FN_IP12_19_16, 2670 GP_4_14_FN, FN_IP12_15_12, 2671 GP_4_13_FN, FN_IP12_11_8, 2672 GP_4_12_FN, FN_IP12_7_4, 2673 GP_4_11_FN, FN_IP12_3_0, 2674 GP_4_10_FN, FN_IP11_31_28, 2675 GP_4_9_FN, FN_IP11_27_24, 2676 GP_4_8_FN, FN_IP11_23_20, 2677 GP_4_7_FN, FN_IP11_19_16, 2678 GP_4_6_FN, FN_IP11_15_12, 2679 GP_4_5_FN, FN_IP11_11_8, 2680 GP_4_4_FN, FN_IP11_7_4, 2681 GP_4_3_FN, FN_IP11_3_0, 2682 GP_4_2_FN, FN_IP10_31_28, 2683 GP_4_1_FN, FN_IP10_27_24, 2684 GP_4_0_FN, FN_IP10_23_20, )) 2685 }, 2686 { PINMUX_CFG_REG("GPSR5", 0xE6060018, 32, 1, GROUP( 2687 GP_5_31_FN, FN_IP17_27_24, 2688 GP_5_30_FN, FN_IP17_23_20, 2689 GP_5_29_FN, FN_IP17_19_16, 2690 GP_5_28_FN, FN_IP17_15_12, 2691 GP_5_27_FN, FN_IP17_11_8, 2692 GP_5_26_FN, FN_IP17_7_4, 2693 GP_5_25_FN, FN_IP17_3_0, 2694 GP_5_24_FN, FN_IP16_31_28, 2695 GP_5_23_FN, FN_IP16_27_24, 2696 GP_5_22_FN, FN_IP16_23_20, 2697 GP_5_21_FN, FN_IP16_19_16, 2698 GP_5_20_FN, FN_IP16_15_12, 2699 GP_5_19_FN, FN_IP16_11_8, 2700 GP_5_18_FN, FN_IP16_7_4, 2701 GP_5_17_FN, FN_IP16_3_0, 2702 GP_5_16_FN, FN_IP15_31_28, 2703 GP_5_15_FN, FN_IP15_27_24, 2704 GP_5_14_FN, FN_IP15_23_20, 2705 GP_5_13_FN, FN_IP15_19_16, 2706 GP_5_12_FN, FN_IP15_15_12, 2707 GP_5_11_FN, FN_IP15_11_8, 2708 GP_5_10_FN, FN_IP15_7_4, 2709 GP_5_9_FN, FN_IP15_3_0, 2710 GP_5_8_FN, FN_IP14_31_28, 2711 GP_5_7_FN, FN_IP14_27_24, 2712 GP_5_6_FN, FN_IP14_23_20, 2713 GP_5_5_FN, FN_IP14_19_16, 2714 GP_5_4_FN, FN_IP14_15_12, 2715 GP_5_3_FN, FN_IP14_11_8, 2716 GP_5_2_FN, FN_IP14_7_4, 2717 GP_5_1_FN, FN_IP14_3_0, 2718 GP_5_0_FN, FN_IP13_31_28, )) 2719 }, 2720 { PINMUX_CFG_REG_VAR("IPSR0", 0xE6060040, 32, 2721 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2722 GROUP( 2723 /* IP0_31_28 [4] */ 2724 FN_SD0_WP, FN_IRQ7, FN_CAN0_TX_A, 0, 0, 0, 0, 0, 2725 0, 0, 0, 0, 0, 0, 0, 0, 2726 /* IP0_27_24 [4] */ 2727 FN_SD0_CD, 0, FN_CAN0_RX_A, 0, 0, 0, 0, 0, 2728 0, 0, 0, 0, 0, 0, 0, 0, 2729 /* IP0_23_20 [4] */ 2730 FN_SD0_DAT3, 0, 0, FN_SSI_SDATA0_B, FN_TX5_E, 0, 0, 0, 2731 0, 0, 0, 0, 0, 0, 0, 0, 2732 /* IP0_19_16 [4] */ 2733 FN_SD0_DAT2, 0, 0, FN_SSI_WS0129_B, FN_RX5_E, 0, 0, 0, 2734 0, 0, 0, 0, 0, 0, 0, 0, 2735 /* IP0_15_12 [4] */ 2736 FN_SD0_DAT1, 0, 0, FN_SSI_SCK0129_B, FN_TX4_E, 0, 0, 0, 2737 0, 0, 0, 0, 0, 0, 0, 0, 2738 /* IP0_11_8 [4] */ 2739 FN_SD0_DAT0, 0, 0, FN_SSI_SDATA1_C, FN_RX4_E, 0, 0, 0, 2740 0, 0, 0, 0, 0, 0, 0, 0, 2741 /* IP0_7_4 [4] */ 2742 FN_SD0_CMD, 0, 0, FN_SSI_WS1_C, FN_TX3_C, 0, 0, 0, 2743 0, 0, 0, 0, 0, 0, 0, 0, 2744 /* IP0_3_0 [4] */ 2745 FN_SD0_CLK, 0, 0, FN_SSI_SCK1_C, FN_RX3_C, 0, 0, 0, 2746 0, 0, 0, 0, 0, 0, 0, 0, )) 2747 }, 2748 { PINMUX_CFG_REG_VAR("IPSR1", 0xE6060044, 32, 2749 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2750 GROUP( 2751 /* IP1_31_28 [4] */ 2752 FN_D5, FN_HRX2, FN_SCL1_B, FN_PWM2_C, FN_TCLK2_B, 0, 0, 0, 2753 0, 0, 0, 0, 0, 0, 0, 0, 2754 /* IP1_27_24 [4] */ 2755 FN_D4, 0, FN_IRQ3, FN_TCLK1_A, FN_PWM6_C, 0, 0, 0, 2756 0, 0, 0, 0, 0, 0, 0, 0, 2757 /* IP1_23_20 [4] */ 2758 FN_D3, 0, FN_TX4_B, FN_SDA0_D, FN_PWM0_A, 2759 FN_MSIOF2_SYNC_C, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2760 /* IP1_19_16 [4] */ 2761 FN_D2, 0, FN_RX4_B, FN_SCL0_D, FN_PWM1_C, 2762 FN_MSIOF2_SCK_C, FN_SSI_SCK5_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2763 /* IP1_15_12 [4] */ 2764 FN_D1, 0, FN_SDA3_B, FN_TX5_B, 0, FN_MSIOF2_TXD_C, 2765 FN_SSI_WS5_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766 /* IP1_11_8 [4] */ 2767 FN_D0, 0, FN_SCL3_B, FN_RX5_B, FN_IRQ4, 2768 FN_MSIOF2_RXD_C, FN_SSI_SDATA5_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2769 /* IP1_7_4 [4] */ 2770 FN_MMC0_D5, FN_SD1_WP, 0, 0, 0, 0, 0, 0, 2771 0, 0, 0, 0, 0, 0, 0, 0, 2772 /* IP1_3_0 [4] */ 2773 FN_MMC0_D4, FN_SD1_CD, 0, 0, 0, 0, 0, 0, 2774 0, 0, 0, 0, 0, 0, 0, 0, )) 2775 }, 2776 { PINMUX_CFG_REG_VAR("IPSR2", 0xE6060048, 32, 2777 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2778 GROUP( 2779 /* IP2_31_28 [4] */ 2780 FN_D13, FN_MSIOF2_SYNC_A, 0, FN_RX4_C, 0, 0, 0, 0, 0, 2781 0, 0, 0, 0, 0, 0, 0, 2782 /* IP2_27_24 [4] */ 2783 FN_D12, FN_MSIOF2_SCK_A, FN_HSCK0, 0, FN_CAN_CLK_C, 2784 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2785 /* IP2_23_20 [4] */ 2786 FN_D11, FN_MSIOF2_TXD_A, FN_HTX0_B, 0, 0, 0, 0, 0, 0, 2787 0, 0, 0, 0, 0, 0, 0, 2788 /* IP2_19_16 [4] */ 2789 FN_D10, FN_MSIOF2_RXD_A, FN_HRX0_B, 0, 0, 0, 0, 0, 0, 2790 0, 0, 0, 0, 0, 0, 0, 2791 /* IP2_15_12 [4] */ 2792 FN_D9, FN_HRTS2_N, FN_TX1_C, FN_SDA1_D, 0, 0, 0, 2793 0, 0, 0, 0, 0, 0, 0, 0, 0, 2794 /* IP2_11_8 [4] */ 2795 FN_D8, FN_HCTS2_N, FN_RX1_C, FN_SCL1_D, FN_PWM3_C, 0, 2796 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2797 /* IP2_7_4 [4] */ 2798 FN_D7, FN_HSCK2, FN_SCIF1_SCK_C, FN_IRQ6, FN_PWM5_C, 2799 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2800 /* IP2_3_0 [4] */ 2801 FN_D6, FN_HTX2, FN_SDA1_B, FN_PWM4_C, 0, 0, 0, 0, 2802 0, 0, 0, 0, 0, 0, 0, 0, )) 2803 }, 2804 { PINMUX_CFG_REG_VAR("IPSR3", 0xE606004C, 32, 2805 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2806 GROUP( 2807 /* IP3_31_28 [4] */ 2808 FN_QSPI0_SSL, FN_WE1_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2809 0, 0, 2810 /* IP3_27_24 [4] */ 2811 FN_QSPI0_IO3, FN_RD_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2812 0, 0, 2813 /* IP3_23_20 [4] */ 2814 FN_QSPI0_IO2, FN_CS0_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2815 0, 0, 2816 /* IP3_19_16 [4] */ 2817 FN_QSPI0_MISO_QSPI0_IO1, FN_RD_WR_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2818 0, 0, 0, 0, 2819 /* IP3_15_12 [4] */ 2820 FN_QSPI0_MOSI_QSPI0_IO0, FN_BS_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2821 0, 0, 0, 2822 /* IP3_11_8 [4] */ 2823 FN_QSPI0_SPCLK, FN_WE0_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2824 0, 0, 2825 /* IP3_7_4 [4] */ 2826 FN_D15, FN_MSIOF2_SS2, FN_PWM4_A, 0, FN_CAN1_TX_B, FN_IRQ2, 2827 FN_AVB_AVTP_MATCH_A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2828 /* IP3_3_0 [4] */ 2829 FN_D14, FN_MSIOF2_SS1, 0, FN_TX4_C, FN_CAN1_RX_B, 2830 0, FN_AVB_AVTP_CAPTURE_A, 2831 0, 0, 0, 0, 0, 0, 0, 0, 0, )) 2832 }, 2833 { PINMUX_CFG_REG_VAR("IPSR4", 0xE6060050, 32, 2834 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2835 GROUP( 2836 /* IP4_31_28 [4] */ 2837 FN_DU0_DR6, 0, FN_RX2_C, 0, 0, 0, FN_A6, 0, 2838 0, 0, 0, 0, 0, 0, 0, 0, 2839 /* IP4_27_24 [4] */ 2840 FN_DU0_DR5, 0, FN_TX1_D, 0, FN_PWM1_B, 0, FN_A5, 0, 2841 0, 0, 0, 0, 0, 0, 0, 0, 2842 /* IP4_23_20 [4] */ 2843 FN_DU0_DR4, 0, FN_RX1_D, 0, 0, 0, FN_A4, 0, 0, 0, 0, 2844 0, 0, 0, 0, 0, 2845 /* IP4_19_16 [4] */ 2846 FN_DU0_DR3, 0, FN_TX0_D, FN_SDA0_E, FN_PWM0_B, 0, 2847 FN_A3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2848 /* IP4_15_12 [4] */ 2849 FN_DU0_DR2, 0, FN_RX0_D, FN_SCL0_E, 0, 0, FN_A2, 0, 2850 0, 0, 0, 0, 0, 0, 0, 0, 2851 /* IP4_11_8 [4] */ 2852 FN_DU0_DR1, 0, FN_TX5_C, FN_SDA2_D, 0, 0, FN_A1, 0, 2853 0, 0, 0, 0, 0, 0, 0, 0, 2854 /* IP4_7_4 [4] */ 2855 FN_DU0_DR0, 0, FN_RX5_C, FN_SCL2_D, 0, 0, FN_A0, 0, 2856 0, 0, 0, 0, 0, 0, 0, 0, 2857 /* IP4_3_0 [4] */ 2858 FN_EX_WAIT0, FN_CAN_CLK_B, FN_SCIF_CLK_A, 0, 0, 0, 0, 2859 0, 0, 0, 0, 0, 0, 0, 0, 0, )) 2860 }, 2861 { PINMUX_CFG_REG_VAR("IPSR5", 0xE6060054, 32, 2862 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2863 GROUP( 2864 /* IP5_31_28 [4] */ 2865 FN_DU0_DG6, 0, FN_HRX1_C, 0, 0, 0, FN_A14, 0, 0, 0, 2866 0, 0, 0, 0, 0, 0, 2867 /* IP5_27_24 [4] */ 2868 FN_DU0_DG5, 0, FN_HTX0_A, 0, FN_PWM5_B, 0, FN_A13, 2869 0, 0, 0, 0, 0, 0, 0, 0, 0, 2870 /* IP5_23_20 [4] */ 2871 FN_DU0_DG4, 0, FN_HRX0_A, 0, 0, 0, FN_A12, 0, 0, 0, 2872 0, 0, 0, 0, 0, 0, 2873 /* IP5_19_16 [4] */ 2874 FN_DU0_DG3, 0, FN_TX4_D, 0, FN_PWM4_B, 0, FN_A11, 0, 2875 0, 0, 0, 0, 0, 0, 0, 0, 2876 /* IP5_15_12 [4] */ 2877 FN_DU0_DG2, 0, FN_RX4_D, 0, 0, 0, FN_A10, 0, 0, 0, 2878 0, 0, 0, 0, 0, 0, 2879 /* IP5_11_8 [4] */ 2880 FN_DU0_DG1, 0, FN_TX3_B, FN_SDA3_D, FN_PWM3_B, 0, 2881 FN_A9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2882 /* IP5_7_4 [4] */ 2883 FN_DU0_DG0, 0, FN_RX3_B, FN_SCL3_D, 0, 0, FN_A8, 0, 2884 0, 0, 0, 0, 0, 0, 0, 0, 2885 /* IP5_3_0 [4] */ 2886 FN_DU0_DR7, 0, FN_TX2_C, 0, FN_PWM2_B, 0, FN_A7, 0, 2887 0, 0, 0, 0, 0, 0, 0, 0, )) 2888 }, 2889 { PINMUX_CFG_REG_VAR("IPSR6", 0xE6060058, 32, 2890 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2891 GROUP( 2892 /* IP6_31_28 [4] */ 2893 FN_DU0_DB6, 0, 0, 0, 0, 0, FN_A22, 0, 0, 2894 0, 0, 0, 0, 0, 0, 0, 2895 /* IP6_27_24 [4] */ 2896 FN_DU0_DB5, 0, FN_HRTS1_N_C, 0, 0, 0, 2897 FN_A21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2898 /* IP6_23_20 [4] */ 2899 FN_DU0_DB4, 0, FN_HCTS1_N_C, 0, 0, 0, 2900 FN_A20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2901 /* IP6_19_16 [4] */ 2902 FN_DU0_DB3, 0, FN_HRTS0_N, 0, 0, 0, FN_A19, 0, 0, 0, 2903 0, 0, 0, 0, 0, 0, 2904 /* IP6_15_12 [4] */ 2905 FN_DU0_DB2, 0, FN_HCTS0_N, 0, 0, 0, FN_A18, 0, 0, 0, 2906 0, 0, 0, 0, 0, 0, 2907 /* IP6_11_8 [4] */ 2908 FN_DU0_DB1, 0, 0, FN_SDA4_D, FN_CAN0_TX_C, 0, FN_A17, 2909 0, 0, 0, 0, 0, 0, 0, 0, 0, 2910 /* IP6_7_4 [4] */ 2911 FN_DU0_DB0, 0, 0, FN_SCL4_D, FN_CAN0_RX_C, 0, FN_A16, 2912 0, 0, 0, 0, 0, 0, 0, 0, 0, 2913 /* IP6_3_0 [4] */ 2914 FN_DU0_DG7, 0, FN_HTX1_C, 0, FN_PWM6_B, 0, FN_A15, 2915 0, 0, 0, 0, 0, 0, 0, 0, 0, )) 2916 }, 2917 { PINMUX_CFG_REG_VAR("IPSR7", 0xE606005C, 32, 2918 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2919 GROUP( 2920 /* IP7_31_28 [4] */ 2921 FN_DU0_DISP, 0, 0, 0, FN_CAN1_RX_C, 0, 0, 0, 0, 0, 0, 2922 0, 0, 0, 0, 0, 2923 /* IP7_27_24 [4] */ 2924 FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, 0, FN_MSIOF2_SCK_B, 2925 0, 0, 0, FN_DRACK0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2926 /* IP7_23_20 [4] */ 2927 FN_DU0_EXVSYNC_DU0_VSYNC, 0, FN_MSIOF2_SYNC_B, 0, 2928 0, 0, FN_DACK0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2929 /* IP7_19_16 [4] */ 2930 FN_DU0_EXHSYNC_DU0_HSYNC, 0, FN_MSIOF2_TXD_B, 0, 2931 0, 0, FN_DREQ0_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2932 /* IP7_15_12 [4] */ 2933 FN_DU0_DOTCLKOUT1, 0, FN_MSIOF2_RXD_B, 0, 0, 0, 2934 FN_CS1_N_A26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2935 /* IP7_11_8 [4] */ 2936 FN_DU0_DOTCLKOUT0, 0, 0, 0, 0, 0, FN_A25, 0, 0, 0, 0, 2937 0, 0, 0, 0, 0, 2938 /* IP7_7_4 [4] */ 2939 FN_DU0_DOTCLKIN, 0, 0, 0, 0, 0, FN_A24, 0, 0, 0, 2940 0, 0, 0, 0, 0, 0, 2941 /* IP7_3_0 [4] */ 2942 FN_DU0_DB7, 0, 0, 0, 0, 0, FN_A23, 0, 0, 2943 0, 0, 0, 0, 0, 0, 0, )) 2944 }, 2945 { PINMUX_CFG_REG_VAR("IPSR8", 0xE6060060, 32, 2946 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2947 GROUP( 2948 /* IP8_31_28 [4] */ 2949 FN_VI1_DATA5, 0, 0, 0, FN_AVB_RXD4, FN_ETH_LINK, 0, 0, 0, 0, 2950 0, 0, 0, 0, 0, 0, 2951 /* IP8_27_24 [4] */ 2952 FN_VI1_DATA4, 0, 0, 0, FN_AVB_RXD3, FN_ETH_RX_ER, 0, 0, 0, 0, 2953 0, 0, 0, 0, 0, 0, 2954 /* IP8_23_20 [4] */ 2955 FN_VI1_DATA3, 0, 0, 0, FN_AVB_RXD2, FN_ETH_MDIO, 0, 0, 0, 0, 2956 0, 0, 0, 0, 0, 0, 2957 /* IP8_19_16 [4] */ 2958 FN_VI1_DATA2, 0, 0, 0, FN_AVB_RXD1, FN_ETH_RXD1, 0, 0, 0, 0, 2959 0, 0, 0, 0, 0, 0, 2960 /* IP8_15_12 [4] */ 2961 FN_VI1_DATA1, 0, 0, 0, FN_AVB_RXD0, FN_ETH_RXD0, 0, 0, 0, 0, 2962 0, 0, 0, 0, 0, 0, 2963 /* IP8_11_8 [4] */ 2964 FN_VI1_DATA0, 0, 0, 0, FN_AVB_RX_DV, FN_ETH_CRS_DV, 0, 0, 0, 2965 0, 0, 0, 0, 0, 0, 0, 2966 /* IP8_7_4 [4] */ 2967 FN_VI1_CLK, 0, 0, 0, FN_AVB_RX_CLK, FN_ETH_REF_CLK, 0, 0, 0, 2968 0, 0, 0, 0, 0, 0, 0, 2969 /* IP8_3_0 [4] */ 2970 FN_DU0_CDE, 0, 0, 0, FN_CAN1_TX_C, 0, 0, 0, 0, 0, 0, 0, 2971 0, 0, 0, 0, )) 2972 }, 2973 { PINMUX_CFG_REG_VAR("IPSR9", 0xE6060064, 32, 2974 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 2975 GROUP( 2976 /* IP9_31_28 [4] */ 2977 FN_VI1_DATA9, 0, 0, FN_SDA2_B, FN_AVB_TXD0, 0, 0, 0, 0, 0, 0, 2978 0, 0, 0, 0, 0, 2979 /* IP9_27_24 [4] */ 2980 FN_VI1_DATA8, 0, 0, FN_SCL2_B, FN_AVB_TX_EN, 0, 0, 0, 0, 0, 0, 2981 0, 0, 0, 0, 0, 2982 /* IP9_23_20 [4] */ 2983 FN_VI1_VSYNC_N, FN_TX0_B, FN_SDA0_C, FN_AUDIO_CLKOUT_B, 2984 FN_AVB_TX_CLK, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2985 /* IP9_19_16 [4] */ 2986 FN_VI1_HSYNC_N, FN_RX0_B, FN_SCL0_C, 0, FN_AVB_GTXREFCLK, 2987 FN_ETH_MDC, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2988 /* IP9_15_12 [4] */ 2989 FN_VI1_FIELD, FN_SDA3_A, 0, 0, FN_AVB_RX_ER, FN_ETH_TXD0, 0, 2990 0, 0, 0, 0, 0, 0, 0, 0, 0, 2991 /* IP9_11_8 [4] */ 2992 FN_VI1_CLKENB, FN_SCL3_A, 0, 0, FN_AVB_RXD7, FN_ETH_MAGIC, 0, 2993 0, 0, 0, 0, 0, 0, 0, 0, 0, 2994 /* IP9_7_4 [4] */ 2995 FN_VI1_DATA7, 0, 0, 0, FN_AVB_RXD6, FN_ETH_TX_EN, 0, 0, 0, 0, 2996 0, 0, 0, 0, 0, 0, 2997 /* IP9_3_0 [4] */ 2998 FN_VI1_DATA6, 0, 0, 0, FN_AVB_RXD5, FN_ETH_TXD1, 0, 0, 0, 0, 2999 0, 0, 0, 0, 0, 0, )) 3000 }, 3001 { PINMUX_CFG_REG_VAR("IPSR10", 0xE6060068, 32, 3002 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 3003 GROUP( 3004 /* IP10_31_28 [4] */ 3005 FN_SCL1_A, FN_RX4_A, FN_PWM5_D, FN_DU1_DR0, 0, 0, 3006 FN_SSI_SCK6_B, FN_VI0_G0, 0, 0, 0, 0, 0, 0, 0, 0, 3007 /* IP10_27_24 [4] */ 3008 FN_SDA0_A, FN_TX0_C, FN_IRQ5, FN_CAN_CLK_A, FN_AVB_GTX_CLK, 3009 FN_CAN1_TX_D, FN_DVC_MUTE, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3010 /* IP10_23_20 [4] */ 3011 FN_SCL0_A, FN_RX0_C, FN_PWM5_A, FN_TCLK1_B, FN_AVB_TXD6, 3012 FN_CAN1_RX_D, FN_MSIOF0_SYNC_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3013 /* IP10_19_16 [4] */ 3014 FN_AVB_TXD5, FN_SCIF_CLK_B, FN_AUDIO_CLKC_B, 0, 3015 FN_SSI_SDATA1_D, 0, FN_MSIOF0_SCK_B, 0, 0, 0, 0, 0, 0, 0, 3016 0, 0, 3017 /* IP10_15_12 [4] */ 3018 FN_AVB_TXD4, 0, FN_AUDIO_CLKB_B, 0, FN_SSI_WS1_D, FN_TX5_F, 3019 FN_MSIOF0_TXD_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3020 /* IP10_11_8 [4] */ 3021 FN_AVB_TXD3, 0, FN_AUDIO_CLKA_B, 0, FN_SSI_SCK1_D, FN_RX5_F, 3022 FN_MSIOF0_RXD_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3023 /* IP10_7_4 [4] */ 3024 FN_VI1_DATA11, 0, 0, FN_CAN0_TX_B, FN_AVB_TXD2, 0, 0, 0, 0, 3025 0, 0, 0, 0, 0, 0, 0, 3026 /* IP10_3_0 [4] */ 3027 FN_VI1_DATA10, 0, 0, FN_CAN0_RX_B, FN_AVB_TXD1, 0, 0, 0, 0, 3028 0, 0, 0, 0, 0, 0, 0, )) 3029 }, 3030 { PINMUX_CFG_REG_VAR("IPSR11", 0xE606006C, 32, 3031 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 3032 GROUP( 3033 /* IP11_31_28 [4] */ 3034 FN_HRX1_A, FN_SCL4_A, FN_PWM6_A, FN_DU1_DG0, FN_RX0_A, 0, 0, 3035 0, 0, 0, 0, 0, 0, 0, 0, 0, 3036 /* IP11_27_24 [4] */ 3037 FN_MSIOF0_SS2_A, 0, 0, FN_DU1_DR7, 0, 3038 FN_QSPI1_SSL, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3039 /* IP11_23_20 [4] */ 3040 FN_MSIOF0_SS1_A, 0, 0, FN_DU1_DR6, 0, 3041 FN_QSPI1_IO3, FN_SSI_SDATA8_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3042 /* IP11_19_16 [4] */ 3043 FN_MSIOF0_SYNC_A, FN_PWM1_A, 0, FN_DU1_DR5, 3044 0, FN_QSPI1_IO2, FN_SSI_SDATA7_B, 0, 0, 0, 0, 0, 3045 0, 0, 0, 0, 3046 /* IP11_15_12 [4] */ 3047 FN_MSIOF0_SCK_A, FN_IRQ0, 0, FN_DU1_DR4, 3048 0, FN_QSPI1_SPCLK, FN_SSI_SCK78_B, FN_VI0_G4, 3049 0, 0, 0, 0, 0, 0, 0, 0, 3050 /* IP11_11_8 [4] */ 3051 FN_MSIOF0_TXD_A, FN_TX5_A, FN_SDA2_C, FN_DU1_DR3, 0, 3052 FN_QSPI1_MISO_QSPI1_IO1, FN_SSI_WS78_B, FN_VI0_G3, 3053 0, 0, 0, 0, 0, 0, 0, 0, 3054 /* IP11_7_4 [4] */ 3055 FN_MSIOF0_RXD_A, FN_RX5_A, FN_SCL2_C, FN_DU1_DR2, 0, 3056 FN_QSPI1_MOSI_QSPI1_IO0, FN_SSI_SDATA6_B, FN_VI0_G2, 3057 0, 0, 0, 0, 0, 0, 0, 0, 3058 /* IP11_3_0 [4] */ 3059 FN_SDA1_A, FN_TX4_A, 0, FN_DU1_DR1, 0, 0, FN_SSI_WS6_B, 3060 FN_VI0_G1, 0, 0, 0, 0, 0, 0, 0, 0, )) 3061 }, 3062 { PINMUX_CFG_REG_VAR("IPSR12", 0xE6060070, 32, 3063 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 3064 GROUP( 3065 /* IP12_31_28 [4] */ 3066 FN_SD2_DAT2, FN_RX2_A, 0, FN_DU1_DB0, FN_SSI_SDATA2_B, 0, 0, 3067 0, 0, 0, 0, 0, 0, 0, 0, 0, 3068 /* IP12_27_24 [4] */ 3069 FN_SD2_DAT1, FN_TX1_A, FN_SDA1_E, FN_DU1_DG7, FN_SSI_WS2_B, 3070 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3071 /* IP12_23_20 [4] */ 3072 FN_SD2_DAT0, FN_RX1_A, FN_SCL1_E, FN_DU1_DG6, 3073 FN_SSI_SDATA1_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3074 /* IP12_19_16 [4] */ 3075 FN_SD2_CMD, FN_SCIF1_SCK_A, FN_TCLK2_A, FN_DU1_DG5, 3076 FN_SSI_SCK2_B, FN_PWM3_A, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3077 /* IP12_15_12 [4] */ 3078 FN_SD2_CLK, FN_HSCK1, 0, FN_DU1_DG4, FN_SSI_SCK1_B, 0, 0, 0, 3079 0, 0, 0, 0, 0, 0, 0, 0, 3080 /* IP12_11_8 [4] */ 3081 FN_HRTS1_N_A, 0, 0, FN_DU1_DG3, FN_SSI_WS1_B, FN_IRQ1, 0, 0, 3082 0, 0, 0, 0, 0, 0, 0, 0, 3083 /* IP12_7_4 [4] */ 3084 FN_HCTS1_N_A, FN_PWM2_A, 0, FN_DU1_DG2, FN_REMOCON_B, 3085 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3086 /* IP12_3_0 [4] */ 3087 FN_HTX1_A, FN_SDA4_A, 0, FN_DU1_DG1, FN_TX0_A, 0, 0, 0, 0, 0, 3088 0, 0, 0, 0, 0, 0, )) 3089 }, 3090 { PINMUX_CFG_REG_VAR("IPSR13", 0xE6060074, 32, 3091 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 3092 GROUP( 3093 /* IP13_31_28 [4] */ 3094 FN_SSI_SCK5_A, 0, 0, FN_DU1_DOTCLKOUT1, 0, 0, 0, 0, 0, 0, 0, 3095 0, 0, 0, 0, 0, 3096 /* IP13_27_24 [4] */ 3097 FN_SDA2_A, 0, FN_MSIOF1_SYNC_B, FN_DU1_DB7, FN_AUDIO_CLKOUT_C, 3098 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3099 /* IP13_23_20 [4] */ 3100 FN_SCL2_A, 0, FN_MSIOF1_SCK_B, FN_DU1_DB6, FN_AUDIO_CLKC_C, 3101 FN_SSI_SCK4_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3102 /* IP13_19_16 [4] */ 3103 FN_TX3_A, FN_SDA1_C, FN_MSIOF1_TXD_B, FN_DU1_DB5, 3104 FN_AUDIO_CLKB_C, FN_SSI_WS4_B, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3105 /* IP13_15_12 [4] */ 3106 FN_RX3_A, FN_SCL1_C, FN_MSIOF1_RXD_B, FN_DU1_DB4, 3107 FN_AUDIO_CLKA_C, FN_SSI_SDATA4_B, 0, 0, 0, 0, 0, 0, 0, 0, 3108 0, 0, 3109 /* IP13_11_8 [4] */ 3110 FN_SD2_WP, FN_SCIF3_SCK, 0, FN_DU1_DB3, FN_SSI_SDATA9_B, 0, 3111 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3112 /* IP13_7_4 [4] */ 3113 FN_SD2_CD, FN_SCIF2_SCK_A, 0, FN_DU1_DB2, FN_SSI_SCK9_B, 0, 0, 3114 0, 0, 0, 0, 0, 0, 0, 0, 0, 3115 /* IP13_3_0 [4] */ 3116 FN_SD2_DAT3, FN_TX2_A, 0, FN_DU1_DB1, FN_SSI_WS9_B, 0, 0, 0, 3117 0, 0, 0, 0, 0, 0, 0, 0, )) 3118 }, 3119 { PINMUX_CFG_REG_VAR("IPSR14", 0xE6060078, 32, 3120 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 3121 GROUP( 3122 /* IP14_31_28 [4] */ 3123 FN_SSI_SDATA7_A, 0, 0, FN_IRQ8, FN_AUDIO_CLKA_D, FN_CAN_CLK_D, 3124 FN_VI0_G5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3125 /* IP14_27_24 [4] */ 3126 FN_SSI_WS78_A, 0, FN_SCL4_E, FN_DU1_CDE, 0, 0, 0, 0, 0, 0, 0, 3127 0, 0, 0, 0, 0, 3128 /* IP14_23_20 [4] */ 3129 FN_SSI_SCK78_A, 0, FN_SDA4_E, FN_DU1_DISP, 0, 0, 0, 0, 0, 0, 3130 0, 0, 0, 0, 0, 0, 3131 /* IP14_19_16 [4] */ 3132 FN_SSI_SDATA6_A, 0, FN_SDA4_C, FN_DU1_EXVSYNC_DU1_VSYNC, 0, 0, 3133 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3134 /* IP14_15_12 [4] */ 3135 FN_SSI_WS6_A, 0, FN_SCL4_C, FN_DU1_EXHSYNC_DU1_HSYNC, 0, 0, 0, 3136 0, 0, 0, 0, 0, 0, 0, 0, 0, 3137 /* IP14_11_8 [4] */ 3138 FN_SSI_SCK6_A, 0, 0, FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, 0, 0, 3139 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3140 /* IP14_7_4 [4] */ 3141 FN_SSI_SDATA5_A, 0, FN_SDA3_C, FN_DU1_DOTCLKOUT0, 0, 0, 0, 3142 0, 0, 0, 0, 0, 0, 0, 0, 0, 3143 /* IP14_3_0 [4] */ 3144 FN_SSI_WS5_A, 0, FN_SCL3_C, FN_DU1_DOTCLKIN, 0, 0, 0, 0, 0, 0, 3145 0, 0, 0, 0, 0, 0, )) 3146 }, 3147 { PINMUX_CFG_REG_VAR("IPSR15", 0xE606007C, 32, 3148 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 3149 GROUP( 3150 /* IP15_31_28 [4] */ 3151 FN_SSI_WS4_A, 0, FN_AVB_PHY_INT, 0, 0, 0, FN_VI0_R5, 0, 0, 0, 3152 0, 0, 0, 0, 0, 0, 3153 /* IP15_27_24 [4] */ 3154 FN_SSI_SCK4_A, 0, FN_AVB_MAGIC, 0, 0, 0, FN_VI0_R4, 0, 0, 0, 3155 0, 0, 0, 0, 0, 0, 3156 /* IP15_23_20 [4] */ 3157 FN_SSI_SDATA3, FN_MSIOF1_SS2_A, FN_AVB_LINK, 0, FN_CAN1_TX_A, 3158 FN_DREQ2_N, FN_VI0_R3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3159 /* IP15_19_16 [4] */ 3160 FN_SSI_WS34, FN_MSIOF1_SS1_A, FN_AVB_MDIO, 0, FN_CAN1_RX_A, 3161 FN_DREQ1_N, FN_VI0_R2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3162 /* IP15_15_12 [4] */ 3163 FN_SSI_SCK34, FN_MSIOF1_SCK_A, FN_AVB_MDC, 0, 0, FN_DACK1, 3164 FN_VI0_R1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3165 /* IP15_11_8 [4] */ 3166 FN_SSI_SDATA0_A, FN_MSIOF1_SYNC_A, FN_PWM0_C, 0, 0, 0, 3167 FN_VI0_R0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3168 /* IP15_7_4 [4] */ 3169 FN_SSI_WS0129_A, FN_MSIOF1_TXD_A, FN_TX5_D, 0, 0, 0, 3170 FN_VI0_G7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3171 /* IP15_3_0 [4] */ 3172 FN_SSI_SCK0129_A, FN_MSIOF1_RXD_A, FN_RX5_D, 0, 0, 0, 3173 FN_VI0_G6, 0, 0, 0, 0, 0, 0, 0, 0, 0, )) 3174 }, 3175 { PINMUX_CFG_REG_VAR("IPSR16", 0xE6060080, 32, 3176 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 3177 GROUP( 3178 /* IP16_31_28 [4] */ 3179 FN_SSI_SDATA2_A, FN_HRTS1_N_B, 0, 0, 0, 0, 3180 FN_VI0_DATA4_VI0_B4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3181 /* IP16_27_24 [4] */ 3182 FN_SSI_WS2_A, FN_HCTS1_N_B, 0, 0, 0, FN_AVB_TX_ER, 3183 FN_VI0_DATA3_VI0_B3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3184 /* IP16_23_20 [4] */ 3185 FN_SSI_SCK2_A, FN_HTX1_B, 0, 0, 0, FN_AVB_TXD7, 3186 FN_VI0_DATA2_VI0_B2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3187 /* IP16_19_16 [4] */ 3188 FN_SSI_SDATA1_A, FN_HRX1_B, 0, 0, 0, 0, FN_VI0_DATA1_VI0_B1, 3189 0, 0, 0, 0, 0, 0, 0, 0, 0, 3190 /* IP16_15_12 [4] */ 3191 FN_SSI_WS1_A, FN_TX1_B, 0, 0, FN_CAN0_TX_D, 3192 FN_AVB_AVTP_MATCH_B, FN_VI0_DATA0_VI0_B0, 0, 0, 0, 0, 0, 0, 3193 0, 0, 0, 3194 /* IP16_11_8 [4] */ 3195 FN_SSI_SDATA8_A, FN_RX1_B, 0, 0, FN_CAN0_RX_D, 3196 FN_AVB_AVTP_CAPTURE_B, FN_VI0_R7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3197 /* IP16_7_4 [4] */ 3198 FN_SSI_SCK1_A, FN_SCIF1_SCK_B, FN_PWM1_D, FN_IRQ9, FN_REMOCON_A, 3199 FN_DACK2, FN_VI0_CLK, FN_AVB_COL, 0, 0, 0, 0, 0, 0, 0, 0, 3200 /* IP16_3_0 [4] */ 3201 FN_SSI_SDATA4_A, 0, FN_AVB_CRS, 0, 0, 0, FN_VI0_R6, 0, 0, 0, 3202 0, 0, 0, 0, 0, 0, )) 3203 }, 3204 { PINMUX_CFG_REG_VAR("IPSR17", 0xE6060084, 32, 3205 GROUP(4, 4, 4, 4, 4, 4, 4, 4), 3206 GROUP( 3207 /* IP17_31_28 [4] */ 3208 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3209 /* IP17_27_24 [4] */ 3210 FN_AUDIO_CLKOUT_A, FN_SDA4_B, 0, 0, 0, 0, 3211 FN_VI0_VSYNC_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3212 /* IP17_23_20 [4] */ 3213 FN_AUDIO_CLKC_A, FN_SCL4_B, 0, 0, 0, 0, 3214 FN_VI0_HSYNC_N, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3215 /* IP17_19_16 [4] */ 3216 FN_AUDIO_CLKB_A, FN_SDA0_B, 0, 0, 0, 0, 3217 FN_VI0_FIELD, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3218 /* IP17_15_12 [4] */ 3219 FN_AUDIO_CLKA_A, FN_SCL0_B, 0, 0, 0, 0, 3220 FN_VI0_CLKENB, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3221 /* IP17_11_8 [4] */ 3222 FN_SSI_SDATA9_A, FN_SCIF2_SCK_B, FN_PWM2_D, 0, 0, 0, 3223 FN_VI0_DATA7_VI0_B7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3224 /* IP17_7_4 [4] */ 3225 FN_SSI_WS9_A, FN_TX2_B, FN_SDA3_E, 0, 0, 0, 3226 FN_VI0_DATA6_VI0_B6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3227 /* IP17_3_0 [4] */ 3228 FN_SSI_SCK9_A, FN_RX2_B, FN_SCL3_E, 0, 0, FN_EX_WAIT1, 3229 FN_VI0_DATA5_VI0_B5, 0, 0, 0, 0, 0, 0, 0, 0, 0, )) 3230 }, 3231 { PINMUX_CFG_REG_VAR("MOD_SEL0", 0xE60600C0, 32, 3232 GROUP(1, 1, 1, 1, 1, 2, 1, 1, 2, 2, 2, 1, 3233 3, 3, 1, 2, 3, 3, 1), 3234 GROUP( 3235 /* RESERVED [1] */ 3236 0, 0, 3237 /* RESERVED [1] */ 3238 0, 0, 3239 /* RESERVED [1] */ 3240 0, 0, 3241 /* RESERVED [1] */ 3242 0, 0, 3243 /* RESERVED [1] */ 3244 0, 0, 3245 /* SEL_ADGA [2] */ 3246 FN_SEL_ADGA_0, FN_SEL_ADGA_1, FN_SEL_ADGA_2, FN_SEL_ADGA_3, 3247 /* RESERVED [1] */ 3248 0, 0, 3249 /* RESERVED [1] */ 3250 0, 0, 3251 /* SEL_CANCLK [2] */ 3252 FN_SEL_CANCLK_0, FN_SEL_CANCLK_1, FN_SEL_CANCLK_2, 3253 FN_SEL_CANCLK_3, 3254 /* SEL_CAN1 [2] */ 3255 FN_SEL_CAN1_0, FN_SEL_CAN1_1, FN_SEL_CAN1_2, FN_SEL_CAN1_3, 3256 /* SEL_CAN0 [2] */ 3257 FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3, 3258 /* RESERVED [1] */ 3259 0, 0, 3260 /* SEL_I2C04 [3] */ 3261 FN_SEL_I2C04_0, FN_SEL_I2C04_1, FN_SEL_I2C04_2, FN_SEL_I2C04_3, 3262 FN_SEL_I2C04_4, 0, 0, 0, 3263 /* SEL_I2C03 [3] */ 3264 FN_SEL_I2C03_0, FN_SEL_I2C03_1, FN_SEL_I2C03_2, FN_SEL_I2C03_3, 3265 FN_SEL_I2C03_4, 0, 0, 0, 3266 /* RESERVED [1] */ 3267 0, 0, 3268 /* SEL_I2C02 [2] */ 3269 FN_SEL_I2C02_0, FN_SEL_I2C02_1, FN_SEL_I2C02_2, FN_SEL_I2C02_3, 3270 /* SEL_I2C01 [3] */ 3271 FN_SEL_I2C01_0, FN_SEL_I2C01_1, FN_SEL_I2C01_2, FN_SEL_I2C01_3, 3272 FN_SEL_I2C01_4, 0, 0, 0, 3273 /* SEL_I2C00 [3] */ 3274 FN_SEL_I2C00_0, FN_SEL_I2C00_1, FN_SEL_I2C00_2, FN_SEL_I2C00_3, 3275 FN_SEL_I2C00_4, 0, 0, 0, 3276 /* SEL_AVB [1] */ 3277 FN_SEL_AVB_0, FN_SEL_AVB_1, )) 3278 }, 3279 { PINMUX_CFG_REG_VAR("MOD_SEL1", 0xE60600C4, 32, 3280 GROUP(1, 3, 3, 2, 2, 1, 2, 2, 2, 1, 1, 1, 3281 1, 1, 2, 1, 1, 2, 2, 1), 3282 GROUP( 3283 /* SEL_SCIFCLK [1] */ 3284 FN_SEL_SCIFCLK_0, FN_SEL_SCIFCLK_1, 3285 /* SEL_SCIF5 [3] */ 3286 FN_SEL_SCIF5_0, FN_SEL_SCIF5_1, FN_SEL_SCIF5_2, FN_SEL_SCIF5_3, 3287 FN_SEL_SCIF5_4, FN_SEL_SCIF5_5, 0, 0, 3288 /* SEL_SCIF4 [3] */ 3289 FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2, FN_SEL_SCIF4_3, 3290 FN_SEL_SCIF4_4, 0, 0, 0, 3291 /* SEL_SCIF3 [2] */ 3292 FN_SEL_SCIF3_0, FN_SEL_SCIF3_1, FN_SEL_SCIF3_2, 0, 3293 /* SEL_SCIF2 [2] */ 3294 FN_SEL_SCIF2_0, FN_SEL_SCIF2_1, FN_SEL_SCIF2_2, 0, 3295 /* SEL_SCIF2_CLK [1] */ 3296 FN_SEL_SCIF2_CLK_0, FN_SEL_SCIF2_CLK_1, 3297 /* SEL_SCIF1 [2] */ 3298 FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF1_3, 3299 /* SEL_SCIF0 [2] */ 3300 FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2, FN_SEL_SCIF0_3, 3301 /* SEL_MSIOF2 [2] */ 3302 FN_SEL_MSIOF2_0, FN_SEL_MSIOF2_1, FN_SEL_MSIOF2_2, 0, 3303 /* RESERVED [1] */ 3304 0, 0, 3305 /* SEL_MSIOF1 [1] */ 3306 FN_SEL_MSIOF1_0, FN_SEL_MSIOF1_1, 3307 /* RESERVED [1] */ 3308 0, 0, 3309 /* SEL_MSIOF0 [1] */ 3310 FN_SEL_MSIOF0_0, FN_SEL_MSIOF0_1, 3311 /* SEL_RCN [1] */ 3312 FN_SEL_RCN_0, FN_SEL_RCN_1, 3313 /* RESERVED [2] */ 3314 0, 0, 0, 0, 3315 /* SEL_TMU2 [1] */ 3316 FN_SEL_TMU2_0, FN_SEL_TMU2_1, 3317 /* SEL_TMU1 [1] */ 3318 FN_SEL_TMU1_0, FN_SEL_TMU1_1, 3319 /* RESERVED [2] */ 3320 0, 0, 0, 0, 3321 /* SEL_HSCIF1 [2] */ 3322 FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, FN_SEL_HSCIF1_2, 0, 3323 /* SEL_HSCIF0 [1] */ 3324 FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, )) 3325 }, 3326 { PINMUX_CFG_REG_VAR("MOD_SEL2", 0xE60600C8, 32, 3327 GROUP(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 3328 2, 2, 2, 2, 2, 2, 2, 2, 2), 3329 GROUP( 3330 /* RESERVED [1] */ 3331 0, 0, 3332 /* RESERVED [1] */ 3333 0, 0, 3334 /* RESERVED [1] */ 3335 0, 0, 3336 /* RESERVED [1] */ 3337 0, 0, 3338 /* RESERVED [1] */ 3339 0, 0, 3340 /* RESERVED [1] */ 3341 0, 0, 3342 /* RESERVED [1] */ 3343 0, 0, 3344 /* RESERVED [1] */ 3345 0, 0, 3346 /* RESERVED [1] */ 3347 0, 0, 3348 /* RESERVED [1] */ 3349 0, 0, 3350 /* SEL_ADGB [2] */ 3351 FN_SEL_ADGB_0, FN_SEL_ADGB_1, FN_SEL_ADGB_2, 0, 3352 /* SEL_ADGC [2] */ 3353 FN_SEL_ADGC_0, FN_SEL_ADGC_1, FN_SEL_ADGC_2, 0, 3354 /* SEL_SSI9 [2] */ 3355 FN_SEL_SSI9_0, FN_SEL_SSI9_1, 0, 0, 3356 /* SEL_SSI8 [2] */ 3357 FN_SEL_SSI8_0, FN_SEL_SSI8_1, 0, 0, 3358 /* SEL_SSI7 [2] */ 3359 FN_SEL_SSI7_0, FN_SEL_SSI7_1, 0, 0, 3360 /* SEL_SSI6 [2] */ 3361 FN_SEL_SSI6_0, FN_SEL_SSI6_1, 0, 0, 3362 /* SEL_SSI5 [2] */ 3363 FN_SEL_SSI5_0, FN_SEL_SSI5_1, 0, 0, 3364 /* SEL_SSI4 [2] */ 3365 FN_SEL_SSI4_0, FN_SEL_SSI4_1, 0, 0, 3366 /* SEL_SSI2 [2] */ 3367 FN_SEL_SSI2_0, FN_SEL_SSI2_1, 0, 0, 3368 /* SEL_SSI1 [2] */ 3369 FN_SEL_SSI1_0, FN_SEL_SSI1_1, FN_SEL_SSI1_2, FN_SEL_SSI1_3, 3370 /* SEL_SSI0 [2] */ 3371 FN_SEL_SSI0_0, FN_SEL_SSI0_1, 0, 0, )) 3372 }, 3373 { }, 3374 }; 3375 3376 static int r8a77470_pin_to_pocctrl(struct sh_pfc *pfc, unsigned int pin, 3377 u32 *pocctrl) 3378 { 3379 int bit = -EINVAL; 3380 3381 *pocctrl = 0xe60600b0; 3382 3383 if (pin >= RCAR_GP_PIN(0, 5) && pin <= RCAR_GP_PIN(0, 10)) 3384 bit = 0; 3385 3386 if (pin >= RCAR_GP_PIN(0, 13) && pin <= RCAR_GP_PIN(0, 22)) 3387 bit = 2; 3388 3389 if (pin >= RCAR_GP_PIN(4, 14) && pin <= RCAR_GP_PIN(4, 19)) 3390 bit = 1; 3391 3392 return bit; 3393 } 3394 3395 static const struct pinmux_bias_reg pinmux_bias_regs[] = { 3396 { PINMUX_BIAS_REG("PUPR0", 0xe6060100, "N/A", 0) { 3397 /* PUPR0 pull-up pins */ 3398 [ 0] = RCAR_GP_PIN(1, 0), /* D0 */ 3399 [ 1] = RCAR_GP_PIN(0, 22), /* MMC0_D7 */ 3400 [ 2] = RCAR_GP_PIN(0, 21), /* MMC0_D6 */ 3401 [ 3] = RCAR_GP_PIN(0, 20), /* MMC0_D5 */ 3402 [ 4] = RCAR_GP_PIN(0, 19), /* MMC0_D4 */ 3403 [ 5] = RCAR_GP_PIN(0, 18), /* MMC0_D3 */ 3404 [ 6] = RCAR_GP_PIN(0, 17), /* MMC0_D2 */ 3405 [ 7] = RCAR_GP_PIN(0, 16), /* MMC0_D1 */ 3406 [ 8] = RCAR_GP_PIN(0, 15), /* MMC0_D0 */ 3407 [ 9] = RCAR_GP_PIN(0, 14), /* MMC0_CMD */ 3408 [10] = RCAR_GP_PIN(0, 13), /* MMC0_CLK */ 3409 [11] = RCAR_GP_PIN(0, 12), /* SD0_WP */ 3410 [12] = RCAR_GP_PIN(0, 11), /* SD0_CD */ 3411 [13] = RCAR_GP_PIN(0, 10), /* SD0_DAT3 */ 3412 [14] = RCAR_GP_PIN(0, 9), /* SD0_DAT2 */ 3413 [15] = RCAR_GP_PIN(0, 8), /* SD0_DAT1 */ 3414 [16] = RCAR_GP_PIN(0, 7), /* SD0_DAT0 */ 3415 [17] = RCAR_GP_PIN(0, 6), /* SD0_CMD */ 3416 [18] = RCAR_GP_PIN(0, 5), /* SD0_CLK */ 3417 [19] = RCAR_GP_PIN(0, 4), /* CLKOUT */ 3418 [20] = PIN_NMI, /* NMI */ 3419 [21] = RCAR_GP_PIN(0, 3), /* USB1_OVC */ 3420 [22] = RCAR_GP_PIN(0, 2), /* USB1_PWEN */ 3421 [23] = RCAR_GP_PIN(0, 1), /* USB0_OVC */ 3422 [24] = RCAR_GP_PIN(0, 0), /* USB0_PWEN */ 3423 [25] = SH_PFC_PIN_NONE, 3424 [26] = PIN_TDO, /* TDO */ 3425 [27] = PIN_TDI, /* TDI */ 3426 [28] = PIN_TMS, /* TMS */ 3427 [29] = PIN_TCK, /* TCK */ 3428 [30] = PIN_TRST_N, /* TRST# */ 3429 [31] = PIN_PRESETOUT_N, /* PRESETOUT# */ 3430 } }, 3431 { PINMUX_BIAS_REG("N/A", 0, "PUPR0", 0xe6060100) { 3432 /* PUPR0 pull-down pins */ 3433 [ 0] = SH_PFC_PIN_NONE, 3434 [ 1] = SH_PFC_PIN_NONE, 3435 [ 2] = SH_PFC_PIN_NONE, 3436 [ 3] = SH_PFC_PIN_NONE, 3437 [ 4] = SH_PFC_PIN_NONE, 3438 [ 5] = SH_PFC_PIN_NONE, 3439 [ 6] = SH_PFC_PIN_NONE, 3440 [ 7] = SH_PFC_PIN_NONE, 3441 [ 8] = SH_PFC_PIN_NONE, 3442 [ 9] = SH_PFC_PIN_NONE, 3443 [10] = SH_PFC_PIN_NONE, 3444 [11] = SH_PFC_PIN_NONE, 3445 [12] = SH_PFC_PIN_NONE, 3446 [13] = SH_PFC_PIN_NONE, 3447 [14] = SH_PFC_PIN_NONE, 3448 [15] = SH_PFC_PIN_NONE, 3449 [16] = SH_PFC_PIN_NONE, 3450 [17] = SH_PFC_PIN_NONE, 3451 [18] = SH_PFC_PIN_NONE, 3452 [19] = SH_PFC_PIN_NONE, 3453 [20] = SH_PFC_PIN_NONE, 3454 [21] = SH_PFC_PIN_NONE, 3455 [22] = SH_PFC_PIN_NONE, 3456 [23] = SH_PFC_PIN_NONE, 3457 [24] = SH_PFC_PIN_NONE, 3458 [25] = PIN_ASEBRK_N_ACK, /* ASEBRK#/ACK */ 3459 [26] = SH_PFC_PIN_NONE, 3460 [27] = SH_PFC_PIN_NONE, 3461 [28] = SH_PFC_PIN_NONE, 3462 [29] = SH_PFC_PIN_NONE, 3463 [30] = SH_PFC_PIN_NONE, 3464 [31] = SH_PFC_PIN_NONE, 3465 } }, 3466 { PINMUX_BIAS_REG("PUPR1", 0xe6060104, "N/A", 0) { 3467 [ 0] = RCAR_GP_PIN(2, 9), /* DU0_DG1 */ 3468 [ 1] = RCAR_GP_PIN(2, 8), /* DU0_DG0 */ 3469 [ 2] = RCAR_GP_PIN(2, 7), /* DU0_DR7 */ 3470 [ 3] = RCAR_GP_PIN(2, 6), /* DU0_DR6 */ 3471 [ 4] = RCAR_GP_PIN(2, 5), /* DU0_DR5 */ 3472 [ 5] = RCAR_GP_PIN(2, 4), /* DU0_DR4 */ 3473 [ 6] = RCAR_GP_PIN(2, 3), /* DU0_DR3 */ 3474 [ 7] = RCAR_GP_PIN(2, 2), /* DU0_DR2 */ 3475 [ 8] = RCAR_GP_PIN(2, 1), /* DU0_DR1 */ 3476 [ 9] = RCAR_GP_PIN(2, 0), /* DU0_DR0 */ 3477 [10] = RCAR_GP_PIN(1, 22), /* EX_WAIT0 */ 3478 [11] = RCAR_GP_PIN(1, 21), /* QSPI0_SSL */ 3479 [12] = RCAR_GP_PIN(1, 20), /* QSPI0_IO3 */ 3480 [13] = RCAR_GP_PIN(1, 19), /* QSPI0_IO2 */ 3481 [14] = RCAR_GP_PIN(1, 18), /* QSPI0_MISO/QSPI0_IO1 */ 3482 [15] = RCAR_GP_PIN(1, 17), /* QSPI0_MOSI/QSPI0_IO0 */ 3483 [16] = RCAR_GP_PIN(1, 16), /* QSPI0_SPCLK */ 3484 [17] = RCAR_GP_PIN(1, 15), /* D15 */ 3485 [18] = RCAR_GP_PIN(1, 14), /* D14 */ 3486 [19] = RCAR_GP_PIN(1, 13), /* D13 */ 3487 [20] = RCAR_GP_PIN(1, 12), /* D12 */ 3488 [21] = RCAR_GP_PIN(1, 11), /* D11 */ 3489 [22] = RCAR_GP_PIN(1, 10), /* D10 */ 3490 [23] = RCAR_GP_PIN(1, 9), /* D9 */ 3491 [24] = RCAR_GP_PIN(1, 8), /* D8 */ 3492 [25] = RCAR_GP_PIN(1, 7), /* D7 */ 3493 [26] = RCAR_GP_PIN(1, 6), /* D6 */ 3494 [27] = RCAR_GP_PIN(1, 5), /* D5 */ 3495 [28] = RCAR_GP_PIN(1, 4), /* D4 */ 3496 [29] = RCAR_GP_PIN(1, 3), /* D3 */ 3497 [30] = RCAR_GP_PIN(1, 2), /* D2 */ 3498 [31] = RCAR_GP_PIN(1, 1), /* D1 */ 3499 } }, 3500 { PINMUX_BIAS_REG("PUPR2", 0xe6060108, "N/A", 0) { 3501 [ 0] = RCAR_GP_PIN(3, 9), /* VI1_CLKENB */ 3502 [ 1] = RCAR_GP_PIN(3, 8), /* VI1_DATA7 */ 3503 [ 2] = RCAR_GP_PIN(3, 7), /* VI1_DATA6 */ 3504 [ 3] = RCAR_GP_PIN(3, 6), /* VI1_DATA5 */ 3505 [ 4] = RCAR_GP_PIN(3, 5), /* VI1_DATA4 */ 3506 [ 5] = RCAR_GP_PIN(3, 4), /* VI1_DATA3 */ 3507 [ 6] = RCAR_GP_PIN(3, 3), /* VI1_DATA2 */ 3508 [ 7] = RCAR_GP_PIN(3, 2), /* VI1_DATA1 */ 3509 [ 8] = RCAR_GP_PIN(3, 1), /* VI1_DATA0 */ 3510 [ 9] = RCAR_GP_PIN(3, 0), /* VI1_CLK */ 3511 [10] = RCAR_GP_PIN(2, 31), /* DU0_CDE */ 3512 [11] = RCAR_GP_PIN(2, 30), /* DU0_DISP */ 3513 [12] = RCAR_GP_PIN(2, 29), /* DU0_EXODDF/DU0_ODDF_DISP_CDE */ 3514 [13] = RCAR_GP_PIN(2, 28), /* DU0_EXVSYNC/DU0_VSYNC */ 3515 [14] = RCAR_GP_PIN(2, 27), /* DU0_EXHSYNC/DU0_HSYNC */ 3516 [15] = RCAR_GP_PIN(2, 26), /* DU0_DOTCLKOUT1 */ 3517 [16] = RCAR_GP_PIN(2, 25), /* DU0_DOTCLKOUT0 */ 3518 [17] = RCAR_GP_PIN(2, 24), /* DU0_DOTCLKIN */ 3519 [18] = RCAR_GP_PIN(2, 23), /* DU0_DB7 */ 3520 [19] = RCAR_GP_PIN(2, 22), /* DU0_DB6 */ 3521 [20] = RCAR_GP_PIN(2, 21), /* DU0_DB5 */ 3522 [21] = RCAR_GP_PIN(2, 20), /* DU0_DB4 */ 3523 [22] = RCAR_GP_PIN(2, 19), /* DU0_DB3 */ 3524 [23] = RCAR_GP_PIN(2, 18), /* DU0_DB2 */ 3525 [24] = RCAR_GP_PIN(2, 17), /* DU0_DB1 */ 3526 [25] = RCAR_GP_PIN(2, 16), /* DU0_DB0 */ 3527 [26] = RCAR_GP_PIN(2, 15), /* DU0_DG7 */ 3528 [27] = RCAR_GP_PIN(2, 14), /* DU0_DG6 */ 3529 [28] = RCAR_GP_PIN(2, 13), /* DU0_DG5 */ 3530 [29] = RCAR_GP_PIN(2, 12), /* DU0_DG4 */ 3531 [30] = RCAR_GP_PIN(2, 11), /* DU0_DG3 */ 3532 [31] = RCAR_GP_PIN(2, 10), /* DU0_DG2 */ 3533 } }, 3534 { PINMUX_BIAS_REG("PUPR3", 0xe606010c, "N/A", 0) { 3535 [ 0] = RCAR_GP_PIN(4, 21), /* SD2_WP */ 3536 [ 1] = RCAR_GP_PIN(4, 20), /* SD2_CD */ 3537 [ 2] = RCAR_GP_PIN(4, 19), /* SD2_DAT3 */ 3538 [ 3] = RCAR_GP_PIN(4, 18), /* SD2_DAT2 */ 3539 [ 4] = RCAR_GP_PIN(4, 17), /* SD2_DAT1 */ 3540 [ 5] = RCAR_GP_PIN(4, 16), /* SD2_DAT0 */ 3541 [ 6] = RCAR_GP_PIN(4, 15), /* SD2_CMD */ 3542 [ 7] = RCAR_GP_PIN(4, 14), /* SD2_CLK */ 3543 [ 8] = RCAR_GP_PIN(4, 13), /* HRTS1#_A */ 3544 [ 9] = RCAR_GP_PIN(4, 12), /* HCTS1#_A */ 3545 [10] = RCAR_GP_PIN(4, 11), /* HTX1_A */ 3546 [11] = RCAR_GP_PIN(4, 10), /* HRX1_A */ 3547 [12] = RCAR_GP_PIN(4, 9), /* MSIOF0_SS2_A */ 3548 [13] = RCAR_GP_PIN(4, 8), /* MSIOF0_SS1_A */ 3549 [14] = RCAR_GP_PIN(4, 7), /* MSIOF0_SYNC_A */ 3550 [15] = RCAR_GP_PIN(4, 6), /* MSIOF0_SCK_A */ 3551 [16] = RCAR_GP_PIN(4, 5), /* MSIOF0_TXD_A */ 3552 [17] = RCAR_GP_PIN(4, 4), /* MSIOF0_RXD_A */ 3553 [18] = RCAR_GP_PIN(4, 3), /* SDA1_A */ 3554 [19] = RCAR_GP_PIN(4, 2), /* SCL1_A */ 3555 [20] = RCAR_GP_PIN(4, 1), /* SDA0_A */ 3556 [21] = RCAR_GP_PIN(4, 0), /* SCL0_A */ 3557 [22] = RCAR_GP_PIN(3, 29), /* AVB_TXD5 */ 3558 [23] = RCAR_GP_PIN(3, 28), /* AVB_TXD4 */ 3559 [24] = RCAR_GP_PIN(3, 27), /* AVB_TXD3 */ 3560 [25] = RCAR_GP_PIN(3, 16), /* VI1_DATA11 */ 3561 [26] = RCAR_GP_PIN(3, 15), /* VI1_DATA10 */ 3562 [27] = RCAR_GP_PIN(3, 14), /* VI1_DATA9 */ 3563 [28] = RCAR_GP_PIN(3, 13), /* VI1_DATA8 */ 3564 [29] = RCAR_GP_PIN(3, 12), /* VI1_VSYNC# */ 3565 [30] = RCAR_GP_PIN(3, 11), /* VI1_HSYNC# */ 3566 [31] = RCAR_GP_PIN(3, 10), /* VI1_FIELD */ 3567 } }, 3568 { PINMUX_BIAS_REG("PUPR4", 0xe6060110, "N/A", 0) { 3569 [ 0] = RCAR_GP_PIN(5, 27), /* SSI_SDATA9_A */ 3570 [ 1] = RCAR_GP_PIN(5, 26), /* SSI_WS9_A */ 3571 [ 2] = RCAR_GP_PIN(5, 25), /* SSI_SCK9_A */ 3572 [ 3] = RCAR_GP_PIN(5, 24), /* SSI_SDATA2_A */ 3573 [ 4] = RCAR_GP_PIN(5, 23), /* SSI_WS2_A */ 3574 [ 5] = RCAR_GP_PIN(5, 22), /* SSI_SCK2_A */ 3575 [ 6] = RCAR_GP_PIN(5, 21), /* SSI_SDATA1_A */ 3576 [ 7] = RCAR_GP_PIN(5, 20), /* SSI_WS1_A */ 3577 [ 8] = RCAR_GP_PIN(5, 19), /* SSI_SDATA8_A */ 3578 [ 9] = RCAR_GP_PIN(5, 18), /* SSI_SCK1_A */ 3579 [10] = RCAR_GP_PIN(5, 17), /* SSI_SDATA4_A */ 3580 [11] = RCAR_GP_PIN(5, 16), /* SSI_WS4_A */ 3581 [12] = RCAR_GP_PIN(5, 15), /* SSI_SCK4_A */ 3582 [13] = RCAR_GP_PIN(5, 14), /* SSI_SDATA3 */ 3583 [14] = RCAR_GP_PIN(5, 13), /* SSI_WS34 */ 3584 [15] = RCAR_GP_PIN(5, 12), /* SSI_SCK34 */ 3585 [16] = RCAR_GP_PIN(5, 11), /* SSI_SDATA0_A */ 3586 [17] = RCAR_GP_PIN(5, 10), /* SSI_WS0129_A */ 3587 [18] = RCAR_GP_PIN(5, 9), /* SSI_SCK0129_A */ 3588 [19] = RCAR_GP_PIN(5, 8), /* SSI_SDATA7_A */ 3589 [20] = RCAR_GP_PIN(5, 7), /* SSI_WS78_A */ 3590 [21] = RCAR_GP_PIN(5, 6), /* SSI_SCK78_A */ 3591 [22] = RCAR_GP_PIN(5, 5), /* SSI_SDATA6_A */ 3592 [23] = RCAR_GP_PIN(5, 4), /* SSI_WS6_A */ 3593 [24] = RCAR_GP_PIN(5, 3), /* SSI_SCK6_A */ 3594 [25] = RCAR_GP_PIN(5, 2), /* SSI_SDATA5_A */ 3595 [26] = RCAR_GP_PIN(5, 1), /* SSI_WS5_A */ 3596 [27] = RCAR_GP_PIN(5, 0), /* SSI_SCK5_A */ 3597 [28] = RCAR_GP_PIN(4, 25), /* SDA2_A */ 3598 [29] = RCAR_GP_PIN(4, 24), /* SCL2_A */ 3599 [30] = RCAR_GP_PIN(4, 23), /* TX3_A */ 3600 [31] = RCAR_GP_PIN(4, 22), /* RX3_A */ 3601 } }, 3602 { PINMUX_BIAS_REG("PUPR5", 0xe6060114, "N/A", 0) { 3603 [ 0] = SH_PFC_PIN_NONE, 3604 [ 1] = SH_PFC_PIN_NONE, 3605 [ 2] = SH_PFC_PIN_NONE, 3606 [ 3] = SH_PFC_PIN_NONE, 3607 [ 4] = SH_PFC_PIN_NONE, 3608 [ 5] = SH_PFC_PIN_NONE, 3609 [ 6] = SH_PFC_PIN_NONE, 3610 [ 7] = SH_PFC_PIN_NONE, 3611 [ 8] = SH_PFC_PIN_NONE, 3612 [ 9] = SH_PFC_PIN_NONE, 3613 [10] = SH_PFC_PIN_NONE, 3614 [11] = SH_PFC_PIN_NONE, 3615 [12] = SH_PFC_PIN_NONE, 3616 [13] = SH_PFC_PIN_NONE, 3617 [14] = SH_PFC_PIN_NONE, 3618 [15] = SH_PFC_PIN_NONE, 3619 [16] = SH_PFC_PIN_NONE, 3620 [17] = SH_PFC_PIN_NONE, 3621 [18] = SH_PFC_PIN_NONE, 3622 [19] = SH_PFC_PIN_NONE, 3623 [20] = SH_PFC_PIN_NONE, 3624 [21] = SH_PFC_PIN_NONE, 3625 [22] = SH_PFC_PIN_NONE, 3626 [23] = SH_PFC_PIN_NONE, 3627 [24] = SH_PFC_PIN_NONE, 3628 [25] = SH_PFC_PIN_NONE, 3629 [26] = SH_PFC_PIN_NONE, 3630 [27] = SH_PFC_PIN_NONE, 3631 [28] = RCAR_GP_PIN(5, 31), /* AUDIO_CLKOUT_A */ 3632 [29] = RCAR_GP_PIN(5, 30), /* AUDIO_CLKC_A */ 3633 [30] = RCAR_GP_PIN(5, 29), /* AUDIO_CLKB_A */ 3634 [31] = RCAR_GP_PIN(5, 28), /* AUDIO_CLKA_A */ 3635 } }, 3636 { /* sentinel */ } 3637 }; 3638 3639 static const struct sh_pfc_soc_operations r8a77470_pfc_ops = { 3640 .pin_to_pocctrl = r8a77470_pin_to_pocctrl, 3641 .get_bias = rcar_pinmux_get_bias, 3642 .set_bias = rcar_pinmux_set_bias, 3643 }; 3644 3645 #ifdef CONFIG_PINCTRL_PFC_R8A77470 3646 const struct sh_pfc_soc_info r8a77470_pinmux_info = { 3647 .name = "r8a77470_pfc", 3648 .ops = &r8a77470_pfc_ops, 3649 .unlock_reg = 0xe6060000, /* PMMR */ 3650 3651 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 3652 3653 .pins = pinmux_pins, 3654 .nr_pins = ARRAY_SIZE(pinmux_pins), 3655 .groups = pinmux_groups, 3656 .nr_groups = ARRAY_SIZE(pinmux_groups), 3657 .functions = pinmux_functions, 3658 .nr_functions = ARRAY_SIZE(pinmux_functions), 3659 3660 .cfg_regs = pinmux_config_regs, 3661 .bias_regs = pinmux_bias_regs, 3662 3663 .pinmux_data = pinmux_data, 3664 .pinmux_data_size = ARRAY_SIZE(pinmux_data), 3665 }; 3666 #endif 3667