1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * R8A779A0 processor support - PFC hardware block. 4 * 5 * Copyright (C) 2020 Renesas Electronics Corp. 6 * 7 * This file is based on the drivers/pinctrl/renesas/pfc-r8a7795.c 8 */ 9 10 #include <linux/errno.h> 11 #include <linux/io.h> 12 #include <linux/kernel.h> 13 14 #include "sh_pfc.h" 15 16 #define CFG_FLAGS (SH_PFC_PIN_CFG_DRIVE_STRENGTH | SH_PFC_PIN_CFG_PULL_UP_DOWN) 17 18 #define CPU_ALL_GP(fn, sfx) \ 19 PORT_GP_CFG_15(0, fn, sfx, CFG_FLAGS), \ 20 PORT_GP_CFG_1(0, 15, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 21 PORT_GP_CFG_1(0, 16, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 22 PORT_GP_CFG_1(0, 17, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 23 PORT_GP_CFG_1(0, 18, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 24 PORT_GP_CFG_1(0, 19, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 25 PORT_GP_CFG_1(0, 20, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 26 PORT_GP_CFG_1(0, 21, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 27 PORT_GP_CFG_1(0, 22, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 28 PORT_GP_CFG_1(0, 23, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 29 PORT_GP_CFG_1(0, 24, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 30 PORT_GP_CFG_1(0, 25, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 31 PORT_GP_CFG_1(0, 26, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 32 PORT_GP_CFG_1(0, 27, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 33 PORT_GP_CFG_31(1, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 34 PORT_GP_CFG_2(2, fn, sfx, CFG_FLAGS), \ 35 PORT_GP_CFG_1(2, 2, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 36 PORT_GP_CFG_1(2, 3, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 37 PORT_GP_CFG_1(2, 4, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 38 PORT_GP_CFG_1(2, 5, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 39 PORT_GP_CFG_1(2, 6, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 40 PORT_GP_CFG_1(2, 7, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 41 PORT_GP_CFG_1(2, 8, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 42 PORT_GP_CFG_1(2, 9, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 43 PORT_GP_CFG_1(2, 10, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 44 PORT_GP_CFG_1(2, 11, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 45 PORT_GP_CFG_1(2, 12, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 46 PORT_GP_CFG_1(2, 13, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 47 PORT_GP_CFG_1(2, 14, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 48 PORT_GP_CFG_1(2, 15, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_18_33), \ 49 PORT_GP_CFG_1(2, 16, fn, sfx, CFG_FLAGS), \ 50 PORT_GP_CFG_1(2, 17, fn, sfx, CFG_FLAGS), \ 51 PORT_GP_CFG_1(2, 18, fn, sfx, CFG_FLAGS), \ 52 PORT_GP_CFG_1(2, 19, fn, sfx, CFG_FLAGS), \ 53 PORT_GP_CFG_1(2, 20, fn, sfx, CFG_FLAGS), \ 54 PORT_GP_CFG_1(2, 21, fn, sfx, CFG_FLAGS), \ 55 PORT_GP_CFG_1(2, 22, fn, sfx, CFG_FLAGS), \ 56 PORT_GP_CFG_1(2, 23, fn, sfx, CFG_FLAGS), \ 57 PORT_GP_CFG_1(2, 24, fn, sfx, CFG_FLAGS), \ 58 PORT_GP_CFG_17(3, fn, sfx, CFG_FLAGS), \ 59 PORT_GP_CFG_18(4, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\ 60 PORT_GP_CFG_1(4, 18, fn, sfx, CFG_FLAGS), \ 61 PORT_GP_CFG_1(4, 19, fn, sfx, CFG_FLAGS), \ 62 PORT_GP_CFG_1(4, 20, fn, sfx, CFG_FLAGS), \ 63 PORT_GP_CFG_1(4, 21, fn, sfx, CFG_FLAGS), \ 64 PORT_GP_CFG_1(4, 22, fn, sfx, CFG_FLAGS), \ 65 PORT_GP_CFG_1(4, 23, fn, sfx, CFG_FLAGS), \ 66 PORT_GP_CFG_1(4, 24, fn, sfx, CFG_FLAGS), \ 67 PORT_GP_CFG_1(4, 25, fn, sfx, CFG_FLAGS), \ 68 PORT_GP_CFG_1(4, 26, fn, sfx, CFG_FLAGS), \ 69 PORT_GP_CFG_18(5, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\ 70 PORT_GP_CFG_1(5, 18, fn, sfx, CFG_FLAGS), \ 71 PORT_GP_CFG_1(5, 19, fn, sfx, CFG_FLAGS), \ 72 PORT_GP_CFG_1(5, 20, fn, sfx, CFG_FLAGS), \ 73 PORT_GP_CFG_18(6, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\ 74 PORT_GP_CFG_1(6, 18, fn, sfx, CFG_FLAGS), \ 75 PORT_GP_CFG_1(6, 19, fn, sfx, CFG_FLAGS), \ 76 PORT_GP_CFG_1(6, 20, fn, sfx, CFG_FLAGS), \ 77 PORT_GP_CFG_18(7, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\ 78 PORT_GP_CFG_1(7, 18, fn, sfx, CFG_FLAGS), \ 79 PORT_GP_CFG_1(7, 19, fn, sfx, CFG_FLAGS), \ 80 PORT_GP_CFG_1(7, 20, fn, sfx, CFG_FLAGS), \ 81 PORT_GP_CFG_18(8, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\ 82 PORT_GP_CFG_1(8, 18, fn, sfx, CFG_FLAGS), \ 83 PORT_GP_CFG_1(8, 19, fn, sfx, CFG_FLAGS), \ 84 PORT_GP_CFG_1(8, 20, fn, sfx, CFG_FLAGS), \ 85 PORT_GP_CFG_18(9, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE_25_33),\ 86 PORT_GP_CFG_1(9, 18, fn, sfx, CFG_FLAGS), \ 87 PORT_GP_CFG_1(9, 19, fn, sfx, CFG_FLAGS), \ 88 PORT_GP_CFG_1(9, 20, fn, sfx, CFG_FLAGS) 89 90 #define CPU_ALL_NOGP(fn) \ 91 PIN_NOGP_CFG(PRESETOUT_N, "PRESETOUT#", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 92 PIN_NOGP_CFG(EXTALR, "EXTALR", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 93 PIN_NOGP_CFG(DCUTRST_N_LPDRST_N, "DCUTRST#_LPDRST#", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 94 PIN_NOGP_CFG(DCUTCK_LPDCLK, "DCUTCK_LPDCLK", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 95 PIN_NOGP_CFG(DCUTMS, "DCUTMS", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN), \ 96 PIN_NOGP_CFG(DCUTDI_LPDI, "DCUTDI_LPDI", fn, SH_PFC_PIN_CFG_PULL_UP_DOWN) 97 98 /* 99 * F_() : just information 100 * FM() : macro for FN_xxx / xxx_MARK 101 */ 102 103 /* GPSR0 */ 104 #define GPSR0_27 FM(MMC_D7) 105 #define GPSR0_26 FM(MMC_D6) 106 #define GPSR0_25 FM(MMC_D5) 107 #define GPSR0_24 FM(MMC_D4) 108 #define GPSR0_23 FM(MMC_SD_CLK) 109 #define GPSR0_22 FM(MMC_SD_D3) 110 #define GPSR0_21 FM(MMC_SD_D2) 111 #define GPSR0_20 FM(MMC_SD_D1) 112 #define GPSR0_19 FM(MMC_SD_D0) 113 #define GPSR0_18 FM(MMC_SD_CMD) 114 #define GPSR0_17 FM(MMC_DS) 115 #define GPSR0_16 FM(SD_CD) 116 #define GPSR0_15 FM(SD_WP) 117 #define GPSR0_14 FM(RPC_INT_N) 118 #define GPSR0_13 FM(RPC_WP_N) 119 #define GPSR0_12 FM(RPC_RESET_N) 120 #define GPSR0_11 FM(QSPI1_SSL) 121 #define GPSR0_10 FM(QSPI1_IO3) 122 #define GPSR0_9 FM(QSPI1_IO2) 123 #define GPSR0_8 FM(QSPI1_MISO_IO1) 124 #define GPSR0_7 FM(QSPI1_MOSI_IO0) 125 #define GPSR0_6 FM(QSPI1_SPCLK) 126 #define GPSR0_5 FM(QSPI0_SSL) 127 #define GPSR0_4 FM(QSPI0_IO3) 128 #define GPSR0_3 FM(QSPI0_IO2) 129 #define GPSR0_2 FM(QSPI0_MISO_IO1) 130 #define GPSR0_1 FM(QSPI0_MOSI_IO0) 131 #define GPSR0_0 FM(QSPI0_SPCLK) 132 133 /* GPSR1 */ 134 #define GPSR1_30 F_(GP1_30, IP3SR1_27_24) 135 #define GPSR1_29 F_(GP1_29, IP3SR1_23_20) 136 #define GPSR1_28 F_(GP1_28, IP3SR1_19_16) 137 #define GPSR1_27 F_(IRQ3, IP3SR1_15_12) 138 #define GPSR1_26 F_(IRQ2, IP3SR1_11_8) 139 #define GPSR1_25 F_(IRQ1, IP3SR1_7_4) 140 #define GPSR1_24 F_(IRQ0, IP3SR1_3_0) 141 #define GPSR1_23 F_(MSIOF2_SS2, IP2SR1_31_28) 142 #define GPSR1_22 F_(MSIOF2_SS1, IP2SR1_27_24) 143 #define GPSR1_21 F_(MSIOF2_SYNC, IP2SR1_23_20) 144 #define GPSR1_20 F_(MSIOF2_SCK, IP2SR1_19_16) 145 #define GPSR1_19 F_(MSIOF2_TXD, IP2SR1_15_12) 146 #define GPSR1_18 F_(MSIOF2_RXD, IP2SR1_11_8) 147 #define GPSR1_17 F_(MSIOF1_SS2, IP2SR1_7_4) 148 #define GPSR1_16 F_(MSIOF1_SS1, IP2SR1_3_0) 149 #define GPSR1_15 F_(MSIOF1_SYNC, IP1SR1_31_28) 150 #define GPSR1_14 F_(MSIOF1_SCK, IP1SR1_27_24) 151 #define GPSR1_13 F_(MSIOF1_TXD, IP1SR1_23_20) 152 #define GPSR1_12 F_(MSIOF1_RXD, IP1SR1_19_16) 153 #define GPSR1_11 F_(MSIOF0_SS2, IP1SR1_15_12) 154 #define GPSR1_10 F_(MSIOF0_SS1, IP1SR1_11_8) 155 #define GPSR1_9 F_(MSIOF0_SYNC, IP1SR1_7_4) 156 #define GPSR1_8 F_(MSIOF0_SCK, IP1SR1_3_0) 157 #define GPSR1_7 F_(MSIOF0_TXD, IP0SR1_31_28) 158 #define GPSR1_6 F_(MSIOF0_RXD, IP0SR1_27_24) 159 #define GPSR1_5 F_(HTX0, IP0SR1_23_20) 160 #define GPSR1_4 F_(HCTS0_N, IP0SR1_19_16) 161 #define GPSR1_3 F_(HRTS0_N, IP0SR1_15_12) 162 #define GPSR1_2 F_(HSCK0, IP0SR1_11_8) 163 #define GPSR1_1 F_(HRX0, IP0SR1_7_4) 164 #define GPSR1_0 F_(SCIF_CLK, IP0SR1_3_0) 165 166 /* GPSR2 */ 167 #define GPSR2_24 FM(TCLK2_A) 168 #define GPSR2_23 F_(TCLK1_A, IP2SR2_31_28) 169 #define GPSR2_22 F_(TPU0TO1, IP2SR2_27_24) 170 #define GPSR2_21 F_(TPU0TO0, IP2SR2_23_20) 171 #define GPSR2_20 F_(CLK_EXTFXR, IP2SR2_19_16) 172 #define GPSR2_19 F_(RXDB_EXTFXR, IP2SR2_15_12) 173 #define GPSR2_18 F_(FXR_TXDB, IP2SR2_11_8) 174 #define GPSR2_17 F_(RXDA_EXTFXR_A, IP2SR2_7_4) 175 #define GPSR2_16 F_(FXR_TXDA_A, IP2SR2_3_0) 176 #define GPSR2_15 F_(GP2_15, IP1SR2_31_28) 177 #define GPSR2_14 F_(GP2_14, IP1SR2_27_24) 178 #define GPSR2_13 F_(GP2_13, IP1SR2_23_20) 179 #define GPSR2_12 F_(GP2_12, IP1SR2_19_16) 180 #define GPSR2_11 F_(GP2_11, IP1SR2_15_12) 181 #define GPSR2_10 F_(GP2_10, IP1SR2_11_8) 182 #define GPSR2_9 F_(GP2_09, IP1SR2_7_4) 183 #define GPSR2_8 F_(GP2_08, IP1SR2_3_0) 184 #define GPSR2_7 F_(GP2_07, IP0SR2_31_28) 185 #define GPSR2_6 F_(GP2_06, IP0SR2_27_24) 186 #define GPSR2_5 F_(GP2_05, IP0SR2_23_20) 187 #define GPSR2_4 F_(GP2_04, IP0SR2_19_16) 188 #define GPSR2_3 F_(GP2_03, IP0SR2_15_12) 189 #define GPSR2_2 F_(GP2_02, IP0SR2_11_8) 190 #define GPSR2_1 F_(IPC_CLKOUT, IP0SR2_7_4) 191 #define GPSR2_0 F_(IPC_CLKIN, IP0SR2_3_0) 192 193 /* GPSR3 */ 194 #define GPSR3_16 FM(CANFD7_RX) 195 #define GPSR3_15 FM(CANFD7_TX) 196 #define GPSR3_14 FM(CANFD6_RX) 197 #define GPSR3_13 F_(CANFD6_TX, IP1SR3_23_20) 198 #define GPSR3_12 F_(CANFD5_RX, IP1SR3_19_16) 199 #define GPSR3_11 F_(CANFD5_TX, IP1SR3_15_12) 200 #define GPSR3_10 F_(CANFD4_RX, IP1SR3_11_8) 201 #define GPSR3_9 F_(CANFD4_TX, IP1SR3_7_4) 202 #define GPSR3_8 F_(CANFD3_RX, IP1SR3_3_0) 203 #define GPSR3_7 F_(CANFD3_TX, IP0SR3_31_28) 204 #define GPSR3_6 F_(CANFD2_RX, IP0SR3_27_24) 205 #define GPSR3_5 F_(CANFD2_TX, IP0SR3_23_20) 206 #define GPSR3_4 FM(CANFD1_RX) 207 #define GPSR3_3 FM(CANFD1_TX) 208 #define GPSR3_2 F_(CANFD0_RX, IP0SR3_11_8) 209 #define GPSR3_1 F_(CANFD0_TX, IP0SR3_7_4) 210 #define GPSR3_0 FM(CAN_CLK) 211 212 /* GPSR4 */ 213 #define GPSR4_26 FM(AVS1) 214 #define GPSR4_25 FM(AVS0) 215 #define GPSR4_24 FM(PCIE3_CLKREQ_N) 216 #define GPSR4_23 FM(PCIE2_CLKREQ_N) 217 #define GPSR4_22 FM(PCIE1_CLKREQ_N) 218 #define GPSR4_21 FM(PCIE0_CLKREQ_N) 219 #define GPSR4_20 F_(AVB0_AVTP_PPS, IP2SR4_19_16) 220 #define GPSR4_19 F_(AVB0_AVTP_CAPTURE, IP2SR4_15_12) 221 #define GPSR4_18 F_(AVB0_AVTP_MATCH, IP2SR4_11_8) 222 #define GPSR4_17 F_(AVB0_LINK, IP2SR4_7_4) 223 #define GPSR4_16 FM(AVB0_PHY_INT) 224 #define GPSR4_15 F_(AVB0_MAGIC, IP1SR4_31_28) 225 #define GPSR4_14 F_(AVB0_MDC, IP1SR4_27_24) 226 #define GPSR4_13 F_(AVB0_MDIO, IP1SR4_23_20) 227 #define GPSR4_12 F_(AVB0_TXCREFCLK, IP1SR4_19_16) 228 #define GPSR4_11 F_(AVB0_TD3, IP1SR4_15_12) 229 #define GPSR4_10 F_(AVB0_TD2, IP1SR4_11_8) 230 #define GPSR4_9 F_(AVB0_TD1, IP1SR4_7_4) 231 #define GPSR4_8 F_(AVB0_TD0, IP1SR4_3_0) 232 #define GPSR4_7 F_(AVB0_TXC, IP0SR4_31_28) 233 #define GPSR4_6 F_(AVB0_TX_CTL, IP0SR4_27_24) 234 #define GPSR4_5 F_(AVB0_RD3, IP0SR4_23_20) 235 #define GPSR4_4 F_(AVB0_RD2, IP0SR4_19_16) 236 #define GPSR4_3 F_(AVB0_RD1, IP0SR4_15_12) 237 #define GPSR4_2 F_(AVB0_RD0, IP0SR4_11_8) 238 #define GPSR4_1 F_(AVB0_RXC, IP0SR4_7_4) 239 #define GPSR4_0 F_(AVB0_RX_CTL, IP0SR4_3_0) 240 241 /* GPSR5 */ 242 #define GPSR5_20 F_(AVB1_AVTP_PPS, IP2SR5_19_16) 243 #define GPSR5_19 F_(AVB1_AVTP_CAPTURE, IP2SR5_15_12) 244 #define GPSR5_18 F_(AVB1_AVTP_MATCH, IP2SR5_11_8) 245 #define GPSR5_17 F_(AVB1_LINK, IP2SR5_7_4) 246 #define GPSR5_16 FM(AVB1_PHY_INT) 247 #define GPSR5_15 F_(AVB1_MAGIC, IP1SR5_31_28) 248 #define GPSR5_14 F_(AVB1_MDC, IP1SR5_27_24) 249 #define GPSR5_13 F_(AVB1_MDIO, IP1SR5_23_20) 250 #define GPSR5_12 F_(AVB1_TXCREFCLK, IP1SR5_19_16) 251 #define GPSR5_11 F_(AVB1_TD3, IP1SR5_15_12) 252 #define GPSR5_10 F_(AVB1_TD2, IP1SR5_11_8) 253 #define GPSR5_9 F_(AVB1_TD1, IP1SR5_7_4) 254 #define GPSR5_8 F_(AVB1_TD0, IP1SR5_3_0) 255 #define GPSR5_7 F_(AVB1_TXC, IP0SR5_31_28) 256 #define GPSR5_6 F_(AVB1_TX_CTL, IP0SR5_27_24) 257 #define GPSR5_5 F_(AVB1_RD3, IP0SR5_23_20) 258 #define GPSR5_4 F_(AVB1_RD2, IP0SR5_19_16) 259 #define GPSR5_3 F_(AVB1_RD1, IP0SR5_15_12) 260 #define GPSR5_2 F_(AVB1_RD0, IP0SR5_11_8) 261 #define GPSR5_1 F_(AVB1_RXC, IP0SR5_7_4) 262 #define GPSR5_0 F_(AVB1_RX_CTL, IP0SR5_3_0) 263 264 /* GPSR6 */ 265 #define GPSR6_20 FM(AVB2_AVTP_PPS) 266 #define GPSR6_19 FM(AVB2_AVTP_CAPTURE) 267 #define GPSR6_18 FM(AVB2_AVTP_MATCH) 268 #define GPSR6_17 FM(AVB2_LINK) 269 #define GPSR6_16 FM(AVB2_PHY_INT) 270 #define GPSR6_15 FM(AVB2_MAGIC) 271 #define GPSR6_14 FM(AVB2_MDC) 272 #define GPSR6_13 FM(AVB2_MDIO) 273 #define GPSR6_12 FM(AVB2_TXCREFCLK) 274 #define GPSR6_11 FM(AVB2_TD3) 275 #define GPSR6_10 FM(AVB2_TD2) 276 #define GPSR6_9 FM(AVB2_TD1) 277 #define GPSR6_8 FM(AVB2_TD0) 278 #define GPSR6_7 FM(AVB2_TXC) 279 #define GPSR6_6 FM(AVB2_TX_CTL) 280 #define GPSR6_5 FM(AVB2_RD3) 281 #define GPSR6_4 FM(AVB2_RD2) 282 #define GPSR6_3 FM(AVB2_RD1) 283 #define GPSR6_2 FM(AVB2_RD0) 284 #define GPSR6_1 FM(AVB2_RXC) 285 #define GPSR6_0 FM(AVB2_RX_CTL) 286 287 /* GPSR7 */ 288 #define GPSR7_20 FM(AVB3_AVTP_PPS) 289 #define GPSR7_19 FM(AVB3_AVTP_CAPTURE) 290 #define GPSR7_18 FM(AVB3_AVTP_MATCH) 291 #define GPSR7_17 FM(AVB3_LINK) 292 #define GPSR7_16 FM(AVB3_PHY_INT) 293 #define GPSR7_15 FM(AVB3_MAGIC) 294 #define GPSR7_14 FM(AVB3_MDC) 295 #define GPSR7_13 FM(AVB3_MDIO) 296 #define GPSR7_12 FM(AVB3_TXCREFCLK) 297 #define GPSR7_11 FM(AVB3_TD3) 298 #define GPSR7_10 FM(AVB3_TD2) 299 #define GPSR7_9 FM(AVB3_TD1) 300 #define GPSR7_8 FM(AVB3_TD0) 301 #define GPSR7_7 FM(AVB3_TXC) 302 #define GPSR7_6 FM(AVB3_TX_CTL) 303 #define GPSR7_5 FM(AVB3_RD3) 304 #define GPSR7_4 FM(AVB3_RD2) 305 #define GPSR7_3 FM(AVB3_RD1) 306 #define GPSR7_2 FM(AVB3_RD0) 307 #define GPSR7_1 FM(AVB3_RXC) 308 #define GPSR7_0 FM(AVB3_RX_CTL) 309 310 /* GPSR8 */ 311 #define GPSR8_20 FM(AVB4_AVTP_PPS) 312 #define GPSR8_19 FM(AVB4_AVTP_CAPTURE) 313 #define GPSR8_18 FM(AVB4_AVTP_MATCH) 314 #define GPSR8_17 FM(AVB4_LINK) 315 #define GPSR8_16 FM(AVB4_PHY_INT) 316 #define GPSR8_15 FM(AVB4_MAGIC) 317 #define GPSR8_14 FM(AVB4_MDC) 318 #define GPSR8_13 FM(AVB4_MDIO) 319 #define GPSR8_12 FM(AVB4_TXCREFCLK) 320 #define GPSR8_11 FM(AVB4_TD3) 321 #define GPSR8_10 FM(AVB4_TD2) 322 #define GPSR8_9 FM(AVB4_TD1) 323 #define GPSR8_8 FM(AVB4_TD0) 324 #define GPSR8_7 FM(AVB4_TXC) 325 #define GPSR8_6 FM(AVB4_TX_CTL) 326 #define GPSR8_5 FM(AVB4_RD3) 327 #define GPSR8_4 FM(AVB4_RD2) 328 #define GPSR8_3 FM(AVB4_RD1) 329 #define GPSR8_2 FM(AVB4_RD0) 330 #define GPSR8_1 FM(AVB4_RXC) 331 #define GPSR8_0 FM(AVB4_RX_CTL) 332 333 /* GPSR9 */ 334 #define GPSR9_20 FM(AVB5_AVTP_PPS) 335 #define GPSR9_19 FM(AVB5_AVTP_CAPTURE) 336 #define GPSR9_18 FM(AVB5_AVTP_MATCH) 337 #define GPSR9_17 FM(AVB5_LINK) 338 #define GPSR9_16 FM(AVB5_PHY_INT) 339 #define GPSR9_15 FM(AVB5_MAGIC) 340 #define GPSR9_14 FM(AVB5_MDC) 341 #define GPSR9_13 FM(AVB5_MDIO) 342 #define GPSR9_12 FM(AVB5_TXCREFCLK) 343 #define GPSR9_11 FM(AVB5_TD3) 344 #define GPSR9_10 FM(AVB5_TD2) 345 #define GPSR9_9 FM(AVB5_TD1) 346 #define GPSR9_8 FM(AVB5_TD0) 347 #define GPSR9_7 FM(AVB5_TXC) 348 #define GPSR9_6 FM(AVB5_TX_CTL) 349 #define GPSR9_5 FM(AVB5_RD3) 350 #define GPSR9_4 FM(AVB5_RD2) 351 #define GPSR9_3 FM(AVB5_RD1) 352 #define GPSR9_2 FM(AVB5_RD0) 353 #define GPSR9_1 FM(AVB5_RXC) 354 #define GPSR9_0 FM(AVB5_RX_CTL) 355 356 /* IP0SR1 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 357 #define IP0SR1_3_0 FM(SCIF_CLK) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(A0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 358 #define IP0SR1_7_4 FM(HRX0) FM(RX0) F_(0, 0) F_(0, 0) F_(0, 0) FM(A1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 359 #define IP0SR1_11_8 FM(HSCK0) FM(SCK0) F_(0, 0) F_(0, 0) F_(0, 0) FM(A2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 360 #define IP0SR1_15_12 FM(HRTS0_N) FM(RTS0_N) F_(0, 0) F_(0, 0) F_(0, 0) FM(A3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 361 #define IP0SR1_19_16 FM(HCTS0_N) FM(CTS0_N) F_(0, 0) F_(0, 0) F_(0, 0) FM(A4) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 362 #define IP0SR1_23_20 FM(HTX0) FM(TX0) F_(0, 0) F_(0, 0) F_(0, 0) FM(A5) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 363 #define IP0SR1_27_24 FM(MSIOF0_RXD) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_DR2) FM(A6) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 364 #define IP0SR1_31_28 FM(MSIOF0_TXD) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_DR3) FM(A7) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 365 /* IP1SR1 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 366 #define IP1SR1_3_0 FM(MSIOF0_SCK) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_DR4) FM(A8) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 367 #define IP1SR1_7_4 FM(MSIOF0_SYNC) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_DR5) FM(A9) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 368 #define IP1SR1_11_8 FM(MSIOF0_SS1) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_DR6) FM(A10) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 369 #define IP1SR1_15_12 FM(MSIOF0_SS2) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_DR7) FM(A11) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 370 #define IP1SR1_19_16 FM(MSIOF1_RXD) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_DG2) FM(A12) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 371 #define IP1SR1_23_20 FM(MSIOF1_TXD) FM(HRX3) FM(SCK3) F_(0, 0) FM(DU_DG3) FM(A13) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 372 #define IP1SR1_27_24 FM(MSIOF1_SCK) FM(HSCK3) FM(CTS3_N) F_(0, 0) FM(DU_DG4) FM(A14) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 373 #define IP1SR1_31_28 FM(MSIOF1_SYNC) FM(HRTS3_N) FM(RTS3_N) F_(0, 0) FM(DU_DG5) FM(A15) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 374 /* IP2SR1 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 375 #define IP2SR1_3_0 FM(MSIOF1_SS1) FM(HCTS3_N) FM(RX3) F_(0, 0) FM(DU_DG6) FM(A16) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 376 #define IP2SR1_7_4 FM(MSIOF1_SS2) FM(HTX3) FM(TX3) F_(0, 0) FM(DU_DG7) FM(A17) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 377 #define IP2SR1_11_8 FM(MSIOF2_RXD) FM(HSCK1) FM(SCK1) F_(0, 0) FM(DU_DB2) FM(A18) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 378 #define IP2SR1_15_12 FM(MSIOF2_TXD) FM(HCTS1_N) FM(CTS1_N) F_(0, 0) FM(DU_DB3) FM(A19) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 379 #define IP2SR1_19_16 FM(MSIOF2_SCK) FM(HRTS1_N) FM(RTS1_N) F_(0, 0) FM(DU_DB4) FM(A20) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 380 #define IP2SR1_23_20 FM(MSIOF2_SYNC) FM(HRX1) FM(RX1_A) F_(0, 0) FM(DU_DB5) FM(A21) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 381 #define IP2SR1_27_24 FM(MSIOF2_SS1) FM(HTX1) FM(TX1_A) F_(0, 0) FM(DU_DB6) FM(A22) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 382 #define IP2SR1_31_28 FM(MSIOF2_SS2) FM(TCLK1_B) F_(0, 0) F_(0, 0) FM(DU_DB7) FM(A23) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 383 384 /* IP3SR1 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 385 #define IP3SR1_3_0 FM(IRQ0) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_DOTCLKOUT) FM(A24) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 386 #define IP3SR1_7_4 FM(IRQ1) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_HSYNC) FM(A25) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 387 #define IP3SR1_11_8 FM(IRQ2) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_VSYNC) FM(CS1_N_A26) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 388 #define IP3SR1_15_12 FM(IRQ3) F_(0, 0) F_(0, 0) F_(0, 0) FM(DU_ODDF_DISP_CDE) FM(CS0_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 389 #define IP3SR1_19_16 FM(GP1_28) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(D0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 390 #define IP3SR1_23_20 FM(GP1_29) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(D1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 391 #define IP3SR1_27_24 FM(GP1_30) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(D2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 392 #define IP3SR1_31_28 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 393 394 /* IP0SR2 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 395 #define IP0SR2_3_0 FM(IPC_CLKIN) FM(IPC_CLKEN_IN) F_(0, 0) F_(0, 0) FM(DU_DOTCLKIN) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 396 #define IP0SR2_7_4 FM(IPC_CLKOUT) FM(IPC_CLKEN_OUT) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 397 #define IP0SR2_11_8 FM(GP2_02) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(D3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 398 #define IP0SR2_15_12 FM(GP2_03) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(D4) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 399 #define IP0SR2_19_16 FM(GP2_04) F_(0, 0) FM(MSIOF4_RXD) F_(0, 0) F_(0, 0) FM(D5) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 400 #define IP0SR2_23_20 FM(GP2_05) FM(HSCK2) FM(MSIOF4_TXD) FM(SCK4) F_(0, 0) FM(D6) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 401 #define IP0SR2_27_24 FM(GP2_06) FM(HCTS2_N) FM(MSIOF4_SCK) FM(CTS4_N) F_(0, 0) FM(D7) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 402 #define IP0SR2_31_28 FM(GP2_07) FM(HRTS2_N) FM(MSIOF4_SYNC) FM(RTS4_N) F_(0, 0) FM(D8) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 403 /* IP1SR2 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 404 #define IP1SR2_3_0 FM(GP2_08) FM(HRX2) FM(MSIOF4_SS1) FM(RX4) F_(0, 0) FM(D9) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 405 #define IP1SR2_7_4 FM(GP2_09) FM(HTX2) FM(MSIOF4_SS2) FM(TX4) F_(0, 0) FM(D10) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 406 #define IP1SR2_11_8 FM(GP2_10) FM(TCLK2_B) FM(MSIOF5_RXD) F_(0, 0) F_(0, 0) FM(D11) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 407 #define IP1SR2_15_12 FM(GP2_11) FM(TCLK3) FM(MSIOF5_TXD) F_(0, 0) F_(0, 0) FM(D12) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 408 #define IP1SR2_19_16 FM(GP2_12) FM(TCLK4) FM(MSIOF5_SCK) F_(0, 0) F_(0, 0) FM(D13) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 409 #define IP1SR2_23_20 FM(GP2_13) F_(0, 0) FM(MSIOF5_SYNC) F_(0, 0) F_(0, 0) FM(D14) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 410 #define IP1SR2_27_24 FM(GP2_14) FM(IRQ4) FM(MSIOF5_SS1) F_(0, 0) F_(0, 0) FM(D15) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 411 #define IP1SR2_31_28 FM(GP2_15) FM(IRQ5) FM(MSIOF5_SS2) FM(CPG_CPCKOUT) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 412 /* IP2SR2 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 413 #define IP2SR2_3_0 FM(FXR_TXDA_A) FM(MSIOF3_SS1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 414 #define IP2SR2_7_4 FM(RXDA_EXTFXR_A) FM(MSIOF3_SS2) F_(0, 0) F_(0, 0) F_(0, 0) FM(BS_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 415 #define IP2SR2_11_8 FM(FXR_TXDB) FM(MSIOF3_RXD) F_(0, 0) F_(0, 0) F_(0, 0) FM(RD_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 416 #define IP2SR2_15_12 FM(RXDB_EXTFXR) FM(MSIOF3_TXD) F_(0, 0) F_(0, 0) F_(0, 0) FM(WE0_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 417 #define IP2SR2_19_16 FM(CLK_EXTFXR) FM(MSIOF3_SCK) F_(0, 0) F_(0, 0) F_(0, 0) FM(WE1_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 418 #define IP2SR2_23_20 FM(TPU0TO0) FM(MSIOF3_SYNC) F_(0, 0) F_(0, 0) F_(0, 0) FM(RD_WR_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 419 #define IP2SR2_27_24 FM(TPU0TO1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(CLKOUT) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 420 #define IP2SR2_31_28 FM(TCLK1_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(EX_WAIT0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 421 422 /* IP0SR3 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 423 #define IP0SR3_3_0 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 424 #define IP0SR3_7_4 FM(CANFD0_TX) FM(FXR_TXDA_B) FM(TX1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 425 #define IP0SR3_11_8 FM(CANFD0_RX) FM(RXDA_EXTFXR_B) FM(RX1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 426 #define IP0SR3_15_12 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 427 #define IP0SR3_19_16 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 428 #define IP0SR3_23_20 FM(CANFD2_TX) FM(TPU0TO2) FM(PWM0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 429 #define IP0SR3_27_24 FM(CANFD2_RX) FM(TPU0TO3) FM(PWM1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 430 #define IP0SR3_31_28 FM(CANFD3_TX) F_(0, 0) FM(PWM2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 431 /* IP1SR3 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 432 #define IP1SR3_3_0 FM(CANFD3_RX) F_(0, 0) FM(PWM3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 433 #define IP1SR3_7_4 FM(CANFD4_TX) F_(0, 0) FM(PWM4) FM(FXR_CLKOUT1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 434 #define IP1SR3_11_8 FM(CANFD4_RX) F_(0, 0) F_(0, 0) FM(FXR_CLKOUT2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 435 #define IP1SR3_15_12 FM(CANFD5_TX) F_(0, 0) F_(0, 0) FM(FXR_TXENA_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 436 #define IP1SR3_19_16 FM(CANFD5_RX) F_(0, 0) F_(0, 0) FM(FXR_TXENB_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 437 #define IP1SR3_23_20 FM(CANFD6_TX) F_(0, 0) F_(0, 0) FM(STPWT_EXTFXR) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 438 #define IP1SR3_27_24 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 439 #define IP1SR3_31_28 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 440 441 /* IP0SR4 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 442 #define IP0SR4_3_0 FM(AVB0_RX_CTL) FM(AVB0_MII_RX_DV) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 443 #define IP0SR4_7_4 FM(AVB0_RXC) FM(AVB0_MII_RXC) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 444 #define IP0SR4_11_8 FM(AVB0_RD0) FM(AVB0_MII_RD0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 445 #define IP0SR4_15_12 FM(AVB0_RD1) FM(AVB0_MII_RD1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 446 #define IP0SR4_19_16 FM(AVB0_RD2) FM(AVB0_MII_RD2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 447 #define IP0SR4_23_20 FM(AVB0_RD3) FM(AVB0_MII_RD3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 448 #define IP0SR4_27_24 FM(AVB0_TX_CTL) FM(AVB0_MII_TX_EN) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 449 #define IP0SR4_31_28 FM(AVB0_TXC) FM(AVB0_MII_TXC) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 450 /* IP1SR4 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 451 #define IP1SR4_3_0 FM(AVB0_TD0) FM(AVB0_MII_TD0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 452 #define IP1SR4_7_4 FM(AVB0_TD1) FM(AVB0_MII_TD1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 453 #define IP1SR4_11_8 FM(AVB0_TD2) FM(AVB0_MII_TD2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 454 #define IP1SR4_15_12 FM(AVB0_TD3) FM(AVB0_MII_TD3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 455 #define IP1SR4_19_16 FM(AVB0_TXCREFCLK) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 456 #define IP1SR4_23_20 FM(AVB0_MDIO) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 457 #define IP1SR4_27_24 FM(AVB0_MDC) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 458 #define IP1SR4_31_28 FM(AVB0_MAGIC) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 459 /* IP2SR4 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 460 #define IP2SR4_3_0 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 461 #define IP2SR4_7_4 FM(AVB0_LINK) FM(AVB0_MII_TX_ER) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 462 #define IP2SR4_11_8 FM(AVB0_AVTP_MATCH) FM(AVB0_MII_RX_ER) FM(CC5_OSCOUT) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 463 #define IP2SR4_15_12 FM(AVB0_AVTP_CAPTURE) FM(AVB0_MII_CRS) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 464 #define IP2SR4_19_16 FM(AVB0_AVTP_PPS) FM(AVB0_MII_COL) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 465 #define IP2SR4_23_20 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 466 #define IP2SR4_27_24 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 467 #define IP2SR4_31_28 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 468 469 /* IP0SR5 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 470 #define IP0SR5_3_0 FM(AVB1_RX_CTL) FM(AVB1_MII_RX_DV) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 471 #define IP0SR5_7_4 FM(AVB1_RXC) FM(AVB1_MII_RXC) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 472 #define IP0SR5_11_8 FM(AVB1_RD0) FM(AVB1_MII_RD0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 473 #define IP0SR5_15_12 FM(AVB1_RD1) FM(AVB1_MII_RD1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 474 #define IP0SR5_19_16 FM(AVB1_RD2) FM(AVB1_MII_RD2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 475 #define IP0SR5_23_20 FM(AVB1_RD3) FM(AVB1_MII_RD3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 476 #define IP0SR5_27_24 FM(AVB1_TX_CTL) FM(AVB1_MII_TX_EN) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 477 #define IP0SR5_31_28 FM(AVB1_TXC) FM(AVB1_MII_TXC) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 478 /* IP1SR5 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 479 #define IP1SR5_3_0 FM(AVB1_TD0) FM(AVB1_MII_TD0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 480 #define IP1SR5_7_4 FM(AVB1_TD1) FM(AVB1_MII_TD1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 481 #define IP1SR5_11_8 FM(AVB1_TD2) FM(AVB1_MII_TD2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 482 #define IP1SR5_15_12 FM(AVB1_TD3) FM(AVB1_MII_TD3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 483 #define IP1SR5_19_16 FM(AVB1_TXCREFCLK) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 484 #define IP1SR5_23_20 FM(AVB1_MDIO) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 485 #define IP1SR5_27_24 FM(AVB1_MDC) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 486 #define IP1SR5_31_28 FM(AVB1_MAGIC) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 487 /* IP2SR5 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 - F */ 488 #define IP2SR5_3_0 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 489 #define IP2SR5_7_4 FM(AVB1_LINK) FM(AVB1_MII_TX_ER) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 490 #define IP2SR5_11_8 FM(AVB1_AVTP_MATCH) FM(AVB1_MII_RX_ER) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 491 #define IP2SR5_15_12 FM(AVB1_AVTP_CAPTURE) FM(AVB1_MII_CRS) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 492 #define IP2SR5_19_16 FM(AVB1_AVTP_PPS) FM(AVB1_MII_COL) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 493 #define IP2SR5_23_20 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 494 #define IP2SR5_27_24 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 495 #define IP2SR5_31_28 F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 496 497 #define PINMUX_GPSR \ 498 \ 499 GPSR1_30 \ 500 GPSR1_29 \ 501 GPSR1_28 \ 502 GPSR0_27 GPSR1_27 \ 503 GPSR0_26 GPSR1_26 GPSR4_26 \ 504 GPSR0_25 GPSR1_25 GPSR4_25 \ 505 GPSR0_24 GPSR1_24 GPSR2_24 GPSR4_24 \ 506 GPSR0_23 GPSR1_23 GPSR2_23 GPSR4_23 \ 507 GPSR0_22 GPSR1_22 GPSR2_22 GPSR4_22 \ 508 GPSR0_21 GPSR1_21 GPSR2_21 GPSR4_21 \ 509 GPSR0_20 GPSR1_20 GPSR2_20 GPSR4_20 GPSR5_20 GPSR6_20 GPSR7_20 GPSR8_20 GPSR9_20 \ 510 GPSR0_19 GPSR1_19 GPSR2_19 GPSR4_19 GPSR5_19 GPSR6_19 GPSR7_19 GPSR8_19 GPSR9_19 \ 511 GPSR0_18 GPSR1_18 GPSR2_18 GPSR4_18 GPSR5_18 GPSR6_18 GPSR7_18 GPSR8_18 GPSR9_18 \ 512 GPSR0_17 GPSR1_17 GPSR2_17 GPSR4_17 GPSR5_17 GPSR6_17 GPSR7_17 GPSR8_17 GPSR9_17 \ 513 GPSR0_16 GPSR1_16 GPSR2_16 GPSR3_16 GPSR4_16 GPSR5_16 GPSR6_16 GPSR7_16 GPSR8_16 GPSR9_16 \ 514 GPSR0_15 GPSR1_15 GPSR2_15 GPSR3_15 GPSR4_15 GPSR5_15 GPSR6_15 GPSR7_15 GPSR8_15 GPSR9_15 \ 515 GPSR0_14 GPSR1_14 GPSR2_14 GPSR3_14 GPSR4_14 GPSR5_14 GPSR6_14 GPSR7_14 GPSR8_14 GPSR9_14 \ 516 GPSR0_13 GPSR1_13 GPSR2_13 GPSR3_13 GPSR4_13 GPSR5_13 GPSR6_13 GPSR7_13 GPSR8_13 GPSR9_13 \ 517 GPSR0_12 GPSR1_12 GPSR2_12 GPSR3_12 GPSR4_12 GPSR5_12 GPSR6_12 GPSR7_12 GPSR8_12 GPSR9_12 \ 518 GPSR0_11 GPSR1_11 GPSR2_11 GPSR3_11 GPSR4_11 GPSR5_11 GPSR6_11 GPSR7_11 GPSR8_11 GPSR9_11 \ 519 GPSR0_10 GPSR1_10 GPSR2_10 GPSR3_10 GPSR4_10 GPSR5_10 GPSR6_10 GPSR7_10 GPSR8_10 GPSR9_10 \ 520 GPSR0_9 GPSR1_9 GPSR2_9 GPSR3_9 GPSR4_9 GPSR5_9 GPSR6_9 GPSR7_9 GPSR8_9 GPSR9_9 \ 521 GPSR0_8 GPSR1_8 GPSR2_8 GPSR3_8 GPSR4_8 GPSR5_8 GPSR6_8 GPSR7_8 GPSR8_8 GPSR9_8 \ 522 GPSR0_7 GPSR1_7 GPSR2_7 GPSR3_7 GPSR4_7 GPSR5_7 GPSR6_7 GPSR7_7 GPSR8_7 GPSR9_7 \ 523 GPSR0_6 GPSR1_6 GPSR2_6 GPSR3_6 GPSR4_6 GPSR5_6 GPSR6_6 GPSR7_6 GPSR8_6 GPSR9_6 \ 524 GPSR0_5 GPSR1_5 GPSR2_5 GPSR3_5 GPSR4_5 GPSR5_5 GPSR6_5 GPSR7_5 GPSR8_5 GPSR9_5 \ 525 GPSR0_4 GPSR1_4 GPSR2_4 GPSR3_4 GPSR4_4 GPSR5_4 GPSR6_4 GPSR7_4 GPSR8_4 GPSR9_4 \ 526 GPSR0_3 GPSR1_3 GPSR2_3 GPSR3_3 GPSR4_3 GPSR5_3 GPSR6_3 GPSR7_3 GPSR8_3 GPSR9_3 \ 527 GPSR0_2 GPSR1_2 GPSR2_2 GPSR3_2 GPSR4_2 GPSR5_2 GPSR6_2 GPSR7_2 GPSR8_2 GPSR9_2 \ 528 GPSR0_1 GPSR1_1 GPSR2_1 GPSR3_1 GPSR4_1 GPSR5_1 GPSR6_1 GPSR7_1 GPSR8_1 GPSR9_1 \ 529 GPSR0_0 GPSR1_0 GPSR2_0 GPSR3_0 GPSR4_0 GPSR5_0 GPSR6_0 GPSR7_0 GPSR8_0 GPSR9_0 530 531 #define PINMUX_IPSR \ 532 \ 533 FM(IP0SR1_3_0) IP0SR1_3_0 FM(IP1SR1_3_0) IP1SR1_3_0 FM(IP2SR1_3_0) IP2SR1_3_0 FM(IP3SR1_3_0) IP3SR1_3_0 \ 534 FM(IP0SR1_7_4) IP0SR1_7_4 FM(IP1SR1_7_4) IP1SR1_7_4 FM(IP2SR1_7_4) IP2SR1_7_4 FM(IP3SR1_7_4) IP3SR1_7_4 \ 535 FM(IP0SR1_11_8) IP0SR1_11_8 FM(IP1SR1_11_8) IP1SR1_11_8 FM(IP2SR1_11_8) IP2SR1_11_8 FM(IP3SR1_11_8) IP3SR1_11_8 \ 536 FM(IP0SR1_15_12) IP0SR1_15_12 FM(IP1SR1_15_12) IP1SR1_15_12 FM(IP2SR1_15_12) IP2SR1_15_12 FM(IP3SR1_15_12) IP3SR1_15_12 \ 537 FM(IP0SR1_19_16) IP0SR1_19_16 FM(IP1SR1_19_16) IP1SR1_19_16 FM(IP2SR1_19_16) IP2SR1_19_16 FM(IP3SR1_19_16) IP3SR1_19_16 \ 538 FM(IP0SR1_23_20) IP0SR1_23_20 FM(IP1SR1_23_20) IP1SR1_23_20 FM(IP2SR1_23_20) IP2SR1_23_20 FM(IP3SR1_23_20) IP3SR1_23_20 \ 539 FM(IP0SR1_27_24) IP0SR1_27_24 FM(IP1SR1_27_24) IP1SR1_27_24 FM(IP2SR1_27_24) IP2SR1_27_24 FM(IP3SR1_27_24) IP3SR1_27_24 \ 540 FM(IP0SR1_31_28) IP0SR1_31_28 FM(IP1SR1_31_28) IP1SR1_31_28 FM(IP2SR1_31_28) IP2SR1_31_28 FM(IP3SR1_31_28) IP3SR1_31_28 \ 541 \ 542 FM(IP0SR2_3_0) IP0SR2_3_0 FM(IP1SR2_3_0) IP1SR2_3_0 FM(IP2SR2_3_0) IP2SR2_3_0 \ 543 FM(IP0SR2_7_4) IP0SR2_7_4 FM(IP1SR2_7_4) IP1SR2_7_4 FM(IP2SR2_7_4) IP2SR2_7_4 \ 544 FM(IP0SR2_11_8) IP0SR2_11_8 FM(IP1SR2_11_8) IP1SR2_11_8 FM(IP2SR2_11_8) IP2SR2_11_8 \ 545 FM(IP0SR2_15_12) IP0SR2_15_12 FM(IP1SR2_15_12) IP1SR2_15_12 FM(IP2SR2_15_12) IP2SR2_15_12 \ 546 FM(IP0SR2_19_16) IP0SR2_19_16 FM(IP1SR2_19_16) IP1SR2_19_16 FM(IP2SR2_19_16) IP2SR2_19_16 \ 547 FM(IP0SR2_23_20) IP0SR2_23_20 FM(IP1SR2_23_20) IP1SR2_23_20 FM(IP2SR2_23_20) IP2SR2_23_20 \ 548 FM(IP0SR2_27_24) IP0SR2_27_24 FM(IP1SR2_27_24) IP1SR2_27_24 FM(IP2SR2_27_24) IP2SR2_27_24 \ 549 FM(IP0SR2_31_28) IP0SR2_31_28 FM(IP1SR2_31_28) IP1SR2_31_28 FM(IP2SR2_31_28) IP2SR2_31_28 \ 550 \ 551 FM(IP0SR3_3_0) IP0SR3_3_0 FM(IP1SR3_3_0) IP1SR3_3_0 \ 552 FM(IP0SR3_7_4) IP0SR3_7_4 FM(IP1SR3_7_4) IP1SR3_7_4 \ 553 FM(IP0SR3_11_8) IP0SR3_11_8 FM(IP1SR3_11_8) IP1SR3_11_8 \ 554 FM(IP0SR3_15_12) IP0SR3_15_12 FM(IP1SR3_15_12) IP1SR3_15_12 \ 555 FM(IP0SR3_19_16) IP0SR3_19_16 FM(IP1SR3_19_16) IP1SR3_19_16 \ 556 FM(IP0SR3_23_20) IP0SR3_23_20 FM(IP1SR3_23_20) IP1SR3_23_20 \ 557 FM(IP0SR3_27_24) IP0SR3_27_24 FM(IP1SR3_27_24) IP1SR3_27_24 \ 558 FM(IP0SR3_31_28) IP0SR3_31_28 FM(IP1SR3_31_28) IP1SR3_31_28 \ 559 \ 560 FM(IP0SR4_3_0) IP0SR4_3_0 FM(IP1SR4_3_0) IP1SR4_3_0 FM(IP2SR4_3_0) IP2SR4_3_0 \ 561 FM(IP0SR4_7_4) IP0SR4_7_4 FM(IP1SR4_7_4) IP1SR4_7_4 FM(IP2SR4_7_4) IP2SR4_7_4 \ 562 FM(IP0SR4_11_8) IP0SR4_11_8 FM(IP1SR4_11_8) IP1SR4_11_8 FM(IP2SR4_11_8) IP2SR4_11_8 \ 563 FM(IP0SR4_15_12) IP0SR4_15_12 FM(IP1SR4_15_12) IP1SR4_15_12 FM(IP2SR4_15_12) IP2SR4_15_12 \ 564 FM(IP0SR4_19_16) IP0SR4_19_16 FM(IP1SR4_19_16) IP1SR4_19_16 FM(IP2SR4_19_16) IP2SR4_19_16 \ 565 FM(IP0SR4_23_20) IP0SR4_23_20 FM(IP1SR4_23_20) IP1SR4_23_20 FM(IP2SR4_23_20) IP2SR4_23_20 \ 566 FM(IP0SR4_27_24) IP0SR4_27_24 FM(IP1SR4_27_24) IP1SR4_27_24 FM(IP2SR4_27_24) IP2SR4_27_24 \ 567 FM(IP0SR4_31_28) IP0SR4_31_28 FM(IP1SR4_31_28) IP1SR4_31_28 FM(IP2SR4_31_28) IP2SR4_31_28 \ 568 \ 569 FM(IP0SR5_3_0) IP0SR5_3_0 FM(IP1SR5_3_0) IP1SR5_3_0 FM(IP2SR5_3_0) IP2SR5_3_0 \ 570 FM(IP0SR5_7_4) IP0SR5_7_4 FM(IP1SR5_7_4) IP1SR5_7_4 FM(IP2SR5_7_4) IP2SR5_7_4 \ 571 FM(IP0SR5_11_8) IP0SR5_11_8 FM(IP1SR5_11_8) IP1SR5_11_8 FM(IP2SR5_11_8) IP2SR5_11_8 \ 572 FM(IP0SR5_15_12) IP0SR5_15_12 FM(IP1SR5_15_12) IP1SR5_15_12 FM(IP2SR5_15_12) IP2SR5_15_12 \ 573 FM(IP0SR5_19_16) IP0SR5_19_16 FM(IP1SR5_19_16) IP1SR5_19_16 FM(IP2SR5_19_16) IP2SR5_19_16 \ 574 FM(IP0SR5_23_20) IP0SR5_23_20 FM(IP1SR5_23_20) IP1SR5_23_20 FM(IP2SR5_23_20) IP2SR5_23_20 \ 575 FM(IP0SR5_27_24) IP0SR5_27_24 FM(IP1SR5_27_24) IP1SR5_27_24 FM(IP2SR5_27_24) IP2SR5_27_24 \ 576 FM(IP0SR5_31_28) IP0SR5_31_28 FM(IP1SR5_31_28) IP1SR5_31_28 FM(IP2SR5_31_28) IP2SR5_31_28 577 578 /* MOD_SEL2 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ 579 #define MOD_SEL2_15_14 FM(SEL_I2C6_0) F_(0, 0) F_(0, 0) FM(SEL_I2C6_3) 580 #define MOD_SEL2_13_12 FM(SEL_I2C5_0) F_(0, 0) F_(0, 0) FM(SEL_I2C5_3) 581 #define MOD_SEL2_11_10 FM(SEL_I2C4_0) F_(0, 0) F_(0, 0) FM(SEL_I2C4_3) 582 #define MOD_SEL2_9_8 FM(SEL_I2C3_0) F_(0, 0) F_(0, 0) FM(SEL_I2C3_3) 583 #define MOD_SEL2_7_6 FM(SEL_I2C2_0) F_(0, 0) F_(0, 0) FM(SEL_I2C2_3) 584 #define MOD_SEL2_5_4 FM(SEL_I2C1_0) F_(0, 0) F_(0, 0) FM(SEL_I2C1_3) 585 #define MOD_SEL2_3_2 FM(SEL_I2C0_0) F_(0, 0) F_(0, 0) FM(SEL_I2C0_3) 586 587 #define PINMUX_MOD_SELS \ 588 \ 589 MOD_SEL2_15_14 \ 590 MOD_SEL2_13_12 \ 591 MOD_SEL2_11_10 \ 592 MOD_SEL2_9_8 \ 593 MOD_SEL2_7_6 \ 594 MOD_SEL2_5_4 \ 595 MOD_SEL2_3_2 596 597 #define PINMUX_PHYS \ 598 FM(SCL0) FM(SDA0) FM(SCL1) FM(SDA1) FM(SCL2) FM(SDA2) FM(SCL3) FM(SDA3) \ 599 FM(SCL4) FM(SDA4) FM(SCL5) FM(SDA5) FM(SCL6) FM(SDA6) 600 601 enum { 602 PINMUX_RESERVED = 0, 603 604 PINMUX_DATA_BEGIN, 605 GP_ALL(DATA), 606 PINMUX_DATA_END, 607 608 #define F_(x, y) 609 #define FM(x) FN_##x, 610 PINMUX_FUNCTION_BEGIN, 611 GP_ALL(FN), 612 PINMUX_GPSR 613 PINMUX_IPSR 614 PINMUX_MOD_SELS 615 PINMUX_FUNCTION_END, 616 #undef F_ 617 #undef FM 618 619 #define F_(x, y) 620 #define FM(x) x##_MARK, 621 PINMUX_MARK_BEGIN, 622 PINMUX_GPSR 623 PINMUX_IPSR 624 PINMUX_MOD_SELS 625 PINMUX_PHYS 626 PINMUX_MARK_END, 627 #undef F_ 628 #undef FM 629 }; 630 631 static const u16 pinmux_data[] = { 632 PINMUX_DATA_GP_ALL(), 633 634 PINMUX_SINGLE(MMC_D7), 635 PINMUX_SINGLE(MMC_D6), 636 PINMUX_SINGLE(MMC_D5), 637 PINMUX_SINGLE(MMC_D4), 638 PINMUX_SINGLE(MMC_SD_CLK), 639 PINMUX_SINGLE(MMC_SD_D3), 640 PINMUX_SINGLE(MMC_SD_D2), 641 PINMUX_SINGLE(MMC_SD_D1), 642 PINMUX_SINGLE(MMC_SD_D0), 643 PINMUX_SINGLE(MMC_SD_CMD), 644 PINMUX_SINGLE(MMC_DS), 645 646 PINMUX_SINGLE(SD_CD), 647 PINMUX_SINGLE(SD_WP), 648 649 PINMUX_SINGLE(RPC_INT_N), 650 PINMUX_SINGLE(RPC_WP_N), 651 PINMUX_SINGLE(RPC_RESET_N), 652 653 PINMUX_SINGLE(QSPI1_SSL), 654 PINMUX_SINGLE(QSPI1_IO3), 655 PINMUX_SINGLE(QSPI1_IO2), 656 PINMUX_SINGLE(QSPI1_MISO_IO1), 657 PINMUX_SINGLE(QSPI1_MOSI_IO0), 658 PINMUX_SINGLE(QSPI1_SPCLK), 659 PINMUX_SINGLE(QSPI0_SSL), 660 PINMUX_SINGLE(QSPI0_IO3), 661 PINMUX_SINGLE(QSPI0_IO2), 662 PINMUX_SINGLE(QSPI0_MISO_IO1), 663 PINMUX_SINGLE(QSPI0_MOSI_IO0), 664 PINMUX_SINGLE(QSPI0_SPCLK), 665 666 PINMUX_SINGLE(TCLK2_A), 667 668 PINMUX_SINGLE(CANFD7_RX), 669 PINMUX_SINGLE(CANFD7_TX), 670 PINMUX_SINGLE(CANFD6_RX), 671 PINMUX_SINGLE(CANFD1_RX), 672 PINMUX_SINGLE(CANFD1_TX), 673 PINMUX_SINGLE(CAN_CLK), 674 675 PINMUX_SINGLE(AVS1), 676 PINMUX_SINGLE(AVS0), 677 678 PINMUX_SINGLE(PCIE3_CLKREQ_N), 679 PINMUX_SINGLE(PCIE2_CLKREQ_N), 680 PINMUX_SINGLE(PCIE1_CLKREQ_N), 681 PINMUX_SINGLE(PCIE0_CLKREQ_N), 682 683 PINMUX_SINGLE(AVB0_PHY_INT), 684 PINMUX_SINGLE(AVB0_MAGIC), 685 PINMUX_SINGLE(AVB0_MDC), 686 PINMUX_SINGLE(AVB0_MDIO), 687 PINMUX_SINGLE(AVB0_TXCREFCLK), 688 689 PINMUX_SINGLE(AVB1_PHY_INT), 690 PINMUX_SINGLE(AVB1_MAGIC), 691 PINMUX_SINGLE(AVB1_MDC), 692 PINMUX_SINGLE(AVB1_MDIO), 693 PINMUX_SINGLE(AVB1_TXCREFCLK), 694 695 PINMUX_SINGLE(AVB2_AVTP_PPS), 696 PINMUX_SINGLE(AVB2_AVTP_CAPTURE), 697 PINMUX_SINGLE(AVB2_AVTP_MATCH), 698 PINMUX_SINGLE(AVB2_LINK), 699 PINMUX_SINGLE(AVB2_PHY_INT), 700 PINMUX_SINGLE(AVB2_MAGIC), 701 PINMUX_SINGLE(AVB2_MDC), 702 PINMUX_SINGLE(AVB2_MDIO), 703 PINMUX_SINGLE(AVB2_TXCREFCLK), 704 PINMUX_SINGLE(AVB2_TD3), 705 PINMUX_SINGLE(AVB2_TD2), 706 PINMUX_SINGLE(AVB2_TD1), 707 PINMUX_SINGLE(AVB2_TD0), 708 PINMUX_SINGLE(AVB2_TXC), 709 PINMUX_SINGLE(AVB2_TX_CTL), 710 PINMUX_SINGLE(AVB2_RD3), 711 PINMUX_SINGLE(AVB2_RD2), 712 PINMUX_SINGLE(AVB2_RD1), 713 PINMUX_SINGLE(AVB2_RD0), 714 PINMUX_SINGLE(AVB2_RXC), 715 PINMUX_SINGLE(AVB2_RX_CTL), 716 717 PINMUX_SINGLE(AVB3_AVTP_PPS), 718 PINMUX_SINGLE(AVB3_AVTP_CAPTURE), 719 PINMUX_SINGLE(AVB3_AVTP_MATCH), 720 PINMUX_SINGLE(AVB3_LINK), 721 PINMUX_SINGLE(AVB3_PHY_INT), 722 PINMUX_SINGLE(AVB3_MAGIC), 723 PINMUX_SINGLE(AVB3_MDC), 724 PINMUX_SINGLE(AVB3_MDIO), 725 PINMUX_SINGLE(AVB3_TXCREFCLK), 726 PINMUX_SINGLE(AVB3_TD3), 727 PINMUX_SINGLE(AVB3_TD2), 728 PINMUX_SINGLE(AVB3_TD1), 729 PINMUX_SINGLE(AVB3_TD0), 730 PINMUX_SINGLE(AVB3_TXC), 731 PINMUX_SINGLE(AVB3_TX_CTL), 732 PINMUX_SINGLE(AVB3_RD3), 733 PINMUX_SINGLE(AVB3_RD2), 734 PINMUX_SINGLE(AVB3_RD1), 735 PINMUX_SINGLE(AVB3_RD0), 736 PINMUX_SINGLE(AVB3_RXC), 737 PINMUX_SINGLE(AVB3_RX_CTL), 738 739 PINMUX_SINGLE(AVB4_AVTP_PPS), 740 PINMUX_SINGLE(AVB4_AVTP_CAPTURE), 741 PINMUX_SINGLE(AVB4_AVTP_MATCH), 742 PINMUX_SINGLE(AVB4_LINK), 743 PINMUX_SINGLE(AVB4_PHY_INT), 744 PINMUX_SINGLE(AVB4_MAGIC), 745 PINMUX_SINGLE(AVB4_MDC), 746 PINMUX_SINGLE(AVB4_MDIO), 747 PINMUX_SINGLE(AVB4_TXCREFCLK), 748 PINMUX_SINGLE(AVB4_TD3), 749 PINMUX_SINGLE(AVB4_TD2), 750 PINMUX_SINGLE(AVB4_TD1), 751 PINMUX_SINGLE(AVB4_TD0), 752 PINMUX_SINGLE(AVB4_TXC), 753 PINMUX_SINGLE(AVB4_TX_CTL), 754 PINMUX_SINGLE(AVB4_RD3), 755 PINMUX_SINGLE(AVB4_RD2), 756 PINMUX_SINGLE(AVB4_RD1), 757 PINMUX_SINGLE(AVB4_RD0), 758 PINMUX_SINGLE(AVB4_RXC), 759 PINMUX_SINGLE(AVB4_RX_CTL), 760 761 PINMUX_SINGLE(AVB5_AVTP_PPS), 762 PINMUX_SINGLE(AVB5_AVTP_CAPTURE), 763 PINMUX_SINGLE(AVB5_AVTP_MATCH), 764 PINMUX_SINGLE(AVB5_LINK), 765 PINMUX_SINGLE(AVB5_PHY_INT), 766 PINMUX_SINGLE(AVB5_MAGIC), 767 PINMUX_SINGLE(AVB5_MDC), 768 PINMUX_SINGLE(AVB5_MDIO), 769 PINMUX_SINGLE(AVB5_TXCREFCLK), 770 PINMUX_SINGLE(AVB5_TD3), 771 PINMUX_SINGLE(AVB5_TD2), 772 PINMUX_SINGLE(AVB5_TD1), 773 PINMUX_SINGLE(AVB5_TD0), 774 PINMUX_SINGLE(AVB5_TXC), 775 PINMUX_SINGLE(AVB5_TX_CTL), 776 PINMUX_SINGLE(AVB5_RD3), 777 PINMUX_SINGLE(AVB5_RD2), 778 PINMUX_SINGLE(AVB5_RD1), 779 PINMUX_SINGLE(AVB5_RD0), 780 PINMUX_SINGLE(AVB5_RXC), 781 PINMUX_SINGLE(AVB5_RX_CTL), 782 783 /* IP0SR1 */ 784 PINMUX_IPSR_GPSR(IP0SR1_3_0, SCIF_CLK), 785 PINMUX_IPSR_GPSR(IP0SR1_3_0, A0), 786 787 PINMUX_IPSR_GPSR(IP0SR1_7_4, HRX0), 788 PINMUX_IPSR_GPSR(IP0SR1_7_4, RX0), 789 PINMUX_IPSR_GPSR(IP0SR1_7_4, A1), 790 791 PINMUX_IPSR_GPSR(IP0SR1_11_8, HSCK0), 792 PINMUX_IPSR_GPSR(IP0SR1_11_8, SCK0), 793 PINMUX_IPSR_GPSR(IP0SR1_11_8, A2), 794 795 PINMUX_IPSR_GPSR(IP0SR1_15_12, HRTS0_N), 796 PINMUX_IPSR_GPSR(IP0SR1_15_12, RTS0_N), 797 PINMUX_IPSR_GPSR(IP0SR1_15_12, A3), 798 799 PINMUX_IPSR_GPSR(IP0SR1_19_16, HCTS0_N), 800 PINMUX_IPSR_GPSR(IP0SR1_19_16, CTS0_N), 801 PINMUX_IPSR_GPSR(IP0SR1_19_16, A4), 802 803 PINMUX_IPSR_GPSR(IP0SR1_23_20, HTX0), 804 PINMUX_IPSR_GPSR(IP0SR1_23_20, TX0), 805 PINMUX_IPSR_GPSR(IP0SR1_23_20, A5), 806 807 PINMUX_IPSR_GPSR(IP0SR1_27_24, MSIOF0_RXD), 808 PINMUX_IPSR_GPSR(IP0SR1_27_24, DU_DR2), 809 PINMUX_IPSR_GPSR(IP0SR1_27_24, A6), 810 811 PINMUX_IPSR_GPSR(IP0SR1_31_28, MSIOF0_TXD), 812 PINMUX_IPSR_GPSR(IP0SR1_31_28, DU_DR3), 813 PINMUX_IPSR_GPSR(IP0SR1_31_28, A7), 814 815 /* IP1SR1 */ 816 PINMUX_IPSR_GPSR(IP1SR1_3_0, MSIOF0_SCK), 817 PINMUX_IPSR_GPSR(IP1SR1_3_0, DU_DR4), 818 PINMUX_IPSR_GPSR(IP1SR1_3_0, A8), 819 820 PINMUX_IPSR_GPSR(IP1SR1_7_4, MSIOF0_SYNC), 821 PINMUX_IPSR_GPSR(IP1SR1_7_4, DU_DR5), 822 PINMUX_IPSR_GPSR(IP1SR1_7_4, A9), 823 824 PINMUX_IPSR_GPSR(IP1SR1_11_8, MSIOF0_SS1), 825 PINMUX_IPSR_GPSR(IP1SR1_11_8, DU_DR6), 826 PINMUX_IPSR_GPSR(IP1SR1_11_8, A10), 827 828 PINMUX_IPSR_GPSR(IP1SR1_15_12, MSIOF0_SS2), 829 PINMUX_IPSR_GPSR(IP1SR1_15_12, DU_DR7), 830 PINMUX_IPSR_GPSR(IP1SR1_15_12, A11), 831 832 PINMUX_IPSR_GPSR(IP1SR1_19_16, MSIOF1_RXD), 833 PINMUX_IPSR_GPSR(IP1SR1_19_16, DU_DG2), 834 PINMUX_IPSR_GPSR(IP1SR1_19_16, A12), 835 836 PINMUX_IPSR_GPSR(IP1SR1_23_20, MSIOF1_TXD), 837 PINMUX_IPSR_GPSR(IP1SR1_23_20, HRX3), 838 PINMUX_IPSR_GPSR(IP1SR1_23_20, SCK3), 839 PINMUX_IPSR_GPSR(IP1SR1_23_20, DU_DG3), 840 PINMUX_IPSR_GPSR(IP1SR1_23_20, A13), 841 842 PINMUX_IPSR_GPSR(IP1SR1_27_24, MSIOF1_SCK), 843 PINMUX_IPSR_GPSR(IP1SR1_27_24, HSCK3), 844 PINMUX_IPSR_GPSR(IP1SR1_27_24, CTS3_N), 845 PINMUX_IPSR_GPSR(IP1SR1_27_24, DU_DG4), 846 PINMUX_IPSR_GPSR(IP1SR1_27_24, A14), 847 848 PINMUX_IPSR_GPSR(IP1SR1_31_28, MSIOF1_SYNC), 849 PINMUX_IPSR_GPSR(IP1SR1_31_28, HRTS3_N), 850 PINMUX_IPSR_GPSR(IP1SR1_31_28, RTS3_N), 851 PINMUX_IPSR_GPSR(IP1SR1_31_28, DU_DG5), 852 PINMUX_IPSR_GPSR(IP1SR1_31_28, A15), 853 854 /* IP2SR1 */ 855 PINMUX_IPSR_GPSR(IP2SR1_3_0, MSIOF1_SS1), 856 PINMUX_IPSR_GPSR(IP2SR1_3_0, HCTS3_N), 857 PINMUX_IPSR_GPSR(IP2SR1_3_0, RX3), 858 PINMUX_IPSR_GPSR(IP2SR1_3_0, DU_DG6), 859 PINMUX_IPSR_GPSR(IP2SR1_3_0, A16), 860 861 PINMUX_IPSR_GPSR(IP2SR1_7_4, MSIOF1_SS2), 862 PINMUX_IPSR_GPSR(IP2SR1_7_4, HTX3), 863 PINMUX_IPSR_GPSR(IP2SR1_7_4, TX3), 864 PINMUX_IPSR_GPSR(IP2SR1_7_4, DU_DG7), 865 PINMUX_IPSR_GPSR(IP2SR1_7_4, A17), 866 867 PINMUX_IPSR_GPSR(IP2SR1_11_8, MSIOF2_RXD), 868 PINMUX_IPSR_GPSR(IP2SR1_11_8, HSCK1), 869 PINMUX_IPSR_GPSR(IP2SR1_11_8, SCK1), 870 PINMUX_IPSR_GPSR(IP2SR1_11_8, DU_DB2), 871 PINMUX_IPSR_GPSR(IP2SR1_11_8, A18), 872 873 PINMUX_IPSR_GPSR(IP2SR1_15_12, MSIOF2_TXD), 874 PINMUX_IPSR_GPSR(IP2SR1_15_12, HCTS1_N), 875 PINMUX_IPSR_GPSR(IP2SR1_15_12, CTS1_N), 876 PINMUX_IPSR_GPSR(IP2SR1_15_12, DU_DB3), 877 PINMUX_IPSR_GPSR(IP2SR1_15_12, A19), 878 879 PINMUX_IPSR_GPSR(IP2SR1_19_16, MSIOF2_SCK), 880 PINMUX_IPSR_GPSR(IP2SR1_19_16, HRTS1_N), 881 PINMUX_IPSR_GPSR(IP2SR1_19_16, RTS1_N), 882 PINMUX_IPSR_GPSR(IP2SR1_19_16, DU_DB4), 883 PINMUX_IPSR_GPSR(IP2SR1_19_16, A20), 884 885 PINMUX_IPSR_GPSR(IP2SR1_23_20, MSIOF2_SYNC), 886 PINMUX_IPSR_GPSR(IP2SR1_23_20, HRX1), 887 PINMUX_IPSR_GPSR(IP2SR1_23_20, RX1_A), 888 PINMUX_IPSR_GPSR(IP2SR1_23_20, DU_DB5), 889 PINMUX_IPSR_GPSR(IP2SR1_23_20, A21), 890 891 PINMUX_IPSR_GPSR(IP2SR1_27_24, MSIOF2_SS1), 892 PINMUX_IPSR_GPSR(IP2SR1_27_24, HTX1), 893 PINMUX_IPSR_GPSR(IP2SR1_27_24, TX1_A), 894 PINMUX_IPSR_GPSR(IP2SR1_27_24, DU_DB6), 895 PINMUX_IPSR_GPSR(IP2SR1_27_24, A22), 896 897 PINMUX_IPSR_GPSR(IP2SR1_31_28, MSIOF2_SS2), 898 PINMUX_IPSR_GPSR(IP2SR1_31_28, TCLK1_B), 899 PINMUX_IPSR_GPSR(IP2SR1_31_28, DU_DB7), 900 PINMUX_IPSR_GPSR(IP2SR1_31_28, A23), 901 902 /* IP3SR1 */ 903 PINMUX_IPSR_GPSR(IP3SR1_3_0, IRQ0), 904 PINMUX_IPSR_GPSR(IP3SR1_3_0, DU_DOTCLKOUT), 905 PINMUX_IPSR_GPSR(IP3SR1_3_0, A24), 906 907 PINMUX_IPSR_GPSR(IP3SR1_7_4, IRQ1), 908 PINMUX_IPSR_GPSR(IP3SR1_7_4, DU_HSYNC), 909 PINMUX_IPSR_GPSR(IP3SR1_7_4, A25), 910 911 PINMUX_IPSR_GPSR(IP3SR1_11_8, IRQ2), 912 PINMUX_IPSR_GPSR(IP3SR1_11_8, DU_VSYNC), 913 PINMUX_IPSR_GPSR(IP3SR1_11_8, CS1_N_A26), 914 915 PINMUX_IPSR_GPSR(IP3SR1_15_12, IRQ3), 916 PINMUX_IPSR_GPSR(IP3SR1_15_12, DU_ODDF_DISP_CDE), 917 PINMUX_IPSR_GPSR(IP3SR1_15_12, CS0_N), 918 919 PINMUX_IPSR_GPSR(IP3SR1_19_16, GP1_28), 920 PINMUX_IPSR_GPSR(IP3SR1_19_16, D0), 921 922 PINMUX_IPSR_GPSR(IP3SR1_23_20, GP1_29), 923 PINMUX_IPSR_GPSR(IP3SR1_23_20, D1), 924 925 PINMUX_IPSR_GPSR(IP3SR1_27_24, GP1_30), 926 PINMUX_IPSR_GPSR(IP3SR1_27_24, D2), 927 928 /* IP0SR2 */ 929 PINMUX_IPSR_GPSR(IP0SR2_3_0, IPC_CLKIN), 930 PINMUX_IPSR_GPSR(IP0SR2_3_0, IPC_CLKEN_IN), 931 PINMUX_IPSR_GPSR(IP0SR2_3_0, DU_DOTCLKIN), 932 933 PINMUX_IPSR_GPSR(IP0SR2_7_4, IPC_CLKOUT), 934 PINMUX_IPSR_GPSR(IP0SR2_7_4, IPC_CLKEN_OUT), 935 936 /* GP2_02 = SCL0 */ 937 PINMUX_IPSR_MSEL(IP0SR2_11_8, GP2_02, SEL_I2C0_0), 938 PINMUX_IPSR_MSEL(IP0SR2_11_8, D3, SEL_I2C0_0), 939 PINMUX_IPSR_PHYS(IP0SR2_11_8, SCL0, SEL_I2C0_3), 940 941 /* GP2_03 = SDA0 */ 942 PINMUX_IPSR_MSEL(IP0SR2_15_12, GP2_03, SEL_I2C0_0), 943 PINMUX_IPSR_MSEL(IP0SR2_15_12, D4, SEL_I2C0_0), 944 PINMUX_IPSR_PHYS(IP0SR2_15_12, SDA0, SEL_I2C0_3), 945 946 /* GP2_04 = SCL1 */ 947 PINMUX_IPSR_MSEL(IP0SR2_19_16, GP2_04, SEL_I2C1_0), 948 PINMUX_IPSR_MSEL(IP0SR2_19_16, MSIOF4_RXD, SEL_I2C1_0), 949 PINMUX_IPSR_MSEL(IP0SR2_19_16, D5, SEL_I2C1_0), 950 PINMUX_IPSR_PHYS(IP0SR2_19_16, SCL1, SEL_I2C1_3), 951 952 /* GP2_05 = SDA1 */ 953 PINMUX_IPSR_MSEL(IP0SR2_23_20, GP2_05, SEL_I2C1_0), 954 PINMUX_IPSR_MSEL(IP0SR2_23_20, HSCK2, SEL_I2C1_0), 955 PINMUX_IPSR_MSEL(IP0SR2_23_20, MSIOF4_TXD, SEL_I2C1_0), 956 PINMUX_IPSR_MSEL(IP0SR2_23_20, SCK4, SEL_I2C1_0), 957 PINMUX_IPSR_MSEL(IP0SR2_23_20, D6, SEL_I2C1_0), 958 PINMUX_IPSR_PHYS(IP0SR2_23_20, SDA1, SEL_I2C1_3), 959 960 /* GP2_06 = SCL2 */ 961 PINMUX_IPSR_MSEL(IP0SR2_27_24, GP2_06, SEL_I2C2_0), 962 PINMUX_IPSR_MSEL(IP0SR2_27_24, HCTS2_N, SEL_I2C2_0), 963 PINMUX_IPSR_MSEL(IP0SR2_27_24, MSIOF4_SCK, SEL_I2C2_0), 964 PINMUX_IPSR_MSEL(IP0SR2_27_24, CTS4_N, SEL_I2C2_0), 965 PINMUX_IPSR_MSEL(IP0SR2_27_24, D7, SEL_I2C2_0), 966 PINMUX_IPSR_PHYS(IP0SR2_27_24, SCL2, SEL_I2C2_3), 967 968 /* GP2_07 = SDA2 */ 969 PINMUX_IPSR_MSEL(IP0SR2_31_28, GP2_07, SEL_I2C2_0), 970 PINMUX_IPSR_MSEL(IP0SR2_31_28, HRTS2_N, SEL_I2C2_0), 971 PINMUX_IPSR_MSEL(IP0SR2_31_28, MSIOF4_SYNC, SEL_I2C2_0), 972 PINMUX_IPSR_MSEL(IP0SR2_31_28, RTS4_N, SEL_I2C2_0), 973 PINMUX_IPSR_MSEL(IP0SR2_31_28, D8, SEL_I2C2_0), 974 PINMUX_IPSR_PHYS(IP0SR2_31_28, SDA2, SEL_I2C2_3), 975 976 /* GP2_08 = SCL3 */ 977 PINMUX_IPSR_MSEL(IP1SR2_3_0, GP2_08, SEL_I2C3_0), 978 PINMUX_IPSR_MSEL(IP1SR2_3_0, HRX2, SEL_I2C3_0), 979 PINMUX_IPSR_MSEL(IP1SR2_3_0, MSIOF4_SS1, SEL_I2C3_0), 980 PINMUX_IPSR_MSEL(IP1SR2_3_0, RX4, SEL_I2C3_0), 981 PINMUX_IPSR_MSEL(IP1SR2_3_0, D9, SEL_I2C3_0), 982 PINMUX_IPSR_PHYS(IP1SR2_3_0, SCL3, SEL_I2C3_3), 983 984 /* GP2_09 = SDA3 */ 985 PINMUX_IPSR_MSEL(IP1SR2_7_4, GP2_09, SEL_I2C3_0), 986 PINMUX_IPSR_MSEL(IP1SR2_7_4, HTX2, SEL_I2C3_0), 987 PINMUX_IPSR_MSEL(IP1SR2_7_4, MSIOF4_SS2, SEL_I2C3_0), 988 PINMUX_IPSR_MSEL(IP1SR2_7_4, TX4, SEL_I2C3_0), 989 PINMUX_IPSR_MSEL(IP1SR2_7_4, D10, SEL_I2C3_0), 990 PINMUX_IPSR_PHYS(IP1SR2_7_4, SDA3, SEL_I2C3_3), 991 992 /* GP2_10 = SCL4 */ 993 PINMUX_IPSR_MSEL(IP1SR2_11_8, GP2_10, SEL_I2C4_0), 994 PINMUX_IPSR_MSEL(IP1SR2_11_8, TCLK2_B, SEL_I2C4_0), 995 PINMUX_IPSR_MSEL(IP1SR2_11_8, MSIOF5_RXD, SEL_I2C4_0), 996 PINMUX_IPSR_MSEL(IP1SR2_11_8, D11, SEL_I2C4_0), 997 PINMUX_IPSR_PHYS(IP1SR2_11_8, SCL4, SEL_I2C4_3), 998 999 /* GP2_11 = SDA4 */ 1000 PINMUX_IPSR_MSEL(IP1SR2_15_12, GP2_11, SEL_I2C4_0), 1001 PINMUX_IPSR_MSEL(IP1SR2_15_12, TCLK3, SEL_I2C4_0), 1002 PINMUX_IPSR_MSEL(IP1SR2_15_12, MSIOF5_TXD, SEL_I2C4_0), 1003 PINMUX_IPSR_MSEL(IP1SR2_15_12, D12, SEL_I2C4_0), 1004 PINMUX_IPSR_PHYS(IP1SR2_15_12, SDA4, SEL_I2C4_3), 1005 1006 /* GP2_12 = SCL5 */ 1007 PINMUX_IPSR_MSEL(IP1SR2_19_16, GP2_12, SEL_I2C5_0), 1008 PINMUX_IPSR_MSEL(IP1SR2_19_16, TCLK4, SEL_I2C5_0), 1009 PINMUX_IPSR_MSEL(IP1SR2_19_16, MSIOF5_SCK, SEL_I2C5_0), 1010 PINMUX_IPSR_MSEL(IP1SR2_19_16, D13, SEL_I2C5_0), 1011 PINMUX_IPSR_PHYS(IP1SR2_19_16, SCL5, SEL_I2C5_3), 1012 1013 /* GP2_13 = SDA5 */ 1014 PINMUX_IPSR_MSEL(IP1SR2_23_20, GP2_13, SEL_I2C5_0), 1015 PINMUX_IPSR_MSEL(IP1SR2_23_20, MSIOF5_SYNC, SEL_I2C5_0), 1016 PINMUX_IPSR_MSEL(IP1SR2_23_20, D14, SEL_I2C5_0), 1017 PINMUX_IPSR_PHYS(IP1SR2_23_20, SDA5, SEL_I2C5_3), 1018 1019 /* GP2_14 = SCL6 */ 1020 PINMUX_IPSR_MSEL(IP1SR2_27_24, GP2_14, SEL_I2C6_0), 1021 PINMUX_IPSR_MSEL(IP1SR2_27_24, IRQ4, SEL_I2C6_0), 1022 PINMUX_IPSR_MSEL(IP1SR2_27_24, MSIOF5_SS1, SEL_I2C6_0), 1023 PINMUX_IPSR_MSEL(IP1SR2_27_24, D15, SEL_I2C6_0), 1024 PINMUX_IPSR_PHYS(IP1SR2_27_24, SCL6, SEL_I2C6_3), 1025 1026 /* GP2_15 = SDA6 */ 1027 PINMUX_IPSR_MSEL(IP1SR2_31_28, GP2_15, SEL_I2C6_0), 1028 PINMUX_IPSR_MSEL(IP1SR2_31_28, IRQ5, SEL_I2C6_0), 1029 PINMUX_IPSR_MSEL(IP1SR2_31_28, MSIOF5_SS2, SEL_I2C6_0), 1030 PINMUX_IPSR_MSEL(IP1SR2_31_28, CPG_CPCKOUT, SEL_I2C6_0), 1031 PINMUX_IPSR_PHYS(IP1SR2_31_28, SDA6, SEL_I2C6_3), 1032 1033 /* IP2SR2 */ 1034 PINMUX_IPSR_GPSR(IP2SR2_3_0, FXR_TXDA_A), 1035 PINMUX_IPSR_GPSR(IP2SR2_3_0, MSIOF3_SS1), 1036 1037 PINMUX_IPSR_GPSR(IP2SR2_7_4, RXDA_EXTFXR_A), 1038 PINMUX_IPSR_GPSR(IP2SR2_7_4, MSIOF3_SS2), 1039 PINMUX_IPSR_GPSR(IP2SR2_7_4, BS_N), 1040 1041 PINMUX_IPSR_GPSR(IP2SR2_11_8, FXR_TXDB), 1042 PINMUX_IPSR_GPSR(IP2SR2_11_8, MSIOF3_RXD), 1043 PINMUX_IPSR_GPSR(IP2SR2_11_8, RD_N), 1044 1045 PINMUX_IPSR_GPSR(IP2SR2_15_12, RXDB_EXTFXR), 1046 PINMUX_IPSR_GPSR(IP2SR2_15_12, MSIOF3_TXD), 1047 PINMUX_IPSR_GPSR(IP2SR2_15_12, WE0_N), 1048 1049 PINMUX_IPSR_GPSR(IP2SR2_19_16, CLK_EXTFXR), 1050 PINMUX_IPSR_GPSR(IP2SR2_19_16, MSIOF3_SCK), 1051 PINMUX_IPSR_GPSR(IP2SR2_19_16, WE1_N), 1052 1053 PINMUX_IPSR_GPSR(IP2SR2_23_20, TPU0TO0), 1054 PINMUX_IPSR_GPSR(IP2SR2_23_20, MSIOF3_SYNC), 1055 PINMUX_IPSR_GPSR(IP2SR2_23_20, RD_WR_N), 1056 1057 PINMUX_IPSR_GPSR(IP2SR2_27_24, TPU0TO1), 1058 PINMUX_IPSR_GPSR(IP2SR2_27_24, CLKOUT), 1059 1060 PINMUX_IPSR_GPSR(IP2SR2_31_28, TCLK1_A), 1061 PINMUX_IPSR_GPSR(IP2SR2_31_28, EX_WAIT0), 1062 1063 /* IP0SR3 */ 1064 PINMUX_IPSR_GPSR(IP0SR3_7_4, CANFD0_TX), 1065 PINMUX_IPSR_GPSR(IP0SR3_7_4, FXR_TXDA_B), 1066 PINMUX_IPSR_GPSR(IP0SR3_7_4, TX1_B), 1067 1068 PINMUX_IPSR_GPSR(IP0SR3_11_8, CANFD0_RX), 1069 PINMUX_IPSR_GPSR(IP0SR3_11_8, RXDA_EXTFXR_B), 1070 PINMUX_IPSR_GPSR(IP0SR3_11_8, RX1_B), 1071 1072 PINMUX_IPSR_GPSR(IP0SR3_23_20, CANFD2_TX), 1073 PINMUX_IPSR_GPSR(IP0SR3_23_20, TPU0TO2), 1074 PINMUX_IPSR_GPSR(IP0SR3_23_20, PWM0), 1075 1076 PINMUX_IPSR_GPSR(IP0SR3_27_24, CANFD2_RX), 1077 PINMUX_IPSR_GPSR(IP0SR3_27_24, TPU0TO3), 1078 PINMUX_IPSR_GPSR(IP0SR3_27_24, PWM1), 1079 1080 PINMUX_IPSR_GPSR(IP0SR3_31_28, CANFD3_TX), 1081 PINMUX_IPSR_GPSR(IP0SR3_31_28, PWM2), 1082 1083 /* IP1SR3 */ 1084 PINMUX_IPSR_GPSR(IP1SR3_3_0, CANFD3_RX), 1085 PINMUX_IPSR_GPSR(IP1SR3_3_0, PWM3), 1086 1087 PINMUX_IPSR_GPSR(IP1SR3_7_4, CANFD4_TX), 1088 PINMUX_IPSR_GPSR(IP1SR3_7_4, PWM4), 1089 PINMUX_IPSR_GPSR(IP1SR3_7_4, FXR_CLKOUT1), 1090 1091 PINMUX_IPSR_GPSR(IP1SR3_11_8, CANFD4_RX), 1092 PINMUX_IPSR_GPSR(IP1SR3_11_8, FXR_CLKOUT2), 1093 1094 PINMUX_IPSR_GPSR(IP1SR3_15_12, CANFD5_TX), 1095 PINMUX_IPSR_GPSR(IP1SR3_15_12, FXR_TXENA_N), 1096 1097 PINMUX_IPSR_GPSR(IP1SR3_19_16, CANFD5_RX), 1098 PINMUX_IPSR_GPSR(IP1SR3_19_16, FXR_TXENB_N), 1099 1100 PINMUX_IPSR_GPSR(IP1SR3_23_20, CANFD6_TX), 1101 PINMUX_IPSR_GPSR(IP1SR3_23_20, STPWT_EXTFXR), 1102 1103 /* IP0SR4 */ 1104 PINMUX_IPSR_GPSR(IP0SR4_3_0, AVB0_RX_CTL), 1105 PINMUX_IPSR_GPSR(IP0SR4_3_0, AVB0_MII_RX_DV), 1106 1107 PINMUX_IPSR_GPSR(IP0SR4_7_4, AVB0_RXC), 1108 PINMUX_IPSR_GPSR(IP0SR4_7_4, AVB0_MII_RXC), 1109 1110 PINMUX_IPSR_GPSR(IP0SR4_11_8, AVB0_RD0), 1111 PINMUX_IPSR_GPSR(IP0SR4_11_8, AVB0_MII_RD0), 1112 1113 PINMUX_IPSR_GPSR(IP0SR4_15_12, AVB0_RD1), 1114 PINMUX_IPSR_GPSR(IP0SR4_15_12, AVB0_MII_RD1), 1115 1116 PINMUX_IPSR_GPSR(IP0SR4_19_16, AVB0_RD2), 1117 PINMUX_IPSR_GPSR(IP0SR4_19_16, AVB0_MII_RD2), 1118 1119 PINMUX_IPSR_GPSR(IP0SR4_23_20, AVB0_RD3), 1120 PINMUX_IPSR_GPSR(IP0SR4_23_20, AVB0_MII_RD3), 1121 1122 PINMUX_IPSR_GPSR(IP0SR4_27_24, AVB0_TX_CTL), 1123 PINMUX_IPSR_GPSR(IP0SR4_27_24, AVB0_MII_TX_EN), 1124 1125 PINMUX_IPSR_GPSR(IP0SR4_31_28, AVB0_TXC), 1126 PINMUX_IPSR_GPSR(IP0SR4_31_28, AVB0_MII_TXC), 1127 1128 /* IP1SR4 */ 1129 PINMUX_IPSR_GPSR(IP1SR4_3_0, AVB0_TD0), 1130 PINMUX_IPSR_GPSR(IP1SR4_3_0, AVB0_MII_TD0), 1131 1132 PINMUX_IPSR_GPSR(IP1SR4_7_4, AVB0_TD1), 1133 PINMUX_IPSR_GPSR(IP1SR4_7_4, AVB0_MII_TD1), 1134 1135 PINMUX_IPSR_GPSR(IP1SR4_11_8, AVB0_TD2), 1136 PINMUX_IPSR_GPSR(IP1SR4_11_8, AVB0_MII_TD2), 1137 1138 PINMUX_IPSR_GPSR(IP1SR4_15_12, AVB0_TD3), 1139 PINMUX_IPSR_GPSR(IP1SR4_15_12, AVB0_MII_TD3), 1140 1141 PINMUX_IPSR_GPSR(IP1SR4_19_16, AVB0_TXCREFCLK), 1142 1143 PINMUX_IPSR_GPSR(IP1SR4_23_20, AVB0_MDIO), 1144 1145 PINMUX_IPSR_GPSR(IP1SR4_27_24, AVB0_MDC), 1146 1147 PINMUX_IPSR_GPSR(IP1SR4_31_28, AVB0_MAGIC), 1148 1149 /* IP2SR4 */ 1150 PINMUX_IPSR_GPSR(IP2SR4_7_4, AVB0_LINK), 1151 PINMUX_IPSR_GPSR(IP2SR4_7_4, AVB0_MII_TX_ER), 1152 1153 PINMUX_IPSR_GPSR(IP2SR4_11_8, AVB0_AVTP_MATCH), 1154 PINMUX_IPSR_GPSR(IP2SR4_11_8, AVB0_MII_RX_ER), 1155 PINMUX_IPSR_GPSR(IP2SR4_11_8, CC5_OSCOUT), 1156 1157 PINMUX_IPSR_GPSR(IP2SR4_15_12, AVB0_AVTP_CAPTURE), 1158 PINMUX_IPSR_GPSR(IP2SR4_15_12, AVB0_MII_CRS), 1159 1160 PINMUX_IPSR_GPSR(IP2SR4_19_16, AVB0_AVTP_PPS), 1161 PINMUX_IPSR_GPSR(IP2SR4_19_16, AVB0_MII_COL), 1162 1163 /* IP0SR5 */ 1164 PINMUX_IPSR_GPSR(IP0SR5_3_0, AVB1_RX_CTL), 1165 PINMUX_IPSR_GPSR(IP0SR5_3_0, AVB1_MII_RX_DV), 1166 1167 PINMUX_IPSR_GPSR(IP0SR5_7_4, AVB1_RXC), 1168 PINMUX_IPSR_GPSR(IP0SR5_7_4, AVB1_MII_RXC), 1169 1170 PINMUX_IPSR_GPSR(IP0SR5_11_8, AVB1_RD0), 1171 PINMUX_IPSR_GPSR(IP0SR5_11_8, AVB1_MII_RD0), 1172 1173 PINMUX_IPSR_GPSR(IP0SR5_15_12, AVB1_RD1), 1174 PINMUX_IPSR_GPSR(IP0SR5_15_12, AVB1_MII_RD1), 1175 1176 PINMUX_IPSR_GPSR(IP0SR5_19_16, AVB1_RD2), 1177 PINMUX_IPSR_GPSR(IP0SR5_19_16, AVB1_MII_RD2), 1178 1179 PINMUX_IPSR_GPSR(IP0SR5_23_20, AVB1_RD3), 1180 PINMUX_IPSR_GPSR(IP0SR5_23_20, AVB1_MII_RD3), 1181 1182 PINMUX_IPSR_GPSR(IP0SR5_27_24, AVB1_TX_CTL), 1183 PINMUX_IPSR_GPSR(IP0SR5_27_24, AVB1_MII_TX_EN), 1184 1185 PINMUX_IPSR_GPSR(IP0SR5_31_28, AVB1_TXC), 1186 PINMUX_IPSR_GPSR(IP0SR5_31_28, AVB1_MII_TXC), 1187 1188 /* IP1SR5 */ 1189 PINMUX_IPSR_GPSR(IP1SR5_3_0, AVB1_TD0), 1190 PINMUX_IPSR_GPSR(IP1SR5_3_0, AVB1_MII_TD0), 1191 1192 PINMUX_IPSR_GPSR(IP1SR5_7_4, AVB1_TD1), 1193 PINMUX_IPSR_GPSR(IP1SR5_7_4, AVB1_MII_TD1), 1194 1195 PINMUX_IPSR_GPSR(IP1SR5_11_8, AVB1_TD2), 1196 PINMUX_IPSR_GPSR(IP1SR5_11_8, AVB1_MII_TD2), 1197 1198 PINMUX_IPSR_GPSR(IP1SR5_15_12, AVB1_TD3), 1199 PINMUX_IPSR_GPSR(IP1SR5_15_12, AVB1_MII_TD3), 1200 1201 PINMUX_IPSR_GPSR(IP1SR5_19_16, AVB1_TXCREFCLK), 1202 1203 PINMUX_IPSR_GPSR(IP1SR5_23_20, AVB1_MDIO), 1204 1205 PINMUX_IPSR_GPSR(IP1SR5_27_24, AVB1_MDC), 1206 1207 PINMUX_IPSR_GPSR(IP1SR5_31_28, AVB1_MAGIC), 1208 1209 /* IP2SR5 */ 1210 PINMUX_IPSR_GPSR(IP2SR5_7_4, AVB1_LINK), 1211 PINMUX_IPSR_GPSR(IP2SR5_7_4, AVB1_MII_TX_ER), 1212 1213 PINMUX_IPSR_GPSR(IP2SR5_11_8, AVB1_AVTP_MATCH), 1214 PINMUX_IPSR_GPSR(IP2SR5_11_8, AVB1_MII_RX_ER), 1215 1216 PINMUX_IPSR_GPSR(IP2SR5_15_12, AVB1_AVTP_CAPTURE), 1217 PINMUX_IPSR_GPSR(IP2SR5_15_12, AVB1_MII_CRS), 1218 1219 PINMUX_IPSR_GPSR(IP2SR5_19_16, AVB1_AVTP_PPS), 1220 PINMUX_IPSR_GPSR(IP2SR5_19_16, AVB1_MII_COL), 1221 }; 1222 1223 /* 1224 * Pins not associated with a GPIO port. 1225 */ 1226 enum { 1227 GP_ASSIGN_LAST(), 1228 NOGP_ALL(), 1229 }; 1230 1231 static const struct sh_pfc_pin pinmux_pins[] = { 1232 PINMUX_GPIO_GP_ALL(), 1233 }; 1234 1235 /* - AVB0 ------------------------------------------------ */ 1236 static const unsigned int avb0_link_pins[] = { 1237 /* AVB0_LINK */ 1238 RCAR_GP_PIN(4, 17), 1239 }; 1240 static const unsigned int avb0_link_mux[] = { 1241 AVB0_LINK_MARK, 1242 }; 1243 static const unsigned int avb0_magic_pins[] = { 1244 /* AVB0_MAGIC */ 1245 RCAR_GP_PIN(4, 15), 1246 }; 1247 static const unsigned int avb0_magic_mux[] = { 1248 AVB0_MAGIC_MARK, 1249 }; 1250 static const unsigned int avb0_phy_int_pins[] = { 1251 /* AVB0_PHY_INT */ 1252 RCAR_GP_PIN(4, 16), 1253 }; 1254 static const unsigned int avb0_phy_int_mux[] = { 1255 AVB0_PHY_INT_MARK, 1256 }; 1257 static const unsigned int avb0_mdio_pins[] = { 1258 /* AVB0_MDC, AVB0_MDIO */ 1259 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 13), 1260 }; 1261 static const unsigned int avb0_mdio_mux[] = { 1262 AVB0_MDC_MARK, AVB0_MDIO_MARK, 1263 }; 1264 static const unsigned int avb0_rgmii_pins[] = { 1265 /* 1266 * AVB0_TX_CTL, AVB0_TXC, AVB0_TD0, AVB0_TD1, AVB0_TD2, AVB0_TD3, 1267 * AVB0_RX_CTL, AVB0_RXC, AVB0_RD0, AVB0_RD1, AVB0_RD2, AVB0_RD3, 1268 */ 1269 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 7), 1270 RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9), 1271 RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), 1272 RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1), 1273 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3), 1274 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), 1275 }; 1276 static const unsigned int avb0_rgmii_mux[] = { 1277 AVB0_TX_CTL_MARK, AVB0_TXC_MARK, 1278 AVB0_TD0_MARK, AVB0_TD1_MARK, AVB0_TD2_MARK, AVB0_TD3_MARK, 1279 AVB0_RX_CTL_MARK, AVB0_RXC_MARK, 1280 AVB0_RD0_MARK, AVB0_RD1_MARK, AVB0_RD2_MARK, AVB0_RD3_MARK, 1281 }; 1282 static const unsigned int avb0_txcrefclk_pins[] = { 1283 /* AVB0_TXCREFCLK */ 1284 RCAR_GP_PIN(4, 12), 1285 }; 1286 static const unsigned int avb0_txcrefclk_mux[] = { 1287 AVB0_TXCREFCLK_MARK, 1288 }; 1289 static const unsigned int avb0_avtp_pps_pins[] = { 1290 /* AVB0_AVTP_PPS */ 1291 RCAR_GP_PIN(4, 20), 1292 }; 1293 static const unsigned int avb0_avtp_pps_mux[] = { 1294 AVB0_AVTP_PPS_MARK, 1295 }; 1296 static const unsigned int avb0_avtp_capture_pins[] = { 1297 /* AVB0_AVTP_CAPTURE */ 1298 RCAR_GP_PIN(4, 19), 1299 }; 1300 static const unsigned int avb0_avtp_capture_mux[] = { 1301 AVB0_AVTP_CAPTURE_MARK, 1302 }; 1303 static const unsigned int avb0_avtp_match_pins[] = { 1304 /* AVB0_AVTP_MATCH */ 1305 RCAR_GP_PIN(4, 18), 1306 }; 1307 static const unsigned int avb0_avtp_match_mux[] = { 1308 AVB0_AVTP_MATCH_MARK, 1309 }; 1310 1311 /* - AVB1 ------------------------------------------------ */ 1312 static const unsigned int avb1_link_pins[] = { 1313 /* AVB1_LINK */ 1314 RCAR_GP_PIN(5, 17), 1315 }; 1316 static const unsigned int avb1_link_mux[] = { 1317 AVB1_LINK_MARK, 1318 }; 1319 static const unsigned int avb1_magic_pins[] = { 1320 /* AVB1_MAGIC */ 1321 RCAR_GP_PIN(5, 15), 1322 }; 1323 static const unsigned int avb1_magic_mux[] = { 1324 AVB1_MAGIC_MARK, 1325 }; 1326 static const unsigned int avb1_phy_int_pins[] = { 1327 /* AVB1_PHY_INT */ 1328 RCAR_GP_PIN(5, 16), 1329 }; 1330 static const unsigned int avb1_phy_int_mux[] = { 1331 AVB1_PHY_INT_MARK, 1332 }; 1333 static const unsigned int avb1_mdio_pins[] = { 1334 /* AVB1_MDC, AVB1_MDIO */ 1335 RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 13), 1336 }; 1337 static const unsigned int avb1_mdio_mux[] = { 1338 AVB1_MDC_MARK, AVB1_MDIO_MARK, 1339 }; 1340 static const unsigned int avb1_rgmii_pins[] = { 1341 /* 1342 * AVB1_TX_CTL, AVB1_TXC, AVB1_TD0, AVB1_TD1, AVB1_TD2, AVB1_TD3, 1343 * AVB1_RX_CTL, AVB1_RXC, AVB1_RD0, AVB1_RD1, AVB1_RD2, AVB1_RD3, 1344 */ 1345 RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 7), 1346 RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9), 1347 RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11), 1348 RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 1), 1349 RCAR_GP_PIN(5, 2), RCAR_GP_PIN(5, 3), 1350 RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5), 1351 }; 1352 static const unsigned int avb1_rgmii_mux[] = { 1353 AVB1_TX_CTL_MARK, AVB1_TXC_MARK, 1354 AVB1_TD0_MARK, AVB1_TD1_MARK, AVB1_TD2_MARK, AVB1_TD3_MARK, 1355 AVB1_RX_CTL_MARK, AVB1_RXC_MARK, 1356 AVB1_RD0_MARK, AVB1_RD1_MARK, AVB1_RD2_MARK, AVB1_RD3_MARK, 1357 }; 1358 static const unsigned int avb1_txcrefclk_pins[] = { 1359 /* AVB1_TXCREFCLK */ 1360 RCAR_GP_PIN(5, 12), 1361 }; 1362 static const unsigned int avb1_txcrefclk_mux[] = { 1363 AVB1_TXCREFCLK_MARK, 1364 }; 1365 static const unsigned int avb1_avtp_pps_pins[] = { 1366 /* AVB1_AVTP_PPS */ 1367 RCAR_GP_PIN(5, 20), 1368 }; 1369 static const unsigned int avb1_avtp_pps_mux[] = { 1370 AVB1_AVTP_PPS_MARK, 1371 }; 1372 static const unsigned int avb1_avtp_capture_pins[] = { 1373 /* AVB1_AVTP_CAPTURE */ 1374 RCAR_GP_PIN(5, 19), 1375 }; 1376 static const unsigned int avb1_avtp_capture_mux[] = { 1377 AVB1_AVTP_CAPTURE_MARK, 1378 }; 1379 static const unsigned int avb1_avtp_match_pins[] = { 1380 /* AVB1_AVTP_MATCH */ 1381 RCAR_GP_PIN(5, 18), 1382 }; 1383 static const unsigned int avb1_avtp_match_mux[] = { 1384 AVB1_AVTP_MATCH_MARK, 1385 }; 1386 1387 /* - AVB2 ------------------------------------------------ */ 1388 static const unsigned int avb2_link_pins[] = { 1389 /* AVB2_LINK */ 1390 RCAR_GP_PIN(6, 17), 1391 }; 1392 static const unsigned int avb2_link_mux[] = { 1393 AVB2_LINK_MARK, 1394 }; 1395 static const unsigned int avb2_magic_pins[] = { 1396 /* AVB2_MAGIC */ 1397 RCAR_GP_PIN(6, 15), 1398 }; 1399 static const unsigned int avb2_magic_mux[] = { 1400 AVB2_MAGIC_MARK, 1401 }; 1402 static const unsigned int avb2_phy_int_pins[] = { 1403 /* AVB2_PHY_INT */ 1404 RCAR_GP_PIN(6, 16), 1405 }; 1406 static const unsigned int avb2_phy_int_mux[] = { 1407 AVB2_PHY_INT_MARK, 1408 }; 1409 static const unsigned int avb2_mdio_pins[] = { 1410 /* AVB2_MDC, AVB2_MDIO */ 1411 RCAR_GP_PIN(6, 14), RCAR_GP_PIN(6, 13), 1412 }; 1413 static const unsigned int avb2_mdio_mux[] = { 1414 AVB2_MDC_MARK, AVB2_MDIO_MARK, 1415 }; 1416 static const unsigned int avb2_rgmii_pins[] = { 1417 /* 1418 * AVB2_TX_CTL, AVB2_TXC, AVB2_TD0, AVB2_TD1, AVB2_TD2, AVB2_TD3, 1419 * AVB2_RX_CTL, AVB2_RXC, AVB2_RD0, AVB2_RD1, AVB2_RD2, AVB2_RD3, 1420 */ 1421 RCAR_GP_PIN(6, 6), RCAR_GP_PIN(6, 7), 1422 RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 9), 1423 RCAR_GP_PIN(6, 10), RCAR_GP_PIN(6, 11), 1424 RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 1), 1425 RCAR_GP_PIN(6, 2), RCAR_GP_PIN(6, 3), 1426 RCAR_GP_PIN(6, 4), RCAR_GP_PIN(6, 5), 1427 }; 1428 static const unsigned int avb2_rgmii_mux[] = { 1429 AVB2_TX_CTL_MARK, AVB2_TXC_MARK, 1430 AVB2_TD0_MARK, AVB2_TD1_MARK, AVB2_TD2_MARK, AVB2_TD3_MARK, 1431 AVB2_RX_CTL_MARK, AVB2_RXC_MARK, 1432 AVB2_RD0_MARK, AVB2_RD1_MARK, AVB2_RD2_MARK, AVB2_RD3_MARK, 1433 }; 1434 static const unsigned int avb2_txcrefclk_pins[] = { 1435 /* AVB2_TXCREFCLK */ 1436 RCAR_GP_PIN(6, 12), 1437 }; 1438 static const unsigned int avb2_txcrefclk_mux[] = { 1439 AVB2_TXCREFCLK_MARK, 1440 }; 1441 static const unsigned int avb2_avtp_pps_pins[] = { 1442 /* AVB2_AVTP_PPS */ 1443 RCAR_GP_PIN(6, 20), 1444 }; 1445 static const unsigned int avb2_avtp_pps_mux[] = { 1446 AVB2_AVTP_PPS_MARK, 1447 }; 1448 static const unsigned int avb2_avtp_capture_pins[] = { 1449 /* AVB2_AVTP_CAPTURE */ 1450 RCAR_GP_PIN(6, 19), 1451 }; 1452 static const unsigned int avb2_avtp_capture_mux[] = { 1453 AVB2_AVTP_CAPTURE_MARK, 1454 }; 1455 static const unsigned int avb2_avtp_match_pins[] = { 1456 /* AVB2_AVTP_MATCH */ 1457 RCAR_GP_PIN(6, 18), 1458 }; 1459 static const unsigned int avb2_avtp_match_mux[] = { 1460 AVB2_AVTP_MATCH_MARK, 1461 }; 1462 1463 /* - AVB3 ------------------------------------------------ */ 1464 static const unsigned int avb3_link_pins[] = { 1465 /* AVB3_LINK */ 1466 RCAR_GP_PIN(7, 17), 1467 }; 1468 static const unsigned int avb3_link_mux[] = { 1469 AVB3_LINK_MARK, 1470 }; 1471 static const unsigned int avb3_magic_pins[] = { 1472 /* AVB3_MAGIC */ 1473 RCAR_GP_PIN(7, 15), 1474 }; 1475 static const unsigned int avb3_magic_mux[] = { 1476 AVB3_MAGIC_MARK, 1477 }; 1478 static const unsigned int avb3_phy_int_pins[] = { 1479 /* AVB3_PHY_INT */ 1480 RCAR_GP_PIN(7, 16), 1481 }; 1482 static const unsigned int avb3_phy_int_mux[] = { 1483 AVB3_PHY_INT_MARK, 1484 }; 1485 static const unsigned int avb3_mdio_pins[] = { 1486 /* AVB3_MDC, AVB3_MDIO */ 1487 RCAR_GP_PIN(7, 14), RCAR_GP_PIN(7, 13), 1488 }; 1489 static const unsigned int avb3_mdio_mux[] = { 1490 AVB3_MDC_MARK, AVB3_MDIO_MARK, 1491 }; 1492 static const unsigned int avb3_rgmii_pins[] = { 1493 /* 1494 * AVB3_TX_CTL, AVB3_TXC, AVB3_TD0, AVB3_TD1, AVB3_TD2, AVB3_TD3, 1495 * AVB3_RX_CTL, AVB3_RXC, AVB3_RD0, AVB3_RD1, AVB3_RD2, AVB3_RD3, 1496 */ 1497 RCAR_GP_PIN(7, 6), RCAR_GP_PIN(7, 7), 1498 RCAR_GP_PIN(7, 8), RCAR_GP_PIN(7, 9), 1499 RCAR_GP_PIN(7, 10), RCAR_GP_PIN(7, 11), 1500 RCAR_GP_PIN(7, 0), RCAR_GP_PIN(7, 1), 1501 RCAR_GP_PIN(7, 2), RCAR_GP_PIN(7, 3), 1502 RCAR_GP_PIN(7, 4), RCAR_GP_PIN(7, 5), 1503 }; 1504 static const unsigned int avb3_rgmii_mux[] = { 1505 AVB3_TX_CTL_MARK, AVB3_TXC_MARK, 1506 AVB3_TD0_MARK, AVB3_TD1_MARK, AVB3_TD2_MARK, AVB3_TD3_MARK, 1507 AVB3_RX_CTL_MARK, AVB3_RXC_MARK, 1508 AVB3_RD0_MARK, AVB3_RD1_MARK, AVB3_RD2_MARK, AVB3_RD3_MARK, 1509 }; 1510 static const unsigned int avb3_txcrefclk_pins[] = { 1511 /* AVB3_TXCREFCLK */ 1512 RCAR_GP_PIN(7, 12), 1513 }; 1514 static const unsigned int avb3_txcrefclk_mux[] = { 1515 AVB3_TXCREFCLK_MARK, 1516 }; 1517 static const unsigned int avb3_avtp_pps_pins[] = { 1518 /* AVB3_AVTP_PPS */ 1519 RCAR_GP_PIN(7, 20), 1520 }; 1521 static const unsigned int avb3_avtp_pps_mux[] = { 1522 AVB3_AVTP_PPS_MARK, 1523 }; 1524 static const unsigned int avb3_avtp_capture_pins[] = { 1525 /* AVB3_AVTP_CAPTURE */ 1526 RCAR_GP_PIN(7, 19), 1527 }; 1528 static const unsigned int avb3_avtp_capture_mux[] = { 1529 AVB3_AVTP_CAPTURE_MARK, 1530 }; 1531 static const unsigned int avb3_avtp_match_pins[] = { 1532 /* AVB3_AVTP_MATCH */ 1533 RCAR_GP_PIN(7, 18), 1534 }; 1535 static const unsigned int avb3_avtp_match_mux[] = { 1536 AVB3_AVTP_MATCH_MARK, 1537 }; 1538 1539 /* - AVB4 ------------------------------------------------ */ 1540 static const unsigned int avb4_link_pins[] = { 1541 /* AVB4_LINK */ 1542 RCAR_GP_PIN(8, 17), 1543 }; 1544 static const unsigned int avb4_link_mux[] = { 1545 AVB4_LINK_MARK, 1546 }; 1547 static const unsigned int avb4_magic_pins[] = { 1548 /* AVB4_MAGIC */ 1549 RCAR_GP_PIN(8, 15), 1550 }; 1551 static const unsigned int avb4_magic_mux[] = { 1552 AVB4_MAGIC_MARK, 1553 }; 1554 static const unsigned int avb4_phy_int_pins[] = { 1555 /* AVB4_PHY_INT */ 1556 RCAR_GP_PIN(8, 16), 1557 }; 1558 static const unsigned int avb4_phy_int_mux[] = { 1559 AVB4_PHY_INT_MARK, 1560 }; 1561 static const unsigned int avb4_mdio_pins[] = { 1562 /* AVB4_MDC, AVB4_MDIO */ 1563 RCAR_GP_PIN(8, 14), RCAR_GP_PIN(8, 13), 1564 }; 1565 static const unsigned int avb4_mdio_mux[] = { 1566 AVB4_MDC_MARK, AVB4_MDIO_MARK, 1567 }; 1568 static const unsigned int avb4_rgmii_pins[] = { 1569 /* 1570 * AVB4_TX_CTL, AVB4_TXC, AVB4_TD0, AVB4_TD1, AVB4_TD2, AVB4_TD3, 1571 * AVB4_RX_CTL, AVB4_RXC, AVB4_RD0, AVB4_RD1, AVB4_RD2, AVB4_RD3, 1572 */ 1573 RCAR_GP_PIN(8, 6), RCAR_GP_PIN(8, 7), 1574 RCAR_GP_PIN(8, 8), RCAR_GP_PIN(8, 9), 1575 RCAR_GP_PIN(8, 10), RCAR_GP_PIN(8, 11), 1576 RCAR_GP_PIN(8, 0), RCAR_GP_PIN(8, 1), 1577 RCAR_GP_PIN(8, 2), RCAR_GP_PIN(8, 3), 1578 RCAR_GP_PIN(8, 4), RCAR_GP_PIN(8, 5), 1579 }; 1580 static const unsigned int avb4_rgmii_mux[] = { 1581 AVB4_TX_CTL_MARK, AVB4_TXC_MARK, 1582 AVB4_TD0_MARK, AVB4_TD1_MARK, AVB4_TD2_MARK, AVB4_TD3_MARK, 1583 AVB4_RX_CTL_MARK, AVB4_RXC_MARK, 1584 AVB4_RD0_MARK, AVB4_RD1_MARK, AVB4_RD2_MARK, AVB4_RD3_MARK, 1585 }; 1586 static const unsigned int avb4_txcrefclk_pins[] = { 1587 /* AVB4_TXCREFCLK */ 1588 RCAR_GP_PIN(8, 12), 1589 }; 1590 static const unsigned int avb4_txcrefclk_mux[] = { 1591 AVB4_TXCREFCLK_MARK, 1592 }; 1593 static const unsigned int avb4_avtp_pps_pins[] = { 1594 /* AVB4_AVTP_PPS */ 1595 RCAR_GP_PIN(8, 20), 1596 }; 1597 static const unsigned int avb4_avtp_pps_mux[] = { 1598 AVB4_AVTP_PPS_MARK, 1599 }; 1600 static const unsigned int avb4_avtp_capture_pins[] = { 1601 /* AVB4_AVTP_CAPTURE */ 1602 RCAR_GP_PIN(8, 19), 1603 }; 1604 static const unsigned int avb4_avtp_capture_mux[] = { 1605 AVB4_AVTP_CAPTURE_MARK, 1606 }; 1607 static const unsigned int avb4_avtp_match_pins[] = { 1608 /* AVB4_AVTP_MATCH */ 1609 RCAR_GP_PIN(8, 18), 1610 }; 1611 static const unsigned int avb4_avtp_match_mux[] = { 1612 AVB4_AVTP_MATCH_MARK, 1613 }; 1614 1615 /* - AVB5 ------------------------------------------------ */ 1616 static const unsigned int avb5_link_pins[] = { 1617 /* AVB5_LINK */ 1618 RCAR_GP_PIN(9, 17), 1619 }; 1620 static const unsigned int avb5_link_mux[] = { 1621 AVB5_LINK_MARK, 1622 }; 1623 static const unsigned int avb5_magic_pins[] = { 1624 /* AVB5_MAGIC */ 1625 RCAR_GP_PIN(9, 15), 1626 }; 1627 static const unsigned int avb5_magic_mux[] = { 1628 AVB5_MAGIC_MARK, 1629 }; 1630 static const unsigned int avb5_phy_int_pins[] = { 1631 /* AVB5_PHY_INT */ 1632 RCAR_GP_PIN(9, 16), 1633 }; 1634 static const unsigned int avb5_phy_int_mux[] = { 1635 AVB5_PHY_INT_MARK, 1636 }; 1637 static const unsigned int avb5_mdio_pins[] = { 1638 /* AVB5_MDC, AVB5_MDIO */ 1639 RCAR_GP_PIN(9, 14), RCAR_GP_PIN(9, 13), 1640 }; 1641 static const unsigned int avb5_mdio_mux[] = { 1642 AVB5_MDC_MARK, AVB5_MDIO_MARK, 1643 }; 1644 static const unsigned int avb5_rgmii_pins[] = { 1645 /* 1646 * AVB5_TX_CTL, AVB5_TXC, AVB5_TD0, AVB5_TD1, AVB5_TD2, AVB5_TD3, 1647 * AVB5_RX_CTL, AVB5_RXC, AVB5_RD0, AVB5_RD1, AVB5_RD2, AVB5_RD3, 1648 */ 1649 RCAR_GP_PIN(9, 6), RCAR_GP_PIN(9, 7), 1650 RCAR_GP_PIN(9, 8), RCAR_GP_PIN(9, 9), 1651 RCAR_GP_PIN(9, 10), RCAR_GP_PIN(9, 11), 1652 RCAR_GP_PIN(9, 0), RCAR_GP_PIN(9, 1), 1653 RCAR_GP_PIN(9, 2), RCAR_GP_PIN(9, 3), 1654 RCAR_GP_PIN(9, 4), RCAR_GP_PIN(9, 5), 1655 }; 1656 static const unsigned int avb5_rgmii_mux[] = { 1657 AVB5_TX_CTL_MARK, AVB5_TXC_MARK, 1658 AVB5_TD0_MARK, AVB5_TD1_MARK, AVB5_TD2_MARK, AVB5_TD3_MARK, 1659 AVB5_RX_CTL_MARK, AVB5_RXC_MARK, 1660 AVB5_RD0_MARK, AVB5_RD1_MARK, AVB5_RD2_MARK, AVB5_RD3_MARK, 1661 }; 1662 static const unsigned int avb5_txcrefclk_pins[] = { 1663 /* AVB5_TXCREFCLK */ 1664 RCAR_GP_PIN(9, 12), 1665 }; 1666 static const unsigned int avb5_txcrefclk_mux[] = { 1667 AVB5_TXCREFCLK_MARK, 1668 }; 1669 static const unsigned int avb5_avtp_pps_pins[] = { 1670 /* AVB5_AVTP_PPS */ 1671 RCAR_GP_PIN(9, 20), 1672 }; 1673 static const unsigned int avb5_avtp_pps_mux[] = { 1674 AVB5_AVTP_PPS_MARK, 1675 }; 1676 static const unsigned int avb5_avtp_capture_pins[] = { 1677 /* AVB5_AVTP_CAPTURE */ 1678 RCAR_GP_PIN(9, 19), 1679 }; 1680 static const unsigned int avb5_avtp_capture_mux[] = { 1681 AVB5_AVTP_CAPTURE_MARK, 1682 }; 1683 static const unsigned int avb5_avtp_match_pins[] = { 1684 /* AVB5_AVTP_MATCH */ 1685 RCAR_GP_PIN(9, 18), 1686 }; 1687 static const unsigned int avb5_avtp_match_mux[] = { 1688 AVB5_AVTP_MATCH_MARK, 1689 }; 1690 1691 /* - CANFD0 ----------------------------------------------------------------- */ 1692 static const unsigned int canfd0_data_pins[] = { 1693 /* CANFD0_TX, CANFD0_RX */ 1694 RCAR_GP_PIN(3, 1), RCAR_GP_PIN(3, 2), 1695 }; 1696 static const unsigned int canfd0_data_mux[] = { 1697 CANFD0_TX_MARK, CANFD0_RX_MARK, 1698 }; 1699 1700 /* - CANFD1 ----------------------------------------------------------------- */ 1701 static const unsigned int canfd1_data_pins[] = { 1702 /* CANFD1_TX, CANFD1_RX */ 1703 RCAR_GP_PIN(3, 3), RCAR_GP_PIN(3, 4), 1704 }; 1705 static const unsigned int canfd1_data_mux[] = { 1706 CANFD1_TX_MARK, CANFD1_RX_MARK, 1707 }; 1708 1709 /* - CANFD2 ----------------------------------------------------------------- */ 1710 static const unsigned int canfd2_data_pins[] = { 1711 /* CANFD2_TX, CANFD2_RX */ 1712 RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 6), 1713 }; 1714 static const unsigned int canfd2_data_mux[] = { 1715 CANFD2_TX_MARK, CANFD2_RX_MARK, 1716 }; 1717 1718 /* - CANFD3 ----------------------------------------------------------------- */ 1719 static const unsigned int canfd3_data_pins[] = { 1720 /* CANFD3_TX, CANFD3_RX */ 1721 RCAR_GP_PIN(3, 7), RCAR_GP_PIN(3, 8), 1722 }; 1723 static const unsigned int canfd3_data_mux[] = { 1724 CANFD3_TX_MARK, CANFD3_RX_MARK, 1725 }; 1726 1727 /* - CANFD4 ----------------------------------------------------------------- */ 1728 static const unsigned int canfd4_data_pins[] = { 1729 /* CANFD4_TX, CANFD4_RX */ 1730 RCAR_GP_PIN(3, 9), RCAR_GP_PIN(3, 10), 1731 }; 1732 static const unsigned int canfd4_data_mux[] = { 1733 CANFD4_TX_MARK, CANFD4_RX_MARK, 1734 }; 1735 1736 /* - CANFD5 ----------------------------------------------------------------- */ 1737 static const unsigned int canfd5_data_pins[] = { 1738 /* CANFD5_TX, CANFD5_RX */ 1739 RCAR_GP_PIN(3, 11), RCAR_GP_PIN(3, 12), 1740 }; 1741 static const unsigned int canfd5_data_mux[] = { 1742 CANFD5_TX_MARK, CANFD5_RX_MARK, 1743 }; 1744 1745 /* - CANFD6 ----------------------------------------------------------------- */ 1746 static const unsigned int canfd6_data_pins[] = { 1747 /* CANFD6_TX, CANFD6_RX */ 1748 RCAR_GP_PIN(3, 13), RCAR_GP_PIN(3, 14), 1749 }; 1750 static const unsigned int canfd6_data_mux[] = { 1751 CANFD6_TX_MARK, CANFD6_RX_MARK, 1752 }; 1753 1754 /* - CANFD7 ----------------------------------------------------------------- */ 1755 static const unsigned int canfd7_data_pins[] = { 1756 /* CANFD7_TX, CANFD7_RX */ 1757 RCAR_GP_PIN(3, 15), RCAR_GP_PIN(3, 16), 1758 }; 1759 static const unsigned int canfd7_data_mux[] = { 1760 CANFD7_TX_MARK, CANFD7_RX_MARK, 1761 }; 1762 1763 /* - CANFD Clock ------------------------------------------------------------ */ 1764 static const unsigned int can_clk_pins[] = { 1765 /* CAN_CLK */ 1766 RCAR_GP_PIN(3, 0), 1767 }; 1768 static const unsigned int can_clk_mux[] = { 1769 CAN_CLK_MARK, 1770 }; 1771 1772 /* - DU --------------------------------------------------------------------- */ 1773 static const unsigned int du_rgb888_pins[] = { 1774 /* DU_DR[7:2], DU_DG[7:2], DU_DB[7:2] */ 1775 RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 10), RCAR_GP_PIN(1, 9), 1776 RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 6), 1777 RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 15), 1778 RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 12), 1779 RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 22), RCAR_GP_PIN(1, 21), 1780 RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18), 1781 }; 1782 static const unsigned int du_rgb888_mux[] = { 1783 DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, 1784 DU_DR4_MARK, DU_DR3_MARK, DU_DR2_MARK, 1785 DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, 1786 DU_DG4_MARK, DU_DG3_MARK, DU_DG2_MARK, 1787 DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, 1788 DU_DB4_MARK, DU_DB3_MARK, DU_DB2_MARK, 1789 }; 1790 static const unsigned int du_clk_out_pins[] = { 1791 /* DU_DOTCLKOUT */ 1792 RCAR_GP_PIN(1, 24), 1793 }; 1794 static const unsigned int du_clk_out_mux[] = { 1795 DU_DOTCLKOUT_MARK, 1796 }; 1797 static const unsigned int du_sync_pins[] = { 1798 /* DU_HSYNC, DU_VSYNC */ 1799 RCAR_GP_PIN(1, 25), RCAR_GP_PIN(1, 26), 1800 }; 1801 static const unsigned int du_sync_mux[] = { 1802 DU_HSYNC_MARK, DU_VSYNC_MARK, 1803 }; 1804 static const unsigned int du_oddf_pins[] = { 1805 /* DU_EXODDF/DU_ODDF/DISP/CDE */ 1806 RCAR_GP_PIN(1, 27), 1807 }; 1808 static const unsigned int du_oddf_mux[] = { 1809 DU_ODDF_DISP_CDE_MARK, 1810 }; 1811 1812 /* - HSCIF0 ----------------------------------------------------------------- */ 1813 static const unsigned int hscif0_data_pins[] = { 1814 /* HRX0, HTX0 */ 1815 RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 5), 1816 }; 1817 static const unsigned int hscif0_data_mux[] = { 1818 HRX0_MARK, HTX0_MARK, 1819 }; 1820 static const unsigned int hscif0_clk_pins[] = { 1821 /* HSCK0 */ 1822 RCAR_GP_PIN(1, 2), 1823 }; 1824 static const unsigned int hscif0_clk_mux[] = { 1825 HSCK0_MARK, 1826 }; 1827 static const unsigned int hscif0_ctrl_pins[] = { 1828 /* HRTS0#, HCTS0# */ 1829 RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 4), 1830 }; 1831 static const unsigned int hscif0_ctrl_mux[] = { 1832 HRTS0_N_MARK, HCTS0_N_MARK, 1833 }; 1834 1835 /* - HSCIF1 ----------------------------------------------------------------- */ 1836 static const unsigned int hscif1_data_pins[] = { 1837 /* HRX1, HTX1 */ 1838 RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22), 1839 }; 1840 static const unsigned int hscif1_data_mux[] = { 1841 HRX1_MARK, HTX1_MARK, 1842 }; 1843 static const unsigned int hscif1_clk_pins[] = { 1844 /* HSCK1 */ 1845 RCAR_GP_PIN(1, 18), 1846 }; 1847 static const unsigned int hscif1_clk_mux[] = { 1848 HSCK1_MARK, 1849 }; 1850 static const unsigned int hscif1_ctrl_pins[] = { 1851 /* HRTS1#, HCTS1# */ 1852 RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19), 1853 }; 1854 static const unsigned int hscif1_ctrl_mux[] = { 1855 HRTS1_N_MARK, HCTS1_N_MARK, 1856 }; 1857 1858 /* - HSCIF2 ----------------------------------------------------------------- */ 1859 static const unsigned int hscif2_data_pins[] = { 1860 /* HRX2, HTX2 */ 1861 RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9), 1862 }; 1863 static const unsigned int hscif2_data_mux[] = { 1864 HRX2_MARK, HTX2_MARK, 1865 }; 1866 static const unsigned int hscif2_clk_pins[] = { 1867 /* HSCK2 */ 1868 RCAR_GP_PIN(2, 5), 1869 }; 1870 static const unsigned int hscif2_clk_mux[] = { 1871 HSCK2_MARK, 1872 }; 1873 static const unsigned int hscif2_ctrl_pins[] = { 1874 /* HRTS2#, HCTS2# */ 1875 RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6), 1876 }; 1877 static const unsigned int hscif2_ctrl_mux[] = { 1878 HRTS2_N_MARK, HCTS2_N_MARK, 1879 }; 1880 1881 /* - HSCIF3 ----------------------------------------------------------------- */ 1882 static const unsigned int hscif3_data_pins[] = { 1883 /* HRX3, HTX3 */ 1884 RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 17), 1885 }; 1886 static const unsigned int hscif3_data_mux[] = { 1887 HRX3_MARK, HTX3_MARK, 1888 }; 1889 static const unsigned int hscif3_clk_pins[] = { 1890 /* HSCK3 */ 1891 RCAR_GP_PIN(1, 14), 1892 }; 1893 static const unsigned int hscif3_clk_mux[] = { 1894 HSCK3_MARK, 1895 }; 1896 static const unsigned int hscif3_ctrl_pins[] = { 1897 /* HRTS3#, HCTS3# */ 1898 RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 16), 1899 }; 1900 static const unsigned int hscif3_ctrl_mux[] = { 1901 HRTS3_N_MARK, HCTS3_N_MARK, 1902 }; 1903 1904 /* - I2C0 ------------------------------------------------------------------- */ 1905 static const unsigned int i2c0_pins[] = { 1906 /* SDA0, SCL0 */ 1907 RCAR_GP_PIN(2, 3), RCAR_GP_PIN(2, 2), 1908 }; 1909 static const unsigned int i2c0_mux[] = { 1910 SDA0_MARK, SCL0_MARK, 1911 }; 1912 1913 /* - I2C1 ------------------------------------------------------------------- */ 1914 static const unsigned int i2c1_pins[] = { 1915 /* SDA1, SCL1 */ 1916 RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 4), 1917 }; 1918 static const unsigned int i2c1_mux[] = { 1919 SDA1_MARK, SCL1_MARK, 1920 }; 1921 1922 /* - I2C2 ------------------------------------------------------------------- */ 1923 static const unsigned int i2c2_pins[] = { 1924 /* SDA2, SCL2 */ 1925 RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6), 1926 }; 1927 static const unsigned int i2c2_mux[] = { 1928 SDA2_MARK, SCL2_MARK, 1929 }; 1930 1931 /* - I2C3 ------------------------------------------------------------------- */ 1932 static const unsigned int i2c3_pins[] = { 1933 /* SDA3, SCL3 */ 1934 RCAR_GP_PIN(2, 9), RCAR_GP_PIN(2, 8), 1935 }; 1936 static const unsigned int i2c3_mux[] = { 1937 SDA3_MARK, SCL3_MARK, 1938 }; 1939 1940 /* - I2C4 ------------------------------------------------------------------- */ 1941 static const unsigned int i2c4_pins[] = { 1942 /* SDA4, SCL4 */ 1943 RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 10), 1944 }; 1945 static const unsigned int i2c4_mux[] = { 1946 SDA4_MARK, SCL4_MARK, 1947 }; 1948 1949 /* - I2C5 ------------------------------------------------------------------- */ 1950 static const unsigned int i2c5_pins[] = { 1951 /* SDA5, SCL5 */ 1952 RCAR_GP_PIN(2, 13), RCAR_GP_PIN(2, 12), 1953 }; 1954 static const unsigned int i2c5_mux[] = { 1955 SDA5_MARK, SCL5_MARK, 1956 }; 1957 1958 /* - I2C6 ------------------------------------------------------------------- */ 1959 static const unsigned int i2c6_pins[] = { 1960 /* SDA6, SCL6 */ 1961 RCAR_GP_PIN(2, 15), RCAR_GP_PIN(2, 14), 1962 }; 1963 static const unsigned int i2c6_mux[] = { 1964 SDA6_MARK, SCL6_MARK, 1965 }; 1966 1967 /* - INTC-EX ---------------------------------------------------------------- */ 1968 static const unsigned int intc_ex_irq0_pins[] = { 1969 /* IRQ0 */ 1970 RCAR_GP_PIN(1, 24), 1971 }; 1972 static const unsigned int intc_ex_irq0_mux[] = { 1973 IRQ0_MARK, 1974 }; 1975 static const unsigned int intc_ex_irq1_pins[] = { 1976 /* IRQ1 */ 1977 RCAR_GP_PIN(1, 25), 1978 }; 1979 static const unsigned int intc_ex_irq1_mux[] = { 1980 IRQ1_MARK, 1981 }; 1982 static const unsigned int intc_ex_irq2_pins[] = { 1983 /* IRQ2 */ 1984 RCAR_GP_PIN(1, 26), 1985 }; 1986 static const unsigned int intc_ex_irq2_mux[] = { 1987 IRQ2_MARK, 1988 }; 1989 static const unsigned int intc_ex_irq3_pins[] = { 1990 /* IRQ3 */ 1991 RCAR_GP_PIN(1, 27), 1992 }; 1993 static const unsigned int intc_ex_irq3_mux[] = { 1994 IRQ3_MARK, 1995 }; 1996 static const unsigned int intc_ex_irq4_pins[] = { 1997 /* IRQ4 */ 1998 RCAR_GP_PIN(2, 14), 1999 }; 2000 static const unsigned int intc_ex_irq4_mux[] = { 2001 IRQ4_MARK, 2002 }; 2003 static const unsigned int intc_ex_irq5_pins[] = { 2004 /* IRQ5 */ 2005 RCAR_GP_PIN(2, 15), 2006 }; 2007 static const unsigned int intc_ex_irq5_mux[] = { 2008 IRQ5_MARK, 2009 }; 2010 2011 /* - MMC -------------------------------------------------------------------- */ 2012 static const unsigned int mmc_data_pins[] = { 2013 /* MMC_SD_D[0:3], MMC_D[4:7] */ 2014 RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 20), 2015 RCAR_GP_PIN(0, 21), RCAR_GP_PIN(0, 22), 2016 RCAR_GP_PIN(0, 24), RCAR_GP_PIN(0, 25), 2017 RCAR_GP_PIN(0, 26), RCAR_GP_PIN(0, 27), 2018 }; 2019 static const unsigned int mmc_data_mux[] = { 2020 MMC_SD_D0_MARK, MMC_SD_D1_MARK, 2021 MMC_SD_D2_MARK, MMC_SD_D3_MARK, 2022 MMC_D4_MARK, MMC_D5_MARK, 2023 MMC_D6_MARK, MMC_D7_MARK, 2024 }; 2025 static const unsigned int mmc_ctrl_pins[] = { 2026 /* MMC_SD_CLK, MMC_SD_CMD */ 2027 RCAR_GP_PIN(0, 23), RCAR_GP_PIN(0, 18), 2028 }; 2029 static const unsigned int mmc_ctrl_mux[] = { 2030 MMC_SD_CLK_MARK, MMC_SD_CMD_MARK, 2031 }; 2032 static const unsigned int mmc_cd_pins[] = { 2033 /* SD_CD */ 2034 RCAR_GP_PIN(0, 16), 2035 }; 2036 static const unsigned int mmc_cd_mux[] = { 2037 SD_CD_MARK, 2038 }; 2039 static const unsigned int mmc_wp_pins[] = { 2040 /* SD_WP */ 2041 RCAR_GP_PIN(0, 15), 2042 }; 2043 static const unsigned int mmc_wp_mux[] = { 2044 SD_WP_MARK, 2045 }; 2046 static const unsigned int mmc_ds_pins[] = { 2047 /* MMC_DS */ 2048 RCAR_GP_PIN(0, 17), 2049 }; 2050 static const unsigned int mmc_ds_mux[] = { 2051 MMC_DS_MARK, 2052 }; 2053 2054 /* - MSIOF0 ----------------------------------------------------------------- */ 2055 static const unsigned int msiof0_clk_pins[] = { 2056 /* MSIOF0_SCK */ 2057 RCAR_GP_PIN(1, 8), 2058 }; 2059 static const unsigned int msiof0_clk_mux[] = { 2060 MSIOF0_SCK_MARK, 2061 }; 2062 static const unsigned int msiof0_sync_pins[] = { 2063 /* MSIOF0_SYNC */ 2064 RCAR_GP_PIN(1, 9), 2065 }; 2066 static const unsigned int msiof0_sync_mux[] = { 2067 MSIOF0_SYNC_MARK, 2068 }; 2069 static const unsigned int msiof0_ss1_pins[] = { 2070 /* MSIOF0_SS1 */ 2071 RCAR_GP_PIN(1, 10), 2072 }; 2073 static const unsigned int msiof0_ss1_mux[] = { 2074 MSIOF0_SS1_MARK, 2075 }; 2076 static const unsigned int msiof0_ss2_pins[] = { 2077 /* MSIOF0_SS2 */ 2078 RCAR_GP_PIN(1, 11), 2079 }; 2080 static const unsigned int msiof0_ss2_mux[] = { 2081 MSIOF0_SS2_MARK, 2082 }; 2083 static const unsigned int msiof0_txd_pins[] = { 2084 /* MSIOF0_TXD */ 2085 RCAR_GP_PIN(1, 7), 2086 }; 2087 static const unsigned int msiof0_txd_mux[] = { 2088 MSIOF0_TXD_MARK, 2089 }; 2090 static const unsigned int msiof0_rxd_pins[] = { 2091 /* MSIOF0_RXD */ 2092 RCAR_GP_PIN(1, 6), 2093 }; 2094 static const unsigned int msiof0_rxd_mux[] = { 2095 MSIOF0_RXD_MARK, 2096 }; 2097 2098 /* - MSIOF1 ----------------------------------------------------------------- */ 2099 static const unsigned int msiof1_clk_pins[] = { 2100 /* MSIOF1_SCK */ 2101 RCAR_GP_PIN(1, 14), 2102 }; 2103 static const unsigned int msiof1_clk_mux[] = { 2104 MSIOF1_SCK_MARK, 2105 }; 2106 static const unsigned int msiof1_sync_pins[] = { 2107 /* MSIOF1_SYNC */ 2108 RCAR_GP_PIN(1, 15), 2109 }; 2110 static const unsigned int msiof1_sync_mux[] = { 2111 MSIOF1_SYNC_MARK, 2112 }; 2113 static const unsigned int msiof1_ss1_pins[] = { 2114 /* MSIOF1_SS1 */ 2115 RCAR_GP_PIN(1, 16), 2116 }; 2117 static const unsigned int msiof1_ss1_mux[] = { 2118 MSIOF1_SS1_MARK, 2119 }; 2120 static const unsigned int msiof1_ss2_pins[] = { 2121 /* MSIOF1_SS2 */ 2122 RCAR_GP_PIN(1, 17), 2123 }; 2124 static const unsigned int msiof1_ss2_mux[] = { 2125 MSIOF1_SS2_MARK, 2126 }; 2127 static const unsigned int msiof1_txd_pins[] = { 2128 /* MSIOF1_TXD */ 2129 RCAR_GP_PIN(1, 13), 2130 }; 2131 static const unsigned int msiof1_txd_mux[] = { 2132 MSIOF1_TXD_MARK, 2133 }; 2134 static const unsigned int msiof1_rxd_pins[] = { 2135 /* MSIOF1_RXD */ 2136 RCAR_GP_PIN(1, 12), 2137 }; 2138 static const unsigned int msiof1_rxd_mux[] = { 2139 MSIOF1_RXD_MARK, 2140 }; 2141 2142 /* - MSIOF2 ----------------------------------------------------------------- */ 2143 static const unsigned int msiof2_clk_pins[] = { 2144 /* MSIOF2_SCK */ 2145 RCAR_GP_PIN(1, 20), 2146 }; 2147 static const unsigned int msiof2_clk_mux[] = { 2148 MSIOF2_SCK_MARK, 2149 }; 2150 static const unsigned int msiof2_sync_pins[] = { 2151 /* MSIOF2_SYNC */ 2152 RCAR_GP_PIN(1, 21), 2153 }; 2154 static const unsigned int msiof2_sync_mux[] = { 2155 MSIOF2_SYNC_MARK, 2156 }; 2157 static const unsigned int msiof2_ss1_pins[] = { 2158 /* MSIOF2_SS1 */ 2159 RCAR_GP_PIN(1, 22), 2160 }; 2161 static const unsigned int msiof2_ss1_mux[] = { 2162 MSIOF2_SS1_MARK, 2163 }; 2164 static const unsigned int msiof2_ss2_pins[] = { 2165 /* MSIOF2_SS2 */ 2166 RCAR_GP_PIN(1, 23), 2167 }; 2168 static const unsigned int msiof2_ss2_mux[] = { 2169 MSIOF2_SS2_MARK, 2170 }; 2171 static const unsigned int msiof2_txd_pins[] = { 2172 /* MSIOF2_TXD */ 2173 RCAR_GP_PIN(1, 19), 2174 }; 2175 static const unsigned int msiof2_txd_mux[] = { 2176 MSIOF2_TXD_MARK, 2177 }; 2178 static const unsigned int msiof2_rxd_pins[] = { 2179 /* MSIOF2_RXD */ 2180 RCAR_GP_PIN(1, 18), 2181 }; 2182 static const unsigned int msiof2_rxd_mux[] = { 2183 MSIOF2_RXD_MARK, 2184 }; 2185 2186 /* - MSIOF3 ----------------------------------------------------------------- */ 2187 static const unsigned int msiof3_clk_pins[] = { 2188 /* MSIOF3_SCK */ 2189 RCAR_GP_PIN(2, 20), 2190 }; 2191 static const unsigned int msiof3_clk_mux[] = { 2192 MSIOF3_SCK_MARK, 2193 }; 2194 static const unsigned int msiof3_sync_pins[] = { 2195 /* MSIOF3_SYNC */ 2196 RCAR_GP_PIN(2, 21), 2197 }; 2198 static const unsigned int msiof3_sync_mux[] = { 2199 MSIOF3_SYNC_MARK, 2200 }; 2201 static const unsigned int msiof3_ss1_pins[] = { 2202 /* MSIOF3_SS1 */ 2203 RCAR_GP_PIN(2, 16), 2204 }; 2205 static const unsigned int msiof3_ss1_mux[] = { 2206 MSIOF3_SS1_MARK, 2207 }; 2208 static const unsigned int msiof3_ss2_pins[] = { 2209 /* MSIOF3_SS2 */ 2210 RCAR_GP_PIN(2, 17), 2211 }; 2212 static const unsigned int msiof3_ss2_mux[] = { 2213 MSIOF3_SS2_MARK, 2214 }; 2215 static const unsigned int msiof3_txd_pins[] = { 2216 /* MSIOF3_TXD */ 2217 RCAR_GP_PIN(2, 19), 2218 }; 2219 static const unsigned int msiof3_txd_mux[] = { 2220 MSIOF3_TXD_MARK, 2221 }; 2222 static const unsigned int msiof3_rxd_pins[] = { 2223 /* MSIOF3_RXD */ 2224 RCAR_GP_PIN(2, 18), 2225 }; 2226 static const unsigned int msiof3_rxd_mux[] = { 2227 MSIOF3_RXD_MARK, 2228 }; 2229 2230 /* - MSIOF4 ----------------------------------------------------------------- */ 2231 static const unsigned int msiof4_clk_pins[] = { 2232 /* MSIOF4_SCK */ 2233 RCAR_GP_PIN(2, 6), 2234 }; 2235 static const unsigned int msiof4_clk_mux[] = { 2236 MSIOF4_SCK_MARK, 2237 }; 2238 static const unsigned int msiof4_sync_pins[] = { 2239 /* MSIOF4_SYNC */ 2240 RCAR_GP_PIN(2, 7), 2241 }; 2242 static const unsigned int msiof4_sync_mux[] = { 2243 MSIOF4_SYNC_MARK, 2244 }; 2245 static const unsigned int msiof4_ss1_pins[] = { 2246 /* MSIOF4_SS1 */ 2247 RCAR_GP_PIN(2, 8), 2248 }; 2249 static const unsigned int msiof4_ss1_mux[] = { 2250 MSIOF4_SS1_MARK, 2251 }; 2252 static const unsigned int msiof4_ss2_pins[] = { 2253 /* MSIOF4_SS2 */ 2254 RCAR_GP_PIN(2, 9), 2255 }; 2256 static const unsigned int msiof4_ss2_mux[] = { 2257 MSIOF4_SS2_MARK, 2258 }; 2259 static const unsigned int msiof4_txd_pins[] = { 2260 /* MSIOF4_TXD */ 2261 RCAR_GP_PIN(2, 5), 2262 }; 2263 static const unsigned int msiof4_txd_mux[] = { 2264 MSIOF4_TXD_MARK, 2265 }; 2266 static const unsigned int msiof4_rxd_pins[] = { 2267 /* MSIOF4_RXD */ 2268 RCAR_GP_PIN(2, 4), 2269 }; 2270 static const unsigned int msiof4_rxd_mux[] = { 2271 MSIOF4_RXD_MARK, 2272 }; 2273 2274 /* - MSIOF5 ----------------------------------------------------------------- */ 2275 static const unsigned int msiof5_clk_pins[] = { 2276 /* MSIOF5_SCK */ 2277 RCAR_GP_PIN(2, 12), 2278 }; 2279 static const unsigned int msiof5_clk_mux[] = { 2280 MSIOF5_SCK_MARK, 2281 }; 2282 static const unsigned int msiof5_sync_pins[] = { 2283 /* MSIOF5_SYNC */ 2284 RCAR_GP_PIN(2, 13), 2285 }; 2286 static const unsigned int msiof5_sync_mux[] = { 2287 MSIOF5_SYNC_MARK, 2288 }; 2289 static const unsigned int msiof5_ss1_pins[] = { 2290 /* MSIOF5_SS1 */ 2291 RCAR_GP_PIN(2, 14), 2292 }; 2293 static const unsigned int msiof5_ss1_mux[] = { 2294 MSIOF5_SS1_MARK, 2295 }; 2296 static const unsigned int msiof5_ss2_pins[] = { 2297 /* MSIOF5_SS2 */ 2298 RCAR_GP_PIN(2, 15), 2299 }; 2300 static const unsigned int msiof5_ss2_mux[] = { 2301 MSIOF5_SS2_MARK, 2302 }; 2303 static const unsigned int msiof5_txd_pins[] = { 2304 /* MSIOF5_TXD */ 2305 RCAR_GP_PIN(2, 11), 2306 }; 2307 static const unsigned int msiof5_txd_mux[] = { 2308 MSIOF5_TXD_MARK, 2309 }; 2310 static const unsigned int msiof5_rxd_pins[] = { 2311 /* MSIOF5_RXD */ 2312 RCAR_GP_PIN(2, 10), 2313 }; 2314 static const unsigned int msiof5_rxd_mux[] = { 2315 MSIOF5_RXD_MARK, 2316 }; 2317 2318 /* - PWM0 ------------------------------------------------------------------- */ 2319 static const unsigned int pwm0_pins[] = { 2320 /* PWM0 */ 2321 RCAR_GP_PIN(3, 5), 2322 }; 2323 static const unsigned int pwm0_mux[] = { 2324 PWM0_MARK, 2325 }; 2326 2327 /* - PWM1 ------------------------------------------------------------------- */ 2328 static const unsigned int pwm1_pins[] = { 2329 /* PWM1 */ 2330 RCAR_GP_PIN(3, 6), 2331 }; 2332 static const unsigned int pwm1_mux[] = { 2333 PWM1_MARK, 2334 }; 2335 2336 /* - PWM2 ------------------------------------------------------------------- */ 2337 static const unsigned int pwm2_pins[] = { 2338 /* PWM2 */ 2339 RCAR_GP_PIN(3, 7), 2340 }; 2341 static const unsigned int pwm2_mux[] = { 2342 PWM2_MARK, 2343 }; 2344 2345 /* - PWM3 ------------------------------------------------------------------- */ 2346 static const unsigned int pwm3_pins[] = { 2347 /* PWM3 */ 2348 RCAR_GP_PIN(3, 8), 2349 }; 2350 static const unsigned int pwm3_mux[] = { 2351 PWM3_MARK, 2352 }; 2353 2354 /* - PWM4 ------------------------------------------------------------------- */ 2355 static const unsigned int pwm4_pins[] = { 2356 /* PWM4 */ 2357 RCAR_GP_PIN(3, 9), 2358 }; 2359 static const unsigned int pwm4_mux[] = { 2360 PWM4_MARK, 2361 }; 2362 2363 /* - QSPI0 ------------------------------------------------------------------ */ 2364 static const unsigned int qspi0_ctrl_pins[] = { 2365 /* SPCLK, SSL */ 2366 RCAR_GP_PIN(0, 0), RCAR_GP_PIN(0, 5), 2367 }; 2368 static const unsigned int qspi0_ctrl_mux[] = { 2369 QSPI0_SPCLK_MARK, QSPI0_SSL_MARK, 2370 }; 2371 static const unsigned int qspi0_data_pins[] = { 2372 /* MOSI_IO0, MISO_IO1, IO2, IO3 */ 2373 RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 2), 2374 RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 4), 2375 }; 2376 static const unsigned int qspi0_data_mux[] = { 2377 QSPI0_MOSI_IO0_MARK, QSPI0_MISO_IO1_MARK, 2378 QSPI0_IO2_MARK, QSPI0_IO3_MARK 2379 }; 2380 2381 /* - QSPI1 ------------------------------------------------------------------ */ 2382 static const unsigned int qspi1_ctrl_pins[] = { 2383 /* SPCLK, SSL */ 2384 RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 11), 2385 }; 2386 static const unsigned int qspi1_ctrl_mux[] = { 2387 QSPI1_SPCLK_MARK, QSPI1_SSL_MARK, 2388 }; 2389 static const unsigned int qspi1_data_pins[] = { 2390 /* MOSI_IO0, MISO_IO1, IO2, IO3 */ 2391 RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 8), 2392 RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 10), 2393 }; 2394 static const unsigned int qspi1_data_mux[] = { 2395 QSPI1_MOSI_IO0_MARK, QSPI1_MISO_IO1_MARK, 2396 QSPI1_IO2_MARK, QSPI1_IO3_MARK 2397 }; 2398 2399 /* - SCIF0 ------------------------------------------------------------------ */ 2400 static const unsigned int scif0_data_pins[] = { 2401 /* RX0, TX0 */ 2402 RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 5), 2403 }; 2404 static const unsigned int scif0_data_mux[] = { 2405 RX0_MARK, TX0_MARK, 2406 }; 2407 static const unsigned int scif0_clk_pins[] = { 2408 /* SCK0 */ 2409 RCAR_GP_PIN(1, 2), 2410 }; 2411 static const unsigned int scif0_clk_mux[] = { 2412 SCK0_MARK, 2413 }; 2414 static const unsigned int scif0_ctrl_pins[] = { 2415 /* RTS0#, CTS0# */ 2416 RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 4), 2417 }; 2418 static const unsigned int scif0_ctrl_mux[] = { 2419 RTS0_N_MARK, CTS0_N_MARK, 2420 }; 2421 2422 /* - SCIF1 ------------------------------------------------------------------ */ 2423 static const unsigned int scif1_data_a_pins[] = { 2424 /* RX, TX */ 2425 RCAR_GP_PIN(1, 21), RCAR_GP_PIN(1, 22), 2426 }; 2427 static const unsigned int scif1_data_a_mux[] = { 2428 RX1_A_MARK, TX1_A_MARK, 2429 }; 2430 static const unsigned int scif1_data_b_pins[] = { 2431 /* RX, TX */ 2432 RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 1), 2433 }; 2434 static const unsigned int scif1_data_b_mux[] = { 2435 RX1_B_MARK, TX1_B_MARK, 2436 }; 2437 static const unsigned int scif1_clk_pins[] = { 2438 /* SCK1 */ 2439 RCAR_GP_PIN(1, 18), 2440 }; 2441 static const unsigned int scif1_clk_mux[] = { 2442 SCK1_MARK, 2443 }; 2444 static const unsigned int scif1_ctrl_pins[] = { 2445 /* RTS1#, CTS1# */ 2446 RCAR_GP_PIN(1, 20), RCAR_GP_PIN(1, 19), 2447 }; 2448 static const unsigned int scif1_ctrl_mux[] = { 2449 RTS1_N_MARK, CTS1_N_MARK, 2450 }; 2451 2452 /* - SCIF3 ------------------------------------------------------------------ */ 2453 static const unsigned int scif3_data_pins[] = { 2454 /* RX3, TX3 */ 2455 RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 17), 2456 }; 2457 static const unsigned int scif3_data_mux[] = { 2458 RX3_MARK, TX3_MARK, 2459 }; 2460 static const unsigned int scif3_clk_pins[] = { 2461 /* SCK3 */ 2462 RCAR_GP_PIN(1, 13), 2463 }; 2464 static const unsigned int scif3_clk_mux[] = { 2465 SCK3_MARK, 2466 }; 2467 static const unsigned int scif3_ctrl_pins[] = { 2468 /* RTS3#, CTS3# */ 2469 RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), 2470 }; 2471 static const unsigned int scif3_ctrl_mux[] = { 2472 RTS3_N_MARK, CTS3_N_MARK, 2473 }; 2474 2475 /* - SCIF4 ------------------------------------------------------------------ */ 2476 static const unsigned int scif4_data_pins[] = { 2477 /* RX4, TX4 */ 2478 RCAR_GP_PIN(2, 8), RCAR_GP_PIN(2, 9), 2479 }; 2480 static const unsigned int scif4_data_mux[] = { 2481 RX4_MARK, TX4_MARK, 2482 }; 2483 static const unsigned int scif4_clk_pins[] = { 2484 /* SCK4 */ 2485 RCAR_GP_PIN(2, 5), 2486 }; 2487 static const unsigned int scif4_clk_mux[] = { 2488 SCK4_MARK, 2489 }; 2490 static const unsigned int scif4_ctrl_pins[] = { 2491 /* RTS4#, CTS4# */ 2492 RCAR_GP_PIN(2, 7), RCAR_GP_PIN(2, 6), 2493 }; 2494 static const unsigned int scif4_ctrl_mux[] = { 2495 RTS4_N_MARK, CTS4_N_MARK, 2496 }; 2497 2498 /* - SCIF Clock ------------------------------------------------------------- */ 2499 static const unsigned int scif_clk_pins[] = { 2500 /* SCIF_CLK */ 2501 RCAR_GP_PIN(1, 0), 2502 }; 2503 static const unsigned int scif_clk_mux[] = { 2504 SCIF_CLK_MARK, 2505 }; 2506 2507 /* - TMU -------------------------------------------------------------------- */ 2508 static const unsigned int tmu_tclk1_a_pins[] = { 2509 /* TCLK1 */ 2510 RCAR_GP_PIN(2, 23), 2511 }; 2512 static const unsigned int tmu_tclk1_a_mux[] = { 2513 TCLK1_A_MARK, 2514 }; 2515 static const unsigned int tmu_tclk1_b_pins[] = { 2516 /* TCLK1 */ 2517 RCAR_GP_PIN(1, 23), 2518 }; 2519 static const unsigned int tmu_tclk1_b_mux[] = { 2520 TCLK1_B_MARK, 2521 }; 2522 2523 static const unsigned int tmu_tclk2_a_pins[] = { 2524 /* TCLK2 */ 2525 RCAR_GP_PIN(2, 24), 2526 }; 2527 static const unsigned int tmu_tclk2_a_mux[] = { 2528 TCLK2_A_MARK, 2529 }; 2530 static const unsigned int tmu_tclk2_b_pins[] = { 2531 /* TCLK2 */ 2532 RCAR_GP_PIN(2, 10), 2533 }; 2534 static const unsigned int tmu_tclk2_b_mux[] = { 2535 TCLK2_B_MARK, 2536 }; 2537 2538 static const unsigned int tmu_tclk3_pins[] = { 2539 /* TCLK3 */ 2540 RCAR_GP_PIN(2, 11), 2541 }; 2542 static const unsigned int tmu_tclk3_mux[] = { 2543 TCLK3_MARK, 2544 }; 2545 2546 static const unsigned int tmu_tclk4_pins[] = { 2547 /* TCLK4 */ 2548 RCAR_GP_PIN(2, 12), 2549 }; 2550 static const unsigned int tmu_tclk4_mux[] = { 2551 TCLK4_MARK, 2552 }; 2553 2554 /* - TPU ------------------------------------------------------------------- */ 2555 static const unsigned int tpu_to0_pins[] = { 2556 /* TPU0TO0 */ 2557 RCAR_GP_PIN(2, 21), 2558 }; 2559 static const unsigned int tpu_to0_mux[] = { 2560 TPU0TO0_MARK, 2561 }; 2562 static const unsigned int tpu_to1_pins[] = { 2563 /* TPU0TO1 */ 2564 RCAR_GP_PIN(2, 22), 2565 }; 2566 static const unsigned int tpu_to1_mux[] = { 2567 TPU0TO1_MARK, 2568 }; 2569 static const unsigned int tpu_to2_pins[] = { 2570 /* TPU0TO2 */ 2571 RCAR_GP_PIN(3, 5), 2572 }; 2573 static const unsigned int tpu_to2_mux[] = { 2574 TPU0TO2_MARK, 2575 }; 2576 static const unsigned int tpu_to3_pins[] = { 2577 /* TPU0TO3 */ 2578 RCAR_GP_PIN(3, 6), 2579 }; 2580 static const unsigned int tpu_to3_mux[] = { 2581 TPU0TO3_MARK, 2582 }; 2583 2584 static const struct sh_pfc_pin_group pinmux_groups[] = { 2585 SH_PFC_PIN_GROUP(avb0_link), 2586 SH_PFC_PIN_GROUP(avb0_magic), 2587 SH_PFC_PIN_GROUP(avb0_phy_int), 2588 SH_PFC_PIN_GROUP(avb0_mdio), 2589 SH_PFC_PIN_GROUP(avb0_rgmii), 2590 SH_PFC_PIN_GROUP(avb0_txcrefclk), 2591 SH_PFC_PIN_GROUP(avb0_avtp_pps), 2592 SH_PFC_PIN_GROUP(avb0_avtp_capture), 2593 SH_PFC_PIN_GROUP(avb0_avtp_match), 2594 2595 SH_PFC_PIN_GROUP(avb1_link), 2596 SH_PFC_PIN_GROUP(avb1_magic), 2597 SH_PFC_PIN_GROUP(avb1_phy_int), 2598 SH_PFC_PIN_GROUP(avb1_mdio), 2599 SH_PFC_PIN_GROUP(avb1_rgmii), 2600 SH_PFC_PIN_GROUP(avb1_txcrefclk), 2601 SH_PFC_PIN_GROUP(avb1_avtp_pps), 2602 SH_PFC_PIN_GROUP(avb1_avtp_capture), 2603 SH_PFC_PIN_GROUP(avb1_avtp_match), 2604 2605 SH_PFC_PIN_GROUP(avb2_link), 2606 SH_PFC_PIN_GROUP(avb2_magic), 2607 SH_PFC_PIN_GROUP(avb2_phy_int), 2608 SH_PFC_PIN_GROUP(avb2_mdio), 2609 SH_PFC_PIN_GROUP(avb2_rgmii), 2610 SH_PFC_PIN_GROUP(avb2_txcrefclk), 2611 SH_PFC_PIN_GROUP(avb2_avtp_pps), 2612 SH_PFC_PIN_GROUP(avb2_avtp_capture), 2613 SH_PFC_PIN_GROUP(avb2_avtp_match), 2614 2615 SH_PFC_PIN_GROUP(avb3_link), 2616 SH_PFC_PIN_GROUP(avb3_magic), 2617 SH_PFC_PIN_GROUP(avb3_phy_int), 2618 SH_PFC_PIN_GROUP(avb3_mdio), 2619 SH_PFC_PIN_GROUP(avb3_rgmii), 2620 SH_PFC_PIN_GROUP(avb3_txcrefclk), 2621 SH_PFC_PIN_GROUP(avb3_avtp_pps), 2622 SH_PFC_PIN_GROUP(avb3_avtp_capture), 2623 SH_PFC_PIN_GROUP(avb3_avtp_match), 2624 2625 SH_PFC_PIN_GROUP(avb4_link), 2626 SH_PFC_PIN_GROUP(avb4_magic), 2627 SH_PFC_PIN_GROUP(avb4_phy_int), 2628 SH_PFC_PIN_GROUP(avb4_mdio), 2629 SH_PFC_PIN_GROUP(avb4_rgmii), 2630 SH_PFC_PIN_GROUP(avb4_txcrefclk), 2631 SH_PFC_PIN_GROUP(avb4_avtp_pps), 2632 SH_PFC_PIN_GROUP(avb4_avtp_capture), 2633 SH_PFC_PIN_GROUP(avb4_avtp_match), 2634 2635 SH_PFC_PIN_GROUP(avb5_link), 2636 SH_PFC_PIN_GROUP(avb5_magic), 2637 SH_PFC_PIN_GROUP(avb5_phy_int), 2638 SH_PFC_PIN_GROUP(avb5_mdio), 2639 SH_PFC_PIN_GROUP(avb5_rgmii), 2640 SH_PFC_PIN_GROUP(avb5_txcrefclk), 2641 SH_PFC_PIN_GROUP(avb5_avtp_pps), 2642 SH_PFC_PIN_GROUP(avb5_avtp_capture), 2643 SH_PFC_PIN_GROUP(avb5_avtp_match), 2644 2645 SH_PFC_PIN_GROUP(canfd0_data), 2646 SH_PFC_PIN_GROUP(canfd1_data), 2647 SH_PFC_PIN_GROUP(canfd2_data), 2648 SH_PFC_PIN_GROUP(canfd3_data), 2649 SH_PFC_PIN_GROUP(canfd4_data), 2650 SH_PFC_PIN_GROUP(canfd5_data), 2651 SH_PFC_PIN_GROUP(canfd6_data), 2652 SH_PFC_PIN_GROUP(canfd7_data), 2653 SH_PFC_PIN_GROUP(can_clk), 2654 2655 SH_PFC_PIN_GROUP(du_rgb888), 2656 SH_PFC_PIN_GROUP(du_clk_out), 2657 SH_PFC_PIN_GROUP(du_sync), 2658 SH_PFC_PIN_GROUP(du_oddf), 2659 2660 SH_PFC_PIN_GROUP(hscif0_data), 2661 SH_PFC_PIN_GROUP(hscif0_clk), 2662 SH_PFC_PIN_GROUP(hscif0_ctrl), 2663 SH_PFC_PIN_GROUP(hscif1_data), 2664 SH_PFC_PIN_GROUP(hscif1_clk), 2665 SH_PFC_PIN_GROUP(hscif1_ctrl), 2666 SH_PFC_PIN_GROUP(hscif2_data), 2667 SH_PFC_PIN_GROUP(hscif2_clk), 2668 SH_PFC_PIN_GROUP(hscif2_ctrl), 2669 SH_PFC_PIN_GROUP(hscif3_data), 2670 SH_PFC_PIN_GROUP(hscif3_clk), 2671 SH_PFC_PIN_GROUP(hscif3_ctrl), 2672 2673 SH_PFC_PIN_GROUP(i2c0), 2674 SH_PFC_PIN_GROUP(i2c1), 2675 SH_PFC_PIN_GROUP(i2c2), 2676 SH_PFC_PIN_GROUP(i2c3), 2677 SH_PFC_PIN_GROUP(i2c4), 2678 SH_PFC_PIN_GROUP(i2c5), 2679 SH_PFC_PIN_GROUP(i2c6), 2680 2681 SH_PFC_PIN_GROUP(intc_ex_irq0), 2682 SH_PFC_PIN_GROUP(intc_ex_irq1), 2683 SH_PFC_PIN_GROUP(intc_ex_irq2), 2684 SH_PFC_PIN_GROUP(intc_ex_irq3), 2685 SH_PFC_PIN_GROUP(intc_ex_irq4), 2686 SH_PFC_PIN_GROUP(intc_ex_irq5), 2687 2688 BUS_DATA_PIN_GROUP(mmc_data, 1), 2689 BUS_DATA_PIN_GROUP(mmc_data, 4), 2690 BUS_DATA_PIN_GROUP(mmc_data, 8), 2691 SH_PFC_PIN_GROUP(mmc_ctrl), 2692 SH_PFC_PIN_GROUP(mmc_cd), 2693 SH_PFC_PIN_GROUP(mmc_wp), 2694 SH_PFC_PIN_GROUP(mmc_ds), 2695 2696 SH_PFC_PIN_GROUP(msiof0_clk), 2697 SH_PFC_PIN_GROUP(msiof0_sync), 2698 SH_PFC_PIN_GROUP(msiof0_ss1), 2699 SH_PFC_PIN_GROUP(msiof0_ss2), 2700 SH_PFC_PIN_GROUP(msiof0_txd), 2701 SH_PFC_PIN_GROUP(msiof0_rxd), 2702 SH_PFC_PIN_GROUP(msiof1_clk), 2703 SH_PFC_PIN_GROUP(msiof1_sync), 2704 SH_PFC_PIN_GROUP(msiof1_ss1), 2705 SH_PFC_PIN_GROUP(msiof1_ss2), 2706 SH_PFC_PIN_GROUP(msiof1_txd), 2707 SH_PFC_PIN_GROUP(msiof1_rxd), 2708 SH_PFC_PIN_GROUP(msiof2_clk), 2709 SH_PFC_PIN_GROUP(msiof2_sync), 2710 SH_PFC_PIN_GROUP(msiof2_ss1), 2711 SH_PFC_PIN_GROUP(msiof2_ss2), 2712 SH_PFC_PIN_GROUP(msiof2_txd), 2713 SH_PFC_PIN_GROUP(msiof2_rxd), 2714 SH_PFC_PIN_GROUP(msiof3_clk), 2715 SH_PFC_PIN_GROUP(msiof3_sync), 2716 SH_PFC_PIN_GROUP(msiof3_ss1), 2717 SH_PFC_PIN_GROUP(msiof3_ss2), 2718 SH_PFC_PIN_GROUP(msiof3_txd), 2719 SH_PFC_PIN_GROUP(msiof3_rxd), 2720 SH_PFC_PIN_GROUP(msiof4_clk), 2721 SH_PFC_PIN_GROUP(msiof4_sync), 2722 SH_PFC_PIN_GROUP(msiof4_ss1), 2723 SH_PFC_PIN_GROUP(msiof4_ss2), 2724 SH_PFC_PIN_GROUP(msiof4_txd), 2725 SH_PFC_PIN_GROUP(msiof4_rxd), 2726 SH_PFC_PIN_GROUP(msiof5_clk), 2727 SH_PFC_PIN_GROUP(msiof5_sync), 2728 SH_PFC_PIN_GROUP(msiof5_ss1), 2729 SH_PFC_PIN_GROUP(msiof5_ss2), 2730 SH_PFC_PIN_GROUP(msiof5_txd), 2731 SH_PFC_PIN_GROUP(msiof5_rxd), 2732 2733 SH_PFC_PIN_GROUP(pwm0), 2734 SH_PFC_PIN_GROUP(pwm1), 2735 SH_PFC_PIN_GROUP(pwm2), 2736 SH_PFC_PIN_GROUP(pwm3), 2737 SH_PFC_PIN_GROUP(pwm4), 2738 2739 SH_PFC_PIN_GROUP(qspi0_ctrl), 2740 BUS_DATA_PIN_GROUP(qspi0_data, 2), 2741 BUS_DATA_PIN_GROUP(qspi0_data, 4), 2742 SH_PFC_PIN_GROUP(qspi1_ctrl), 2743 BUS_DATA_PIN_GROUP(qspi1_data, 2), 2744 BUS_DATA_PIN_GROUP(qspi1_data, 4), 2745 2746 SH_PFC_PIN_GROUP(scif0_data), 2747 SH_PFC_PIN_GROUP(scif0_clk), 2748 SH_PFC_PIN_GROUP(scif0_ctrl), 2749 SH_PFC_PIN_GROUP(scif1_data_a), 2750 SH_PFC_PIN_GROUP(scif1_data_b), 2751 SH_PFC_PIN_GROUP(scif1_clk), 2752 SH_PFC_PIN_GROUP(scif1_ctrl), 2753 SH_PFC_PIN_GROUP(scif3_data), 2754 SH_PFC_PIN_GROUP(scif3_clk), 2755 SH_PFC_PIN_GROUP(scif3_ctrl), 2756 SH_PFC_PIN_GROUP(scif4_data), 2757 SH_PFC_PIN_GROUP(scif4_clk), 2758 SH_PFC_PIN_GROUP(scif4_ctrl), 2759 SH_PFC_PIN_GROUP(scif_clk), 2760 2761 SH_PFC_PIN_GROUP(tmu_tclk1_a), 2762 SH_PFC_PIN_GROUP(tmu_tclk1_b), 2763 SH_PFC_PIN_GROUP(tmu_tclk2_a), 2764 SH_PFC_PIN_GROUP(tmu_tclk2_b), 2765 SH_PFC_PIN_GROUP(tmu_tclk3), 2766 SH_PFC_PIN_GROUP(tmu_tclk4), 2767 2768 SH_PFC_PIN_GROUP(tpu_to0), 2769 SH_PFC_PIN_GROUP(tpu_to1), 2770 SH_PFC_PIN_GROUP(tpu_to2), 2771 SH_PFC_PIN_GROUP(tpu_to3), 2772 }; 2773 2774 static const char * const avb0_groups[] = { 2775 "avb0_link", 2776 "avb0_magic", 2777 "avb0_phy_int", 2778 "avb0_mdio", 2779 "avb0_rgmii", 2780 "avb0_txcrefclk", 2781 "avb0_avtp_pps", 2782 "avb0_avtp_capture", 2783 "avb0_avtp_match", 2784 }; 2785 2786 static const char * const avb1_groups[] = { 2787 "avb1_link", 2788 "avb1_magic", 2789 "avb1_phy_int", 2790 "avb1_mdio", 2791 "avb1_rgmii", 2792 "avb1_txcrefclk", 2793 "avb1_avtp_pps", 2794 "avb1_avtp_capture", 2795 "avb1_avtp_match", 2796 }; 2797 2798 static const char * const avb2_groups[] = { 2799 "avb2_link", 2800 "avb2_magic", 2801 "avb2_phy_int", 2802 "avb2_mdio", 2803 "avb2_rgmii", 2804 "avb2_txcrefclk", 2805 "avb2_avtp_pps", 2806 "avb2_avtp_capture", 2807 "avb2_avtp_match", 2808 }; 2809 2810 static const char * const avb3_groups[] = { 2811 "avb3_link", 2812 "avb3_magic", 2813 "avb3_phy_int", 2814 "avb3_mdio", 2815 "avb3_rgmii", 2816 "avb3_txcrefclk", 2817 "avb3_avtp_pps", 2818 "avb3_avtp_capture", 2819 "avb3_avtp_match", 2820 }; 2821 2822 static const char * const avb4_groups[] = { 2823 "avb4_link", 2824 "avb4_magic", 2825 "avb4_phy_int", 2826 "avb4_mdio", 2827 "avb4_rgmii", 2828 "avb4_txcrefclk", 2829 "avb4_avtp_pps", 2830 "avb4_avtp_capture", 2831 "avb4_avtp_match", 2832 }; 2833 2834 static const char * const avb5_groups[] = { 2835 "avb5_link", 2836 "avb5_magic", 2837 "avb5_phy_int", 2838 "avb5_mdio", 2839 "avb5_rgmii", 2840 "avb5_txcrefclk", 2841 "avb5_avtp_pps", 2842 "avb5_avtp_capture", 2843 "avb5_avtp_match", 2844 }; 2845 2846 static const char * const canfd0_groups[] = { 2847 "canfd0_data", 2848 }; 2849 2850 static const char * const canfd1_groups[] = { 2851 "canfd1_data", 2852 }; 2853 2854 static const char * const canfd2_groups[] = { 2855 "canfd2_data", 2856 }; 2857 2858 static const char * const canfd3_groups[] = { 2859 "canfd3_data", 2860 }; 2861 2862 static const char * const canfd4_groups[] = { 2863 "canfd4_data", 2864 }; 2865 2866 static const char * const canfd5_groups[] = { 2867 "canfd5_data", 2868 }; 2869 2870 static const char * const canfd6_groups[] = { 2871 "canfd6_data", 2872 }; 2873 2874 static const char * const canfd7_groups[] = { 2875 "canfd7_data", 2876 }; 2877 2878 static const char * const can_clk_groups[] = { 2879 "can_clk", 2880 }; 2881 2882 static const char * const du_groups[] = { 2883 "du_rgb888", 2884 "du_clk_out", 2885 "du_sync", 2886 "du_oddf", 2887 }; 2888 2889 static const char * const hscif0_groups[] = { 2890 "hscif0_data", 2891 "hscif0_clk", 2892 "hscif0_ctrl", 2893 }; 2894 2895 static const char * const hscif1_groups[] = { 2896 "hscif1_data", 2897 "hscif1_clk", 2898 "hscif1_ctrl", 2899 }; 2900 2901 static const char * const hscif2_groups[] = { 2902 "hscif2_data", 2903 "hscif2_clk", 2904 "hscif2_ctrl", 2905 }; 2906 2907 static const char * const hscif3_groups[] = { 2908 "hscif3_data", 2909 "hscif3_clk", 2910 "hscif3_ctrl", 2911 }; 2912 2913 static const char * const i2c0_groups[] = { 2914 "i2c0", 2915 }; 2916 2917 static const char * const i2c1_groups[] = { 2918 "i2c1", 2919 }; 2920 2921 static const char * const i2c2_groups[] = { 2922 "i2c2", 2923 }; 2924 2925 static const char * const i2c3_groups[] = { 2926 "i2c3", 2927 }; 2928 2929 static const char * const i2c4_groups[] = { 2930 "i2c4", 2931 }; 2932 2933 static const char * const i2c5_groups[] = { 2934 "i2c5", 2935 }; 2936 2937 static const char * const i2c6_groups[] = { 2938 "i2c6", 2939 }; 2940 2941 static const char * const intc_ex_groups[] = { 2942 "intc_ex_irq0", 2943 "intc_ex_irq1", 2944 "intc_ex_irq2", 2945 "intc_ex_irq3", 2946 "intc_ex_irq4", 2947 "intc_ex_irq5", 2948 }; 2949 2950 static const char * const mmc_groups[] = { 2951 "mmc_data1", 2952 "mmc_data4", 2953 "mmc_data8", 2954 "mmc_ctrl", 2955 "mmc_cd", 2956 "mmc_wp", 2957 "mmc_ds", 2958 }; 2959 2960 static const char * const msiof0_groups[] = { 2961 "msiof0_clk", 2962 "msiof0_sync", 2963 "msiof0_ss1", 2964 "msiof0_ss2", 2965 "msiof0_txd", 2966 "msiof0_rxd", 2967 }; 2968 2969 static const char * const msiof1_groups[] = { 2970 "msiof1_clk", 2971 "msiof1_sync", 2972 "msiof1_ss1", 2973 "msiof1_ss2", 2974 "msiof1_txd", 2975 "msiof1_rxd", 2976 }; 2977 2978 static const char * const msiof2_groups[] = { 2979 "msiof2_clk", 2980 "msiof2_sync", 2981 "msiof2_ss1", 2982 "msiof2_ss2", 2983 "msiof2_txd", 2984 "msiof2_rxd", 2985 }; 2986 2987 static const char * const msiof3_groups[] = { 2988 "msiof3_clk", 2989 "msiof3_sync", 2990 "msiof3_ss1", 2991 "msiof3_ss2", 2992 "msiof3_txd", 2993 "msiof3_rxd", 2994 }; 2995 2996 static const char * const msiof4_groups[] = { 2997 "msiof4_clk", 2998 "msiof4_sync", 2999 "msiof4_ss1", 3000 "msiof4_ss2", 3001 "msiof4_txd", 3002 "msiof4_rxd", 3003 }; 3004 3005 static const char * const msiof5_groups[] = { 3006 "msiof5_clk", 3007 "msiof5_sync", 3008 "msiof5_ss1", 3009 "msiof5_ss2", 3010 "msiof5_txd", 3011 "msiof5_rxd", 3012 }; 3013 3014 static const char * const pwm0_groups[] = { 3015 "pwm0", 3016 }; 3017 3018 static const char * const pwm1_groups[] = { 3019 "pwm1", 3020 }; 3021 3022 static const char * const pwm2_groups[] = { 3023 "pwm2", 3024 }; 3025 3026 static const char * const pwm3_groups[] = { 3027 "pwm3", 3028 }; 3029 3030 static const char * const pwm4_groups[] = { 3031 "pwm4", 3032 }; 3033 3034 static const char * const qspi0_groups[] = { 3035 "qspi0_ctrl", 3036 "qspi0_data2", 3037 "qspi0_data4", 3038 }; 3039 3040 static const char * const qspi1_groups[] = { 3041 "qspi1_ctrl", 3042 "qspi1_data2", 3043 "qspi1_data4", 3044 }; 3045 3046 static const char * const scif0_groups[] = { 3047 "scif0_data", 3048 "scif0_clk", 3049 "scif0_ctrl", 3050 }; 3051 3052 static const char * const scif1_groups[] = { 3053 "scif1_data_a", 3054 "scif1_data_b", 3055 "scif1_clk", 3056 "scif1_ctrl", 3057 }; 3058 3059 static const char * const scif3_groups[] = { 3060 "scif3_data", 3061 "scif3_clk", 3062 "scif3_ctrl", 3063 }; 3064 3065 static const char * const scif4_groups[] = { 3066 "scif4_data", 3067 "scif4_clk", 3068 "scif4_ctrl", 3069 }; 3070 3071 static const char * const scif_clk_groups[] = { 3072 "scif_clk", 3073 }; 3074 3075 static const char * const tmu_groups[] = { 3076 "tmu_tclk1_a", 3077 "tmu_tclk1_b", 3078 "tmu_tclk2_a", 3079 "tmu_tclk2_b", 3080 "tmu_tclk3", 3081 "tmu_tclk4", 3082 }; 3083 3084 static const char * const tpu_groups[] = { 3085 "tpu_to0", 3086 "tpu_to1", 3087 "tpu_to2", 3088 "tpu_to3", 3089 }; 3090 3091 static const struct sh_pfc_function pinmux_functions[] = { 3092 SH_PFC_FUNCTION(avb0), 3093 SH_PFC_FUNCTION(avb1), 3094 SH_PFC_FUNCTION(avb2), 3095 SH_PFC_FUNCTION(avb3), 3096 SH_PFC_FUNCTION(avb4), 3097 SH_PFC_FUNCTION(avb5), 3098 3099 SH_PFC_FUNCTION(canfd0), 3100 SH_PFC_FUNCTION(canfd1), 3101 SH_PFC_FUNCTION(canfd2), 3102 SH_PFC_FUNCTION(canfd3), 3103 SH_PFC_FUNCTION(canfd4), 3104 SH_PFC_FUNCTION(canfd5), 3105 SH_PFC_FUNCTION(canfd6), 3106 SH_PFC_FUNCTION(canfd7), 3107 SH_PFC_FUNCTION(can_clk), 3108 3109 SH_PFC_FUNCTION(du), 3110 3111 SH_PFC_FUNCTION(hscif0), 3112 SH_PFC_FUNCTION(hscif1), 3113 SH_PFC_FUNCTION(hscif2), 3114 SH_PFC_FUNCTION(hscif3), 3115 3116 SH_PFC_FUNCTION(i2c0), 3117 SH_PFC_FUNCTION(i2c1), 3118 SH_PFC_FUNCTION(i2c2), 3119 SH_PFC_FUNCTION(i2c3), 3120 SH_PFC_FUNCTION(i2c4), 3121 SH_PFC_FUNCTION(i2c5), 3122 SH_PFC_FUNCTION(i2c6), 3123 3124 SH_PFC_FUNCTION(intc_ex), 3125 3126 SH_PFC_FUNCTION(mmc), 3127 3128 SH_PFC_FUNCTION(msiof0), 3129 SH_PFC_FUNCTION(msiof1), 3130 SH_PFC_FUNCTION(msiof2), 3131 SH_PFC_FUNCTION(msiof3), 3132 SH_PFC_FUNCTION(msiof4), 3133 SH_PFC_FUNCTION(msiof5), 3134 3135 SH_PFC_FUNCTION(pwm0), 3136 SH_PFC_FUNCTION(pwm1), 3137 SH_PFC_FUNCTION(pwm2), 3138 SH_PFC_FUNCTION(pwm3), 3139 SH_PFC_FUNCTION(pwm4), 3140 3141 SH_PFC_FUNCTION(qspi0), 3142 SH_PFC_FUNCTION(qspi1), 3143 3144 SH_PFC_FUNCTION(scif0), 3145 SH_PFC_FUNCTION(scif1), 3146 SH_PFC_FUNCTION(scif3), 3147 SH_PFC_FUNCTION(scif4), 3148 SH_PFC_FUNCTION(scif_clk), 3149 3150 SH_PFC_FUNCTION(tmu), 3151 3152 SH_PFC_FUNCTION(tpu), 3153 }; 3154 3155 static const struct pinmux_cfg_reg pinmux_config_regs[] = { 3156 #define F_(x, y) FN_##y 3157 #define FM(x) FN_##x 3158 { PINMUX_CFG_REG("GPSR0", 0xe6058040, 32, 1, GROUP( 3159 0, 0, 3160 0, 0, 3161 0, 0, 3162 0, 0, 3163 GP_0_27_FN, GPSR0_27, 3164 GP_0_26_FN, GPSR0_26, 3165 GP_0_25_FN, GPSR0_25, 3166 GP_0_24_FN, GPSR0_24, 3167 GP_0_23_FN, GPSR0_23, 3168 GP_0_22_FN, GPSR0_22, 3169 GP_0_21_FN, GPSR0_21, 3170 GP_0_20_FN, GPSR0_20, 3171 GP_0_19_FN, GPSR0_19, 3172 GP_0_18_FN, GPSR0_18, 3173 GP_0_17_FN, GPSR0_17, 3174 GP_0_16_FN, GPSR0_16, 3175 GP_0_15_FN, GPSR0_15, 3176 GP_0_14_FN, GPSR0_14, 3177 GP_0_13_FN, GPSR0_13, 3178 GP_0_12_FN, GPSR0_12, 3179 GP_0_11_FN, GPSR0_11, 3180 GP_0_10_FN, GPSR0_10, 3181 GP_0_9_FN, GPSR0_9, 3182 GP_0_8_FN, GPSR0_8, 3183 GP_0_7_FN, GPSR0_7, 3184 GP_0_6_FN, GPSR0_6, 3185 GP_0_5_FN, GPSR0_5, 3186 GP_0_4_FN, GPSR0_4, 3187 GP_0_3_FN, GPSR0_3, 3188 GP_0_2_FN, GPSR0_2, 3189 GP_0_1_FN, GPSR0_1, 3190 GP_0_0_FN, GPSR0_0, )) 3191 }, 3192 { PINMUX_CFG_REG("GPSR1", 0xe6050040, 32, 1, GROUP( 3193 0, 0, 3194 GP_1_30_FN, GPSR1_30, 3195 GP_1_29_FN, GPSR1_29, 3196 GP_1_28_FN, GPSR1_28, 3197 GP_1_27_FN, GPSR1_27, 3198 GP_1_26_FN, GPSR1_26, 3199 GP_1_25_FN, GPSR1_25, 3200 GP_1_24_FN, GPSR1_24, 3201 GP_1_23_FN, GPSR1_23, 3202 GP_1_22_FN, GPSR1_22, 3203 GP_1_21_FN, GPSR1_21, 3204 GP_1_20_FN, GPSR1_20, 3205 GP_1_19_FN, GPSR1_19, 3206 GP_1_18_FN, GPSR1_18, 3207 GP_1_17_FN, GPSR1_17, 3208 GP_1_16_FN, GPSR1_16, 3209 GP_1_15_FN, GPSR1_15, 3210 GP_1_14_FN, GPSR1_14, 3211 GP_1_13_FN, GPSR1_13, 3212 GP_1_12_FN, GPSR1_12, 3213 GP_1_11_FN, GPSR1_11, 3214 GP_1_10_FN, GPSR1_10, 3215 GP_1_9_FN, GPSR1_9, 3216 GP_1_8_FN, GPSR1_8, 3217 GP_1_7_FN, GPSR1_7, 3218 GP_1_6_FN, GPSR1_6, 3219 GP_1_5_FN, GPSR1_5, 3220 GP_1_4_FN, GPSR1_4, 3221 GP_1_3_FN, GPSR1_3, 3222 GP_1_2_FN, GPSR1_2, 3223 GP_1_1_FN, GPSR1_1, 3224 GP_1_0_FN, GPSR1_0, )) 3225 }, 3226 { PINMUX_CFG_REG("GPSR2", 0xe6050840, 32, 1, GROUP( 3227 0, 0, 3228 0, 0, 3229 0, 0, 3230 0, 0, 3231 0, 0, 3232 0, 0, 3233 0, 0, 3234 GP_2_24_FN, GPSR2_24, 3235 GP_2_23_FN, GPSR2_23, 3236 GP_2_22_FN, GPSR2_22, 3237 GP_2_21_FN, GPSR2_21, 3238 GP_2_20_FN, GPSR2_20, 3239 GP_2_19_FN, GPSR2_19, 3240 GP_2_18_FN, GPSR2_18, 3241 GP_2_17_FN, GPSR2_17, 3242 GP_2_16_FN, GPSR2_16, 3243 GP_2_15_FN, GPSR2_15, 3244 GP_2_14_FN, GPSR2_14, 3245 GP_2_13_FN, GPSR2_13, 3246 GP_2_12_FN, GPSR2_12, 3247 GP_2_11_FN, GPSR2_11, 3248 GP_2_10_FN, GPSR2_10, 3249 GP_2_9_FN, GPSR2_9, 3250 GP_2_8_FN, GPSR2_8, 3251 GP_2_7_FN, GPSR2_7, 3252 GP_2_6_FN, GPSR2_6, 3253 GP_2_5_FN, GPSR2_5, 3254 GP_2_4_FN, GPSR2_4, 3255 GP_2_3_FN, GPSR2_3, 3256 GP_2_2_FN, GPSR2_2, 3257 GP_2_1_FN, GPSR2_1, 3258 GP_2_0_FN, GPSR2_0, )) 3259 }, 3260 { PINMUX_CFG_REG("GPSR3", 0xe6058840, 32, 1, GROUP( 3261 0, 0, 3262 0, 0, 3263 0, 0, 3264 0, 0, 3265 0, 0, 3266 0, 0, 3267 0, 0, 3268 0, 0, 3269 0, 0, 3270 0, 0, 3271 0, 0, 3272 0, 0, 3273 0, 0, 3274 0, 0, 3275 0, 0, 3276 GP_3_16_FN, GPSR3_16, 3277 GP_3_15_FN, GPSR3_15, 3278 GP_3_14_FN, GPSR3_14, 3279 GP_3_13_FN, GPSR3_13, 3280 GP_3_12_FN, GPSR3_12, 3281 GP_3_11_FN, GPSR3_11, 3282 GP_3_10_FN, GPSR3_10, 3283 GP_3_9_FN, GPSR3_9, 3284 GP_3_8_FN, GPSR3_8, 3285 GP_3_7_FN, GPSR3_7, 3286 GP_3_6_FN, GPSR3_6, 3287 GP_3_5_FN, GPSR3_5, 3288 GP_3_4_FN, GPSR3_4, 3289 GP_3_3_FN, GPSR3_3, 3290 GP_3_2_FN, GPSR3_2, 3291 GP_3_1_FN, GPSR3_1, 3292 GP_3_0_FN, GPSR3_0, )) 3293 }, 3294 { PINMUX_CFG_REG("GPSR4", 0xe6060040, 32, 1, GROUP( 3295 0, 0, 3296 0, 0, 3297 0, 0, 3298 0, 0, 3299 0, 0, 3300 GP_4_26_FN, GPSR4_26, 3301 GP_4_25_FN, GPSR4_25, 3302 GP_4_24_FN, GPSR4_24, 3303 GP_4_23_FN, GPSR4_23, 3304 GP_4_22_FN, GPSR4_22, 3305 GP_4_21_FN, GPSR4_21, 3306 GP_4_20_FN, GPSR4_20, 3307 GP_4_19_FN, GPSR4_19, 3308 GP_4_18_FN, GPSR4_18, 3309 GP_4_17_FN, GPSR4_17, 3310 GP_4_16_FN, GPSR4_16, 3311 GP_4_15_FN, GPSR4_15, 3312 GP_4_14_FN, GPSR4_14, 3313 GP_4_13_FN, GPSR4_13, 3314 GP_4_12_FN, GPSR4_12, 3315 GP_4_11_FN, GPSR4_11, 3316 GP_4_10_FN, GPSR4_10, 3317 GP_4_9_FN, GPSR4_9, 3318 GP_4_8_FN, GPSR4_8, 3319 GP_4_7_FN, GPSR4_7, 3320 GP_4_6_FN, GPSR4_6, 3321 GP_4_5_FN, GPSR4_5, 3322 GP_4_4_FN, GPSR4_4, 3323 GP_4_3_FN, GPSR4_3, 3324 GP_4_2_FN, GPSR4_2, 3325 GP_4_1_FN, GPSR4_1, 3326 GP_4_0_FN, GPSR4_0, )) 3327 }, 3328 { PINMUX_CFG_REG("GPSR5", 0xe6060840, 32, 1, GROUP( 3329 0, 0, 3330 0, 0, 3331 0, 0, 3332 0, 0, 3333 0, 0, 3334 0, 0, 3335 0, 0, 3336 0, 0, 3337 0, 0, 3338 0, 0, 3339 0, 0, 3340 GP_5_20_FN, GPSR5_20, 3341 GP_5_19_FN, GPSR5_19, 3342 GP_5_18_FN, GPSR5_18, 3343 GP_5_17_FN, GPSR5_17, 3344 GP_5_16_FN, GPSR5_16, 3345 GP_5_15_FN, GPSR5_15, 3346 GP_5_14_FN, GPSR5_14, 3347 GP_5_13_FN, GPSR5_13, 3348 GP_5_12_FN, GPSR5_12, 3349 GP_5_11_FN, GPSR5_11, 3350 GP_5_10_FN, GPSR5_10, 3351 GP_5_9_FN, GPSR5_9, 3352 GP_5_8_FN, GPSR5_8, 3353 GP_5_7_FN, GPSR5_7, 3354 GP_5_6_FN, GPSR5_6, 3355 GP_5_5_FN, GPSR5_5, 3356 GP_5_4_FN, GPSR5_4, 3357 GP_5_3_FN, GPSR5_3, 3358 GP_5_2_FN, GPSR5_2, 3359 GP_5_1_FN, GPSR5_1, 3360 GP_5_0_FN, GPSR5_0, )) 3361 }, 3362 { PINMUX_CFG_REG("GPSR6", 0xe6068040, 32, 1, GROUP( 3363 0, 0, 3364 0, 0, 3365 0, 0, 3366 0, 0, 3367 0, 0, 3368 0, 0, 3369 0, 0, 3370 0, 0, 3371 0, 0, 3372 0, 0, 3373 0, 0, 3374 GP_6_20_FN, GPSR6_20, 3375 GP_6_19_FN, GPSR6_19, 3376 GP_6_18_FN, GPSR6_18, 3377 GP_6_17_FN, GPSR6_17, 3378 GP_6_16_FN, GPSR6_16, 3379 GP_6_15_FN, GPSR6_15, 3380 GP_6_14_FN, GPSR6_14, 3381 GP_6_13_FN, GPSR6_13, 3382 GP_6_12_FN, GPSR6_12, 3383 GP_6_11_FN, GPSR6_11, 3384 GP_6_10_FN, GPSR6_10, 3385 GP_6_9_FN, GPSR6_9, 3386 GP_6_8_FN, GPSR6_8, 3387 GP_6_7_FN, GPSR6_7, 3388 GP_6_6_FN, GPSR6_6, 3389 GP_6_5_FN, GPSR6_5, 3390 GP_6_4_FN, GPSR6_4, 3391 GP_6_3_FN, GPSR6_3, 3392 GP_6_2_FN, GPSR6_2, 3393 GP_6_1_FN, GPSR6_1, 3394 GP_6_0_FN, GPSR6_0, )) 3395 }, 3396 { PINMUX_CFG_REG("GPSR7", 0xe6068840, 32, 1, GROUP( 3397 0, 0, 3398 0, 0, 3399 0, 0, 3400 0, 0, 3401 0, 0, 3402 0, 0, 3403 0, 0, 3404 0, 0, 3405 0, 0, 3406 0, 0, 3407 0, 0, 3408 GP_7_20_FN, GPSR7_20, 3409 GP_7_19_FN, GPSR7_19, 3410 GP_7_18_FN, GPSR7_18, 3411 GP_7_17_FN, GPSR7_17, 3412 GP_7_16_FN, GPSR7_16, 3413 GP_7_15_FN, GPSR7_15, 3414 GP_7_14_FN, GPSR7_14, 3415 GP_7_13_FN, GPSR7_13, 3416 GP_7_12_FN, GPSR7_12, 3417 GP_7_11_FN, GPSR7_11, 3418 GP_7_10_FN, GPSR7_10, 3419 GP_7_9_FN, GPSR7_9, 3420 GP_7_8_FN, GPSR7_8, 3421 GP_7_7_FN, GPSR7_7, 3422 GP_7_6_FN, GPSR7_6, 3423 GP_7_5_FN, GPSR7_5, 3424 GP_7_4_FN, GPSR7_4, 3425 GP_7_3_FN, GPSR7_3, 3426 GP_7_2_FN, GPSR7_2, 3427 GP_7_1_FN, GPSR7_1, 3428 GP_7_0_FN, GPSR7_0, )) 3429 }, 3430 { PINMUX_CFG_REG("GPSR8", 0xe6069040, 32, 1, GROUP( 3431 0, 0, 3432 0, 0, 3433 0, 0, 3434 0, 0, 3435 0, 0, 3436 0, 0, 3437 0, 0, 3438 0, 0, 3439 0, 0, 3440 0, 0, 3441 0, 0, 3442 GP_8_20_FN, GPSR8_20, 3443 GP_8_19_FN, GPSR8_19, 3444 GP_8_18_FN, GPSR8_18, 3445 GP_8_17_FN, GPSR8_17, 3446 GP_8_16_FN, GPSR8_16, 3447 GP_8_15_FN, GPSR8_15, 3448 GP_8_14_FN, GPSR8_14, 3449 GP_8_13_FN, GPSR8_13, 3450 GP_8_12_FN, GPSR8_12, 3451 GP_8_11_FN, GPSR8_11, 3452 GP_8_10_FN, GPSR8_10, 3453 GP_8_9_FN, GPSR8_9, 3454 GP_8_8_FN, GPSR8_8, 3455 GP_8_7_FN, GPSR8_7, 3456 GP_8_6_FN, GPSR8_6, 3457 GP_8_5_FN, GPSR8_5, 3458 GP_8_4_FN, GPSR8_4, 3459 GP_8_3_FN, GPSR8_3, 3460 GP_8_2_FN, GPSR8_2, 3461 GP_8_1_FN, GPSR8_1, 3462 GP_8_0_FN, GPSR8_0, )) 3463 }, 3464 { PINMUX_CFG_REG("GPSR9", 0xe6069840, 32, 1, GROUP( 3465 0, 0, 3466 0, 0, 3467 0, 0, 3468 0, 0, 3469 0, 0, 3470 0, 0, 3471 0, 0, 3472 0, 0, 3473 0, 0, 3474 0, 0, 3475 0, 0, 3476 GP_9_20_FN, GPSR9_20, 3477 GP_9_19_FN, GPSR9_19, 3478 GP_9_18_FN, GPSR9_18, 3479 GP_9_17_FN, GPSR9_17, 3480 GP_9_16_FN, GPSR9_16, 3481 GP_9_15_FN, GPSR9_15, 3482 GP_9_14_FN, GPSR9_14, 3483 GP_9_13_FN, GPSR9_13, 3484 GP_9_12_FN, GPSR9_12, 3485 GP_9_11_FN, GPSR9_11, 3486 GP_9_10_FN, GPSR9_10, 3487 GP_9_9_FN, GPSR9_9, 3488 GP_9_8_FN, GPSR9_8, 3489 GP_9_7_FN, GPSR9_7, 3490 GP_9_6_FN, GPSR9_6, 3491 GP_9_5_FN, GPSR9_5, 3492 GP_9_4_FN, GPSR9_4, 3493 GP_9_3_FN, GPSR9_3, 3494 GP_9_2_FN, GPSR9_2, 3495 GP_9_1_FN, GPSR9_1, 3496 GP_9_0_FN, GPSR9_0, )) 3497 }, 3498 #undef F_ 3499 #undef FM 3500 3501 #define F_(x, y) x, 3502 #define FM(x) FN_##x, 3503 { PINMUX_CFG_REG("IP0SR1", 0xe6050060, 32, 4, GROUP( 3504 IP0SR1_31_28 3505 IP0SR1_27_24 3506 IP0SR1_23_20 3507 IP0SR1_19_16 3508 IP0SR1_15_12 3509 IP0SR1_11_8 3510 IP0SR1_7_4 3511 IP0SR1_3_0)) 3512 }, 3513 { PINMUX_CFG_REG("IP1SR1", 0xe6050064, 32, 4, GROUP( 3514 IP1SR1_31_28 3515 IP1SR1_27_24 3516 IP1SR1_23_20 3517 IP1SR1_19_16 3518 IP1SR1_15_12 3519 IP1SR1_11_8 3520 IP1SR1_7_4 3521 IP1SR1_3_0)) 3522 }, 3523 { PINMUX_CFG_REG("IP2SR1", 0xe6050068, 32, 4, GROUP( 3524 IP2SR1_31_28 3525 IP2SR1_27_24 3526 IP2SR1_23_20 3527 IP2SR1_19_16 3528 IP2SR1_15_12 3529 IP2SR1_11_8 3530 IP2SR1_7_4 3531 IP2SR1_3_0)) 3532 }, 3533 { PINMUX_CFG_REG("IP3SR1", 0xe605006c, 32, 4, GROUP( 3534 IP3SR1_31_28 3535 IP3SR1_27_24 3536 IP3SR1_23_20 3537 IP3SR1_19_16 3538 IP3SR1_15_12 3539 IP3SR1_11_8 3540 IP3SR1_7_4 3541 IP3SR1_3_0)) 3542 }, 3543 { PINMUX_CFG_REG("IP0SR2", 0xe6050860, 32, 4, GROUP( 3544 IP0SR2_31_28 3545 IP0SR2_27_24 3546 IP0SR2_23_20 3547 IP0SR2_19_16 3548 IP0SR2_15_12 3549 IP0SR2_11_8 3550 IP0SR2_7_4 3551 IP0SR2_3_0)) 3552 }, 3553 { PINMUX_CFG_REG("IP1SR2", 0xe6050864, 32, 4, GROUP( 3554 IP1SR2_31_28 3555 IP1SR2_27_24 3556 IP1SR2_23_20 3557 IP1SR2_19_16 3558 IP1SR2_15_12 3559 IP1SR2_11_8 3560 IP1SR2_7_4 3561 IP1SR2_3_0)) 3562 }, 3563 { PINMUX_CFG_REG("IP2SR2", 0xe6050868, 32, 4, GROUP( 3564 IP2SR2_31_28 3565 IP2SR2_27_24 3566 IP2SR2_23_20 3567 IP2SR2_19_16 3568 IP2SR2_15_12 3569 IP2SR2_11_8 3570 IP2SR2_7_4 3571 IP2SR2_3_0)) 3572 }, 3573 { PINMUX_CFG_REG("IP0SR3", 0xe6058860, 32, 4, GROUP( 3574 IP0SR3_31_28 3575 IP0SR3_27_24 3576 IP0SR3_23_20 3577 IP0SR3_19_16 3578 IP0SR3_15_12 3579 IP0SR3_11_8 3580 IP0SR3_7_4 3581 IP0SR3_3_0)) 3582 }, 3583 { PINMUX_CFG_REG("IP1SR3", 0xe6058864, 32, 4, GROUP( 3584 IP1SR3_31_28 3585 IP1SR3_27_24 3586 IP1SR3_23_20 3587 IP1SR3_19_16 3588 IP1SR3_15_12 3589 IP1SR3_11_8 3590 IP1SR3_7_4 3591 IP1SR3_3_0)) 3592 }, 3593 { PINMUX_CFG_REG("IP0SR4", 0xe6060060, 32, 4, GROUP( 3594 IP0SR4_31_28 3595 IP0SR4_27_24 3596 IP0SR4_23_20 3597 IP0SR4_19_16 3598 IP0SR4_15_12 3599 IP0SR4_11_8 3600 IP0SR4_7_4 3601 IP0SR4_3_0)) 3602 }, 3603 { PINMUX_CFG_REG("IP1SR4", 0xe6060064, 32, 4, GROUP( 3604 IP1SR4_31_28 3605 IP1SR4_27_24 3606 IP1SR4_23_20 3607 IP1SR4_19_16 3608 IP1SR4_15_12 3609 IP1SR4_11_8 3610 IP1SR4_7_4 3611 IP1SR4_3_0)) 3612 }, 3613 { PINMUX_CFG_REG("IP2SR4", 0xe6060068, 32, 4, GROUP( 3614 IP2SR4_31_28 3615 IP2SR4_27_24 3616 IP2SR4_23_20 3617 IP2SR4_19_16 3618 IP2SR4_15_12 3619 IP2SR4_11_8 3620 IP2SR4_7_4 3621 IP2SR4_3_0)) 3622 }, 3623 { PINMUX_CFG_REG("IP0SR5", 0xe6060860, 32, 4, GROUP( 3624 IP0SR5_31_28 3625 IP0SR5_27_24 3626 IP0SR5_23_20 3627 IP0SR5_19_16 3628 IP0SR5_15_12 3629 IP0SR5_11_8 3630 IP0SR5_7_4 3631 IP0SR5_3_0)) 3632 }, 3633 { PINMUX_CFG_REG("IP1SR5", 0xe6060864, 32, 4, GROUP( 3634 IP1SR5_31_28 3635 IP1SR5_27_24 3636 IP1SR5_23_20 3637 IP1SR5_19_16 3638 IP1SR5_15_12 3639 IP1SR5_11_8 3640 IP1SR5_7_4 3641 IP1SR5_3_0)) 3642 }, 3643 { PINMUX_CFG_REG("IP2SR5", 0xe6060868, 32, 4, GROUP( 3644 IP2SR5_31_28 3645 IP2SR5_27_24 3646 IP2SR5_23_20 3647 IP2SR5_19_16 3648 IP2SR5_15_12 3649 IP2SR5_11_8 3650 IP2SR5_7_4 3651 IP2SR5_3_0)) 3652 }, 3653 #undef F_ 3654 #undef FM 3655 3656 #define F_(x, y) x, 3657 #define FM(x) FN_##x, 3658 { PINMUX_CFG_REG_VAR("MOD_SEL2", 0xe6050900, 32, 3659 GROUP(4, 4, 4, 4, 2, 2, 2, 2, 2, 2, 2, 1, 1), 3660 GROUP( 3661 /* RESERVED 31, 30, 29, 28 */ 3662 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3663 /* RESERVED 27, 26, 25, 24 */ 3664 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3665 /* RESERVED 23, 22, 21, 20 */ 3666 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3667 /* RESERVED 19, 18, 17, 16 */ 3668 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3669 MOD_SEL2_15_14 3670 MOD_SEL2_13_12 3671 MOD_SEL2_11_10 3672 MOD_SEL2_9_8 3673 MOD_SEL2_7_6 3674 MOD_SEL2_5_4 3675 MOD_SEL2_3_2 3676 0, 0, 3677 0, 0, )) 3678 }, 3679 { }, 3680 }; 3681 3682 static const struct pinmux_drive_reg pinmux_drive_regs[] = { 3683 { PINMUX_DRIVE_REG("DRV0CTRL0", 0xe6058080) { 3684 { RCAR_GP_PIN(0, 7), 28, 2 }, /* QSPI1_MOSI_IO0 */ 3685 { RCAR_GP_PIN(0, 6), 24, 2 }, /* QSPI1_SPCLK */ 3686 { RCAR_GP_PIN(0, 5), 20, 2 }, /* QSPI0_SSL */ 3687 { RCAR_GP_PIN(0, 4), 16, 2 }, /* QSPI0_IO3 */ 3688 { RCAR_GP_PIN(0, 3), 12, 2 }, /* QSPI0_IO2 */ 3689 { RCAR_GP_PIN(0, 2), 8, 2 }, /* QSPI0_MISO_IO1 */ 3690 { RCAR_GP_PIN(0, 1), 4, 2 }, /* QSPI0_MOSI_IO0 */ 3691 { RCAR_GP_PIN(0, 0), 0, 2 }, /* QSPI0_SPCLK */ 3692 } }, 3693 { PINMUX_DRIVE_REG("DRV1CTRL0", 0xe6058084) { 3694 { RCAR_GP_PIN(0, 15), 28, 3 }, /* SD_WP */ 3695 { RCAR_GP_PIN(0, 14), 24, 2 }, /* RPC_INT_N */ 3696 { RCAR_GP_PIN(0, 13), 20, 2 }, /* RPC_WP_N */ 3697 { RCAR_GP_PIN(0, 12), 16, 2 }, /* RPC_RESET_N */ 3698 { RCAR_GP_PIN(0, 11), 12, 2 }, /* QSPI1_SSL */ 3699 { RCAR_GP_PIN(0, 10), 8, 2 }, /* QSPI1_IO3 */ 3700 { RCAR_GP_PIN(0, 9), 4, 2 }, /* QSPI1_IO2 */ 3701 { RCAR_GP_PIN(0, 8), 0, 2 }, /* QSPI1_MISO_IO1 */ 3702 } }, 3703 { PINMUX_DRIVE_REG("DRV2CTRL0", 0xe6058088) { 3704 { RCAR_GP_PIN(0, 23), 28, 3 }, /* MMC_SD_CLK */ 3705 { RCAR_GP_PIN(0, 22), 24, 3 }, /* MMC_SD_D3 */ 3706 { RCAR_GP_PIN(0, 21), 20, 3 }, /* MMC_SD_D2 */ 3707 { RCAR_GP_PIN(0, 20), 16, 3 }, /* MMC_SD_D1 */ 3708 { RCAR_GP_PIN(0, 19), 12, 3 }, /* MMC_SD_D0 */ 3709 { RCAR_GP_PIN(0, 18), 8, 3 }, /* MMC_SD_CMD */ 3710 { RCAR_GP_PIN(0, 17), 4, 3 }, /* MMC_DS */ 3711 { RCAR_GP_PIN(0, 16), 0, 3 }, /* SD_CD */ 3712 } }, 3713 { PINMUX_DRIVE_REG("DRV3CTRL0", 0xe605808c) { 3714 { RCAR_GP_PIN(0, 27), 12, 3 }, /* MMC_D7 */ 3715 { RCAR_GP_PIN(0, 26), 8, 3 }, /* MMC_D6 */ 3716 { RCAR_GP_PIN(0, 25), 4, 3 }, /* MMC_D5 */ 3717 { RCAR_GP_PIN(0, 24), 0, 3 }, /* MMC_D4 */ 3718 } }, 3719 { PINMUX_DRIVE_REG("DRV0CTRL1", 0xe6050080) { 3720 { RCAR_GP_PIN(1, 7), 28, 3 }, /* MSIOF0_TXD */ 3721 { RCAR_GP_PIN(1, 6), 24, 3 }, /* MSIOF0_RXD */ 3722 { RCAR_GP_PIN(1, 5), 20, 3 }, /* HTX0 */ 3723 { RCAR_GP_PIN(1, 4), 16, 3 }, /* HCTS0_N */ 3724 { RCAR_GP_PIN(1, 3), 12, 3 }, /* HRTS0_N */ 3725 { RCAR_GP_PIN(1, 2), 8, 3 }, /* HSCK0 */ 3726 { RCAR_GP_PIN(1, 1), 4, 3 }, /* HRX0 */ 3727 { RCAR_GP_PIN(1, 0), 0, 3 }, /* SCIF_CLK */ 3728 } }, 3729 { PINMUX_DRIVE_REG("DRV1CTRL1", 0xe6050084) { 3730 { RCAR_GP_PIN(1, 15), 28, 3 }, /* MSIOF1_SYNC */ 3731 { RCAR_GP_PIN(1, 14), 24, 3 }, /* MSIOF1_SCK */ 3732 { RCAR_GP_PIN(1, 13), 20, 3 }, /* MSIOF1_TXD */ 3733 { RCAR_GP_PIN(1, 12), 16, 3 }, /* MSIOF1_RXD */ 3734 { RCAR_GP_PIN(1, 11), 12, 3 }, /* MSIOF0_SS2 */ 3735 { RCAR_GP_PIN(1, 10), 8, 3 }, /* MSIOF0_SS1 */ 3736 { RCAR_GP_PIN(1, 9), 4, 3 }, /* MSIOF0_SYNC */ 3737 { RCAR_GP_PIN(1, 8), 0, 3 }, /* MSIOF0_SCK */ 3738 } }, 3739 { PINMUX_DRIVE_REG("DRV2CTRL1", 0xe6050088) { 3740 { RCAR_GP_PIN(1, 23), 28, 3 }, /* MSIOF2_SS2 */ 3741 { RCAR_GP_PIN(1, 22), 24, 3 }, /* MSIOF2_SS1 */ 3742 { RCAR_GP_PIN(1, 21), 20, 3 }, /* MSIOF2_SYNC */ 3743 { RCAR_GP_PIN(1, 20), 16, 3 }, /* MSIOF2_SCK */ 3744 { RCAR_GP_PIN(1, 19), 12, 3 }, /* MSIOF2_TXD */ 3745 { RCAR_GP_PIN(1, 18), 8, 3 }, /* MSIOF2_RXD */ 3746 { RCAR_GP_PIN(1, 17), 4, 3 }, /* MSIOF1_SS2 */ 3747 { RCAR_GP_PIN(1, 16), 0, 3 }, /* MSIOF1_SS1 */ 3748 } }, 3749 { PINMUX_DRIVE_REG("DRV3CTRL1", 0xe605008c) { 3750 { RCAR_GP_PIN(1, 30), 24, 3 }, /* GP1_30 */ 3751 { RCAR_GP_PIN(1, 29), 20, 3 }, /* GP1_29 */ 3752 { RCAR_GP_PIN(1, 28), 16, 3 }, /* GP1_28 */ 3753 { RCAR_GP_PIN(1, 27), 12, 3 }, /* IRQ3 */ 3754 { RCAR_GP_PIN(1, 26), 8, 3 }, /* IRQ2 */ 3755 { RCAR_GP_PIN(1, 25), 4, 3 }, /* IRQ1 */ 3756 { RCAR_GP_PIN(1, 24), 0, 3 }, /* IRQ0 */ 3757 } }, 3758 { PINMUX_DRIVE_REG("DRV0CTRL2", 0xe6050880) { 3759 { RCAR_GP_PIN(2, 7), 28, 3 }, /* GP2_07 */ 3760 { RCAR_GP_PIN(2, 6), 24, 3 }, /* GP2_06 */ 3761 { RCAR_GP_PIN(2, 5), 20, 3 }, /* GP2_05 */ 3762 { RCAR_GP_PIN(2, 4), 16, 3 }, /* GP2_04 */ 3763 { RCAR_GP_PIN(2, 3), 12, 3 }, /* GP2_03 */ 3764 { RCAR_GP_PIN(2, 2), 8, 3 }, /* GP2_02 */ 3765 { RCAR_GP_PIN(2, 1), 4, 2 }, /* IPC_CLKOUT */ 3766 { RCAR_GP_PIN(2, 0), 0, 2 }, /* IPC_CLKIN */ 3767 } }, 3768 { PINMUX_DRIVE_REG("DRV1CTRL2", 0xe6050884) { 3769 { RCAR_GP_PIN(2, 15), 28, 3 }, /* GP2_15 */ 3770 { RCAR_GP_PIN(2, 14), 24, 3 }, /* GP2_14 */ 3771 { RCAR_GP_PIN(2, 13), 20, 3 }, /* GP2_13 */ 3772 { RCAR_GP_PIN(2, 12), 16, 3 }, /* GP2_12 */ 3773 { RCAR_GP_PIN(2, 11), 12, 3 }, /* GP2_11 */ 3774 { RCAR_GP_PIN(2, 10), 8, 3 }, /* GP2_10 */ 3775 { RCAR_GP_PIN(2, 9), 4, 3 }, /* GP2_9 */ 3776 { RCAR_GP_PIN(2, 8), 0, 3 }, /* GP2_8 */ 3777 } }, 3778 { PINMUX_DRIVE_REG("DRV2CTRL2", 0xe6050888) { 3779 { RCAR_GP_PIN(2, 23), 28, 3 }, /* TCLK1_A */ 3780 { RCAR_GP_PIN(2, 22), 24, 3 }, /* TPU0TO1 */ 3781 { RCAR_GP_PIN(2, 21), 20, 3 }, /* TPU0TO0 */ 3782 { RCAR_GP_PIN(2, 20), 16, 3 }, /* CLK_EXTFXR */ 3783 { RCAR_GP_PIN(2, 19), 12, 3 }, /* RXDB_EXTFXR */ 3784 { RCAR_GP_PIN(2, 18), 8, 3 }, /* FXR_TXDB */ 3785 { RCAR_GP_PIN(2, 17), 4, 3 }, /* RXDA_EXTFXR_A */ 3786 { RCAR_GP_PIN(2, 16), 0, 3 }, /* FXR_TXDA_A */ 3787 } }, 3788 { PINMUX_DRIVE_REG("DRV3CTRL2", 0xe605088c) { 3789 { RCAR_GP_PIN(2, 24), 0, 3 }, /* TCLK2_A */ 3790 } }, 3791 { PINMUX_DRIVE_REG("DRV0CTRL3", 0xe6058880) { 3792 { RCAR_GP_PIN(3, 7), 28, 3 }, /* CANFD3_TX */ 3793 { RCAR_GP_PIN(3, 6), 24, 3 }, /* CANFD2_RX */ 3794 { RCAR_GP_PIN(3, 5), 20, 3 }, /* CANFD2_TX */ 3795 { RCAR_GP_PIN(3, 4), 16, 3 }, /* CANFD1_RX */ 3796 { RCAR_GP_PIN(3, 3), 12, 3 }, /* CANFD1_TX */ 3797 { RCAR_GP_PIN(3, 2), 8, 3 }, /* CANFD0_RX */ 3798 { RCAR_GP_PIN(3, 1), 4, 2 }, /* CANFD0_TX */ 3799 { RCAR_GP_PIN(3, 0), 0, 2 }, /* CAN_CLK */ 3800 } }, 3801 { PINMUX_DRIVE_REG("DRV1CTRL3", 0xe6058884) { 3802 { RCAR_GP_PIN(3, 15), 28, 3 }, /* CANFD7_TX */ 3803 { RCAR_GP_PIN(3, 14), 24, 3 }, /* CANFD6_RX */ 3804 { RCAR_GP_PIN(3, 13), 20, 3 }, /* CANFD6_TX */ 3805 { RCAR_GP_PIN(3, 12), 16, 3 }, /* CANFD5_RX */ 3806 { RCAR_GP_PIN(3, 11), 12, 3 }, /* CANFD5_TX */ 3807 { RCAR_GP_PIN(3, 10), 8, 3 }, /* CANFD4_RX */ 3808 { RCAR_GP_PIN(3, 9), 4, 3 }, /* CANFD4_TX */ 3809 { RCAR_GP_PIN(3, 8), 0, 3 }, /* CANFD3_RX */ 3810 } }, 3811 { PINMUX_DRIVE_REG("DRV2CTRL3", 0xe6058888) { 3812 { RCAR_GP_PIN(3, 16), 0, 3 }, /* CANFD7_RX */ 3813 } }, 3814 { PINMUX_DRIVE_REG("DRV0CTRL4", 0xe6060080) { 3815 { RCAR_GP_PIN(4, 7), 28, 3 }, /* AVB0_TXC */ 3816 { RCAR_GP_PIN(4, 6), 24, 3 }, /* AVB0_TX_CTL */ 3817 { RCAR_GP_PIN(4, 5), 20, 3 }, /* AVB0_RD3 */ 3818 { RCAR_GP_PIN(4, 4), 16, 3 }, /* AVB0_RD2 */ 3819 { RCAR_GP_PIN(4, 3), 12, 3 }, /* AVB0_RD1 */ 3820 { RCAR_GP_PIN(4, 2), 8, 3 }, /* AVB0_RD0 */ 3821 { RCAR_GP_PIN(4, 1), 4, 3 }, /* AVB0_RXC */ 3822 { RCAR_GP_PIN(4, 0), 0, 3 }, /* AVB0_RX_CTL */ 3823 } }, 3824 { PINMUX_DRIVE_REG("DRV1CTRL4", 0xe6060084) { 3825 { RCAR_GP_PIN(4, 15), 28, 3 }, /* AVB0_MAGIC */ 3826 { RCAR_GP_PIN(4, 14), 24, 3 }, /* AVB0_MDC */ 3827 { RCAR_GP_PIN(4, 13), 20, 3 }, /* AVB0_MDIO */ 3828 { RCAR_GP_PIN(4, 12), 16, 3 }, /* AVB0_TXCREFCLK */ 3829 { RCAR_GP_PIN(4, 11), 12, 3 }, /* AVB0_TD3 */ 3830 { RCAR_GP_PIN(4, 10), 8, 3 }, /* AVB0_TD2 */ 3831 { RCAR_GP_PIN(4, 9), 4, 3 }, /* AVB0_TD1*/ 3832 { RCAR_GP_PIN(4, 8), 0, 3 }, /* AVB0_TD0 */ 3833 } }, 3834 { PINMUX_DRIVE_REG("DRV2CTRL4", 0xe6060088) { 3835 { RCAR_GP_PIN(4, 23), 28, 3 }, /* PCIE2_CLKREQ_N */ 3836 { RCAR_GP_PIN(4, 22), 24, 3 }, /* PCIE1_CLKREQ_N */ 3837 { RCAR_GP_PIN(4, 21), 20, 3 }, /* PCIE0_CLKREQ_N */ 3838 { RCAR_GP_PIN(4, 20), 16, 3 }, /* AVB0_AVTP_PPS */ 3839 { RCAR_GP_PIN(4, 19), 12, 3 }, /* AVB0_AVTP_CAPTURE */ 3840 { RCAR_GP_PIN(4, 18), 8, 3 }, /* AVB0_AVTP_MATCH */ 3841 { RCAR_GP_PIN(4, 17), 4, 3 }, /* AVB0_LINK */ 3842 { RCAR_GP_PIN(4, 16), 0, 3 }, /* AVB0_PHY_INT */ 3843 } }, 3844 { PINMUX_DRIVE_REG("DRV3CTRL4", 0xe606008c) { 3845 { RCAR_GP_PIN(4, 26), 8, 3 }, /* AVS1 */ 3846 { RCAR_GP_PIN(4, 25), 4, 3 }, /* AVS0 */ 3847 { RCAR_GP_PIN(4, 24), 0, 3 }, /* PCIE3_CLKREQ_N */ 3848 } }, 3849 { PINMUX_DRIVE_REG("DRV0CTRL5", 0xe6060880) { 3850 { RCAR_GP_PIN(5, 7), 28, 3 }, /* AVB1_TXC */ 3851 { RCAR_GP_PIN(5, 6), 24, 3 }, /* AVB1_TX_CTL */ 3852 { RCAR_GP_PIN(5, 5), 20, 3 }, /* AVB1_RD3 */ 3853 { RCAR_GP_PIN(5, 4), 16, 3 }, /* AVB1_RD2 */ 3854 { RCAR_GP_PIN(5, 3), 12, 3 }, /* AVB1_RD1 */ 3855 { RCAR_GP_PIN(5, 2), 8, 3 }, /* AVB1_RD0 */ 3856 { RCAR_GP_PIN(5, 1), 4, 3 }, /* AVB1_RXC */ 3857 { RCAR_GP_PIN(5, 0), 0, 3 }, /* AVB1_RX_CTL */ 3858 } }, 3859 { PINMUX_DRIVE_REG("DRV1CTRL5", 0xe6060884) { 3860 { RCAR_GP_PIN(5, 15), 28, 3 }, /* AVB1_MAGIC */ 3861 { RCAR_GP_PIN(5, 14), 24, 3 }, /* AVB1_MDC */ 3862 { RCAR_GP_PIN(5, 13), 20, 3 }, /* AVB1_MDIO */ 3863 { RCAR_GP_PIN(5, 12), 16, 3 }, /* AVB1_TXCREFCLK */ 3864 { RCAR_GP_PIN(5, 11), 12, 3 }, /* AVB1_TD3 */ 3865 { RCAR_GP_PIN(5, 10), 8, 3 }, /* AVB1_TD2 */ 3866 { RCAR_GP_PIN(5, 9), 4, 3 }, /* AVB1_TD1*/ 3867 { RCAR_GP_PIN(5, 8), 0, 3 }, /* AVB1_TD0 */ 3868 } }, 3869 { PINMUX_DRIVE_REG("DRV2CTRL5", 0xe6060888) { 3870 { RCAR_GP_PIN(5, 20), 16, 3 }, /* AVB1_AVTP_PPS */ 3871 { RCAR_GP_PIN(5, 19), 12, 3 }, /* AVB1_AVTP_CAPTURE */ 3872 { RCAR_GP_PIN(5, 18), 8, 3 }, /* AVB1_AVTP_MATCH */ 3873 { RCAR_GP_PIN(5, 17), 4, 3 }, /* AVB1_LINK */ 3874 { RCAR_GP_PIN(5, 16), 0, 3 }, /* AVB1_PHY_INT */ 3875 } }, 3876 { PINMUX_DRIVE_REG("DRV0CTRL6", 0xe6068080) { 3877 { RCAR_GP_PIN(6, 7), 28, 3 }, /* AVB2_TXC */ 3878 { RCAR_GP_PIN(6, 6), 24, 3 }, /* AVB2_TX_CTL */ 3879 { RCAR_GP_PIN(6, 5), 20, 3 }, /* AVB2_RD3 */ 3880 { RCAR_GP_PIN(6, 4), 16, 3 }, /* AVB2_RD2 */ 3881 { RCAR_GP_PIN(6, 3), 12, 3 }, /* AVB2_RD1 */ 3882 { RCAR_GP_PIN(6, 2), 8, 3 }, /* AVB2_RD0 */ 3883 { RCAR_GP_PIN(6, 1), 4, 3 }, /* AVB2_RXC */ 3884 { RCAR_GP_PIN(6, 0), 0, 3 }, /* AVB2_RX_CTL */ 3885 } }, 3886 { PINMUX_DRIVE_REG("DRV1CTRL6", 0xe6068084) { 3887 { RCAR_GP_PIN(6, 15), 28, 3 }, /* AVB2_MAGIC */ 3888 { RCAR_GP_PIN(6, 14), 24, 3 }, /* AVB2_MDC */ 3889 { RCAR_GP_PIN(6, 13), 20, 3 }, /* AVB2_MDIO */ 3890 { RCAR_GP_PIN(6, 12), 16, 3 }, /* AVB2_TXCREFCLK */ 3891 { RCAR_GP_PIN(6, 11), 12, 3 }, /* AVB2_TD3 */ 3892 { RCAR_GP_PIN(6, 10), 8, 3 }, /* AVB2_TD2 */ 3893 { RCAR_GP_PIN(6, 9), 4, 3 }, /* AVB2_TD1*/ 3894 { RCAR_GP_PIN(6, 8), 0, 3 }, /* AVB2_TD0 */ 3895 } }, 3896 { PINMUX_DRIVE_REG("DRV2CTRL6", 0xe6068088) { 3897 { RCAR_GP_PIN(6, 20), 16, 3 }, /* AVB2_AVTP_PPS */ 3898 { RCAR_GP_PIN(6, 19), 12, 3 }, /* AVB2_AVTP_CAPTURE */ 3899 { RCAR_GP_PIN(6, 18), 8, 3 }, /* AVB2_AVTP_MATCH */ 3900 { RCAR_GP_PIN(6, 17), 4, 3 }, /* AVB2_LINK */ 3901 { RCAR_GP_PIN(6, 16), 0, 3 }, /* AVB2_PHY_INT */ 3902 } }, 3903 { PINMUX_DRIVE_REG("DRV0CTRL7", 0xe6068880) { 3904 { RCAR_GP_PIN(7, 7), 28, 3 }, /* AVB3_TXC */ 3905 { RCAR_GP_PIN(7, 6), 24, 3 }, /* AVB3_TX_CTL */ 3906 { RCAR_GP_PIN(7, 5), 20, 3 }, /* AVB3_RD3 */ 3907 { RCAR_GP_PIN(7, 4), 16, 3 }, /* AVB3_RD2 */ 3908 { RCAR_GP_PIN(7, 3), 12, 3 }, /* AVB3_RD1 */ 3909 { RCAR_GP_PIN(7, 2), 8, 3 }, /* AVB3_RD0 */ 3910 { RCAR_GP_PIN(7, 1), 4, 3 }, /* AVB3_RXC */ 3911 { RCAR_GP_PIN(7, 0), 0, 3 }, /* AVB3_RX_CTL */ 3912 } }, 3913 { PINMUX_DRIVE_REG("DRV1CTRL7", 0xe6068884) { 3914 { RCAR_GP_PIN(7, 15), 28, 3 }, /* AVB3_MAGIC */ 3915 { RCAR_GP_PIN(7, 14), 24, 3 }, /* AVB3_MDC */ 3916 { RCAR_GP_PIN(7, 13), 20, 3 }, /* AVB3_MDIO */ 3917 { RCAR_GP_PIN(7, 12), 16, 3 }, /* AVB3_TXCREFCLK */ 3918 { RCAR_GP_PIN(7, 11), 12, 3 }, /* AVB3_TD3 */ 3919 { RCAR_GP_PIN(7, 10), 8, 3 }, /* AVB3_TD2 */ 3920 { RCAR_GP_PIN(7, 9), 4, 3 }, /* AVB3_TD1*/ 3921 { RCAR_GP_PIN(7, 8), 0, 3 }, /* AVB3_TD0 */ 3922 } }, 3923 { PINMUX_DRIVE_REG("DRV2CTRL7", 0xe6068888) { 3924 { RCAR_GP_PIN(7, 20), 16, 3 }, /* AVB3_AVTP_PPS */ 3925 { RCAR_GP_PIN(7, 19), 12, 3 }, /* AVB3_AVTP_CAPTURE */ 3926 { RCAR_GP_PIN(7, 18), 8, 3 }, /* AVB3_AVTP_MATCH */ 3927 { RCAR_GP_PIN(7, 17), 4, 3 }, /* AVB3_LINK */ 3928 { RCAR_GP_PIN(7, 16), 0, 3 }, /* AVB3_PHY_INT */ 3929 } }, 3930 { PINMUX_DRIVE_REG("DRV0CTRL8", 0xe6069080) { 3931 { RCAR_GP_PIN(8, 7), 28, 3 }, /* AVB4_TXC */ 3932 { RCAR_GP_PIN(8, 6), 24, 3 }, /* AVB4_TX_CTL */ 3933 { RCAR_GP_PIN(8, 5), 20, 3 }, /* AVB4_RD3 */ 3934 { RCAR_GP_PIN(8, 4), 16, 3 }, /* AVB4_RD2 */ 3935 { RCAR_GP_PIN(8, 3), 12, 3 }, /* AVB4_RD1 */ 3936 { RCAR_GP_PIN(8, 2), 8, 3 }, /* AVB4_RD0 */ 3937 { RCAR_GP_PIN(8, 1), 4, 3 }, /* AVB4_RXC */ 3938 { RCAR_GP_PIN(8, 0), 0, 3 }, /* AVB4_RX_CTL */ 3939 } }, 3940 { PINMUX_DRIVE_REG("DRV1CTRL8", 0xe6069084) { 3941 { RCAR_GP_PIN(8, 15), 28, 3 }, /* AVB4_MAGIC */ 3942 { RCAR_GP_PIN(8, 14), 24, 3 }, /* AVB4_MDC */ 3943 { RCAR_GP_PIN(8, 13), 20, 3 }, /* AVB4_MDIO */ 3944 { RCAR_GP_PIN(8, 12), 16, 3 }, /* AVB4_TXCREFCLK */ 3945 { RCAR_GP_PIN(8, 11), 12, 3 }, /* AVB4_TD3 */ 3946 { RCAR_GP_PIN(8, 10), 8, 3 }, /* AVB4_TD2 */ 3947 { RCAR_GP_PIN(8, 9), 4, 3 }, /* AVB4_TD1*/ 3948 { RCAR_GP_PIN(8, 8), 0, 3 }, /* AVB4_TD0 */ 3949 } }, 3950 { PINMUX_DRIVE_REG("DRV2CTRL8", 0xe6069088) { 3951 { RCAR_GP_PIN(8, 20), 16, 3 }, /* AVB4_AVTP_PPS */ 3952 { RCAR_GP_PIN(8, 19), 12, 3 }, /* AVB4_AVTP_CAPTURE */ 3953 { RCAR_GP_PIN(8, 18), 8, 3 }, /* AVB4_AVTP_MATCH */ 3954 { RCAR_GP_PIN(8, 17), 4, 3 }, /* AVB4_LINK */ 3955 { RCAR_GP_PIN(8, 16), 0, 3 }, /* AVB4_PHY_INT */ 3956 } }, 3957 { PINMUX_DRIVE_REG("DRV0CTRL9", 0xe6069880) { 3958 { RCAR_GP_PIN(9, 7), 28, 3 }, /* AVB5_TXC */ 3959 { RCAR_GP_PIN(9, 6), 24, 3 }, /* AVB5_TX_CTL */ 3960 { RCAR_GP_PIN(9, 5), 20, 3 }, /* AVB5_RD3 */ 3961 { RCAR_GP_PIN(9, 4), 16, 3 }, /* AVB5_RD2 */ 3962 { RCAR_GP_PIN(9, 3), 12, 3 }, /* AVB5_RD1 */ 3963 { RCAR_GP_PIN(9, 2), 8, 3 }, /* AVB5_RD0 */ 3964 { RCAR_GP_PIN(9, 1), 4, 3 }, /* AVB5_RXC */ 3965 { RCAR_GP_PIN(9, 0), 0, 3 }, /* AVB5_RX_CTL */ 3966 } }, 3967 { PINMUX_DRIVE_REG("DRV1CTRL9", 0xe6069884) { 3968 { RCAR_GP_PIN(9, 15), 28, 3 }, /* AVB5_MAGIC */ 3969 { RCAR_GP_PIN(9, 14), 24, 3 }, /* AVB5_MDC */ 3970 { RCAR_GP_PIN(9, 13), 20, 3 }, /* AVB5_MDIO */ 3971 { RCAR_GP_PIN(9, 12), 16, 3 }, /* AVB5_TXCREFCLK */ 3972 { RCAR_GP_PIN(9, 11), 12, 3 }, /* AVB5_TD3 */ 3973 { RCAR_GP_PIN(9, 10), 8, 3 }, /* AVB5_TD2 */ 3974 { RCAR_GP_PIN(9, 9), 4, 3 }, /* AVB5_TD1*/ 3975 { RCAR_GP_PIN(9, 8), 0, 3 }, /* AVB5_TD0 */ 3976 } }, 3977 { PINMUX_DRIVE_REG("DRV2CTRL9", 0xe6069888) { 3978 { RCAR_GP_PIN(9, 20), 16, 3 }, /* AVB5_AVTP_PPS */ 3979 { RCAR_GP_PIN(9, 19), 12, 3 }, /* AVB5_AVTP_CAPTURE */ 3980 { RCAR_GP_PIN(9, 18), 8, 3 }, /* AVB5_AVTP_MATCH */ 3981 { RCAR_GP_PIN(9, 17), 4, 3 }, /* AVB5_LINK */ 3982 { RCAR_GP_PIN(9, 16), 0, 3 }, /* AVB5_PHY_INT */ 3983 } }, 3984 { }, 3985 }; 3986 3987 enum ioctrl_regs { 3988 POC0, 3989 POC1, 3990 POC2, 3991 POC4, 3992 POC5, 3993 POC6, 3994 POC7, 3995 POC8, 3996 POC9, 3997 TD1SEL0, 3998 }; 3999 4000 static const struct pinmux_ioctrl_reg pinmux_ioctrl_regs[] = { 4001 [POC0] = { 0xe60580a0, }, 4002 [POC1] = { 0xe60500a0, }, 4003 [POC2] = { 0xe60508a0, }, 4004 [POC4] = { 0xe60600a0, }, 4005 [POC5] = { 0xe60608a0, }, 4006 [POC6] = { 0xe60680a0, }, 4007 [POC7] = { 0xe60688a0, }, 4008 [POC8] = { 0xe60690a0, }, 4009 [POC9] = { 0xe60698a0, }, 4010 [TD1SEL0] = { 0xe6058124, }, 4011 { /* sentinel */ }, 4012 }; 4013 4014 static int r8a779a0_pin_to_pocctrl(unsigned int pin, u32 *pocctrl) 4015 { 4016 int bit = pin & 0x1f; 4017 4018 *pocctrl = pinmux_ioctrl_regs[POC0].reg; 4019 if (pin >= RCAR_GP_PIN(0, 15) && pin <= RCAR_GP_PIN(0, 27)) 4020 return bit; 4021 4022 *pocctrl = pinmux_ioctrl_regs[POC1].reg; 4023 if (pin >= RCAR_GP_PIN(1, 0) && pin <= RCAR_GP_PIN(1, 30)) 4024 return bit; 4025 4026 *pocctrl = pinmux_ioctrl_regs[POC2].reg; 4027 if (pin >= RCAR_GP_PIN(2, 2) && pin <= RCAR_GP_PIN(2, 15)) 4028 return bit; 4029 4030 *pocctrl = pinmux_ioctrl_regs[POC4].reg; 4031 if (pin >= RCAR_GP_PIN(4, 0) && pin <= RCAR_GP_PIN(4, 17)) 4032 return bit; 4033 4034 *pocctrl = pinmux_ioctrl_regs[POC5].reg; 4035 if (pin >= RCAR_GP_PIN(5, 0) && pin <= RCAR_GP_PIN(5, 17)) 4036 return bit; 4037 4038 *pocctrl = pinmux_ioctrl_regs[POC6].reg; 4039 if (pin >= RCAR_GP_PIN(6, 0) && pin <= RCAR_GP_PIN(6, 17)) 4040 return bit; 4041 4042 *pocctrl = pinmux_ioctrl_regs[POC7].reg; 4043 if (pin >= RCAR_GP_PIN(7, 0) && pin <= RCAR_GP_PIN(7, 17)) 4044 return bit; 4045 4046 *pocctrl = pinmux_ioctrl_regs[POC8].reg; 4047 if (pin >= RCAR_GP_PIN(8, 0) && pin <= RCAR_GP_PIN(8, 17)) 4048 return bit; 4049 4050 *pocctrl = pinmux_ioctrl_regs[POC9].reg; 4051 if (pin >= RCAR_GP_PIN(9, 0) && pin <= RCAR_GP_PIN(9, 17)) 4052 return bit; 4053 4054 return -EINVAL; 4055 } 4056 4057 static const struct pinmux_bias_reg pinmux_bias_regs[] = { 4058 { PINMUX_BIAS_REG("PUEN0", 0xe60580c0, "PUD0", 0xe60580e0) { 4059 [ 0] = RCAR_GP_PIN(0, 0), /* QSPI0_SPCLK */ 4060 [ 1] = RCAR_GP_PIN(0, 1), /* QSPI0_MOSI_IO0 */ 4061 [ 2] = RCAR_GP_PIN(0, 2), /* QSPI0_MISO_IO1 */ 4062 [ 3] = RCAR_GP_PIN(0, 3), /* QSPI0_IO2 */ 4063 [ 4] = RCAR_GP_PIN(0, 4), /* QSPI0_IO3 */ 4064 [ 5] = RCAR_GP_PIN(0, 5), /* QSPI0_SSL */ 4065 [ 6] = RCAR_GP_PIN(0, 6), /* QSPI1_SPCLK */ 4066 [ 7] = RCAR_GP_PIN(0, 7), /* QSPI1_MOSI_IO0 */ 4067 [ 8] = RCAR_GP_PIN(0, 8), /* QSPI1_MISO_IO1 */ 4068 [ 9] = RCAR_GP_PIN(0, 9), /* QSPI1_IO2 */ 4069 [10] = RCAR_GP_PIN(0, 10), /* QSPI1_IO3 */ 4070 [11] = RCAR_GP_PIN(0, 11), /* QSPI1_SSL */ 4071 [12] = RCAR_GP_PIN(0, 12), /* RPC_RESET_N */ 4072 [13] = RCAR_GP_PIN(0, 13), /* RPC_WP_N */ 4073 [14] = RCAR_GP_PIN(0, 14), /* RPC_INT_N */ 4074 [15] = RCAR_GP_PIN(0, 15), /* SD_WP */ 4075 [16] = RCAR_GP_PIN(0, 16), /* SD_CD */ 4076 [17] = RCAR_GP_PIN(0, 17), /* MMC_DS */ 4077 [18] = RCAR_GP_PIN(0, 18), /* MMC_SD_CMD */ 4078 [19] = RCAR_GP_PIN(0, 19), /* MMC_SD_D0 */ 4079 [20] = RCAR_GP_PIN(0, 20), /* MMC_SD_D1 */ 4080 [21] = RCAR_GP_PIN(0, 21), /* MMC_SD_D2 */ 4081 [22] = RCAR_GP_PIN(0, 22), /* MMC_SD_D3 */ 4082 [23] = RCAR_GP_PIN(0, 23), /* MMC_SD_CLK */ 4083 [24] = RCAR_GP_PIN(0, 24), /* MMC_D4 */ 4084 [25] = RCAR_GP_PIN(0, 25), /* MMC_D5 */ 4085 [26] = RCAR_GP_PIN(0, 26), /* MMC_D6 */ 4086 [27] = RCAR_GP_PIN(0, 27), /* MMC_D7 */ 4087 [28] = SH_PFC_PIN_NONE, 4088 [29] = SH_PFC_PIN_NONE, 4089 [30] = SH_PFC_PIN_NONE, 4090 [31] = SH_PFC_PIN_NONE, 4091 } }, 4092 { PINMUX_BIAS_REG("PUEN1", 0xe60500c0, "PUD1", 0xe60500e0) { 4093 [ 0] = RCAR_GP_PIN(1, 0), /* SCIF_CLK */ 4094 [ 1] = RCAR_GP_PIN(1, 1), /* HRX0 */ 4095 [ 2] = RCAR_GP_PIN(1, 2), /* HSCK0 */ 4096 [ 3] = RCAR_GP_PIN(1, 3), /* HRTS0_N */ 4097 [ 4] = RCAR_GP_PIN(1, 4), /* HCTS0_N */ 4098 [ 5] = RCAR_GP_PIN(1, 5), /* HTX0 */ 4099 [ 6] = RCAR_GP_PIN(1, 6), /* MSIOF0_RXD */ 4100 [ 7] = RCAR_GP_PIN(1, 7), /* MSIOF0_TXD */ 4101 [ 8] = RCAR_GP_PIN(1, 8), /* MSIOF0_SCK */ 4102 [ 9] = RCAR_GP_PIN(1, 9), /* MSIOF0_SYNC */ 4103 [10] = RCAR_GP_PIN(1, 10), /* MSIOF0_SS1 */ 4104 [11] = RCAR_GP_PIN(1, 11), /* MSIOF0_SS2 */ 4105 [12] = RCAR_GP_PIN(1, 12), /* MSIOF1_RXD */ 4106 [13] = RCAR_GP_PIN(1, 13), /* MSIOF1_TXD */ 4107 [14] = RCAR_GP_PIN(1, 14), /* MSIOF1_SCK */ 4108 [15] = RCAR_GP_PIN(1, 15), /* MSIOF1_SYNC */ 4109 [16] = RCAR_GP_PIN(1, 16), /* MSIOF1_SS1 */ 4110 [17] = RCAR_GP_PIN(1, 17), /* MSIOF1_SS2 */ 4111 [18] = RCAR_GP_PIN(1, 18), /* MSIOF2_RXD */ 4112 [19] = RCAR_GP_PIN(1, 19), /* MSIOF2_TXD */ 4113 [20] = RCAR_GP_PIN(1, 20), /* MSIOF2_SCK */ 4114 [21] = RCAR_GP_PIN(1, 21), /* MSIOF2_SYNC */ 4115 [22] = RCAR_GP_PIN(1, 22), /* MSIOF2_SS1 */ 4116 [23] = RCAR_GP_PIN(1, 23), /* MSIOF2_SS2 */ 4117 [24] = RCAR_GP_PIN(1, 24), /* IRQ0 */ 4118 [25] = RCAR_GP_PIN(1, 25), /* IRQ1 */ 4119 [26] = RCAR_GP_PIN(1, 26), /* IRQ2 */ 4120 [27] = RCAR_GP_PIN(1, 27), /* IRQ3 */ 4121 [28] = RCAR_GP_PIN(1, 28), /* GP1_28 */ 4122 [29] = RCAR_GP_PIN(1, 29), /* GP1_29 */ 4123 [30] = RCAR_GP_PIN(1, 30), /* GP1_30 */ 4124 [31] = SH_PFC_PIN_NONE, 4125 } }, 4126 { PINMUX_BIAS_REG("PUEN2", 0xe60508c0, "PUD2", 0xe60508e0) { 4127 [ 0] = RCAR_GP_PIN(2, 0), /* IPC_CLKIN */ 4128 [ 1] = RCAR_GP_PIN(2, 1), /* IPC_CLKOUT */ 4129 [ 2] = RCAR_GP_PIN(2, 2), /* GP2_02 */ 4130 [ 3] = RCAR_GP_PIN(2, 3), /* GP2_03 */ 4131 [ 4] = RCAR_GP_PIN(2, 4), /* GP2_04 */ 4132 [ 5] = RCAR_GP_PIN(2, 5), /* GP2_05 */ 4133 [ 6] = RCAR_GP_PIN(2, 6), /* GP2_06 */ 4134 [ 7] = RCAR_GP_PIN(2, 7), /* GP2_07 */ 4135 [ 8] = RCAR_GP_PIN(2, 8), /* GP2_08 */ 4136 [ 9] = RCAR_GP_PIN(2, 9), /* GP2_09 */ 4137 [10] = RCAR_GP_PIN(2, 10), /* GP2_10 */ 4138 [11] = RCAR_GP_PIN(2, 11), /* GP2_11 */ 4139 [12] = RCAR_GP_PIN(2, 12), /* GP2_12 */ 4140 [13] = RCAR_GP_PIN(2, 13), /* GP2_13 */ 4141 [14] = RCAR_GP_PIN(2, 14), /* GP2_14 */ 4142 [15] = RCAR_GP_PIN(2, 15), /* GP2_15 */ 4143 [16] = RCAR_GP_PIN(2, 16), /* FXR_TXDA_A */ 4144 [17] = RCAR_GP_PIN(2, 17), /* RXDA_EXTFXR_A */ 4145 [18] = RCAR_GP_PIN(2, 18), /* FXR_TXDB */ 4146 [19] = RCAR_GP_PIN(2, 19), /* RXDB_EXTFXR */ 4147 [20] = RCAR_GP_PIN(2, 20), /* CLK_EXTFXR */ 4148 [21] = RCAR_GP_PIN(2, 21), /* TPU0TO0 */ 4149 [22] = RCAR_GP_PIN(2, 22), /* TPU0TO1 */ 4150 [23] = RCAR_GP_PIN(2, 23), /* TCLK1_A */ 4151 [24] = RCAR_GP_PIN(2, 24), /* TCLK2_A */ 4152 [25] = SH_PFC_PIN_NONE, 4153 [26] = SH_PFC_PIN_NONE, 4154 [27] = SH_PFC_PIN_NONE, 4155 [28] = SH_PFC_PIN_NONE, 4156 [29] = SH_PFC_PIN_NONE, 4157 [30] = SH_PFC_PIN_NONE, 4158 [31] = SH_PFC_PIN_NONE, 4159 } }, 4160 { PINMUX_BIAS_REG("PUEN3", 0xe60588c0, "PUD3", 0xe60588e0) { 4161 [ 0] = RCAR_GP_PIN(3, 0), /* CAN_CLK */ 4162 [ 1] = RCAR_GP_PIN(3, 1), /* CANFD0_TX */ 4163 [ 2] = RCAR_GP_PIN(3, 2), /* CANFD0_RX */ 4164 [ 3] = RCAR_GP_PIN(3, 3), /* CANFD1_TX */ 4165 [ 4] = RCAR_GP_PIN(3, 4), /* CANFD1_RX */ 4166 [ 5] = RCAR_GP_PIN(3, 5), /* CANFD2_TX */ 4167 [ 6] = RCAR_GP_PIN(3, 6), /* CANFD2_RX */ 4168 [ 7] = RCAR_GP_PIN(3, 7), /* CANFD3_TX */ 4169 [ 8] = RCAR_GP_PIN(3, 8), /* CANFD3_RX */ 4170 [ 9] = RCAR_GP_PIN(3, 9), /* CANFD4_TX */ 4171 [10] = RCAR_GP_PIN(3, 10), /* CANFD4_RX */ 4172 [11] = RCAR_GP_PIN(3, 11), /* CANFD5_TX */ 4173 [12] = RCAR_GP_PIN(3, 12), /* CANFD5_RX */ 4174 [13] = RCAR_GP_PIN(3, 13), /* CANFD6_TX */ 4175 [14] = RCAR_GP_PIN(3, 14), /* CANFD6_RX */ 4176 [15] = RCAR_GP_PIN(3, 15), /* CANFD7_TX */ 4177 [16] = RCAR_GP_PIN(3, 16), /* CANFD7_RX */ 4178 [17] = SH_PFC_PIN_NONE, 4179 [18] = SH_PFC_PIN_NONE, 4180 [19] = SH_PFC_PIN_NONE, 4181 [20] = SH_PFC_PIN_NONE, 4182 [21] = SH_PFC_PIN_NONE, 4183 [22] = SH_PFC_PIN_NONE, 4184 [23] = SH_PFC_PIN_NONE, 4185 [24] = SH_PFC_PIN_NONE, 4186 [25] = SH_PFC_PIN_NONE, 4187 [26] = SH_PFC_PIN_NONE, 4188 [27] = SH_PFC_PIN_NONE, 4189 [28] = SH_PFC_PIN_NONE, 4190 [29] = SH_PFC_PIN_NONE, 4191 [30] = SH_PFC_PIN_NONE, 4192 [31] = SH_PFC_PIN_NONE, 4193 } }, 4194 { PINMUX_BIAS_REG("PUEN4", 0xe60600c0, "PUD4", 0xe60600e0) { 4195 [ 0] = RCAR_GP_PIN(4, 0), /* AVB0_RX_CTL */ 4196 [ 1] = RCAR_GP_PIN(4, 1), /* AVB0_RXC */ 4197 [ 2] = RCAR_GP_PIN(4, 2), /* AVB0_RD0 */ 4198 [ 3] = RCAR_GP_PIN(4, 3), /* AVB0_RD1 */ 4199 [ 4] = RCAR_GP_PIN(4, 4), /* AVB0_RD2 */ 4200 [ 5] = RCAR_GP_PIN(4, 5), /* AVB0_RD3 */ 4201 [ 6] = RCAR_GP_PIN(4, 6), /* AVB0_TX_CTL */ 4202 [ 7] = RCAR_GP_PIN(4, 7), /* AVB0_TXC */ 4203 [ 8] = RCAR_GP_PIN(4, 8), /* AVB0_TD0 */ 4204 [ 9] = RCAR_GP_PIN(4, 9), /* AVB0_TD1 */ 4205 [10] = RCAR_GP_PIN(4, 10), /* AVB0_TD2 */ 4206 [11] = RCAR_GP_PIN(4, 11), /* AVB0_TD3 */ 4207 [12] = RCAR_GP_PIN(4, 12), /* AVB0_TXREFCLK */ 4208 [13] = RCAR_GP_PIN(4, 13), /* AVB0_MDIO */ 4209 [14] = RCAR_GP_PIN(4, 14), /* AVB0_MDC */ 4210 [15] = RCAR_GP_PIN(4, 15), /* AVB0_MAGIC */ 4211 [16] = RCAR_GP_PIN(4, 16), /* AVB0_PHY_INT */ 4212 [17] = RCAR_GP_PIN(4, 17), /* AVB0_LINK */ 4213 [18] = RCAR_GP_PIN(4, 18), /* AVB0_AVTP_MATCH */ 4214 [19] = RCAR_GP_PIN(4, 19), /* AVB0_AVTP_CAPTURE */ 4215 [20] = RCAR_GP_PIN(4, 20), /* AVB0_AVTP_PPS */ 4216 [21] = RCAR_GP_PIN(4, 21), /* PCIE0_CLKREQ_N */ 4217 [22] = RCAR_GP_PIN(4, 22), /* PCIE1_CLKREQ_N */ 4218 [23] = RCAR_GP_PIN(4, 23), /* PCIE2_CLKREQ_N */ 4219 [24] = RCAR_GP_PIN(4, 24), /* PCIE3_CLKREQ_N */ 4220 [25] = RCAR_GP_PIN(4, 25), /* AVS0 */ 4221 [26] = RCAR_GP_PIN(4, 26), /* AVS1 */ 4222 [27] = SH_PFC_PIN_NONE, 4223 [28] = SH_PFC_PIN_NONE, 4224 [29] = SH_PFC_PIN_NONE, 4225 [30] = SH_PFC_PIN_NONE, 4226 [31] = SH_PFC_PIN_NONE, 4227 } }, 4228 { PINMUX_BIAS_REG("PUEN5", 0xe60608c0, "PUD5", 0xe60608e0) { 4229 [ 0] = RCAR_GP_PIN(5, 0), /* AVB1_RX_CTL */ 4230 [ 1] = RCAR_GP_PIN(5, 1), /* AVB1_RXC */ 4231 [ 2] = RCAR_GP_PIN(5, 2), /* AVB1_RD0 */ 4232 [ 3] = RCAR_GP_PIN(5, 3), /* AVB1_RD1 */ 4233 [ 4] = RCAR_GP_PIN(5, 4), /* AVB1_RD2 */ 4234 [ 5] = RCAR_GP_PIN(5, 5), /* AVB1_RD3 */ 4235 [ 6] = RCAR_GP_PIN(5, 6), /* AVB1_TX_CTL */ 4236 [ 7] = RCAR_GP_PIN(5, 7), /* AVB1_TXC */ 4237 [ 8] = RCAR_GP_PIN(5, 8), /* AVB1_TD0 */ 4238 [ 9] = RCAR_GP_PIN(5, 9), /* AVB1_TD1 */ 4239 [10] = RCAR_GP_PIN(5, 10), /* AVB1_TD2 */ 4240 [11] = RCAR_GP_PIN(5, 11), /* AVB1_TD3 */ 4241 [12] = RCAR_GP_PIN(5, 12), /* AVB1_TXCREFCLK */ 4242 [13] = RCAR_GP_PIN(5, 13), /* AVB1_MDIO */ 4243 [14] = RCAR_GP_PIN(5, 14), /* AVB1_MDC */ 4244 [15] = RCAR_GP_PIN(5, 15), /* AVB1_MAGIC */ 4245 [16] = RCAR_GP_PIN(5, 16), /* AVB1_PHY_INT */ 4246 [17] = RCAR_GP_PIN(5, 17), /* AVB1_LINK */ 4247 [18] = RCAR_GP_PIN(5, 18), /* AVB1_AVTP_MATCH */ 4248 [19] = RCAR_GP_PIN(5, 19), /* AVB1_AVTP_CAPTURE */ 4249 [20] = RCAR_GP_PIN(5, 20), /* AVB1_AVTP_PPS */ 4250 [21] = SH_PFC_PIN_NONE, 4251 [22] = SH_PFC_PIN_NONE, 4252 [23] = SH_PFC_PIN_NONE, 4253 [24] = SH_PFC_PIN_NONE, 4254 [25] = SH_PFC_PIN_NONE, 4255 [26] = SH_PFC_PIN_NONE, 4256 [27] = SH_PFC_PIN_NONE, 4257 [28] = SH_PFC_PIN_NONE, 4258 [29] = SH_PFC_PIN_NONE, 4259 [30] = SH_PFC_PIN_NONE, 4260 [31] = SH_PFC_PIN_NONE, 4261 } }, 4262 { PINMUX_BIAS_REG("PUEN6", 0xe60680c0, "PUD6", 0xe60680e0) { 4263 [ 0] = RCAR_GP_PIN(6, 0), /* AVB2_RX_CTL */ 4264 [ 1] = RCAR_GP_PIN(6, 1), /* AVB2_RXC */ 4265 [ 2] = RCAR_GP_PIN(6, 2), /* AVB2_RD0 */ 4266 [ 3] = RCAR_GP_PIN(6, 3), /* AVB2_RD1 */ 4267 [ 4] = RCAR_GP_PIN(6, 4), /* AVB2_RD2 */ 4268 [ 5] = RCAR_GP_PIN(6, 5), /* AVB2_RD3 */ 4269 [ 6] = RCAR_GP_PIN(6, 6), /* AVB2_TX_CTL */ 4270 [ 7] = RCAR_GP_PIN(6, 7), /* AVB2_TXC */ 4271 [ 8] = RCAR_GP_PIN(6, 8), /* AVB2_TD0 */ 4272 [ 9] = RCAR_GP_PIN(6, 9), /* AVB2_TD1 */ 4273 [10] = RCAR_GP_PIN(6, 10), /* AVB2_TD2 */ 4274 [11] = RCAR_GP_PIN(6, 11), /* AVB2_TD3 */ 4275 [12] = RCAR_GP_PIN(6, 12), /* AVB2_TXCREFCLK */ 4276 [13] = RCAR_GP_PIN(6, 13), /* AVB2_MDIO */ 4277 [14] = RCAR_GP_PIN(6, 14), /* AVB2_MDC */ 4278 [15] = RCAR_GP_PIN(6, 15), /* AVB2_MAGIC */ 4279 [16] = RCAR_GP_PIN(6, 16), /* AVB2_PHY_INT */ 4280 [17] = RCAR_GP_PIN(6, 17), /* AVB2_LINK */ 4281 [18] = RCAR_GP_PIN(6, 18), /* AVB2_AVTP_MATCH */ 4282 [19] = RCAR_GP_PIN(6, 19), /* AVB2_AVTP_CAPTURE */ 4283 [20] = RCAR_GP_PIN(6, 20), /* AVB2_AVTP_PPS */ 4284 [21] = SH_PFC_PIN_NONE, 4285 [22] = SH_PFC_PIN_NONE, 4286 [23] = SH_PFC_PIN_NONE, 4287 [24] = SH_PFC_PIN_NONE, 4288 [25] = SH_PFC_PIN_NONE, 4289 [26] = SH_PFC_PIN_NONE, 4290 [27] = SH_PFC_PIN_NONE, 4291 [28] = SH_PFC_PIN_NONE, 4292 [29] = SH_PFC_PIN_NONE, 4293 [30] = SH_PFC_PIN_NONE, 4294 [31] = SH_PFC_PIN_NONE, 4295 } }, 4296 { PINMUX_BIAS_REG("PUEN7", 0xe60688c0, "PUD7", 0xe60688e0) { 4297 [ 0] = RCAR_GP_PIN(7, 0), /* AVB3_RX_CTL */ 4298 [ 1] = RCAR_GP_PIN(7, 1), /* AVB3_RXC */ 4299 [ 2] = RCAR_GP_PIN(7, 2), /* AVB3_RD0 */ 4300 [ 3] = RCAR_GP_PIN(7, 3), /* AVB3_RD1 */ 4301 [ 4] = RCAR_GP_PIN(7, 4), /* AVB3_RD2 */ 4302 [ 5] = RCAR_GP_PIN(7, 5), /* AVB3_RD3 */ 4303 [ 6] = RCAR_GP_PIN(7, 6), /* AVB3_TX_CTL */ 4304 [ 7] = RCAR_GP_PIN(7, 7), /* AVB3_TXC */ 4305 [ 8] = RCAR_GP_PIN(7, 8), /* AVB3_TD0 */ 4306 [ 9] = RCAR_GP_PIN(7, 9), /* AVB3_TD1 */ 4307 [10] = RCAR_GP_PIN(7, 10), /* AVB3_TD2 */ 4308 [11] = RCAR_GP_PIN(7, 11), /* AVB3_TD3 */ 4309 [12] = RCAR_GP_PIN(7, 12), /* AVB3_TXCREFCLK */ 4310 [13] = RCAR_GP_PIN(7, 13), /* AVB3_MDIO */ 4311 [14] = RCAR_GP_PIN(7, 14), /* AVB3_MDC */ 4312 [15] = RCAR_GP_PIN(7, 15), /* AVB3_MAGIC */ 4313 [16] = RCAR_GP_PIN(7, 16), /* AVB3_PHY_INT */ 4314 [17] = RCAR_GP_PIN(7, 17), /* AVB3_LINK */ 4315 [18] = RCAR_GP_PIN(7, 18), /* AVB3_AVTP_MATCH */ 4316 [19] = RCAR_GP_PIN(7, 19), /* AVB3_AVTP_CAPTURE */ 4317 [20] = RCAR_GP_PIN(7, 20), /* AVB3_AVTP_PPS */ 4318 [21] = SH_PFC_PIN_NONE, 4319 [22] = SH_PFC_PIN_NONE, 4320 [23] = SH_PFC_PIN_NONE, 4321 [24] = SH_PFC_PIN_NONE, 4322 [25] = SH_PFC_PIN_NONE, 4323 [26] = SH_PFC_PIN_NONE, 4324 [27] = SH_PFC_PIN_NONE, 4325 [28] = SH_PFC_PIN_NONE, 4326 [29] = SH_PFC_PIN_NONE, 4327 [30] = SH_PFC_PIN_NONE, 4328 [31] = SH_PFC_PIN_NONE, 4329 } }, 4330 { PINMUX_BIAS_REG("PUEN8", 0xe60690c0, "PUD8", 0xe60690e0) { 4331 [ 0] = RCAR_GP_PIN(8, 0), /* AVB4_RX_CTL */ 4332 [ 1] = RCAR_GP_PIN(8, 1), /* AVB4_RXC */ 4333 [ 2] = RCAR_GP_PIN(8, 2), /* AVB4_RD0 */ 4334 [ 3] = RCAR_GP_PIN(8, 3), /* AVB4_RD1 */ 4335 [ 4] = RCAR_GP_PIN(8, 4), /* AVB4_RD2 */ 4336 [ 5] = RCAR_GP_PIN(8, 5), /* AVB4_RD3 */ 4337 [ 6] = RCAR_GP_PIN(8, 6), /* AVB4_TX_CTL */ 4338 [ 7] = RCAR_GP_PIN(8, 7), /* AVB4_TXC */ 4339 [ 8] = RCAR_GP_PIN(8, 8), /* AVB4_TD0 */ 4340 [ 9] = RCAR_GP_PIN(8, 9), /* AVB4_TD1 */ 4341 [10] = RCAR_GP_PIN(8, 10), /* AVB4_TD2 */ 4342 [11] = RCAR_GP_PIN(8, 11), /* AVB4_TD3 */ 4343 [12] = RCAR_GP_PIN(8, 12), /* AVB4_TXCREFCLK */ 4344 [13] = RCAR_GP_PIN(8, 13), /* AVB4_MDIO */ 4345 [14] = RCAR_GP_PIN(8, 14), /* AVB4_MDC */ 4346 [15] = RCAR_GP_PIN(8, 15), /* AVB4_MAGIC */ 4347 [16] = RCAR_GP_PIN(8, 16), /* AVB4_PHY_INT */ 4348 [17] = RCAR_GP_PIN(8, 17), /* AVB4_LINK */ 4349 [18] = RCAR_GP_PIN(8, 18), /* AVB4_AVTP_MATCH */ 4350 [19] = RCAR_GP_PIN(8, 19), /* AVB4_AVTP_CAPTURE */ 4351 [20] = RCAR_GP_PIN(8, 20), /* AVB4_AVTP_PPS */ 4352 [21] = SH_PFC_PIN_NONE, 4353 [22] = SH_PFC_PIN_NONE, 4354 [23] = SH_PFC_PIN_NONE, 4355 [24] = SH_PFC_PIN_NONE, 4356 [25] = SH_PFC_PIN_NONE, 4357 [26] = SH_PFC_PIN_NONE, 4358 [27] = SH_PFC_PIN_NONE, 4359 [28] = SH_PFC_PIN_NONE, 4360 [29] = SH_PFC_PIN_NONE, 4361 [30] = SH_PFC_PIN_NONE, 4362 [31] = SH_PFC_PIN_NONE, 4363 } }, 4364 { PINMUX_BIAS_REG("PUEN9", 0xe60698c0, "PUD9", 0xe60698e0) { 4365 [ 0] = RCAR_GP_PIN(9, 0), /* AVB5_RX_CTL */ 4366 [ 1] = RCAR_GP_PIN(9, 1), /* AVB5_RXC */ 4367 [ 2] = RCAR_GP_PIN(9, 2), /* AVB5_RD0 */ 4368 [ 3] = RCAR_GP_PIN(9, 3), /* AVB5_RD1 */ 4369 [ 4] = RCAR_GP_PIN(9, 4), /* AVB5_RD2 */ 4370 [ 5] = RCAR_GP_PIN(9, 5), /* AVB5_RD3 */ 4371 [ 6] = RCAR_GP_PIN(9, 6), /* AVB5_TX_CTL */ 4372 [ 7] = RCAR_GP_PIN(9, 7), /* AVB5_TXC */ 4373 [ 8] = RCAR_GP_PIN(9, 8), /* AVB5_TD0 */ 4374 [ 9] = RCAR_GP_PIN(9, 9), /* AVB5_TD1 */ 4375 [10] = RCAR_GP_PIN(9, 10), /* AVB5_TD2 */ 4376 [11] = RCAR_GP_PIN(9, 11), /* AVB5_TD3 */ 4377 [12] = RCAR_GP_PIN(9, 12), /* AVB5_TXCREFCLK */ 4378 [13] = RCAR_GP_PIN(9, 13), /* AVB5_MDIO */ 4379 [14] = RCAR_GP_PIN(9, 14), /* AVB5_MDC */ 4380 [15] = RCAR_GP_PIN(9, 15), /* AVB5_MAGIC */ 4381 [16] = RCAR_GP_PIN(9, 16), /* AVB5_PHY_INT */ 4382 [17] = RCAR_GP_PIN(9, 17), /* AVB5_LINK */ 4383 [18] = RCAR_GP_PIN(9, 18), /* AVB5_AVTP_MATCH */ 4384 [19] = RCAR_GP_PIN(9, 19), /* AVB5_AVTP_CAPTURE */ 4385 [20] = RCAR_GP_PIN(9, 20), /* AVB5_AVTP_PPS */ 4386 [21] = SH_PFC_PIN_NONE, 4387 [22] = SH_PFC_PIN_NONE, 4388 [23] = SH_PFC_PIN_NONE, 4389 [24] = SH_PFC_PIN_NONE, 4390 [25] = SH_PFC_PIN_NONE, 4391 [26] = SH_PFC_PIN_NONE, 4392 [27] = SH_PFC_PIN_NONE, 4393 [28] = SH_PFC_PIN_NONE, 4394 [29] = SH_PFC_PIN_NONE, 4395 [30] = SH_PFC_PIN_NONE, 4396 [31] = SH_PFC_PIN_NONE, 4397 } }, 4398 { /* sentinel */ }, 4399 }; 4400 4401 static const struct sh_pfc_soc_operations r8a779a0_pfc_ops = { 4402 .pin_to_pocctrl = r8a779a0_pin_to_pocctrl, 4403 .get_bias = rcar_pinmux_get_bias, 4404 .set_bias = rcar_pinmux_set_bias, 4405 }; 4406 4407 const struct sh_pfc_soc_info r8a779a0_pinmux_info = { 4408 .name = "r8a779a0_pfc", 4409 .ops = &r8a779a0_pfc_ops, 4410 .unlock_reg = 0x1ff, /* PMMRn mask */ 4411 4412 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 4413 4414 .pins = pinmux_pins, 4415 .nr_pins = ARRAY_SIZE(pinmux_pins), 4416 .groups = pinmux_groups, 4417 .nr_groups = ARRAY_SIZE(pinmux_groups), 4418 .functions = pinmux_functions, 4419 .nr_functions = ARRAY_SIZE(pinmux_functions), 4420 4421 .cfg_regs = pinmux_config_regs, 4422 .drive_regs = pinmux_drive_regs, 4423 .bias_regs = pinmux_bias_regs, 4424 .ioctrl_regs = pinmux_ioctrl_regs, 4425 4426 .pinmux_data = pinmux_data, 4427 .pinmux_data_size = ARRAY_SIZE(pinmux_data), 4428 }; 4429