Nobuhiro Iwamatsu | 1b15ba6 | 2014-06-24 17:10:02 +0900 | [diff] [blame] | 1 | /* |
| 2 | * arch/arm/cpu/armv7/rmobile/pfc-r8a7794.c |
| 3 | * This file is r8a7794 processor support - PFC hardware block. |
| 4 | * |
| 5 | * Copyright (C) 2014 Renesas Electronics Corporation |
| 6 | * |
| 7 | * SPDX-License-Identifier: GPL-2.0 |
| 8 | */ |
| 9 | |
| 10 | #include <common.h> |
| 11 | #include <sh_pfc.h> |
| 12 | #include <asm/gpio.h> |
| 13 | |
| 14 | #define CPU_32_PORT(fn, pfx, sfx) \ |
| 15 | PORT_10(fn, pfx, sfx), PORT_10(fn, pfx##1, sfx), \ |
| 16 | PORT_10(fn, pfx##2, sfx), PORT_1(fn, pfx##30, sfx), \ |
| 17 | PORT_1(fn, pfx##31, sfx) |
| 18 | |
| 19 | #define CPU_26_PORT(fn, pfx, sfx) \ |
| 20 | PORT_10(fn, pfx, sfx), PORT_10(fn, pfx##1, sfx), \ |
| 21 | PORT_1(fn, pfx##20, sfx), PORT_1(fn, pfx##21, sfx), \ |
| 22 | PORT_1(fn, pfx##22, sfx), PORT_1(fn, pfx##23, sfx), \ |
| 23 | PORT_1(fn, pfx##24, sfx), PORT_1(fn, pfx##25, sfx) |
| 24 | |
| 25 | #define CPU_28_PORT(fn, pfx, sfx) \ |
| 26 | PORT_10(fn, pfx, sfx), PORT_10(fn, pfx##1, sfx), \ |
| 27 | PORT_1(fn, pfx##20, sfx), PORT_1(fn, pfx##21, sfx), \ |
| 28 | PORT_1(fn, pfx##22, sfx), PORT_1(fn, pfx##23, sfx), \ |
| 29 | PORT_1(fn, pfx##24, sfx), PORT_1(fn, pfx##25, sfx), \ |
| 30 | PORT_1(fn, pfx##26, sfx), PORT_1(fn, pfx##27, sfx) |
| 31 | |
| 32 | /* |
| 33 | * GP_0_0_DATA -> GP_6_25_DATA |
| 34 | * (except for GP1[26],GP1[27],GP1[28],GP1[29]),GP1[30],GP1[31] |
| 35 | * GP5[28],GP5[29]),GP5[30],GP5[31],GP6[26],GP6[27],GP6[28], |
| 36 | * GP6[29]),GP6[30],GP6[31]) |
| 37 | */ |
| 38 | #define CPU_ALL_PORT(fn, pfx, sfx) \ |
| 39 | CPU_32_PORT(fn, pfx##_0_, sfx), \ |
| 40 | CPU_26_PORT(fn, pfx##_1_, sfx), \ |
| 41 | CPU_32_PORT(fn, pfx##_2_, sfx), \ |
| 42 | CPU_32_PORT(fn, pfx##_3_, sfx), \ |
| 43 | CPU_32_PORT(fn, pfx##_4_, sfx), \ |
| 44 | CPU_28_PORT(fn, pfx##_5_, sfx), \ |
| 45 | CPU_26_PORT(fn, pfx##_6_, sfx) |
| 46 | |
| 47 | #define _GP_GPIO(pfx, sfx) PINMUX_GPIO(GPIO_GP##pfx, GP##pfx##_DATA) |
| 48 | #define _GP_DATA(pfx, sfx) PINMUX_DATA(GP##pfx##_DATA, GP##pfx##_FN, \ |
| 49 | GP##pfx##_IN, GP##pfx##_OUT) |
| 50 | |
| 51 | #define _GP_INOUTSEL(pfx, sfx) GP##pfx##_IN, GP##pfx##_OUT |
| 52 | #define _GP_INDT(pfx, sfx) GP##pfx##_DATA |
| 53 | |
| 54 | #define GP_ALL(str) CPU_ALL_PORT(_PORT_ALL, GP, str) |
| 55 | #define PINMUX_GPIO_GP_ALL() CPU_ALL_PORT(_GP_GPIO, , unused) |
| 56 | #define PINMUX_DATA_GP_ALL() CPU_ALL_PORT(_GP_DATA, , unused) |
| 57 | |
| 58 | |
| 59 | #define PORT_10_REV(fn, pfx, sfx) \ |
| 60 | PORT_1(fn, pfx##9, sfx), PORT_1(fn, pfx##8, sfx), \ |
| 61 | PORT_1(fn, pfx##7, sfx), PORT_1(fn, pfx##6, sfx), \ |
| 62 | PORT_1(fn, pfx##5, sfx), PORT_1(fn, pfx##4, sfx), \ |
| 63 | PORT_1(fn, pfx##3, sfx), PORT_1(fn, pfx##2, sfx), \ |
| 64 | PORT_1(fn, pfx##1, sfx), PORT_1(fn, pfx##0, sfx) |
| 65 | |
| 66 | #define CPU_32_PORT_REV(fn, pfx, sfx) \ |
| 67 | PORT_1(fn, pfx##31, sfx), PORT_1(fn, pfx##30, sfx), \ |
| 68 | PORT_10_REV(fn, pfx##2, sfx), PORT_10_REV(fn, pfx##1, sfx), \ |
| 69 | PORT_10_REV(fn, pfx, sfx) |
| 70 | |
| 71 | #define GP_INOUTSEL(bank) CPU_32_PORT_REV(_GP_INOUTSEL, _##bank##_, unused) |
| 72 | #define GP_INDT(bank) CPU_32_PORT_REV(_GP_INDT, _##bank##_, unused) |
| 73 | |
| 74 | #define PINMUX_IPSR_DATA(ipsr, fn) PINMUX_DATA(fn##_MARK, FN_##ipsr, FN_##fn) |
| 75 | #define PINMUX_IPSR_MODSEL_DATA(ipsr, fn, ms) PINMUX_DATA(fn##_MARK, FN_##ms, \ |
| 76 | FN_##ipsr, FN_##fn) |
| 77 | |
| 78 | enum { |
| 79 | PINMUX_RESERVED = 0, |
| 80 | |
| 81 | PINMUX_DATA_BEGIN, |
| 82 | GP_ALL(DATA), |
| 83 | PINMUX_DATA_END, |
| 84 | |
| 85 | PINMUX_INPUT_BEGIN, |
| 86 | GP_ALL(IN), |
| 87 | PINMUX_INPUT_END, |
| 88 | |
| 89 | PINMUX_OUTPUT_BEGIN, |
| 90 | GP_ALL(OUT), |
| 91 | PINMUX_OUTPUT_END, |
| 92 | |
| 93 | PINMUX_FUNCTION_BEGIN, |
| 94 | GP_ALL(FN), |
| 95 | |
| 96 | /* GPSR0 */ |
| 97 | FN_IP0_23_22, FN_IP0_24, FN_IP0_25, FN_IP0_27_26, FN_IP0_29_28, |
| 98 | FN_IP0_31_30, FN_IP1_1_0, FN_IP1_3_2, FN_IP1_5_4, FN_IP1_7_6, |
| 99 | FN_IP1_10_8, FN_IP1_12_11, FN_IP1_14_13, FN_IP1_17_15, FN_IP1_19_18, |
| 100 | FN_IP1_21_20, FN_IP1_23_22, FN_IP1_24, FN_A2, FN_IP1_26, FN_IP1_27, |
| 101 | FN_IP1_29_28, FN_IP1_31_30, FN_IP2_1_0, FN_IP2_3_2, FN_IP2_5_4, |
| 102 | FN_IP2_7_6, FN_IP2_9_8, FN_IP2_11_10, FN_IP2_13_12, FN_IP2_15_14, |
| 103 | FN_IP2_17_16, |
| 104 | |
| 105 | /* GPSR1 */ |
| 106 | FN_IP2_20_18, FN_IP2_23_21, FN_IP2_26_24, FN_IP2_29_27, FN_IP2_31_30, |
| 107 | FN_IP3_1_0, FN_IP3_3_2, FN_IP3_5_4, FN_IP3_7_6, FN_IP3_9_8, FN_IP3_10, |
| 108 | FN_IP3_11, FN_IP3_12, FN_IP3_14_13, FN_IP3_17_15, FN_IP3_20_18, |
| 109 | FN_IP3_23_21, FN_IP3_26_24, FN_IP3_29_27, FN_IP3_30, FN_IP3_31, |
| 110 | FN_WE0_N, FN_WE1_N, FN_IP4_1_0 , FN_IP7_31, FN_DACK0, |
| 111 | |
| 112 | /* GPSR2 */ |
| 113 | FN_IP4_4_2, FN_IP4_7_5, FN_IP4_9_8, FN_IP4_11_10, FN_IP4_13_12, |
| 114 | FN_IP4_15_14, FN_IP4_17_16, FN_IP4_19_18, FN_IP4_22_20, FN_IP4_25_23, |
| 115 | FN_IP4_27_26, FN_IP4_29_28, FN_IP4_31_30, FN_IP5_1_0, FN_IP5_3_2, |
| 116 | FN_IP5_5_4, FN_IP5_8_6, FN_IP5_11_9, FN_IP5_13_12, FN_IP5_15_14, |
| 117 | FN_IP5_17_16, FN_IP5_19_18, FN_IP5_21_20, FN_IP5_23_22, FN_IP5_25_24, |
| 118 | FN_IP5_27_26, FN_IP5_29_28, FN_IP5_31_30, FN_IP6_1_0, FN_IP6_3_2, |
| 119 | FN_IP6_5_4, FN_IP6_7_6, |
| 120 | |
| 121 | /* GPSR3 */ |
| 122 | FN_IP6_8, FN_IP6_9, FN_IP6_10, FN_IP6_11, FN_IP6_12, FN_IP6_13, |
| 123 | FN_IP6_14, FN_IP6_15, FN_IP6_16, FN_IP6_19_17, FN_IP6_22_20, |
| 124 | FN_IP6_25_23, FN_IP6_28_26, FN_IP6_31_29, FN_IP7_2_0, FN_IP7_5_3, |
| 125 | FN_IP7_8_6, FN_IP7_11_9, FN_IP7_14_12, FN_IP7_17_15, FN_IP7_20_18, |
| 126 | FN_IP7_23_21, FN_IP7_26_24, FN_IP7_29_27, FN_IP8_2_0, FN_IP8_5_3, |
| 127 | FN_IP8_8_6, FN_IP8_11_9, FN_IP8_14_12, FN_IP8_16_15, FN_IP8_19_17, |
| 128 | FN_IP8_22_20, |
| 129 | |
| 130 | /* GPSR4 */ |
| 131 | FN_IP8_25_23, FN_IP8_28_26, FN_IP8_31_29, FN_IP9_2_0, FN_IP9_5_3, |
| 132 | FN_IP9_8_6, FN_IP9_11_9, FN_IP9_14_12, FN_IP9_16_15, FN_IP9_18_17, |
| 133 | FN_IP9_21_19, FN_IP9_24_22, FN_IP9_27_25, FN_IP9_30_28, FN_IP10_2_0, |
| 134 | FN_IP10_5_3, FN_IP10_8_6, FN_IP10_11_9, FN_IP10_14_12, FN_IP10_17_15, |
| 135 | FN_IP10_20_18, FN_IP10_23_21, FN_IP10_26_24, FN_IP10_29_27, |
| 136 | FN_IP10_31_30, FN_IP11_2_0, FN_IP11_5_3, FN_IP11_7_6, FN_IP11_10_8, |
| 137 | FN_IP11_13_11, FN_IP11_15_14, FN_IP11_17_16, |
| 138 | |
| 139 | /* GPSR5 */ |
| 140 | FN_IP11_20_18, FN_IP11_23_21, FN_IP11_26_24, FN_IP11_29_27, FN_IP12_2_0, |
| 141 | FN_IP12_5_3, FN_IP12_8_6, FN_IP12_10_9, FN_IP12_12_11, FN_IP12_14_13, |
| 142 | FN_IP12_17_15, FN_IP12_20_18, FN_IP12_23_21, FN_IP12_26_24, |
| 143 | FN_IP12_29_27, FN_IP13_2_0, FN_IP13_5_3, FN_IP13_8_6, FN_IP13_11_9, |
| 144 | FN_IP13_14_12, FN_IP13_17_15, FN_IP13_20_18, FN_IP13_23_21, |
| 145 | FN_IP13_26_24, FN_USB0_PWEN, FN_USB0_OVC, FN_USB1_PWEN, FN_USB1_OVC, |
| 146 | |
| 147 | /* GPSR6 */ |
| 148 | FN_SD0_CLK, FN_SD0_CMD, FN_SD0_DATA0, FN_SD0_DATA1, FN_SD0_DATA2, |
| 149 | FN_SD0_DATA3, FN_SD0_CD, FN_SD0_WP, FN_SD1_CLK, FN_SD1_CMD, |
| 150 | FN_SD1_DATA0, FN_SD1_DATA1, FN_SD1_DATA2, FN_SD1_DATA3, FN_IP0_0, |
| 151 | FN_IP0_9_8, FN_IP0_10, FN_IP0_11, FN_IP0_12, FN_IP0_13, FN_IP0_14, |
| 152 | FN_IP0_15, FN_IP0_16, FN_IP0_17, FN_IP0_19_18, FN_IP0_21_20, |
| 153 | |
| 154 | /* |
| 155 | * From IPSR0 to IPSR5 have been removed because they does not use. |
| 156 | */ |
| 157 | |
| 158 | /* IPSR6 */ |
| 159 | FN_DU0_EXVSYNC_DU0_VSYNC, FN_QSTB_QHE, FN_CC50_STATE28, |
| 160 | FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, FN_QCPV_QDE, FN_CC50_STATE29, |
| 161 | FN_DU0_DISP, FN_QPOLA, FN_CC50_STATE30, FN_DU0_CDE, FN_QPOLB, |
| 162 | FN_CC50_STATE31, FN_VI0_CLK, FN_AVB_RX_CLK, FN_VI0_DATA0_VI0_B0, |
| 163 | FN_AVB_RX_DV, FN_VI0_DATA1_VI0_B1, FN_AVB_RXD0, FN_VI0_DATA2_VI0_B2, |
| 164 | FN_AVB_RXD1, FN_VI0_DATA3_VI0_B3, FN_AVB_RXD2, FN_VI0_DATA4_VI0_B4, |
| 165 | FN_AVB_RXD3, FN_VI0_DATA5_VI0_B5, FN_AVB_RXD4, FN_VI0_DATA6_VI0_B6, |
| 166 | FN_AVB_RXD5, FN_VI0_DATA7_VI0_B7, FN_AVB_RXD6, FN_VI0_CLKENB, |
| 167 | FN_I2C3_SCL, FN_SCIFA5_RXD_C, FN_IETX_C, FN_AVB_RXD7, FN_VI0_FIELD, |
| 168 | FN_I2C3_SDA, FN_SCIFA5_TXD_C, FN_IECLK_C, FN_AVB_RX_ER, FN_VI0_HSYNC_N, |
| 169 | FN_SCIF0_RXD_B, FN_I2C0_SCL_C, FN_IERX_C, FN_AVB_COL, FN_VI0_VSYNC_N, |
| 170 | FN_SCIF0_TXD_B, FN_I2C0_SDA_C, FN_AUDIO_CLKOUT_B, FN_AVB_TX_EN, |
| 171 | FN_ETH_MDIO, FN_VI0_G0, FN_MSIOF2_RXD_B, FN_IIC0_SCL_D, FN_AVB_TX_CLK, |
| 172 | FN_ADIDATA, FN_AD_DI, |
| 173 | |
| 174 | /* IPSR7 */ |
| 175 | FN_ETH_CRS_DV, FN_VI0_G1, FN_MSIOF2_TXD_B, FN_IIC0_SDA_D, FN_AVB_TXD0, |
| 176 | FN_ADICS_SAMP, FN_AD_DO, FN_ETH_RX_ER, FN_VI0_G2, FN_MSIOF2_SCK_B, |
| 177 | FN_CAN0_RX_B, FN_AVB_TXD1, FN_ADICLK, FN_AD_CLK, FN_ETH_RXD0, FN_VI0_G3, |
| 178 | FN_MSIOF2_SYNC_B, FN_CAN0_TX_B, FN_AVB_TXD2, FN_ADICHS0, FN_AD_NCS_N, |
| 179 | FN_ETH_RXD1, FN_VI0_G4, FN_MSIOF2_SS1_B, FN_SCIF4_RXD_D, FN_AVB_TXD3, |
| 180 | FN_ADICHS1, FN_ETH_LINK, FN_VI0_G5, FN_MSIOF2_SS2_B, FN_SCIF4_TXD_D, |
| 181 | FN_AVB_TXD4, FN_ADICHS2, FN_ETH_REFCLK, FN_VI0_G6, FN_SCIF2_SCK_C, |
| 182 | FN_AVB_TXD5, FN_SSI_SCK5_B, FN_ETH_TXD1, FN_VI0_G7, FN_SCIF2_RXD_C, |
| 183 | FN_IIC1_SCL_D, FN_AVB_TXD6, FN_SSI_WS5_B, FN_ETH_TX_EN, FN_VI0_R0, |
| 184 | FN_SCIF2_TXD_C, FN_IIC1_SDA_D, FN_AVB_TXD7, FN_SSI_SDATA5_B, |
| 185 | FN_ETH_MAGIC, FN_VI0_R1, FN_SCIF3_SCK_B, FN_AVB_TX_ER, FN_SSI_SCK6_B, |
| 186 | FN_ETH_TXD0, FN_VI0_R2, FN_SCIF3_RXD_B, FN_I2C4_SCL_E, FN_AVB_GTX_CLK, |
| 187 | FN_SSI_WS6_B, FN_DREQ0_N, FN_SCIFB1_RXD, |
| 188 | |
| 189 | /* IPSR8 */ |
| 190 | FN_ETH_MDC, FN_VI0_R3, FN_SCIF3_TXD_B, FN_I2C4_SDA_E, FN_AVB_MDC, |
| 191 | FN_SSI_SDATA6_B, FN_HSCIF0_HRX, FN_VI0_R4, FN_I2C1_SCL_C, |
| 192 | FN_AUDIO_CLKA_B, FN_AVB_MDIO, FN_SSI_SCK78_B, FN_HSCIF0_HTX, |
| 193 | FN_VI0_R5, FN_I2C1_SDA_C, FN_AUDIO_CLKB_B, FN_AVB_LINK, FN_SSI_WS78_B, |
| 194 | FN_HSCIF0_HCTS_N, FN_VI0_R6, FN_SCIF0_RXD_D, FN_I2C0_SCL_E, |
| 195 | FN_AVB_MAGIC, FN_SSI_SDATA7_B, FN_HSCIF0_HRTS_N, FN_VI0_R7, |
| 196 | FN_SCIF0_TXD_D, FN_I2C0_SDA_E, FN_AVB_PHY_INT, FN_SSI_SDATA8_B, |
| 197 | FN_HSCIF0_HSCK, FN_SCIF_CLK_B, FN_AVB_CRS, FN_AUDIO_CLKC_B, |
| 198 | FN_I2C0_SCL, FN_SCIF0_RXD_C, FN_PWM5, FN_TCLK1_B, FN_AVB_GTXREFCLK, |
| 199 | FN_CAN1_RX_D, FN_TPUTO0_B, FN_I2C0_SDA, FN_SCIF0_TXD_C, FN_TPUTO0, |
| 200 | FN_CAN_CLK, FN_DVC_MUTE, FN_CAN1_TX_D, FN_I2C1_SCL, FN_SCIF4_RXD, |
| 201 | FN_PWM5_B, FN_DU1_DR0, FN_RIF1_SYNC_B, FN_TS_SDATA_D, FN_TPUTO1_B, |
| 202 | FN_I2C1_SDA, FN_SCIF4_TXD, FN_IRQ5, FN_DU1_DR1, FN_RIF1_CLK_B, |
| 203 | FN_TS_SCK_D, FN_BPFCLK_C, FN_MSIOF0_RXD, FN_SCIF5_RXD, FN_I2C2_SCL_C, |
| 204 | FN_DU1_DR2, FN_RIF1_D0_B, FN_TS_SDEN_D, FN_FMCLK_C, FN_RDS_CLK, |
| 205 | |
| 206 | /* |
| 207 | * From IPSR9 to IPSR10 have been removed because they does not use. |
| 208 | */ |
| 209 | |
| 210 | /* IPSR11 */ |
| 211 | FN_SSI_WS5, FN_SCIFA3_RXD, FN_I2C3_SCL_C, FN_DU1_DOTCLKOUT0, |
| 212 | FN_CAN_DEBUGOUT11, FN_SSI_SDATA5, FN_SCIFA3_TXD, FN_I2C3_SDA_C, |
| 213 | FN_DU1_DOTCLKOUT1, FN_CAN_DEBUGOUT12, FN_SSI_SCK6, FN_SCIFA1_SCK_B, |
| 214 | FN_DU1_EXHSYNC_DU1_HSYNC, FN_CAN_DEBUGOUT13, FN_SSI_WS6, |
| 215 | FN_SCIFA1_RXD_B, FN_I2C4_SCL_C, FN_DU1_EXVSYNC_DU1_VSYNC, |
| 216 | FN_CAN_DEBUGOUT14, FN_SSI_SDATA6, FN_SCIFA1_TXD_B, FN_I2C4_SDA_C, |
| 217 | FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, FN_CAN_DEBUGOUT15, FN_SSI_SCK78, |
| 218 | FN_SCIFA2_SCK_B, FN_IIC0_SDA_C, FN_DU1_DISP, FN_SSI_WS78, |
| 219 | FN_SCIFA2_RXD_B, FN_IIC0_SCL_C, FN_DU1_CDE, FN_SSI_SDATA7, |
| 220 | FN_SCIFA2_TXD_B, FN_IRQ8, FN_AUDIO_CLKA_D, FN_CAN_CLK_D, FN_PCMOE_N, |
| 221 | FN_SSI_SCK0129, FN_MSIOF1_RXD_B, FN_SCIF5_RXD_D, FN_ADIDATA_B, |
| 222 | FN_AD_DI_B, FN_PCMWE_N, FN_SSI_WS0129, FN_MSIOF1_TXD_B, FN_SCIF5_TXD_D, |
| 223 | FN_ADICS_SAMP_B, FN_AD_DO_B, FN_SSI_SDATA0, FN_MSIOF1_SCK_B, FN_PWM0_B, |
| 224 | FN_ADICLK_B, FN_AD_CLK_B, |
| 225 | |
| 226 | /* |
| 227 | * From IPSR12 to IPSR13 have been removed because they does not use. |
| 228 | */ |
| 229 | |
| 230 | /* MOD_SEL */ |
| 231 | FN_SEL_ADG_0, FN_SEL_ADG_1, FN_SEL_ADG_2, FN_SEL_ADG_3, |
| 232 | FN_SEL_ADI_0, FN_SEL_ADI_1, FN_SEL_CAN_0, FN_SEL_CAN_1, |
| 233 | FN_SEL_CAN_2, FN_SEL_CAN_3, FN_SEL_DARC_0, FN_SEL_DARC_1, |
| 234 | FN_SEL_DARC_2, FN_SEL_DARC_3, FN_SEL_DARC_4, FN_SEL_DR0_0, |
| 235 | FN_SEL_DR0_1, FN_SEL_DR1_0, FN_SEL_DR1_1, FN_SEL_DR2_0, FN_SEL_DR2_1, |
| 236 | FN_SEL_DR3_0, FN_SEL_DR3_1, FN_SEL_ETH_0, FN_SEL_ETH_1, FN_SEL_FSN_0, |
| 237 | FN_SEL_FSN_1, FN_SEL_I2C00_0, FN_SEL_I2C00_1, FN_SEL_I2C00_2, |
| 238 | FN_SEL_I2C00_3, FN_SEL_I2C00_4, FN_SEL_I2C01_0, FN_SEL_I2C01_1, |
| 239 | FN_SEL_I2C01_2, FN_SEL_I2C01_3, FN_SEL_I2C01_4, FN_SEL_I2C02_0, |
| 240 | FN_SEL_I2C02_1, FN_SEL_I2C02_2, FN_SEL_I2C02_3, FN_SEL_I2C02_4, |
| 241 | FN_SEL_I2C03_0, FN_SEL_I2C03_1, FN_SEL_I2C03_2, FN_SEL_I2C03_3, |
| 242 | FN_SEL_I2C03_4, FN_SEL_I2C04_0, FN_SEL_I2C04_1, FN_SEL_I2C04_2, |
| 243 | FN_SEL_I2C04_3, FN_SEL_I2C04_4, FN_SEL_IIC00_0, FN_SEL_IIC00_1, |
| 244 | FN_SEL_IIC00_2, FN_SEL_IIC00_3, FN_SEL_AVB_0, FN_SEL_AVB_1, |
| 245 | |
| 246 | /* MOD_SEL2 */ |
| 247 | FN_SEL_IEB_0, FN_SEL_IEB_1, FN_SEL_IEB_2, FN_SEL_IIC01_0, |
| 248 | FN_SEL_IIC01_1, FN_SEL_IIC01_2, FN_SEL_IIC01_3, FN_SEL_LBS_0, |
| 249 | FN_SEL_LBS_1, FN_SEL_MSI1_0, FN_SEL_MSI1_1, FN_SEL_MSI2_0, |
| 250 | FN_SEL_MSI2_1, FN_SEL_RAD_0, FN_SEL_RAD_1, FN_SEL_RCN_0, |
| 251 | FN_SEL_RCN_1, FN_SEL_RSP_0, FN_SEL_RSP_1, FN_SEL_SCIFA0_0, |
| 252 | FN_SEL_SCIFA0_1, FN_SEL_SCIFA0_2, FN_SEL_SCIFA0_3, FN_SEL_SCIFA1_0, |
| 253 | FN_SEL_SCIFA1_1, FN_SEL_SCIFA1_2, FN_SEL_SCIFA2_0, FN_SEL_SCIFA2_1, |
| 254 | FN_SEL_SCIFA3_0, FN_SEL_SCIFA3_1, FN_SEL_SCIFA4_0, FN_SEL_SCIFA4_1, |
| 255 | FN_SEL_SCIFA4_2, FN_SEL_SCIFA4_3, FN_SEL_SCIFA5_0, FN_SEL_SCIFA5_1, |
| 256 | FN_SEL_SCIFA5_2, FN_SEL_SCIFA5_3, FN_SEL_SPDM_0, FN_SEL_SPDM_1, |
| 257 | FN_SEL_TMU_0, FN_SEL_TMU_1, FN_SEL_TSIF0_0, FN_SEL_TSIF0_1, |
| 258 | FN_SEL_TSIF0_2, FN_SEL_TSIF0_3, FN_SEL_CAN0_0, FN_SEL_CAN0_1, |
| 259 | FN_SEL_CAN0_2, FN_SEL_CAN0_3, FN_SEL_CAN1_0, FN_SEL_CAN1_1, |
| 260 | FN_SEL_CAN1_2, FN_SEL_CAN1_3, FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, |
| 261 | FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, FN_SEL_RDS_0, FN_SEL_RDS_1, |
| 262 | FN_SEL_RDS_2, FN_SEL_RDS_3, |
| 263 | |
| 264 | /* MOD_SEL3 */ |
| 265 | FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2, FN_SEL_SCIF0_3, |
| 266 | FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, FN_SEL_SCIF2_0, |
| 267 | FN_SEL_SCIF2_1, FN_SEL_SCIF2_2, FN_SEL_SCIF3_0, FN_SEL_SCIF3_1, |
| 268 | FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2, FN_SEL_SCIF4_3, |
| 269 | FN_SEL_SCIF4_4, FN_SEL_SCIF5_0, FN_SEL_SCIF5_1, FN_SEL_SCIF5_2, |
| 270 | FN_SEL_SCIF5_3, FN_SEL_SSI1_0, FN_SEL_SSI1_1, FN_SEL_SSI2_0, |
| 271 | FN_SEL_SSI2_1, FN_SEL_SSI4_0, FN_SEL_SSI4_1, FN_SEL_SSI5_0, |
| 272 | FN_SEL_SSI5_1, FN_SEL_SSI6_0, FN_SEL_SSI6_1, FN_SEL_SSI7_0, |
| 273 | FN_SEL_SSI7_1, FN_SEL_SSI8_0, FN_SEL_SSI8_1, FN_SEL_SSI9_0, |
| 274 | FN_SEL_SSI9_1, |
| 275 | PINMUX_FUNCTION_END, |
| 276 | |
| 277 | PINMUX_MARK_BEGIN, |
| 278 | A2_MARK, WE0_N_MARK, WE1_N_MARK, DACK0_MARK, |
| 279 | |
| 280 | USB0_PWEN_MARK, USB0_OVC_MARK, USB1_PWEN_MARK, USB1_OVC_MARK, |
| 281 | |
| 282 | SD0_CLK_MARK, SD0_CMD_MARK, SD0_DATA0_MARK, SD0_DATA1_MARK, |
| 283 | SD0_DATA2_MARK, SD0_DATA3_MARK, SD0_CD_MARK, SD0_WP_MARK, |
| 284 | |
| 285 | SD1_CLK_MARK, SD1_CMD_MARK, SD1_DATA0_MARK, SD1_DATA1_MARK, |
| 286 | SD1_DATA2_MARK, SD1_DATA3_MARK, |
| 287 | |
| 288 | /* |
| 289 | * From IPSR0 to IPSR5 have been removed because they does not use. |
| 290 | */ |
| 291 | |
| 292 | /* IPSR6 */ |
| 293 | DU0_EXVSYNC_DU0_VSYNC_MARK, QSTB_QHE_MARK, CC50_STATE28_MARK, |
| 294 | DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK, QCPV_QDE_MARK, CC50_STATE29_MARK, |
| 295 | DU0_DISP_MARK, QPOLA_MARK, CC50_STATE30_MARK, DU0_CDE_MARK, QPOLB_MARK, |
| 296 | CC50_STATE31_MARK, VI0_CLK_MARK, AVB_RX_CLK_MARK, VI0_DATA0_VI0_B0_MARK, |
| 297 | AVB_RX_DV_MARK, VI0_DATA1_VI0_B1_MARK, AVB_RXD0_MARK, |
| 298 | VI0_DATA2_VI0_B2_MARK, AVB_RXD1_MARK, VI0_DATA3_VI0_B3_MARK, |
| 299 | AVB_RXD2_MARK, VI0_DATA4_VI0_B4_MARK, AVB_RXD3_MARK, |
| 300 | VI0_DATA5_VI0_B5_MARK, AVB_RXD4_MARK, VI0_DATA6_VI0_B6_MARK, |
| 301 | AVB_RXD5_MARK, VI0_DATA7_VI0_B7_MARK, AVB_RXD6_MARK, VI0_CLKENB_MARK, |
| 302 | I2C3_SCL_MARK, SCIFA5_RXD_C_MARK, IETX_C_MARK, AVB_RXD7_MARK, |
| 303 | VI0_FIELD_MARK, I2C3_SDA_MARK, SCIFA5_TXD_C_MARK, IECLK_C_MARK, |
| 304 | AVB_RX_ER_MARK, VI0_HSYNC_N_MARK, SCIF0_RXD_B_MARK, I2C0_SCL_C_MARK, |
| 305 | IERX_C_MARK, AVB_COL_MARK, VI0_VSYNC_N_MARK, SCIF0_TXD_B_MARK, |
| 306 | I2C0_SDA_C_MARK, AUDIO_CLKOUT_B_MARK, AVB_TX_EN_MARK, ETH_MDIO_MARK, |
| 307 | VI0_G0_MARK, MSIOF2_RXD_B_MARK, IIC0_SCL_D_MARK, AVB_TX_CLK_MARK, |
| 308 | ADIDATA_MARK, AD_DI_MARK, |
| 309 | |
| 310 | /* IPSR7 */ |
| 311 | ETH_CRS_DV_MARK, VI0_G1_MARK, MSIOF2_TXD_B_MARK, IIC0_SDA_D_MARK, |
| 312 | AVB_TXD0_MARK, ADICS_SAMP_MARK, AD_DO_MARK, ETH_RX_ER_MARK, VI0_G2_MARK, |
| 313 | MSIOF2_SCK_B_MARK, CAN0_RX_B_MARK, AVB_TXD1_MARK, ADICLK_MARK, |
| 314 | AD_CLK_MARK, ETH_RXD0_MARK, VI0_G3_MARK, MSIOF2_SYNC_B_MARK, |
| 315 | CAN0_TX_B_MARK, AVB_TXD2_MARK, ADICHS0_MARK, AD_NCS_N_MARK, |
| 316 | ETH_RXD1_MARK, VI0_G4_MARK, MSIOF2_SS1_B_MARK, SCIF4_RXD_D_MARK, |
| 317 | AVB_TXD3_MARK, ADICHS1_MARK, ETH_LINK_MARK, VI0_G5_MARK, |
| 318 | MSIOF2_SS2_B_MARK, SCIF4_TXD_D_MARK, AVB_TXD4_MARK, ADICHS2_MARK, |
| 319 | ETH_REFCLK_MARK, VI0_G6_MARK, SCIF2_SCK_C_MARK, AVB_TXD5_MARK, |
| 320 | SSI_SCK5_B_MARK, ETH_TXD1_MARK, VI0_G7_MARK, SCIF2_RXD_C_MARK, |
| 321 | IIC1_SCL_D_MARK, AVB_TXD6_MARK, SSI_WS5_B_MARK, ETH_TX_EN_MARK, |
| 322 | VI0_R0_MARK, SCIF2_TXD_C_MARK, IIC1_SDA_D_MARK, AVB_TXD7_MARK, |
| 323 | SSI_SDATA5_B_MARK, ETH_MAGIC_MARK, VI0_R1_MARK, SCIF3_SCK_B_MARK, |
| 324 | AVB_TX_ER_MARK, SSI_SCK6_B_MARK, ETH_TXD0_MARK, VI0_R2_MARK, |
| 325 | SCIF3_RXD_B_MARK, I2C4_SCL_E_MARK, AVB_GTX_CLK_MARK, SSI_WS6_B_MARK, |
| 326 | DREQ0_N_MARK, SCIFB1_RXD_MARK, |
| 327 | |
| 328 | /* IPSR8 */ |
| 329 | ETH_MDC_MARK, VI0_R3_MARK, SCIF3_TXD_B_MARK, I2C4_SDA_E_MARK, |
| 330 | AVB_MDC_MARK, SSI_SDATA6_B_MARK, HSCIF0_HRX_MARK, VI0_R4_MARK, |
| 331 | I2C1_SCL_C_MARK, AUDIO_CLKA_B_MARK, AVB_MDIO_MARK, SSI_SCK78_B_MARK, |
| 332 | HSCIF0_HTX_MARK, VI0_R5_MARK, I2C1_SDA_C_MARK, AUDIO_CLKB_B_MARK, |
| 333 | AVB_LINK_MARK, SSI_WS78_B_MARK, HSCIF0_HCTS_N_MARK, VI0_R6_MARK, |
| 334 | SCIF0_RXD_D_MARK, I2C0_SCL_E_MARK, AVB_MAGIC_MARK, SSI_SDATA7_B_MARK, |
| 335 | HSCIF0_HRTS_N_MARK, VI0_R7_MARK, SCIF0_TXD_D_MARK, I2C0_SDA_E_MARK, |
| 336 | AVB_PHY_INT_MARK, SSI_SDATA8_B_MARK, |
| 337 | HSCIF0_HSCK_MARK, SCIF_CLK_B_MARK, AVB_CRS_MARK, AUDIO_CLKC_B_MARK, |
| 338 | I2C0_SCL_MARK, SCIF0_RXD_C_MARK, PWM5_MARK, TCLK1_B_MARK, |
| 339 | AVB_GTXREFCLK_MARK, CAN1_RX_D_MARK, TPUTO0_B_MARK, I2C0_SDA_MARK, |
| 340 | SCIF0_TXD_C_MARK, TPUTO0_MARK, CAN_CLK_MARK, DVC_MUTE_MARK, |
| 341 | CAN1_TX_D_MARK, I2C1_SCL_MARK, SCIF4_RXD_MARK, PWM5_B_MARK, |
| 342 | DU1_DR0_MARK, RIF1_SYNC_B_MARK, TS_SDATA_D_MARK, TPUTO1_B_MARK, |
| 343 | I2C1_SDA_MARK, SCIF4_TXD_MARK, IRQ5_MARK, DU1_DR1_MARK, RIF1_CLK_B_MARK, |
| 344 | TS_SCK_D_MARK, BPFCLK_C_MARK, MSIOF0_RXD_MARK, SCIF5_RXD_MARK, |
| 345 | I2C2_SCL_C_MARK, DU1_DR2_MARK, RIF1_D0_B_MARK, TS_SDEN_D_MARK, |
| 346 | FMCLK_C_MARK, RDS_CLK_MARK, |
| 347 | |
| 348 | /* |
| 349 | * From IPSR9 to IPSR10 have been removed because they does not use. |
| 350 | */ |
| 351 | |
| 352 | /* IPSR11 */ |
| 353 | SSI_WS5_MARK, SCIFA3_RXD_MARK, I2C3_SCL_C_MARK, DU1_DOTCLKOUT0_MARK, |
| 354 | CAN_DEBUGOUT11_MARK, SSI_SDATA5_MARK, SCIFA3_TXD_MARK, I2C3_SDA_C_MARK, |
| 355 | DU1_DOTCLKOUT1_MARK, CAN_DEBUGOUT12_MARK, SSI_SCK6_MARK, |
| 356 | SCIFA1_SCK_B_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK, CAN_DEBUGOUT13_MARK, |
| 357 | SSI_WS6_MARK, SCIFA1_RXD_B_MARK, I2C4_SCL_C_MARK, |
| 358 | DU1_EXVSYNC_DU1_VSYNC_MARK, CAN_DEBUGOUT14_MARK, SSI_SDATA6_MARK, |
| 359 | SCIFA1_TXD_B_MARK, I2C4_SDA_C_MARK, DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK, |
| 360 | CAN_DEBUGOUT15_MARK, SSI_SCK78_MARK, SCIFA2_SCK_B_MARK, IIC0_SDA_C_MARK, |
| 361 | DU1_DISP_MARK, SSI_WS78_MARK, SCIFA2_RXD_B_MARK, IIC0_SCL_C_MARK, |
| 362 | DU1_CDE_MARK, SSI_SDATA7_MARK, SCIFA2_TXD_B_MARK, IRQ8_MARK, |
| 363 | AUDIO_CLKA_D_MARK, CAN_CLK_D_MARK, PCMOE_N_MARK, SSI_SCK0129_MARK, |
| 364 | MSIOF1_RXD_B_MARK, SCIF5_RXD_D_MARK, ADIDATA_B_MARK, AD_DI_B_MARK, |
| 365 | PCMWE_N_MARK, SSI_WS0129_MARK, MSIOF1_TXD_B_MARK, SCIF5_TXD_D_MARK, |
| 366 | ADICS_SAMP_B_MARK, AD_DO_B_MARK, SSI_SDATA0_MARK, MSIOF1_SCK_B_MARK, |
| 367 | PWM0_B_MARK, ADICLK_B_MARK, AD_CLK_B_MARK, |
| 368 | |
| 369 | /* |
| 370 | * From IPSR12 to IPSR13 have been removed because they does not use. |
| 371 | */ |
| 372 | |
| 373 | PINMUX_MARK_END, |
| 374 | }; |
| 375 | |
| 376 | static pinmux_enum_t pinmux_data[] = { |
| 377 | PINMUX_DATA_GP_ALL(), /* PINMUX_DATA(GP_M_N_DATA, GP_M_N_FN...), */ |
| 378 | |
| 379 | PINMUX_DATA(A2_MARK, FN_A2), |
| 380 | PINMUX_DATA(WE0_N_MARK, FN_WE0_N), |
| 381 | PINMUX_DATA(WE1_N_MARK, FN_WE1_N), |
| 382 | PINMUX_DATA(DACK0_MARK, FN_DACK0), |
| 383 | PINMUX_DATA(USB0_PWEN_MARK, FN_USB0_PWEN), |
| 384 | PINMUX_DATA(USB0_OVC_MARK, FN_USB0_OVC), |
| 385 | PINMUX_DATA(USB1_PWEN_MARK, FN_USB1_PWEN), |
| 386 | PINMUX_DATA(USB1_OVC_MARK, FN_USB1_OVC), |
| 387 | PINMUX_DATA(SD0_CLK_MARK, FN_SD0_CLK), |
| 388 | PINMUX_DATA(SD0_CMD_MARK, FN_SD0_CMD), |
| 389 | PINMUX_DATA(SD0_DATA0_MARK, FN_SD0_DATA0), |
| 390 | PINMUX_DATA(SD0_DATA1_MARK, FN_SD0_DATA1), |
| 391 | PINMUX_DATA(SD0_DATA2_MARK, FN_SD0_DATA2), |
| 392 | PINMUX_DATA(SD0_DATA3_MARK, FN_SD0_DATA3), |
| 393 | PINMUX_DATA(SD0_CD_MARK, FN_SD0_CD), |
| 394 | PINMUX_DATA(SD0_WP_MARK, FN_SD0_WP), |
| 395 | PINMUX_DATA(SD1_CLK_MARK, FN_SD1_CLK), |
| 396 | PINMUX_DATA(SD1_CMD_MARK, FN_SD1_CMD), |
| 397 | PINMUX_DATA(SD1_DATA0_MARK, FN_SD1_DATA0), |
| 398 | PINMUX_DATA(SD1_DATA1_MARK, FN_SD1_DATA1), |
| 399 | PINMUX_DATA(SD1_DATA2_MARK, FN_SD1_DATA2), |
| 400 | PINMUX_DATA(SD1_DATA3_MARK, FN_SD1_DATA3), |
| 401 | |
| 402 | /* |
| 403 | * From IPSR0 to IPSR5 have been removed because they does not use. |
| 404 | */ |
| 405 | |
| 406 | /* IPSR6 */ |
| 407 | PINMUX_IPSR_DATA(IP6_1_0, DU0_EXVSYNC_DU0_VSYNC), |
| 408 | PINMUX_IPSR_DATA(IP6_1_0, QSTB_QHE), |
| 409 | PINMUX_IPSR_DATA(IP6_1_0, CC50_STATE28), |
| 410 | PINMUX_IPSR_DATA(IP6_3_2, DU0_EXODDF_DU0_ODDF_DISP_CDE), |
| 411 | PINMUX_IPSR_DATA(IP6_3_2, QCPV_QDE), |
| 412 | PINMUX_IPSR_DATA(IP6_3_2, CC50_STATE29), |
| 413 | PINMUX_IPSR_DATA(IP6_5_4, DU0_DISP), |
| 414 | PINMUX_IPSR_DATA(IP6_5_4, QPOLA), |
| 415 | PINMUX_IPSR_DATA(IP6_5_4, CC50_STATE30), |
| 416 | PINMUX_IPSR_DATA(IP6_7_6, DU0_CDE), |
| 417 | PINMUX_IPSR_DATA(IP6_7_6, QPOLB), |
| 418 | PINMUX_IPSR_DATA(IP6_7_6, CC50_STATE31), |
| 419 | PINMUX_IPSR_DATA(IP6_8, VI0_CLK), |
| 420 | PINMUX_IPSR_DATA(IP6_8, AVB_RX_CLK), |
| 421 | PINMUX_IPSR_DATA(IP6_9, VI0_DATA0_VI0_B0), |
| 422 | PINMUX_IPSR_DATA(IP6_9, AVB_RX_DV), |
| 423 | PINMUX_IPSR_DATA(IP6_10, VI0_DATA1_VI0_B1), |
| 424 | PINMUX_IPSR_DATA(IP6_10, AVB_RXD0), |
| 425 | PINMUX_IPSR_DATA(IP6_11, VI0_DATA2_VI0_B2), |
| 426 | PINMUX_IPSR_DATA(IP6_11, AVB_RXD1), |
| 427 | PINMUX_IPSR_DATA(IP6_12, VI0_DATA3_VI0_B3), |
| 428 | PINMUX_IPSR_DATA(IP6_12, AVB_RXD2), |
| 429 | PINMUX_IPSR_DATA(IP6_13, VI0_DATA4_VI0_B4), |
| 430 | PINMUX_IPSR_DATA(IP6_13, AVB_RXD3), |
| 431 | PINMUX_IPSR_DATA(IP6_14, VI0_DATA5_VI0_B5), |
| 432 | PINMUX_IPSR_DATA(IP6_14, AVB_RXD4), |
| 433 | PINMUX_IPSR_DATA(IP6_15, VI0_DATA6_VI0_B6), |
| 434 | PINMUX_IPSR_DATA(IP6_15, AVB_RXD5), |
| 435 | PINMUX_IPSR_DATA(IP6_16, VI0_DATA7_VI0_B7), |
| 436 | PINMUX_IPSR_DATA(IP6_16, AVB_RXD6), |
| 437 | PINMUX_IPSR_DATA(IP6_19_17, VI0_CLKENB), |
| 438 | PINMUX_IPSR_MODSEL_DATA(IP6_19_17, I2C3_SCL, SEL_I2C03_0), |
| 439 | PINMUX_IPSR_MODSEL_DATA(IP6_19_17, SCIFA5_RXD_C, SEL_SCIFA5_2), |
| 440 | PINMUX_IPSR_MODSEL_DATA(IP6_19_17, IETX_C, SEL_IEB_2), |
| 441 | PINMUX_IPSR_DATA(IP6_19_17, AVB_RXD7), |
| 442 | PINMUX_IPSR_DATA(IP6_22_20, VI0_FIELD), |
| 443 | PINMUX_IPSR_MODSEL_DATA(IP6_22_20, I2C3_SDA, SEL_I2C03_0), |
| 444 | PINMUX_IPSR_MODSEL_DATA(IP6_22_20, SCIFA5_TXD_C, SEL_SCIFA5_2), |
| 445 | PINMUX_IPSR_MODSEL_DATA(IP6_22_20, IECLK_C, SEL_IEB_2), |
| 446 | PINMUX_IPSR_DATA(IP6_22_20, AVB_RX_ER), |
| 447 | PINMUX_IPSR_DATA(IP6_25_23, VI0_HSYNC_N), |
| 448 | PINMUX_IPSR_MODSEL_DATA(IP6_25_23, SCIF0_RXD_B, SEL_SCIF0_1), |
| 449 | PINMUX_IPSR_MODSEL_DATA(IP6_25_23, I2C0_SCL_C, SEL_I2C00_2), |
| 450 | PINMUX_IPSR_MODSEL_DATA(IP6_25_23, IERX_C, SEL_IEB_2), |
| 451 | PINMUX_IPSR_DATA(IP6_25_23, AVB_COL), |
| 452 | PINMUX_IPSR_DATA(IP6_28_26, VI0_VSYNC_N), |
| 453 | PINMUX_IPSR_MODSEL_DATA(IP6_28_26, SCIF0_TXD_B, SEL_SCIF0_1), |
| 454 | PINMUX_IPSR_MODSEL_DATA(IP6_28_26, I2C0_SDA_C, SEL_I2C00_2), |
| 455 | PINMUX_IPSR_MODSEL_DATA(IP6_28_26, AUDIO_CLKOUT_B, SEL_ADG_1), |
| 456 | PINMUX_IPSR_DATA(IP6_28_26, AVB_TX_EN), |
| 457 | PINMUX_IPSR_MODSEL_DATA(IP6_31_29, ETH_MDIO, SEL_ETH_0), |
| 458 | PINMUX_IPSR_DATA(IP6_31_29, VI0_G0), |
| 459 | PINMUX_IPSR_MODSEL_DATA(IP6_31_29, MSIOF2_RXD_B, SEL_MSI2_1), |
| 460 | PINMUX_IPSR_MODSEL_DATA(IP6_31_29, IIC0_SCL_D, SEL_IIC00_3), |
| 461 | PINMUX_IPSR_DATA(IP6_31_29, AVB_TX_CLK), |
| 462 | PINMUX_IPSR_MODSEL_DATA(IP6_31_29, ADIDATA, SEL_RAD_0), |
| 463 | PINMUX_IPSR_MODSEL_DATA(IP6_31_29, AD_DI, SEL_ADI_0), |
| 464 | |
| 465 | /* IPSR7 */ |
| 466 | PINMUX_IPSR_MODSEL_DATA(IP7_2_0, ETH_CRS_DV, SEL_ETH_0), |
| 467 | PINMUX_IPSR_DATA(IP7_2_0, VI0_G1), |
| 468 | PINMUX_IPSR_MODSEL_DATA(IP7_2_0, MSIOF2_TXD_B, SEL_MSI2_1), |
| 469 | PINMUX_IPSR_MODSEL_DATA(IP7_2_0, IIC0_SDA_D, SEL_IIC00_3), |
| 470 | PINMUX_IPSR_DATA(IP7_2_0, AVB_TXD0), |
| 471 | PINMUX_IPSR_MODSEL_DATA(IP7_2_0, ADICS_SAMP, SEL_RAD_0), |
| 472 | PINMUX_IPSR_MODSEL_DATA(IP7_2_0, AD_DO, SEL_ADI_0), |
| 473 | PINMUX_IPSR_MODSEL_DATA(IP7_5_3, ETH_RX_ER, SEL_ETH_0), |
| 474 | PINMUX_IPSR_DATA(IP7_5_3, VI0_G2), |
| 475 | PINMUX_IPSR_MODSEL_DATA(IP7_5_3, MSIOF2_SCK_B, SEL_MSI2_1), |
| 476 | PINMUX_IPSR_MODSEL_DATA(IP7_5_3, CAN0_RX_B, SEL_CAN0_1), |
| 477 | PINMUX_IPSR_DATA(IP7_5_3, AVB_TXD1), |
| 478 | PINMUX_IPSR_MODSEL_DATA(IP7_5_3, ADICLK, SEL_RAD_0), |
| 479 | PINMUX_IPSR_MODSEL_DATA(IP7_5_3, AD_CLK, SEL_ADI_0), |
| 480 | PINMUX_IPSR_MODSEL_DATA(IP7_8_6, ETH_RXD0, SEL_ETH_0), |
| 481 | PINMUX_IPSR_DATA(IP7_8_6, VI0_G3), |
| 482 | PINMUX_IPSR_MODSEL_DATA(IP7_8_6, MSIOF2_SYNC_B, SEL_MSI2_1), |
| 483 | PINMUX_IPSR_MODSEL_DATA(IP7_8_6, CAN0_TX_B, SEL_CAN0_1), |
| 484 | PINMUX_IPSR_DATA(IP7_8_6, AVB_TXD2), |
| 485 | PINMUX_IPSR_MODSEL_DATA(IP7_8_6, ADICHS0, SEL_RAD_0), |
| 486 | PINMUX_IPSR_MODSEL_DATA(IP7_8_6, AD_NCS_N, SEL_ADI_0), |
| 487 | PINMUX_IPSR_MODSEL_DATA(IP7_11_9, ETH_RXD1, SEL_ETH_0), |
| 488 | PINMUX_IPSR_DATA(IP7_11_9, VI0_G4), |
| 489 | PINMUX_IPSR_MODSEL_DATA(IP7_11_9, MSIOF2_SS1_B, SEL_MSI2_1), |
| 490 | PINMUX_IPSR_MODSEL_DATA(IP7_11_9, SCIF4_RXD_D, SEL_SCIF4_3), |
| 491 | PINMUX_IPSR_DATA(IP7_11_9, AVB_TXD3), |
| 492 | PINMUX_IPSR_MODSEL_DATA(IP7_11_9, ADICHS1, SEL_RAD_0), |
| 493 | PINMUX_IPSR_MODSEL_DATA(IP7_14_12, ETH_LINK, SEL_ETH_0), |
| 494 | PINMUX_IPSR_DATA(IP7_14_12, VI0_G5), |
| 495 | PINMUX_IPSR_MODSEL_DATA(IP7_14_12, MSIOF2_SS2_B, SEL_MSI2_1), |
| 496 | PINMUX_IPSR_MODSEL_DATA(IP7_14_12, SCIF4_TXD_D, SEL_SCIF4_3), |
| 497 | PINMUX_IPSR_DATA(IP7_14_12, AVB_TXD4), |
| 498 | PINMUX_IPSR_MODSEL_DATA(IP7_14_12, ADICHS2, SEL_RAD_0), |
| 499 | PINMUX_IPSR_MODSEL_DATA(IP7_17_15, ETH_REFCLK, SEL_ETH_0), |
| 500 | PINMUX_IPSR_DATA(IP7_17_15, VI0_G6), |
| 501 | PINMUX_IPSR_MODSEL_DATA(IP7_17_15, SCIF2_SCK_C, SEL_SCIF2_2), |
| 502 | PINMUX_IPSR_DATA(IP7_17_15, AVB_TXD5), |
| 503 | PINMUX_IPSR_MODSEL_DATA(IP7_17_15, SSI_SCK5_B, SEL_SSI5_1), |
| 504 | PINMUX_IPSR_MODSEL_DATA(IP7_20_18, ETH_TXD1, SEL_ETH_0), |
| 505 | PINMUX_IPSR_DATA(IP7_20_18, VI0_G7), |
| 506 | PINMUX_IPSR_MODSEL_DATA(IP7_20_18, SCIF2_RXD_C, SEL_SCIF2_2), |
| 507 | PINMUX_IPSR_MODSEL_DATA(IP7_20_18, IIC1_SCL_D, SEL_IIC01_3), |
| 508 | PINMUX_IPSR_DATA(IP7_20_18, AVB_TXD6), |
| 509 | PINMUX_IPSR_MODSEL_DATA(IP7_20_18, SSI_WS5_B, SEL_SSI5_1), |
| 510 | PINMUX_IPSR_MODSEL_DATA(IP7_23_21, ETH_TX_EN, SEL_ETH_0), |
| 511 | PINMUX_IPSR_DATA(IP7_23_21, VI0_R0), |
| 512 | PINMUX_IPSR_MODSEL_DATA(IP7_23_21, SCIF2_TXD_C, SEL_SCIF2_2), |
| 513 | PINMUX_IPSR_MODSEL_DATA(IP7_23_21, IIC1_SDA_D, SEL_IIC01_3), |
| 514 | PINMUX_IPSR_DATA(IP7_23_21, AVB_TXD7), |
| 515 | PINMUX_IPSR_MODSEL_DATA(IP7_23_21, SSI_SDATA5_B, SEL_SSI5_1), |
| 516 | PINMUX_IPSR_MODSEL_DATA(IP7_26_24, ETH_MAGIC, SEL_ETH_0), |
| 517 | PINMUX_IPSR_DATA(IP7_26_24, VI0_R1), |
| 518 | PINMUX_IPSR_MODSEL_DATA(IP7_26_24, SCIF3_SCK_B, SEL_SCIF3_1), |
| 519 | PINMUX_IPSR_DATA(IP7_26_24, AVB_TX_ER), |
| 520 | PINMUX_IPSR_MODSEL_DATA(IP7_26_24, SSI_SCK6_B, SEL_SSI6_1), |
| 521 | PINMUX_IPSR_MODSEL_DATA(IP7_29_27, ETH_TXD0, SEL_ETH_0), |
| 522 | PINMUX_IPSR_DATA(IP7_29_27, VI0_R2), |
| 523 | PINMUX_IPSR_MODSEL_DATA(IP7_29_27, SCIF3_RXD_B, SEL_SCIF3_1), |
| 524 | PINMUX_IPSR_MODSEL_DATA(IP7_29_27, I2C4_SCL_E, SEL_I2C04_4), |
| 525 | PINMUX_IPSR_DATA(IP7_29_27, AVB_GTX_CLK), |
| 526 | PINMUX_IPSR_MODSEL_DATA(IP7_29_27, SSI_WS6_B, SEL_SSI6_1), |
| 527 | PINMUX_IPSR_DATA(IP7_31, DREQ0_N), |
| 528 | PINMUX_IPSR_DATA(IP7_31, SCIFB1_RXD), |
| 529 | |
| 530 | /* IPSR8 */ |
| 531 | PINMUX_IPSR_MODSEL_DATA(IP8_2_0, ETH_MDC, SEL_ETH_0), |
| 532 | PINMUX_IPSR_DATA(IP8_2_0, VI0_R3), |
| 533 | PINMUX_IPSR_MODSEL_DATA(IP8_2_0, SCIF3_TXD_B, SEL_SCIF3_1), |
| 534 | PINMUX_IPSR_MODSEL_DATA(IP8_2_0, I2C4_SDA_E, SEL_I2C04_4), |
| 535 | PINMUX_IPSR_DATA(IP8_2_0, AVB_MDC), |
| 536 | PINMUX_IPSR_MODSEL_DATA(IP8_2_0, SSI_SDATA6_B, SEL_SSI6_1), |
| 537 | PINMUX_IPSR_MODSEL_DATA(IP8_5_3, HSCIF0_HRX, SEL_HSCIF0_0), |
| 538 | PINMUX_IPSR_DATA(IP8_5_3, VI0_R4), |
| 539 | PINMUX_IPSR_MODSEL_DATA(IP8_5_3, I2C1_SCL_C, SEL_I2C01_2), |
| 540 | PINMUX_IPSR_MODSEL_DATA(IP8_5_3, AUDIO_CLKA_B, SEL_ADG_1), |
| 541 | PINMUX_IPSR_DATA(IP8_5_3, AVB_MDIO), |
| 542 | PINMUX_IPSR_MODSEL_DATA(IP8_5_3, SSI_SCK78_B, SEL_SSI7_1), |
| 543 | PINMUX_IPSR_MODSEL_DATA(IP8_8_6, HSCIF0_HTX, SEL_HSCIF0_0), |
| 544 | PINMUX_IPSR_DATA(IP8_8_6, VI0_R5), |
| 545 | PINMUX_IPSR_MODSEL_DATA(IP8_8_6, I2C1_SDA_C, SEL_I2C01_2), |
| 546 | PINMUX_IPSR_MODSEL_DATA(IP8_8_6, AUDIO_CLKB_B, SEL_ADG_1), |
| 547 | PINMUX_IPSR_DATA(IP8_5_3, AVB_LINK), |
| 548 | PINMUX_IPSR_MODSEL_DATA(IP8_8_6, SSI_WS78_B, SEL_SSI7_1), |
| 549 | PINMUX_IPSR_DATA(IP8_11_9, HSCIF0_HCTS_N), |
| 550 | PINMUX_IPSR_DATA(IP8_11_9, VI0_R6), |
| 551 | PINMUX_IPSR_MODSEL_DATA(IP8_11_9, SCIF0_RXD_D, SEL_SCIF0_3), |
| 552 | PINMUX_IPSR_MODSEL_DATA(IP8_11_9, I2C0_SCL_E, SEL_I2C00_4), |
| 553 | PINMUX_IPSR_DATA(IP8_11_9, AVB_MAGIC), |
| 554 | PINMUX_IPSR_MODSEL_DATA(IP8_11_9, SSI_SDATA7_B, SEL_SSI7_1), |
| 555 | PINMUX_IPSR_DATA(IP8_14_12, HSCIF0_HRTS_N), |
| 556 | PINMUX_IPSR_DATA(IP8_14_12, VI0_R7), |
| 557 | PINMUX_IPSR_MODSEL_DATA(IP8_14_12, SCIF0_TXD_D, SEL_SCIF0_3), |
| 558 | PINMUX_IPSR_MODSEL_DATA(IP8_14_12, I2C0_SDA_E, SEL_I2C00_4), |
| 559 | PINMUX_IPSR_DATA(IP8_14_12, AVB_PHY_INT), |
| 560 | PINMUX_IPSR_MODSEL_DATA(IP8_14_12, SSI_SDATA8_B, SEL_SSI8_1), |
| 561 | PINMUX_IPSR_MODSEL_DATA(IP8_16_15, HSCIF0_HSCK, SEL_HSCIF0_0), |
| 562 | PINMUX_IPSR_MODSEL_DATA(IP8_16_15, SCIF_CLK_B, SEL_SCIF0_1), |
| 563 | PINMUX_IPSR_DATA(IP8_16_15, AVB_CRS), |
| 564 | PINMUX_IPSR_MODSEL_DATA(IP8_16_15, AUDIO_CLKC_B, SEL_ADG_1), |
| 565 | PINMUX_IPSR_MODSEL_DATA(IP8_19_17, I2C0_SCL, SEL_I2C00_0), |
| 566 | PINMUX_IPSR_MODSEL_DATA(IP8_19_17, SCIF0_RXD_C, SEL_SCIF0_2), |
| 567 | PINMUX_IPSR_DATA(IP8_19_17, PWM5), |
| 568 | PINMUX_IPSR_MODSEL_DATA(IP8_19_17, TCLK1_B, SEL_TMU_1), |
| 569 | PINMUX_IPSR_DATA(IP8_19_17, AVB_GTXREFCLK), |
| 570 | PINMUX_IPSR_MODSEL_DATA(IP8_19_17, CAN1_RX_D, SEL_CAN1_3), |
| 571 | PINMUX_IPSR_DATA(IP8_19_17, TPUTO0_B), |
| 572 | PINMUX_IPSR_MODSEL_DATA(IP8_22_20, I2C0_SDA, SEL_I2C00_0), |
| 573 | PINMUX_IPSR_MODSEL_DATA(IP8_22_20, SCIF0_TXD_C, SEL_SCIF0_2), |
| 574 | PINMUX_IPSR_DATA(IP8_22_20, TPUTO0), |
| 575 | PINMUX_IPSR_MODSEL_DATA(IP8_22_20, CAN_CLK, SEL_CAN_0), |
| 576 | PINMUX_IPSR_DATA(IP8_22_20, DVC_MUTE), |
| 577 | PINMUX_IPSR_MODSEL_DATA(IP8_22_20, CAN1_TX_D, SEL_CAN1_3), |
| 578 | PINMUX_IPSR_MODSEL_DATA(IP8_25_23, I2C1_SCL, SEL_I2C01_0), |
| 579 | PINMUX_IPSR_MODSEL_DATA(IP8_25_23, SCIF4_RXD, SEL_SCIF4_0), |
| 580 | PINMUX_IPSR_DATA(IP8_25_23, PWM5_B), |
| 581 | PINMUX_IPSR_DATA(IP8_25_23, DU1_DR0), |
| 582 | PINMUX_IPSR_MODSEL_DATA(IP8_25_23, RIF1_SYNC_B, SEL_DR2_1), |
| 583 | PINMUX_IPSR_MODSEL_DATA(IP8_25_23, TS_SDATA_D, SEL_TSIF0_3), |
| 584 | PINMUX_IPSR_DATA(IP8_25_23, TPUTO1_B), |
| 585 | PINMUX_IPSR_MODSEL_DATA(IP8_28_26, I2C1_SDA, SEL_I2C01_0), |
| 586 | PINMUX_IPSR_MODSEL_DATA(IP8_28_26, SCIF4_TXD, SEL_SCIF4_0), |
| 587 | PINMUX_IPSR_DATA(IP8_28_26, IRQ5), |
| 588 | PINMUX_IPSR_DATA(IP8_28_26, DU1_DR1), |
| 589 | PINMUX_IPSR_MODSEL_DATA(IP8_28_26, RIF1_CLK_B, SEL_DR2_1), |
| 590 | PINMUX_IPSR_MODSEL_DATA(IP8_28_26, TS_SCK_D, SEL_TSIF0_3), |
| 591 | PINMUX_IPSR_MODSEL_DATA(IP8_28_26, BPFCLK_C, SEL_DARC_2), |
| 592 | PINMUX_IPSR_DATA(IP8_31_29, MSIOF0_RXD), |
| 593 | PINMUX_IPSR_MODSEL_DATA(IP8_31_29, SCIF5_RXD, SEL_SCIF5_0), |
| 594 | PINMUX_IPSR_MODSEL_DATA(IP8_31_29, I2C2_SCL_C, SEL_I2C02_2), |
| 595 | PINMUX_IPSR_DATA(IP8_31_29, DU1_DR2), |
| 596 | PINMUX_IPSR_MODSEL_DATA(IP8_31_29, RIF1_D0_B, SEL_DR2_1), |
| 597 | PINMUX_IPSR_MODSEL_DATA(IP8_31_29, TS_SDEN_D, SEL_TSIF0_3), |
| 598 | PINMUX_IPSR_MODSEL_DATA(IP8_31_29, FMCLK_C, SEL_DARC_2), |
| 599 | PINMUX_IPSR_MODSEL_DATA(IP8_31_29, RDS_CLK, SEL_RDS_0), |
| 600 | |
| 601 | /* |
| 602 | * From IPSR9 to IPSR10 have been removed because they does not use. |
| 603 | */ |
| 604 | |
| 605 | /* IPSR11 */ |
| 606 | PINMUX_IPSR_MODSEL_DATA(IP11_2_0, SSI_WS5, SEL_SSI5_0), |
| 607 | PINMUX_IPSR_MODSEL_DATA(IP11_2_0, SCIFA3_RXD, SEL_SCIFA3_0), |
| 608 | PINMUX_IPSR_MODSEL_DATA(IP11_2_0, I2C3_SCL_C, SEL_I2C03_2), |
| 609 | PINMUX_IPSR_DATA(IP11_2_0, DU1_DOTCLKOUT0), |
| 610 | PINMUX_IPSR_DATA(IP11_2_0, CAN_DEBUGOUT11), |
| 611 | PINMUX_IPSR_MODSEL_DATA(IP11_5_3, SSI_SDATA5, SEL_SSI5_0), |
| 612 | PINMUX_IPSR_MODSEL_DATA(IP11_5_3, SCIFA3_TXD, SEL_SCIFA3_0), |
| 613 | PINMUX_IPSR_MODSEL_DATA(IP11_5_3, I2C3_SDA_C, SEL_I2C03_2), |
| 614 | PINMUX_IPSR_DATA(IP11_5_3, DU1_DOTCLKOUT1), |
| 615 | PINMUX_IPSR_DATA(IP11_5_3, CAN_DEBUGOUT12), |
| 616 | PINMUX_IPSR_MODSEL_DATA(IP11_7_6, SSI_SCK6, SEL_SSI6_0), |
| 617 | PINMUX_IPSR_MODSEL_DATA(IP11_7_6, SCIFA1_SCK_B, SEL_SCIFA1_1), |
| 618 | PINMUX_IPSR_DATA(IP11_7_6, DU1_EXHSYNC_DU1_HSYNC), |
| 619 | PINMUX_IPSR_DATA(IP11_7_6, CAN_DEBUGOUT13), |
| 620 | PINMUX_IPSR_MODSEL_DATA(IP11_10_8, SSI_WS6, SEL_SSI6_0), |
| 621 | PINMUX_IPSR_MODSEL_DATA(IP11_10_8, SCIFA1_RXD_B, SEL_SCIFA1_1), |
| 622 | PINMUX_IPSR_MODSEL_DATA(IP11_10_8, I2C4_SCL_C, SEL_I2C04_2), |
| 623 | PINMUX_IPSR_DATA(IP11_10_8, DU1_EXVSYNC_DU1_VSYNC), |
| 624 | PINMUX_IPSR_DATA(IP11_10_8, CAN_DEBUGOUT14), |
| 625 | PINMUX_IPSR_MODSEL_DATA(IP11_13_11, SSI_SDATA6, SEL_SSI6_0), |
| 626 | PINMUX_IPSR_MODSEL_DATA(IP11_13_11, SCIFA1_TXD_B, SEL_SCIFA1_1), |
| 627 | PINMUX_IPSR_MODSEL_DATA(IP11_13_11, I2C4_SDA_C, SEL_I2C04_2), |
| 628 | PINMUX_IPSR_DATA(IP11_13_11, DU1_EXODDF_DU1_ODDF_DISP_CDE), |
| 629 | PINMUX_IPSR_DATA(IP11_13_11, CAN_DEBUGOUT15), |
| 630 | PINMUX_IPSR_MODSEL_DATA(IP11_15_14, SSI_SCK78, SEL_SSI7_0), |
| 631 | PINMUX_IPSR_MODSEL_DATA(IP11_15_14, SCIFA2_SCK_B, SEL_SCIFA2_1), |
| 632 | PINMUX_IPSR_MODSEL_DATA(IP11_15_14, IIC0_SDA_C, SEL_IIC00_2), |
| 633 | PINMUX_IPSR_DATA(IP11_15_14, DU1_DISP), |
| 634 | PINMUX_IPSR_MODSEL_DATA(IP11_17_16, SSI_WS78, SEL_SSI7_0), |
| 635 | PINMUX_IPSR_MODSEL_DATA(IP11_17_16, SCIFA2_RXD_B, SEL_SCIFA2_1), |
| 636 | PINMUX_IPSR_MODSEL_DATA(IP11_17_16, IIC0_SCL_C, SEL_IIC00_2), |
| 637 | PINMUX_IPSR_DATA(IP11_17_16, DU1_CDE), |
| 638 | PINMUX_IPSR_MODSEL_DATA(IP11_20_18, SSI_SDATA7, SEL_SSI7_0), |
| 639 | PINMUX_IPSR_MODSEL_DATA(IP11_20_18, SCIFA2_TXD_B, SEL_SCIFA2_1), |
| 640 | PINMUX_IPSR_DATA(IP11_20_18, IRQ8), |
| 641 | PINMUX_IPSR_MODSEL_DATA(IP11_20_18, AUDIO_CLKA_D, SEL_ADG_3), |
| 642 | PINMUX_IPSR_MODSEL_DATA(IP11_20_18, CAN_CLK_D, SEL_CAN_3), |
| 643 | PINMUX_IPSR_DATA(IP11_20_18, PCMOE_N), |
| 644 | PINMUX_IPSR_DATA(IP11_23_21, SSI_SCK0129), |
| 645 | PINMUX_IPSR_MODSEL_DATA(IP11_23_21, MSIOF1_RXD_B, SEL_MSI1_1), |
| 646 | PINMUX_IPSR_MODSEL_DATA(IP11_23_21, SCIF5_RXD_D, SEL_SCIF5_3), |
| 647 | PINMUX_IPSR_MODSEL_DATA(IP11_23_21, ADIDATA_B, SEL_RAD_1), |
| 648 | PINMUX_IPSR_MODSEL_DATA(IP11_23_21, AD_DI_B, SEL_ADI_1), |
| 649 | PINMUX_IPSR_DATA(IP11_23_21, PCMWE_N), |
| 650 | PINMUX_IPSR_DATA(IP11_26_24, SSI_WS0129), |
| 651 | PINMUX_IPSR_MODSEL_DATA(IP11_26_24, MSIOF1_TXD_B, SEL_MSI1_1), |
| 652 | PINMUX_IPSR_MODSEL_DATA(IP11_26_24, SCIF5_TXD_D, SEL_SCIF5_3), |
| 653 | PINMUX_IPSR_MODSEL_DATA(IP11_26_24, ADICS_SAMP_B, SEL_RAD_1), |
| 654 | PINMUX_IPSR_MODSEL_DATA(IP11_26_24, AD_DO_B, SEL_ADI_1), |
| 655 | PINMUX_IPSR_DATA(IP11_29_27, SSI_SDATA0), |
| 656 | PINMUX_IPSR_MODSEL_DATA(IP11_29_27, MSIOF1_SCK_B, SEL_MSI1_1), |
| 657 | PINMUX_IPSR_DATA(IP11_29_27, PWM0_B), |
| 658 | PINMUX_IPSR_MODSEL_DATA(IP11_29_27, ADICLK_B, SEL_RAD_1), |
| 659 | PINMUX_IPSR_MODSEL_DATA(IP11_29_27, AD_CLK_B, SEL_ADI_1), |
| 660 | |
| 661 | /* |
| 662 | * From IPSR12 to IPSR13 have been removed because they does not use. |
| 663 | */ |
| 664 | }; |
| 665 | |
| 666 | static struct pinmux_gpio pinmux_gpios[] = { |
| 667 | PINMUX_GPIO_GP_ALL(), |
| 668 | |
| 669 | GPIO_FN(A2), GPIO_FN(WE0_N), GPIO_FN(WE1_N), GPIO_FN(DACK0), |
| 670 | GPIO_FN(USB0_PWEN), GPIO_FN(USB0_OVC), GPIO_FN(USB1_PWEN), |
| 671 | GPIO_FN(USB1_OVC), GPIO_FN(SD0_CLK), GPIO_FN(SD0_CMD), |
| 672 | GPIO_FN(SD0_DATA0), GPIO_FN(SD0_DATA1), GPIO_FN(SD0_DATA2), |
| 673 | GPIO_FN(SD0_DATA3), GPIO_FN(SD0_CD), GPIO_FN(SD0_WP), |
| 674 | GPIO_FN(SD1_CLK), GPIO_FN(SD1_CMD), GPIO_FN(SD1_DATA0), |
| 675 | GPIO_FN(SD1_DATA1), GPIO_FN(SD1_DATA2), GPIO_FN(SD1_DATA3), |
| 676 | |
| 677 | /* |
| 678 | * From IPSR0 to IPSR5 have been removed because they does not use |
| 679 | */ |
| 680 | |
| 681 | /* IPSR6 */ |
| 682 | GPIO_FN(DU0_EXVSYNC_DU0_VSYNC), GPIO_FN(QSTB_QHE), |
| 683 | GPIO_FN(CC50_STATE28), GPIO_FN(DU0_EXODDF_DU0_ODDF_DISP_CDE), |
| 684 | GPIO_FN(QCPV_QDE), GPIO_FN(CC50_STATE29), GPIO_FN(DU0_DISP), |
| 685 | GPIO_FN(QPOLA), GPIO_FN(CC50_STATE30), GPIO_FN(DU0_CDE), GPIO_FN(QPOLB), |
| 686 | GPIO_FN(CC50_STATE31), GPIO_FN(VI0_CLK), GPIO_FN(AVB_RX_CLK), |
| 687 | GPIO_FN(VI0_DATA0_VI0_B0), GPIO_FN(AVB_RX_DV), |
| 688 | GPIO_FN(VI0_DATA1_VI0_B1), GPIO_FN(AVB_RXD0), GPIO_FN(VI0_DATA2_VI0_B2), |
| 689 | GPIO_FN(AVB_RXD1), GPIO_FN(VI0_DATA3_VI0_B3), GPIO_FN(AVB_RXD2), |
| 690 | GPIO_FN(VI0_DATA4_VI0_B4), GPIO_FN(AVB_RXD3), GPIO_FN(VI0_DATA5_VI0_B5), |
| 691 | GPIO_FN(AVB_RXD4), GPIO_FN(VI0_DATA6_VI0_B6), GPIO_FN(AVB_RXD5), |
| 692 | GPIO_FN(VI0_DATA7_VI0_B7), GPIO_FN(AVB_RXD6), GPIO_FN(VI0_CLKENB), |
| 693 | GPIO_FN(I2C3_SCL), GPIO_FN(SCIFA5_RXD_C), GPIO_FN(IETX_C), |
| 694 | GPIO_FN(AVB_RXD7), GPIO_FN(VI0_FIELD), GPIO_FN(I2C3_SDA), |
| 695 | GPIO_FN(SCIFA5_TXD_C), GPIO_FN(IECLK_C), GPIO_FN(AVB_RX_ER), |
| 696 | GPIO_FN(VI0_HSYNC_N), GPIO_FN(SCIF0_RXD_B), GPIO_FN(I2C0_SCL_C), |
| 697 | GPIO_FN(IERX_C), GPIO_FN(AVB_COL), GPIO_FN(VI0_VSYNC_N), |
| 698 | GPIO_FN(SCIF0_TXD_B), GPIO_FN(I2C0_SDA_C), GPIO_FN(AUDIO_CLKOUT_B), |
| 699 | GPIO_FN(AVB_TX_EN), GPIO_FN(ETH_MDIO), GPIO_FN(VI0_G0), |
| 700 | GPIO_FN(MSIOF2_RXD_B), GPIO_FN(IIC0_SCL_D), GPIO_FN(AVB_TX_CLK), |
| 701 | GPIO_FN(ADIDATA), GPIO_FN(AD_DI), |
| 702 | |
| 703 | /* IPSR7 */ |
| 704 | GPIO_FN(ETH_CRS_DV), GPIO_FN(VI0_G1), GPIO_FN(MSIOF2_TXD_B), |
| 705 | GPIO_FN(IIC0_SDA_D), GPIO_FN(AVB_TXD0), GPIO_FN(ADICS_SAMP), |
| 706 | GPIO_FN(AD_DO), GPIO_FN(ETH_RX_ER), GPIO_FN(VI0_G2), |
| 707 | GPIO_FN(MSIOF2_SCK_B), GPIO_FN(CAN0_RX_B), GPIO_FN(AVB_TXD1), |
| 708 | GPIO_FN(ADICLK), GPIO_FN(AD_CLK), GPIO_FN(ETH_RXD0), GPIO_FN(VI0_G3), |
| 709 | GPIO_FN(MSIOF2_SYNC_B), GPIO_FN(CAN0_TX_B), GPIO_FN(AVB_TXD2), |
| 710 | GPIO_FN(ADICHS0), GPIO_FN(AD_NCS_N), GPIO_FN(ETH_RXD1), |
| 711 | GPIO_FN(VI0_G4), GPIO_FN(MSIOF2_SS1_B), GPIO_FN(SCIF4_RXD_D), |
| 712 | GPIO_FN(AVB_TXD3), GPIO_FN(ADICHS1), GPIO_FN(ETH_LINK), GPIO_FN(VI0_G5), |
| 713 | GPIO_FN(MSIOF2_SS2_B), GPIO_FN(SCIF4_TXD_D), GPIO_FN(AVB_TXD4), |
| 714 | GPIO_FN(ADICHS2), GPIO_FN(ETH_REFCLK), GPIO_FN(VI0_G6), |
| 715 | GPIO_FN(SCIF2_SCK_C), GPIO_FN(AVB_TXD5), GPIO_FN(SSI_SCK5_B), |
| 716 | GPIO_FN(ETH_TXD1), GPIO_FN(VI0_G7), GPIO_FN(SCIF2_RXD_C), |
| 717 | GPIO_FN(IIC1_SCL_D), GPIO_FN(AVB_TXD6), GPIO_FN(SSI_WS5_B), |
| 718 | GPIO_FN(ETH_TX_EN), GPIO_FN(VI0_R0), GPIO_FN(SCIF2_TXD_C), |
| 719 | GPIO_FN(IIC1_SDA_D), GPIO_FN(AVB_TXD7), GPIO_FN(SSI_SDATA5_B), |
| 720 | GPIO_FN(ETH_MAGIC), GPIO_FN(VI0_R1), GPIO_FN(SCIF3_SCK_B), |
| 721 | GPIO_FN(AVB_TX_ER), GPIO_FN(SSI_SCK6_B), GPIO_FN(ETH_TXD0), |
| 722 | GPIO_FN(VI0_R2), GPIO_FN(SCIF3_RXD_B), GPIO_FN(I2C4_SCL_E), |
| 723 | GPIO_FN(AVB_GTX_CLK), GPIO_FN(SSI_WS6_B), GPIO_FN(DREQ0_N), |
| 724 | GPIO_FN(SCIFB1_RXD), |
| 725 | |
| 726 | /* IPSR8 */ |
| 727 | GPIO_FN(ETH_MDC), GPIO_FN(VI0_R3), GPIO_FN(SCIF3_TXD_B), |
| 728 | GPIO_FN(I2C4_SDA_E), GPIO_FN(AVB_MDC), GPIO_FN(SSI_SDATA6_B), |
| 729 | GPIO_FN(HSCIF0_HRX), GPIO_FN(VI0_R4), GPIO_FN(I2C1_SCL_C), |
| 730 | GPIO_FN(AUDIO_CLKA_B), GPIO_FN(AVB_MDIO), GPIO_FN(SSI_SCK78_B), |
| 731 | GPIO_FN(HSCIF0_HTX), GPIO_FN(VI0_R5), GPIO_FN(I2C1_SDA_C), |
| 732 | GPIO_FN(AUDIO_CLKB_B), GPIO_FN(AVB_LINK), GPIO_FN(SSI_WS78_B), |
| 733 | GPIO_FN(HSCIF0_HCTS_N), GPIO_FN(VI0_R6), GPIO_FN(SCIF0_RXD_D), |
| 734 | GPIO_FN(I2C0_SCL_E), GPIO_FN(AVB_MAGIC), GPIO_FN(SSI_SDATA7_B), |
| 735 | GPIO_FN(HSCIF0_HRTS_N), GPIO_FN(VI0_R7), GPIO_FN(SCIF0_TXD_D), |
| 736 | GPIO_FN(I2C0_SDA_E), GPIO_FN(AVB_PHY_INT), GPIO_FN(SSI_SDATA8_B), |
| 737 | GPIO_FN(HSCIF0_HSCK), GPIO_FN(SCIF_CLK_B), GPIO_FN(AVB_CRS), |
| 738 | GPIO_FN(AUDIO_CLKC_B), GPIO_FN(I2C0_SCL), GPIO_FN(SCIF0_RXD_C), |
| 739 | GPIO_FN(PWM5), GPIO_FN(TCLK1_B), GPIO_FN(AVB_GTXREFCLK), |
| 740 | GPIO_FN(CAN1_RX_D), GPIO_FN(TPUTO0_B), GPIO_FN(I2C0_SDA), |
| 741 | GPIO_FN(SCIF0_TXD_C), GPIO_FN(TPUTO0), GPIO_FN(CAN_CLK), |
| 742 | GPIO_FN(DVC_MUTE), GPIO_FN(CAN1_TX_D), GPIO_FN(I2C1_SCL), |
| 743 | GPIO_FN(SCIF4_RXD), GPIO_FN(PWM5_B), GPIO_FN(DU1_DR0), |
| 744 | GPIO_FN(RIF1_SYNC_B), GPIO_FN(TS_SDATA_D), GPIO_FN(TPUTO1_B), |
| 745 | GPIO_FN(I2C1_SDA), GPIO_FN(SCIF4_TXD), GPIO_FN(IRQ5), |
| 746 | GPIO_FN(DU1_DR1), GPIO_FN(RIF1_CLK_B), GPIO_FN(TS_SCK_D), |
| 747 | GPIO_FN(BPFCLK_C), GPIO_FN(MSIOF0_RXD), GPIO_FN(SCIF5_RXD), |
| 748 | GPIO_FN(I2C2_SCL_C), GPIO_FN(DU1_DR2), GPIO_FN(RIF1_D0_B), |
| 749 | GPIO_FN(TS_SDEN_D), GPIO_FN(FMCLK_C), GPIO_FN(RDS_CLK), |
| 750 | |
| 751 | /* |
| 752 | * From IPSR9 to IPSR10 have been removed because they does not use. |
| 753 | */ |
| 754 | |
| 755 | /* IPSR11 */ |
| 756 | GPIO_FN(SSI_WS5), GPIO_FN(SCIFA3_RXD), GPIO_FN(I2C3_SCL_C), |
| 757 | GPIO_FN(DU1_DOTCLKOUT0), GPIO_FN(CAN_DEBUGOUT11), GPIO_FN(SSI_SDATA5), |
| 758 | GPIO_FN(SCIFA3_TXD), GPIO_FN(I2C3_SDA_C), GPIO_FN(DU1_DOTCLKOUT1), |
| 759 | GPIO_FN(CAN_DEBUGOUT12), GPIO_FN(SSI_SCK6), GPIO_FN(SCIFA1_SCK_B), |
| 760 | GPIO_FN(DU1_EXHSYNC_DU1_HSYNC), GPIO_FN(CAN_DEBUGOUT13), |
| 761 | GPIO_FN(SSI_WS6), GPIO_FN(SCIFA1_RXD_B), GPIO_FN(I2C4_SCL_C), |
| 762 | GPIO_FN(DU1_EXVSYNC_DU1_VSYNC), GPIO_FN(CAN_DEBUGOUT14), |
| 763 | GPIO_FN(SSI_SDATA6), GPIO_FN(SCIFA1_TXD_B), GPIO_FN(I2C4_SDA_C), |
| 764 | GPIO_FN(DU1_EXODDF_DU1_ODDF_DISP_CDE), GPIO_FN(CAN_DEBUGOUT15), |
| 765 | GPIO_FN(SSI_SCK78), GPIO_FN(SCIFA2_SCK_B), GPIO_FN(IIC0_SDA_C), |
| 766 | GPIO_FN(DU1_DISP), GPIO_FN(SSI_WS78), GPIO_FN(SCIFA2_RXD_B), |
| 767 | GPIO_FN(IIC0_SCL_C), GPIO_FN(DU1_CDE), GPIO_FN(SSI_SDATA7), |
| 768 | GPIO_FN(SCIFA2_TXD_B), GPIO_FN(IRQ8), GPIO_FN(AUDIO_CLKA_D), |
| 769 | GPIO_FN(CAN_CLK_D), GPIO_FN(PCMOE_N), GPIO_FN(SSI_SCK0129), |
| 770 | GPIO_FN(MSIOF1_RXD_B), GPIO_FN(SCIF5_RXD_D), GPIO_FN(ADIDATA_B), |
| 771 | GPIO_FN(AD_DI_B), GPIO_FN(PCMWE_N), GPIO_FN(SSI_WS0129), |
| 772 | GPIO_FN(MSIOF1_TXD_B), GPIO_FN(SCIF5_TXD_D), GPIO_FN(ADICS_SAMP_B), |
| 773 | GPIO_FN(AD_DO_B), GPIO_FN(SSI_SDATA0), GPIO_FN(MSIOF1_SCK_B), |
| 774 | GPIO_FN(PWM0_B), GPIO_FN(ADICLK_B), GPIO_FN(AD_CLK_B), |
| 775 | |
| 776 | /* |
| 777 | * From IPSR12 to IPSR13 have been removed because they does not use. |
| 778 | */ |
| 779 | }; |
| 780 | |
| 781 | static struct pinmux_cfg_reg pinmux_config_regs[] = { |
| 782 | { PINMUX_CFG_REG("GPSR0", 0xE6060004, 32, 1) { |
| 783 | GP_0_31_FN, FN_IP2_17_16, |
| 784 | GP_0_30_FN, FN_IP2_15_14, |
| 785 | GP_0_29_FN, FN_IP2_13_12, |
| 786 | GP_0_28_FN, FN_IP2_11_10, |
| 787 | GP_0_27_FN, FN_IP2_9_8, |
| 788 | GP_0_26_FN, FN_IP2_7_6, |
| 789 | GP_0_25_FN, FN_IP2_5_4, |
| 790 | GP_0_24_FN, FN_IP2_3_2, |
| 791 | GP_0_23_FN, FN_IP2_1_0, |
| 792 | GP_0_22_FN, FN_IP1_31_30, |
| 793 | GP_0_21_FN, FN_IP1_29_28, |
| 794 | GP_0_20_FN, FN_IP1_27, |
| 795 | GP_0_19_FN, FN_IP1_26, |
| 796 | GP_0_18_FN, FN_A2, |
| 797 | GP_0_17_FN, FN_IP1_24, |
| 798 | GP_0_16_FN, FN_IP1_23_22, |
| 799 | GP_0_15_FN, FN_IP1_21_20, |
| 800 | GP_0_14_FN, FN_IP1_19_18, |
| 801 | GP_0_13_FN, FN_IP1_17_15, |
| 802 | GP_0_12_FN, FN_IP1_14_13, |
| 803 | GP_0_11_FN, FN_IP1_12_11, |
| 804 | GP_0_10_FN, FN_IP1_10_8, |
| 805 | GP_0_9_FN, FN_IP1_7_6, |
| 806 | GP_0_8_FN, FN_IP1_5_4, |
| 807 | GP_0_7_FN, FN_IP1_3_2, |
| 808 | GP_0_6_FN, FN_IP1_1_0, |
| 809 | GP_0_5_FN, FN_IP0_31_30, |
| 810 | GP_0_4_FN, FN_IP0_29_28, |
| 811 | GP_0_3_FN, FN_IP0_27_26, |
| 812 | GP_0_2_FN, FN_IP0_25, |
| 813 | GP_0_1_FN, FN_IP0_24, |
| 814 | GP_0_0_FN, FN_IP0_23_22, } |
| 815 | }, |
| 816 | { PINMUX_CFG_REG("GPSR1", 0xE6060008, 32, 1) { |
| 817 | 0, 0, |
| 818 | 0, 0, |
| 819 | 0, 0, |
| 820 | 0, 0, |
| 821 | 0, 0, |
| 822 | 0, 0, |
| 823 | GP_1_25_FN, FN_DACK0, |
| 824 | GP_1_24_FN, FN_IP7_31, |
| 825 | GP_1_23_FN, FN_IP4_1_0, |
| 826 | GP_1_22_FN, FN_WE1_N, |
| 827 | GP_1_21_FN, FN_WE0_N, |
| 828 | GP_1_20_FN, FN_IP3_31, |
| 829 | GP_1_19_FN, FN_IP3_30, |
| 830 | GP_1_18_FN, FN_IP3_29_27, |
| 831 | GP_1_17_FN, FN_IP3_26_24, |
| 832 | GP_1_16_FN, FN_IP3_23_21, |
| 833 | GP_1_15_FN, FN_IP3_20_18, |
| 834 | GP_1_14_FN, FN_IP3_17_15, |
| 835 | GP_1_13_FN, FN_IP3_14_13, |
| 836 | GP_1_12_FN, FN_IP3_12, |
| 837 | GP_1_11_FN, FN_IP3_11, |
| 838 | GP_1_10_FN, FN_IP3_10, |
| 839 | GP_1_9_FN, FN_IP3_9_8, |
| 840 | GP_1_8_FN, FN_IP3_7_6, |
| 841 | GP_1_7_FN, FN_IP3_5_4, |
| 842 | GP_1_6_FN, FN_IP3_3_2, |
| 843 | GP_1_5_FN, FN_IP3_1_0, |
| 844 | GP_1_4_FN, FN_IP2_31_30, |
| 845 | GP_1_3_FN, FN_IP2_29_27, |
| 846 | GP_1_2_FN, FN_IP2_26_24, |
| 847 | GP_1_1_FN, FN_IP2_23_21, |
| 848 | GP_1_0_FN, FN_IP2_20_18, } |
| 849 | }, |
| 850 | { PINMUX_CFG_REG("GPSR2", 0xE606000C, 32, 1) { |
| 851 | GP_2_31_FN, FN_IP6_7_6, |
| 852 | GP_2_30_FN, FN_IP6_5_4, |
| 853 | GP_2_29_FN, FN_IP6_3_2, |
| 854 | GP_2_28_FN, FN_IP6_1_0, |
| 855 | GP_2_27_FN, FN_IP5_31_30, |
| 856 | GP_2_26_FN, FN_IP5_29_28, |
| 857 | GP_2_25_FN, FN_IP5_27_26, |
| 858 | GP_2_24_FN, FN_IP5_25_24, |
| 859 | GP_2_23_FN, FN_IP5_23_22, |
| 860 | GP_2_22_FN, FN_IP5_21_20, |
| 861 | GP_2_21_FN, FN_IP5_19_18, |
| 862 | GP_2_20_FN, FN_IP5_17_16, |
| 863 | GP_2_19_FN, FN_IP5_15_14, |
| 864 | GP_2_18_FN, FN_IP5_13_12, |
| 865 | GP_2_17_FN, FN_IP5_11_9, |
| 866 | GP_2_16_FN, FN_IP5_8_6, |
| 867 | GP_2_15_FN, FN_IP5_5_4, |
| 868 | GP_2_14_FN, FN_IP5_3_2, |
| 869 | GP_2_13_FN, FN_IP5_1_0, |
| 870 | GP_2_12_FN, FN_IP4_31_30, |
| 871 | GP_2_11_FN, FN_IP4_29_28, |
| 872 | GP_2_10_FN, FN_IP4_27_26, |
| 873 | GP_2_9_FN, FN_IP4_25_23, |
| 874 | GP_2_8_FN, FN_IP4_22_20, |
| 875 | GP_2_7_FN, FN_IP4_19_18, |
| 876 | GP_2_6_FN, FN_IP4_17_16, |
| 877 | GP_2_5_FN, FN_IP4_15_14, |
| 878 | GP_2_4_FN, FN_IP4_13_12, |
| 879 | GP_2_3_FN, FN_IP4_11_10, |
| 880 | GP_2_2_FN, FN_IP4_9_8, |
| 881 | GP_2_1_FN, FN_IP4_7_5, |
| 882 | GP_2_0_FN, FN_IP4_4_2 } |
| 883 | }, |
| 884 | { PINMUX_CFG_REG("GPSR3", 0xE6060010, 32, 1) { |
| 885 | GP_3_31_FN, FN_IP8_22_20, |
| 886 | GP_3_30_FN, FN_IP8_19_17, |
| 887 | GP_3_29_FN, FN_IP8_16_15, |
| 888 | GP_3_28_FN, FN_IP8_14_12, |
| 889 | GP_3_27_FN, FN_IP8_11_9, |
| 890 | GP_3_26_FN, FN_IP8_8_6, |
| 891 | GP_3_25_FN, FN_IP8_5_3, |
| 892 | GP_3_24_FN, FN_IP8_2_0, |
| 893 | GP_3_23_FN, FN_IP7_29_27, |
| 894 | GP_3_22_FN, FN_IP7_26_24, |
| 895 | GP_3_21_FN, FN_IP7_23_21, |
| 896 | GP_3_20_FN, FN_IP7_20_18, |
| 897 | GP_3_19_FN, FN_IP7_17_15, |
| 898 | GP_3_18_FN, FN_IP7_14_12, |
| 899 | GP_3_17_FN, FN_IP7_11_9, |
| 900 | GP_3_16_FN, FN_IP7_8_6, |
| 901 | GP_3_15_FN, FN_IP7_5_3, |
| 902 | GP_3_14_FN, FN_IP7_2_0, |
| 903 | GP_3_13_FN, FN_IP6_31_29, |
| 904 | GP_3_12_FN, FN_IP6_28_26, |
| 905 | GP_3_11_FN, FN_IP6_25_23, |
| 906 | GP_3_10_FN, FN_IP6_22_20, |
| 907 | GP_3_9_FN, FN_IP6_19_17, |
| 908 | GP_3_8_FN, FN_IP6_16, |
| 909 | GP_3_7_FN, FN_IP6_15, |
| 910 | GP_3_6_FN, FN_IP6_14, |
| 911 | GP_3_5_FN, FN_IP6_13, |
| 912 | GP_3_4_FN, FN_IP6_12, |
| 913 | GP_3_3_FN, FN_IP6_11, |
| 914 | GP_3_2_FN, FN_IP6_10, |
| 915 | GP_3_1_FN, FN_IP6_9, |
| 916 | GP_3_0_FN, FN_IP6_8 } |
| 917 | }, |
| 918 | { PINMUX_CFG_REG("GPSR4", 0xE6060014, 32, 1) { |
| 919 | GP_4_31_FN, FN_IP11_17_16, |
| 920 | GP_4_30_FN, FN_IP11_15_14, |
| 921 | GP_4_29_FN, FN_IP11_13_11, |
| 922 | GP_4_28_FN, FN_IP11_10_8, |
| 923 | GP_4_27_FN, FN_IP11_7_6, |
| 924 | GP_4_26_FN, FN_IP11_5_3, |
| 925 | GP_4_25_FN, FN_IP11_2_0, |
| 926 | GP_4_24_FN, FN_IP10_31_30, |
| 927 | GP_4_23_FN, FN_IP10_29_27, |
| 928 | GP_4_22_FN, FN_IP10_26_24, |
| 929 | GP_4_21_FN, FN_IP10_23_21, |
| 930 | GP_4_20_FN, FN_IP10_20_18, |
| 931 | GP_4_19_FN, FN_IP10_17_15, |
| 932 | GP_4_18_FN, FN_IP10_14_12, |
| 933 | GP_4_17_FN, FN_IP10_11_9, |
| 934 | GP_4_16_FN, FN_IP10_8_6, |
| 935 | GP_4_15_FN, FN_IP10_5_3, |
| 936 | GP_4_14_FN, FN_IP10_2_0, |
| 937 | GP_4_13_FN, FN_IP9_30_28, |
| 938 | GP_4_12_FN, FN_IP9_27_25, |
| 939 | GP_4_11_FN, FN_IP9_24_22, |
| 940 | GP_4_10_FN, FN_IP9_21_19, |
| 941 | GP_4_9_FN, FN_IP9_18_17, |
| 942 | GP_4_8_FN, FN_IP9_16_15, |
| 943 | GP_4_7_FN, FN_IP9_14_12, |
| 944 | GP_4_6_FN, FN_IP9_11_9, |
| 945 | GP_4_5_FN, FN_IP9_8_6, |
| 946 | GP_4_4_FN, FN_IP9_5_3, |
| 947 | GP_4_3_FN, FN_IP9_2_0, |
| 948 | GP_4_2_FN, FN_IP8_31_29, |
| 949 | GP_4_1_FN, FN_IP8_28_26, |
| 950 | GP_4_0_FN, FN_IP8_25_23 } |
| 951 | }, |
| 952 | { PINMUX_CFG_REG("GPSR5", 0xE6060018, 32, 1) { |
| 953 | 0, 0, |
| 954 | 0, 0, |
| 955 | 0, 0, |
| 956 | 0, 0, |
| 957 | GP_5_27_FN, FN_USB1_OVC, |
| 958 | GP_5_26_FN, FN_USB1_PWEN, |
| 959 | GP_5_25_FN, FN_USB0_OVC, |
| 960 | GP_5_24_FN, FN_USB0_PWEN, |
| 961 | GP_5_23_FN, FN_IP13_26_24, |
| 962 | GP_5_22_FN, FN_IP13_23_21, |
| 963 | GP_5_21_FN, FN_IP13_20_18, |
| 964 | GP_5_20_FN, FN_IP13_17_15, |
| 965 | GP_5_19_FN, FN_IP13_14_12, |
| 966 | GP_5_18_FN, FN_IP13_11_9, |
| 967 | GP_5_17_FN, FN_IP13_8_6, |
| 968 | GP_5_16_FN, FN_IP13_5_3, |
| 969 | GP_5_15_FN, FN_IP13_2_0, |
| 970 | GP_5_14_FN, FN_IP12_29_27, |
| 971 | GP_5_13_FN, FN_IP12_26_24, |
| 972 | GP_5_12_FN, FN_IP12_23_21, |
| 973 | GP_5_11_FN, FN_IP12_20_18, |
| 974 | GP_5_10_FN, FN_IP12_17_15, |
| 975 | GP_5_9_FN, FN_IP12_14_13, |
| 976 | GP_5_8_FN, FN_IP12_12_11, |
| 977 | GP_5_7_FN, FN_IP12_10_9, |
| 978 | GP_5_6_FN, FN_IP12_8_6, |
| 979 | GP_5_5_FN, FN_IP12_5_3, |
| 980 | GP_5_4_FN, FN_IP12_2_0, |
| 981 | GP_5_3_FN, FN_IP11_29_27, |
| 982 | GP_5_2_FN, FN_IP11_26_24, |
| 983 | GP_5_1_FN, FN_IP11_23_21, |
| 984 | GP_5_0_FN, FN_IP11_20_18 } |
| 985 | }, |
| 986 | { PINMUX_CFG_REG("GPSR6", 0xE606001C, 32, 1) { |
| 987 | 0, 0, |
| 988 | 0, 0, |
| 989 | 0, 0, |
| 990 | 0, 0, |
| 991 | 0, 0, |
| 992 | 0, 0, |
| 993 | GP_6_25_FN, FN_IP0_21_20, |
| 994 | GP_6_24_FN, FN_IP0_19_18, |
| 995 | GP_6_23_FN, FN_IP0_17, |
| 996 | GP_6_22_FN, FN_IP0_16, |
| 997 | GP_6_21_FN, FN_IP0_15, |
| 998 | GP_6_20_FN, FN_IP0_14, |
| 999 | GP_6_19_FN, FN_IP0_13, |
| 1000 | GP_6_18_FN, FN_IP0_12, |
| 1001 | GP_6_17_FN, FN_IP0_11, |
| 1002 | GP_6_16_FN, FN_IP0_10, |
| 1003 | GP_6_15_FN, FN_IP0_9_8, |
| 1004 | GP_6_14_FN, FN_IP0_0, |
| 1005 | GP_6_13_FN, FN_SD1_DATA3, |
| 1006 | GP_6_12_FN, FN_SD1_DATA2, |
| 1007 | GP_6_11_FN, FN_SD1_DATA1, |
| 1008 | GP_6_10_FN, FN_SD1_DATA0, |
| 1009 | GP_6_9_FN, FN_SD1_CMD, |
| 1010 | GP_6_8_FN, FN_SD1_CLK, |
| 1011 | GP_6_7_FN, FN_SD0_WP, |
| 1012 | GP_6_6_FN, FN_SD0_CD, |
| 1013 | GP_6_5_FN, FN_SD0_DATA3, |
| 1014 | GP_6_4_FN, FN_SD0_DATA2, |
| 1015 | GP_6_3_FN, FN_SD0_DATA1, |
| 1016 | GP_6_2_FN, FN_SD0_DATA0, |
| 1017 | GP_6_1_FN, FN_SD0_CMD, |
| 1018 | GP_6_0_FN, FN_SD0_CLK } |
| 1019 | }, |
| 1020 | |
| 1021 | /* |
| 1022 | * From IPSR0 to IPSR5 have been removed because they does not use. |
| 1023 | */ |
| 1024 | |
| 1025 | { PINMUX_CFG_REG_VAR("IPSR6", 0xE6060038, 32, |
| 1026 | 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, |
| 1027 | 2, 2) { |
| 1028 | /* IP6_31_29 [3] */ |
| 1029 | FN_ETH_MDIO, FN_VI0_G0, FN_MSIOF2_RXD_B, FN_IIC0_SCL_D, |
| 1030 | FN_AVB_TX_CLK, FN_ADIDATA, FN_AD_DI, 0, |
| 1031 | /* IP6_28_26 [3] */ |
| 1032 | FN_VI0_VSYNC_N, FN_SCIF0_TXD_B, FN_I2C0_SDA_C, |
| 1033 | FN_AUDIO_CLKOUT_B, FN_AVB_TX_EN, 0, 0, 0, |
| 1034 | /* IP6_25_23 [3] */ |
| 1035 | FN_VI0_HSYNC_N, FN_SCIF0_RXD_B, FN_I2C0_SCL_C, FN_IERX_C, |
| 1036 | FN_AVB_COL, 0, 0, 0, |
| 1037 | /* IP6_22_20 [3] */ |
| 1038 | FN_VI0_FIELD, FN_I2C3_SDA, FN_SCIFA5_TXD_C, FN_IECLK_C, |
| 1039 | FN_AVB_RX_ER, 0, 0, 0, |
| 1040 | /* IP6_19_17 [3] */ |
| 1041 | FN_VI0_CLKENB, FN_I2C3_SCL, FN_SCIFA5_RXD_C, FN_IETX_C, |
| 1042 | FN_AVB_RXD7, 0, 0, 0, |
| 1043 | /* IP6_16 [1] */ |
| 1044 | FN_VI0_DATA7_VI0_B7, FN_AVB_RXD6, |
| 1045 | /* IP6_15 [1] */ |
| 1046 | FN_VI0_DATA6_VI0_B6, FN_AVB_RXD5, |
| 1047 | /* IP6_14 [1] */ |
| 1048 | FN_VI0_DATA5_VI0_B5, FN_AVB_RXD4, |
| 1049 | /* IP6_13 [1] */ |
| 1050 | FN_VI0_DATA4_VI0_B4, FN_AVB_RXD3, |
| 1051 | /* IP6_12 [1] */ |
| 1052 | FN_VI0_DATA3_VI0_B3, FN_AVB_RXD2, |
| 1053 | /* IP6_11 [1] */ |
| 1054 | FN_VI0_DATA2_VI0_B2, FN_AVB_RXD1, |
| 1055 | /* IP6_10 [1] */ |
| 1056 | FN_VI0_DATA1_VI0_B1, FN_AVB_RXD0, |
| 1057 | /* IP6_9 [1] */ |
| 1058 | FN_VI0_DATA0_VI0_B0, FN_AVB_RX_DV, |
| 1059 | /* IP6_8 [1] */ |
| 1060 | FN_VI0_CLK, FN_AVB_RX_CLK, |
| 1061 | /* IP6_7_6 [2] */ |
| 1062 | FN_DU0_CDE, FN_QPOLB, FN_CC50_STATE31, 0, |
| 1063 | /* IP6_5_4 [2] */ |
| 1064 | FN_DU0_DISP, FN_QPOLA, FN_CC50_STATE30, 0, |
| 1065 | /* IP6_3_2 [2] */ |
| 1066 | FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, FN_QCPV_QDE, FN_CC50_STATE29, |
| 1067 | /* IP6_1_0 [2] */ |
| 1068 | FN_DU0_EXVSYNC_DU0_VSYNC, FN_QSTB_QHE, FN_CC50_STATE28, 0, } |
| 1069 | }, |
| 1070 | { PINMUX_CFG_REG_VAR("IPSR7", 0xE606003C, 32, |
| 1071 | 1, 1, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3) { |
| 1072 | /* IP7_31 [1] */ |
| 1073 | FN_DREQ0_N, FN_SCIFB1_RXD, |
| 1074 | /* IP7_30 [1] */ |
| 1075 | 0, 0, |
| 1076 | /* IP7_29_27 [3] */ |
| 1077 | FN_ETH_TXD0, FN_VI0_R2, FN_SCIF3_RXD_B, FN_I2C4_SCL_E, |
| 1078 | FN_AVB_GTX_CLK, FN_SSI_WS6_B, 0, 0, |
| 1079 | /* IP7_26_24 [3] */ |
| 1080 | FN_ETH_MAGIC, FN_VI0_R1, FN_SCIF3_SCK_B, FN_AVB_TX_ER, |
| 1081 | FN_SSI_SCK6_B, 0, 0, 0, |
| 1082 | /* IP7_23_21 [3] */ |
| 1083 | FN_ETH_TX_EN, FN_VI0_R0, FN_SCIF2_TXD_C, FN_IIC1_SDA_D, |
| 1084 | FN_AVB_TXD7, FN_SSI_SDATA5_B, 0, 0, |
| 1085 | /* IP7_20_18 [3] */ |
| 1086 | FN_ETH_TXD1, FN_VI0_G7, FN_SCIF2_RXD_C, FN_IIC1_SCL_D, |
| 1087 | FN_AVB_TXD6, FN_SSI_WS5_B, 0, 0, |
| 1088 | /* IP7_17_15 [3] */ |
| 1089 | FN_ETH_REFCLK, FN_VI0_G6, FN_SCIF2_SCK_C, FN_AVB_TXD5, |
| 1090 | FN_SSI_SCK5_B, 0, 0, 0, |
| 1091 | /* IP7_14_12 [3] */ |
| 1092 | FN_ETH_LINK, FN_VI0_G5, FN_MSIOF2_SS2_B, FN_SCIF4_TXD_D, |
| 1093 | FN_AVB_TXD4, FN_ADICHS2, 0, 0, |
| 1094 | /* IP7_11_9 [3] */ |
| 1095 | FN_ETH_RXD1, FN_VI0_G4, FN_MSIOF2_SS1_B, FN_SCIF4_RXD_D, |
| 1096 | FN_AVB_TXD3, FN_ADICHS1, 0, 0, |
| 1097 | /* IP7_8_6 [3] */ |
| 1098 | FN_ETH_RXD0, FN_VI0_G3, FN_MSIOF2_SYNC_B, FN_CAN0_TX_B, |
| 1099 | FN_AVB_TXD2, FN_ADICHS0, FN_AD_NCS_N, 0, |
| 1100 | /* IP7_5_3 [3] */ |
| 1101 | FN_ETH_RX_ER, FN_VI0_G2, FN_MSIOF2_SCK_B, FN_CAN0_RX_B, |
| 1102 | FN_AVB_TXD1, FN_ADICLK, FN_AD_CLK, 0, |
| 1103 | /* IP7_2_0 [3] */ |
| 1104 | FN_ETH_CRS_DV, FN_VI0_G1, FN_MSIOF2_TXD_B, FN_IIC0_SDA_D, |
| 1105 | FN_AVB_TXD0, FN_ADICS_SAMP, FN_AD_DO, 0, } |
| 1106 | }, |
| 1107 | { PINMUX_CFG_REG_VAR("IPSR8", 0xE6060040, 32, |
| 1108 | 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3) { |
| 1109 | /* IP8_31_29 [3] */ |
| 1110 | FN_MSIOF0_RXD, FN_SCIF5_RXD, FN_I2C2_SCL_C, FN_DU1_DR2, |
| 1111 | FN_RIF1_D0_B, FN_TS_SDEN_D, FN_FMCLK_C, FN_RDS_CLK, |
| 1112 | /* IP8_28_26 [3] */ |
| 1113 | FN_I2C1_SDA, FN_SCIF4_TXD, FN_IRQ5, FN_DU1_DR1, |
| 1114 | FN_RIF1_CLK_B, FN_TS_SCK_D, FN_BPFCLK_C, 0, |
| 1115 | /* IP8_25_23 [3] */ |
| 1116 | FN_I2C1_SCL, FN_SCIF4_RXD, FN_PWM5_B, FN_DU1_DR0, |
| 1117 | FN_RIF1_SYNC_B, FN_TS_SDATA_D, FN_TPUTO1_B, 0, |
| 1118 | /* IP8_22_20 [3] */ |
| 1119 | FN_I2C0_SDA, FN_SCIF0_TXD_C, FN_TPUTO0, FN_CAN_CLK, |
| 1120 | FN_DVC_MUTE, FN_CAN1_TX_D, 0, 0, |
| 1121 | /* IP8_19_17 [3] */ |
| 1122 | FN_I2C0_SCL, FN_SCIF0_RXD_C, FN_PWM5, FN_TCLK1_B, |
| 1123 | FN_AVB_GTXREFCLK, FN_CAN1_RX_D, FN_TPUTO0_B, 0, |
| 1124 | /* IP8_16_15 [2] */ |
| 1125 | FN_HSCIF0_HSCK, FN_SCIF_CLK_B, FN_AVB_CRS, FN_AUDIO_CLKC_B, |
| 1126 | /* IP8_14_12 [3] */ |
| 1127 | FN_HSCIF0_HRTS_N, FN_VI0_R7, FN_SCIF0_TXD_D, FN_I2C0_SDA_E, |
| 1128 | FN_AVB_PHY_INT, FN_SSI_SDATA8_B, 0, 0, |
| 1129 | /* IP8_11_9 [3] */ |
| 1130 | FN_HSCIF0_HCTS_N, FN_VI0_R6, FN_SCIF0_RXD_D, FN_I2C0_SCL_E, |
| 1131 | FN_AVB_MAGIC, FN_SSI_SDATA7_B, 0, 0, |
| 1132 | /* IP8_8_6 [3] */ |
| 1133 | FN_HSCIF0_HTX, FN_VI0_R5, FN_I2C1_SDA_C, FN_AUDIO_CLKB_B, |
| 1134 | FN_AVB_LINK, FN_SSI_WS78_B, 0, 0, |
| 1135 | /* IP8_5_3 [3] */ |
| 1136 | FN_HSCIF0_HRX, FN_VI0_R4, FN_I2C1_SCL_C, FN_AUDIO_CLKA_B, |
| 1137 | FN_AVB_MDIO, FN_SSI_SCK78_B, 0, 0, |
| 1138 | /* IP8_2_0 [3] */ |
| 1139 | FN_ETH_MDC, FN_VI0_R3, FN_SCIF3_TXD_B, FN_I2C4_SDA_E, |
| 1140 | FN_AVB_MDC, FN_SSI_SDATA6_B, 0, 0, } |
| 1141 | }, |
| 1142 | |
| 1143 | /* |
| 1144 | * From IPSR9 to IPSR10 have been removed because they does not use. |
| 1145 | */ |
| 1146 | |
| 1147 | { PINMUX_CFG_REG_VAR("IPSR11", 0xE606004C, 32, |
| 1148 | 2, 3, 3, 3, 3, 2, 2, 3, 3, 2, 3, 3) { |
| 1149 | /* IP11_31_30 [2] */ |
| 1150 | 0, 0, 0, 0, |
| 1151 | /* IP11_29_27 [3] */ |
| 1152 | FN_SSI_SDATA0, FN_MSIOF1_SCK_B, FN_PWM0_B, FN_ADICLK_B, |
| 1153 | FN_AD_CLK_B, 0, 0, 0, |
| 1154 | /* IP11_26_24 [3] */ |
| 1155 | FN_SSI_WS0129, FN_MSIOF1_TXD_B, FN_SCIF5_TXD_D, FN_ADICS_SAMP_B, |
| 1156 | FN_AD_DO_B, 0, 0, 0, |
| 1157 | /* IP11_23_21 [3] */ |
| 1158 | FN_SSI_SCK0129, FN_MSIOF1_RXD_B, FN_SCIF5_RXD_D, FN_ADIDATA_B, |
| 1159 | FN_AD_DI_B, FN_PCMWE_N, 0, 0, |
| 1160 | /* IP11_20_18 [3] */ |
| 1161 | FN_SSI_SDATA7, FN_SCIFA2_TXD_B, FN_IRQ8, FN_AUDIO_CLKA_D, |
| 1162 | FN_CAN_CLK_D, FN_PCMOE_N, 0, 0, |
| 1163 | /* IP11_17_16 [2] */ |
| 1164 | FN_SSI_WS78, FN_SCIFA2_RXD_B, FN_IIC0_SCL_C, FN_DU1_CDE, |
| 1165 | /* IP11_15_14 [2] */ |
| 1166 | FN_SSI_SCK78, FN_SCIFA2_SCK_B, FN_IIC0_SDA_C, FN_DU1_DISP, |
| 1167 | /* IP11_13_11 [3] */ |
| 1168 | FN_SSI_SDATA6, FN_SCIFA1_TXD_B, FN_I2C4_SDA_C, |
| 1169 | FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, FN_CAN_DEBUGOUT15, 0, 0, 0, |
| 1170 | /* IP11_10_8 [3] */ |
| 1171 | FN_SSI_WS6, FN_SCIFA1_RXD_B, FN_I2C4_SCL_C, |
| 1172 | FN_DU1_EXVSYNC_DU1_VSYNC, FN_CAN_DEBUGOUT14, 0, 0, 0, |
| 1173 | /* IP11_7_6 [2] */ |
| 1174 | FN_SSI_SCK6, FN_SCIFA1_SCK_B, FN_DU1_EXHSYNC_DU1_HSYNC, |
| 1175 | FN_CAN_DEBUGOUT13, |
| 1176 | /* IP11_5_3 [3] */ |
| 1177 | FN_SSI_SDATA5, FN_SCIFA3_TXD, FN_I2C3_SDA_C, FN_DU1_DOTCLKOUT1, |
| 1178 | FN_CAN_DEBUGOUT12, 0, 0, 0, |
| 1179 | /* IP11_2_0 [3] */ |
| 1180 | FN_SSI_WS5, FN_SCIFA3_RXD, FN_I2C3_SCL_C, FN_DU1_DOTCLKOUT0, |
| 1181 | FN_CAN_DEBUGOUT11, 0, 0, 0, } |
| 1182 | }, |
| 1183 | |
| 1184 | /* |
| 1185 | * From IPSR12 to IPSR13 have been removed because they does not use. |
| 1186 | */ |
| 1187 | |
| 1188 | { PINMUX_CFG_REG_VAR("MOD_SEL", 0xE6060090, 32, |
| 1189 | 2, 1, 2, 3, 1, 1, 1, 1, 1, 1, 3, 3, 3, 3, 3, |
| 1190 | 2, 1) { |
| 1191 | /* SEL_ADG [2] */ |
| 1192 | FN_SEL_ADG_0, FN_SEL_ADG_1, FN_SEL_ADG_2, FN_SEL_ADG_3, |
| 1193 | /* SEL_ADI [1] */ |
| 1194 | FN_SEL_ADI_0, FN_SEL_ADI_1, |
| 1195 | /* SEL_CAN [2] */ |
| 1196 | FN_SEL_CAN_0, FN_SEL_CAN_1, FN_SEL_CAN_2, FN_SEL_CAN_3, |
| 1197 | /* SEL_DARC [3] */ |
| 1198 | FN_SEL_DARC_0, FN_SEL_DARC_1, FN_SEL_DARC_2, FN_SEL_DARC_3, |
| 1199 | FN_SEL_DARC_4, 0, 0, 0, |
| 1200 | /* SEL_DR0 [1] */ |
| 1201 | FN_SEL_DR0_0, FN_SEL_DR0_1, |
| 1202 | /* SEL_DR1 [1] */ |
| 1203 | FN_SEL_DR1_0, FN_SEL_DR1_1, |
| 1204 | /* SEL_DR2 [1] */ |
| 1205 | FN_SEL_DR2_0, FN_SEL_DR2_1, |
| 1206 | /* SEL_DR3 [1] */ |
| 1207 | FN_SEL_DR3_0, FN_SEL_DR3_1, |
| 1208 | /* SEL_ETH [1] */ |
| 1209 | FN_SEL_ETH_0, FN_SEL_ETH_1, |
| 1210 | /* SLE_FSN [1] */ |
| 1211 | FN_SEL_FSN_0, FN_SEL_FSN_1, |
| 1212 | /* SEL_IC200 [3] */ |
| 1213 | FN_SEL_I2C00_0, FN_SEL_I2C00_1, FN_SEL_I2C00_2, FN_SEL_I2C00_3, |
| 1214 | FN_SEL_I2C00_4, 0, 0, 0, |
| 1215 | /* SEL_I2C01 [3] */ |
| 1216 | FN_SEL_I2C01_0, FN_SEL_I2C01_1, FN_SEL_I2C01_2, FN_SEL_I2C01_3, |
| 1217 | FN_SEL_I2C01_4, 0, 0, 0, |
| 1218 | /* SEL_I2C02 [3] */ |
| 1219 | FN_SEL_I2C02_0, FN_SEL_I2C02_1, FN_SEL_I2C02_2, FN_SEL_I2C02_3, |
| 1220 | FN_SEL_I2C02_4, 0, 0, 0, |
| 1221 | /* SEL_I2C03 [3] */ |
| 1222 | FN_SEL_I2C03_0, FN_SEL_I2C03_1, FN_SEL_I2C03_2, FN_SEL_I2C03_3, |
| 1223 | FN_SEL_I2C03_4, 0, 0, 0, |
| 1224 | /* SEL_I2C04 [3] */ |
| 1225 | FN_SEL_I2C04_0, FN_SEL_I2C04_1, FN_SEL_I2C04_2, FN_SEL_I2C04_3, |
| 1226 | FN_SEL_I2C04_4, 0, 0, 0, |
| 1227 | /* SEL_IIC00 [2] */ |
| 1228 | FN_SEL_IIC00_0, FN_SEL_IIC00_1, FN_SEL_IIC00_2, FN_SEL_IIC00_3, |
| 1229 | /* SEL_AVB [1] */ |
| 1230 | FN_SEL_AVB_0, FN_SEL_AVB_1, } |
| 1231 | }, |
| 1232 | { PINMUX_CFG_REG_VAR("MOD_SEL2", 0xE6060094, 32, |
| 1233 | 2, 2, 1, 1, 1, 1, 1, 1, 2, 2, 1, 1, 2, 2, 1, 1, |
| 1234 | 2, 2, 2, 1, 1, 2) { |
| 1235 | /* SEL_IEB [2] */ |
| 1236 | FN_SEL_IEB_0, FN_SEL_IEB_1, FN_SEL_IEB_2, 0, |
| 1237 | /* SEL_IIC0 [2] */ |
| 1238 | FN_SEL_IIC01_0, FN_SEL_IIC01_1, FN_SEL_IIC01_2, FN_SEL_IIC01_3, |
| 1239 | /* SEL_LBS [1] */ |
| 1240 | FN_SEL_LBS_0, FN_SEL_LBS_1, |
| 1241 | /* SEL_MSI1 [1] */ |
| 1242 | FN_SEL_MSI1_0, FN_SEL_MSI1_1, |
| 1243 | /* SEL_MSI2 [1] */ |
| 1244 | FN_SEL_MSI2_0, FN_SEL_MSI2_1, |
| 1245 | /* SEL_RAD [1] */ |
| 1246 | FN_SEL_RAD_0, FN_SEL_RAD_1, |
| 1247 | /* SEL_RCN [1] */ |
| 1248 | FN_SEL_RCN_0, FN_SEL_RCN_1, |
| 1249 | /* SEL_RSP [1] */ |
| 1250 | FN_SEL_RSP_0, FN_SEL_RSP_1, |
| 1251 | /* SEL_SCIFA0 [2] */ |
| 1252 | FN_SEL_SCIFA0_0, FN_SEL_SCIFA0_1, FN_SEL_SCIFA0_2, |
| 1253 | FN_SEL_SCIFA0_3, |
| 1254 | /* SEL_SCIFA1 [2] */ |
| 1255 | FN_SEL_SCIFA1_0, FN_SEL_SCIFA1_1, FN_SEL_SCIFA1_2, 0, |
| 1256 | /* SEL_SCIFA2 [1] */ |
| 1257 | FN_SEL_SCIFA2_0, FN_SEL_SCIFA2_1, |
| 1258 | /* SEL_SCIFA3 [1] */ |
| 1259 | FN_SEL_SCIFA3_0, FN_SEL_SCIFA3_1, |
| 1260 | /* SEL_SCIFA4 [2] */ |
| 1261 | FN_SEL_SCIFA4_0, FN_SEL_SCIFA4_1, FN_SEL_SCIFA4_2, |
| 1262 | FN_SEL_SCIFA4_3, |
| 1263 | /* SEL_SCIFA5 [2] */ |
| 1264 | FN_SEL_SCIFA5_0, FN_SEL_SCIFA5_1, FN_SEL_SCIFA5_2, |
| 1265 | FN_SEL_SCIFA5_3, |
| 1266 | /* SEL_SPDM [1] */ |
| 1267 | FN_SEL_SPDM_0, FN_SEL_SPDM_1, |
| 1268 | /* SEL_TMU [1] */ |
| 1269 | FN_SEL_TMU_0, FN_SEL_TMU_1, |
| 1270 | /* SEL_TSIF0 [2] */ |
| 1271 | FN_SEL_TSIF0_0, FN_SEL_TSIF0_1, FN_SEL_TSIF0_2, FN_SEL_TSIF0_3, |
| 1272 | /* SEL_CAN0 [2] */ |
| 1273 | FN_SEL_CAN0_0, FN_SEL_CAN0_1, FN_SEL_CAN0_2, FN_SEL_CAN0_3, |
| 1274 | /* SEL_CAN1 [2] */ |
| 1275 | FN_SEL_CAN1_0, FN_SEL_CAN1_1, FN_SEL_CAN1_2, FN_SEL_CAN1_3, |
| 1276 | /* SEL_HSCIF0 [1] */ |
| 1277 | FN_SEL_HSCIF0_0, FN_SEL_HSCIF0_1, |
| 1278 | /* SEL_HSCIF1 [1] */ |
| 1279 | FN_SEL_HSCIF1_0, FN_SEL_HSCIF1_1, |
| 1280 | /* SEL_RDS [2] */ |
| 1281 | FN_SEL_RDS_0, FN_SEL_RDS_1, FN_SEL_RDS_2, FN_SEL_RDS_3, } |
| 1282 | }, |
| 1283 | { PINMUX_CFG_REG_VAR("MOD_SEL3", 0xE6060098, 32, |
| 1284 | 2, 2, 2, 1, 3, 2, 1, 1, 1, 1, 1, 1, 1, 1, |
| 1285 | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1) { |
| 1286 | /* SEL_SCIF0 [2] */ |
| 1287 | FN_SEL_SCIF0_0, FN_SEL_SCIF0_1, FN_SEL_SCIF0_2, FN_SEL_SCIF0_3, |
| 1288 | /* SEL_SCIF1 [2] */ |
| 1289 | FN_SEL_SCIF1_0, FN_SEL_SCIF1_1, FN_SEL_SCIF1_2, 0, |
| 1290 | /* SEL_SCIF2 [2] */ |
| 1291 | FN_SEL_SCIF2_0, FN_SEL_SCIF2_1, FN_SEL_SCIF2_2, 0, |
| 1292 | /* SEL_SCIF3 [1] */ |
| 1293 | FN_SEL_SCIF3_0, FN_SEL_SCIF3_1, |
| 1294 | /* SEL_SCIF4 [3] */ |
| 1295 | FN_SEL_SCIF4_0, FN_SEL_SCIF4_1, FN_SEL_SCIF4_2, FN_SEL_SCIF4_3, |
| 1296 | FN_SEL_SCIF4_4, 0, 0, 0, |
| 1297 | /* SEL_SCIF5 [2] */ |
| 1298 | FN_SEL_SCIF5_0, FN_SEL_SCIF5_1, FN_SEL_SCIF5_2, FN_SEL_SCIF5_3, |
| 1299 | /* SEL_SSI1 [1] */ |
| 1300 | FN_SEL_SSI1_0, FN_SEL_SSI1_1, |
| 1301 | /* SEL_SSI2 [1] */ |
| 1302 | FN_SEL_SSI2_0, FN_SEL_SSI2_1, |
| 1303 | /* SEL_SSI4 [1] */ |
| 1304 | FN_SEL_SSI4_0, FN_SEL_SSI4_1, |
| 1305 | /* SEL_SSI5 [1] */ |
| 1306 | FN_SEL_SSI5_0, FN_SEL_SSI5_1, |
| 1307 | /* SEL_SSI6 [1] */ |
| 1308 | FN_SEL_SSI6_0, FN_SEL_SSI6_1, |
| 1309 | /* SEL_SSI7 [1] */ |
| 1310 | FN_SEL_SSI7_0, FN_SEL_SSI7_1, |
| 1311 | /* SEL_SSI8 [1] */ |
| 1312 | FN_SEL_SSI8_0, FN_SEL_SSI8_1, |
| 1313 | /* SEL_SSI9 [1] */ |
| 1314 | FN_SEL_SSI9_0, FN_SEL_SSI9_1, |
| 1315 | /* RESEVED [1] */ |
| 1316 | 0, 0, |
| 1317 | /* RESEVED [1] */ |
| 1318 | 0, 0, |
| 1319 | /* RESEVED [1] */ |
| 1320 | 0, 0, |
| 1321 | /* RESEVED [1] */ |
| 1322 | 0, 0, |
| 1323 | /* RESEVED [1] */ |
| 1324 | 0, 0, |
| 1325 | /* RESEVED [1] */ |
| 1326 | 0, 0, |
| 1327 | /* RESEVED [1] */ |
| 1328 | 0, 0, |
| 1329 | /* RESEVED [1] */ |
| 1330 | 0, 0, |
| 1331 | /* RESEVED [1] */ |
| 1332 | 0, 0, |
| 1333 | /* RESEVED [1] */ |
| 1334 | 0, 0, |
| 1335 | /* RESEVED [1] */ |
| 1336 | 0, 0, |
| 1337 | /* RESEVED [1] */ |
| 1338 | 0, 0, } |
| 1339 | }, |
| 1340 | { PINMUX_CFG_REG("INOUTSEL0", 0xE6050004, 32, 1) { GP_INOUTSEL(0) } }, |
| 1341 | { PINMUX_CFG_REG("INOUTSEL1", 0xE6051004, 32, 1) { |
| 1342 | 0, 0, |
| 1343 | 0, 0, |
| 1344 | 0, 0, |
| 1345 | 0, 0, |
| 1346 | 0, 0, |
| 1347 | 0, 0, |
| 1348 | GP_1_25_IN, GP_1_25_OUT, |
| 1349 | GP_1_24_IN, GP_1_24_OUT, |
| 1350 | GP_1_23_IN, GP_1_23_OUT, |
| 1351 | GP_1_22_IN, GP_1_22_OUT, |
| 1352 | GP_1_21_IN, GP_1_21_OUT, |
| 1353 | GP_1_20_IN, GP_1_20_OUT, |
| 1354 | GP_1_19_IN, GP_1_19_OUT, |
| 1355 | GP_1_18_IN, GP_1_18_OUT, |
| 1356 | GP_1_17_IN, GP_1_17_OUT, |
| 1357 | GP_1_16_IN, GP_1_16_OUT, |
| 1358 | GP_1_15_IN, GP_1_15_OUT, |
| 1359 | GP_1_14_IN, GP_1_14_OUT, |
| 1360 | GP_1_13_IN, GP_1_13_OUT, |
| 1361 | GP_1_12_IN, GP_1_12_OUT, |
| 1362 | GP_1_11_IN, GP_1_11_OUT, |
| 1363 | GP_1_10_IN, GP_1_10_OUT, |
| 1364 | GP_1_9_IN, GP_1_9_OUT, |
| 1365 | GP_1_8_IN, GP_1_8_OUT, |
| 1366 | GP_1_7_IN, GP_1_7_OUT, |
| 1367 | GP_1_6_IN, GP_1_6_OUT, |
| 1368 | GP_1_5_IN, GP_1_5_OUT, |
| 1369 | GP_1_4_IN, GP_1_4_OUT, |
| 1370 | GP_1_3_IN, GP_1_3_OUT, |
| 1371 | GP_1_2_IN, GP_1_2_OUT, |
| 1372 | GP_1_1_IN, GP_1_1_OUT, |
| 1373 | GP_1_0_IN, GP_1_0_OUT, } |
| 1374 | }, |
| 1375 | { PINMUX_CFG_REG("INOUTSEL2", 0xE6052004, 32, 1) { GP_INOUTSEL(2) } }, |
| 1376 | { PINMUX_CFG_REG("INOUTSEL3", 0xE6053004, 32, 1) { GP_INOUTSEL(3) } }, |
| 1377 | { PINMUX_CFG_REG("INOUTSEL4", 0xE6054004, 32, 1) { GP_INOUTSEL(4) } }, |
| 1378 | { PINMUX_CFG_REG("INOUTSEL5", 0xE6055004, 32, 1) { |
| 1379 | 0, 0, |
| 1380 | 0, 0, |
| 1381 | 0, 0, |
| 1382 | 0, 0, |
| 1383 | GP_5_27_IN, GP_5_27_OUT, |
| 1384 | GP_5_26_IN, GP_5_26_OUT, |
| 1385 | GP_5_25_IN, GP_5_25_OUT, |
| 1386 | GP_5_24_IN, GP_5_24_OUT, |
| 1387 | GP_5_23_IN, GP_5_23_OUT, |
| 1388 | GP_5_22_IN, GP_5_22_OUT, |
| 1389 | GP_5_21_IN, GP_5_21_OUT, |
| 1390 | GP_5_20_IN, GP_5_20_OUT, |
| 1391 | GP_5_19_IN, GP_5_19_OUT, |
| 1392 | GP_5_18_IN, GP_5_18_OUT, |
| 1393 | GP_5_17_IN, GP_5_17_OUT, |
| 1394 | GP_5_16_IN, GP_5_16_OUT, |
| 1395 | GP_5_15_IN, GP_5_15_OUT, |
| 1396 | GP_5_14_IN, GP_5_14_OUT, |
| 1397 | GP_5_13_IN, GP_5_13_OUT, |
| 1398 | GP_5_12_IN, GP_5_12_OUT, |
| 1399 | GP_5_11_IN, GP_5_11_OUT, |
| 1400 | GP_5_10_IN, GP_5_10_OUT, |
| 1401 | GP_5_9_IN, GP_5_9_OUT, |
| 1402 | GP_5_8_IN, GP_5_8_OUT, |
| 1403 | GP_5_7_IN, GP_5_7_OUT, |
| 1404 | GP_5_6_IN, GP_5_6_OUT, |
| 1405 | GP_5_5_IN, GP_5_5_OUT, |
| 1406 | GP_5_4_IN, GP_5_4_OUT, |
| 1407 | GP_5_3_IN, GP_5_3_OUT, |
| 1408 | GP_5_2_IN, GP_5_2_OUT, |
| 1409 | GP_5_1_IN, GP_5_1_OUT, |
| 1410 | GP_5_0_IN, GP_5_0_OUT, } |
| 1411 | }, |
| 1412 | { PINMUX_CFG_REG("INOUTSEL6", 0xE6055404, 32, 1) { |
| 1413 | 0, 0, |
| 1414 | 0, 0, |
| 1415 | 0, 0, |
| 1416 | 0, 0, |
| 1417 | 0, 0, |
| 1418 | 0, 0, |
| 1419 | GP_6_25_IN, GP_6_25_OUT, |
| 1420 | GP_6_24_IN, GP_6_24_OUT, |
| 1421 | GP_6_23_IN, GP_6_23_OUT, |
| 1422 | GP_6_22_IN, GP_6_22_OUT, |
| 1423 | GP_6_21_IN, GP_6_21_OUT, |
| 1424 | GP_6_20_IN, GP_6_20_OUT, |
| 1425 | GP_6_19_IN, GP_6_19_OUT, |
| 1426 | GP_6_18_IN, GP_6_18_OUT, |
| 1427 | GP_6_17_IN, GP_6_17_OUT, |
| 1428 | GP_6_16_IN, GP_6_16_OUT, |
| 1429 | GP_6_15_IN, GP_6_15_OUT, |
| 1430 | GP_6_14_IN, GP_6_14_OUT, |
| 1431 | GP_6_13_IN, GP_6_13_OUT, |
| 1432 | GP_6_12_IN, GP_6_12_OUT, |
| 1433 | GP_6_11_IN, GP_6_11_OUT, |
| 1434 | GP_6_10_IN, GP_6_10_OUT, |
| 1435 | GP_6_9_IN, GP_6_9_OUT, |
| 1436 | GP_6_8_IN, GP_6_8_OUT, |
| 1437 | GP_6_7_IN, GP_6_7_OUT, |
| 1438 | GP_6_6_IN, GP_6_6_OUT, |
| 1439 | GP_6_5_IN, GP_6_5_OUT, |
| 1440 | GP_6_4_IN, GP_6_4_OUT, |
| 1441 | GP_6_3_IN, GP_6_3_OUT, |
| 1442 | GP_6_2_IN, GP_6_2_OUT, |
| 1443 | GP_6_1_IN, GP_6_1_OUT, |
| 1444 | GP_6_0_IN, GP_6_0_OUT, } |
| 1445 | }, |
| 1446 | { }, |
| 1447 | }; |
| 1448 | |
| 1449 | static struct pinmux_data_reg pinmux_data_regs[] = { |
| 1450 | { PINMUX_DATA_REG("INDT0", 0xE6050008, 32) { GP_INDT(0) } }, |
| 1451 | { PINMUX_DATA_REG("INDT1", 0xE6051008, 32) { |
| 1452 | 0, 0, 0, 0, |
| 1453 | 0, 0, GP_1_25_DATA, GP_1_24_DATA, |
| 1454 | GP_1_23_DATA, GP_1_22_DATA, GP_1_21_DATA, GP_1_20_DATA, |
| 1455 | GP_1_19_DATA, GP_1_18_DATA, GP_1_17_DATA, GP_1_16_DATA, |
| 1456 | GP_1_15_DATA, GP_1_14_DATA, GP_1_13_DATA, GP_1_12_DATA, |
| 1457 | GP_1_11_DATA, GP_1_10_DATA, GP_1_9_DATA, GP_1_8_DATA, |
| 1458 | GP_1_7_DATA, GP_1_6_DATA, GP_1_5_DATA, GP_1_4_DATA, |
| 1459 | GP_1_3_DATA, GP_1_2_DATA, GP_1_1_DATA, GP_1_0_DATA } |
| 1460 | }, |
| 1461 | { PINMUX_DATA_REG("INDT2", 0xE6052008, 32) { GP_INDT(2) } }, |
| 1462 | { PINMUX_DATA_REG("INDT3", 0xE6053008, 32) { GP_INDT(3) } }, |
| 1463 | { PINMUX_DATA_REG("INDT4", 0xE6054008, 32) { GP_INDT(4) } }, |
| 1464 | { PINMUX_DATA_REG("INDT5", 0xE6055008, 32) { |
| 1465 | 0, 0, 0, 0, |
| 1466 | GP_5_27_DATA, GP_5_26_DATA, GP_5_25_DATA, GP_5_24_DATA, |
| 1467 | GP_5_23_DATA, GP_5_22_DATA, GP_5_21_DATA, GP_5_20_DATA, |
| 1468 | GP_5_19_DATA, GP_5_18_DATA, GP_5_17_DATA, GP_5_16_DATA, |
| 1469 | GP_5_15_DATA, GP_5_14_DATA, GP_5_13_DATA, GP_5_12_DATA, |
| 1470 | GP_5_11_DATA, GP_5_10_DATA, GP_5_9_DATA, GP_5_8_DATA, |
| 1471 | GP_5_7_DATA, GP_5_6_DATA, GP_5_5_DATA, GP_5_4_DATA, |
| 1472 | GP_5_3_DATA, GP_5_2_DATA, GP_5_1_DATA, GP_5_0_DATA } |
| 1473 | }, |
| 1474 | { PINMUX_DATA_REG("INDT6", 0xE6055408, 32) { |
| 1475 | 0, 0, 0, 0, |
| 1476 | 0, 0, GP_6_25_DATA, GP_6_24_DATA, |
| 1477 | GP_6_23_DATA, GP_6_22_DATA, GP_6_21_DATA, GP_6_20_DATA, |
| 1478 | GP_6_19_DATA, GP_6_18_DATA, GP_6_17_DATA, GP_6_16_DATA, |
| 1479 | GP_6_15_DATA, GP_6_14_DATA, GP_6_13_DATA, GP_6_12_DATA, |
| 1480 | GP_6_11_DATA, GP_6_10_DATA, GP_6_9_DATA, GP_6_8_DATA, |
| 1481 | GP_6_7_DATA, GP_6_6_DATA, GP_6_5_DATA, GP_6_4_DATA, |
| 1482 | GP_6_3_DATA, GP_6_2_DATA, GP_6_1_DATA, GP_6_0_DATA } |
| 1483 | }, |
| 1484 | { }, |
| 1485 | }; |
| 1486 | |
| 1487 | static struct pinmux_info r8a7794_pinmux_info = { |
| 1488 | .name = "r8a7794_pfc", |
| 1489 | |
| 1490 | .unlock_reg = 0xe6060000, /* PMMR */ |
| 1491 | |
| 1492 | .reserved_id = PINMUX_RESERVED, |
| 1493 | .data = { PINMUX_DATA_BEGIN, PINMUX_DATA_END }, |
| 1494 | .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END }, |
| 1495 | .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END }, |
| 1496 | .mark = { PINMUX_MARK_BEGIN, PINMUX_MARK_END }, |
| 1497 | .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, |
| 1498 | |
| 1499 | .first_gpio = GPIO_GP_0_0, |
| 1500 | .last_gpio = GPIO_FN_AD_CLK_B, |
| 1501 | |
| 1502 | .gpios = pinmux_gpios, |
| 1503 | .cfg_regs = pinmux_config_regs, |
| 1504 | .data_regs = pinmux_data_regs, |
| 1505 | |
| 1506 | .gpio_data = pinmux_data, |
| 1507 | .gpio_data_size = ARRAY_SIZE(pinmux_data), |
| 1508 | }; |
| 1509 | |
| 1510 | void r8a7794_pinmux_init(void) |
| 1511 | { |
| 1512 | register_pinmux(&r8a7794_pinmux_info); |
| 1513 | } |