1 /* 2 * R8A7795 ES2.0+ processor support - PFC hardware block. 3 * 4 * Copyright (C) 2015-2016 Renesas Electronics Corporation 5 * 6 * SPDX-License-Identifier: GPL-2.0 7 */ 8 9 #include <common.h> 10 #include <dm.h> 11 #include <errno.h> 12 #include <dm/pinctrl.h> 13 #include <linux/kernel.h> 14 15 #include "sh_pfc.h" 16 17 #define CFG_FLAGS (SH_PFC_PIN_CFG_DRIVE_STRENGTH | \ 18 SH_PFC_PIN_CFG_PULL_UP | \ 19 SH_PFC_PIN_CFG_PULL_DOWN) 20 21 #define CPU_ALL_PORT(fn, sfx) \ 22 PORT_GP_CFG_16(0, fn, sfx, CFG_FLAGS), \ 23 PORT_GP_CFG_28(1, fn, sfx, CFG_FLAGS), \ 24 PORT_GP_CFG_15(2, fn, sfx, CFG_FLAGS), \ 25 PORT_GP_CFG_12(3, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE), \ 26 PORT_GP_CFG_1(3, 12, fn, sfx, CFG_FLAGS), \ 27 PORT_GP_CFG_1(3, 13, fn, sfx, CFG_FLAGS), \ 28 PORT_GP_CFG_1(3, 14, fn, sfx, CFG_FLAGS), \ 29 PORT_GP_CFG_1(3, 15, fn, sfx, CFG_FLAGS), \ 30 PORT_GP_CFG_18(4, fn, sfx, CFG_FLAGS | SH_PFC_PIN_CFG_IO_VOLTAGE), \ 31 PORT_GP_CFG_26(5, fn, sfx, CFG_FLAGS), \ 32 PORT_GP_CFG_32(6, fn, sfx, CFG_FLAGS), \ 33 PORT_GP_CFG_4(7, fn, sfx, CFG_FLAGS) 34 /* 35 * F_() : just information 36 * FM() : macro for FN_xxx / xxx_MARK 37 */ 38 39 /* GPSR0 */ 40 #define GPSR0_15 F_(D15, IP7_11_8) 41 #define GPSR0_14 F_(D14, IP7_7_4) 42 #define GPSR0_13 F_(D13, IP7_3_0) 43 #define GPSR0_12 F_(D12, IP6_31_28) 44 #define GPSR0_11 F_(D11, IP6_27_24) 45 #define GPSR0_10 F_(D10, IP6_23_20) 46 #define GPSR0_9 F_(D9, IP6_19_16) 47 #define GPSR0_8 F_(D8, IP6_15_12) 48 #define GPSR0_7 F_(D7, IP6_11_8) 49 #define GPSR0_6 F_(D6, IP6_7_4) 50 #define GPSR0_5 F_(D5, IP6_3_0) 51 #define GPSR0_4 F_(D4, IP5_31_28) 52 #define GPSR0_3 F_(D3, IP5_27_24) 53 #define GPSR0_2 F_(D2, IP5_23_20) 54 #define GPSR0_1 F_(D1, IP5_19_16) 55 #define GPSR0_0 F_(D0, IP5_15_12) 56 57 /* GPSR1 */ 58 #define GPSR1_27 F_(EX_WAIT0_A, IP5_11_8) 59 #define GPSR1_26 F_(WE1_N, IP5_7_4) 60 #define GPSR1_25 F_(WE0_N, IP5_3_0) 61 #define GPSR1_24 F_(RD_WR_N, IP4_31_28) 62 #define GPSR1_23 F_(RD_N, IP4_27_24) 63 #define GPSR1_22 F_(BS_N, IP4_23_20) 64 #define GPSR1_21 F_(CS1_N, IP4_19_16) 65 #define GPSR1_20 F_(CS0_N, IP4_15_12) 66 #define GPSR1_19 F_(A19, IP4_11_8) 67 #define GPSR1_18 F_(A18, IP4_7_4) 68 #define GPSR1_17 F_(A17, IP4_3_0) 69 #define GPSR1_16 F_(A16, IP3_31_28) 70 #define GPSR1_15 F_(A15, IP3_27_24) 71 #define GPSR1_14 F_(A14, IP3_23_20) 72 #define GPSR1_13 F_(A13, IP3_19_16) 73 #define GPSR1_12 F_(A12, IP3_15_12) 74 #define GPSR1_11 F_(A11, IP3_11_8) 75 #define GPSR1_10 F_(A10, IP3_7_4) 76 #define GPSR1_9 F_(A9, IP3_3_0) 77 #define GPSR1_8 F_(A8, IP2_31_28) 78 #define GPSR1_7 F_(A7, IP2_27_24) 79 #define GPSR1_6 F_(A6, IP2_23_20) 80 #define GPSR1_5 F_(A5, IP2_19_16) 81 #define GPSR1_4 F_(A4, IP2_15_12) 82 #define GPSR1_3 F_(A3, IP2_11_8) 83 #define GPSR1_2 F_(A2, IP2_7_4) 84 #define GPSR1_1 F_(A1, IP2_3_0) 85 #define GPSR1_0 F_(A0, IP1_31_28) 86 87 /* GPSR2 */ 88 #define GPSR2_14 F_(AVB_AVTP_CAPTURE_A, IP0_23_20) 89 #define GPSR2_13 F_(AVB_AVTP_MATCH_A, IP0_19_16) 90 #define GPSR2_12 F_(AVB_LINK, IP0_15_12) 91 #define GPSR2_11 F_(AVB_PHY_INT, IP0_11_8) 92 #define GPSR2_10 F_(AVB_MAGIC, IP0_7_4) 93 #define GPSR2_9 F_(AVB_MDC, IP0_3_0) 94 #define GPSR2_8 F_(PWM2_A, IP1_27_24) 95 #define GPSR2_7 F_(PWM1_A, IP1_23_20) 96 #define GPSR2_6 F_(PWM0, IP1_19_16) 97 #define GPSR2_5 F_(IRQ5, IP1_15_12) 98 #define GPSR2_4 F_(IRQ4, IP1_11_8) 99 #define GPSR2_3 F_(IRQ3, IP1_7_4) 100 #define GPSR2_2 F_(IRQ2, IP1_3_0) 101 #define GPSR2_1 F_(IRQ1, IP0_31_28) 102 #define GPSR2_0 F_(IRQ0, IP0_27_24) 103 104 /* GPSR3 */ 105 #define GPSR3_15 F_(SD1_WP, IP11_23_20) 106 #define GPSR3_14 F_(SD1_CD, IP11_19_16) 107 #define GPSR3_13 F_(SD0_WP, IP11_15_12) 108 #define GPSR3_12 F_(SD0_CD, IP11_11_8) 109 #define GPSR3_11 F_(SD1_DAT3, IP8_31_28) 110 #define GPSR3_10 F_(SD1_DAT2, IP8_27_24) 111 #define GPSR3_9 F_(SD1_DAT1, IP8_23_20) 112 #define GPSR3_8 F_(SD1_DAT0, IP8_19_16) 113 #define GPSR3_7 F_(SD1_CMD, IP8_15_12) 114 #define GPSR3_6 F_(SD1_CLK, IP8_11_8) 115 #define GPSR3_5 F_(SD0_DAT3, IP8_7_4) 116 #define GPSR3_4 F_(SD0_DAT2, IP8_3_0) 117 #define GPSR3_3 F_(SD0_DAT1, IP7_31_28) 118 #define GPSR3_2 F_(SD0_DAT0, IP7_27_24) 119 #define GPSR3_1 F_(SD0_CMD, IP7_23_20) 120 #define GPSR3_0 F_(SD0_CLK, IP7_19_16) 121 122 /* GPSR4 */ 123 #define GPSR4_17 F_(SD3_DS, IP11_7_4) 124 #define GPSR4_16 F_(SD3_DAT7, IP11_3_0) 125 #define GPSR4_15 F_(SD3_DAT6, IP10_31_28) 126 #define GPSR4_14 F_(SD3_DAT5, IP10_27_24) 127 #define GPSR4_13 F_(SD3_DAT4, IP10_23_20) 128 #define GPSR4_12 F_(SD3_DAT3, IP10_19_16) 129 #define GPSR4_11 F_(SD3_DAT2, IP10_15_12) 130 #define GPSR4_10 F_(SD3_DAT1, IP10_11_8) 131 #define GPSR4_9 F_(SD3_DAT0, IP10_7_4) 132 #define GPSR4_8 F_(SD3_CMD, IP10_3_0) 133 #define GPSR4_7 F_(SD3_CLK, IP9_31_28) 134 #define GPSR4_6 F_(SD2_DS, IP9_27_24) 135 #define GPSR4_5 F_(SD2_DAT3, IP9_23_20) 136 #define GPSR4_4 F_(SD2_DAT2, IP9_19_16) 137 #define GPSR4_3 F_(SD2_DAT1, IP9_15_12) 138 #define GPSR4_2 F_(SD2_DAT0, IP9_11_8) 139 #define GPSR4_1 F_(SD2_CMD, IP9_7_4) 140 #define GPSR4_0 F_(SD2_CLK, IP9_3_0) 141 142 /* GPSR5 */ 143 #define GPSR5_25 F_(MLB_DAT, IP14_19_16) 144 #define GPSR5_24 F_(MLB_SIG, IP14_15_12) 145 #define GPSR5_23 F_(MLB_CLK, IP14_11_8) 146 #define GPSR5_22 FM(MSIOF0_RXD) 147 #define GPSR5_21 F_(MSIOF0_SS2, IP14_7_4) 148 #define GPSR5_20 FM(MSIOF0_TXD) 149 #define GPSR5_19 F_(MSIOF0_SS1, IP14_3_0) 150 #define GPSR5_18 F_(MSIOF0_SYNC, IP13_31_28) 151 #define GPSR5_17 FM(MSIOF0_SCK) 152 #define GPSR5_16 F_(HRTS0_N, IP13_27_24) 153 #define GPSR5_15 F_(HCTS0_N, IP13_23_20) 154 #define GPSR5_14 F_(HTX0, IP13_19_16) 155 #define GPSR5_13 F_(HRX0, IP13_15_12) 156 #define GPSR5_12 F_(HSCK0, IP13_11_8) 157 #define GPSR5_11 F_(RX2_A, IP13_7_4) 158 #define GPSR5_10 F_(TX2_A, IP13_3_0) 159 #define GPSR5_9 F_(SCK2, IP12_31_28) 160 #define GPSR5_8 F_(RTS1_N_TANS, IP12_27_24) 161 #define GPSR5_7 F_(CTS1_N, IP12_23_20) 162 #define GPSR5_6 F_(TX1_A, IP12_19_16) 163 #define GPSR5_5 F_(RX1_A, IP12_15_12) 164 #define GPSR5_4 F_(RTS0_N_TANS, IP12_11_8) 165 #define GPSR5_3 F_(CTS0_N, IP12_7_4) 166 #define GPSR5_2 F_(TX0, IP12_3_0) 167 #define GPSR5_1 F_(RX0, IP11_31_28) 168 #define GPSR5_0 F_(SCK0, IP11_27_24) 169 170 /* GPSR6 */ 171 #define GPSR6_31 F_(USB2_CH3_OVC, IP18_7_4) 172 #define GPSR6_30 F_(USB2_CH3_PWEN, IP18_3_0) 173 #define GPSR6_29 F_(USB30_OVC, IP17_31_28) 174 #define GPSR6_28 F_(USB30_PWEN, IP17_27_24) 175 #define GPSR6_27 F_(USB1_OVC, IP17_23_20) 176 #define GPSR6_26 F_(USB1_PWEN, IP17_19_16) 177 #define GPSR6_25 F_(USB0_OVC, IP17_15_12) 178 #define GPSR6_24 F_(USB0_PWEN, IP17_11_8) 179 #define GPSR6_23 F_(AUDIO_CLKB_B, IP17_7_4) 180 #define GPSR6_22 F_(AUDIO_CLKA_A, IP17_3_0) 181 #define GPSR6_21 F_(SSI_SDATA9_A, IP16_31_28) 182 #define GPSR6_20 F_(SSI_SDATA8, IP16_27_24) 183 #define GPSR6_19 F_(SSI_SDATA7, IP16_23_20) 184 #define GPSR6_18 F_(SSI_WS78, IP16_19_16) 185 #define GPSR6_17 F_(SSI_SCK78, IP16_15_12) 186 #define GPSR6_16 F_(SSI_SDATA6, IP16_11_8) 187 #define GPSR6_15 F_(SSI_WS6, IP16_7_4) 188 #define GPSR6_14 F_(SSI_SCK6, IP16_3_0) 189 #define GPSR6_13 FM(SSI_SDATA5) 190 #define GPSR6_12 FM(SSI_WS5) 191 #define GPSR6_11 FM(SSI_SCK5) 192 #define GPSR6_10 F_(SSI_SDATA4, IP15_31_28) 193 #define GPSR6_9 F_(SSI_WS4, IP15_27_24) 194 #define GPSR6_8 F_(SSI_SCK4, IP15_23_20) 195 #define GPSR6_7 F_(SSI_SDATA3, IP15_19_16) 196 #define GPSR6_6 F_(SSI_WS349, IP15_15_12) 197 #define GPSR6_5 F_(SSI_SCK349, IP15_11_8) 198 #define GPSR6_4 F_(SSI_SDATA2_A, IP15_7_4) 199 #define GPSR6_3 F_(SSI_SDATA1_A, IP15_3_0) 200 #define GPSR6_2 F_(SSI_SDATA0, IP14_31_28) 201 #define GPSR6_1 F_(SSI_WS01239, IP14_27_24) 202 #define GPSR6_0 F_(SSI_SCK01239, IP14_23_20) 203 204 /* GPSR7 */ 205 #define GPSR7_3 FM(HDMI1_CEC) 206 #define GPSR7_2 FM(HDMI0_CEC) 207 #define GPSR7_1 FM(AVS2) 208 #define GPSR7_0 FM(AVS1) 209 210 211 /* IPSRx */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 */ /* 7 */ /* 8 */ /* 9 */ /* A */ /* B */ /* C - F */ 212 #define IP0_3_0 FM(AVB_MDC) F_(0, 0) FM(MSIOF2_SS2_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 213 #define IP0_7_4 FM(AVB_MAGIC) F_(0, 0) FM(MSIOF2_SS1_C) FM(SCK4_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 214 #define IP0_11_8 FM(AVB_PHY_INT) F_(0, 0) FM(MSIOF2_SYNC_C) FM(RX4_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 215 #define IP0_15_12 FM(AVB_LINK) F_(0, 0) FM(MSIOF2_SCK_C) FM(TX4_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 216 #define IP0_19_16 FM(AVB_AVTP_MATCH_A) F_(0, 0) FM(MSIOF2_RXD_C) FM(CTS4_N_A) F_(0, 0) FM(FSCLKST2_N_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 217 #define IP0_23_20 FM(AVB_AVTP_CAPTURE_A) F_(0, 0) FM(MSIOF2_TXD_C) FM(RTS4_N_TANS_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 218 #define IP0_27_24 FM(IRQ0) FM(QPOLB) F_(0, 0) FM(DU_CDE) FM(VI4_DATA0_B) FM(CAN0_TX_B) FM(CANFD0_TX_B) FM(MSIOF3_SS2_E) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 219 #define IP0_31_28 FM(IRQ1) FM(QPOLA) F_(0, 0) FM(DU_DISP) FM(VI4_DATA1_B) FM(CAN0_RX_B) FM(CANFD0_RX_B) FM(MSIOF3_SS1_E) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 220 #define IP1_3_0 FM(IRQ2) FM(QCPV_QDE) F_(0, 0) FM(DU_EXODDF_DU_ODDF_DISP_CDE) FM(VI4_DATA2_B) F_(0, 0) F_(0, 0) FM(MSIOF3_SYNC_E) F_(0, 0) FM(PWM3_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 221 #define IP1_7_4 FM(IRQ3) FM(QSTVB_QVE) FM(A25) FM(DU_DOTCLKOUT1) FM(VI4_DATA3_B) F_(0, 0) F_(0, 0) FM(MSIOF3_SCK_E) F_(0, 0) FM(PWM4_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 222 #define IP1_11_8 FM(IRQ4) FM(QSTH_QHS) FM(A24) FM(DU_EXHSYNC_DU_HSYNC) FM(VI4_DATA4_B) F_(0, 0) F_(0, 0) FM(MSIOF3_RXD_E) F_(0, 0) FM(PWM5_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 223 #define IP1_15_12 FM(IRQ5) FM(QSTB_QHE) FM(A23) FM(DU_EXVSYNC_DU_VSYNC) FM(VI4_DATA5_B) FM(FSCLKST2_N_B) F_(0, 0) FM(MSIOF3_TXD_E) F_(0, 0) FM(PWM6_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 224 #define IP1_19_16 FM(PWM0) FM(AVB_AVTP_PPS)FM(A22) F_(0, 0) FM(VI4_DATA6_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(IECLK_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 225 #define IP1_23_20 FM(PWM1_A) F_(0, 0) FM(A21) FM(HRX3_D) FM(VI4_DATA7_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(IERX_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 226 #define IP1_27_24 FM(PWM2_A) F_(0, 0) FM(A20) FM(HTX3_D) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(IETX_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 227 #define IP1_31_28 FM(A0) FM(LCDOUT16) FM(MSIOF3_SYNC_B) F_(0, 0) FM(VI4_DATA8) F_(0, 0) FM(DU_DB0) F_(0, 0) F_(0, 0) FM(PWM3_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 228 #define IP2_3_0 FM(A1) FM(LCDOUT17) FM(MSIOF3_TXD_B) F_(0, 0) FM(VI4_DATA9) F_(0, 0) FM(DU_DB1) F_(0, 0) F_(0, 0) FM(PWM4_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 229 #define IP2_7_4 FM(A2) FM(LCDOUT18) FM(MSIOF3_SCK_B) F_(0, 0) FM(VI4_DATA10) F_(0, 0) FM(DU_DB2) F_(0, 0) F_(0, 0) FM(PWM5_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 230 #define IP2_11_8 FM(A3) FM(LCDOUT19) FM(MSIOF3_RXD_B) F_(0, 0) FM(VI4_DATA11) F_(0, 0) FM(DU_DB3) F_(0, 0) F_(0, 0) FM(PWM6_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 231 232 /* IPSRx */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 */ /* 7 */ /* 8 */ /* 9 */ /* A */ /* B */ /* C - F */ 233 #define IP2_15_12 FM(A4) FM(LCDOUT20) FM(MSIOF3_SS1_B) F_(0, 0) FM(VI4_DATA12) FM(VI5_DATA12) FM(DU_DB4) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 234 #define IP2_19_16 FM(A5) FM(LCDOUT21) FM(MSIOF3_SS2_B) FM(SCK4_B) FM(VI4_DATA13) FM(VI5_DATA13) FM(DU_DB5) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 235 #define IP2_23_20 FM(A6) FM(LCDOUT22) FM(MSIOF2_SS1_A) FM(RX4_B) FM(VI4_DATA14) FM(VI5_DATA14) FM(DU_DB6) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 236 #define IP2_27_24 FM(A7) FM(LCDOUT23) FM(MSIOF2_SS2_A) FM(TX4_B) FM(VI4_DATA15) FM(VI5_DATA15) FM(DU_DB7) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 237 #define IP2_31_28 FM(A8) FM(RX3_B) FM(MSIOF2_SYNC_A) FM(HRX4_B) F_(0, 0) F_(0, 0) F_(0, 0) FM(SDA6_A) FM(AVB_AVTP_MATCH_B) FM(PWM1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 238 #define IP3_3_0 FM(A9) F_(0, 0) FM(MSIOF2_SCK_A) FM(CTS4_N_B) F_(0, 0) FM(VI5_VSYNC_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) 239 #define IP3_7_4 FM(A10) F_(0, 0) FM(MSIOF2_RXD_A) FM(RTS4_N_TANS_B) F_(0, 0) FM(VI5_HSYNC_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) 240 #define IP3_11_8 FM(A11) FM(TX3_B) FM(MSIOF2_TXD_A) FM(HTX4_B) FM(HSCK4) FM(VI5_FIELD) F_(0, 0) FM(SCL6_A) FM(AVB_AVTP_CAPTURE_B) FM(PWM2_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 241 #define IP3_15_12 FM(A12) FM(LCDOUT12) FM(MSIOF3_SCK_C) F_(0, 0) FM(HRX4_A) FM(VI5_DATA8) FM(DU_DG4) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 242 #define IP3_19_16 FM(A13) FM(LCDOUT13) FM(MSIOF3_SYNC_C) F_(0, 0) FM(HTX4_A) FM(VI5_DATA9) FM(DU_DG5) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 243 #define IP3_23_20 FM(A14) FM(LCDOUT14) FM(MSIOF3_RXD_C) F_(0, 0) FM(HCTS4_N) FM(VI5_DATA10) FM(DU_DG6) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 244 #define IP3_27_24 FM(A15) FM(LCDOUT15) FM(MSIOF3_TXD_C) F_(0, 0) FM(HRTS4_N) FM(VI5_DATA11) FM(DU_DG7) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 245 #define IP3_31_28 FM(A16) FM(LCDOUT8) F_(0, 0) F_(0, 0) FM(VI4_FIELD) F_(0, 0) FM(DU_DG0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 246 #define IP4_3_0 FM(A17) FM(LCDOUT9) F_(0, 0) F_(0, 0) FM(VI4_VSYNC_N) F_(0, 0) FM(DU_DG1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 247 #define IP4_7_4 FM(A18) FM(LCDOUT10) F_(0, 0) F_(0, 0) FM(VI4_HSYNC_N) F_(0, 0) FM(DU_DG2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 248 #define IP4_11_8 FM(A19) FM(LCDOUT11) F_(0, 0) F_(0, 0) FM(VI4_CLKENB) F_(0, 0) FM(DU_DG3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 249 #define IP4_15_12 FM(CS0_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(VI5_CLKENB) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 250 #define IP4_19_16 FM(CS1_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(VI5_CLK) F_(0, 0) FM(EX_WAIT0_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) 251 #define IP4_23_20 FM(BS_N) FM(QSTVA_QVS) FM(MSIOF3_SCK_D) FM(SCK3) FM(HSCK3) F_(0, 0) F_(0, 0) F_(0, 0) FM(CAN1_TX) FM(CANFD1_TX) FM(IETX_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 252 #define IP4_27_24 FM(RD_N) F_(0, 0) FM(MSIOF3_SYNC_D) FM(RX3_A) FM(HRX3_A) F_(0, 0) F_(0, 0) F_(0, 0) FM(CAN0_TX_A) FM(CANFD0_TX_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 253 #define IP4_31_28 FM(RD_WR_N) F_(0, 0) FM(MSIOF3_RXD_D) FM(TX3_A) FM(HTX3_A) F_(0, 0) F_(0, 0) F_(0, 0) FM(CAN0_RX_A) FM(CANFD0_RX_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 254 #define IP5_3_0 FM(WE0_N) F_(0, 0) FM(MSIOF3_TXD_D) FM(CTS3_N) FM(HCTS3_N) F_(0, 0) F_(0, 0) FM(SCL6_B) FM(CAN_CLK) F_(0, 0) FM(IECLK_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 255 #define IP5_7_4 FM(WE1_N) F_(0, 0) FM(MSIOF3_SS1_D) FM(RTS3_N_TANS) FM(HRTS3_N) F_(0, 0) F_(0, 0) FM(SDA6_B) FM(CAN1_RX) FM(CANFD1_RX) FM(IERX_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 256 #define IP5_11_8 FM(EX_WAIT0_A) FM(QCLK) F_(0, 0) F_(0, 0) FM(VI4_CLK) F_(0, 0) FM(DU_DOTCLKOUT0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 257 #define IP5_15_12 FM(D0) FM(MSIOF2_SS1_B)FM(MSIOF3_SCK_A) F_(0, 0) FM(VI4_DATA16) FM(VI5_DATA0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 258 #define IP5_19_16 FM(D1) FM(MSIOF2_SS2_B)FM(MSIOF3_SYNC_A) F_(0, 0) FM(VI4_DATA17) FM(VI5_DATA1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 259 #define IP5_23_20 FM(D2) F_(0, 0) FM(MSIOF3_RXD_A) F_(0, 0) FM(VI4_DATA18) FM(VI5_DATA2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 260 #define IP5_27_24 FM(D3) F_(0, 0) FM(MSIOF3_TXD_A) F_(0, 0) FM(VI4_DATA19) FM(VI5_DATA3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 261 #define IP5_31_28 FM(D4) FM(MSIOF2_SCK_B)F_(0, 0) F_(0, 0) FM(VI4_DATA20) FM(VI5_DATA4) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 262 #define IP6_3_0 FM(D5) FM(MSIOF2_SYNC_B)F_(0, 0) F_(0, 0) FM(VI4_DATA21) FM(VI5_DATA5) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 263 #define IP6_7_4 FM(D6) FM(MSIOF2_RXD_B)F_(0, 0) F_(0, 0) FM(VI4_DATA22) FM(VI5_DATA6) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 264 #define IP6_11_8 FM(D7) FM(MSIOF2_TXD_B)F_(0, 0) F_(0, 0) FM(VI4_DATA23) FM(VI5_DATA7) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 265 #define IP6_15_12 FM(D8) FM(LCDOUT0) FM(MSIOF2_SCK_D) FM(SCK4_C) FM(VI4_DATA0_A) F_(0, 0) FM(DU_DR0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 266 #define IP6_19_16 FM(D9) FM(LCDOUT1) FM(MSIOF2_SYNC_D) F_(0, 0) FM(VI4_DATA1_A) F_(0, 0) FM(DU_DR1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 267 #define IP6_23_20 FM(D10) FM(LCDOUT2) FM(MSIOF2_RXD_D) FM(HRX3_B) FM(VI4_DATA2_A) FM(CTS4_N_C) FM(DU_DR2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 268 #define IP6_27_24 FM(D11) FM(LCDOUT3) FM(MSIOF2_TXD_D) FM(HTX3_B) FM(VI4_DATA3_A) FM(RTS4_N_TANS_C)FM(DU_DR3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 269 #define IP6_31_28 FM(D12) FM(LCDOUT4) FM(MSIOF2_SS1_D) FM(RX4_C) FM(VI4_DATA4_A) F_(0, 0) FM(DU_DR4) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 270 #define IP7_3_0 FM(D13) FM(LCDOUT5) FM(MSIOF2_SS2_D) FM(TX4_C) FM(VI4_DATA5_A) F_(0, 0) FM(DU_DR5) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 271 #define IP7_7_4 FM(D14) FM(LCDOUT6) FM(MSIOF3_SS1_A) FM(HRX3_C) FM(VI4_DATA6_A) F_(0, 0) FM(DU_DR6) FM(SCL6_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 272 #define IP7_11_8 FM(D15) FM(LCDOUT7) FM(MSIOF3_SS2_A) FM(HTX3_C) FM(VI4_DATA7_A) F_(0, 0) FM(DU_DR7) FM(SDA6_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 273 #define IP7_19_16 FM(SD0_CLK) F_(0, 0) FM(MSIOF1_SCK_E) F_(0, 0) F_(0, 0) F_(0, 0) FM(STP_OPWM_0_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) 274 275 /* IPSRx */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 */ /* 7 */ /* 8 */ /* 9 */ /* A */ /* B */ /* C - F */ 276 #define IP7_23_20 FM(SD0_CMD) F_(0, 0) FM(MSIOF1_SYNC_E) F_(0, 0) F_(0, 0) F_(0, 0) FM(STP_IVCXO27_0_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) 277 #define IP7_27_24 FM(SD0_DAT0) F_(0, 0) FM(MSIOF1_RXD_E) F_(0, 0) F_(0, 0) FM(TS_SCK0_B) FM(STP_ISCLK_0_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) 278 #define IP7_31_28 FM(SD0_DAT1) F_(0, 0) FM(MSIOF1_TXD_E) F_(0, 0) F_(0, 0) FM(TS_SPSYNC0_B)FM(STP_ISSYNC_0_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) 279 #define IP8_3_0 FM(SD0_DAT2) F_(0, 0) FM(MSIOF1_SS1_E) F_(0, 0) F_(0, 0) FM(TS_SDAT0_B) FM(STP_ISD_0_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) 280 #define IP8_7_4 FM(SD0_DAT3) F_(0, 0) FM(MSIOF1_SS2_E) F_(0, 0) F_(0, 0) FM(TS_SDEN0_B) FM(STP_ISEN_0_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) 281 #define IP8_11_8 FM(SD1_CLK) F_(0, 0) FM(MSIOF1_SCK_G) F_(0, 0) F_(0, 0) FM(SIM0_CLK_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 282 #define IP8_15_12 FM(SD1_CMD) F_(0, 0) FM(MSIOF1_SYNC_G) FM(NFCE_N_B) F_(0, 0) FM(SIM0_D_A) FM(STP_IVCXO27_1_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) 283 #define IP8_19_16 FM(SD1_DAT0) FM(SD2_DAT4) FM(MSIOF1_RXD_G) FM(NFWP_N_B) F_(0, 0) FM(TS_SCK1_B) FM(STP_ISCLK_1_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) 284 #define IP8_23_20 FM(SD1_DAT1) FM(SD2_DAT5) FM(MSIOF1_TXD_G) FM(NFDATA14_B) F_(0, 0) FM(TS_SPSYNC1_B)FM(STP_ISSYNC_1_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) 285 #define IP8_27_24 FM(SD1_DAT2) FM(SD2_DAT6) FM(MSIOF1_SS1_G) FM(NFDATA15_B) F_(0, 0) FM(TS_SDAT1_B) FM(STP_ISD_1_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) 286 #define IP8_31_28 FM(SD1_DAT3) FM(SD2_DAT7) FM(MSIOF1_SS2_G) FM(NFRB_N_B) F_(0, 0) FM(TS_SDEN1_B) FM(STP_ISEN_1_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) 287 #define IP9_3_0 FM(SD2_CLK) F_(0, 0) FM(NFDATA8) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 288 #define IP9_7_4 FM(SD2_CMD) F_(0, 0) FM(NFDATA9) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 289 #define IP9_11_8 FM(SD2_DAT0) F_(0, 0) FM(NFDATA10) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 290 #define IP9_15_12 FM(SD2_DAT1) F_(0, 0) FM(NFDATA11) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 291 #define IP9_19_16 FM(SD2_DAT2) F_(0, 0) FM(NFDATA12) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 292 #define IP9_23_20 FM(SD2_DAT3) F_(0, 0) FM(NFDATA13) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 293 #define IP9_27_24 FM(SD2_DS) F_(0, 0) FM(NFALE) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(SATA_DEVSLP_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 294 #define IP9_31_28 FM(SD3_CLK) F_(0, 0) FM(NFWE_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 295 #define IP10_3_0 FM(SD3_CMD) F_(0, 0) FM(NFRE_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 296 #define IP10_7_4 FM(SD3_DAT0) F_(0, 0) FM(NFDATA0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 297 #define IP10_11_8 FM(SD3_DAT1) F_(0, 0) FM(NFDATA1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 298 #define IP10_15_12 FM(SD3_DAT2) F_(0, 0) FM(NFDATA2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 299 #define IP10_19_16 FM(SD3_DAT3) F_(0, 0) FM(NFDATA3) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 300 #define IP10_23_20 FM(SD3_DAT4) FM(SD2_CD_A) FM(NFDATA4) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 301 #define IP10_27_24 FM(SD3_DAT5) FM(SD2_WP_A) FM(NFDATA5) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 302 #define IP10_31_28 FM(SD3_DAT6) FM(SD3_CD) FM(NFDATA6) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 303 #define IP11_3_0 FM(SD3_DAT7) FM(SD3_WP) FM(NFDATA7) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 304 #define IP11_7_4 FM(SD3_DS) F_(0, 0) FM(NFCLE) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 305 #define IP11_11_8 FM(SD0_CD) F_(0, 0) FM(NFDATA14_A) F_(0, 0) FM(SCL2_B) FM(SIM0_RST_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 306 307 /* IPSRx */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 */ /* 7 */ /* 8 */ /* 9 */ /* A */ /* B */ /* C - F */ 308 #define IP11_15_12 FM(SD0_WP) F_(0, 0) FM(NFDATA15_A) F_(0, 0) FM(SDA2_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) 309 #define IP11_19_16 FM(SD1_CD) F_(0, 0) FM(NFRB_N_A) F_(0, 0) F_(0, 0) FM(SIM0_CLK_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 310 #define IP11_23_20 FM(SD1_WP) F_(0, 0) FM(NFCE_N_A) F_(0, 0) F_(0, 0) FM(SIM0_D_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 311 #define IP11_27_24 FM(SCK0) FM(HSCK1_B) FM(MSIOF1_SS2_B) FM(AUDIO_CLKC_B) FM(SDA2_A) FM(SIM0_RST_B) FM(STP_OPWM_0_C) FM(RIF0_CLK_B) F_(0, 0) FM(ADICHS2) FM(SCK5_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 312 #define IP11_31_28 FM(RX0) FM(HRX1_B) F_(0, 0) F_(0, 0) F_(0, 0) FM(TS_SCK0_C) FM(STP_ISCLK_0_C) FM(RIF0_D0_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 313 #define IP12_3_0 FM(TX0) FM(HTX1_B) F_(0, 0) F_(0, 0) F_(0, 0) FM(TS_SPSYNC0_C)FM(STP_ISSYNC_0_C) FM(RIF0_D1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 314 #define IP12_7_4 FM(CTS0_N) FM(HCTS1_N_B) FM(MSIOF1_SYNC_B) F_(0, 0) F_(0, 0) FM(TS_SPSYNC1_C)FM(STP_ISSYNC_1_C) FM(RIF1_SYNC_B) FM(AUDIO_CLKOUT_C) FM(ADICS_SAMP) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 315 #define IP12_11_8 FM(RTS0_N_TANS) FM(HRTS1_N_B) FM(MSIOF1_SS1_B) FM(AUDIO_CLKA_B) FM(SCL2_A) F_(0, 0) FM(STP_IVCXO27_1_C) FM(RIF0_SYNC_B) F_(0, 0) FM(ADICHS1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 316 #define IP12_15_12 FM(RX1_A) FM(HRX1_A) F_(0, 0) F_(0, 0) F_(0, 0) FM(TS_SDAT0_C) FM(STP_ISD_0_C) FM(RIF1_CLK_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 317 #define IP12_19_16 FM(TX1_A) FM(HTX1_A) F_(0, 0) F_(0, 0) F_(0, 0) FM(TS_SDEN0_C) FM(STP_ISEN_0_C) FM(RIF1_D0_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 318 #define IP12_23_20 FM(CTS1_N) FM(HCTS1_N_A) FM(MSIOF1_RXD_B) F_(0, 0) F_(0, 0) FM(TS_SDEN1_C) FM(STP_ISEN_1_C) FM(RIF1_D0_B) F_(0, 0) FM(ADIDATA) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 319 #define IP12_27_24 FM(RTS1_N_TANS) FM(HRTS1_N_A) FM(MSIOF1_TXD_B) F_(0, 0) F_(0, 0) FM(TS_SDAT1_C) FM(STP_ISD_1_C) FM(RIF1_D1_B) F_(0, 0) FM(ADICHS0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 320 #define IP12_31_28 FM(SCK2) FM(SCIF_CLK_B) FM(MSIOF1_SCK_B) F_(0, 0) F_(0, 0) FM(TS_SCK1_C) FM(STP_ISCLK_1_C) FM(RIF1_CLK_B) F_(0, 0) FM(ADICLK) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 321 #define IP13_3_0 FM(TX2_A) F_(0, 0) F_(0, 0) FM(SD2_CD_B) FM(SCL1_A) F_(0, 0) FM(FMCLK_A) FM(RIF1_D1_C) F_(0, 0) FM(FSO_CFE_0_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 322 #define IP13_7_4 FM(RX2_A) F_(0, 0) F_(0, 0) FM(SD2_WP_B) FM(SDA1_A) F_(0, 0) FM(FMIN_A) FM(RIF1_SYNC_C) F_(0, 0) FM(FSO_CFE_1_N) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 323 #define IP13_11_8 FM(HSCK0) F_(0, 0) FM(MSIOF1_SCK_D) FM(AUDIO_CLKB_A) FM(SSI_SDATA1_B)FM(TS_SCK0_D) FM(STP_ISCLK_0_D) FM(RIF0_CLK_C) F_(0, 0) F_(0, 0) FM(RX5_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 324 #define IP13_15_12 FM(HRX0) F_(0, 0) FM(MSIOF1_RXD_D) F_(0, 0) FM(SSI_SDATA2_B)FM(TS_SDEN0_D) FM(STP_ISEN_0_D) FM(RIF0_D0_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 325 #define IP13_19_16 FM(HTX0) F_(0, 0) FM(MSIOF1_TXD_D) F_(0, 0) FM(SSI_SDATA9_B)FM(TS_SDAT0_D) FM(STP_ISD_0_D) FM(RIF0_D1_C) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 326 #define IP13_23_20 FM(HCTS0_N) FM(RX2_B) FM(MSIOF1_SYNC_D) F_(0, 0) FM(SSI_SCK9_A) FM(TS_SPSYNC0_D)FM(STP_ISSYNC_0_D) FM(RIF0_SYNC_C) FM(AUDIO_CLKOUT1_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 327 #define IP13_27_24 FM(HRTS0_N) FM(TX2_B) FM(MSIOF1_SS1_D) F_(0, 0) FM(SSI_WS9_A) F_(0, 0) FM(STP_IVCXO27_0_D) FM(BPFCLK_A) FM(AUDIO_CLKOUT2_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 328 #define IP13_31_28 FM(MSIOF0_SYNC) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(AUDIO_CLKOUT_A) F_(0, 0) FM(TX5_B) F_(0, 0) F_(0, 0) FM(BPFCLK_D) F_(0, 0) F_(0, 0) 329 #define IP14_3_0 FM(MSIOF0_SS1) FM(RX5_A) FM(NFWP_N_A) FM(AUDIO_CLKA_C) FM(SSI_SCK2_A) F_(0, 0) FM(STP_IVCXO27_0_C) F_(0, 0) FM(AUDIO_CLKOUT3_A) F_(0, 0) FM(TCLK1_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 330 #define IP14_7_4 FM(MSIOF0_SS2) FM(TX5_A) FM(MSIOF1_SS2_D) FM(AUDIO_CLKC_A) FM(SSI_WS2_A) F_(0, 0) FM(STP_OPWM_0_D) F_(0, 0) FM(AUDIO_CLKOUT_D) F_(0, 0) FM(SPEEDIN_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 331 #define IP14_11_8 FM(MLB_CLK) F_(0, 0) FM(MSIOF1_SCK_F) F_(0, 0) FM(SCL1_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) 332 #define IP14_15_12 FM(MLB_SIG) FM(RX1_B) FM(MSIOF1_SYNC_F) F_(0, 0) FM(SDA1_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) 333 #define IP14_19_16 FM(MLB_DAT) FM(TX1_B) FM(MSIOF1_RXD_F) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 334 #define IP14_23_20 FM(SSI_SCK01239) F_(0, 0) FM(MSIOF1_TXD_F) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 335 #define IP14_27_24 FM(SSI_WS01239) F_(0, 0) FM(MSIOF1_SS1_F) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 336 337 /* IPSRx */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 */ /* 7 */ /* 8 */ /* 9 */ /* A */ /* B */ /* C - F */ 338 #define IP14_31_28 FM(SSI_SDATA0) F_(0, 0) FM(MSIOF1_SS2_F) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 339 #define IP15_3_0 FM(SSI_SDATA1_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 340 #define IP15_7_4 FM(SSI_SDATA2_A) F_(0, 0) F_(0, 0) F_(0, 0) FM(SSI_SCK1_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) 341 #define IP15_11_8 FM(SSI_SCK349) F_(0, 0) FM(MSIOF1_SS1_A) F_(0, 0) F_(0, 0) F_(0, 0) FM(STP_OPWM_0_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 342 #define IP15_15_12 FM(SSI_WS349) FM(HCTS2_N_A) FM(MSIOF1_SS2_A) F_(0, 0) F_(0, 0) F_(0, 0) FM(STP_IVCXO27_0_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 343 #define IP15_19_16 FM(SSI_SDATA3) FM(HRTS2_N_A) FM(MSIOF1_TXD_A) F_(0, 0) F_(0, 0) FM(TS_SCK0_A) FM(STP_ISCLK_0_A) FM(RIF0_D1_A) FM(RIF2_D0_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 344 #define IP15_23_20 FM(SSI_SCK4) FM(HRX2_A) FM(MSIOF1_SCK_A) F_(0, 0) F_(0, 0) FM(TS_SDAT0_A) FM(STP_ISD_0_A) FM(RIF0_CLK_A) FM(RIF2_CLK_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 345 #define IP15_27_24 FM(SSI_WS4) FM(HTX2_A) FM(MSIOF1_SYNC_A) F_(0, 0) F_(0, 0) FM(TS_SDEN0_A) FM(STP_ISEN_0_A) FM(RIF0_SYNC_A) FM(RIF2_SYNC_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 346 #define IP15_31_28 FM(SSI_SDATA4) FM(HSCK2_A) FM(MSIOF1_RXD_A) F_(0, 0) F_(0, 0) FM(TS_SPSYNC0_A)FM(STP_ISSYNC_0_A) FM(RIF0_D0_A) FM(RIF2_D1_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 347 #define IP16_3_0 FM(SSI_SCK6) FM(USB2_PWEN) F_(0, 0) FM(SIM0_RST_D) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 348 #define IP16_7_4 FM(SSI_WS6) FM(USB2_OVC) F_(0, 0) FM(SIM0_D_D) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 349 #define IP16_11_8 FM(SSI_SDATA6) F_(0, 0) F_(0, 0) FM(SIM0_CLK_D) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(SATA_DEVSLP_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 350 #define IP16_15_12 FM(SSI_SCK78) FM(HRX2_B) FM(MSIOF1_SCK_C) F_(0, 0) F_(0, 0) FM(TS_SCK1_A) FM(STP_ISCLK_1_A) FM(RIF1_CLK_A) FM(RIF3_CLK_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 351 #define IP16_19_16 FM(SSI_WS78) FM(HTX2_B) FM(MSIOF1_SYNC_C) F_(0, 0) F_(0, 0) FM(TS_SDAT1_A) FM(STP_ISD_1_A) FM(RIF1_SYNC_A) FM(RIF3_SYNC_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 352 #define IP16_23_20 FM(SSI_SDATA7) FM(HCTS2_N_B) FM(MSIOF1_RXD_C) F_(0, 0) F_(0, 0) FM(TS_SDEN1_A) FM(STP_ISEN_1_A) FM(RIF1_D0_A) FM(RIF3_D0_A) F_(0, 0) FM(TCLK2_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 353 #define IP16_27_24 FM(SSI_SDATA8) FM(HRTS2_N_B) FM(MSIOF1_TXD_C) F_(0, 0) F_(0, 0) FM(TS_SPSYNC1_A)FM(STP_ISSYNC_1_A) FM(RIF1_D1_A) FM(RIF3_D1_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 354 #define IP16_31_28 FM(SSI_SDATA9_A) FM(HSCK2_B) FM(MSIOF1_SS1_C) FM(HSCK1_A) FM(SSI_WS1_B) FM(SCK1) FM(STP_IVCXO27_1_A) FM(SCK5_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 355 #define IP17_3_0 FM(AUDIO_CLKA_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(CC5_OSCOUT) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 356 #define IP17_7_4 FM(AUDIO_CLKB_B) FM(SCIF_CLK_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(STP_IVCXO27_1_D) FM(REMOCON_A) F_(0, 0) F_(0, 0) FM(TCLK1_A) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 357 #define IP17_11_8 FM(USB0_PWEN) F_(0, 0) F_(0, 0) FM(SIM0_RST_C) F_(0, 0) FM(TS_SCK1_D) FM(STP_ISCLK_1_D) FM(BPFCLK_B) FM(RIF3_CLK_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(HSCK2_C) F_(0, 0) F_(0, 0) 358 #define IP17_15_12 FM(USB0_OVC) F_(0, 0) F_(0, 0) FM(SIM0_D_C) F_(0, 0) FM(TS_SDAT1_D) FM(STP_ISD_1_D) F_(0, 0) FM(RIF3_SYNC_B) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) FM(HRX2_C) F_(0, 0) F_(0, 0) 359 #define IP17_19_16 FM(USB1_PWEN) F_(0, 0) F_(0, 0) FM(SIM0_CLK_C) FM(SSI_SCK1_A) FM(TS_SCK0_E) FM(STP_ISCLK_0_E) FM(FMCLK_B) FM(RIF2_CLK_B) F_(0, 0) FM(SPEEDIN_A) F_(0, 0) F_(0, 0) FM(HTX2_C) F_(0, 0) F_(0, 0) 360 #define IP17_23_20 FM(USB1_OVC) F_(0, 0) FM(MSIOF1_SS2_C) F_(0, 0) FM(SSI_WS1_A) FM(TS_SDAT0_E) FM(STP_ISD_0_E) FM(FMIN_B) FM(RIF2_SYNC_B) F_(0, 0) FM(REMOCON_B) F_(0, 0) F_(0, 0) FM(HCTS2_N_C) F_(0, 0) F_(0, 0) 361 #define IP17_27_24 FM(USB30_PWEN) F_(0, 0) F_(0, 0) FM(AUDIO_CLKOUT_B) FM(SSI_SCK2_B) FM(TS_SDEN1_D) FM(STP_ISEN_1_D) FM(STP_OPWM_0_E)FM(RIF3_D0_B) F_(0, 0) FM(TCLK2_B) FM(TPU0TO0) FM(BPFCLK_C) FM(HRTS2_N_C) F_(0, 0) F_(0, 0) 362 #define IP17_31_28 FM(USB30_OVC) F_(0, 0) F_(0, 0) FM(AUDIO_CLKOUT1_B) FM(SSI_WS2_B) FM(TS_SPSYNC1_D)FM(STP_ISSYNC_1_D) FM(STP_IVCXO27_0_E)FM(RIF3_D1_B) F_(0, 0) FM(FSO_TOE_N) FM(TPU0TO1) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 363 #define IP18_3_0 FM(USB2_CH3_PWEN) F_(0, 0) F_(0, 0) FM(AUDIO_CLKOUT2_B) FM(SSI_SCK9_B) FM(TS_SDEN0_E) FM(STP_ISEN_0_E) F_(0, 0) FM(RIF2_D0_B) F_(0, 0) F_(0, 0) FM(TPU0TO2) FM(FMCLK_C) FM(FMCLK_D) F_(0, 0) F_(0, 0) 364 #define IP18_7_4 FM(USB2_CH3_OVC) F_(0, 0) F_(0, 0) FM(AUDIO_CLKOUT3_B) FM(SSI_WS9_B) FM(TS_SPSYNC0_E)FM(STP_ISSYNC_0_E) F_(0, 0) FM(RIF2_D1_B) F_(0, 0) F_(0, 0) FM(TPU0TO3) FM(FMIN_C) FM(FMIN_D) F_(0, 0) F_(0, 0) 365 366 #define PINMUX_GPSR \ 367 \ 368 GPSR6_31 \ 369 GPSR6_30 \ 370 GPSR6_29 \ 371 GPSR6_28 \ 372 GPSR1_27 GPSR6_27 \ 373 GPSR1_26 GPSR6_26 \ 374 GPSR1_25 GPSR5_25 GPSR6_25 \ 375 GPSR1_24 GPSR5_24 GPSR6_24 \ 376 GPSR1_23 GPSR5_23 GPSR6_23 \ 377 GPSR1_22 GPSR5_22 GPSR6_22 \ 378 GPSR1_21 GPSR5_21 GPSR6_21 \ 379 GPSR1_20 GPSR5_20 GPSR6_20 \ 380 GPSR1_19 GPSR5_19 GPSR6_19 \ 381 GPSR1_18 GPSR5_18 GPSR6_18 \ 382 GPSR1_17 GPSR4_17 GPSR5_17 GPSR6_17 \ 383 GPSR1_16 GPSR4_16 GPSR5_16 GPSR6_16 \ 384 GPSR0_15 GPSR1_15 GPSR3_15 GPSR4_15 GPSR5_15 GPSR6_15 \ 385 GPSR0_14 GPSR1_14 GPSR2_14 GPSR3_14 GPSR4_14 GPSR5_14 GPSR6_14 \ 386 GPSR0_13 GPSR1_13 GPSR2_13 GPSR3_13 GPSR4_13 GPSR5_13 GPSR6_13 \ 387 GPSR0_12 GPSR1_12 GPSR2_12 GPSR3_12 GPSR4_12 GPSR5_12 GPSR6_12 \ 388 GPSR0_11 GPSR1_11 GPSR2_11 GPSR3_11 GPSR4_11 GPSR5_11 GPSR6_11 \ 389 GPSR0_10 GPSR1_10 GPSR2_10 GPSR3_10 GPSR4_10 GPSR5_10 GPSR6_10 \ 390 GPSR0_9 GPSR1_9 GPSR2_9 GPSR3_9 GPSR4_9 GPSR5_9 GPSR6_9 \ 391 GPSR0_8 GPSR1_8 GPSR2_8 GPSR3_8 GPSR4_8 GPSR5_8 GPSR6_8 \ 392 GPSR0_7 GPSR1_7 GPSR2_7 GPSR3_7 GPSR4_7 GPSR5_7 GPSR6_7 \ 393 GPSR0_6 GPSR1_6 GPSR2_6 GPSR3_6 GPSR4_6 GPSR5_6 GPSR6_6 \ 394 GPSR0_5 GPSR1_5 GPSR2_5 GPSR3_5 GPSR4_5 GPSR5_5 GPSR6_5 \ 395 GPSR0_4 GPSR1_4 GPSR2_4 GPSR3_4 GPSR4_4 GPSR5_4 GPSR6_4 \ 396 GPSR0_3 GPSR1_3 GPSR2_3 GPSR3_3 GPSR4_3 GPSR5_3 GPSR6_3 GPSR7_3 \ 397 GPSR0_2 GPSR1_2 GPSR2_2 GPSR3_2 GPSR4_2 GPSR5_2 GPSR6_2 GPSR7_2 \ 398 GPSR0_1 GPSR1_1 GPSR2_1 GPSR3_1 GPSR4_1 GPSR5_1 GPSR6_1 GPSR7_1 \ 399 GPSR0_0 GPSR1_0 GPSR2_0 GPSR3_0 GPSR4_0 GPSR5_0 GPSR6_0 GPSR7_0 400 401 #define PINMUX_IPSR \ 402 \ 403 FM(IP0_3_0) IP0_3_0 FM(IP1_3_0) IP1_3_0 FM(IP2_3_0) IP2_3_0 FM(IP3_3_0) IP3_3_0 \ 404 FM(IP0_7_4) IP0_7_4 FM(IP1_7_4) IP1_7_4 FM(IP2_7_4) IP2_7_4 FM(IP3_7_4) IP3_7_4 \ 405 FM(IP0_11_8) IP0_11_8 FM(IP1_11_8) IP1_11_8 FM(IP2_11_8) IP2_11_8 FM(IP3_11_8) IP3_11_8 \ 406 FM(IP0_15_12) IP0_15_12 FM(IP1_15_12) IP1_15_12 FM(IP2_15_12) IP2_15_12 FM(IP3_15_12) IP3_15_12 \ 407 FM(IP0_19_16) IP0_19_16 FM(IP1_19_16) IP1_19_16 FM(IP2_19_16) IP2_19_16 FM(IP3_19_16) IP3_19_16 \ 408 FM(IP0_23_20) IP0_23_20 FM(IP1_23_20) IP1_23_20 FM(IP2_23_20) IP2_23_20 FM(IP3_23_20) IP3_23_20 \ 409 FM(IP0_27_24) IP0_27_24 FM(IP1_27_24) IP1_27_24 FM(IP2_27_24) IP2_27_24 FM(IP3_27_24) IP3_27_24 \ 410 FM(IP0_31_28) IP0_31_28 FM(IP1_31_28) IP1_31_28 FM(IP2_31_28) IP2_31_28 FM(IP3_31_28) IP3_31_28 \ 411 \ 412 FM(IP4_3_0) IP4_3_0 FM(IP5_3_0) IP5_3_0 FM(IP6_3_0) IP6_3_0 FM(IP7_3_0) IP7_3_0 \ 413 FM(IP4_7_4) IP4_7_4 FM(IP5_7_4) IP5_7_4 FM(IP6_7_4) IP6_7_4 FM(IP7_7_4) IP7_7_4 \ 414 FM(IP4_11_8) IP4_11_8 FM(IP5_11_8) IP5_11_8 FM(IP6_11_8) IP6_11_8 FM(IP7_11_8) IP7_11_8 \ 415 FM(IP4_15_12) IP4_15_12 FM(IP5_15_12) IP5_15_12 FM(IP6_15_12) IP6_15_12 \ 416 FM(IP4_19_16) IP4_19_16 FM(IP5_19_16) IP5_19_16 FM(IP6_19_16) IP6_19_16 FM(IP7_19_16) IP7_19_16 \ 417 FM(IP4_23_20) IP4_23_20 FM(IP5_23_20) IP5_23_20 FM(IP6_23_20) IP6_23_20 FM(IP7_23_20) IP7_23_20 \ 418 FM(IP4_27_24) IP4_27_24 FM(IP5_27_24) IP5_27_24 FM(IP6_27_24) IP6_27_24 FM(IP7_27_24) IP7_27_24 \ 419 FM(IP4_31_28) IP4_31_28 FM(IP5_31_28) IP5_31_28 FM(IP6_31_28) IP6_31_28 FM(IP7_31_28) IP7_31_28 \ 420 \ 421 FM(IP8_3_0) IP8_3_0 FM(IP9_3_0) IP9_3_0 FM(IP10_3_0) IP10_3_0 FM(IP11_3_0) IP11_3_0 \ 422 FM(IP8_7_4) IP8_7_4 FM(IP9_7_4) IP9_7_4 FM(IP10_7_4) IP10_7_4 FM(IP11_7_4) IP11_7_4 \ 423 FM(IP8_11_8) IP8_11_8 FM(IP9_11_8) IP9_11_8 FM(IP10_11_8) IP10_11_8 FM(IP11_11_8) IP11_11_8 \ 424 FM(IP8_15_12) IP8_15_12 FM(IP9_15_12) IP9_15_12 FM(IP10_15_12) IP10_15_12 FM(IP11_15_12) IP11_15_12 \ 425 FM(IP8_19_16) IP8_19_16 FM(IP9_19_16) IP9_19_16 FM(IP10_19_16) IP10_19_16 FM(IP11_19_16) IP11_19_16 \ 426 FM(IP8_23_20) IP8_23_20 FM(IP9_23_20) IP9_23_20 FM(IP10_23_20) IP10_23_20 FM(IP11_23_20) IP11_23_20 \ 427 FM(IP8_27_24) IP8_27_24 FM(IP9_27_24) IP9_27_24 FM(IP10_27_24) IP10_27_24 FM(IP11_27_24) IP11_27_24 \ 428 FM(IP8_31_28) IP8_31_28 FM(IP9_31_28) IP9_31_28 FM(IP10_31_28) IP10_31_28 FM(IP11_31_28) IP11_31_28 \ 429 \ 430 FM(IP12_3_0) IP12_3_0 FM(IP13_3_0) IP13_3_0 FM(IP14_3_0) IP14_3_0 FM(IP15_3_0) IP15_3_0 \ 431 FM(IP12_7_4) IP12_7_4 FM(IP13_7_4) IP13_7_4 FM(IP14_7_4) IP14_7_4 FM(IP15_7_4) IP15_7_4 \ 432 FM(IP12_11_8) IP12_11_8 FM(IP13_11_8) IP13_11_8 FM(IP14_11_8) IP14_11_8 FM(IP15_11_8) IP15_11_8 \ 433 FM(IP12_15_12) IP12_15_12 FM(IP13_15_12) IP13_15_12 FM(IP14_15_12) IP14_15_12 FM(IP15_15_12) IP15_15_12 \ 434 FM(IP12_19_16) IP12_19_16 FM(IP13_19_16) IP13_19_16 FM(IP14_19_16) IP14_19_16 FM(IP15_19_16) IP15_19_16 \ 435 FM(IP12_23_20) IP12_23_20 FM(IP13_23_20) IP13_23_20 FM(IP14_23_20) IP14_23_20 FM(IP15_23_20) IP15_23_20 \ 436 FM(IP12_27_24) IP12_27_24 FM(IP13_27_24) IP13_27_24 FM(IP14_27_24) IP14_27_24 FM(IP15_27_24) IP15_27_24 \ 437 FM(IP12_31_28) IP12_31_28 FM(IP13_31_28) IP13_31_28 FM(IP14_31_28) IP14_31_28 FM(IP15_31_28) IP15_31_28 \ 438 \ 439 FM(IP16_3_0) IP16_3_0 FM(IP17_3_0) IP17_3_0 FM(IP18_3_0) IP18_3_0 \ 440 FM(IP16_7_4) IP16_7_4 FM(IP17_7_4) IP17_7_4 FM(IP18_7_4) IP18_7_4 \ 441 FM(IP16_11_8) IP16_11_8 FM(IP17_11_8) IP17_11_8 \ 442 FM(IP16_15_12) IP16_15_12 FM(IP17_15_12) IP17_15_12 \ 443 FM(IP16_19_16) IP16_19_16 FM(IP17_19_16) IP17_19_16 \ 444 FM(IP16_23_20) IP16_23_20 FM(IP17_23_20) IP17_23_20 \ 445 FM(IP16_27_24) IP16_27_24 FM(IP17_27_24) IP17_27_24 \ 446 FM(IP16_31_28) IP16_31_28 FM(IP17_31_28) IP17_31_28 447 448 /* MOD_SEL0 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 */ /* 7 */ 449 #define MOD_SEL0_31_30_29 FM(SEL_MSIOF3_0) FM(SEL_MSIOF3_1) FM(SEL_MSIOF3_2) FM(SEL_MSIOF3_3) FM(SEL_MSIOF3_4) F_(0, 0) F_(0, 0) F_(0, 0) 450 #define MOD_SEL0_28_27 FM(SEL_MSIOF2_0) FM(SEL_MSIOF2_1) FM(SEL_MSIOF2_2) FM(SEL_MSIOF2_3) 451 #define MOD_SEL0_26_25_24 FM(SEL_MSIOF1_0) FM(SEL_MSIOF1_1) FM(SEL_MSIOF1_2) FM(SEL_MSIOF1_3) FM(SEL_MSIOF1_4) FM(SEL_MSIOF1_5) FM(SEL_MSIOF1_6) F_(0, 0) 452 #define MOD_SEL0_23 FM(SEL_LBSC_0) FM(SEL_LBSC_1) 453 #define MOD_SEL0_22 FM(SEL_IEBUS_0) FM(SEL_IEBUS_1) 454 #define MOD_SEL0_21 FM(SEL_I2C2_0) FM(SEL_I2C2_1) 455 #define MOD_SEL0_20 FM(SEL_I2C1_0) FM(SEL_I2C1_1) 456 #define MOD_SEL0_19 FM(SEL_HSCIF4_0) FM(SEL_HSCIF4_1) 457 #define MOD_SEL0_18_17 FM(SEL_HSCIF3_0) FM(SEL_HSCIF3_1) FM(SEL_HSCIF3_2) FM(SEL_HSCIF3_3) 458 #define MOD_SEL0_16 FM(SEL_HSCIF1_0) FM(SEL_HSCIF1_1) 459 #define MOD_SEL0_14_13 FM(SEL_HSCIF2_0) FM(SEL_HSCIF2_1) FM(SEL_HSCIF2_2) F_(0, 0) 460 #define MOD_SEL0_12 FM(SEL_ETHERAVB_0) FM(SEL_ETHERAVB_1) 461 #define MOD_SEL0_11 FM(SEL_DRIF3_0) FM(SEL_DRIF3_1) 462 #define MOD_SEL0_10 FM(SEL_DRIF2_0) FM(SEL_DRIF2_1) 463 #define MOD_SEL0_9_8 FM(SEL_DRIF1_0) FM(SEL_DRIF1_1) FM(SEL_DRIF1_2) F_(0, 0) 464 #define MOD_SEL0_7_6 FM(SEL_DRIF0_0) FM(SEL_DRIF0_1) FM(SEL_DRIF0_2) F_(0, 0) 465 #define MOD_SEL0_5 FM(SEL_CANFD0_0) FM(SEL_CANFD0_1) 466 #define MOD_SEL0_4_3 FM(SEL_ADG_A_0) FM(SEL_ADG_A_1) FM(SEL_ADG_A_2) FM(SEL_ADG_A_3) 467 468 /* MOD_SEL1 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ /* 4 */ /* 5 */ /* 6 */ /* 7 */ 469 #define MOD_SEL1_31_30 FM(SEL_TSIF1_0) FM(SEL_TSIF1_1) FM(SEL_TSIF1_2) FM(SEL_TSIF1_3) 470 #define MOD_SEL1_29_28_27 FM(SEL_TSIF0_0) FM(SEL_TSIF0_1) FM(SEL_TSIF0_2) FM(SEL_TSIF0_3) FM(SEL_TSIF0_4) F_(0, 0) F_(0, 0) F_(0, 0) 471 #define MOD_SEL1_26 FM(SEL_TIMER_TMU1_0) FM(SEL_TIMER_TMU1_1) 472 #define MOD_SEL1_25_24 FM(SEL_SSP1_1_0) FM(SEL_SSP1_1_1) FM(SEL_SSP1_1_2) FM(SEL_SSP1_1_3) 473 #define MOD_SEL1_23_22_21 FM(SEL_SSP1_0_0) FM(SEL_SSP1_0_1) FM(SEL_SSP1_0_2) FM(SEL_SSP1_0_3) FM(SEL_SSP1_0_4) F_(0, 0) F_(0, 0) F_(0, 0) 474 #define MOD_SEL1_20 FM(SEL_SSI_0) FM(SEL_SSI_1) 475 #define MOD_SEL1_19 FM(SEL_SPEED_PULSE_0) FM(SEL_SPEED_PULSE_1) 476 #define MOD_SEL1_18_17 FM(SEL_SIMCARD_0) FM(SEL_SIMCARD_1) FM(SEL_SIMCARD_2) FM(SEL_SIMCARD_3) 477 #define MOD_SEL1_16 FM(SEL_SDHI2_0) FM(SEL_SDHI2_1) 478 #define MOD_SEL1_15_14 FM(SEL_SCIF4_0) FM(SEL_SCIF4_1) FM(SEL_SCIF4_2) F_(0, 0) 479 #define MOD_SEL1_13 FM(SEL_SCIF3_0) FM(SEL_SCIF3_1) 480 #define MOD_SEL1_12 FM(SEL_SCIF2_0) FM(SEL_SCIF2_1) 481 #define MOD_SEL1_11 FM(SEL_SCIF1_0) FM(SEL_SCIF1_1) 482 #define MOD_SEL1_10 FM(SEL_SCIF_0) FM(SEL_SCIF_1) 483 #define MOD_SEL1_9 FM(SEL_REMOCON_0) FM(SEL_REMOCON_1) 484 #define MOD_SEL1_6 FM(SEL_RCAN0_0) FM(SEL_RCAN0_1) 485 #define MOD_SEL1_5 FM(SEL_PWM6_0) FM(SEL_PWM6_1) 486 #define MOD_SEL1_4 FM(SEL_PWM5_0) FM(SEL_PWM5_1) 487 #define MOD_SEL1_3 FM(SEL_PWM4_0) FM(SEL_PWM4_1) 488 #define MOD_SEL1_2 FM(SEL_PWM3_0) FM(SEL_PWM3_1) 489 #define MOD_SEL1_1 FM(SEL_PWM2_0) FM(SEL_PWM2_1) 490 #define MOD_SEL1_0 FM(SEL_PWM1_0) FM(SEL_PWM1_1) 491 492 /* MOD_SEL2 */ /* 0 */ /* 1 */ /* 2 */ /* 3 */ 493 #define MOD_SEL2_31 FM(I2C_SEL_5_0) FM(I2C_SEL_5_1) 494 #define MOD_SEL2_30 FM(I2C_SEL_3_0) FM(I2C_SEL_3_1) 495 #define MOD_SEL2_29 FM(I2C_SEL_0_0) FM(I2C_SEL_0_1) 496 #define MOD_SEL2_28_27 FM(SEL_FM_0) FM(SEL_FM_1) FM(SEL_FM_2) FM(SEL_FM_3) 497 #define MOD_SEL2_26 FM(SEL_SCIF5_0) FM(SEL_SCIF5_1) 498 #define MOD_SEL2_25_24_23 FM(SEL_I2C6_0) FM(SEL_I2C6_1) FM(SEL_I2C6_2) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) F_(0, 0) 499 #define MOD_SEL2_21 FM(SEL_SSI2_0) FM(SEL_SSI2_1) 500 #define MOD_SEL2_20 FM(SEL_SSI9_0) FM(SEL_SSI9_1) 501 #define MOD_SEL2_19 FM(SEL_TIMER_TMU2_0) FM(SEL_TIMER_TMU2_1) 502 #define MOD_SEL2_18 FM(SEL_ADG_B_0) FM(SEL_ADG_B_1) 503 #define MOD_SEL2_17 FM(SEL_ADG_C_0) FM(SEL_ADG_C_1) 504 #define MOD_SEL2_0 FM(SEL_VIN4_0) FM(SEL_VIN4_1) 505 506 #define PINMUX_MOD_SELS \ 507 \ 508 MOD_SEL0_31_30_29 MOD_SEL1_31_30 MOD_SEL2_31 \ 509 MOD_SEL2_30 \ 510 MOD_SEL1_29_28_27 MOD_SEL2_29 \ 511 MOD_SEL0_28_27 MOD_SEL2_28_27 \ 512 MOD_SEL0_26_25_24 MOD_SEL1_26 MOD_SEL2_26 \ 513 MOD_SEL1_25_24 MOD_SEL2_25_24_23 \ 514 MOD_SEL0_23 MOD_SEL1_23_22_21 \ 515 MOD_SEL0_22 \ 516 MOD_SEL0_21 MOD_SEL2_21 \ 517 MOD_SEL0_20 MOD_SEL1_20 MOD_SEL2_20 \ 518 MOD_SEL0_19 MOD_SEL1_19 MOD_SEL2_19 \ 519 MOD_SEL0_18_17 MOD_SEL1_18_17 MOD_SEL2_18 \ 520 MOD_SEL2_17 \ 521 MOD_SEL0_16 MOD_SEL1_16 \ 522 MOD_SEL1_15_14 \ 523 MOD_SEL0_14_13 \ 524 MOD_SEL1_13 \ 525 MOD_SEL0_12 MOD_SEL1_12 \ 526 MOD_SEL0_11 MOD_SEL1_11 \ 527 MOD_SEL0_10 MOD_SEL1_10 \ 528 MOD_SEL0_9_8 MOD_SEL1_9 \ 529 MOD_SEL0_7_6 \ 530 MOD_SEL1_6 \ 531 MOD_SEL0_5 MOD_SEL1_5 \ 532 MOD_SEL0_4_3 MOD_SEL1_4 \ 533 MOD_SEL1_3 \ 534 MOD_SEL1_2 \ 535 MOD_SEL1_1 \ 536 MOD_SEL1_0 MOD_SEL2_0 537 538 /* 539 * These pins are not able to be muxed but have other properties 540 * that can be set, such as drive-strength or pull-up/pull-down enable. 541 */ 542 #define PINMUX_STATIC \ 543 FM(QSPI0_SPCLK) FM(QSPI0_SSL) FM(QSPI0_MOSI_IO0) FM(QSPI0_MISO_IO1) \ 544 FM(QSPI0_IO2) FM(QSPI0_IO3) \ 545 FM(QSPI1_SPCLK) FM(QSPI1_SSL) FM(QSPI1_MOSI_IO0) FM(QSPI1_MISO_IO1) \ 546 FM(QSPI1_IO2) FM(QSPI1_IO3) \ 547 FM(RPC_INT) FM(RPC_WP) FM(RPC_RESET) \ 548 FM(AVB_TX_CTL) FM(AVB_TXC) FM(AVB_TD0) FM(AVB_TD1) FM(AVB_TD2) FM(AVB_TD3) \ 549 FM(AVB_RX_CTL) FM(AVB_RXC) FM(AVB_RD0) FM(AVB_RD1) FM(AVB_RD2) FM(AVB_RD3) \ 550 FM(AVB_TXCREFCLK) FM(AVB_MDIO) \ 551 FM(CLKOUT) FM(PRESETOUT) \ 552 FM(DU_DOTCLKIN0) FM(DU_DOTCLKIN1) FM(DU_DOTCLKIN2) FM(DU_DOTCLKIN3) \ 553 FM(TMS) FM(TDO) FM(ASEBRK) FM(MLB_REF) FM(TDI) FM(TCK) FM(TRST) FM(EXTALR) 554 555 enum { 556 PINMUX_RESERVED = 0, 557 558 PINMUX_DATA_BEGIN, 559 GP_ALL(DATA), 560 PINMUX_DATA_END, 561 562 #define F_(x, y) 563 #define FM(x) FN_##x, 564 PINMUX_FUNCTION_BEGIN, 565 GP_ALL(FN), 566 PINMUX_GPSR 567 PINMUX_IPSR 568 PINMUX_MOD_SELS 569 PINMUX_FUNCTION_END, 570 #undef F_ 571 #undef FM 572 573 #define F_(x, y) 574 #define FM(x) x##_MARK, 575 PINMUX_MARK_BEGIN, 576 PINMUX_GPSR 577 PINMUX_IPSR 578 PINMUX_MOD_SELS 579 PINMUX_STATIC 580 PINMUX_MARK_END, 581 #undef F_ 582 #undef FM 583 }; 584 585 static const u16 pinmux_data[] = { 586 PINMUX_DATA_GP_ALL(), 587 588 PINMUX_SINGLE(AVS1), 589 PINMUX_SINGLE(AVS2), 590 PINMUX_SINGLE(HDMI0_CEC), 591 PINMUX_SINGLE(HDMI1_CEC), 592 PINMUX_SINGLE(I2C_SEL_0_1), 593 PINMUX_SINGLE(I2C_SEL_3_1), 594 PINMUX_SINGLE(I2C_SEL_5_1), 595 PINMUX_SINGLE(MSIOF0_RXD), 596 PINMUX_SINGLE(MSIOF0_SCK), 597 PINMUX_SINGLE(MSIOF0_TXD), 598 PINMUX_SINGLE(SSI_SCK5), 599 PINMUX_SINGLE(SSI_SDATA5), 600 PINMUX_SINGLE(SSI_WS5), 601 602 /* IPSR0 */ 603 PINMUX_IPSR_GPSR(IP0_3_0, AVB_MDC), 604 PINMUX_IPSR_MSEL(IP0_3_0, MSIOF2_SS2_C, SEL_MSIOF2_2), 605 606 PINMUX_IPSR_GPSR(IP0_7_4, AVB_MAGIC), 607 PINMUX_IPSR_MSEL(IP0_7_4, MSIOF2_SS1_C, SEL_MSIOF2_2), 608 PINMUX_IPSR_MSEL(IP0_7_4, SCK4_A, SEL_SCIF4_0), 609 610 PINMUX_IPSR_GPSR(IP0_11_8, AVB_PHY_INT), 611 PINMUX_IPSR_MSEL(IP0_11_8, MSIOF2_SYNC_C, SEL_MSIOF2_2), 612 PINMUX_IPSR_MSEL(IP0_11_8, RX4_A, SEL_SCIF4_0), 613 614 PINMUX_IPSR_GPSR(IP0_15_12, AVB_LINK), 615 PINMUX_IPSR_MSEL(IP0_15_12, MSIOF2_SCK_C, SEL_MSIOF2_2), 616 PINMUX_IPSR_MSEL(IP0_15_12, TX4_A, SEL_SCIF4_0), 617 618 PINMUX_IPSR_MSEL(IP0_19_16, AVB_AVTP_MATCH_A, SEL_ETHERAVB_0), 619 PINMUX_IPSR_MSEL(IP0_19_16, MSIOF2_RXD_C, SEL_MSIOF2_2), 620 PINMUX_IPSR_MSEL(IP0_19_16, CTS4_N_A, SEL_SCIF4_0), 621 PINMUX_IPSR_GPSR(IP0_19_16, FSCLKST2_N_A), 622 623 PINMUX_IPSR_MSEL(IP0_23_20, AVB_AVTP_CAPTURE_A, SEL_ETHERAVB_0), 624 PINMUX_IPSR_MSEL(IP0_23_20, MSIOF2_TXD_C, SEL_MSIOF2_2), 625 PINMUX_IPSR_MSEL(IP0_23_20, RTS4_N_TANS_A, SEL_SCIF4_0), 626 627 PINMUX_IPSR_GPSR(IP0_27_24, IRQ0), 628 PINMUX_IPSR_GPSR(IP0_27_24, QPOLB), 629 PINMUX_IPSR_GPSR(IP0_27_24, DU_CDE), 630 PINMUX_IPSR_MSEL(IP0_27_24, VI4_DATA0_B, SEL_VIN4_1), 631 PINMUX_IPSR_MSEL(IP0_27_24, CAN0_TX_B, SEL_RCAN0_1), 632 PINMUX_IPSR_MSEL(IP0_27_24, CANFD0_TX_B, SEL_CANFD0_1), 633 PINMUX_IPSR_MSEL(IP0_27_24, MSIOF3_SS2_E, SEL_MSIOF3_4), 634 635 PINMUX_IPSR_GPSR(IP0_31_28, IRQ1), 636 PINMUX_IPSR_GPSR(IP0_31_28, QPOLA), 637 PINMUX_IPSR_GPSR(IP0_31_28, DU_DISP), 638 PINMUX_IPSR_MSEL(IP0_31_28, VI4_DATA1_B, SEL_VIN4_1), 639 PINMUX_IPSR_MSEL(IP0_31_28, CAN0_RX_B, SEL_RCAN0_1), 640 PINMUX_IPSR_MSEL(IP0_31_28, CANFD0_RX_B, SEL_CANFD0_1), 641 PINMUX_IPSR_MSEL(IP0_31_28, MSIOF3_SS1_E, SEL_MSIOF3_4), 642 643 /* IPSR1 */ 644 PINMUX_IPSR_GPSR(IP1_3_0, IRQ2), 645 PINMUX_IPSR_GPSR(IP1_3_0, QCPV_QDE), 646 PINMUX_IPSR_GPSR(IP1_3_0, DU_EXODDF_DU_ODDF_DISP_CDE), 647 PINMUX_IPSR_MSEL(IP1_3_0, VI4_DATA2_B, SEL_VIN4_1), 648 PINMUX_IPSR_MSEL(IP1_3_0, PWM3_B, SEL_PWM3_1), 649 PINMUX_IPSR_MSEL(IP1_3_0, MSIOF3_SYNC_E, SEL_MSIOF3_4), 650 651 PINMUX_IPSR_GPSR(IP1_7_4, IRQ3), 652 PINMUX_IPSR_GPSR(IP1_7_4, QSTVB_QVE), 653 PINMUX_IPSR_GPSR(IP1_7_4, A25), 654 PINMUX_IPSR_GPSR(IP1_7_4, DU_DOTCLKOUT1), 655 PINMUX_IPSR_MSEL(IP1_7_4, VI4_DATA3_B, SEL_VIN4_1), 656 PINMUX_IPSR_MSEL(IP1_7_4, PWM4_B, SEL_PWM4_1), 657 PINMUX_IPSR_MSEL(IP1_7_4, MSIOF3_SCK_E, SEL_MSIOF3_4), 658 659 PINMUX_IPSR_GPSR(IP1_11_8, IRQ4), 660 PINMUX_IPSR_GPSR(IP1_11_8, QSTH_QHS), 661 PINMUX_IPSR_GPSR(IP1_11_8, A24), 662 PINMUX_IPSR_GPSR(IP1_11_8, DU_EXHSYNC_DU_HSYNC), 663 PINMUX_IPSR_MSEL(IP1_11_8, VI4_DATA4_B, SEL_VIN4_1), 664 PINMUX_IPSR_MSEL(IP1_11_8, PWM5_B, SEL_PWM5_1), 665 PINMUX_IPSR_MSEL(IP1_11_8, MSIOF3_RXD_E, SEL_MSIOF3_4), 666 667 PINMUX_IPSR_GPSR(IP1_15_12, IRQ5), 668 PINMUX_IPSR_GPSR(IP1_15_12, QSTB_QHE), 669 PINMUX_IPSR_GPSR(IP1_15_12, A23), 670 PINMUX_IPSR_GPSR(IP1_15_12, DU_EXVSYNC_DU_VSYNC), 671 PINMUX_IPSR_MSEL(IP1_15_12, VI4_DATA5_B, SEL_VIN4_1), 672 PINMUX_IPSR_MSEL(IP1_15_12, PWM6_B, SEL_PWM6_1), 673 PINMUX_IPSR_GPSR(IP1_15_12, FSCLKST2_N_B), 674 PINMUX_IPSR_MSEL(IP1_15_12, MSIOF3_TXD_E, SEL_MSIOF3_4), 675 676 PINMUX_IPSR_GPSR(IP1_19_16, PWM0), 677 PINMUX_IPSR_GPSR(IP1_19_16, AVB_AVTP_PPS), 678 PINMUX_IPSR_GPSR(IP1_19_16, A22), 679 PINMUX_IPSR_MSEL(IP1_19_16, VI4_DATA6_B, SEL_VIN4_1), 680 PINMUX_IPSR_MSEL(IP1_19_16, IECLK_B, SEL_IEBUS_1), 681 682 PINMUX_IPSR_MSEL(IP1_23_20, PWM1_A, SEL_PWM1_0), 683 PINMUX_IPSR_GPSR(IP1_23_20, A21), 684 PINMUX_IPSR_MSEL(IP1_23_20, HRX3_D, SEL_HSCIF3_3), 685 PINMUX_IPSR_MSEL(IP1_23_20, VI4_DATA7_B, SEL_VIN4_1), 686 PINMUX_IPSR_MSEL(IP1_23_20, IERX_B, SEL_IEBUS_1), 687 688 PINMUX_IPSR_MSEL(IP1_27_24, PWM2_A, SEL_PWM2_0), 689 PINMUX_IPSR_GPSR(IP1_27_24, A20), 690 PINMUX_IPSR_MSEL(IP1_27_24, HTX3_D, SEL_HSCIF3_3), 691 PINMUX_IPSR_MSEL(IP1_27_24, IETX_B, SEL_IEBUS_1), 692 693 PINMUX_IPSR_GPSR(IP1_31_28, A0), 694 PINMUX_IPSR_GPSR(IP1_31_28, LCDOUT16), 695 PINMUX_IPSR_MSEL(IP1_31_28, MSIOF3_SYNC_B, SEL_MSIOF3_1), 696 PINMUX_IPSR_GPSR(IP1_31_28, VI4_DATA8), 697 PINMUX_IPSR_GPSR(IP1_31_28, DU_DB0), 698 PINMUX_IPSR_MSEL(IP1_31_28, PWM3_A, SEL_PWM3_0), 699 700 /* IPSR2 */ 701 PINMUX_IPSR_GPSR(IP2_3_0, A1), 702 PINMUX_IPSR_GPSR(IP2_3_0, LCDOUT17), 703 PINMUX_IPSR_MSEL(IP2_3_0, MSIOF3_TXD_B, SEL_MSIOF3_1), 704 PINMUX_IPSR_GPSR(IP2_3_0, VI4_DATA9), 705 PINMUX_IPSR_GPSR(IP2_3_0, DU_DB1), 706 PINMUX_IPSR_MSEL(IP2_3_0, PWM4_A, SEL_PWM4_0), 707 708 PINMUX_IPSR_GPSR(IP2_7_4, A2), 709 PINMUX_IPSR_GPSR(IP2_7_4, LCDOUT18), 710 PINMUX_IPSR_MSEL(IP2_7_4, MSIOF3_SCK_B, SEL_MSIOF3_1), 711 PINMUX_IPSR_GPSR(IP2_7_4, VI4_DATA10), 712 PINMUX_IPSR_GPSR(IP2_7_4, DU_DB2), 713 PINMUX_IPSR_MSEL(IP2_7_4, PWM5_A, SEL_PWM5_0), 714 715 PINMUX_IPSR_GPSR(IP2_11_8, A3), 716 PINMUX_IPSR_GPSR(IP2_11_8, LCDOUT19), 717 PINMUX_IPSR_MSEL(IP2_11_8, MSIOF3_RXD_B, SEL_MSIOF3_1), 718 PINMUX_IPSR_GPSR(IP2_11_8, VI4_DATA11), 719 PINMUX_IPSR_GPSR(IP2_11_8, DU_DB3), 720 PINMUX_IPSR_MSEL(IP2_11_8, PWM6_A, SEL_PWM6_0), 721 722 PINMUX_IPSR_GPSR(IP2_15_12, A4), 723 PINMUX_IPSR_GPSR(IP2_15_12, LCDOUT20), 724 PINMUX_IPSR_MSEL(IP2_15_12, MSIOF3_SS1_B, SEL_MSIOF3_1), 725 PINMUX_IPSR_GPSR(IP2_15_12, VI4_DATA12), 726 PINMUX_IPSR_GPSR(IP2_15_12, VI5_DATA12), 727 PINMUX_IPSR_GPSR(IP2_15_12, DU_DB4), 728 729 PINMUX_IPSR_GPSR(IP2_19_16, A5), 730 PINMUX_IPSR_GPSR(IP2_19_16, LCDOUT21), 731 PINMUX_IPSR_MSEL(IP2_19_16, MSIOF3_SS2_B, SEL_MSIOF3_1), 732 PINMUX_IPSR_MSEL(IP2_19_16, SCK4_B, SEL_SCIF4_1), 733 PINMUX_IPSR_GPSR(IP2_19_16, VI4_DATA13), 734 PINMUX_IPSR_GPSR(IP2_19_16, VI5_DATA13), 735 PINMUX_IPSR_GPSR(IP2_19_16, DU_DB5), 736 737 PINMUX_IPSR_GPSR(IP2_23_20, A6), 738 PINMUX_IPSR_GPSR(IP2_23_20, LCDOUT22), 739 PINMUX_IPSR_MSEL(IP2_23_20, MSIOF2_SS1_A, SEL_MSIOF2_0), 740 PINMUX_IPSR_MSEL(IP2_23_20, RX4_B, SEL_SCIF4_1), 741 PINMUX_IPSR_GPSR(IP2_23_20, VI4_DATA14), 742 PINMUX_IPSR_GPSR(IP2_23_20, VI5_DATA14), 743 PINMUX_IPSR_GPSR(IP2_23_20, DU_DB6), 744 745 PINMUX_IPSR_GPSR(IP2_27_24, A7), 746 PINMUX_IPSR_GPSR(IP2_27_24, LCDOUT23), 747 PINMUX_IPSR_MSEL(IP2_27_24, MSIOF2_SS2_A, SEL_MSIOF2_0), 748 PINMUX_IPSR_MSEL(IP2_27_24, TX4_B, SEL_SCIF4_1), 749 PINMUX_IPSR_GPSR(IP2_27_24, VI4_DATA15), 750 PINMUX_IPSR_GPSR(IP2_27_24, VI5_DATA15), 751 PINMUX_IPSR_GPSR(IP2_27_24, DU_DB7), 752 753 PINMUX_IPSR_GPSR(IP2_31_28, A8), 754 PINMUX_IPSR_MSEL(IP2_31_28, RX3_B, SEL_SCIF3_1), 755 PINMUX_IPSR_MSEL(IP2_31_28, MSIOF2_SYNC_A, SEL_MSIOF2_0), 756 PINMUX_IPSR_MSEL(IP2_31_28, HRX4_B, SEL_HSCIF4_1), 757 PINMUX_IPSR_MSEL(IP2_31_28, SDA6_A, SEL_I2C6_0), 758 PINMUX_IPSR_MSEL(IP2_31_28, AVB_AVTP_MATCH_B, SEL_ETHERAVB_1), 759 PINMUX_IPSR_MSEL(IP2_31_28, PWM1_B, SEL_PWM1_1), 760 761 /* IPSR3 */ 762 PINMUX_IPSR_GPSR(IP3_3_0, A9), 763 PINMUX_IPSR_MSEL(IP3_3_0, MSIOF2_SCK_A, SEL_MSIOF2_0), 764 PINMUX_IPSR_MSEL(IP3_3_0, CTS4_N_B, SEL_SCIF4_1), 765 PINMUX_IPSR_GPSR(IP3_3_0, VI5_VSYNC_N), 766 767 PINMUX_IPSR_GPSR(IP3_7_4, A10), 768 PINMUX_IPSR_MSEL(IP3_7_4, MSIOF2_RXD_A, SEL_MSIOF2_0), 769 PINMUX_IPSR_MSEL(IP3_7_4, RTS4_N_TANS_B, SEL_SCIF4_1), 770 PINMUX_IPSR_GPSR(IP3_7_4, VI5_HSYNC_N), 771 772 PINMUX_IPSR_GPSR(IP3_11_8, A11), 773 PINMUX_IPSR_MSEL(IP3_11_8, TX3_B, SEL_SCIF3_1), 774 PINMUX_IPSR_MSEL(IP3_11_8, MSIOF2_TXD_A, SEL_MSIOF2_0), 775 PINMUX_IPSR_MSEL(IP3_11_8, HTX4_B, SEL_HSCIF4_1), 776 PINMUX_IPSR_GPSR(IP3_11_8, HSCK4), 777 PINMUX_IPSR_GPSR(IP3_11_8, VI5_FIELD), 778 PINMUX_IPSR_MSEL(IP3_11_8, SCL6_A, SEL_I2C6_0), 779 PINMUX_IPSR_MSEL(IP3_11_8, AVB_AVTP_CAPTURE_B, SEL_ETHERAVB_1), 780 PINMUX_IPSR_MSEL(IP3_11_8, PWM2_B, SEL_PWM2_1), 781 782 PINMUX_IPSR_GPSR(IP3_15_12, A12), 783 PINMUX_IPSR_GPSR(IP3_15_12, LCDOUT12), 784 PINMUX_IPSR_MSEL(IP3_15_12, MSIOF3_SCK_C, SEL_MSIOF3_2), 785 PINMUX_IPSR_MSEL(IP3_15_12, HRX4_A, SEL_HSCIF4_0), 786 PINMUX_IPSR_GPSR(IP3_15_12, VI5_DATA8), 787 PINMUX_IPSR_GPSR(IP3_15_12, DU_DG4), 788 789 PINMUX_IPSR_GPSR(IP3_19_16, A13), 790 PINMUX_IPSR_GPSR(IP3_19_16, LCDOUT13), 791 PINMUX_IPSR_MSEL(IP3_19_16, MSIOF3_SYNC_C, SEL_MSIOF3_2), 792 PINMUX_IPSR_MSEL(IP3_19_16, HTX4_A, SEL_HSCIF4_0), 793 PINMUX_IPSR_GPSR(IP3_19_16, VI5_DATA9), 794 PINMUX_IPSR_GPSR(IP3_19_16, DU_DG5), 795 796 PINMUX_IPSR_GPSR(IP3_23_20, A14), 797 PINMUX_IPSR_GPSR(IP3_23_20, LCDOUT14), 798 PINMUX_IPSR_MSEL(IP3_23_20, MSIOF3_RXD_C, SEL_MSIOF3_2), 799 PINMUX_IPSR_GPSR(IP3_23_20, HCTS4_N), 800 PINMUX_IPSR_GPSR(IP3_23_20, VI5_DATA10), 801 PINMUX_IPSR_GPSR(IP3_23_20, DU_DG6), 802 803 PINMUX_IPSR_GPSR(IP3_27_24, A15), 804 PINMUX_IPSR_GPSR(IP3_27_24, LCDOUT15), 805 PINMUX_IPSR_MSEL(IP3_27_24, MSIOF3_TXD_C, SEL_MSIOF3_2), 806 PINMUX_IPSR_GPSR(IP3_27_24, HRTS4_N), 807 PINMUX_IPSR_GPSR(IP3_27_24, VI5_DATA11), 808 PINMUX_IPSR_GPSR(IP3_27_24, DU_DG7), 809 810 PINMUX_IPSR_GPSR(IP3_31_28, A16), 811 PINMUX_IPSR_GPSR(IP3_31_28, LCDOUT8), 812 PINMUX_IPSR_GPSR(IP3_31_28, VI4_FIELD), 813 PINMUX_IPSR_GPSR(IP3_31_28, DU_DG0), 814 815 /* IPSR4 */ 816 PINMUX_IPSR_GPSR(IP4_3_0, A17), 817 PINMUX_IPSR_GPSR(IP4_3_0, LCDOUT9), 818 PINMUX_IPSR_GPSR(IP4_3_0, VI4_VSYNC_N), 819 PINMUX_IPSR_GPSR(IP4_3_0, DU_DG1), 820 821 PINMUX_IPSR_GPSR(IP4_7_4, A18), 822 PINMUX_IPSR_GPSR(IP4_7_4, LCDOUT10), 823 PINMUX_IPSR_GPSR(IP4_7_4, VI4_HSYNC_N), 824 PINMUX_IPSR_GPSR(IP4_7_4, DU_DG2), 825 826 PINMUX_IPSR_GPSR(IP4_11_8, A19), 827 PINMUX_IPSR_GPSR(IP4_11_8, LCDOUT11), 828 PINMUX_IPSR_GPSR(IP4_11_8, VI4_CLKENB), 829 PINMUX_IPSR_GPSR(IP4_11_8, DU_DG3), 830 831 PINMUX_IPSR_GPSR(IP4_15_12, CS0_N), 832 PINMUX_IPSR_GPSR(IP4_15_12, VI5_CLKENB), 833 834 PINMUX_IPSR_GPSR(IP4_19_16, CS1_N), 835 PINMUX_IPSR_GPSR(IP4_19_16, VI5_CLK), 836 PINMUX_IPSR_MSEL(IP4_19_16, EX_WAIT0_B, SEL_LBSC_1), 837 838 PINMUX_IPSR_GPSR(IP4_23_20, BS_N), 839 PINMUX_IPSR_GPSR(IP4_23_20, QSTVA_QVS), 840 PINMUX_IPSR_MSEL(IP4_23_20, MSIOF3_SCK_D, SEL_MSIOF3_3), 841 PINMUX_IPSR_GPSR(IP4_23_20, SCK3), 842 PINMUX_IPSR_GPSR(IP4_23_20, HSCK3), 843 PINMUX_IPSR_GPSR(IP4_23_20, CAN1_TX), 844 PINMUX_IPSR_GPSR(IP4_23_20, CANFD1_TX), 845 PINMUX_IPSR_MSEL(IP4_23_20, IETX_A, SEL_IEBUS_0), 846 847 PINMUX_IPSR_GPSR(IP4_27_24, RD_N), 848 PINMUX_IPSR_MSEL(IP4_27_24, MSIOF3_SYNC_D, SEL_MSIOF3_3), 849 PINMUX_IPSR_MSEL(IP4_27_24, RX3_A, SEL_SCIF3_0), 850 PINMUX_IPSR_MSEL(IP4_27_24, HRX3_A, SEL_HSCIF3_0), 851 PINMUX_IPSR_MSEL(IP4_27_24, CAN0_TX_A, SEL_RCAN0_0), 852 PINMUX_IPSR_MSEL(IP4_27_24, CANFD0_TX_A, SEL_CANFD0_0), 853 854 PINMUX_IPSR_GPSR(IP4_31_28, RD_WR_N), 855 PINMUX_IPSR_MSEL(IP4_31_28, MSIOF3_RXD_D, SEL_MSIOF3_3), 856 PINMUX_IPSR_MSEL(IP4_31_28, TX3_A, SEL_SCIF3_0), 857 PINMUX_IPSR_MSEL(IP4_31_28, HTX3_A, SEL_HSCIF3_0), 858 PINMUX_IPSR_MSEL(IP4_31_28, CAN0_RX_A, SEL_RCAN0_0), 859 PINMUX_IPSR_MSEL(IP4_31_28, CANFD0_RX_A, SEL_CANFD0_0), 860 861 /* IPSR5 */ 862 PINMUX_IPSR_GPSR(IP5_3_0, WE0_N), 863 PINMUX_IPSR_MSEL(IP5_3_0, MSIOF3_TXD_D, SEL_MSIOF3_3), 864 PINMUX_IPSR_GPSR(IP5_3_0, CTS3_N), 865 PINMUX_IPSR_GPSR(IP5_3_0, HCTS3_N), 866 PINMUX_IPSR_MSEL(IP5_3_0, SCL6_B, SEL_I2C6_1), 867 PINMUX_IPSR_GPSR(IP5_3_0, CAN_CLK), 868 PINMUX_IPSR_MSEL(IP5_3_0, IECLK_A, SEL_IEBUS_0), 869 870 PINMUX_IPSR_GPSR(IP5_7_4, WE1_N), 871 PINMUX_IPSR_MSEL(IP5_7_4, MSIOF3_SS1_D, SEL_MSIOF3_3), 872 PINMUX_IPSR_GPSR(IP5_7_4, RTS3_N_TANS), 873 PINMUX_IPSR_GPSR(IP5_7_4, HRTS3_N), 874 PINMUX_IPSR_MSEL(IP5_7_4, SDA6_B, SEL_I2C6_1), 875 PINMUX_IPSR_GPSR(IP5_7_4, CAN1_RX), 876 PINMUX_IPSR_GPSR(IP5_7_4, CANFD1_RX), 877 PINMUX_IPSR_MSEL(IP5_7_4, IERX_A, SEL_IEBUS_0), 878 879 PINMUX_IPSR_MSEL(IP5_11_8, EX_WAIT0_A, SEL_LBSC_0), 880 PINMUX_IPSR_GPSR(IP5_11_8, QCLK), 881 PINMUX_IPSR_GPSR(IP5_11_8, VI4_CLK), 882 PINMUX_IPSR_GPSR(IP5_11_8, DU_DOTCLKOUT0), 883 884 PINMUX_IPSR_GPSR(IP5_15_12, D0), 885 PINMUX_IPSR_MSEL(IP5_15_12, MSIOF2_SS1_B, SEL_MSIOF2_1), 886 PINMUX_IPSR_MSEL(IP5_15_12, MSIOF3_SCK_A, SEL_MSIOF3_0), 887 PINMUX_IPSR_GPSR(IP5_15_12, VI4_DATA16), 888 PINMUX_IPSR_GPSR(IP5_15_12, VI5_DATA0), 889 890 PINMUX_IPSR_GPSR(IP5_19_16, D1), 891 PINMUX_IPSR_MSEL(IP5_19_16, MSIOF2_SS2_B, SEL_MSIOF2_1), 892 PINMUX_IPSR_MSEL(IP5_19_16, MSIOF3_SYNC_A, SEL_MSIOF3_0), 893 PINMUX_IPSR_GPSR(IP5_19_16, VI4_DATA17), 894 PINMUX_IPSR_GPSR(IP5_19_16, VI5_DATA1), 895 896 PINMUX_IPSR_GPSR(IP5_23_20, D2), 897 PINMUX_IPSR_MSEL(IP5_23_20, MSIOF3_RXD_A, SEL_MSIOF3_0), 898 PINMUX_IPSR_GPSR(IP5_23_20, VI4_DATA18), 899 PINMUX_IPSR_GPSR(IP5_23_20, VI5_DATA2), 900 901 PINMUX_IPSR_GPSR(IP5_27_24, D3), 902 PINMUX_IPSR_MSEL(IP5_27_24, MSIOF3_TXD_A, SEL_MSIOF3_0), 903 PINMUX_IPSR_GPSR(IP5_27_24, VI4_DATA19), 904 PINMUX_IPSR_GPSR(IP5_27_24, VI5_DATA3), 905 906 PINMUX_IPSR_GPSR(IP5_31_28, D4), 907 PINMUX_IPSR_MSEL(IP5_31_28, MSIOF2_SCK_B, SEL_MSIOF2_1), 908 PINMUX_IPSR_GPSR(IP5_31_28, VI4_DATA20), 909 PINMUX_IPSR_GPSR(IP5_31_28, VI5_DATA4), 910 911 /* IPSR6 */ 912 PINMUX_IPSR_GPSR(IP6_3_0, D5), 913 PINMUX_IPSR_MSEL(IP6_3_0, MSIOF2_SYNC_B, SEL_MSIOF2_1), 914 PINMUX_IPSR_GPSR(IP6_3_0, VI4_DATA21), 915 PINMUX_IPSR_GPSR(IP6_3_0, VI5_DATA5), 916 917 PINMUX_IPSR_GPSR(IP6_7_4, D6), 918 PINMUX_IPSR_MSEL(IP6_7_4, MSIOF2_RXD_B, SEL_MSIOF2_1), 919 PINMUX_IPSR_GPSR(IP6_7_4, VI4_DATA22), 920 PINMUX_IPSR_GPSR(IP6_7_4, VI5_DATA6), 921 922 PINMUX_IPSR_GPSR(IP6_11_8, D7), 923 PINMUX_IPSR_MSEL(IP6_11_8, MSIOF2_TXD_B, SEL_MSIOF2_1), 924 PINMUX_IPSR_GPSR(IP6_11_8, VI4_DATA23), 925 PINMUX_IPSR_GPSR(IP6_11_8, VI5_DATA7), 926 927 PINMUX_IPSR_GPSR(IP6_15_12, D8), 928 PINMUX_IPSR_GPSR(IP6_15_12, LCDOUT0), 929 PINMUX_IPSR_MSEL(IP6_15_12, MSIOF2_SCK_D, SEL_MSIOF2_3), 930 PINMUX_IPSR_MSEL(IP6_15_12, SCK4_C, SEL_SCIF4_2), 931 PINMUX_IPSR_MSEL(IP6_15_12, VI4_DATA0_A, SEL_VIN4_0), 932 PINMUX_IPSR_GPSR(IP6_15_12, DU_DR0), 933 934 PINMUX_IPSR_GPSR(IP6_19_16, D9), 935 PINMUX_IPSR_GPSR(IP6_19_16, LCDOUT1), 936 PINMUX_IPSR_MSEL(IP6_19_16, MSIOF2_SYNC_D, SEL_MSIOF2_3), 937 PINMUX_IPSR_MSEL(IP6_19_16, VI4_DATA1_A, SEL_VIN4_0), 938 PINMUX_IPSR_GPSR(IP6_19_16, DU_DR1), 939 940 PINMUX_IPSR_GPSR(IP6_23_20, D10), 941 PINMUX_IPSR_GPSR(IP6_23_20, LCDOUT2), 942 PINMUX_IPSR_MSEL(IP6_23_20, MSIOF2_RXD_D, SEL_MSIOF2_3), 943 PINMUX_IPSR_MSEL(IP6_23_20, HRX3_B, SEL_HSCIF3_1), 944 PINMUX_IPSR_MSEL(IP6_23_20, VI4_DATA2_A, SEL_VIN4_0), 945 PINMUX_IPSR_MSEL(IP6_23_20, CTS4_N_C, SEL_SCIF4_2), 946 PINMUX_IPSR_GPSR(IP6_23_20, DU_DR2), 947 948 PINMUX_IPSR_GPSR(IP6_27_24, D11), 949 PINMUX_IPSR_GPSR(IP6_27_24, LCDOUT3), 950 PINMUX_IPSR_MSEL(IP6_27_24, MSIOF2_TXD_D, SEL_MSIOF2_3), 951 PINMUX_IPSR_MSEL(IP6_27_24, HTX3_B, SEL_HSCIF3_1), 952 PINMUX_IPSR_MSEL(IP6_27_24, VI4_DATA3_A, SEL_VIN4_0), 953 PINMUX_IPSR_MSEL(IP6_27_24, RTS4_N_TANS_C, SEL_SCIF4_2), 954 PINMUX_IPSR_GPSR(IP6_27_24, DU_DR3), 955 956 PINMUX_IPSR_GPSR(IP6_31_28, D12), 957 PINMUX_IPSR_GPSR(IP6_31_28, LCDOUT4), 958 PINMUX_IPSR_MSEL(IP6_31_28, MSIOF2_SS1_D, SEL_MSIOF2_3), 959 PINMUX_IPSR_MSEL(IP6_31_28, RX4_C, SEL_SCIF4_2), 960 PINMUX_IPSR_MSEL(IP6_31_28, VI4_DATA4_A, SEL_VIN4_0), 961 PINMUX_IPSR_GPSR(IP6_31_28, DU_DR4), 962 963 /* IPSR7 */ 964 PINMUX_IPSR_GPSR(IP7_3_0, D13), 965 PINMUX_IPSR_GPSR(IP7_3_0, LCDOUT5), 966 PINMUX_IPSR_MSEL(IP7_3_0, MSIOF2_SS2_D, SEL_MSIOF2_3), 967 PINMUX_IPSR_MSEL(IP7_3_0, TX4_C, SEL_SCIF4_2), 968 PINMUX_IPSR_MSEL(IP7_3_0, VI4_DATA5_A, SEL_VIN4_0), 969 PINMUX_IPSR_GPSR(IP7_3_0, DU_DR5), 970 971 PINMUX_IPSR_GPSR(IP7_7_4, D14), 972 PINMUX_IPSR_GPSR(IP7_7_4, LCDOUT6), 973 PINMUX_IPSR_MSEL(IP7_7_4, MSIOF3_SS1_A, SEL_MSIOF3_0), 974 PINMUX_IPSR_MSEL(IP7_7_4, HRX3_C, SEL_HSCIF3_2), 975 PINMUX_IPSR_MSEL(IP7_7_4, VI4_DATA6_A, SEL_VIN4_0), 976 PINMUX_IPSR_GPSR(IP7_7_4, DU_DR6), 977 PINMUX_IPSR_MSEL(IP7_7_4, SCL6_C, SEL_I2C6_2), 978 979 PINMUX_IPSR_GPSR(IP7_11_8, D15), 980 PINMUX_IPSR_GPSR(IP7_11_8, LCDOUT7), 981 PINMUX_IPSR_MSEL(IP7_11_8, MSIOF3_SS2_A, SEL_MSIOF3_0), 982 PINMUX_IPSR_MSEL(IP7_11_8, HTX3_C, SEL_HSCIF3_2), 983 PINMUX_IPSR_MSEL(IP7_11_8, VI4_DATA7_A, SEL_VIN4_0), 984 PINMUX_IPSR_GPSR(IP7_11_8, DU_DR7), 985 PINMUX_IPSR_MSEL(IP7_11_8, SDA6_C, SEL_I2C6_2), 986 987 PINMUX_IPSR_GPSR(IP7_19_16, SD0_CLK), 988 PINMUX_IPSR_MSEL(IP7_19_16, MSIOF1_SCK_E, SEL_MSIOF1_4), 989 PINMUX_IPSR_MSEL(IP7_19_16, STP_OPWM_0_B, SEL_SSP1_0_1), 990 991 PINMUX_IPSR_GPSR(IP7_23_20, SD0_CMD), 992 PINMUX_IPSR_MSEL(IP7_23_20, MSIOF1_SYNC_E, SEL_MSIOF1_4), 993 PINMUX_IPSR_MSEL(IP7_23_20, STP_IVCXO27_0_B, SEL_SSP1_0_1), 994 995 PINMUX_IPSR_GPSR(IP7_27_24, SD0_DAT0), 996 PINMUX_IPSR_MSEL(IP7_27_24, MSIOF1_RXD_E, SEL_MSIOF1_4), 997 PINMUX_IPSR_MSEL(IP7_27_24, TS_SCK0_B, SEL_TSIF0_1), 998 PINMUX_IPSR_MSEL(IP7_27_24, STP_ISCLK_0_B, SEL_SSP1_0_1), 999 1000 PINMUX_IPSR_GPSR(IP7_31_28, SD0_DAT1), 1001 PINMUX_IPSR_MSEL(IP7_31_28, MSIOF1_TXD_E, SEL_MSIOF1_4), 1002 PINMUX_IPSR_MSEL(IP7_31_28, TS_SPSYNC0_B, SEL_TSIF0_1), 1003 PINMUX_IPSR_MSEL(IP7_31_28, STP_ISSYNC_0_B, SEL_SSP1_0_1), 1004 1005 /* IPSR8 */ 1006 PINMUX_IPSR_GPSR(IP8_3_0, SD0_DAT2), 1007 PINMUX_IPSR_MSEL(IP8_3_0, MSIOF1_SS1_E, SEL_MSIOF1_4), 1008 PINMUX_IPSR_MSEL(IP8_3_0, TS_SDAT0_B, SEL_TSIF0_1), 1009 PINMUX_IPSR_MSEL(IP8_3_0, STP_ISD_0_B, SEL_SSP1_0_1), 1010 1011 PINMUX_IPSR_GPSR(IP8_7_4, SD0_DAT3), 1012 PINMUX_IPSR_MSEL(IP8_7_4, MSIOF1_SS2_E, SEL_MSIOF1_4), 1013 PINMUX_IPSR_MSEL(IP8_7_4, TS_SDEN0_B, SEL_TSIF0_1), 1014 PINMUX_IPSR_MSEL(IP8_7_4, STP_ISEN_0_B, SEL_SSP1_0_1), 1015 1016 PINMUX_IPSR_GPSR(IP8_11_8, SD1_CLK), 1017 PINMUX_IPSR_MSEL(IP8_11_8, MSIOF1_SCK_G, SEL_MSIOF1_6), 1018 PINMUX_IPSR_MSEL(IP8_11_8, SIM0_CLK_A, SEL_SIMCARD_0), 1019 1020 PINMUX_IPSR_GPSR(IP8_15_12, SD1_CMD), 1021 PINMUX_IPSR_MSEL(IP8_15_12, MSIOF1_SYNC_G, SEL_MSIOF1_6), 1022 PINMUX_IPSR_GPSR(IP8_15_12, NFCE_N_B), 1023 PINMUX_IPSR_MSEL(IP8_15_12, SIM0_D_A, SEL_SIMCARD_0), 1024 PINMUX_IPSR_MSEL(IP8_15_12, STP_IVCXO27_1_B, SEL_SSP1_1_1), 1025 1026 PINMUX_IPSR_GPSR(IP8_19_16, SD1_DAT0), 1027 PINMUX_IPSR_GPSR(IP8_19_16, SD2_DAT4), 1028 PINMUX_IPSR_MSEL(IP8_19_16, MSIOF1_RXD_G, SEL_MSIOF1_6), 1029 PINMUX_IPSR_GPSR(IP8_19_16, NFWP_N_B), 1030 PINMUX_IPSR_MSEL(IP8_19_16, TS_SCK1_B, SEL_TSIF1_1), 1031 PINMUX_IPSR_MSEL(IP8_19_16, STP_ISCLK_1_B, SEL_SSP1_1_1), 1032 1033 PINMUX_IPSR_GPSR(IP8_23_20, SD1_DAT1), 1034 PINMUX_IPSR_GPSR(IP8_23_20, SD2_DAT5), 1035 PINMUX_IPSR_MSEL(IP8_23_20, MSIOF1_TXD_G, SEL_MSIOF1_6), 1036 PINMUX_IPSR_GPSR(IP8_23_20, NFDATA14_B), 1037 PINMUX_IPSR_MSEL(IP8_23_20, TS_SPSYNC1_B, SEL_TSIF1_1), 1038 PINMUX_IPSR_MSEL(IP8_23_20, STP_ISSYNC_1_B, SEL_SSP1_1_1), 1039 1040 PINMUX_IPSR_GPSR(IP8_27_24, SD1_DAT2), 1041 PINMUX_IPSR_GPSR(IP8_27_24, SD2_DAT6), 1042 PINMUX_IPSR_MSEL(IP8_27_24, MSIOF1_SS1_G, SEL_MSIOF1_6), 1043 PINMUX_IPSR_GPSR(IP8_27_24, NFDATA15_B), 1044 PINMUX_IPSR_MSEL(IP8_27_24, TS_SDAT1_B, SEL_TSIF1_1), 1045 PINMUX_IPSR_MSEL(IP8_27_24, STP_ISD_1_B, SEL_SSP1_1_1), 1046 1047 PINMUX_IPSR_GPSR(IP8_31_28, SD1_DAT3), 1048 PINMUX_IPSR_GPSR(IP8_31_28, SD2_DAT7), 1049 PINMUX_IPSR_MSEL(IP8_31_28, MSIOF1_SS2_G, SEL_MSIOF1_6), 1050 PINMUX_IPSR_GPSR(IP8_31_28, NFRB_N_B), 1051 PINMUX_IPSR_MSEL(IP8_31_28, TS_SDEN1_B, SEL_TSIF1_1), 1052 PINMUX_IPSR_MSEL(IP8_31_28, STP_ISEN_1_B, SEL_SSP1_1_1), 1053 1054 /* IPSR9 */ 1055 PINMUX_IPSR_GPSR(IP9_3_0, SD2_CLK), 1056 PINMUX_IPSR_GPSR(IP9_3_0, NFDATA8), 1057 1058 PINMUX_IPSR_GPSR(IP9_7_4, SD2_CMD), 1059 PINMUX_IPSR_GPSR(IP9_7_4, NFDATA9), 1060 1061 PINMUX_IPSR_GPSR(IP9_11_8, SD2_DAT0), 1062 PINMUX_IPSR_GPSR(IP9_11_8, NFDATA10), 1063 1064 PINMUX_IPSR_GPSR(IP9_15_12, SD2_DAT1), 1065 PINMUX_IPSR_GPSR(IP9_15_12, NFDATA11), 1066 1067 PINMUX_IPSR_GPSR(IP9_19_16, SD2_DAT2), 1068 PINMUX_IPSR_GPSR(IP9_19_16, NFDATA12), 1069 1070 PINMUX_IPSR_GPSR(IP9_23_20, SD2_DAT3), 1071 PINMUX_IPSR_GPSR(IP9_23_20, NFDATA13), 1072 1073 PINMUX_IPSR_GPSR(IP9_27_24, SD2_DS), 1074 PINMUX_IPSR_GPSR(IP9_27_24, NFALE), 1075 PINMUX_IPSR_GPSR(IP9_27_24, SATA_DEVSLP_B), 1076 1077 PINMUX_IPSR_GPSR(IP9_31_28, SD3_CLK), 1078 PINMUX_IPSR_GPSR(IP9_31_28, NFWE_N), 1079 1080 /* IPSR10 */ 1081 PINMUX_IPSR_GPSR(IP10_3_0, SD3_CMD), 1082 PINMUX_IPSR_GPSR(IP10_3_0, NFRE_N), 1083 1084 PINMUX_IPSR_GPSR(IP10_7_4, SD3_DAT0), 1085 PINMUX_IPSR_GPSR(IP10_7_4, NFDATA0), 1086 1087 PINMUX_IPSR_GPSR(IP10_11_8, SD3_DAT1), 1088 PINMUX_IPSR_GPSR(IP10_11_8, NFDATA1), 1089 1090 PINMUX_IPSR_GPSR(IP10_15_12, SD3_DAT2), 1091 PINMUX_IPSR_GPSR(IP10_15_12, NFDATA2), 1092 1093 PINMUX_IPSR_GPSR(IP10_19_16, SD3_DAT3), 1094 PINMUX_IPSR_GPSR(IP10_19_16, NFDATA3), 1095 1096 PINMUX_IPSR_GPSR(IP10_23_20, SD3_DAT4), 1097 PINMUX_IPSR_MSEL(IP10_23_20, SD2_CD_A, SEL_SDHI2_0), 1098 PINMUX_IPSR_GPSR(IP10_23_20, NFDATA4), 1099 1100 PINMUX_IPSR_GPSR(IP10_27_24, SD3_DAT5), 1101 PINMUX_IPSR_MSEL(IP10_27_24, SD2_WP_A, SEL_SDHI2_0), 1102 PINMUX_IPSR_GPSR(IP10_27_24, NFDATA5), 1103 1104 PINMUX_IPSR_GPSR(IP10_31_28, SD3_DAT6), 1105 PINMUX_IPSR_GPSR(IP10_31_28, SD3_CD), 1106 PINMUX_IPSR_GPSR(IP10_31_28, NFDATA6), 1107 1108 /* IPSR11 */ 1109 PINMUX_IPSR_GPSR(IP11_3_0, SD3_DAT7), 1110 PINMUX_IPSR_GPSR(IP11_3_0, SD3_WP), 1111 PINMUX_IPSR_GPSR(IP11_3_0, NFDATA7), 1112 1113 PINMUX_IPSR_GPSR(IP11_7_4, SD3_DS), 1114 PINMUX_IPSR_GPSR(IP11_7_4, NFCLE), 1115 1116 PINMUX_IPSR_GPSR(IP11_11_8, SD0_CD), 1117 PINMUX_IPSR_MSEL(IP11_11_8, SCL2_B, SEL_I2C2_1), 1118 PINMUX_IPSR_MSEL(IP11_11_8, SIM0_RST_A, SEL_SIMCARD_0), 1119 1120 PINMUX_IPSR_GPSR(IP11_15_12, SD0_WP), 1121 PINMUX_IPSR_MSEL(IP11_15_12, SDA2_B, SEL_I2C2_1), 1122 1123 PINMUX_IPSR_GPSR(IP11_19_16, SD1_CD), 1124 PINMUX_IPSR_MSEL(IP11_19_16, SIM0_CLK_B, SEL_SIMCARD_1), 1125 1126 PINMUX_IPSR_GPSR(IP11_23_20, SD1_WP), 1127 PINMUX_IPSR_MSEL(IP11_23_20, SIM0_D_B, SEL_SIMCARD_1), 1128 1129 PINMUX_IPSR_GPSR(IP11_27_24, SCK0), 1130 PINMUX_IPSR_MSEL(IP11_27_24, HSCK1_B, SEL_HSCIF1_1), 1131 PINMUX_IPSR_MSEL(IP11_27_24, MSIOF1_SS2_B, SEL_MSIOF1_1), 1132 PINMUX_IPSR_MSEL(IP11_27_24, AUDIO_CLKC_B, SEL_ADG_C_1), 1133 PINMUX_IPSR_MSEL(IP11_27_24, SDA2_A, SEL_I2C2_0), 1134 PINMUX_IPSR_MSEL(IP11_27_24, SIM0_RST_B, SEL_SIMCARD_1), 1135 PINMUX_IPSR_MSEL(IP11_27_24, STP_OPWM_0_C, SEL_SSP1_0_2), 1136 PINMUX_IPSR_MSEL(IP11_27_24, RIF0_CLK_B, SEL_DRIF0_1), 1137 PINMUX_IPSR_GPSR(IP11_27_24, ADICHS2), 1138 PINMUX_IPSR_MSEL(IP11_27_24, SCK5_B, SEL_SCIF5_1), 1139 1140 PINMUX_IPSR_GPSR(IP11_31_28, RX0), 1141 PINMUX_IPSR_MSEL(IP11_31_28, HRX1_B, SEL_HSCIF1_1), 1142 PINMUX_IPSR_MSEL(IP11_31_28, TS_SCK0_C, SEL_TSIF0_2), 1143 PINMUX_IPSR_MSEL(IP11_31_28, STP_ISCLK_0_C, SEL_SSP1_0_2), 1144 PINMUX_IPSR_MSEL(IP11_31_28, RIF0_D0_B, SEL_DRIF0_1), 1145 1146 /* IPSR12 */ 1147 PINMUX_IPSR_GPSR(IP12_3_0, TX0), 1148 PINMUX_IPSR_MSEL(IP12_3_0, HTX1_B, SEL_HSCIF1_1), 1149 PINMUX_IPSR_MSEL(IP12_3_0, TS_SPSYNC0_C, SEL_TSIF0_2), 1150 PINMUX_IPSR_MSEL(IP12_3_0, STP_ISSYNC_0_C, SEL_SSP1_0_2), 1151 PINMUX_IPSR_MSEL(IP12_3_0, RIF0_D1_B, SEL_DRIF0_1), 1152 1153 PINMUX_IPSR_GPSR(IP12_7_4, CTS0_N), 1154 PINMUX_IPSR_MSEL(IP12_7_4, HCTS1_N_B, SEL_HSCIF1_1), 1155 PINMUX_IPSR_MSEL(IP12_7_4, MSIOF1_SYNC_B, SEL_MSIOF1_1), 1156 PINMUX_IPSR_MSEL(IP12_7_4, TS_SPSYNC1_C, SEL_TSIF1_2), 1157 PINMUX_IPSR_MSEL(IP12_7_4, STP_ISSYNC_1_C, SEL_SSP1_1_2), 1158 PINMUX_IPSR_MSEL(IP12_7_4, RIF1_SYNC_B, SEL_DRIF1_1), 1159 PINMUX_IPSR_GPSR(IP12_7_4, AUDIO_CLKOUT_C), 1160 PINMUX_IPSR_GPSR(IP12_7_4, ADICS_SAMP), 1161 1162 PINMUX_IPSR_GPSR(IP12_11_8, RTS0_N_TANS), 1163 PINMUX_IPSR_MSEL(IP12_11_8, HRTS1_N_B, SEL_HSCIF1_1), 1164 PINMUX_IPSR_MSEL(IP12_11_8, MSIOF1_SS1_B, SEL_MSIOF1_1), 1165 PINMUX_IPSR_MSEL(IP12_11_8, AUDIO_CLKA_B, SEL_ADG_A_1), 1166 PINMUX_IPSR_MSEL(IP12_11_8, SCL2_A, SEL_I2C2_0), 1167 PINMUX_IPSR_MSEL(IP12_11_8, STP_IVCXO27_1_C, SEL_SSP1_1_2), 1168 PINMUX_IPSR_MSEL(IP12_11_8, RIF0_SYNC_B, SEL_DRIF0_1), 1169 PINMUX_IPSR_GPSR(IP12_11_8, ADICHS1), 1170 1171 PINMUX_IPSR_MSEL(IP12_15_12, RX1_A, SEL_SCIF1_0), 1172 PINMUX_IPSR_MSEL(IP12_15_12, HRX1_A, SEL_HSCIF1_0), 1173 PINMUX_IPSR_MSEL(IP12_15_12, TS_SDAT0_C, SEL_TSIF0_2), 1174 PINMUX_IPSR_MSEL(IP12_15_12, STP_ISD_0_C, SEL_SSP1_0_2), 1175 PINMUX_IPSR_MSEL(IP12_15_12, RIF1_CLK_C, SEL_DRIF1_2), 1176 1177 PINMUX_IPSR_MSEL(IP12_19_16, TX1_A, SEL_SCIF1_0), 1178 PINMUX_IPSR_MSEL(IP12_19_16, HTX1_A, SEL_HSCIF1_0), 1179 PINMUX_IPSR_MSEL(IP12_19_16, TS_SDEN0_C, SEL_TSIF0_2), 1180 PINMUX_IPSR_MSEL(IP12_19_16, STP_ISEN_0_C, SEL_SSP1_0_2), 1181 PINMUX_IPSR_MSEL(IP12_19_16, RIF1_D0_C, SEL_DRIF1_2), 1182 1183 PINMUX_IPSR_GPSR(IP12_23_20, CTS1_N), 1184 PINMUX_IPSR_MSEL(IP12_23_20, HCTS1_N_A, SEL_HSCIF1_0), 1185 PINMUX_IPSR_MSEL(IP12_23_20, MSIOF1_RXD_B, SEL_MSIOF1_1), 1186 PINMUX_IPSR_MSEL(IP12_23_20, TS_SDEN1_C, SEL_TSIF1_2), 1187 PINMUX_IPSR_MSEL(IP12_23_20, STP_ISEN_1_C, SEL_SSP1_1_2), 1188 PINMUX_IPSR_MSEL(IP12_23_20, RIF1_D0_B, SEL_DRIF1_1), 1189 PINMUX_IPSR_GPSR(IP12_23_20, ADIDATA), 1190 1191 PINMUX_IPSR_GPSR(IP12_27_24, RTS1_N_TANS), 1192 PINMUX_IPSR_MSEL(IP12_27_24, HRTS1_N_A, SEL_HSCIF1_0), 1193 PINMUX_IPSR_MSEL(IP12_27_24, MSIOF1_TXD_B, SEL_MSIOF1_1), 1194 PINMUX_IPSR_MSEL(IP12_27_24, TS_SDAT1_C, SEL_TSIF1_2), 1195 PINMUX_IPSR_MSEL(IP12_27_24, STP_ISD_1_C, SEL_SSP1_1_2), 1196 PINMUX_IPSR_MSEL(IP12_27_24, RIF1_D1_B, SEL_DRIF1_1), 1197 PINMUX_IPSR_GPSR(IP12_27_24, ADICHS0), 1198 1199 PINMUX_IPSR_GPSR(IP12_31_28, SCK2), 1200 PINMUX_IPSR_MSEL(IP12_31_28, SCIF_CLK_B, SEL_SCIF_1), 1201 PINMUX_IPSR_MSEL(IP12_31_28, MSIOF1_SCK_B, SEL_MSIOF1_1), 1202 PINMUX_IPSR_MSEL(IP12_31_28, TS_SCK1_C, SEL_TSIF1_2), 1203 PINMUX_IPSR_MSEL(IP12_31_28, STP_ISCLK_1_C, SEL_SSP1_1_2), 1204 PINMUX_IPSR_MSEL(IP12_31_28, RIF1_CLK_B, SEL_DRIF1_1), 1205 PINMUX_IPSR_GPSR(IP12_31_28, ADICLK), 1206 1207 /* IPSR13 */ 1208 PINMUX_IPSR_MSEL(IP13_3_0, TX2_A, SEL_SCIF2_0), 1209 PINMUX_IPSR_MSEL(IP13_3_0, SD2_CD_B, SEL_SDHI2_1), 1210 PINMUX_IPSR_MSEL(IP13_3_0, SCL1_A, SEL_I2C1_0), 1211 PINMUX_IPSR_MSEL(IP13_3_0, FMCLK_A, SEL_FM_0), 1212 PINMUX_IPSR_MSEL(IP13_3_0, RIF1_D1_C, SEL_DRIF1_2), 1213 PINMUX_IPSR_GPSR(IP13_3_0, FSO_CFE_0_N), 1214 1215 PINMUX_IPSR_MSEL(IP13_7_4, RX2_A, SEL_SCIF2_0), 1216 PINMUX_IPSR_MSEL(IP13_7_4, SD2_WP_B, SEL_SDHI2_1), 1217 PINMUX_IPSR_MSEL(IP13_7_4, SDA1_A, SEL_I2C1_0), 1218 PINMUX_IPSR_MSEL(IP13_7_4, FMIN_A, SEL_FM_0), 1219 PINMUX_IPSR_MSEL(IP13_7_4, RIF1_SYNC_C, SEL_DRIF1_2), 1220 PINMUX_IPSR_GPSR(IP13_7_4, FSO_CFE_1_N), 1221 1222 PINMUX_IPSR_GPSR(IP13_11_8, HSCK0), 1223 PINMUX_IPSR_MSEL(IP13_11_8, MSIOF1_SCK_D, SEL_MSIOF1_3), 1224 PINMUX_IPSR_MSEL(IP13_11_8, AUDIO_CLKB_A, SEL_ADG_B_0), 1225 PINMUX_IPSR_MSEL(IP13_11_8, SSI_SDATA1_B, SEL_SSI_1), 1226 PINMUX_IPSR_MSEL(IP13_11_8, TS_SCK0_D, SEL_TSIF0_3), 1227 PINMUX_IPSR_MSEL(IP13_11_8, STP_ISCLK_0_D, SEL_SSP1_0_3), 1228 PINMUX_IPSR_MSEL(IP13_11_8, RIF0_CLK_C, SEL_DRIF0_2), 1229 PINMUX_IPSR_MSEL(IP13_11_8, RX5_B, SEL_SCIF5_1), 1230 1231 PINMUX_IPSR_GPSR(IP13_15_12, HRX0), 1232 PINMUX_IPSR_MSEL(IP13_15_12, MSIOF1_RXD_D, SEL_MSIOF1_3), 1233 PINMUX_IPSR_MSEL(IP13_15_12, SSI_SDATA2_B, SEL_SSI_1), 1234 PINMUX_IPSR_MSEL(IP13_15_12, TS_SDEN0_D, SEL_TSIF0_3), 1235 PINMUX_IPSR_MSEL(IP13_15_12, STP_ISEN_0_D, SEL_SSP1_0_3), 1236 PINMUX_IPSR_MSEL(IP13_15_12, RIF0_D0_C, SEL_DRIF0_2), 1237 1238 PINMUX_IPSR_GPSR(IP13_19_16, HTX0), 1239 PINMUX_IPSR_MSEL(IP13_19_16, MSIOF1_TXD_D, SEL_MSIOF1_3), 1240 PINMUX_IPSR_MSEL(IP13_19_16, SSI_SDATA9_B, SEL_SSI_1), 1241 PINMUX_IPSR_MSEL(IP13_19_16, TS_SDAT0_D, SEL_TSIF0_3), 1242 PINMUX_IPSR_MSEL(IP13_19_16, STP_ISD_0_D, SEL_SSP1_0_3), 1243 PINMUX_IPSR_MSEL(IP13_19_16, RIF0_D1_C, SEL_DRIF0_2), 1244 1245 PINMUX_IPSR_GPSR(IP13_23_20, HCTS0_N), 1246 PINMUX_IPSR_MSEL(IP13_23_20, RX2_B, SEL_SCIF2_1), 1247 PINMUX_IPSR_MSEL(IP13_23_20, MSIOF1_SYNC_D, SEL_MSIOF1_3), 1248 PINMUX_IPSR_MSEL(IP13_23_20, SSI_SCK9_A, SEL_SSI_0), 1249 PINMUX_IPSR_MSEL(IP13_23_20, TS_SPSYNC0_D, SEL_TSIF0_3), 1250 PINMUX_IPSR_MSEL(IP13_23_20, STP_ISSYNC_0_D, SEL_SSP1_0_3), 1251 PINMUX_IPSR_MSEL(IP13_23_20, RIF0_SYNC_C, SEL_DRIF0_2), 1252 PINMUX_IPSR_GPSR(IP13_23_20, AUDIO_CLKOUT1_A), 1253 1254 PINMUX_IPSR_GPSR(IP13_27_24, HRTS0_N), 1255 PINMUX_IPSR_MSEL(IP13_27_24, TX2_B, SEL_SCIF2_1), 1256 PINMUX_IPSR_MSEL(IP13_27_24, MSIOF1_SS1_D, SEL_MSIOF1_3), 1257 PINMUX_IPSR_MSEL(IP13_27_24, SSI_WS9_A, SEL_SSI_0), 1258 PINMUX_IPSR_MSEL(IP13_27_24, STP_IVCXO27_0_D, SEL_SSP1_0_3), 1259 PINMUX_IPSR_MSEL(IP13_27_24, BPFCLK_A, SEL_FM_0), 1260 PINMUX_IPSR_GPSR(IP13_27_24, AUDIO_CLKOUT2_A), 1261 1262 PINMUX_IPSR_GPSR(IP13_31_28, MSIOF0_SYNC), 1263 PINMUX_IPSR_GPSR(IP13_31_28, AUDIO_CLKOUT_A), 1264 PINMUX_IPSR_MSEL(IP13_31_28, TX5_B, SEL_SCIF5_1), 1265 PINMUX_IPSR_MSEL(IP13_31_28, BPFCLK_D, SEL_FM_3), 1266 1267 /* IPSR14 */ 1268 PINMUX_IPSR_GPSR(IP14_3_0, MSIOF0_SS1), 1269 PINMUX_IPSR_MSEL(IP14_3_0, RX5_A, SEL_SCIF5_0), 1270 PINMUX_IPSR_GPSR(IP14_3_0, NFWP_N_A), 1271 PINMUX_IPSR_MSEL(IP14_3_0, AUDIO_CLKA_C, SEL_ADG_A_2), 1272 PINMUX_IPSR_MSEL(IP14_3_0, SSI_SCK2_A, SEL_SSI_0), 1273 PINMUX_IPSR_MSEL(IP14_3_0, STP_IVCXO27_0_C, SEL_SSP1_0_2), 1274 PINMUX_IPSR_GPSR(IP14_3_0, AUDIO_CLKOUT3_A), 1275 PINMUX_IPSR_MSEL(IP14_3_0, TCLK1_B, SEL_TIMER_TMU1_1), 1276 1277 PINMUX_IPSR_GPSR(IP14_7_4, MSIOF0_SS2), 1278 PINMUX_IPSR_MSEL(IP14_7_4, TX5_A, SEL_SCIF5_0), 1279 PINMUX_IPSR_MSEL(IP14_7_4, MSIOF1_SS2_D, SEL_MSIOF1_3), 1280 PINMUX_IPSR_MSEL(IP14_7_4, AUDIO_CLKC_A, SEL_ADG_C_0), 1281 PINMUX_IPSR_MSEL(IP14_7_4, SSI_WS2_A, SEL_SSI_0), 1282 PINMUX_IPSR_MSEL(IP14_7_4, STP_OPWM_0_D, SEL_SSP1_0_3), 1283 PINMUX_IPSR_GPSR(IP14_7_4, AUDIO_CLKOUT_D), 1284 PINMUX_IPSR_MSEL(IP14_7_4, SPEEDIN_B, SEL_SPEED_PULSE_1), 1285 1286 PINMUX_IPSR_GPSR(IP14_11_8, MLB_CLK), 1287 PINMUX_IPSR_MSEL(IP14_11_8, MSIOF1_SCK_F, SEL_MSIOF1_5), 1288 PINMUX_IPSR_MSEL(IP14_11_8, SCL1_B, SEL_I2C1_1), 1289 1290 PINMUX_IPSR_GPSR(IP14_15_12, MLB_SIG), 1291 PINMUX_IPSR_MSEL(IP14_15_12, RX1_B, SEL_SCIF1_1), 1292 PINMUX_IPSR_MSEL(IP14_15_12, MSIOF1_SYNC_F, SEL_MSIOF1_5), 1293 PINMUX_IPSR_MSEL(IP14_15_12, SDA1_B, SEL_I2C1_1), 1294 1295 PINMUX_IPSR_GPSR(IP14_19_16, MLB_DAT), 1296 PINMUX_IPSR_MSEL(IP14_19_16, TX1_B, SEL_SCIF1_1), 1297 PINMUX_IPSR_MSEL(IP14_19_16, MSIOF1_RXD_F, SEL_MSIOF1_5), 1298 1299 PINMUX_IPSR_GPSR(IP14_23_20, SSI_SCK01239), 1300 PINMUX_IPSR_MSEL(IP14_23_20, MSIOF1_TXD_F, SEL_MSIOF1_5), 1301 1302 PINMUX_IPSR_GPSR(IP14_27_24, SSI_WS01239), 1303 PINMUX_IPSR_MSEL(IP14_27_24, MSIOF1_SS1_F, SEL_MSIOF1_5), 1304 1305 PINMUX_IPSR_GPSR(IP14_31_28, SSI_SDATA0), 1306 PINMUX_IPSR_MSEL(IP14_31_28, MSIOF1_SS2_F, SEL_MSIOF1_5), 1307 1308 /* IPSR15 */ 1309 PINMUX_IPSR_MSEL(IP15_3_0, SSI_SDATA1_A, SEL_SSI_0), 1310 1311 PINMUX_IPSR_MSEL(IP15_7_4, SSI_SDATA2_A, SEL_SSI_0), 1312 PINMUX_IPSR_MSEL(IP15_7_4, SSI_SCK1_B, SEL_SSI_1), 1313 1314 PINMUX_IPSR_GPSR(IP15_11_8, SSI_SCK349), 1315 PINMUX_IPSR_MSEL(IP15_11_8, MSIOF1_SS1_A, SEL_MSIOF1_0), 1316 PINMUX_IPSR_MSEL(IP15_11_8, STP_OPWM_0_A, SEL_SSP1_0_0), 1317 1318 PINMUX_IPSR_GPSR(IP15_15_12, SSI_WS349), 1319 PINMUX_IPSR_MSEL(IP15_15_12, HCTS2_N_A, SEL_HSCIF2_0), 1320 PINMUX_IPSR_MSEL(IP15_15_12, MSIOF1_SS2_A, SEL_MSIOF1_0), 1321 PINMUX_IPSR_MSEL(IP15_15_12, STP_IVCXO27_0_A, SEL_SSP1_0_0), 1322 1323 PINMUX_IPSR_GPSR(IP15_19_16, SSI_SDATA3), 1324 PINMUX_IPSR_MSEL(IP15_19_16, HRTS2_N_A, SEL_HSCIF2_0), 1325 PINMUX_IPSR_MSEL(IP15_19_16, MSIOF1_TXD_A, SEL_MSIOF1_0), 1326 PINMUX_IPSR_MSEL(IP15_19_16, TS_SCK0_A, SEL_TSIF0_0), 1327 PINMUX_IPSR_MSEL(IP15_19_16, STP_ISCLK_0_A, SEL_SSP1_0_0), 1328 PINMUX_IPSR_MSEL(IP15_19_16, RIF0_D1_A, SEL_DRIF0_0), 1329 PINMUX_IPSR_MSEL(IP15_19_16, RIF2_D0_A, SEL_DRIF2_0), 1330 1331 PINMUX_IPSR_GPSR(IP15_23_20, SSI_SCK4), 1332 PINMUX_IPSR_MSEL(IP15_23_20, HRX2_A, SEL_HSCIF2_0), 1333 PINMUX_IPSR_MSEL(IP15_23_20, MSIOF1_SCK_A, SEL_MSIOF1_0), 1334 PINMUX_IPSR_MSEL(IP15_23_20, TS_SDAT0_A, SEL_TSIF0_0), 1335 PINMUX_IPSR_MSEL(IP15_23_20, STP_ISD_0_A, SEL_SSP1_0_0), 1336 PINMUX_IPSR_MSEL(IP15_23_20, RIF0_CLK_A, SEL_DRIF0_0), 1337 PINMUX_IPSR_MSEL(IP15_23_20, RIF2_CLK_A, SEL_DRIF2_0), 1338 1339 PINMUX_IPSR_GPSR(IP15_27_24, SSI_WS4), 1340 PINMUX_IPSR_MSEL(IP15_27_24, HTX2_A, SEL_HSCIF2_0), 1341 PINMUX_IPSR_MSEL(IP15_27_24, MSIOF1_SYNC_A, SEL_MSIOF1_0), 1342 PINMUX_IPSR_MSEL(IP15_27_24, TS_SDEN0_A, SEL_TSIF0_0), 1343 PINMUX_IPSR_MSEL(IP15_27_24, STP_ISEN_0_A, SEL_SSP1_0_0), 1344 PINMUX_IPSR_MSEL(IP15_27_24, RIF0_SYNC_A, SEL_DRIF0_0), 1345 PINMUX_IPSR_MSEL(IP15_27_24, RIF2_SYNC_A, SEL_DRIF2_0), 1346 1347 PINMUX_IPSR_GPSR(IP15_31_28, SSI_SDATA4), 1348 PINMUX_IPSR_MSEL(IP15_31_28, HSCK2_A, SEL_HSCIF2_0), 1349 PINMUX_IPSR_MSEL(IP15_31_28, MSIOF1_RXD_A, SEL_MSIOF1_0), 1350 PINMUX_IPSR_MSEL(IP15_31_28, TS_SPSYNC0_A, SEL_TSIF0_0), 1351 PINMUX_IPSR_MSEL(IP15_31_28, STP_ISSYNC_0_A, SEL_SSP1_0_0), 1352 PINMUX_IPSR_MSEL(IP15_31_28, RIF0_D0_A, SEL_DRIF0_0), 1353 PINMUX_IPSR_MSEL(IP15_31_28, RIF2_D1_A, SEL_DRIF2_0), 1354 1355 /* IPSR16 */ 1356 PINMUX_IPSR_GPSR(IP16_3_0, SSI_SCK6), 1357 PINMUX_IPSR_GPSR(IP16_3_0, USB2_PWEN), 1358 PINMUX_IPSR_MSEL(IP16_3_0, SIM0_RST_D, SEL_SIMCARD_3), 1359 1360 PINMUX_IPSR_GPSR(IP16_7_4, SSI_WS6), 1361 PINMUX_IPSR_GPSR(IP16_7_4, USB2_OVC), 1362 PINMUX_IPSR_MSEL(IP16_7_4, SIM0_D_D, SEL_SIMCARD_3), 1363 1364 PINMUX_IPSR_GPSR(IP16_11_8, SSI_SDATA6), 1365 PINMUX_IPSR_MSEL(IP16_11_8, SIM0_CLK_D, SEL_SIMCARD_3), 1366 PINMUX_IPSR_GPSR(IP16_11_8, SATA_DEVSLP_A), 1367 1368 PINMUX_IPSR_GPSR(IP16_15_12, SSI_SCK78), 1369 PINMUX_IPSR_MSEL(IP16_15_12, HRX2_B, SEL_HSCIF2_1), 1370 PINMUX_IPSR_MSEL(IP16_15_12, MSIOF1_SCK_C, SEL_MSIOF1_2), 1371 PINMUX_IPSR_MSEL(IP16_15_12, TS_SCK1_A, SEL_TSIF1_0), 1372 PINMUX_IPSR_MSEL(IP16_15_12, STP_ISCLK_1_A, SEL_SSP1_1_0), 1373 PINMUX_IPSR_MSEL(IP16_15_12, RIF1_CLK_A, SEL_DRIF1_0), 1374 PINMUX_IPSR_MSEL(IP16_15_12, RIF3_CLK_A, SEL_DRIF3_0), 1375 1376 PINMUX_IPSR_GPSR(IP16_19_16, SSI_WS78), 1377 PINMUX_IPSR_MSEL(IP16_19_16, HTX2_B, SEL_HSCIF2_1), 1378 PINMUX_IPSR_MSEL(IP16_19_16, MSIOF1_SYNC_C, SEL_MSIOF1_2), 1379 PINMUX_IPSR_MSEL(IP16_19_16, TS_SDAT1_A, SEL_TSIF1_0), 1380 PINMUX_IPSR_MSEL(IP16_19_16, STP_ISD_1_A, SEL_SSP1_1_0), 1381 PINMUX_IPSR_MSEL(IP16_19_16, RIF1_SYNC_A, SEL_DRIF1_0), 1382 PINMUX_IPSR_MSEL(IP16_19_16, RIF3_SYNC_A, SEL_DRIF3_0), 1383 1384 PINMUX_IPSR_GPSR(IP16_23_20, SSI_SDATA7), 1385 PINMUX_IPSR_MSEL(IP16_23_20, HCTS2_N_B, SEL_HSCIF2_1), 1386 PINMUX_IPSR_MSEL(IP16_23_20, MSIOF1_RXD_C, SEL_MSIOF1_2), 1387 PINMUX_IPSR_MSEL(IP16_23_20, TS_SDEN1_A, SEL_TSIF1_0), 1388 PINMUX_IPSR_MSEL(IP16_23_20, STP_ISEN_1_A, SEL_SSP1_1_0), 1389 PINMUX_IPSR_MSEL(IP16_23_20, RIF1_D0_A, SEL_DRIF1_0), 1390 PINMUX_IPSR_MSEL(IP16_23_20, RIF3_D0_A, SEL_DRIF3_0), 1391 PINMUX_IPSR_MSEL(IP16_23_20, TCLK2_A, SEL_TIMER_TMU2_0), 1392 1393 PINMUX_IPSR_GPSR(IP16_27_24, SSI_SDATA8), 1394 PINMUX_IPSR_MSEL(IP16_27_24, HRTS2_N_B, SEL_HSCIF2_1), 1395 PINMUX_IPSR_MSEL(IP16_27_24, MSIOF1_TXD_C, SEL_MSIOF1_2), 1396 PINMUX_IPSR_MSEL(IP16_27_24, TS_SPSYNC1_A, SEL_TSIF1_0), 1397 PINMUX_IPSR_MSEL(IP16_27_24, STP_ISSYNC_1_A, SEL_SSP1_1_0), 1398 PINMUX_IPSR_MSEL(IP16_27_24, RIF1_D1_A, SEL_DRIF1_0), 1399 PINMUX_IPSR_MSEL(IP16_27_24, RIF3_D1_A, SEL_DRIF3_0), 1400 1401 PINMUX_IPSR_MSEL(IP16_31_28, SSI_SDATA9_A, SEL_SSI_0), 1402 PINMUX_IPSR_MSEL(IP16_31_28, HSCK2_B, SEL_HSCIF2_1), 1403 PINMUX_IPSR_MSEL(IP16_31_28, MSIOF1_SS1_C, SEL_MSIOF1_2), 1404 PINMUX_IPSR_MSEL(IP16_31_28, HSCK1_A, SEL_HSCIF1_0), 1405 PINMUX_IPSR_MSEL(IP16_31_28, SSI_WS1_B, SEL_SSI_1), 1406 PINMUX_IPSR_GPSR(IP16_31_28, SCK1), 1407 PINMUX_IPSR_MSEL(IP16_31_28, STP_IVCXO27_1_A, SEL_SSP1_1_0), 1408 PINMUX_IPSR_MSEL(IP16_31_28, SCK5_A, SEL_SCIF5_0), 1409 1410 /* IPSR17 */ 1411 PINMUX_IPSR_MSEL(IP17_3_0, AUDIO_CLKA_A, SEL_ADG_A_0), 1412 PINMUX_IPSR_GPSR(IP17_3_0, CC5_OSCOUT), 1413 1414 PINMUX_IPSR_MSEL(IP17_7_4, AUDIO_CLKB_B, SEL_ADG_B_1), 1415 PINMUX_IPSR_MSEL(IP17_7_4, SCIF_CLK_A, SEL_SCIF_0), 1416 PINMUX_IPSR_MSEL(IP17_7_4, STP_IVCXO27_1_D, SEL_SSP1_1_3), 1417 PINMUX_IPSR_MSEL(IP17_7_4, REMOCON_A, SEL_REMOCON_0), 1418 PINMUX_IPSR_MSEL(IP17_7_4, TCLK1_A, SEL_TIMER_TMU1_0), 1419 1420 PINMUX_IPSR_GPSR(IP17_11_8, USB0_PWEN), 1421 PINMUX_IPSR_MSEL(IP17_11_8, SIM0_RST_C, SEL_SIMCARD_2), 1422 PINMUX_IPSR_MSEL(IP17_11_8, TS_SCK1_D, SEL_TSIF1_3), 1423 PINMUX_IPSR_MSEL(IP17_11_8, STP_ISCLK_1_D, SEL_SSP1_1_3), 1424 PINMUX_IPSR_MSEL(IP17_11_8, BPFCLK_B, SEL_FM_1), 1425 PINMUX_IPSR_MSEL(IP17_11_8, RIF3_CLK_B, SEL_DRIF3_1), 1426 PINMUX_IPSR_MSEL(IP17_11_8, HSCK2_C, SEL_HSCIF2_2), 1427 1428 PINMUX_IPSR_GPSR(IP17_15_12, USB0_OVC), 1429 PINMUX_IPSR_MSEL(IP17_15_12, SIM0_D_C, SEL_SIMCARD_2), 1430 PINMUX_IPSR_MSEL(IP17_15_12, TS_SDAT1_D, SEL_TSIF1_3), 1431 PINMUX_IPSR_MSEL(IP17_15_12, STP_ISD_1_D, SEL_SSP1_1_3), 1432 PINMUX_IPSR_MSEL(IP17_15_12, RIF3_SYNC_B, SEL_DRIF3_1), 1433 PINMUX_IPSR_MSEL(IP17_15_12, HRX2_C, SEL_HSCIF2_2), 1434 1435 PINMUX_IPSR_GPSR(IP17_19_16, USB1_PWEN), 1436 PINMUX_IPSR_MSEL(IP17_19_16, SIM0_CLK_C, SEL_SIMCARD_2), 1437 PINMUX_IPSR_MSEL(IP17_19_16, SSI_SCK1_A, SEL_SSI_0), 1438 PINMUX_IPSR_MSEL(IP17_19_16, TS_SCK0_E, SEL_TSIF0_4), 1439 PINMUX_IPSR_MSEL(IP17_19_16, STP_ISCLK_0_E, SEL_SSP1_0_4), 1440 PINMUX_IPSR_MSEL(IP17_19_16, FMCLK_B, SEL_FM_1), 1441 PINMUX_IPSR_MSEL(IP17_19_16, RIF2_CLK_B, SEL_DRIF2_1), 1442 PINMUX_IPSR_MSEL(IP17_19_16, SPEEDIN_A, SEL_SPEED_PULSE_0), 1443 PINMUX_IPSR_MSEL(IP17_19_16, HTX2_C, SEL_HSCIF2_2), 1444 1445 PINMUX_IPSR_GPSR(IP17_23_20, USB1_OVC), 1446 PINMUX_IPSR_MSEL(IP17_23_20, MSIOF1_SS2_C, SEL_MSIOF1_2), 1447 PINMUX_IPSR_MSEL(IP17_23_20, SSI_WS1_A, SEL_SSI_0), 1448 PINMUX_IPSR_MSEL(IP17_23_20, TS_SDAT0_E, SEL_TSIF0_4), 1449 PINMUX_IPSR_MSEL(IP17_23_20, STP_ISD_0_E, SEL_SSP1_0_4), 1450 PINMUX_IPSR_MSEL(IP17_23_20, FMIN_B, SEL_FM_1), 1451 PINMUX_IPSR_MSEL(IP17_23_20, RIF2_SYNC_B, SEL_DRIF2_1), 1452 PINMUX_IPSR_MSEL(IP17_23_20, REMOCON_B, SEL_REMOCON_1), 1453 PINMUX_IPSR_MSEL(IP17_23_20, HCTS2_N_C, SEL_HSCIF2_2), 1454 1455 PINMUX_IPSR_GPSR(IP17_27_24, USB30_PWEN), 1456 PINMUX_IPSR_GPSR(IP17_27_24, AUDIO_CLKOUT_B), 1457 PINMUX_IPSR_MSEL(IP17_27_24, SSI_SCK2_B, SEL_SSI_1), 1458 PINMUX_IPSR_MSEL(IP17_27_24, TS_SDEN1_D, SEL_TSIF1_3), 1459 PINMUX_IPSR_MSEL(IP17_27_24, STP_ISEN_1_D, SEL_SSP1_1_3), 1460 PINMUX_IPSR_MSEL(IP17_27_24, STP_OPWM_0_E, SEL_SSP1_0_4), 1461 PINMUX_IPSR_MSEL(IP17_27_24, RIF3_D0_B, SEL_DRIF3_1), 1462 PINMUX_IPSR_MSEL(IP17_27_24, TCLK2_B, SEL_TIMER_TMU2_1), 1463 PINMUX_IPSR_GPSR(IP17_27_24, TPU0TO0), 1464 PINMUX_IPSR_MSEL(IP17_27_24, BPFCLK_C, SEL_FM_2), 1465 PINMUX_IPSR_MSEL(IP17_27_24, HRTS2_N_C, SEL_HSCIF2_2), 1466 1467 PINMUX_IPSR_GPSR(IP17_31_28, USB30_OVC), 1468 PINMUX_IPSR_GPSR(IP17_31_28, AUDIO_CLKOUT1_B), 1469 PINMUX_IPSR_MSEL(IP17_31_28, SSI_WS2_B, SEL_SSI_1), 1470 PINMUX_IPSR_MSEL(IP17_31_28, TS_SPSYNC1_D, SEL_TSIF1_3), 1471 PINMUX_IPSR_MSEL(IP17_31_28, STP_ISSYNC_1_D, SEL_SSP1_1_3), 1472 PINMUX_IPSR_MSEL(IP17_31_28, STP_IVCXO27_0_E, SEL_SSP1_0_4), 1473 PINMUX_IPSR_MSEL(IP17_31_28, RIF3_D1_B, SEL_DRIF3_1), 1474 PINMUX_IPSR_GPSR(IP17_31_28, FSO_TOE_N), 1475 PINMUX_IPSR_GPSR(IP17_31_28, TPU0TO1), 1476 1477 /* IPSR18 */ 1478 PINMUX_IPSR_GPSR(IP18_3_0, USB2_CH3_PWEN), 1479 PINMUX_IPSR_GPSR(IP18_3_0, AUDIO_CLKOUT2_B), 1480 PINMUX_IPSR_MSEL(IP18_3_0, SSI_SCK9_B, SEL_SSI_1), 1481 PINMUX_IPSR_MSEL(IP18_3_0, TS_SDEN0_E, SEL_TSIF0_4), 1482 PINMUX_IPSR_MSEL(IP18_3_0, STP_ISEN_0_E, SEL_SSP1_0_4), 1483 PINMUX_IPSR_MSEL(IP18_3_0, RIF2_D0_B, SEL_DRIF2_1), 1484 PINMUX_IPSR_GPSR(IP18_3_0, TPU0TO2), 1485 PINMUX_IPSR_MSEL(IP18_3_0, FMCLK_C, SEL_FM_2), 1486 PINMUX_IPSR_MSEL(IP18_3_0, FMCLK_D, SEL_FM_3), 1487 1488 PINMUX_IPSR_GPSR(IP18_7_4, USB2_CH3_OVC), 1489 PINMUX_IPSR_GPSR(IP18_7_4, AUDIO_CLKOUT3_B), 1490 PINMUX_IPSR_MSEL(IP18_7_4, SSI_WS9_B, SEL_SSI_1), 1491 PINMUX_IPSR_MSEL(IP18_7_4, TS_SPSYNC0_E, SEL_TSIF0_4), 1492 PINMUX_IPSR_MSEL(IP18_7_4, STP_ISSYNC_0_E, SEL_SSP1_0_4), 1493 PINMUX_IPSR_MSEL(IP18_7_4, RIF2_D1_B, SEL_DRIF2_1), 1494 PINMUX_IPSR_GPSR(IP18_7_4, TPU0TO3), 1495 PINMUX_IPSR_MSEL(IP18_7_4, FMIN_C, SEL_FM_2), 1496 PINMUX_IPSR_MSEL(IP18_7_4, FMIN_D, SEL_FM_3), 1497 1498 /* 1499 * Static pins can not be muxed between different functions but 1500 * still needs a mark entry in the pinmux list. Add each static 1501 * pin to the list without an associated function. The sh-pfc 1502 * core will do the right thing and skip trying to mux then pin 1503 * while still applying configuration to it 1504 */ 1505 #define FM(x) PINMUX_DATA(x##_MARK, 0), 1506 PINMUX_STATIC 1507 #undef FM 1508 }; 1509 1510 /* 1511 * R8A7795 has 8 banks with 32 PGIOS in each => 256 GPIOs. 1512 * Physical layout rows: A - AW, cols: 1 - 39. 1513 */ 1514 #define ROW_GROUP_A(r) ('Z' - 'A' + 1 + (r)) 1515 #define PIN_NUMBER(r, c) (((r) - 'A') * 39 + (c) + 300) 1516 #define PIN_A_NUMBER(r, c) PIN_NUMBER(ROW_GROUP_A(r), c) 1517 1518 static const struct sh_pfc_pin pinmux_pins[] = { 1519 PINMUX_GPIO_GP_ALL(), 1520 1521 /* 1522 * Pins not associated with a GPIO port. 1523 * 1524 * The pin positions are different between different r8a7795 1525 * packages, all that is needed for the pfc driver is a unique 1526 * number for each pin. To this end use the pin layout from 1527 * R-Car H3SiP to calculate a unique number for each pin. 1528 */ 1529 SH_PFC_PIN_NAMED_CFG('A', 8, AVB_TX_CTL, CFG_FLAGS), 1530 SH_PFC_PIN_NAMED_CFG('A', 9, AVB_MDIO, CFG_FLAGS), 1531 SH_PFC_PIN_NAMED_CFG('A', 12, AVB_TXCREFCLK, CFG_FLAGS), 1532 SH_PFC_PIN_NAMED_CFG('A', 13, AVB_RD0, CFG_FLAGS), 1533 SH_PFC_PIN_NAMED_CFG('A', 14, AVB_RD2, CFG_FLAGS), 1534 SH_PFC_PIN_NAMED_CFG('A', 16, AVB_RX_CTL, CFG_FLAGS), 1535 SH_PFC_PIN_NAMED_CFG('A', 17, AVB_TD2, CFG_FLAGS), 1536 SH_PFC_PIN_NAMED_CFG('A', 18, AVB_TD0, CFG_FLAGS), 1537 SH_PFC_PIN_NAMED_CFG('A', 19, AVB_TXC, CFG_FLAGS), 1538 SH_PFC_PIN_NAMED_CFG('B', 13, AVB_RD1, CFG_FLAGS), 1539 SH_PFC_PIN_NAMED_CFG('B', 14, AVB_RD3, CFG_FLAGS), 1540 SH_PFC_PIN_NAMED_CFG('B', 17, AVB_TD3, CFG_FLAGS), 1541 SH_PFC_PIN_NAMED_CFG('B', 18, AVB_TD1, CFG_FLAGS), 1542 SH_PFC_PIN_NAMED_CFG('B', 19, AVB_RXC, CFG_FLAGS), 1543 SH_PFC_PIN_NAMED_CFG('C', 1, PRESETOUT#, CFG_FLAGS), 1544 SH_PFC_PIN_NAMED_CFG('F', 1, CLKOUT, CFG_FLAGS), 1545 SH_PFC_PIN_NAMED_CFG('H', 37, MLB_REF, CFG_FLAGS), 1546 SH_PFC_PIN_NAMED_CFG('V', 3, QSPI1_SPCLK, CFG_FLAGS), 1547 SH_PFC_PIN_NAMED_CFG('V', 5, QSPI1_SSL, CFG_FLAGS), 1548 SH_PFC_PIN_NAMED_CFG('V', 6, RPC_WP#, CFG_FLAGS), 1549 SH_PFC_PIN_NAMED_CFG('V', 7, RPC_RESET#, CFG_FLAGS), 1550 SH_PFC_PIN_NAMED_CFG('W', 3, QSPI0_SPCLK, CFG_FLAGS), 1551 SH_PFC_PIN_NAMED_CFG('Y', 3, QSPI0_SSL, CFG_FLAGS), 1552 SH_PFC_PIN_NAMED_CFG('Y', 6, QSPI0_IO2, CFG_FLAGS), 1553 SH_PFC_PIN_NAMED_CFG('Y', 7, RPC_INT#, CFG_FLAGS), 1554 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('B'), 4, QSPI0_MISO_IO1, CFG_FLAGS), 1555 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('B'), 6, QSPI0_IO3, CFG_FLAGS), 1556 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('C'), 3, QSPI1_IO3, CFG_FLAGS), 1557 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('C'), 5, QSPI0_MOSI_IO0, CFG_FLAGS), 1558 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('C'), 7, QSPI1_MOSI_IO0, CFG_FLAGS), 1559 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 38, FSCLKST#, CFG_FLAGS), 1560 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('D'), 39, EXTALR, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN), 1561 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('E'), 4, QSPI1_IO2, CFG_FLAGS), 1562 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('E'), 5, QSPI1_MISO_IO1, CFG_FLAGS), 1563 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('P'), 7, DU_DOTCLKIN0, CFG_FLAGS), 1564 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('P'), 8, DU_DOTCLKIN1, CFG_FLAGS), 1565 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 7, DU_DOTCLKIN2, CFG_FLAGS), 1566 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 8, DU_DOTCLKIN3, CFG_FLAGS), 1567 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 26, TRST#, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN), 1568 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 29, TDI, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN), 1569 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('R'), 30, TMS, CFG_FLAGS), 1570 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 27, TCK, SH_PFC_PIN_CFG_PULL_UP | SH_PFC_PIN_CFG_PULL_DOWN), 1571 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 28, TDO, SH_PFC_PIN_CFG_DRIVE_STRENGTH), 1572 SH_PFC_PIN_NAMED_CFG(ROW_GROUP_A('T'), 30, ASEBRK, CFG_FLAGS), 1573 }; 1574 1575 /* - EtherAVB --------------------------------------------------------------- */ 1576 static const unsigned int avb_link_pins[] = { 1577 /* AVB_LINK */ 1578 RCAR_GP_PIN(2, 12), 1579 }; 1580 static const unsigned int avb_link_mux[] = { 1581 AVB_LINK_MARK, 1582 }; 1583 static const unsigned int avb_magic_pins[] = { 1584 /* AVB_MAGIC_ */ 1585 RCAR_GP_PIN(2, 10), 1586 }; 1587 static const unsigned int avb_magic_mux[] = { 1588 AVB_MAGIC_MARK, 1589 }; 1590 static const unsigned int avb_phy_int_pins[] = { 1591 /* AVB_PHY_INT */ 1592 RCAR_GP_PIN(2, 11), 1593 }; 1594 static const unsigned int avb_phy_int_mux[] = { 1595 AVB_PHY_INT_MARK, 1596 }; 1597 static const unsigned int avb_mdc_pins[] = { 1598 /* AVB_MDC, AVB_MDIO */ 1599 RCAR_GP_PIN(2, 9), PIN_NUMBER('A', 9), 1600 }; 1601 static const unsigned int avb_mdc_mux[] = { 1602 AVB_MDC_MARK, AVB_MDIO_MARK, 1603 }; 1604 static const unsigned int avb_mii_pins[] = { 1605 /* 1606 * AVB_TX_CTL, AVB_TXC, AVB_TD0, 1607 * AVB_TD1, AVB_TD2, AVB_TD3, 1608 * AVB_RX_CTL, AVB_RXC, AVB_RD0, 1609 * AVB_RD1, AVB_RD2, AVB_RD3, 1610 * AVB_TXCREFCLK 1611 */ 1612 PIN_NUMBER('A', 8), PIN_NUMBER('A', 19), PIN_NUMBER('A', 18), 1613 PIN_NUMBER('B', 18), PIN_NUMBER('A', 17), PIN_NUMBER('B', 17), 1614 PIN_NUMBER('A', 16), PIN_NUMBER('B', 19), PIN_NUMBER('A', 13), 1615 PIN_NUMBER('B', 13), PIN_NUMBER('A', 14), PIN_NUMBER('B', 14), 1616 PIN_NUMBER('A', 12), 1617 1618 }; 1619 static const unsigned int avb_mii_mux[] = { 1620 AVB_TX_CTL_MARK, AVB_TXC_MARK, AVB_TD0_MARK, 1621 AVB_TD1_MARK, AVB_TD2_MARK, AVB_TD3_MARK, 1622 AVB_RX_CTL_MARK, AVB_RXC_MARK, AVB_RD0_MARK, 1623 AVB_RD1_MARK, AVB_RD2_MARK, AVB_RD3_MARK, 1624 AVB_TXCREFCLK_MARK, 1625 }; 1626 static const unsigned int avb_avtp_pps_pins[] = { 1627 /* AVB_AVTP_PPS */ 1628 RCAR_GP_PIN(2, 6), 1629 }; 1630 static const unsigned int avb_avtp_pps_mux[] = { 1631 AVB_AVTP_PPS_MARK, 1632 }; 1633 static const unsigned int avb_avtp_match_a_pins[] = { 1634 /* AVB_AVTP_MATCH_A */ 1635 RCAR_GP_PIN(2, 13), 1636 }; 1637 static const unsigned int avb_avtp_match_a_mux[] = { 1638 AVB_AVTP_MATCH_A_MARK, 1639 }; 1640 static const unsigned int avb_avtp_capture_a_pins[] = { 1641 /* AVB_AVTP_CAPTURE_A */ 1642 RCAR_GP_PIN(2, 14), 1643 }; 1644 static const unsigned int avb_avtp_capture_a_mux[] = { 1645 AVB_AVTP_CAPTURE_A_MARK, 1646 }; 1647 static const unsigned int avb_avtp_match_b_pins[] = { 1648 /* AVB_AVTP_MATCH_B */ 1649 RCAR_GP_PIN(1, 8), 1650 }; 1651 static const unsigned int avb_avtp_match_b_mux[] = { 1652 AVB_AVTP_MATCH_B_MARK, 1653 }; 1654 static const unsigned int avb_avtp_capture_b_pins[] = { 1655 /* AVB_AVTP_CAPTURE_B */ 1656 RCAR_GP_PIN(1, 11), 1657 }; 1658 static const unsigned int avb_avtp_capture_b_mux[] = { 1659 AVB_AVTP_CAPTURE_B_MARK, 1660 }; 1661 1662 /* - DRIF0 --------------------------------------------------------------- */ 1663 static const unsigned int drif0_ctrl_a_pins[] = { 1664 /* CLK, SYNC */ 1665 RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 9), 1666 }; 1667 static const unsigned int drif0_ctrl_a_mux[] = { 1668 RIF0_CLK_A_MARK, RIF0_SYNC_A_MARK, 1669 }; 1670 static const unsigned int drif0_data0_a_pins[] = { 1671 /* D0 */ 1672 RCAR_GP_PIN(6, 10), 1673 }; 1674 static const unsigned int drif0_data0_a_mux[] = { 1675 RIF0_D0_A_MARK, 1676 }; 1677 static const unsigned int drif0_data1_a_pins[] = { 1678 /* D1 */ 1679 RCAR_GP_PIN(6, 7), 1680 }; 1681 static const unsigned int drif0_data1_a_mux[] = { 1682 RIF0_D1_A_MARK, 1683 }; 1684 static const unsigned int drif0_ctrl_b_pins[] = { 1685 /* CLK, SYNC */ 1686 RCAR_GP_PIN(5, 0), RCAR_GP_PIN(5, 4), 1687 }; 1688 static const unsigned int drif0_ctrl_b_mux[] = { 1689 RIF0_CLK_B_MARK, RIF0_SYNC_B_MARK, 1690 }; 1691 static const unsigned int drif0_data0_b_pins[] = { 1692 /* D0 */ 1693 RCAR_GP_PIN(5, 1), 1694 }; 1695 static const unsigned int drif0_data0_b_mux[] = { 1696 RIF0_D0_B_MARK, 1697 }; 1698 static const unsigned int drif0_data1_b_pins[] = { 1699 /* D1 */ 1700 RCAR_GP_PIN(5, 2), 1701 }; 1702 static const unsigned int drif0_data1_b_mux[] = { 1703 RIF0_D1_B_MARK, 1704 }; 1705 static const unsigned int drif0_ctrl_c_pins[] = { 1706 /* CLK, SYNC */ 1707 RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 15), 1708 }; 1709 static const unsigned int drif0_ctrl_c_mux[] = { 1710 RIF0_CLK_C_MARK, RIF0_SYNC_C_MARK, 1711 }; 1712 static const unsigned int drif0_data0_c_pins[] = { 1713 /* D0 */ 1714 RCAR_GP_PIN(5, 13), 1715 }; 1716 static const unsigned int drif0_data0_c_mux[] = { 1717 RIF0_D0_C_MARK, 1718 }; 1719 static const unsigned int drif0_data1_c_pins[] = { 1720 /* D1 */ 1721 RCAR_GP_PIN(5, 14), 1722 }; 1723 static const unsigned int drif0_data1_c_mux[] = { 1724 RIF0_D1_C_MARK, 1725 }; 1726 /* - DRIF1 --------------------------------------------------------------- */ 1727 static const unsigned int drif1_ctrl_a_pins[] = { 1728 /* CLK, SYNC */ 1729 RCAR_GP_PIN(6, 17), RCAR_GP_PIN(6, 18), 1730 }; 1731 static const unsigned int drif1_ctrl_a_mux[] = { 1732 RIF1_CLK_A_MARK, RIF1_SYNC_A_MARK, 1733 }; 1734 static const unsigned int drif1_data0_a_pins[] = { 1735 /* D0 */ 1736 RCAR_GP_PIN(6, 19), 1737 }; 1738 static const unsigned int drif1_data0_a_mux[] = { 1739 RIF1_D0_A_MARK, 1740 }; 1741 static const unsigned int drif1_data1_a_pins[] = { 1742 /* D1 */ 1743 RCAR_GP_PIN(6, 20), 1744 }; 1745 static const unsigned int drif1_data1_a_mux[] = { 1746 RIF1_D1_A_MARK, 1747 }; 1748 static const unsigned int drif1_ctrl_b_pins[] = { 1749 /* CLK, SYNC */ 1750 RCAR_GP_PIN(5, 9), RCAR_GP_PIN(5, 3), 1751 }; 1752 static const unsigned int drif1_ctrl_b_mux[] = { 1753 RIF1_CLK_B_MARK, RIF1_SYNC_B_MARK, 1754 }; 1755 static const unsigned int drif1_data0_b_pins[] = { 1756 /* D0 */ 1757 RCAR_GP_PIN(5, 7), 1758 }; 1759 static const unsigned int drif1_data0_b_mux[] = { 1760 RIF1_D0_B_MARK, 1761 }; 1762 static const unsigned int drif1_data1_b_pins[] = { 1763 /* D1 */ 1764 RCAR_GP_PIN(5, 8), 1765 }; 1766 static const unsigned int drif1_data1_b_mux[] = { 1767 RIF1_D1_B_MARK, 1768 }; 1769 static const unsigned int drif1_ctrl_c_pins[] = { 1770 /* CLK, SYNC */ 1771 RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 11), 1772 }; 1773 static const unsigned int drif1_ctrl_c_mux[] = { 1774 RIF1_CLK_C_MARK, RIF1_SYNC_C_MARK, 1775 }; 1776 static const unsigned int drif1_data0_c_pins[] = { 1777 /* D0 */ 1778 RCAR_GP_PIN(5, 6), 1779 }; 1780 static const unsigned int drif1_data0_c_mux[] = { 1781 RIF1_D0_C_MARK, 1782 }; 1783 static const unsigned int drif1_data1_c_pins[] = { 1784 /* D1 */ 1785 RCAR_GP_PIN(5, 10), 1786 }; 1787 static const unsigned int drif1_data1_c_mux[] = { 1788 RIF1_D1_C_MARK, 1789 }; 1790 /* - DRIF2 --------------------------------------------------------------- */ 1791 static const unsigned int drif2_ctrl_a_pins[] = { 1792 /* CLK, SYNC */ 1793 RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 9), 1794 }; 1795 static const unsigned int drif2_ctrl_a_mux[] = { 1796 RIF2_CLK_A_MARK, RIF2_SYNC_A_MARK, 1797 }; 1798 static const unsigned int drif2_data0_a_pins[] = { 1799 /* D0 */ 1800 RCAR_GP_PIN(6, 7), 1801 }; 1802 static const unsigned int drif2_data0_a_mux[] = { 1803 RIF2_D0_A_MARK, 1804 }; 1805 static const unsigned int drif2_data1_a_pins[] = { 1806 /* D1 */ 1807 RCAR_GP_PIN(6, 10), 1808 }; 1809 static const unsigned int drif2_data1_a_mux[] = { 1810 RIF2_D1_A_MARK, 1811 }; 1812 static const unsigned int drif2_ctrl_b_pins[] = { 1813 /* CLK, SYNC */ 1814 RCAR_GP_PIN(6, 26), RCAR_GP_PIN(6, 27), 1815 }; 1816 static const unsigned int drif2_ctrl_b_mux[] = { 1817 RIF2_CLK_B_MARK, RIF2_SYNC_B_MARK, 1818 }; 1819 static const unsigned int drif2_data0_b_pins[] = { 1820 /* D0 */ 1821 RCAR_GP_PIN(6, 30), 1822 }; 1823 static const unsigned int drif2_data0_b_mux[] = { 1824 RIF2_D0_B_MARK, 1825 }; 1826 static const unsigned int drif2_data1_b_pins[] = { 1827 /* D1 */ 1828 RCAR_GP_PIN(6, 31), 1829 }; 1830 static const unsigned int drif2_data1_b_mux[] = { 1831 RIF2_D1_B_MARK, 1832 }; 1833 /* - DRIF3 --------------------------------------------------------------- */ 1834 static const unsigned int drif3_ctrl_a_pins[] = { 1835 /* CLK, SYNC */ 1836 RCAR_GP_PIN(6, 17), RCAR_GP_PIN(6, 18), 1837 }; 1838 static const unsigned int drif3_ctrl_a_mux[] = { 1839 RIF3_CLK_A_MARK, RIF3_SYNC_A_MARK, 1840 }; 1841 static const unsigned int drif3_data0_a_pins[] = { 1842 /* D0 */ 1843 RCAR_GP_PIN(6, 19), 1844 }; 1845 static const unsigned int drif3_data0_a_mux[] = { 1846 RIF3_D0_A_MARK, 1847 }; 1848 static const unsigned int drif3_data1_a_pins[] = { 1849 /* D1 */ 1850 RCAR_GP_PIN(6, 20), 1851 }; 1852 static const unsigned int drif3_data1_a_mux[] = { 1853 RIF3_D1_A_MARK, 1854 }; 1855 static const unsigned int drif3_ctrl_b_pins[] = { 1856 /* CLK, SYNC */ 1857 RCAR_GP_PIN(6, 24), RCAR_GP_PIN(6, 25), 1858 }; 1859 static const unsigned int drif3_ctrl_b_mux[] = { 1860 RIF3_CLK_B_MARK, RIF3_SYNC_B_MARK, 1861 }; 1862 static const unsigned int drif3_data0_b_pins[] = { 1863 /* D0 */ 1864 RCAR_GP_PIN(6, 28), 1865 }; 1866 static const unsigned int drif3_data0_b_mux[] = { 1867 RIF3_D0_B_MARK, 1868 }; 1869 static const unsigned int drif3_data1_b_pins[] = { 1870 /* D1 */ 1871 RCAR_GP_PIN(6, 29), 1872 }; 1873 static const unsigned int drif3_data1_b_mux[] = { 1874 RIF3_D1_B_MARK, 1875 }; 1876 1877 /* - DU --------------------------------------------------------------------- */ 1878 static const unsigned int du_rgb666_pins[] = { 1879 /* R[7:2], G[7:2], B[7:2] */ 1880 RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 13), 1881 RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 10), 1882 RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13), 1883 RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18), 1884 RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 5), 1885 RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 2), 1886 }; 1887 static const unsigned int du_rgb666_mux[] = { 1888 DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK, 1889 DU_DR3_MARK, DU_DR2_MARK, 1890 DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK, 1891 DU_DG3_MARK, DU_DG2_MARK, 1892 DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK, 1893 DU_DB3_MARK, DU_DB2_MARK, 1894 }; 1895 static const unsigned int du_rgb888_pins[] = { 1896 /* R[7:0], G[7:0], B[7:0] */ 1897 RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 13), 1898 RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 10), 1899 RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 8), 1900 RCAR_GP_PIN(1, 15), RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13), 1901 RCAR_GP_PIN(1, 12), RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18), 1902 RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16), 1903 RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 5), 1904 RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 3), RCAR_GP_PIN(1, 2), 1905 RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 0), 1906 }; 1907 static const unsigned int du_rgb888_mux[] = { 1908 DU_DR7_MARK, DU_DR6_MARK, DU_DR5_MARK, DU_DR4_MARK, 1909 DU_DR3_MARK, DU_DR2_MARK, DU_DR1_MARK, DU_DR0_MARK, 1910 DU_DG7_MARK, DU_DG6_MARK, DU_DG5_MARK, DU_DG4_MARK, 1911 DU_DG3_MARK, DU_DG2_MARK, DU_DG1_MARK, DU_DG0_MARK, 1912 DU_DB7_MARK, DU_DB6_MARK, DU_DB5_MARK, DU_DB4_MARK, 1913 DU_DB3_MARK, DU_DB2_MARK, DU_DB1_MARK, DU_DB0_MARK, 1914 }; 1915 static const unsigned int du_clk_out_0_pins[] = { 1916 /* CLKOUT */ 1917 RCAR_GP_PIN(1, 27), 1918 }; 1919 static const unsigned int du_clk_out_0_mux[] = { 1920 DU_DOTCLKOUT0_MARK 1921 }; 1922 static const unsigned int du_clk_out_1_pins[] = { 1923 /* CLKOUT */ 1924 RCAR_GP_PIN(2, 3), 1925 }; 1926 static const unsigned int du_clk_out_1_mux[] = { 1927 DU_DOTCLKOUT1_MARK 1928 }; 1929 static const unsigned int du_sync_pins[] = { 1930 /* EXVSYNC/VSYNC, EXHSYNC/HSYNC */ 1931 RCAR_GP_PIN(2, 5), RCAR_GP_PIN(2, 4), 1932 }; 1933 static const unsigned int du_sync_mux[] = { 1934 DU_EXVSYNC_DU_VSYNC_MARK, DU_EXHSYNC_DU_HSYNC_MARK 1935 }; 1936 static const unsigned int du_oddf_pins[] = { 1937 /* EXDISP/EXODDF/EXCDE */ 1938 RCAR_GP_PIN(2, 2), 1939 }; 1940 static const unsigned int du_oddf_mux[] = { 1941 DU_EXODDF_DU_ODDF_DISP_CDE_MARK, 1942 }; 1943 static const unsigned int du_cde_pins[] = { 1944 /* CDE */ 1945 RCAR_GP_PIN(2, 0), 1946 }; 1947 static const unsigned int du_cde_mux[] = { 1948 DU_CDE_MARK, 1949 }; 1950 static const unsigned int du_disp_pins[] = { 1951 /* DISP */ 1952 RCAR_GP_PIN(2, 1), 1953 }; 1954 static const unsigned int du_disp_mux[] = { 1955 DU_DISP_MARK, 1956 }; 1957 1958 /* - MSIOF0 ----------------------------------------------------------------- */ 1959 static const unsigned int msiof0_clk_pins[] = { 1960 /* SCK */ 1961 RCAR_GP_PIN(5, 17), 1962 }; 1963 static const unsigned int msiof0_clk_mux[] = { 1964 MSIOF0_SCK_MARK, 1965 }; 1966 static const unsigned int msiof0_sync_pins[] = { 1967 /* SYNC */ 1968 RCAR_GP_PIN(5, 18), 1969 }; 1970 static const unsigned int msiof0_sync_mux[] = { 1971 MSIOF0_SYNC_MARK, 1972 }; 1973 static const unsigned int msiof0_ss1_pins[] = { 1974 /* SS1 */ 1975 RCAR_GP_PIN(5, 19), 1976 }; 1977 static const unsigned int msiof0_ss1_mux[] = { 1978 MSIOF0_SS1_MARK, 1979 }; 1980 static const unsigned int msiof0_ss2_pins[] = { 1981 /* SS2 */ 1982 RCAR_GP_PIN(5, 21), 1983 }; 1984 static const unsigned int msiof0_ss2_mux[] = { 1985 MSIOF0_SS2_MARK, 1986 }; 1987 static const unsigned int msiof0_txd_pins[] = { 1988 /* TXD */ 1989 RCAR_GP_PIN(5, 20), 1990 }; 1991 static const unsigned int msiof0_txd_mux[] = { 1992 MSIOF0_TXD_MARK, 1993 }; 1994 static const unsigned int msiof0_rxd_pins[] = { 1995 /* RXD */ 1996 RCAR_GP_PIN(5, 22), 1997 }; 1998 static const unsigned int msiof0_rxd_mux[] = { 1999 MSIOF0_RXD_MARK, 2000 }; 2001 /* - MSIOF1 ----------------------------------------------------------------- */ 2002 static const unsigned int msiof1_clk_a_pins[] = { 2003 /* SCK */ 2004 RCAR_GP_PIN(6, 8), 2005 }; 2006 static const unsigned int msiof1_clk_a_mux[] = { 2007 MSIOF1_SCK_A_MARK, 2008 }; 2009 static const unsigned int msiof1_sync_a_pins[] = { 2010 /* SYNC */ 2011 RCAR_GP_PIN(6, 9), 2012 }; 2013 static const unsigned int msiof1_sync_a_mux[] = { 2014 MSIOF1_SYNC_A_MARK, 2015 }; 2016 static const unsigned int msiof1_ss1_a_pins[] = { 2017 /* SS1 */ 2018 RCAR_GP_PIN(6, 5), 2019 }; 2020 static const unsigned int msiof1_ss1_a_mux[] = { 2021 MSIOF1_SS1_A_MARK, 2022 }; 2023 static const unsigned int msiof1_ss2_a_pins[] = { 2024 /* SS2 */ 2025 RCAR_GP_PIN(6, 6), 2026 }; 2027 static const unsigned int msiof1_ss2_a_mux[] = { 2028 MSIOF1_SS2_A_MARK, 2029 }; 2030 static const unsigned int msiof1_txd_a_pins[] = { 2031 /* TXD */ 2032 RCAR_GP_PIN(6, 7), 2033 }; 2034 static const unsigned int msiof1_txd_a_mux[] = { 2035 MSIOF1_TXD_A_MARK, 2036 }; 2037 static const unsigned int msiof1_rxd_a_pins[] = { 2038 /* RXD */ 2039 RCAR_GP_PIN(6, 10), 2040 }; 2041 static const unsigned int msiof1_rxd_a_mux[] = { 2042 MSIOF1_RXD_A_MARK, 2043 }; 2044 static const unsigned int msiof1_clk_b_pins[] = { 2045 /* SCK */ 2046 RCAR_GP_PIN(5, 9), 2047 }; 2048 static const unsigned int msiof1_clk_b_mux[] = { 2049 MSIOF1_SCK_B_MARK, 2050 }; 2051 static const unsigned int msiof1_sync_b_pins[] = { 2052 /* SYNC */ 2053 RCAR_GP_PIN(5, 3), 2054 }; 2055 static const unsigned int msiof1_sync_b_mux[] = { 2056 MSIOF1_SYNC_B_MARK, 2057 }; 2058 static const unsigned int msiof1_ss1_b_pins[] = { 2059 /* SS1 */ 2060 RCAR_GP_PIN(5, 4), 2061 }; 2062 static const unsigned int msiof1_ss1_b_mux[] = { 2063 MSIOF1_SS1_B_MARK, 2064 }; 2065 static const unsigned int msiof1_ss2_b_pins[] = { 2066 /* SS2 */ 2067 RCAR_GP_PIN(5, 0), 2068 }; 2069 static const unsigned int msiof1_ss2_b_mux[] = { 2070 MSIOF1_SS2_B_MARK, 2071 }; 2072 static const unsigned int msiof1_txd_b_pins[] = { 2073 /* TXD */ 2074 RCAR_GP_PIN(5, 8), 2075 }; 2076 static const unsigned int msiof1_txd_b_mux[] = { 2077 MSIOF1_TXD_B_MARK, 2078 }; 2079 static const unsigned int msiof1_rxd_b_pins[] = { 2080 /* RXD */ 2081 RCAR_GP_PIN(5, 7), 2082 }; 2083 static const unsigned int msiof1_rxd_b_mux[] = { 2084 MSIOF1_RXD_B_MARK, 2085 }; 2086 static const unsigned int msiof1_clk_c_pins[] = { 2087 /* SCK */ 2088 RCAR_GP_PIN(6, 17), 2089 }; 2090 static const unsigned int msiof1_clk_c_mux[] = { 2091 MSIOF1_SCK_C_MARK, 2092 }; 2093 static const unsigned int msiof1_sync_c_pins[] = { 2094 /* SYNC */ 2095 RCAR_GP_PIN(6, 18), 2096 }; 2097 static const unsigned int msiof1_sync_c_mux[] = { 2098 MSIOF1_SYNC_C_MARK, 2099 }; 2100 static const unsigned int msiof1_ss1_c_pins[] = { 2101 /* SS1 */ 2102 RCAR_GP_PIN(6, 21), 2103 }; 2104 static const unsigned int msiof1_ss1_c_mux[] = { 2105 MSIOF1_SS1_C_MARK, 2106 }; 2107 static const unsigned int msiof1_ss2_c_pins[] = { 2108 /* SS2 */ 2109 RCAR_GP_PIN(6, 27), 2110 }; 2111 static const unsigned int msiof1_ss2_c_mux[] = { 2112 MSIOF1_SS2_C_MARK, 2113 }; 2114 static const unsigned int msiof1_txd_c_pins[] = { 2115 /* TXD */ 2116 RCAR_GP_PIN(6, 20), 2117 }; 2118 static const unsigned int msiof1_txd_c_mux[] = { 2119 MSIOF1_TXD_C_MARK, 2120 }; 2121 static const unsigned int msiof1_rxd_c_pins[] = { 2122 /* RXD */ 2123 RCAR_GP_PIN(6, 19), 2124 }; 2125 static const unsigned int msiof1_rxd_c_mux[] = { 2126 MSIOF1_RXD_C_MARK, 2127 }; 2128 static const unsigned int msiof1_clk_d_pins[] = { 2129 /* SCK */ 2130 RCAR_GP_PIN(5, 12), 2131 }; 2132 static const unsigned int msiof1_clk_d_mux[] = { 2133 MSIOF1_SCK_D_MARK, 2134 }; 2135 static const unsigned int msiof1_sync_d_pins[] = { 2136 /* SYNC */ 2137 RCAR_GP_PIN(5, 15), 2138 }; 2139 static const unsigned int msiof1_sync_d_mux[] = { 2140 MSIOF1_SYNC_D_MARK, 2141 }; 2142 static const unsigned int msiof1_ss1_d_pins[] = { 2143 /* SS1 */ 2144 RCAR_GP_PIN(5, 16), 2145 }; 2146 static const unsigned int msiof1_ss1_d_mux[] = { 2147 MSIOF1_SS1_D_MARK, 2148 }; 2149 static const unsigned int msiof1_ss2_d_pins[] = { 2150 /* SS2 */ 2151 RCAR_GP_PIN(5, 21), 2152 }; 2153 static const unsigned int msiof1_ss2_d_mux[] = { 2154 MSIOF1_SS2_D_MARK, 2155 }; 2156 static const unsigned int msiof1_txd_d_pins[] = { 2157 /* TXD */ 2158 RCAR_GP_PIN(5, 14), 2159 }; 2160 static const unsigned int msiof1_txd_d_mux[] = { 2161 MSIOF1_TXD_D_MARK, 2162 }; 2163 static const unsigned int msiof1_rxd_d_pins[] = { 2164 /* RXD */ 2165 RCAR_GP_PIN(5, 13), 2166 }; 2167 static const unsigned int msiof1_rxd_d_mux[] = { 2168 MSIOF1_RXD_D_MARK, 2169 }; 2170 static const unsigned int msiof1_clk_e_pins[] = { 2171 /* SCK */ 2172 RCAR_GP_PIN(3, 0), 2173 }; 2174 static const unsigned int msiof1_clk_e_mux[] = { 2175 MSIOF1_SCK_E_MARK, 2176 }; 2177 static const unsigned int msiof1_sync_e_pins[] = { 2178 /* SYNC */ 2179 RCAR_GP_PIN(3, 1), 2180 }; 2181 static const unsigned int msiof1_sync_e_mux[] = { 2182 MSIOF1_SYNC_E_MARK, 2183 }; 2184 static const unsigned int msiof1_ss1_e_pins[] = { 2185 /* SS1 */ 2186 RCAR_GP_PIN(3, 4), 2187 }; 2188 static const unsigned int msiof1_ss1_e_mux[] = { 2189 MSIOF1_SS1_E_MARK, 2190 }; 2191 static const unsigned int msiof1_ss2_e_pins[] = { 2192 /* SS2 */ 2193 RCAR_GP_PIN(3, 5), 2194 }; 2195 static const unsigned int msiof1_ss2_e_mux[] = { 2196 MSIOF1_SS2_E_MARK, 2197 }; 2198 static const unsigned int msiof1_txd_e_pins[] = { 2199 /* TXD */ 2200 RCAR_GP_PIN(3, 3), 2201 }; 2202 static const unsigned int msiof1_txd_e_mux[] = { 2203 MSIOF1_TXD_E_MARK, 2204 }; 2205 static const unsigned int msiof1_rxd_e_pins[] = { 2206 /* RXD */ 2207 RCAR_GP_PIN(3, 2), 2208 }; 2209 static const unsigned int msiof1_rxd_e_mux[] = { 2210 MSIOF1_RXD_E_MARK, 2211 }; 2212 static const unsigned int msiof1_clk_f_pins[] = { 2213 /* SCK */ 2214 RCAR_GP_PIN(5, 23), 2215 }; 2216 static const unsigned int msiof1_clk_f_mux[] = { 2217 MSIOF1_SCK_F_MARK, 2218 }; 2219 static const unsigned int msiof1_sync_f_pins[] = { 2220 /* SYNC */ 2221 RCAR_GP_PIN(5, 24), 2222 }; 2223 static const unsigned int msiof1_sync_f_mux[] = { 2224 MSIOF1_SYNC_F_MARK, 2225 }; 2226 static const unsigned int msiof1_ss1_f_pins[] = { 2227 /* SS1 */ 2228 RCAR_GP_PIN(6, 1), 2229 }; 2230 static const unsigned int msiof1_ss1_f_mux[] = { 2231 MSIOF1_SS1_F_MARK, 2232 }; 2233 static const unsigned int msiof1_ss2_f_pins[] = { 2234 /* SS2 */ 2235 RCAR_GP_PIN(6, 2), 2236 }; 2237 static const unsigned int msiof1_ss2_f_mux[] = { 2238 MSIOF1_SS2_F_MARK, 2239 }; 2240 static const unsigned int msiof1_txd_f_pins[] = { 2241 /* TXD */ 2242 RCAR_GP_PIN(6, 0), 2243 }; 2244 static const unsigned int msiof1_txd_f_mux[] = { 2245 MSIOF1_TXD_F_MARK, 2246 }; 2247 static const unsigned int msiof1_rxd_f_pins[] = { 2248 /* RXD */ 2249 RCAR_GP_PIN(5, 25), 2250 }; 2251 static const unsigned int msiof1_rxd_f_mux[] = { 2252 MSIOF1_RXD_F_MARK, 2253 }; 2254 static const unsigned int msiof1_clk_g_pins[] = { 2255 /* SCK */ 2256 RCAR_GP_PIN(3, 6), 2257 }; 2258 static const unsigned int msiof1_clk_g_mux[] = { 2259 MSIOF1_SCK_G_MARK, 2260 }; 2261 static const unsigned int msiof1_sync_g_pins[] = { 2262 /* SYNC */ 2263 RCAR_GP_PIN(3, 7), 2264 }; 2265 static const unsigned int msiof1_sync_g_mux[] = { 2266 MSIOF1_SYNC_G_MARK, 2267 }; 2268 static const unsigned int msiof1_ss1_g_pins[] = { 2269 /* SS1 */ 2270 RCAR_GP_PIN(3, 10), 2271 }; 2272 static const unsigned int msiof1_ss1_g_mux[] = { 2273 MSIOF1_SS1_G_MARK, 2274 }; 2275 static const unsigned int msiof1_ss2_g_pins[] = { 2276 /* SS2 */ 2277 RCAR_GP_PIN(3, 11), 2278 }; 2279 static const unsigned int msiof1_ss2_g_mux[] = { 2280 MSIOF1_SS2_G_MARK, 2281 }; 2282 static const unsigned int msiof1_txd_g_pins[] = { 2283 /* TXD */ 2284 RCAR_GP_PIN(3, 9), 2285 }; 2286 static const unsigned int msiof1_txd_g_mux[] = { 2287 MSIOF1_TXD_G_MARK, 2288 }; 2289 static const unsigned int msiof1_rxd_g_pins[] = { 2290 /* RXD */ 2291 RCAR_GP_PIN(3, 8), 2292 }; 2293 static const unsigned int msiof1_rxd_g_mux[] = { 2294 MSIOF1_RXD_G_MARK, 2295 }; 2296 /* - MSIOF2 ----------------------------------------------------------------- */ 2297 static const unsigned int msiof2_clk_a_pins[] = { 2298 /* SCK */ 2299 RCAR_GP_PIN(1, 9), 2300 }; 2301 static const unsigned int msiof2_clk_a_mux[] = { 2302 MSIOF2_SCK_A_MARK, 2303 }; 2304 static const unsigned int msiof2_sync_a_pins[] = { 2305 /* SYNC */ 2306 RCAR_GP_PIN(1, 8), 2307 }; 2308 static const unsigned int msiof2_sync_a_mux[] = { 2309 MSIOF2_SYNC_A_MARK, 2310 }; 2311 static const unsigned int msiof2_ss1_a_pins[] = { 2312 /* SS1 */ 2313 RCAR_GP_PIN(1, 6), 2314 }; 2315 static const unsigned int msiof2_ss1_a_mux[] = { 2316 MSIOF2_SS1_A_MARK, 2317 }; 2318 static const unsigned int msiof2_ss2_a_pins[] = { 2319 /* SS2 */ 2320 RCAR_GP_PIN(1, 7), 2321 }; 2322 static const unsigned int msiof2_ss2_a_mux[] = { 2323 MSIOF2_SS2_A_MARK, 2324 }; 2325 static const unsigned int msiof2_txd_a_pins[] = { 2326 /* TXD */ 2327 RCAR_GP_PIN(1, 11), 2328 }; 2329 static const unsigned int msiof2_txd_a_mux[] = { 2330 MSIOF2_TXD_A_MARK, 2331 }; 2332 static const unsigned int msiof2_rxd_a_pins[] = { 2333 /* RXD */ 2334 RCAR_GP_PIN(1, 10), 2335 }; 2336 static const unsigned int msiof2_rxd_a_mux[] = { 2337 MSIOF2_RXD_A_MARK, 2338 }; 2339 static const unsigned int msiof2_clk_b_pins[] = { 2340 /* SCK */ 2341 RCAR_GP_PIN(0, 4), 2342 }; 2343 static const unsigned int msiof2_clk_b_mux[] = { 2344 MSIOF2_SCK_B_MARK, 2345 }; 2346 static const unsigned int msiof2_sync_b_pins[] = { 2347 /* SYNC */ 2348 RCAR_GP_PIN(0, 5), 2349 }; 2350 static const unsigned int msiof2_sync_b_mux[] = { 2351 MSIOF2_SYNC_B_MARK, 2352 }; 2353 static const unsigned int msiof2_ss1_b_pins[] = { 2354 /* SS1 */ 2355 RCAR_GP_PIN(0, 0), 2356 }; 2357 static const unsigned int msiof2_ss1_b_mux[] = { 2358 MSIOF2_SS1_B_MARK, 2359 }; 2360 static const unsigned int msiof2_ss2_b_pins[] = { 2361 /* SS2 */ 2362 RCAR_GP_PIN(0, 1), 2363 }; 2364 static const unsigned int msiof2_ss2_b_mux[] = { 2365 MSIOF2_SS2_B_MARK, 2366 }; 2367 static const unsigned int msiof2_txd_b_pins[] = { 2368 /* TXD */ 2369 RCAR_GP_PIN(0, 7), 2370 }; 2371 static const unsigned int msiof2_txd_b_mux[] = { 2372 MSIOF2_TXD_B_MARK, 2373 }; 2374 static const unsigned int msiof2_rxd_b_pins[] = { 2375 /* RXD */ 2376 RCAR_GP_PIN(0, 6), 2377 }; 2378 static const unsigned int msiof2_rxd_b_mux[] = { 2379 MSIOF2_RXD_B_MARK, 2380 }; 2381 static const unsigned int msiof2_clk_c_pins[] = { 2382 /* SCK */ 2383 RCAR_GP_PIN(2, 12), 2384 }; 2385 static const unsigned int msiof2_clk_c_mux[] = { 2386 MSIOF2_SCK_C_MARK, 2387 }; 2388 static const unsigned int msiof2_sync_c_pins[] = { 2389 /* SYNC */ 2390 RCAR_GP_PIN(2, 11), 2391 }; 2392 static const unsigned int msiof2_sync_c_mux[] = { 2393 MSIOF2_SYNC_C_MARK, 2394 }; 2395 static const unsigned int msiof2_ss1_c_pins[] = { 2396 /* SS1 */ 2397 RCAR_GP_PIN(2, 10), 2398 }; 2399 static const unsigned int msiof2_ss1_c_mux[] = { 2400 MSIOF2_SS1_C_MARK, 2401 }; 2402 static const unsigned int msiof2_ss2_c_pins[] = { 2403 /* SS2 */ 2404 RCAR_GP_PIN(2, 9), 2405 }; 2406 static const unsigned int msiof2_ss2_c_mux[] = { 2407 MSIOF2_SS2_C_MARK, 2408 }; 2409 static const unsigned int msiof2_txd_c_pins[] = { 2410 /* TXD */ 2411 RCAR_GP_PIN(2, 14), 2412 }; 2413 static const unsigned int msiof2_txd_c_mux[] = { 2414 MSIOF2_TXD_C_MARK, 2415 }; 2416 static const unsigned int msiof2_rxd_c_pins[] = { 2417 /* RXD */ 2418 RCAR_GP_PIN(2, 13), 2419 }; 2420 static const unsigned int msiof2_rxd_c_mux[] = { 2421 MSIOF2_RXD_C_MARK, 2422 }; 2423 static const unsigned int msiof2_clk_d_pins[] = { 2424 /* SCK */ 2425 RCAR_GP_PIN(0, 8), 2426 }; 2427 static const unsigned int msiof2_clk_d_mux[] = { 2428 MSIOF2_SCK_D_MARK, 2429 }; 2430 static const unsigned int msiof2_sync_d_pins[] = { 2431 /* SYNC */ 2432 RCAR_GP_PIN(0, 9), 2433 }; 2434 static const unsigned int msiof2_sync_d_mux[] = { 2435 MSIOF2_SYNC_D_MARK, 2436 }; 2437 static const unsigned int msiof2_ss1_d_pins[] = { 2438 /* SS1 */ 2439 RCAR_GP_PIN(0, 12), 2440 }; 2441 static const unsigned int msiof2_ss1_d_mux[] = { 2442 MSIOF2_SS1_D_MARK, 2443 }; 2444 static const unsigned int msiof2_ss2_d_pins[] = { 2445 /* SS2 */ 2446 RCAR_GP_PIN(0, 13), 2447 }; 2448 static const unsigned int msiof2_ss2_d_mux[] = { 2449 MSIOF2_SS2_D_MARK, 2450 }; 2451 static const unsigned int msiof2_txd_d_pins[] = { 2452 /* TXD */ 2453 RCAR_GP_PIN(0, 11), 2454 }; 2455 static const unsigned int msiof2_txd_d_mux[] = { 2456 MSIOF2_TXD_D_MARK, 2457 }; 2458 static const unsigned int msiof2_rxd_d_pins[] = { 2459 /* RXD */ 2460 RCAR_GP_PIN(0, 10), 2461 }; 2462 static const unsigned int msiof2_rxd_d_mux[] = { 2463 MSIOF2_RXD_D_MARK, 2464 }; 2465 /* - MSIOF3 ----------------------------------------------------------------- */ 2466 static const unsigned int msiof3_clk_a_pins[] = { 2467 /* SCK */ 2468 RCAR_GP_PIN(0, 0), 2469 }; 2470 static const unsigned int msiof3_clk_a_mux[] = { 2471 MSIOF3_SCK_A_MARK, 2472 }; 2473 static const unsigned int msiof3_sync_a_pins[] = { 2474 /* SYNC */ 2475 RCAR_GP_PIN(0, 1), 2476 }; 2477 static const unsigned int msiof3_sync_a_mux[] = { 2478 MSIOF3_SYNC_A_MARK, 2479 }; 2480 static const unsigned int msiof3_ss1_a_pins[] = { 2481 /* SS1 */ 2482 RCAR_GP_PIN(0, 14), 2483 }; 2484 static const unsigned int msiof3_ss1_a_mux[] = { 2485 MSIOF3_SS1_A_MARK, 2486 }; 2487 static const unsigned int msiof3_ss2_a_pins[] = { 2488 /* SS2 */ 2489 RCAR_GP_PIN(0, 15), 2490 }; 2491 static const unsigned int msiof3_ss2_a_mux[] = { 2492 MSIOF3_SS2_A_MARK, 2493 }; 2494 static const unsigned int msiof3_txd_a_pins[] = { 2495 /* TXD */ 2496 RCAR_GP_PIN(0, 3), 2497 }; 2498 static const unsigned int msiof3_txd_a_mux[] = { 2499 MSIOF3_TXD_A_MARK, 2500 }; 2501 static const unsigned int msiof3_rxd_a_pins[] = { 2502 /* RXD */ 2503 RCAR_GP_PIN(0, 2), 2504 }; 2505 static const unsigned int msiof3_rxd_a_mux[] = { 2506 MSIOF3_RXD_A_MARK, 2507 }; 2508 static const unsigned int msiof3_clk_b_pins[] = { 2509 /* SCK */ 2510 RCAR_GP_PIN(1, 2), 2511 }; 2512 static const unsigned int msiof3_clk_b_mux[] = { 2513 MSIOF3_SCK_B_MARK, 2514 }; 2515 static const unsigned int msiof3_sync_b_pins[] = { 2516 /* SYNC */ 2517 RCAR_GP_PIN(1, 0), 2518 }; 2519 static const unsigned int msiof3_sync_b_mux[] = { 2520 MSIOF3_SYNC_B_MARK, 2521 }; 2522 static const unsigned int msiof3_ss1_b_pins[] = { 2523 /* SS1 */ 2524 RCAR_GP_PIN(1, 4), 2525 }; 2526 static const unsigned int msiof3_ss1_b_mux[] = { 2527 MSIOF3_SS1_B_MARK, 2528 }; 2529 static const unsigned int msiof3_ss2_b_pins[] = { 2530 /* SS2 */ 2531 RCAR_GP_PIN(1, 5), 2532 }; 2533 static const unsigned int msiof3_ss2_b_mux[] = { 2534 MSIOF3_SS2_B_MARK, 2535 }; 2536 static const unsigned int msiof3_txd_b_pins[] = { 2537 /* TXD */ 2538 RCAR_GP_PIN(1, 1), 2539 }; 2540 static const unsigned int msiof3_txd_b_mux[] = { 2541 MSIOF3_TXD_B_MARK, 2542 }; 2543 static const unsigned int msiof3_rxd_b_pins[] = { 2544 /* RXD */ 2545 RCAR_GP_PIN(1, 3), 2546 }; 2547 static const unsigned int msiof3_rxd_b_mux[] = { 2548 MSIOF3_RXD_B_MARK, 2549 }; 2550 static const unsigned int msiof3_clk_c_pins[] = { 2551 /* SCK */ 2552 RCAR_GP_PIN(1, 12), 2553 }; 2554 static const unsigned int msiof3_clk_c_mux[] = { 2555 MSIOF3_SCK_C_MARK, 2556 }; 2557 static const unsigned int msiof3_sync_c_pins[] = { 2558 /* SYNC */ 2559 RCAR_GP_PIN(1, 13), 2560 }; 2561 static const unsigned int msiof3_sync_c_mux[] = { 2562 MSIOF3_SYNC_C_MARK, 2563 }; 2564 static const unsigned int msiof3_txd_c_pins[] = { 2565 /* TXD */ 2566 RCAR_GP_PIN(1, 15), 2567 }; 2568 static const unsigned int msiof3_txd_c_mux[] = { 2569 MSIOF3_TXD_C_MARK, 2570 }; 2571 static const unsigned int msiof3_rxd_c_pins[] = { 2572 /* RXD */ 2573 RCAR_GP_PIN(1, 14), 2574 }; 2575 static const unsigned int msiof3_rxd_c_mux[] = { 2576 MSIOF3_RXD_C_MARK, 2577 }; 2578 static const unsigned int msiof3_clk_d_pins[] = { 2579 /* SCK */ 2580 RCAR_GP_PIN(1, 22), 2581 }; 2582 static const unsigned int msiof3_clk_d_mux[] = { 2583 MSIOF3_SCK_D_MARK, 2584 }; 2585 static const unsigned int msiof3_sync_d_pins[] = { 2586 /* SYNC */ 2587 RCAR_GP_PIN(1, 23), 2588 }; 2589 static const unsigned int msiof3_sync_d_mux[] = { 2590 MSIOF3_SYNC_D_MARK, 2591 }; 2592 static const unsigned int msiof3_ss1_d_pins[] = { 2593 /* SS1 */ 2594 RCAR_GP_PIN(1, 26), 2595 }; 2596 static const unsigned int msiof3_ss1_d_mux[] = { 2597 MSIOF3_SS1_D_MARK, 2598 }; 2599 static const unsigned int msiof3_txd_d_pins[] = { 2600 /* TXD */ 2601 RCAR_GP_PIN(1, 25), 2602 }; 2603 static const unsigned int msiof3_txd_d_mux[] = { 2604 MSIOF3_TXD_D_MARK, 2605 }; 2606 static const unsigned int msiof3_rxd_d_pins[] = { 2607 /* RXD */ 2608 RCAR_GP_PIN(1, 24), 2609 }; 2610 static const unsigned int msiof3_rxd_d_mux[] = { 2611 MSIOF3_RXD_D_MARK, 2612 }; 2613 static const unsigned int msiof3_clk_e_pins[] = { 2614 /* SCK */ 2615 RCAR_GP_PIN(2, 3), 2616 }; 2617 static const unsigned int msiof3_clk_e_mux[] = { 2618 MSIOF3_SCK_E_MARK, 2619 }; 2620 static const unsigned int msiof3_sync_e_pins[] = { 2621 /* SYNC */ 2622 RCAR_GP_PIN(2, 2), 2623 }; 2624 static const unsigned int msiof3_sync_e_mux[] = { 2625 MSIOF3_SYNC_E_MARK, 2626 }; 2627 static const unsigned int msiof3_ss1_e_pins[] = { 2628 /* SS1 */ 2629 RCAR_GP_PIN(2, 1), 2630 }; 2631 static const unsigned int msiof3_ss1_e_mux[] = { 2632 MSIOF3_SS1_E_MARK, 2633 }; 2634 static const unsigned int msiof3_ss2_e_pins[] = { 2635 /* SS1 */ 2636 RCAR_GP_PIN(2, 0), 2637 }; 2638 static const unsigned int msiof3_ss2_e_mux[] = { 2639 MSIOF3_SS2_E_MARK, 2640 }; 2641 static const unsigned int msiof3_txd_e_pins[] = { 2642 /* TXD */ 2643 RCAR_GP_PIN(2, 5), 2644 }; 2645 static const unsigned int msiof3_txd_e_mux[] = { 2646 MSIOF3_TXD_E_MARK, 2647 }; 2648 static const unsigned int msiof3_rxd_e_pins[] = { 2649 /* RXD */ 2650 RCAR_GP_PIN(2, 4), 2651 }; 2652 static const unsigned int msiof3_rxd_e_mux[] = { 2653 MSIOF3_RXD_E_MARK, 2654 }; 2655 2656 /* - PWM0 --------------------------------------------------------------------*/ 2657 static const unsigned int pwm0_pins[] = { 2658 /* PWM */ 2659 RCAR_GP_PIN(2, 6), 2660 }; 2661 static const unsigned int pwm0_mux[] = { 2662 PWM0_MARK, 2663 }; 2664 /* - PWM1 --------------------------------------------------------------------*/ 2665 static const unsigned int pwm1_a_pins[] = { 2666 /* PWM */ 2667 RCAR_GP_PIN(2, 7), 2668 }; 2669 static const unsigned int pwm1_a_mux[] = { 2670 PWM1_A_MARK, 2671 }; 2672 static const unsigned int pwm1_b_pins[] = { 2673 /* PWM */ 2674 RCAR_GP_PIN(1, 8), 2675 }; 2676 static const unsigned int pwm1_b_mux[] = { 2677 PWM1_B_MARK, 2678 }; 2679 /* - PWM2 --------------------------------------------------------------------*/ 2680 static const unsigned int pwm2_a_pins[] = { 2681 /* PWM */ 2682 RCAR_GP_PIN(2, 8), 2683 }; 2684 static const unsigned int pwm2_a_mux[] = { 2685 PWM2_A_MARK, 2686 }; 2687 static const unsigned int pwm2_b_pins[] = { 2688 /* PWM */ 2689 RCAR_GP_PIN(1, 11), 2690 }; 2691 static const unsigned int pwm2_b_mux[] = { 2692 PWM2_B_MARK, 2693 }; 2694 /* - PWM3 --------------------------------------------------------------------*/ 2695 static const unsigned int pwm3_a_pins[] = { 2696 /* PWM */ 2697 RCAR_GP_PIN(1, 0), 2698 }; 2699 static const unsigned int pwm3_a_mux[] = { 2700 PWM3_A_MARK, 2701 }; 2702 static const unsigned int pwm3_b_pins[] = { 2703 /* PWM */ 2704 RCAR_GP_PIN(2, 2), 2705 }; 2706 static const unsigned int pwm3_b_mux[] = { 2707 PWM3_B_MARK, 2708 }; 2709 /* - PWM4 --------------------------------------------------------------------*/ 2710 static const unsigned int pwm4_a_pins[] = { 2711 /* PWM */ 2712 RCAR_GP_PIN(1, 1), 2713 }; 2714 static const unsigned int pwm4_a_mux[] = { 2715 PWM4_A_MARK, 2716 }; 2717 static const unsigned int pwm4_b_pins[] = { 2718 /* PWM */ 2719 RCAR_GP_PIN(2, 3), 2720 }; 2721 static const unsigned int pwm4_b_mux[] = { 2722 PWM4_B_MARK, 2723 }; 2724 /* - PWM5 --------------------------------------------------------------------*/ 2725 static const unsigned int pwm5_a_pins[] = { 2726 /* PWM */ 2727 RCAR_GP_PIN(1, 2), 2728 }; 2729 static const unsigned int pwm5_a_mux[] = { 2730 PWM5_A_MARK, 2731 }; 2732 static const unsigned int pwm5_b_pins[] = { 2733 /* PWM */ 2734 RCAR_GP_PIN(2, 4), 2735 }; 2736 static const unsigned int pwm5_b_mux[] = { 2737 PWM5_B_MARK, 2738 }; 2739 /* - PWM6 --------------------------------------------------------------------*/ 2740 static const unsigned int pwm6_a_pins[] = { 2741 /* PWM */ 2742 RCAR_GP_PIN(1, 3), 2743 }; 2744 static const unsigned int pwm6_a_mux[] = { 2745 PWM6_A_MARK, 2746 }; 2747 static const unsigned int pwm6_b_pins[] = { 2748 /* PWM */ 2749 RCAR_GP_PIN(2, 5), 2750 }; 2751 static const unsigned int pwm6_b_mux[] = { 2752 PWM6_B_MARK, 2753 }; 2754 2755 /* - SCIF0 ------------------------------------------------------------------ */ 2756 static const unsigned int scif0_data_pins[] = { 2757 /* RX, TX */ 2758 RCAR_GP_PIN(5, 1), RCAR_GP_PIN(5, 2), 2759 }; 2760 static const unsigned int scif0_data_mux[] = { 2761 RX0_MARK, TX0_MARK, 2762 }; 2763 static const unsigned int scif0_clk_pins[] = { 2764 /* SCK */ 2765 RCAR_GP_PIN(5, 0), 2766 }; 2767 static const unsigned int scif0_clk_mux[] = { 2768 SCK0_MARK, 2769 }; 2770 static const unsigned int scif0_ctrl_pins[] = { 2771 /* RTS, CTS */ 2772 RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 3), 2773 }; 2774 static const unsigned int scif0_ctrl_mux[] = { 2775 RTS0_N_TANS_MARK, CTS0_N_MARK, 2776 }; 2777 /* - SCIF1 ------------------------------------------------------------------ */ 2778 static const unsigned int scif1_data_a_pins[] = { 2779 /* RX, TX */ 2780 RCAR_GP_PIN(5, 5), RCAR_GP_PIN(5, 6), 2781 }; 2782 static const unsigned int scif1_data_a_mux[] = { 2783 RX1_A_MARK, TX1_A_MARK, 2784 }; 2785 static const unsigned int scif1_clk_pins[] = { 2786 /* SCK */ 2787 RCAR_GP_PIN(6, 21), 2788 }; 2789 static const unsigned int scif1_clk_mux[] = { 2790 SCK1_MARK, 2791 }; 2792 static const unsigned int scif1_ctrl_pins[] = { 2793 /* RTS, CTS */ 2794 RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 7), 2795 }; 2796 static const unsigned int scif1_ctrl_mux[] = { 2797 RTS1_N_TANS_MARK, CTS1_N_MARK, 2798 }; 2799 2800 static const unsigned int scif1_data_b_pins[] = { 2801 /* RX, TX */ 2802 RCAR_GP_PIN(5, 24), RCAR_GP_PIN(5, 25), 2803 }; 2804 static const unsigned int scif1_data_b_mux[] = { 2805 RX1_B_MARK, TX1_B_MARK, 2806 }; 2807 /* - SCIF2 ------------------------------------------------------------------ */ 2808 static const unsigned int scif2_data_a_pins[] = { 2809 /* RX, TX */ 2810 RCAR_GP_PIN(5, 11), RCAR_GP_PIN(5, 10), 2811 }; 2812 static const unsigned int scif2_data_a_mux[] = { 2813 RX2_A_MARK, TX2_A_MARK, 2814 }; 2815 static const unsigned int scif2_clk_pins[] = { 2816 /* SCK */ 2817 RCAR_GP_PIN(5, 9), 2818 }; 2819 static const unsigned int scif2_clk_mux[] = { 2820 SCK2_MARK, 2821 }; 2822 static const unsigned int scif2_data_b_pins[] = { 2823 /* RX, TX */ 2824 RCAR_GP_PIN(5, 15), RCAR_GP_PIN(5, 16), 2825 }; 2826 static const unsigned int scif2_data_b_mux[] = { 2827 RX2_B_MARK, TX2_B_MARK, 2828 }; 2829 /* - SCIF3 ------------------------------------------------------------------ */ 2830 static const unsigned int scif3_data_a_pins[] = { 2831 /* RX, TX */ 2832 RCAR_GP_PIN(1, 23), RCAR_GP_PIN(1, 24), 2833 }; 2834 static const unsigned int scif3_data_a_mux[] = { 2835 RX3_A_MARK, TX3_A_MARK, 2836 }; 2837 static const unsigned int scif3_clk_pins[] = { 2838 /* SCK */ 2839 RCAR_GP_PIN(1, 22), 2840 }; 2841 static const unsigned int scif3_clk_mux[] = { 2842 SCK3_MARK, 2843 }; 2844 static const unsigned int scif3_ctrl_pins[] = { 2845 /* RTS, CTS */ 2846 RCAR_GP_PIN(1, 26), RCAR_GP_PIN(1, 25), 2847 }; 2848 static const unsigned int scif3_ctrl_mux[] = { 2849 RTS3_N_TANS_MARK, CTS3_N_MARK, 2850 }; 2851 static const unsigned int scif3_data_b_pins[] = { 2852 /* RX, TX */ 2853 RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 11), 2854 }; 2855 static const unsigned int scif3_data_b_mux[] = { 2856 RX3_B_MARK, TX3_B_MARK, 2857 }; 2858 /* - SCIF4 ------------------------------------------------------------------ */ 2859 static const unsigned int scif4_data_a_pins[] = { 2860 /* RX, TX */ 2861 RCAR_GP_PIN(2, 11), RCAR_GP_PIN(2, 12), 2862 }; 2863 static const unsigned int scif4_data_a_mux[] = { 2864 RX4_A_MARK, TX4_A_MARK, 2865 }; 2866 static const unsigned int scif4_clk_a_pins[] = { 2867 /* SCK */ 2868 RCAR_GP_PIN(2, 10), 2869 }; 2870 static const unsigned int scif4_clk_a_mux[] = { 2871 SCK4_A_MARK, 2872 }; 2873 static const unsigned int scif4_ctrl_a_pins[] = { 2874 /* RTS, CTS */ 2875 RCAR_GP_PIN(2, 14), RCAR_GP_PIN(2, 13), 2876 }; 2877 static const unsigned int scif4_ctrl_a_mux[] = { 2878 RTS4_N_TANS_A_MARK, CTS4_N_A_MARK, 2879 }; 2880 static const unsigned int scif4_data_b_pins[] = { 2881 /* RX, TX */ 2882 RCAR_GP_PIN(1, 6), RCAR_GP_PIN(1, 7), 2883 }; 2884 static const unsigned int scif4_data_b_mux[] = { 2885 RX4_B_MARK, TX4_B_MARK, 2886 }; 2887 static const unsigned int scif4_clk_b_pins[] = { 2888 /* SCK */ 2889 RCAR_GP_PIN(1, 5), 2890 }; 2891 static const unsigned int scif4_clk_b_mux[] = { 2892 SCK4_B_MARK, 2893 }; 2894 static const unsigned int scif4_ctrl_b_pins[] = { 2895 /* RTS, CTS */ 2896 RCAR_GP_PIN(1, 10), RCAR_GP_PIN(1, 9), 2897 }; 2898 static const unsigned int scif4_ctrl_b_mux[] = { 2899 RTS4_N_TANS_B_MARK, CTS4_N_B_MARK, 2900 }; 2901 static const unsigned int scif4_data_c_pins[] = { 2902 /* RX, TX */ 2903 RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 13), 2904 }; 2905 static const unsigned int scif4_data_c_mux[] = { 2906 RX4_C_MARK, TX4_C_MARK, 2907 }; 2908 static const unsigned int scif4_clk_c_pins[] = { 2909 /* SCK */ 2910 RCAR_GP_PIN(0, 8), 2911 }; 2912 static const unsigned int scif4_clk_c_mux[] = { 2913 SCK4_C_MARK, 2914 }; 2915 static const unsigned int scif4_ctrl_c_pins[] = { 2916 /* RTS, CTS */ 2917 RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 10), 2918 }; 2919 static const unsigned int scif4_ctrl_c_mux[] = { 2920 RTS4_N_TANS_C_MARK, CTS4_N_C_MARK, 2921 }; 2922 /* - SCIF5 ------------------------------------------------------------------ */ 2923 static const unsigned int scif5_data_a_pins[] = { 2924 /* RX, TX */ 2925 RCAR_GP_PIN(5, 19), RCAR_GP_PIN(5, 21), 2926 }; 2927 static const unsigned int scif5_data_a_mux[] = { 2928 RX5_A_MARK, TX5_A_MARK, 2929 }; 2930 static const unsigned int scif5_clk_a_pins[] = { 2931 /* SCK */ 2932 RCAR_GP_PIN(6, 21), 2933 }; 2934 static const unsigned int scif5_clk_a_mux[] = { 2935 SCK5_A_MARK, 2936 }; 2937 static const unsigned int scif5_data_b_pins[] = { 2938 /* RX, TX */ 2939 RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 18), 2940 }; 2941 static const unsigned int scif5_data_b_mux[] = { 2942 RX5_B_MARK, TX5_B_MARK, 2943 }; 2944 static const unsigned int scif5_clk_b_pins[] = { 2945 /* SCK */ 2946 RCAR_GP_PIN(5, 0), 2947 }; 2948 static const unsigned int scif5_clk_b_mux[] = { 2949 SCK5_B_MARK, 2950 }; 2951 2952 /* - SDHI0 ------------------------------------------------------------------ */ 2953 static const unsigned int sdhi0_data1_pins[] = { 2954 /* D0 */ 2955 RCAR_GP_PIN(3, 2), 2956 }; 2957 static const unsigned int sdhi0_data1_mux[] = { 2958 SD0_DAT0_MARK, 2959 }; 2960 static const unsigned int sdhi0_data4_pins[] = { 2961 /* D[0:3] */ 2962 RCAR_GP_PIN(3, 2), RCAR_GP_PIN(3, 3), 2963 RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), 2964 }; 2965 static const unsigned int sdhi0_data4_mux[] = { 2966 SD0_DAT0_MARK, SD0_DAT1_MARK, 2967 SD0_DAT2_MARK, SD0_DAT3_MARK, 2968 }; 2969 static const unsigned int sdhi0_ctrl_pins[] = { 2970 /* CLK, CMD */ 2971 RCAR_GP_PIN(3, 0), RCAR_GP_PIN(3, 1), 2972 }; 2973 static const unsigned int sdhi0_ctrl_mux[] = { 2974 SD0_CLK_MARK, SD0_CMD_MARK, 2975 }; 2976 static const unsigned int sdhi0_cd_pins[] = { 2977 /* CD */ 2978 RCAR_GP_PIN(3, 12), 2979 }; 2980 static const unsigned int sdhi0_cd_mux[] = { 2981 SD0_CD_MARK, 2982 }; 2983 static const unsigned int sdhi0_wp_pins[] = { 2984 /* WP */ 2985 RCAR_GP_PIN(3, 13), 2986 }; 2987 static const unsigned int sdhi0_wp_mux[] = { 2988 SD0_WP_MARK, 2989 }; 2990 /* - SDHI1 ------------------------------------------------------------------ */ 2991 static const unsigned int sdhi1_data1_pins[] = { 2992 /* D0 */ 2993 RCAR_GP_PIN(3, 8), 2994 }; 2995 static const unsigned int sdhi1_data1_mux[] = { 2996 SD1_DAT0_MARK, 2997 }; 2998 static const unsigned int sdhi1_data4_pins[] = { 2999 /* D[0:3] */ 3000 RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9), 3001 RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11), 3002 }; 3003 static const unsigned int sdhi1_data4_mux[] = { 3004 SD1_DAT0_MARK, SD1_DAT1_MARK, 3005 SD1_DAT2_MARK, SD1_DAT3_MARK, 3006 }; 3007 static const unsigned int sdhi1_ctrl_pins[] = { 3008 /* CLK, CMD */ 3009 RCAR_GP_PIN(3, 6), RCAR_GP_PIN(3, 7), 3010 }; 3011 static const unsigned int sdhi1_ctrl_mux[] = { 3012 SD1_CLK_MARK, SD1_CMD_MARK, 3013 }; 3014 static const unsigned int sdhi1_cd_pins[] = { 3015 /* CD */ 3016 RCAR_GP_PIN(3, 14), 3017 }; 3018 static const unsigned int sdhi1_cd_mux[] = { 3019 SD1_CD_MARK, 3020 }; 3021 static const unsigned int sdhi1_wp_pins[] = { 3022 /* WP */ 3023 RCAR_GP_PIN(3, 15), 3024 }; 3025 static const unsigned int sdhi1_wp_mux[] = { 3026 SD1_WP_MARK, 3027 }; 3028 /* - SDHI2 ------------------------------------------------------------------ */ 3029 static const unsigned int sdhi2_data1_pins[] = { 3030 /* D0 */ 3031 RCAR_GP_PIN(4, 2), 3032 }; 3033 static const unsigned int sdhi2_data1_mux[] = { 3034 SD2_DAT0_MARK, 3035 }; 3036 static const unsigned int sdhi2_data4_pins[] = { 3037 /* D[0:3] */ 3038 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3), 3039 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), 3040 }; 3041 static const unsigned int sdhi2_data4_mux[] = { 3042 SD2_DAT0_MARK, SD2_DAT1_MARK, 3043 SD2_DAT2_MARK, SD2_DAT3_MARK, 3044 }; 3045 static const unsigned int sdhi2_data8_pins[] = { 3046 /* D[0:7] */ 3047 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3), 3048 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), 3049 RCAR_GP_PIN(3, 8), RCAR_GP_PIN(3, 9), 3050 RCAR_GP_PIN(3, 10), RCAR_GP_PIN(3, 11), 3051 }; 3052 static const unsigned int sdhi2_data8_mux[] = { 3053 SD2_DAT0_MARK, SD2_DAT1_MARK, 3054 SD2_DAT2_MARK, SD2_DAT3_MARK, 3055 SD2_DAT4_MARK, SD2_DAT5_MARK, 3056 SD2_DAT6_MARK, SD2_DAT7_MARK, 3057 }; 3058 static const unsigned int sdhi2_ctrl_pins[] = { 3059 /* CLK, CMD */ 3060 RCAR_GP_PIN(4, 0), RCAR_GP_PIN(4, 1), 3061 }; 3062 static const unsigned int sdhi2_ctrl_mux[] = { 3063 SD2_CLK_MARK, SD2_CMD_MARK, 3064 }; 3065 static const unsigned int sdhi2_cd_a_pins[] = { 3066 /* CD */ 3067 RCAR_GP_PIN(4, 13), 3068 }; 3069 static const unsigned int sdhi2_cd_a_mux[] = { 3070 SD2_CD_A_MARK, 3071 }; 3072 static const unsigned int sdhi2_cd_b_pins[] = { 3073 /* CD */ 3074 RCAR_GP_PIN(5, 10), 3075 }; 3076 static const unsigned int sdhi2_cd_b_mux[] = { 3077 SD2_CD_B_MARK, 3078 }; 3079 static const unsigned int sdhi2_wp_a_pins[] = { 3080 /* WP */ 3081 RCAR_GP_PIN(4, 14), 3082 }; 3083 static const unsigned int sdhi2_wp_a_mux[] = { 3084 SD2_WP_A_MARK, 3085 }; 3086 static const unsigned int sdhi2_wp_b_pins[] = { 3087 /* WP */ 3088 RCAR_GP_PIN(5, 11), 3089 }; 3090 static const unsigned int sdhi2_wp_b_mux[] = { 3091 SD2_WP_B_MARK, 3092 }; 3093 static const unsigned int sdhi2_ds_pins[] = { 3094 /* DS */ 3095 RCAR_GP_PIN(4, 6), 3096 }; 3097 static const unsigned int sdhi2_ds_mux[] = { 3098 SD2_DS_MARK, 3099 }; 3100 /* - SDHI3 ------------------------------------------------------------------ */ 3101 static const unsigned int sdhi3_data1_pins[] = { 3102 /* D0 */ 3103 RCAR_GP_PIN(4, 9), 3104 }; 3105 static const unsigned int sdhi3_data1_mux[] = { 3106 SD3_DAT0_MARK, 3107 }; 3108 static const unsigned int sdhi3_data4_pins[] = { 3109 /* D[0:3] */ 3110 RCAR_GP_PIN(4, 9), RCAR_GP_PIN(4, 10), 3111 RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 12), 3112 }; 3113 static const unsigned int sdhi3_data4_mux[] = { 3114 SD3_DAT0_MARK, SD3_DAT1_MARK, 3115 SD3_DAT2_MARK, SD3_DAT3_MARK, 3116 }; 3117 static const unsigned int sdhi3_data8_pins[] = { 3118 /* D[0:7] */ 3119 RCAR_GP_PIN(4, 9), RCAR_GP_PIN(4, 10), 3120 RCAR_GP_PIN(4, 11), RCAR_GP_PIN(4, 12), 3121 RCAR_GP_PIN(4, 13), RCAR_GP_PIN(4, 14), 3122 RCAR_GP_PIN(4, 15), RCAR_GP_PIN(4, 16), 3123 }; 3124 static const unsigned int sdhi3_data8_mux[] = { 3125 SD3_DAT0_MARK, SD3_DAT1_MARK, 3126 SD3_DAT2_MARK, SD3_DAT3_MARK, 3127 SD3_DAT4_MARK, SD3_DAT5_MARK, 3128 SD3_DAT6_MARK, SD3_DAT7_MARK, 3129 }; 3130 static const unsigned int sdhi3_ctrl_pins[] = { 3131 /* CLK, CMD */ 3132 RCAR_GP_PIN(4, 7), RCAR_GP_PIN(4, 8), 3133 }; 3134 static const unsigned int sdhi3_ctrl_mux[] = { 3135 SD3_CLK_MARK, SD3_CMD_MARK, 3136 }; 3137 static const unsigned int sdhi3_cd_pins[] = { 3138 /* CD */ 3139 RCAR_GP_PIN(4, 15), 3140 }; 3141 static const unsigned int sdhi3_cd_mux[] = { 3142 SD3_CD_MARK, 3143 }; 3144 static const unsigned int sdhi3_wp_pins[] = { 3145 /* WP */ 3146 RCAR_GP_PIN(4, 16), 3147 }; 3148 static const unsigned int sdhi3_wp_mux[] = { 3149 SD3_WP_MARK, 3150 }; 3151 static const unsigned int sdhi3_ds_pins[] = { 3152 /* DS */ 3153 RCAR_GP_PIN(4, 17), 3154 }; 3155 static const unsigned int sdhi3_ds_mux[] = { 3156 SD3_DS_MARK, 3157 }; 3158 3159 /* - SCIF Clock ------------------------------------------------------------- */ 3160 static const unsigned int scif_clk_a_pins[] = { 3161 /* SCIF_CLK */ 3162 RCAR_GP_PIN(6, 23), 3163 }; 3164 static const unsigned int scif_clk_a_mux[] = { 3165 SCIF_CLK_A_MARK, 3166 }; 3167 static const unsigned int scif_clk_b_pins[] = { 3168 /* SCIF_CLK */ 3169 RCAR_GP_PIN(5, 9), 3170 }; 3171 static const unsigned int scif_clk_b_mux[] = { 3172 SCIF_CLK_B_MARK, 3173 }; 3174 3175 /* - USB0 ------------------------------------------------------------------- */ 3176 static const unsigned int usb0_pins[] = { 3177 /* PWEN, OVC */ 3178 RCAR_GP_PIN(6, 24), RCAR_GP_PIN(6, 25), 3179 }; 3180 static const unsigned int usb0_mux[] = { 3181 USB0_PWEN_MARK, USB0_OVC_MARK, 3182 }; 3183 /* - USB1 ------------------------------------------------------------------- */ 3184 static const unsigned int usb1_pins[] = { 3185 /* PWEN, OVC */ 3186 RCAR_GP_PIN(6, 26), RCAR_GP_PIN(6, 27), 3187 }; 3188 static const unsigned int usb1_mux[] = { 3189 USB1_PWEN_MARK, USB1_OVC_MARK, 3190 }; 3191 /* - USB2 ------------------------------------------------------------------- */ 3192 static const unsigned int usb2_pins[] = { 3193 /* PWEN, OVC */ 3194 RCAR_GP_PIN(6, 14), RCAR_GP_PIN(6, 15), 3195 }; 3196 static const unsigned int usb2_mux[] = { 3197 USB2_PWEN_MARK, USB2_OVC_MARK, 3198 }; 3199 /* - USB2_CH3 --------------------------------------------------------------- */ 3200 static const unsigned int usb2_ch3_pins[] = { 3201 /* PWEN, OVC */ 3202 RCAR_GP_PIN(6, 30), RCAR_GP_PIN(6, 31), 3203 }; 3204 static const unsigned int usb2_ch3_mux[] = { 3205 USB2_CH3_PWEN_MARK, USB2_CH3_OVC_MARK, 3206 }; 3207 3208 static const struct sh_pfc_pin_group pinmux_groups[] = { 3209 SH_PFC_PIN_GROUP(avb_link), 3210 SH_PFC_PIN_GROUP(avb_magic), 3211 SH_PFC_PIN_GROUP(avb_phy_int), 3212 SH_PFC_PIN_GROUP(avb_mdc), 3213 SH_PFC_PIN_GROUP(avb_mii), 3214 SH_PFC_PIN_GROUP(avb_avtp_pps), 3215 SH_PFC_PIN_GROUP(avb_avtp_match_a), 3216 SH_PFC_PIN_GROUP(avb_avtp_capture_a), 3217 SH_PFC_PIN_GROUP(avb_avtp_match_b), 3218 SH_PFC_PIN_GROUP(avb_avtp_capture_b), 3219 SH_PFC_PIN_GROUP(drif0_ctrl_a), 3220 SH_PFC_PIN_GROUP(drif0_data0_a), 3221 SH_PFC_PIN_GROUP(drif0_data1_a), 3222 SH_PFC_PIN_GROUP(drif0_ctrl_b), 3223 SH_PFC_PIN_GROUP(drif0_data0_b), 3224 SH_PFC_PIN_GROUP(drif0_data1_b), 3225 SH_PFC_PIN_GROUP(drif0_ctrl_c), 3226 SH_PFC_PIN_GROUP(drif0_data0_c), 3227 SH_PFC_PIN_GROUP(drif0_data1_c), 3228 SH_PFC_PIN_GROUP(drif1_ctrl_a), 3229 SH_PFC_PIN_GROUP(drif1_data0_a), 3230 SH_PFC_PIN_GROUP(drif1_data1_a), 3231 SH_PFC_PIN_GROUP(drif1_ctrl_b), 3232 SH_PFC_PIN_GROUP(drif1_data0_b), 3233 SH_PFC_PIN_GROUP(drif1_data1_b), 3234 SH_PFC_PIN_GROUP(drif1_ctrl_c), 3235 SH_PFC_PIN_GROUP(drif1_data0_c), 3236 SH_PFC_PIN_GROUP(drif1_data1_c), 3237 SH_PFC_PIN_GROUP(drif2_ctrl_a), 3238 SH_PFC_PIN_GROUP(drif2_data0_a), 3239 SH_PFC_PIN_GROUP(drif2_data1_a), 3240 SH_PFC_PIN_GROUP(drif2_ctrl_b), 3241 SH_PFC_PIN_GROUP(drif2_data0_b), 3242 SH_PFC_PIN_GROUP(drif2_data1_b), 3243 SH_PFC_PIN_GROUP(drif3_ctrl_a), 3244 SH_PFC_PIN_GROUP(drif3_data0_a), 3245 SH_PFC_PIN_GROUP(drif3_data1_a), 3246 SH_PFC_PIN_GROUP(drif3_ctrl_b), 3247 SH_PFC_PIN_GROUP(drif3_data0_b), 3248 SH_PFC_PIN_GROUP(drif3_data1_b), 3249 SH_PFC_PIN_GROUP(du_rgb666), 3250 SH_PFC_PIN_GROUP(du_rgb888), 3251 SH_PFC_PIN_GROUP(du_clk_out_0), 3252 SH_PFC_PIN_GROUP(du_clk_out_1), 3253 SH_PFC_PIN_GROUP(du_sync), 3254 SH_PFC_PIN_GROUP(du_oddf), 3255 SH_PFC_PIN_GROUP(du_cde), 3256 SH_PFC_PIN_GROUP(du_disp), 3257 SH_PFC_PIN_GROUP(msiof0_clk), 3258 SH_PFC_PIN_GROUP(msiof0_sync), 3259 SH_PFC_PIN_GROUP(msiof0_ss1), 3260 SH_PFC_PIN_GROUP(msiof0_ss2), 3261 SH_PFC_PIN_GROUP(msiof0_txd), 3262 SH_PFC_PIN_GROUP(msiof0_rxd), 3263 SH_PFC_PIN_GROUP(msiof1_clk_a), 3264 SH_PFC_PIN_GROUP(msiof1_sync_a), 3265 SH_PFC_PIN_GROUP(msiof1_ss1_a), 3266 SH_PFC_PIN_GROUP(msiof1_ss2_a), 3267 SH_PFC_PIN_GROUP(msiof1_txd_a), 3268 SH_PFC_PIN_GROUP(msiof1_rxd_a), 3269 SH_PFC_PIN_GROUP(msiof1_clk_b), 3270 SH_PFC_PIN_GROUP(msiof1_sync_b), 3271 SH_PFC_PIN_GROUP(msiof1_ss1_b), 3272 SH_PFC_PIN_GROUP(msiof1_ss2_b), 3273 SH_PFC_PIN_GROUP(msiof1_txd_b), 3274 SH_PFC_PIN_GROUP(msiof1_rxd_b), 3275 SH_PFC_PIN_GROUP(msiof1_clk_c), 3276 SH_PFC_PIN_GROUP(msiof1_sync_c), 3277 SH_PFC_PIN_GROUP(msiof1_ss1_c), 3278 SH_PFC_PIN_GROUP(msiof1_ss2_c), 3279 SH_PFC_PIN_GROUP(msiof1_txd_c), 3280 SH_PFC_PIN_GROUP(msiof1_rxd_c), 3281 SH_PFC_PIN_GROUP(msiof1_clk_d), 3282 SH_PFC_PIN_GROUP(msiof1_sync_d), 3283 SH_PFC_PIN_GROUP(msiof1_ss1_d), 3284 SH_PFC_PIN_GROUP(msiof1_ss2_d), 3285 SH_PFC_PIN_GROUP(msiof1_txd_d), 3286 SH_PFC_PIN_GROUP(msiof1_rxd_d), 3287 SH_PFC_PIN_GROUP(msiof1_clk_e), 3288 SH_PFC_PIN_GROUP(msiof1_sync_e), 3289 SH_PFC_PIN_GROUP(msiof1_ss1_e), 3290 SH_PFC_PIN_GROUP(msiof1_ss2_e), 3291 SH_PFC_PIN_GROUP(msiof1_txd_e), 3292 SH_PFC_PIN_GROUP(msiof1_rxd_e), 3293 SH_PFC_PIN_GROUP(msiof1_clk_f), 3294 SH_PFC_PIN_GROUP(msiof1_sync_f), 3295 SH_PFC_PIN_GROUP(msiof1_ss1_f), 3296 SH_PFC_PIN_GROUP(msiof1_ss2_f), 3297 SH_PFC_PIN_GROUP(msiof1_txd_f), 3298 SH_PFC_PIN_GROUP(msiof1_rxd_f), 3299 SH_PFC_PIN_GROUP(msiof1_clk_g), 3300 SH_PFC_PIN_GROUP(msiof1_sync_g), 3301 SH_PFC_PIN_GROUP(msiof1_ss1_g), 3302 SH_PFC_PIN_GROUP(msiof1_ss2_g), 3303 SH_PFC_PIN_GROUP(msiof1_txd_g), 3304 SH_PFC_PIN_GROUP(msiof1_rxd_g), 3305 SH_PFC_PIN_GROUP(msiof2_clk_a), 3306 SH_PFC_PIN_GROUP(msiof2_sync_a), 3307 SH_PFC_PIN_GROUP(msiof2_ss1_a), 3308 SH_PFC_PIN_GROUP(msiof2_ss2_a), 3309 SH_PFC_PIN_GROUP(msiof2_txd_a), 3310 SH_PFC_PIN_GROUP(msiof2_rxd_a), 3311 SH_PFC_PIN_GROUP(msiof2_clk_b), 3312 SH_PFC_PIN_GROUP(msiof2_sync_b), 3313 SH_PFC_PIN_GROUP(msiof2_ss1_b), 3314 SH_PFC_PIN_GROUP(msiof2_ss2_b), 3315 SH_PFC_PIN_GROUP(msiof2_txd_b), 3316 SH_PFC_PIN_GROUP(msiof2_rxd_b), 3317 SH_PFC_PIN_GROUP(msiof2_clk_c), 3318 SH_PFC_PIN_GROUP(msiof2_sync_c), 3319 SH_PFC_PIN_GROUP(msiof2_ss1_c), 3320 SH_PFC_PIN_GROUP(msiof2_ss2_c), 3321 SH_PFC_PIN_GROUP(msiof2_txd_c), 3322 SH_PFC_PIN_GROUP(msiof2_rxd_c), 3323 SH_PFC_PIN_GROUP(msiof2_clk_d), 3324 SH_PFC_PIN_GROUP(msiof2_sync_d), 3325 SH_PFC_PIN_GROUP(msiof2_ss1_d), 3326 SH_PFC_PIN_GROUP(msiof2_ss2_d), 3327 SH_PFC_PIN_GROUP(msiof2_txd_d), 3328 SH_PFC_PIN_GROUP(msiof2_rxd_d), 3329 SH_PFC_PIN_GROUP(msiof3_clk_a), 3330 SH_PFC_PIN_GROUP(msiof3_sync_a), 3331 SH_PFC_PIN_GROUP(msiof3_ss1_a), 3332 SH_PFC_PIN_GROUP(msiof3_ss2_a), 3333 SH_PFC_PIN_GROUP(msiof3_txd_a), 3334 SH_PFC_PIN_GROUP(msiof3_rxd_a), 3335 SH_PFC_PIN_GROUP(msiof3_clk_b), 3336 SH_PFC_PIN_GROUP(msiof3_sync_b), 3337 SH_PFC_PIN_GROUP(msiof3_ss1_b), 3338 SH_PFC_PIN_GROUP(msiof3_ss2_b), 3339 SH_PFC_PIN_GROUP(msiof3_txd_b), 3340 SH_PFC_PIN_GROUP(msiof3_rxd_b), 3341 SH_PFC_PIN_GROUP(msiof3_clk_c), 3342 SH_PFC_PIN_GROUP(msiof3_sync_c), 3343 SH_PFC_PIN_GROUP(msiof3_txd_c), 3344 SH_PFC_PIN_GROUP(msiof3_rxd_c), 3345 SH_PFC_PIN_GROUP(msiof3_clk_d), 3346 SH_PFC_PIN_GROUP(msiof3_sync_d), 3347 SH_PFC_PIN_GROUP(msiof3_ss1_d), 3348 SH_PFC_PIN_GROUP(msiof3_txd_d), 3349 SH_PFC_PIN_GROUP(msiof3_rxd_d), 3350 SH_PFC_PIN_GROUP(msiof3_clk_e), 3351 SH_PFC_PIN_GROUP(msiof3_sync_e), 3352 SH_PFC_PIN_GROUP(msiof3_ss1_e), 3353 SH_PFC_PIN_GROUP(msiof3_ss2_e), 3354 SH_PFC_PIN_GROUP(msiof3_txd_e), 3355 SH_PFC_PIN_GROUP(msiof3_rxd_e), 3356 SH_PFC_PIN_GROUP(pwm0), 3357 SH_PFC_PIN_GROUP(pwm1_a), 3358 SH_PFC_PIN_GROUP(pwm1_b), 3359 SH_PFC_PIN_GROUP(pwm2_a), 3360 SH_PFC_PIN_GROUP(pwm2_b), 3361 SH_PFC_PIN_GROUP(pwm3_a), 3362 SH_PFC_PIN_GROUP(pwm3_b), 3363 SH_PFC_PIN_GROUP(pwm4_a), 3364 SH_PFC_PIN_GROUP(pwm4_b), 3365 SH_PFC_PIN_GROUP(pwm5_a), 3366 SH_PFC_PIN_GROUP(pwm5_b), 3367 SH_PFC_PIN_GROUP(pwm6_a), 3368 SH_PFC_PIN_GROUP(pwm6_b), 3369 SH_PFC_PIN_GROUP(scif0_data), 3370 SH_PFC_PIN_GROUP(scif0_clk), 3371 SH_PFC_PIN_GROUP(scif0_ctrl), 3372 SH_PFC_PIN_GROUP(scif1_data_a), 3373 SH_PFC_PIN_GROUP(scif1_clk), 3374 SH_PFC_PIN_GROUP(scif1_ctrl), 3375 SH_PFC_PIN_GROUP(scif1_data_b), 3376 SH_PFC_PIN_GROUP(scif2_data_a), 3377 SH_PFC_PIN_GROUP(scif2_clk), 3378 SH_PFC_PIN_GROUP(scif2_data_b), 3379 SH_PFC_PIN_GROUP(scif3_data_a), 3380 SH_PFC_PIN_GROUP(scif3_clk), 3381 SH_PFC_PIN_GROUP(scif3_ctrl), 3382 SH_PFC_PIN_GROUP(scif3_data_b), 3383 SH_PFC_PIN_GROUP(scif4_data_a), 3384 SH_PFC_PIN_GROUP(scif4_clk_a), 3385 SH_PFC_PIN_GROUP(scif4_ctrl_a), 3386 SH_PFC_PIN_GROUP(scif4_data_b), 3387 SH_PFC_PIN_GROUP(scif4_clk_b), 3388 SH_PFC_PIN_GROUP(scif4_ctrl_b), 3389 SH_PFC_PIN_GROUP(scif4_data_c), 3390 SH_PFC_PIN_GROUP(scif4_clk_c), 3391 SH_PFC_PIN_GROUP(scif4_ctrl_c), 3392 SH_PFC_PIN_GROUP(scif5_data_a), 3393 SH_PFC_PIN_GROUP(scif5_clk_a), 3394 SH_PFC_PIN_GROUP(scif5_data_b), 3395 SH_PFC_PIN_GROUP(scif5_clk_b), 3396 SH_PFC_PIN_GROUP(scif_clk_a), 3397 SH_PFC_PIN_GROUP(scif_clk_b), 3398 SH_PFC_PIN_GROUP(sdhi0_data1), 3399 SH_PFC_PIN_GROUP(sdhi0_data4), 3400 SH_PFC_PIN_GROUP(sdhi0_ctrl), 3401 SH_PFC_PIN_GROUP(sdhi0_cd), 3402 SH_PFC_PIN_GROUP(sdhi0_wp), 3403 SH_PFC_PIN_GROUP(sdhi1_data1), 3404 SH_PFC_PIN_GROUP(sdhi1_data4), 3405 SH_PFC_PIN_GROUP(sdhi1_ctrl), 3406 SH_PFC_PIN_GROUP(sdhi1_cd), 3407 SH_PFC_PIN_GROUP(sdhi1_wp), 3408 SH_PFC_PIN_GROUP(sdhi2_data1), 3409 SH_PFC_PIN_GROUP(sdhi2_data4), 3410 SH_PFC_PIN_GROUP(sdhi2_data8), 3411 SH_PFC_PIN_GROUP(sdhi2_ctrl), 3412 SH_PFC_PIN_GROUP(sdhi2_cd_a), 3413 SH_PFC_PIN_GROUP(sdhi2_wp_a), 3414 SH_PFC_PIN_GROUP(sdhi2_cd_b), 3415 SH_PFC_PIN_GROUP(sdhi2_wp_b), 3416 SH_PFC_PIN_GROUP(sdhi2_ds), 3417 SH_PFC_PIN_GROUP(sdhi3_data1), 3418 SH_PFC_PIN_GROUP(sdhi3_data4), 3419 SH_PFC_PIN_GROUP(sdhi3_data8), 3420 SH_PFC_PIN_GROUP(sdhi3_ctrl), 3421 SH_PFC_PIN_GROUP(sdhi3_cd), 3422 SH_PFC_PIN_GROUP(sdhi3_wp), 3423 SH_PFC_PIN_GROUP(sdhi3_ds), 3424 SH_PFC_PIN_GROUP(usb0), 3425 SH_PFC_PIN_GROUP(usb1), 3426 SH_PFC_PIN_GROUP(usb2), 3427 SH_PFC_PIN_GROUP(usb2_ch3), 3428 }; 3429 3430 static const char * const avb_groups[] = { 3431 "avb_link", 3432 "avb_magic", 3433 "avb_phy_int", 3434 "avb_mdc", 3435 "avb_mii", 3436 "avb_avtp_pps", 3437 "avb_avtp_match_a", 3438 "avb_avtp_capture_a", 3439 "avb_avtp_match_b", 3440 "avb_avtp_capture_b", 3441 }; 3442 3443 static const char * const drif0_groups[] = { 3444 "drif0_ctrl_a", 3445 "drif0_data0_a", 3446 "drif0_data1_a", 3447 "drif0_ctrl_b", 3448 "drif0_data0_b", 3449 "drif0_data1_b", 3450 "drif0_ctrl_c", 3451 "drif0_data0_c", 3452 "drif0_data1_c", 3453 }; 3454 3455 static const char * const drif1_groups[] = { 3456 "drif1_ctrl_a", 3457 "drif1_data0_a", 3458 "drif1_data1_a", 3459 "drif1_ctrl_b", 3460 "drif1_data0_b", 3461 "drif1_data1_b", 3462 "drif1_ctrl_c", 3463 "drif1_data0_c", 3464 "drif1_data1_c", 3465 }; 3466 3467 static const char * const drif2_groups[] = { 3468 "drif2_ctrl_a", 3469 "drif2_data0_a", 3470 "drif2_data1_a", 3471 "drif2_ctrl_b", 3472 "drif2_data0_b", 3473 "drif2_data1_b", 3474 }; 3475 3476 static const char * const drif3_groups[] = { 3477 "drif3_ctrl_a", 3478 "drif3_data0_a", 3479 "drif3_data1_a", 3480 "drif3_ctrl_b", 3481 "drif3_data0_b", 3482 "drif3_data1_b", 3483 }; 3484 3485 static const char * const du_groups[] = { 3486 "du_rgb666", 3487 "du_rgb888", 3488 "du_clk_out_0", 3489 "du_clk_out_1", 3490 "du_sync", 3491 "du_oddf", 3492 "du_cde", 3493 "du_disp", 3494 }; 3495 3496 static const char * const msiof0_groups[] = { 3497 "msiof0_clk", 3498 "msiof0_sync", 3499 "msiof0_ss1", 3500 "msiof0_ss2", 3501 "msiof0_txd", 3502 "msiof0_rxd", 3503 }; 3504 3505 static const char * const msiof1_groups[] = { 3506 "msiof1_clk_a", 3507 "msiof1_sync_a", 3508 "msiof1_ss1_a", 3509 "msiof1_ss2_a", 3510 "msiof1_txd_a", 3511 "msiof1_rxd_a", 3512 "msiof1_clk_b", 3513 "msiof1_sync_b", 3514 "msiof1_ss1_b", 3515 "msiof1_ss2_b", 3516 "msiof1_txd_b", 3517 "msiof1_rxd_b", 3518 "msiof1_clk_c", 3519 "msiof1_sync_c", 3520 "msiof1_ss1_c", 3521 "msiof1_ss2_c", 3522 "msiof1_txd_c", 3523 "msiof1_rxd_c", 3524 "msiof1_clk_d", 3525 "msiof1_sync_d", 3526 "msiof1_ss1_d", 3527 "msiof1_ss2_d", 3528 "msiof1_txd_d", 3529 "msiof1_rxd_d", 3530 "msiof1_clk_e", 3531 "msiof1_sync_e", 3532 "msiof1_ss1_e", 3533 "msiof1_ss2_e", 3534 "msiof1_txd_e", 3535 "msiof1_rxd_e", 3536 "msiof1_clk_f", 3537 "msiof1_sync_f", 3538 "msiof1_ss1_f", 3539 "msiof1_ss2_f", 3540 "msiof1_txd_f", 3541 "msiof1_rxd_f", 3542 "msiof1_clk_g", 3543 "msiof1_sync_g", 3544 "msiof1_ss1_g", 3545 "msiof1_ss2_g", 3546 "msiof1_txd_g", 3547 "msiof1_rxd_g", 3548 }; 3549 3550 static const char * const msiof2_groups[] = { 3551 "msiof2_clk_a", 3552 "msiof2_sync_a", 3553 "msiof2_ss1_a", 3554 "msiof2_ss2_a", 3555 "msiof2_txd_a", 3556 "msiof2_rxd_a", 3557 "msiof2_clk_b", 3558 "msiof2_sync_b", 3559 "msiof2_ss1_b", 3560 "msiof2_ss2_b", 3561 "msiof2_txd_b", 3562 "msiof2_rxd_b", 3563 "msiof2_clk_c", 3564 "msiof2_sync_c", 3565 "msiof2_ss1_c", 3566 "msiof2_ss2_c", 3567 "msiof2_txd_c", 3568 "msiof2_rxd_c", 3569 "msiof2_clk_d", 3570 "msiof2_sync_d", 3571 "msiof2_ss1_d", 3572 "msiof2_ss2_d", 3573 "msiof2_txd_d", 3574 "msiof2_rxd_d", 3575 }; 3576 3577 static const char * const msiof3_groups[] = { 3578 "msiof3_clk_a", 3579 "msiof3_sync_a", 3580 "msiof3_ss1_a", 3581 "msiof3_ss2_a", 3582 "msiof3_txd_a", 3583 "msiof3_rxd_a", 3584 "msiof3_clk_b", 3585 "msiof3_sync_b", 3586 "msiof3_ss1_b", 3587 "msiof3_ss2_b", 3588 "msiof3_txd_b", 3589 "msiof3_rxd_b", 3590 "msiof3_clk_c", 3591 "msiof3_sync_c", 3592 "msiof3_txd_c", 3593 "msiof3_rxd_c", 3594 "msiof3_clk_d", 3595 "msiof3_sync_d", 3596 "msiof3_ss1_d", 3597 "msiof3_txd_d", 3598 "msiof3_rxd_d", 3599 "msiof3_clk_e", 3600 "msiof3_sync_e", 3601 "msiof3_ss1_e", 3602 "msiof3_ss2_e", 3603 "msiof3_txd_e", 3604 "msiof3_rxd_e", 3605 }; 3606 3607 static const char * const pwm0_groups[] = { 3608 "pwm0", 3609 }; 3610 3611 static const char * const pwm1_groups[] = { 3612 "pwm1_a", 3613 "pwm1_b", 3614 }; 3615 3616 static const char * const pwm2_groups[] = { 3617 "pwm2_a", 3618 "pwm2_b", 3619 }; 3620 3621 static const char * const pwm3_groups[] = { 3622 "pwm3_a", 3623 "pwm3_b", 3624 }; 3625 3626 static const char * const pwm4_groups[] = { 3627 "pwm4_a", 3628 "pwm4_b", 3629 }; 3630 3631 static const char * const pwm5_groups[] = { 3632 "pwm5_a", 3633 "pwm5_b", 3634 }; 3635 3636 static const char * const pwm6_groups[] = { 3637 "pwm6_a", 3638 "pwm6_b", 3639 }; 3640 3641 static const char * const scif0_groups[] = { 3642 "scif0_data", 3643 "scif0_clk", 3644 "scif0_ctrl", 3645 }; 3646 3647 static const char * const scif1_groups[] = { 3648 "scif1_data_a", 3649 "scif1_clk", 3650 "scif1_ctrl", 3651 "scif1_data_b", 3652 }; 3653 3654 static const char * const scif2_groups[] = { 3655 "scif2_data_a", 3656 "scif2_clk", 3657 "scif2_data_b", 3658 }; 3659 3660 static const char * const scif3_groups[] = { 3661 "scif3_data_a", 3662 "scif3_clk", 3663 "scif3_ctrl", 3664 "scif3_data_b", 3665 }; 3666 3667 static const char * const scif4_groups[] = { 3668 "scif4_data_a", 3669 "scif4_clk_a", 3670 "scif4_ctrl_a", 3671 "scif4_data_b", 3672 "scif4_clk_b", 3673 "scif4_ctrl_b", 3674 "scif4_data_c", 3675 "scif4_clk_c", 3676 "scif4_ctrl_c", 3677 }; 3678 3679 static const char * const scif5_groups[] = { 3680 "scif5_data_a", 3681 "scif5_clk_a", 3682 "scif5_data_b", 3683 "scif5_clk_b", 3684 }; 3685 3686 static const char * const scif_clk_groups[] = { 3687 "scif_clk_a", 3688 "scif_clk_b", 3689 }; 3690 3691 static const char * const sdhi0_groups[] = { 3692 "sdhi0_data1", 3693 "sdhi0_data4", 3694 "sdhi0_ctrl", 3695 "sdhi0_cd", 3696 "sdhi0_wp", 3697 }; 3698 3699 static const char * const sdhi1_groups[] = { 3700 "sdhi1_data1", 3701 "sdhi1_data4", 3702 "sdhi1_ctrl", 3703 "sdhi1_cd", 3704 "sdhi1_wp", 3705 }; 3706 3707 static const char * const sdhi2_groups[] = { 3708 "sdhi2_data1", 3709 "sdhi2_data4", 3710 "sdhi2_data8", 3711 "sdhi2_ctrl", 3712 "sdhi2_cd_a", 3713 "sdhi2_wp_a", 3714 "sdhi2_cd_b", 3715 "sdhi2_wp_b", 3716 "sdhi2_ds", 3717 }; 3718 3719 static const char * const sdhi3_groups[] = { 3720 "sdhi3_data1", 3721 "sdhi3_data4", 3722 "sdhi3_data8", 3723 "sdhi3_ctrl", 3724 "sdhi3_cd", 3725 "sdhi3_wp", 3726 "sdhi3_ds", 3727 }; 3728 3729 static const char * const usb0_groups[] = { 3730 "usb0", 3731 }; 3732 3733 static const char * const usb1_groups[] = { 3734 "usb1", 3735 }; 3736 3737 static const char * const usb2_groups[] = { 3738 "usb2", 3739 }; 3740 3741 static const char * const usb2_ch3_groups[] = { 3742 "usb2_ch3", 3743 }; 3744 3745 static const struct sh_pfc_function pinmux_functions[] = { 3746 SH_PFC_FUNCTION(avb), 3747 SH_PFC_FUNCTION(drif0), 3748 SH_PFC_FUNCTION(drif1), 3749 SH_PFC_FUNCTION(drif2), 3750 SH_PFC_FUNCTION(drif3), 3751 SH_PFC_FUNCTION(du), 3752 SH_PFC_FUNCTION(msiof0), 3753 SH_PFC_FUNCTION(msiof1), 3754 SH_PFC_FUNCTION(msiof2), 3755 SH_PFC_FUNCTION(msiof3), 3756 SH_PFC_FUNCTION(pwm0), 3757 SH_PFC_FUNCTION(pwm1), 3758 SH_PFC_FUNCTION(pwm2), 3759 SH_PFC_FUNCTION(pwm3), 3760 SH_PFC_FUNCTION(pwm4), 3761 SH_PFC_FUNCTION(pwm5), 3762 SH_PFC_FUNCTION(pwm6), 3763 SH_PFC_FUNCTION(scif0), 3764 SH_PFC_FUNCTION(scif1), 3765 SH_PFC_FUNCTION(scif2), 3766 SH_PFC_FUNCTION(scif3), 3767 SH_PFC_FUNCTION(scif4), 3768 SH_PFC_FUNCTION(scif5), 3769 SH_PFC_FUNCTION(scif_clk), 3770 SH_PFC_FUNCTION(sdhi0), 3771 SH_PFC_FUNCTION(sdhi1), 3772 SH_PFC_FUNCTION(sdhi2), 3773 SH_PFC_FUNCTION(sdhi3), 3774 SH_PFC_FUNCTION(usb0), 3775 SH_PFC_FUNCTION(usb1), 3776 SH_PFC_FUNCTION(usb2), 3777 SH_PFC_FUNCTION(usb2_ch3), 3778 }; 3779 3780 static const struct pinmux_cfg_reg pinmux_config_regs[] = { 3781 #define F_(x, y) FN_##y 3782 #define FM(x) FN_##x 3783 { PINMUX_CFG_REG("GPSR0", 0xe6060100, 32, 1) { 3784 0, 0, 3785 0, 0, 3786 0, 0, 3787 0, 0, 3788 0, 0, 3789 0, 0, 3790 0, 0, 3791 0, 0, 3792 0, 0, 3793 0, 0, 3794 0, 0, 3795 0, 0, 3796 0, 0, 3797 0, 0, 3798 0, 0, 3799 0, 0, 3800 GP_0_15_FN, GPSR0_15, 3801 GP_0_14_FN, GPSR0_14, 3802 GP_0_13_FN, GPSR0_13, 3803 GP_0_12_FN, GPSR0_12, 3804 GP_0_11_FN, GPSR0_11, 3805 GP_0_10_FN, GPSR0_10, 3806 GP_0_9_FN, GPSR0_9, 3807 GP_0_8_FN, GPSR0_8, 3808 GP_0_7_FN, GPSR0_7, 3809 GP_0_6_FN, GPSR0_6, 3810 GP_0_5_FN, GPSR0_5, 3811 GP_0_4_FN, GPSR0_4, 3812 GP_0_3_FN, GPSR0_3, 3813 GP_0_2_FN, GPSR0_2, 3814 GP_0_1_FN, GPSR0_1, 3815 GP_0_0_FN, GPSR0_0, } 3816 }, 3817 { PINMUX_CFG_REG("GPSR1", 0xe6060104, 32, 1) { 3818 0, 0, 3819 0, 0, 3820 0, 0, 3821 0, 0, 3822 GP_1_27_FN, GPSR1_27, 3823 GP_1_26_FN, GPSR1_26, 3824 GP_1_25_FN, GPSR1_25, 3825 GP_1_24_FN, GPSR1_24, 3826 GP_1_23_FN, GPSR1_23, 3827 GP_1_22_FN, GPSR1_22, 3828 GP_1_21_FN, GPSR1_21, 3829 GP_1_20_FN, GPSR1_20, 3830 GP_1_19_FN, GPSR1_19, 3831 GP_1_18_FN, GPSR1_18, 3832 GP_1_17_FN, GPSR1_17, 3833 GP_1_16_FN, GPSR1_16, 3834 GP_1_15_FN, GPSR1_15, 3835 GP_1_14_FN, GPSR1_14, 3836 GP_1_13_FN, GPSR1_13, 3837 GP_1_12_FN, GPSR1_12, 3838 GP_1_11_FN, GPSR1_11, 3839 GP_1_10_FN, GPSR1_10, 3840 GP_1_9_FN, GPSR1_9, 3841 GP_1_8_FN, GPSR1_8, 3842 GP_1_7_FN, GPSR1_7, 3843 GP_1_6_FN, GPSR1_6, 3844 GP_1_5_FN, GPSR1_5, 3845 GP_1_4_FN, GPSR1_4, 3846 GP_1_3_FN, GPSR1_3, 3847 GP_1_2_FN, GPSR1_2, 3848 GP_1_1_FN, GPSR1_1, 3849 GP_1_0_FN, GPSR1_0, } 3850 }, 3851 { PINMUX_CFG_REG("GPSR2", 0xe6060108, 32, 1) { 3852 0, 0, 3853 0, 0, 3854 0, 0, 3855 0, 0, 3856 0, 0, 3857 0, 0, 3858 0, 0, 3859 0, 0, 3860 0, 0, 3861 0, 0, 3862 0, 0, 3863 0, 0, 3864 0, 0, 3865 0, 0, 3866 0, 0, 3867 0, 0, 3868 0, 0, 3869 GP_2_14_FN, GPSR2_14, 3870 GP_2_13_FN, GPSR2_13, 3871 GP_2_12_FN, GPSR2_12, 3872 GP_2_11_FN, GPSR2_11, 3873 GP_2_10_FN, GPSR2_10, 3874 GP_2_9_FN, GPSR2_9, 3875 GP_2_8_FN, GPSR2_8, 3876 GP_2_7_FN, GPSR2_7, 3877 GP_2_6_FN, GPSR2_6, 3878 GP_2_5_FN, GPSR2_5, 3879 GP_2_4_FN, GPSR2_4, 3880 GP_2_3_FN, GPSR2_3, 3881 GP_2_2_FN, GPSR2_2, 3882 GP_2_1_FN, GPSR2_1, 3883 GP_2_0_FN, GPSR2_0, } 3884 }, 3885 { PINMUX_CFG_REG("GPSR3", 0xe606010c, 32, 1) { 3886 0, 0, 3887 0, 0, 3888 0, 0, 3889 0, 0, 3890 0, 0, 3891 0, 0, 3892 0, 0, 3893 0, 0, 3894 0, 0, 3895 0, 0, 3896 0, 0, 3897 0, 0, 3898 0, 0, 3899 0, 0, 3900 0, 0, 3901 0, 0, 3902 GP_3_15_FN, GPSR3_15, 3903 GP_3_14_FN, GPSR3_14, 3904 GP_3_13_FN, GPSR3_13, 3905 GP_3_12_FN, GPSR3_12, 3906 GP_3_11_FN, GPSR3_11, 3907 GP_3_10_FN, GPSR3_10, 3908 GP_3_9_FN, GPSR3_9, 3909 GP_3_8_FN, GPSR3_8, 3910 GP_3_7_FN, GPSR3_7, 3911 GP_3_6_FN, GPSR3_6, 3912 GP_3_5_FN, GPSR3_5, 3913 GP_3_4_FN, GPSR3_4, 3914 GP_3_3_FN, GPSR3_3, 3915 GP_3_2_FN, GPSR3_2, 3916 GP_3_1_FN, GPSR3_1, 3917 GP_3_0_FN, GPSR3_0, } 3918 }, 3919 { PINMUX_CFG_REG("GPSR4", 0xe6060110, 32, 1) { 3920 0, 0, 3921 0, 0, 3922 0, 0, 3923 0, 0, 3924 0, 0, 3925 0, 0, 3926 0, 0, 3927 0, 0, 3928 0, 0, 3929 0, 0, 3930 0, 0, 3931 0, 0, 3932 0, 0, 3933 0, 0, 3934 GP_4_17_FN, GPSR4_17, 3935 GP_4_16_FN, GPSR4_16, 3936 GP_4_15_FN, GPSR4_15, 3937 GP_4_14_FN, GPSR4_14, 3938 GP_4_13_FN, GPSR4_13, 3939 GP_4_12_FN, GPSR4_12, 3940 GP_4_11_FN, GPSR4_11, 3941 GP_4_10_FN, GPSR4_10, 3942 GP_4_9_FN, GPSR4_9, 3943 GP_4_8_FN, GPSR4_8, 3944 GP_4_7_FN, GPSR4_7, 3945 GP_4_6_FN, GPSR4_6, 3946 GP_4_5_FN, GPSR4_5, 3947 GP_4_4_FN, GPSR4_4, 3948 GP_4_3_FN, GPSR4_3, 3949 GP_4_2_FN, GPSR4_2, 3950 GP_4_1_FN, GPSR4_1, 3951 GP_4_0_FN, GPSR4_0, } 3952 }, 3953 { PINMUX_CFG_REG("GPSR5", 0xe6060114, 32, 1) { 3954 0, 0, 3955 0, 0, 3956 0, 0, 3957 0, 0, 3958 0, 0, 3959 0, 0, 3960 GP_5_25_FN, GPSR5_25, 3961 GP_5_24_FN, GPSR5_24, 3962 GP_5_23_FN, GPSR5_23, 3963 GP_5_22_FN, GPSR5_22, 3964 GP_5_21_FN, GPSR5_21, 3965 GP_5_20_FN, GPSR5_20, 3966 GP_5_19_FN, GPSR5_19, 3967 GP_5_18_FN, GPSR5_18, 3968 GP_5_17_FN, GPSR5_17, 3969 GP_5_16_FN, GPSR5_16, 3970 GP_5_15_FN, GPSR5_15, 3971 GP_5_14_FN, GPSR5_14, 3972 GP_5_13_FN, GPSR5_13, 3973 GP_5_12_FN, GPSR5_12, 3974 GP_5_11_FN, GPSR5_11, 3975 GP_5_10_FN, GPSR5_10, 3976 GP_5_9_FN, GPSR5_9, 3977 GP_5_8_FN, GPSR5_8, 3978 GP_5_7_FN, GPSR5_7, 3979 GP_5_6_FN, GPSR5_6, 3980 GP_5_5_FN, GPSR5_5, 3981 GP_5_4_FN, GPSR5_4, 3982 GP_5_3_FN, GPSR5_3, 3983 GP_5_2_FN, GPSR5_2, 3984 GP_5_1_FN, GPSR5_1, 3985 GP_5_0_FN, GPSR5_0, } 3986 }, 3987 { PINMUX_CFG_REG("GPSR6", 0xe6060118, 32, 1) { 3988 GP_6_31_FN, GPSR6_31, 3989 GP_6_30_FN, GPSR6_30, 3990 GP_6_29_FN, GPSR6_29, 3991 GP_6_28_FN, GPSR6_28, 3992 GP_6_27_FN, GPSR6_27, 3993 GP_6_26_FN, GPSR6_26, 3994 GP_6_25_FN, GPSR6_25, 3995 GP_6_24_FN, GPSR6_24, 3996 GP_6_23_FN, GPSR6_23, 3997 GP_6_22_FN, GPSR6_22, 3998 GP_6_21_FN, GPSR6_21, 3999 GP_6_20_FN, GPSR6_20, 4000 GP_6_19_FN, GPSR6_19, 4001 GP_6_18_FN, GPSR6_18, 4002 GP_6_17_FN, GPSR6_17, 4003 GP_6_16_FN, GPSR6_16, 4004 GP_6_15_FN, GPSR6_15, 4005 GP_6_14_FN, GPSR6_14, 4006 GP_6_13_FN, GPSR6_13, 4007 GP_6_12_FN, GPSR6_12, 4008 GP_6_11_FN, GPSR6_11, 4009 GP_6_10_FN, GPSR6_10, 4010 GP_6_9_FN, GPSR6_9, 4011 GP_6_8_FN, GPSR6_8, 4012 GP_6_7_FN, GPSR6_7, 4013 GP_6_6_FN, GPSR6_6, 4014 GP_6_5_FN, GPSR6_5, 4015 GP_6_4_FN, GPSR6_4, 4016 GP_6_3_FN, GPSR6_3, 4017 GP_6_2_FN, GPSR6_2, 4018 GP_6_1_FN, GPSR6_1, 4019 GP_6_0_FN, GPSR6_0, } 4020 }, 4021 { PINMUX_CFG_REG("GPSR7", 0xe606011c, 32, 1) { 4022 0, 0, 4023 0, 0, 4024 0, 0, 4025 0, 0, 4026 0, 0, 4027 0, 0, 4028 0, 0, 4029 0, 0, 4030 0, 0, 4031 0, 0, 4032 0, 0, 4033 0, 0, 4034 0, 0, 4035 0, 0, 4036 0, 0, 4037 0, 0, 4038 0, 0, 4039 0, 0, 4040 0, 0, 4041 0, 0, 4042 0, 0, 4043 0, 0, 4044 0, 0, 4045 0, 0, 4046 0, 0, 4047 0, 0, 4048 0, 0, 4049 0, 0, 4050 GP_7_3_FN, GPSR7_3, 4051 GP_7_2_FN, GPSR7_2, 4052 GP_7_1_FN, GPSR7_1, 4053 GP_7_0_FN, GPSR7_0, } 4054 }, 4055 #undef F_ 4056 #undef FM 4057 4058 #define F_(x, y) x, 4059 #define FM(x) FN_##x, 4060 { PINMUX_CFG_REG("IPSR0", 0xe6060200, 32, 4) { 4061 IP0_31_28 4062 IP0_27_24 4063 IP0_23_20 4064 IP0_19_16 4065 IP0_15_12 4066 IP0_11_8 4067 IP0_7_4 4068 IP0_3_0 } 4069 }, 4070 { PINMUX_CFG_REG("IPSR1", 0xe6060204, 32, 4) { 4071 IP1_31_28 4072 IP1_27_24 4073 IP1_23_20 4074 IP1_19_16 4075 IP1_15_12 4076 IP1_11_8 4077 IP1_7_4 4078 IP1_3_0 } 4079 }, 4080 { PINMUX_CFG_REG("IPSR2", 0xe6060208, 32, 4) { 4081 IP2_31_28 4082 IP2_27_24 4083 IP2_23_20 4084 IP2_19_16 4085 IP2_15_12 4086 IP2_11_8 4087 IP2_7_4 4088 IP2_3_0 } 4089 }, 4090 { PINMUX_CFG_REG("IPSR3", 0xe606020c, 32, 4) { 4091 IP3_31_28 4092 IP3_27_24 4093 IP3_23_20 4094 IP3_19_16 4095 IP3_15_12 4096 IP3_11_8 4097 IP3_7_4 4098 IP3_3_0 } 4099 }, 4100 { PINMUX_CFG_REG("IPSR4", 0xe6060210, 32, 4) { 4101 IP4_31_28 4102 IP4_27_24 4103 IP4_23_20 4104 IP4_19_16 4105 IP4_15_12 4106 IP4_11_8 4107 IP4_7_4 4108 IP4_3_0 } 4109 }, 4110 { PINMUX_CFG_REG("IPSR5", 0xe6060214, 32, 4) { 4111 IP5_31_28 4112 IP5_27_24 4113 IP5_23_20 4114 IP5_19_16 4115 IP5_15_12 4116 IP5_11_8 4117 IP5_7_4 4118 IP5_3_0 } 4119 }, 4120 { PINMUX_CFG_REG("IPSR6", 0xe6060218, 32, 4) { 4121 IP6_31_28 4122 IP6_27_24 4123 IP6_23_20 4124 IP6_19_16 4125 IP6_15_12 4126 IP6_11_8 4127 IP6_7_4 4128 IP6_3_0 } 4129 }, 4130 { PINMUX_CFG_REG("IPSR7", 0xe606021c, 32, 4) { 4131 IP7_31_28 4132 IP7_27_24 4133 IP7_23_20 4134 IP7_19_16 4135 /* IP7_15_12 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4136 IP7_11_8 4137 IP7_7_4 4138 IP7_3_0 } 4139 }, 4140 { PINMUX_CFG_REG("IPSR8", 0xe6060220, 32, 4) { 4141 IP8_31_28 4142 IP8_27_24 4143 IP8_23_20 4144 IP8_19_16 4145 IP8_15_12 4146 IP8_11_8 4147 IP8_7_4 4148 IP8_3_0 } 4149 }, 4150 { PINMUX_CFG_REG("IPSR9", 0xe6060224, 32, 4) { 4151 IP9_31_28 4152 IP9_27_24 4153 IP9_23_20 4154 IP9_19_16 4155 IP9_15_12 4156 IP9_11_8 4157 IP9_7_4 4158 IP9_3_0 } 4159 }, 4160 { PINMUX_CFG_REG("IPSR10", 0xe6060228, 32, 4) { 4161 IP10_31_28 4162 IP10_27_24 4163 IP10_23_20 4164 IP10_19_16 4165 IP10_15_12 4166 IP10_11_8 4167 IP10_7_4 4168 IP10_3_0 } 4169 }, 4170 { PINMUX_CFG_REG("IPSR11", 0xe606022c, 32, 4) { 4171 IP11_31_28 4172 IP11_27_24 4173 IP11_23_20 4174 IP11_19_16 4175 IP11_15_12 4176 IP11_11_8 4177 IP11_7_4 4178 IP11_3_0 } 4179 }, 4180 { PINMUX_CFG_REG("IPSR12", 0xe6060230, 32, 4) { 4181 IP12_31_28 4182 IP12_27_24 4183 IP12_23_20 4184 IP12_19_16 4185 IP12_15_12 4186 IP12_11_8 4187 IP12_7_4 4188 IP12_3_0 } 4189 }, 4190 { PINMUX_CFG_REG("IPSR13", 0xe6060234, 32, 4) { 4191 IP13_31_28 4192 IP13_27_24 4193 IP13_23_20 4194 IP13_19_16 4195 IP13_15_12 4196 IP13_11_8 4197 IP13_7_4 4198 IP13_3_0 } 4199 }, 4200 { PINMUX_CFG_REG("IPSR14", 0xe6060238, 32, 4) { 4201 IP14_31_28 4202 IP14_27_24 4203 IP14_23_20 4204 IP14_19_16 4205 IP14_15_12 4206 IP14_11_8 4207 IP14_7_4 4208 IP14_3_0 } 4209 }, 4210 { PINMUX_CFG_REG("IPSR15", 0xe606023c, 32, 4) { 4211 IP15_31_28 4212 IP15_27_24 4213 IP15_23_20 4214 IP15_19_16 4215 IP15_15_12 4216 IP15_11_8 4217 IP15_7_4 4218 IP15_3_0 } 4219 }, 4220 { PINMUX_CFG_REG("IPSR16", 0xe6060240, 32, 4) { 4221 IP16_31_28 4222 IP16_27_24 4223 IP16_23_20 4224 IP16_19_16 4225 IP16_15_12 4226 IP16_11_8 4227 IP16_7_4 4228 IP16_3_0 } 4229 }, 4230 { PINMUX_CFG_REG("IPSR17", 0xe6060244, 32, 4) { 4231 IP17_31_28 4232 IP17_27_24 4233 IP17_23_20 4234 IP17_19_16 4235 IP17_15_12 4236 IP17_11_8 4237 IP17_7_4 4238 IP17_3_0 } 4239 }, 4240 { PINMUX_CFG_REG("IPSR18", 0xe6060248, 32, 4) { 4241 /* IP18_31_28 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4242 /* IP18_27_24 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4243 /* IP18_23_20 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4244 /* IP18_19_16 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4245 /* IP18_15_12 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4246 /* IP18_11_8 */ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4247 IP18_7_4 4248 IP18_3_0 } 4249 }, 4250 #undef F_ 4251 #undef FM 4252 4253 #define F_(x, y) x, 4254 #define FM(x) FN_##x, 4255 { PINMUX_CFG_REG_VAR("MOD_SEL0", 0xe6060500, 32, 4256 3, 2, 3, 1, 1, 1, 1, 1, 2, 1, 4257 1, 2, 1, 1, 1, 2, 2, 1, 2, 3) { 4258 MOD_SEL0_31_30_29 4259 MOD_SEL0_28_27 4260 MOD_SEL0_26_25_24 4261 MOD_SEL0_23 4262 MOD_SEL0_22 4263 MOD_SEL0_21 4264 MOD_SEL0_20 4265 MOD_SEL0_19 4266 MOD_SEL0_18_17 4267 MOD_SEL0_16 4268 0, 0, /* RESERVED 15 */ 4269 MOD_SEL0_14_13 4270 MOD_SEL0_12 4271 MOD_SEL0_11 4272 MOD_SEL0_10 4273 MOD_SEL0_9_8 4274 MOD_SEL0_7_6 4275 MOD_SEL0_5 4276 MOD_SEL0_4_3 4277 /* RESERVED 2, 1, 0 */ 4278 0, 0, 0, 0, 0, 0, 0, 0 } 4279 }, 4280 { PINMUX_CFG_REG_VAR("MOD_SEL1", 0xe6060504, 32, 4281 2, 3, 1, 2, 3, 1, 1, 2, 1, 4282 2, 1, 1, 1, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1) { 4283 MOD_SEL1_31_30 4284 MOD_SEL1_29_28_27 4285 MOD_SEL1_26 4286 MOD_SEL1_25_24 4287 MOD_SEL1_23_22_21 4288 MOD_SEL1_20 4289 MOD_SEL1_19 4290 MOD_SEL1_18_17 4291 MOD_SEL1_16 4292 MOD_SEL1_15_14 4293 MOD_SEL1_13 4294 MOD_SEL1_12 4295 MOD_SEL1_11 4296 MOD_SEL1_10 4297 MOD_SEL1_9 4298 0, 0, 0, 0, /* RESERVED 8, 7 */ 4299 MOD_SEL1_6 4300 MOD_SEL1_5 4301 MOD_SEL1_4 4302 MOD_SEL1_3 4303 MOD_SEL1_2 4304 MOD_SEL1_1 4305 MOD_SEL1_0 } 4306 }, 4307 { PINMUX_CFG_REG_VAR("MOD_SEL2", 0xe6060508, 32, 4308 1, 1, 1, 2, 1, 3, 1, 1, 1, 1, 1, 1, 1, 4309 4, 4, 4, 3, 1) { 4310 MOD_SEL2_31 4311 MOD_SEL2_30 4312 MOD_SEL2_29 4313 MOD_SEL2_28_27 4314 MOD_SEL2_26 4315 MOD_SEL2_25_24_23 4316 /* RESERVED 22 */ 4317 0, 0, 4318 MOD_SEL2_21 4319 MOD_SEL2_20 4320 MOD_SEL2_19 4321 MOD_SEL2_18 4322 MOD_SEL2_17 4323 /* RESERVED 16 */ 4324 0, 0, 4325 /* RESERVED 15, 14, 13, 12 */ 4326 0, 0, 0, 0, 0, 0, 0, 0, 4327 0, 0, 0, 0, 0, 0, 0, 0, 4328 /* RESERVED 11, 10, 9, 8 */ 4329 0, 0, 0, 0, 0, 0, 0, 0, 4330 0, 0, 0, 0, 0, 0, 0, 0, 4331 /* RESERVED 7, 6, 5, 4 */ 4332 0, 0, 0, 0, 0, 0, 0, 0, 4333 0, 0, 0, 0, 0, 0, 0, 0, 4334 /* RESERVED 3, 2, 1 */ 4335 0, 0, 0, 0, 0, 0, 0, 0, 4336 MOD_SEL2_0 } 4337 }, 4338 { }, 4339 }; 4340 4341 static const struct pinmux_drive_reg pinmux_drive_regs[] = { 4342 { PINMUX_DRIVE_REG("DRVCTRL0", 0xe6060300) { 4343 { PIN_NUMBER('W', 3), 28, 2 }, /* QSPI0_SPCLK */ 4344 { PIN_A_NUMBER('C', 5), 24, 2 }, /* QSPI0_MOSI_IO0 */ 4345 { PIN_A_NUMBER('B', 4), 20, 2 }, /* QSPI0_MISO_IO1 */ 4346 { PIN_NUMBER('Y', 6), 16, 2 }, /* QSPI0_IO2 */ 4347 { PIN_A_NUMBER('B', 6), 12, 2 }, /* QSPI0_IO3 */ 4348 { PIN_NUMBER('Y', 3), 8, 2 }, /* QSPI0_SSL */ 4349 { PIN_NUMBER('V', 3), 4, 2 }, /* QSPI1_SPCLK */ 4350 { PIN_A_NUMBER('C', 7), 0, 2 }, /* QSPI1_MOSI_IO0 */ 4351 } }, 4352 { PINMUX_DRIVE_REG("DRVCTRL1", 0xe6060304) { 4353 { PIN_A_NUMBER('E', 5), 28, 2 }, /* QSPI1_MISO_IO1 */ 4354 { PIN_A_NUMBER('E', 4), 24, 2 }, /* QSPI1_IO2 */ 4355 { PIN_A_NUMBER('C', 3), 20, 2 }, /* QSPI1_IO3 */ 4356 { PIN_NUMBER('V', 5), 16, 2 }, /* QSPI1_SSL */ 4357 { PIN_NUMBER('Y', 7), 12, 2 }, /* RPC_INT# */ 4358 { PIN_NUMBER('V', 6), 8, 2 }, /* RPC_WP# */ 4359 { PIN_NUMBER('V', 7), 4, 2 }, /* RPC_RESET# */ 4360 { PIN_NUMBER('A', 16), 0, 3 }, /* AVB_RX_CTL */ 4361 } }, 4362 { PINMUX_DRIVE_REG("DRVCTRL2", 0xe6060308) { 4363 { PIN_NUMBER('B', 19), 28, 3 }, /* AVB_RXC */ 4364 { PIN_NUMBER('A', 13), 24, 3 }, /* AVB_RD0 */ 4365 { PIN_NUMBER('B', 13), 20, 3 }, /* AVB_RD1 */ 4366 { PIN_NUMBER('A', 14), 16, 3 }, /* AVB_RD2 */ 4367 { PIN_NUMBER('B', 14), 12, 3 }, /* AVB_RD3 */ 4368 { PIN_NUMBER('A', 8), 8, 3 }, /* AVB_TX_CTL */ 4369 { PIN_NUMBER('A', 19), 4, 3 }, /* AVB_TXC */ 4370 { PIN_NUMBER('A', 18), 0, 3 }, /* AVB_TD0 */ 4371 } }, 4372 { PINMUX_DRIVE_REG("DRVCTRL3", 0xe606030c) { 4373 { PIN_NUMBER('B', 18), 28, 3 }, /* AVB_TD1 */ 4374 { PIN_NUMBER('A', 17), 24, 3 }, /* AVB_TD2 */ 4375 { PIN_NUMBER('B', 17), 20, 3 }, /* AVB_TD3 */ 4376 { PIN_NUMBER('A', 12), 16, 3 }, /* AVB_TXCREFCLK */ 4377 { PIN_NUMBER('A', 9), 12, 3 }, /* AVB_MDIO */ 4378 { RCAR_GP_PIN(2, 9), 8, 3 }, /* AVB_MDC */ 4379 { RCAR_GP_PIN(2, 10), 4, 3 }, /* AVB_MAGIC */ 4380 { RCAR_GP_PIN(2, 11), 0, 3 }, /* AVB_PHY_INT */ 4381 } }, 4382 { PINMUX_DRIVE_REG("DRVCTRL4", 0xe6060310) { 4383 { RCAR_GP_PIN(2, 12), 28, 3 }, /* AVB_LINK */ 4384 { RCAR_GP_PIN(2, 13), 24, 3 }, /* AVB_AVTP_MATCH */ 4385 { RCAR_GP_PIN(2, 14), 20, 3 }, /* AVB_AVTP_CAPTURE */ 4386 { RCAR_GP_PIN(2, 0), 16, 3 }, /* IRQ0 */ 4387 { RCAR_GP_PIN(2, 1), 12, 3 }, /* IRQ1 */ 4388 { RCAR_GP_PIN(2, 2), 8, 3 }, /* IRQ2 */ 4389 { RCAR_GP_PIN(2, 3), 4, 3 }, /* IRQ3 */ 4390 { RCAR_GP_PIN(2, 4), 0, 3 }, /* IRQ4 */ 4391 } }, 4392 { PINMUX_DRIVE_REG("DRVCTRL5", 0xe6060314) { 4393 { RCAR_GP_PIN(2, 5), 28, 3 }, /* IRQ5 */ 4394 { RCAR_GP_PIN(2, 6), 24, 3 }, /* PWM0 */ 4395 { RCAR_GP_PIN(2, 7), 20, 3 }, /* PWM1 */ 4396 { RCAR_GP_PIN(2, 8), 16, 3 }, /* PWM2 */ 4397 { RCAR_GP_PIN(1, 0), 12, 3 }, /* A0 */ 4398 { RCAR_GP_PIN(1, 1), 8, 3 }, /* A1 */ 4399 { RCAR_GP_PIN(1, 2), 4, 3 }, /* A2 */ 4400 { RCAR_GP_PIN(1, 3), 0, 3 }, /* A3 */ 4401 } }, 4402 { PINMUX_DRIVE_REG("DRVCTRL6", 0xe6060318) { 4403 { RCAR_GP_PIN(1, 4), 28, 3 }, /* A4 */ 4404 { RCAR_GP_PIN(1, 5), 24, 3 }, /* A5 */ 4405 { RCAR_GP_PIN(1, 6), 20, 3 }, /* A6 */ 4406 { RCAR_GP_PIN(1, 7), 16, 3 }, /* A7 */ 4407 { RCAR_GP_PIN(1, 8), 12, 3 }, /* A8 */ 4408 { RCAR_GP_PIN(1, 9), 8, 3 }, /* A9 */ 4409 { RCAR_GP_PIN(1, 10), 4, 3 }, /* A10 */ 4410 { RCAR_GP_PIN(1, 11), 0, 3 }, /* A11 */ 4411 } }, 4412 { PINMUX_DRIVE_REG("DRVCTRL7", 0xe606031c) { 4413 { RCAR_GP_PIN(1, 12), 28, 3 }, /* A12 */ 4414 { RCAR_GP_PIN(1, 13), 24, 3 }, /* A13 */ 4415 { RCAR_GP_PIN(1, 14), 20, 3 }, /* A14 */ 4416 { RCAR_GP_PIN(1, 15), 16, 3 }, /* A15 */ 4417 { RCAR_GP_PIN(1, 16), 12, 3 }, /* A16 */ 4418 { RCAR_GP_PIN(1, 17), 8, 3 }, /* A17 */ 4419 { RCAR_GP_PIN(1, 18), 4, 3 }, /* A18 */ 4420 { RCAR_GP_PIN(1, 19), 0, 3 }, /* A19 */ 4421 } }, 4422 { PINMUX_DRIVE_REG("DRVCTRL8", 0xe6060320) { 4423 { PIN_NUMBER('F', 1), 28, 3 }, /* CLKOUT */ 4424 { RCAR_GP_PIN(1, 20), 24, 3 }, /* CS0 */ 4425 { RCAR_GP_PIN(1, 21), 20, 3 }, /* CS1_A26 */ 4426 { RCAR_GP_PIN(1, 22), 16, 3 }, /* BS */ 4427 { RCAR_GP_PIN(1, 23), 12, 3 }, /* RD */ 4428 { RCAR_GP_PIN(1, 24), 8, 3 }, /* RD_WR */ 4429 { RCAR_GP_PIN(1, 25), 4, 3 }, /* WE0 */ 4430 { RCAR_GP_PIN(1, 26), 0, 3 }, /* WE1 */ 4431 } }, 4432 { PINMUX_DRIVE_REG("DRVCTRL9", 0xe6060324) { 4433 { RCAR_GP_PIN(1, 27), 28, 3 }, /* EX_WAIT0 */ 4434 { PIN_NUMBER('C', 1), 24, 3 }, /* PRESETOUT# */ 4435 { RCAR_GP_PIN(0, 0), 20, 3 }, /* D0 */ 4436 { RCAR_GP_PIN(0, 1), 16, 3 }, /* D1 */ 4437 { RCAR_GP_PIN(0, 2), 12, 3 }, /* D2 */ 4438 { RCAR_GP_PIN(0, 3), 8, 3 }, /* D3 */ 4439 { RCAR_GP_PIN(0, 4), 4, 3 }, /* D4 */ 4440 { RCAR_GP_PIN(0, 5), 0, 3 }, /* D5 */ 4441 } }, 4442 { PINMUX_DRIVE_REG("DRVCTRL10", 0xe6060328) { 4443 { RCAR_GP_PIN(0, 6), 28, 3 }, /* D6 */ 4444 { RCAR_GP_PIN(0, 7), 24, 3 }, /* D7 */ 4445 { RCAR_GP_PIN(0, 8), 20, 3 }, /* D8 */ 4446 { RCAR_GP_PIN(0, 9), 16, 3 }, /* D9 */ 4447 { RCAR_GP_PIN(0, 10), 12, 3 }, /* D10 */ 4448 { RCAR_GP_PIN(0, 11), 8, 3 }, /* D11 */ 4449 { RCAR_GP_PIN(0, 12), 4, 3 }, /* D12 */ 4450 { RCAR_GP_PIN(0, 13), 0, 3 }, /* D13 */ 4451 } }, 4452 { PINMUX_DRIVE_REG("DRVCTRL11", 0xe606032c) { 4453 { RCAR_GP_PIN(0, 14), 28, 3 }, /* D14 */ 4454 { RCAR_GP_PIN(0, 15), 24, 3 }, /* D15 */ 4455 { RCAR_GP_PIN(7, 0), 20, 3 }, /* AVS1 */ 4456 { RCAR_GP_PIN(7, 1), 16, 3 }, /* AVS2 */ 4457 { RCAR_GP_PIN(7, 2), 12, 3 }, /* HDMI0_CEC */ 4458 { RCAR_GP_PIN(7, 3), 8, 3 }, /* HDMI1_CEC */ 4459 { PIN_A_NUMBER('P', 7), 4, 2 }, /* DU_DOTCLKIN0 */ 4460 { PIN_A_NUMBER('P', 8), 0, 2 }, /* DU_DOTCLKIN1 */ 4461 } }, 4462 { PINMUX_DRIVE_REG("DRVCTRL12", 0xe6060330) { 4463 { PIN_A_NUMBER('R', 7), 28, 2 }, /* DU_DOTCLKIN2 */ 4464 { PIN_A_NUMBER('R', 8), 24, 2 }, /* DU_DOTCLKIN3 */ 4465 { PIN_A_NUMBER('D', 38), 20, 2 }, /* FSCLKST# */ 4466 { PIN_A_NUMBER('R', 30), 4, 2 }, /* TMS */ 4467 } }, 4468 { PINMUX_DRIVE_REG("DRVCTRL13", 0xe6060334) { 4469 { PIN_A_NUMBER('T', 28), 28, 2 }, /* TDO */ 4470 { PIN_A_NUMBER('T', 30), 24, 2 }, /* ASEBRK */ 4471 { RCAR_GP_PIN(3, 0), 20, 3 }, /* SD0_CLK */ 4472 { RCAR_GP_PIN(3, 1), 16, 3 }, /* SD0_CMD */ 4473 { RCAR_GP_PIN(3, 2), 12, 3 }, /* SD0_DAT0 */ 4474 { RCAR_GP_PIN(3, 3), 8, 3 }, /* SD0_DAT1 */ 4475 { RCAR_GP_PIN(3, 4), 4, 3 }, /* SD0_DAT2 */ 4476 { RCAR_GP_PIN(3, 5), 0, 3 }, /* SD0_DAT3 */ 4477 } }, 4478 { PINMUX_DRIVE_REG("DRVCTRL14", 0xe6060338) { 4479 { RCAR_GP_PIN(3, 6), 28, 3 }, /* SD1_CLK */ 4480 { RCAR_GP_PIN(3, 7), 24, 3 }, /* SD1_CMD */ 4481 { RCAR_GP_PIN(3, 8), 20, 3 }, /* SD1_DAT0 */ 4482 { RCAR_GP_PIN(3, 9), 16, 3 }, /* SD1_DAT1 */ 4483 { RCAR_GP_PIN(3, 10), 12, 3 }, /* SD1_DAT2 */ 4484 { RCAR_GP_PIN(3, 11), 8, 3 }, /* SD1_DAT3 */ 4485 { RCAR_GP_PIN(4, 0), 4, 3 }, /* SD2_CLK */ 4486 { RCAR_GP_PIN(4, 1), 0, 3 }, /* SD2_CMD */ 4487 } }, 4488 { PINMUX_DRIVE_REG("DRVCTRL15", 0xe606033c) { 4489 { RCAR_GP_PIN(4, 2), 28, 3 }, /* SD2_DAT0 */ 4490 { RCAR_GP_PIN(4, 3), 24, 3 }, /* SD2_DAT1 */ 4491 { RCAR_GP_PIN(4, 4), 20, 3 }, /* SD2_DAT2 */ 4492 { RCAR_GP_PIN(4, 5), 16, 3 }, /* SD2_DAT3 */ 4493 { RCAR_GP_PIN(4, 6), 12, 3 }, /* SD2_DS */ 4494 { RCAR_GP_PIN(4, 7), 8, 3 }, /* SD3_CLK */ 4495 { RCAR_GP_PIN(4, 8), 4, 3 }, /* SD3_CMD */ 4496 { RCAR_GP_PIN(4, 9), 0, 3 }, /* SD3_DAT0 */ 4497 } }, 4498 { PINMUX_DRIVE_REG("DRVCTRL16", 0xe6060340) { 4499 { RCAR_GP_PIN(4, 10), 28, 3 }, /* SD3_DAT1 */ 4500 { RCAR_GP_PIN(4, 11), 24, 3 }, /* SD3_DAT2 */ 4501 { RCAR_GP_PIN(4, 12), 20, 3 }, /* SD3_DAT3 */ 4502 { RCAR_GP_PIN(4, 13), 16, 3 }, /* SD3_DAT4 */ 4503 { RCAR_GP_PIN(4, 14), 12, 3 }, /* SD3_DAT5 */ 4504 { RCAR_GP_PIN(4, 15), 8, 3 }, /* SD3_DAT6 */ 4505 { RCAR_GP_PIN(4, 16), 4, 3 }, /* SD3_DAT7 */ 4506 { RCAR_GP_PIN(4, 17), 0, 3 }, /* SD3_DS */ 4507 } }, 4508 { PINMUX_DRIVE_REG("DRVCTRL17", 0xe6060344) { 4509 { RCAR_GP_PIN(3, 12), 28, 3 }, /* SD0_CD */ 4510 { RCAR_GP_PIN(3, 13), 24, 3 }, /* SD0_WP */ 4511 { RCAR_GP_PIN(3, 14), 20, 3 }, /* SD1_CD */ 4512 { RCAR_GP_PIN(3, 15), 16, 3 }, /* SD1_WP */ 4513 { RCAR_GP_PIN(5, 0), 12, 3 }, /* SCK0 */ 4514 { RCAR_GP_PIN(5, 1), 8, 3 }, /* RX0 */ 4515 { RCAR_GP_PIN(5, 2), 4, 3 }, /* TX0 */ 4516 { RCAR_GP_PIN(5, 3), 0, 3 }, /* CTS0 */ 4517 } }, 4518 { PINMUX_DRIVE_REG("DRVCTRL18", 0xe6060348) { 4519 { RCAR_GP_PIN(5, 4), 28, 3 }, /* RTS0_TANS */ 4520 { RCAR_GP_PIN(5, 5), 24, 3 }, /* RX1 */ 4521 { RCAR_GP_PIN(5, 6), 20, 3 }, /* TX1 */ 4522 { RCAR_GP_PIN(5, 7), 16, 3 }, /* CTS1 */ 4523 { RCAR_GP_PIN(5, 8), 12, 3 }, /* RTS1_TANS */ 4524 { RCAR_GP_PIN(5, 9), 8, 3 }, /* SCK2 */ 4525 { RCAR_GP_PIN(5, 10), 4, 3 }, /* TX2 */ 4526 { RCAR_GP_PIN(5, 11), 0, 3 }, /* RX2 */ 4527 } }, 4528 { PINMUX_DRIVE_REG("DRVCTRL19", 0xe606034c) { 4529 { RCAR_GP_PIN(5, 12), 28, 3 }, /* HSCK0 */ 4530 { RCAR_GP_PIN(5, 13), 24, 3 }, /* HRX0 */ 4531 { RCAR_GP_PIN(5, 14), 20, 3 }, /* HTX0 */ 4532 { RCAR_GP_PIN(5, 15), 16, 3 }, /* HCTS0 */ 4533 { RCAR_GP_PIN(5, 16), 12, 3 }, /* HRTS0 */ 4534 { RCAR_GP_PIN(5, 17), 8, 3 }, /* MSIOF0_SCK */ 4535 { RCAR_GP_PIN(5, 18), 4, 3 }, /* MSIOF0_SYNC */ 4536 { RCAR_GP_PIN(5, 19), 0, 3 }, /* MSIOF0_SS1 */ 4537 } }, 4538 { PINMUX_DRIVE_REG("DRVCTRL20", 0xe6060350) { 4539 { RCAR_GP_PIN(5, 20), 28, 3 }, /* MSIOF0_TXD */ 4540 { RCAR_GP_PIN(5, 21), 24, 3 }, /* MSIOF0_SS2 */ 4541 { RCAR_GP_PIN(5, 22), 20, 3 }, /* MSIOF0_RXD */ 4542 { RCAR_GP_PIN(5, 23), 16, 3 }, /* MLB_CLK */ 4543 { RCAR_GP_PIN(5, 24), 12, 3 }, /* MLB_SIG */ 4544 { RCAR_GP_PIN(5, 25), 8, 3 }, /* MLB_DAT */ 4545 { PIN_NUMBER('H', 37), 4, 3 }, /* MLB_REF */ 4546 { RCAR_GP_PIN(6, 0), 0, 3 }, /* SSI_SCK01239 */ 4547 } }, 4548 { PINMUX_DRIVE_REG("DRVCTRL21", 0xe6060354) { 4549 { RCAR_GP_PIN(6, 1), 28, 3 }, /* SSI_WS01239 */ 4550 { RCAR_GP_PIN(6, 2), 24, 3 }, /* SSI_SDATA0 */ 4551 { RCAR_GP_PIN(6, 3), 20, 3 }, /* SSI_SDATA1 */ 4552 { RCAR_GP_PIN(6, 4), 16, 3 }, /* SSI_SDATA2 */ 4553 { RCAR_GP_PIN(6, 5), 12, 3 }, /* SSI_SCK349 */ 4554 { RCAR_GP_PIN(6, 6), 8, 3 }, /* SSI_WS349 */ 4555 { RCAR_GP_PIN(6, 7), 4, 3 }, /* SSI_SDATA3 */ 4556 { RCAR_GP_PIN(6, 8), 0, 3 }, /* SSI_SCK4 */ 4557 } }, 4558 { PINMUX_DRIVE_REG("DRVCTRL22", 0xe6060358) { 4559 { RCAR_GP_PIN(6, 9), 28, 3 }, /* SSI_WS4 */ 4560 { RCAR_GP_PIN(6, 10), 24, 3 }, /* SSI_SDATA4 */ 4561 { RCAR_GP_PIN(6, 11), 20, 3 }, /* SSI_SCK5 */ 4562 { RCAR_GP_PIN(6, 12), 16, 3 }, /* SSI_WS5 */ 4563 { RCAR_GP_PIN(6, 13), 12, 3 }, /* SSI_SDATA5 */ 4564 { RCAR_GP_PIN(6, 14), 8, 3 }, /* SSI_SCK6 */ 4565 { RCAR_GP_PIN(6, 15), 4, 3 }, /* SSI_WS6 */ 4566 { RCAR_GP_PIN(6, 16), 0, 3 }, /* SSI_SDATA6 */ 4567 } }, 4568 { PINMUX_DRIVE_REG("DRVCTRL23", 0xe606035c) { 4569 { RCAR_GP_PIN(6, 17), 28, 3 }, /* SSI_SCK78 */ 4570 { RCAR_GP_PIN(6, 18), 24, 3 }, /* SSI_WS78 */ 4571 { RCAR_GP_PIN(6, 19), 20, 3 }, /* SSI_SDATA7 */ 4572 { RCAR_GP_PIN(6, 20), 16, 3 }, /* SSI_SDATA8 */ 4573 { RCAR_GP_PIN(6, 21), 12, 3 }, /* SSI_SDATA9 */ 4574 { RCAR_GP_PIN(6, 22), 8, 3 }, /* AUDIO_CLKA */ 4575 { RCAR_GP_PIN(6, 23), 4, 3 }, /* AUDIO_CLKB */ 4576 { RCAR_GP_PIN(6, 24), 0, 3 }, /* USB0_PWEN */ 4577 } }, 4578 { PINMUX_DRIVE_REG("DRVCTRL24", 0xe6060360) { 4579 { RCAR_GP_PIN(6, 25), 28, 3 }, /* USB0_OVC */ 4580 { RCAR_GP_PIN(6, 26), 24, 3 }, /* USB1_PWEN */ 4581 { RCAR_GP_PIN(6, 27), 20, 3 }, /* USB1_OVC */ 4582 { RCAR_GP_PIN(6, 28), 16, 3 }, /* USB30_PWEN */ 4583 { RCAR_GP_PIN(6, 29), 12, 3 }, /* USB30_OVC */ 4584 { RCAR_GP_PIN(6, 30), 8, 3 }, /* USB2_CH3_PWEN */ 4585 { RCAR_GP_PIN(6, 31), 4, 3 }, /* USB2_CH3_OVC */ 4586 } }, 4587 { }, 4588 }; 4589 4590 static int r8a7795_pin_to_pocctrl(struct sh_pfc *pfc, unsigned int pin, u32 *pocctrl) 4591 { 4592 int bit = -EINVAL; 4593 4594 *pocctrl = 0xe6060380; 4595 4596 if (pin >= RCAR_GP_PIN(3, 0) && pin <= RCAR_GP_PIN(3, 11)) 4597 bit = pin & 0x1f; 4598 4599 if (pin >= RCAR_GP_PIN(4, 0) && pin <= RCAR_GP_PIN(4, 17)) 4600 bit = (pin & 0x1f) + 12; 4601 4602 return bit; 4603 } 4604 4605 #define PUEN 0xe6060400 4606 #define PUD 0xe6060440 4607 4608 #define PU0 0x00 4609 #define PU1 0x04 4610 #define PU2 0x08 4611 #define PU3 0x0c 4612 #define PU4 0x10 4613 #define PU5 0x14 4614 #define PU6 0x18 4615 4616 static const struct sh_pfc_bias_info bias_info[] = { 4617 { RCAR_GP_PIN(2, 11), PU0, 31 }, /* AVB_PHY_INT */ 4618 { RCAR_GP_PIN(2, 10), PU0, 30 }, /* AVB_MAGIC */ 4619 { RCAR_GP_PIN(2, 9), PU0, 29 }, /* AVB_MDC */ 4620 { PIN_NUMBER('A', 9), PU0, 28 }, /* AVB_MDIO */ 4621 { PIN_NUMBER('A', 12), PU0, 27 }, /* AVB_TXCREFCLK */ 4622 { PIN_NUMBER('B', 17), PU0, 26 }, /* AVB_TD3 */ 4623 { PIN_NUMBER('A', 17), PU0, 25 }, /* AVB_TD2 */ 4624 { PIN_NUMBER('B', 18), PU0, 24 }, /* AVB_TD1 */ 4625 { PIN_NUMBER('A', 18), PU0, 23 }, /* AVB_TD0 */ 4626 { PIN_NUMBER('A', 19), PU0, 22 }, /* AVB_TXC */ 4627 { PIN_NUMBER('A', 8), PU0, 21 }, /* AVB_TX_CTL */ 4628 { PIN_NUMBER('B', 14), PU0, 20 }, /* AVB_RD3 */ 4629 { PIN_NUMBER('A', 14), PU0, 19 }, /* AVB_RD2 */ 4630 { PIN_NUMBER('B', 13), PU0, 18 }, /* AVB_RD1 */ 4631 { PIN_NUMBER('A', 13), PU0, 17 }, /* AVB_RD0 */ 4632 { PIN_NUMBER('B', 19), PU0, 16 }, /* AVB_RXC */ 4633 { PIN_NUMBER('A', 16), PU0, 15 }, /* AVB_RX_CTL */ 4634 { PIN_NUMBER('V', 7), PU0, 14 }, /* RPC_RESET# */ 4635 { PIN_NUMBER('V', 6), PU0, 13 }, /* RPC_WP# */ 4636 { PIN_NUMBER('Y', 7), PU0, 12 }, /* RPC_INT# */ 4637 { PIN_NUMBER('V', 5), PU0, 11 }, /* QSPI1_SSL */ 4638 { PIN_A_NUMBER('C', 3), PU0, 10 }, /* QSPI1_IO3 */ 4639 { PIN_A_NUMBER('E', 4), PU0, 9 }, /* QSPI1_IO2 */ 4640 { PIN_A_NUMBER('E', 5), PU0, 8 }, /* QSPI1_MISO_IO1 */ 4641 { PIN_A_NUMBER('C', 7), PU0, 7 }, /* QSPI1_MOSI_IO0 */ 4642 { PIN_NUMBER('V', 3), PU0, 6 }, /* QSPI1_SPCLK */ 4643 { PIN_NUMBER('Y', 3), PU0, 5 }, /* QSPI0_SSL */ 4644 { PIN_A_NUMBER('B', 6), PU0, 4 }, /* QSPI0_IO3 */ 4645 { PIN_NUMBER('Y', 6), PU0, 3 }, /* QSPI0_IO2 */ 4646 { PIN_A_NUMBER('B', 4), PU0, 2 }, /* QSPI0_MISO_IO1 */ 4647 { PIN_A_NUMBER('C', 5), PU0, 1 }, /* QSPI0_MOSI_IO0 */ 4648 { PIN_NUMBER('W', 3), PU0, 0 }, /* QSPI0_SPCLK */ 4649 4650 { RCAR_GP_PIN(1, 19), PU1, 31 }, /* A19 */ 4651 { RCAR_GP_PIN(1, 18), PU1, 30 }, /* A18 */ 4652 { RCAR_GP_PIN(1, 17), PU1, 29 }, /* A17 */ 4653 { RCAR_GP_PIN(1, 16), PU1, 28 }, /* A16 */ 4654 { RCAR_GP_PIN(1, 15), PU1, 27 }, /* A15 */ 4655 { RCAR_GP_PIN(1, 14), PU1, 26 }, /* A14 */ 4656 { RCAR_GP_PIN(1, 13), PU1, 25 }, /* A13 */ 4657 { RCAR_GP_PIN(1, 12), PU1, 24 }, /* A12 */ 4658 { RCAR_GP_PIN(1, 11), PU1, 23 }, /* A11 */ 4659 { RCAR_GP_PIN(1, 10), PU1, 22 }, /* A10 */ 4660 { RCAR_GP_PIN(1, 9), PU1, 21 }, /* A9 */ 4661 { RCAR_GP_PIN(1, 8), PU1, 20 }, /* A8 */ 4662 { RCAR_GP_PIN(1, 7), PU1, 19 }, /* A7 */ 4663 { RCAR_GP_PIN(1, 6), PU1, 18 }, /* A6 */ 4664 { RCAR_GP_PIN(1, 5), PU1, 17 }, /* A5 */ 4665 { RCAR_GP_PIN(1, 4), PU1, 16 }, /* A4 */ 4666 { RCAR_GP_PIN(1, 3), PU1, 15 }, /* A3 */ 4667 { RCAR_GP_PIN(1, 2), PU1, 14 }, /* A2 */ 4668 { RCAR_GP_PIN(1, 1), PU1, 13 }, /* A1 */ 4669 { RCAR_GP_PIN(1, 0), PU1, 12 }, /* A0 */ 4670 { RCAR_GP_PIN(2, 8), PU1, 11 }, /* PWM2_A */ 4671 { RCAR_GP_PIN(2, 7), PU1, 10 }, /* PWM1_A */ 4672 { RCAR_GP_PIN(2, 6), PU1, 9 }, /* PWM0 */ 4673 { RCAR_GP_PIN(2, 5), PU1, 8 }, /* IRQ5 */ 4674 { RCAR_GP_PIN(2, 4), PU1, 7 }, /* IRQ4 */ 4675 { RCAR_GP_PIN(2, 3), PU1, 6 }, /* IRQ3 */ 4676 { RCAR_GP_PIN(2, 2), PU1, 5 }, /* IRQ2 */ 4677 { RCAR_GP_PIN(2, 1), PU1, 4 }, /* IRQ1 */ 4678 { RCAR_GP_PIN(2, 0), PU1, 3 }, /* IRQ0 */ 4679 { RCAR_GP_PIN(2, 14), PU1, 2 }, /* AVB_AVTP_CAPTURE_A */ 4680 { RCAR_GP_PIN(2, 13), PU1, 1 }, /* AVB_AVTP_MATCH_A */ 4681 { RCAR_GP_PIN(2, 12), PU1, 0 }, /* AVB_LINK */ 4682 4683 { PIN_A_NUMBER('P', 8), PU2, 31 }, /* DU_DOTCLKIN1 */ 4684 { PIN_A_NUMBER('P', 7), PU2, 30 }, /* DU_DOTCLKIN0 */ 4685 { RCAR_GP_PIN(7, 3), PU2, 29 }, /* HDMI1_CEC */ 4686 { RCAR_GP_PIN(7, 2), PU2, 28 }, /* HDMI0_CEC */ 4687 { RCAR_GP_PIN(7, 1), PU2, 27 }, /* AVS2 */ 4688 { RCAR_GP_PIN(7, 0), PU2, 26 }, /* AVS1 */ 4689 { RCAR_GP_PIN(0, 15), PU2, 25 }, /* D15 */ 4690 { RCAR_GP_PIN(0, 14), PU2, 24 }, /* D14 */ 4691 { RCAR_GP_PIN(0, 13), PU2, 23 }, /* D13 */ 4692 { RCAR_GP_PIN(0, 12), PU2, 22 }, /* D12 */ 4693 { RCAR_GP_PIN(0, 11), PU2, 21 }, /* D11 */ 4694 { RCAR_GP_PIN(0, 10), PU2, 20 }, /* D10 */ 4695 { RCAR_GP_PIN(0, 9), PU2, 19 }, /* D9 */ 4696 { RCAR_GP_PIN(0, 8), PU2, 18 }, /* D8 */ 4697 { RCAR_GP_PIN(0, 7), PU2, 17 }, /* D7 */ 4698 { RCAR_GP_PIN(0, 6), PU2, 16 }, /* D6 */ 4699 { RCAR_GP_PIN(0, 5), PU2, 15 }, /* D5 */ 4700 { RCAR_GP_PIN(0, 4), PU2, 14 }, /* D4 */ 4701 { RCAR_GP_PIN(0, 3), PU2, 13 }, /* D3 */ 4702 { RCAR_GP_PIN(0, 2), PU2, 12 }, /* D2 */ 4703 { RCAR_GP_PIN(0, 1), PU2, 11 }, /* D1 */ 4704 { RCAR_GP_PIN(0, 0), PU2, 10 }, /* D0 */ 4705 { PIN_NUMBER('C', 1), PU2, 9 }, /* PRESETOUT# */ 4706 { RCAR_GP_PIN(1, 27), PU2, 8 }, /* EX_WAIT0_A */ 4707 { RCAR_GP_PIN(1, 26), PU2, 7 }, /* WE1_N */ 4708 { RCAR_GP_PIN(1, 25), PU2, 6 }, /* WE0_N */ 4709 { RCAR_GP_PIN(1, 24), PU2, 5 }, /* RD_WR_N */ 4710 { RCAR_GP_PIN(1, 23), PU2, 4 }, /* RD_N */ 4711 { RCAR_GP_PIN(1, 22), PU2, 3 }, /* BS_N */ 4712 { RCAR_GP_PIN(1, 21), PU2, 2 }, /* CS1_N */ 4713 { RCAR_GP_PIN(1, 20), PU2, 1 }, /* CS0_N */ 4714 { PIN_NUMBER('F', 1), PU2, 0 }, /* CLKOUT */ 4715 4716 { RCAR_GP_PIN(4, 9), PU3, 31 }, /* SD3_DAT0 */ 4717 { RCAR_GP_PIN(4, 8), PU3, 30 }, /* SD3_CMD */ 4718 { RCAR_GP_PIN(4, 7), PU3, 29 }, /* SD3_CLK */ 4719 { RCAR_GP_PIN(4, 6), PU3, 28 }, /* SD2_DS */ 4720 { RCAR_GP_PIN(4, 5), PU3, 27 }, /* SD2_DAT3 */ 4721 { RCAR_GP_PIN(4, 4), PU3, 26 }, /* SD2_DAT2 */ 4722 { RCAR_GP_PIN(4, 3), PU3, 25 }, /* SD2_DAT1 */ 4723 { RCAR_GP_PIN(4, 2), PU3, 24 }, /* SD2_DAT0 */ 4724 { RCAR_GP_PIN(4, 1), PU3, 23 }, /* SD2_CMD */ 4725 { RCAR_GP_PIN(4, 0), PU3, 22 }, /* SD2_CLK */ 4726 { RCAR_GP_PIN(3, 11), PU3, 21 }, /* SD1_DAT3 */ 4727 { RCAR_GP_PIN(3, 10), PU3, 20 }, /* SD1_DAT2 */ 4728 { RCAR_GP_PIN(3, 9), PU3, 19 }, /* SD1_DAT1 */ 4729 { RCAR_GP_PIN(3, 8), PU3, 18 }, /* SD1_DAT0 */ 4730 { RCAR_GP_PIN(3, 7), PU3, 17 }, /* SD1_CMD */ 4731 { RCAR_GP_PIN(3, 6), PU3, 16 }, /* SD1_CLK */ 4732 { RCAR_GP_PIN(3, 5), PU3, 15 }, /* SD0_DAT3 */ 4733 { RCAR_GP_PIN(3, 4), PU3, 14 }, /* SD0_DAT2 */ 4734 { RCAR_GP_PIN(3, 3), PU3, 13 }, /* SD0_DAT1 */ 4735 { RCAR_GP_PIN(3, 2), PU3, 12 }, /* SD0_DAT0 */ 4736 { RCAR_GP_PIN(3, 1), PU3, 11 }, /* SD0_CMD */ 4737 { RCAR_GP_PIN(3, 0), PU3, 10 }, /* SD0_CLK */ 4738 { PIN_A_NUMBER('T', 30), PU3, 9 }, /* ASEBRK */ 4739 /* bit 8 n/a */ 4740 { PIN_A_NUMBER('R', 29), PU3, 7 }, /* TDI */ 4741 { PIN_A_NUMBER('R', 30), PU3, 6 }, /* TMS */ 4742 { PIN_A_NUMBER('T', 27), PU3, 5 }, /* TCK */ 4743 { PIN_A_NUMBER('R', 26), PU3, 4 }, /* TRST# */ 4744 { PIN_A_NUMBER('D', 39), PU3, 3 }, /* EXTALR*/ 4745 { PIN_A_NUMBER('D', 38), PU3, 2 }, /* FSCLKST# */ 4746 { PIN_A_NUMBER('R', 8), PU3, 1 }, /* DU_DOTCLKIN3 */ 4747 { PIN_A_NUMBER('R', 7), PU3, 0 }, /* DU_DOTCLKIN2 */ 4748 4749 { RCAR_GP_PIN(5, 19), PU4, 31 }, /* MSIOF0_SS1 */ 4750 { RCAR_GP_PIN(5, 18), PU4, 30 }, /* MSIOF0_SYNC */ 4751 { RCAR_GP_PIN(5, 17), PU4, 29 }, /* MSIOF0_SCK */ 4752 { RCAR_GP_PIN(5, 16), PU4, 28 }, /* HRTS0_N */ 4753 { RCAR_GP_PIN(5, 15), PU4, 27 }, /* HCTS0_N */ 4754 { RCAR_GP_PIN(5, 14), PU4, 26 }, /* HTX0 */ 4755 { RCAR_GP_PIN(5, 13), PU4, 25 }, /* HRX0 */ 4756 { RCAR_GP_PIN(5, 12), PU4, 24 }, /* HSCK0 */ 4757 { RCAR_GP_PIN(5, 11), PU4, 23 }, /* RX2_A */ 4758 { RCAR_GP_PIN(5, 10), PU4, 22 }, /* TX2_A */ 4759 { RCAR_GP_PIN(5, 9), PU4, 21 }, /* SCK2 */ 4760 { RCAR_GP_PIN(5, 8), PU4, 20 }, /* RTS1_N_TANS */ 4761 { RCAR_GP_PIN(5, 7), PU4, 19 }, /* CTS1_N */ 4762 { RCAR_GP_PIN(5, 6), PU4, 18 }, /* TX1_A */ 4763 { RCAR_GP_PIN(5, 5), PU4, 17 }, /* RX1_A */ 4764 { RCAR_GP_PIN(5, 4), PU4, 16 }, /* RTS0_N_TANS */ 4765 { RCAR_GP_PIN(5, 3), PU4, 15 }, /* CTS0_N */ 4766 { RCAR_GP_PIN(5, 2), PU4, 14 }, /* TX0 */ 4767 { RCAR_GP_PIN(5, 1), PU4, 13 }, /* RX0 */ 4768 { RCAR_GP_PIN(5, 0), PU4, 12 }, /* SCK0 */ 4769 { RCAR_GP_PIN(3, 15), PU4, 11 }, /* SD1_WP */ 4770 { RCAR_GP_PIN(3, 14), PU4, 10 }, /* SD1_CD */ 4771 { RCAR_GP_PIN(3, 13), PU4, 9 }, /* SD0_WP */ 4772 { RCAR_GP_PIN(3, 12), PU4, 8 }, /* SD0_CD */ 4773 { RCAR_GP_PIN(4, 17), PU4, 7 }, /* SD3_DS */ 4774 { RCAR_GP_PIN(4, 16), PU4, 6 }, /* SD3_DAT7 */ 4775 { RCAR_GP_PIN(4, 15), PU4, 5 }, /* SD3_DAT6 */ 4776 { RCAR_GP_PIN(4, 14), PU4, 4 }, /* SD3_DAT5 */ 4777 { RCAR_GP_PIN(4, 13), PU4, 3 }, /* SD3_DAT4 */ 4778 { RCAR_GP_PIN(4, 12), PU4, 2 }, /* SD3_DAT3 */ 4779 { RCAR_GP_PIN(4, 11), PU4, 1 }, /* SD3_DAT2 */ 4780 { RCAR_GP_PIN(4, 10), PU4, 0 }, /* SD3_DAT1 */ 4781 4782 { RCAR_GP_PIN(6, 24), PU5, 31 }, /* USB0_PWEN */ 4783 { RCAR_GP_PIN(6, 23), PU5, 30 }, /* AUDIO_CLKB_B */ 4784 { RCAR_GP_PIN(6, 22), PU5, 29 }, /* AUDIO_CLKA_A */ 4785 { RCAR_GP_PIN(6, 21), PU5, 28 }, /* SSI_SDATA9_A */ 4786 { RCAR_GP_PIN(6, 20), PU5, 27 }, /* SSI_SDATA8 */ 4787 { RCAR_GP_PIN(6, 19), PU5, 26 }, /* SSI_SDATA7 */ 4788 { RCAR_GP_PIN(6, 18), PU5, 25 }, /* SSI_WS78 */ 4789 { RCAR_GP_PIN(6, 17), PU5, 24 }, /* SSI_SCK78 */ 4790 { RCAR_GP_PIN(6, 16), PU5, 23 }, /* SSI_SDATA6 */ 4791 { RCAR_GP_PIN(6, 15), PU5, 22 }, /* SSI_WS6 */ 4792 { RCAR_GP_PIN(6, 14), PU5, 21 }, /* SSI_SCK6 */ 4793 { RCAR_GP_PIN(6, 13), PU5, 20 }, /* SSI_SDATA5 */ 4794 { RCAR_GP_PIN(6, 12), PU5, 19 }, /* SSI_WS5 */ 4795 { RCAR_GP_PIN(6, 11), PU5, 18 }, /* SSI_SCK5 */ 4796 { RCAR_GP_PIN(6, 10), PU5, 17 }, /* SSI_SDATA4 */ 4797 { RCAR_GP_PIN(6, 9), PU5, 16 }, /* SSI_WS4 */ 4798 { RCAR_GP_PIN(6, 8), PU5, 15 }, /* SSI_SCK4 */ 4799 { RCAR_GP_PIN(6, 7), PU5, 14 }, /* SSI_SDATA3 */ 4800 { RCAR_GP_PIN(6, 6), PU5, 13 }, /* SSI_WS349 */ 4801 { RCAR_GP_PIN(6, 5), PU5, 12 }, /* SSI_SCK349 */ 4802 { RCAR_GP_PIN(6, 4), PU5, 11 }, /* SSI_SDATA2_A */ 4803 { RCAR_GP_PIN(6, 3), PU5, 10 }, /* SSI_SDATA1_A */ 4804 { RCAR_GP_PIN(6, 2), PU5, 9 }, /* SSI_SDATA0 */ 4805 { RCAR_GP_PIN(6, 1), PU5, 8 }, /* SSI_WS01239 */ 4806 { RCAR_GP_PIN(6, 0), PU5, 7 }, /* SSI_SCK01239 */ 4807 { PIN_NUMBER('H', 37), PU5, 6 }, /* MLB_REF */ 4808 { RCAR_GP_PIN(5, 25), PU5, 5 }, /* MLB_DAT */ 4809 { RCAR_GP_PIN(5, 24), PU5, 4 }, /* MLB_SIG */ 4810 { RCAR_GP_PIN(5, 23), PU5, 3 }, /* MLB_CLK */ 4811 { RCAR_GP_PIN(5, 22), PU5, 2 }, /* MSIOF0_RXD */ 4812 { RCAR_GP_PIN(5, 21), PU5, 1 }, /* MSIOF0_SS2 */ 4813 { RCAR_GP_PIN(5, 20), PU5, 0 }, /* MSIOF0_TXD */ 4814 4815 { RCAR_GP_PIN(6, 31), PU6, 6 }, /* USB2_CH3_OVC */ 4816 { RCAR_GP_PIN(6, 30), PU6, 5 }, /* USB2_CH3_PWEN */ 4817 { RCAR_GP_PIN(6, 29), PU6, 4 }, /* USB30_OVC */ 4818 { RCAR_GP_PIN(6, 28), PU6, 3 }, /* USB30_PWEN */ 4819 { RCAR_GP_PIN(6, 27), PU6, 2 }, /* USB1_OVC */ 4820 { RCAR_GP_PIN(6, 26), PU6, 1 }, /* USB1_PWEN */ 4821 { RCAR_GP_PIN(6, 25), PU6, 0 }, /* USB0_OVC */ 4822 }; 4823 4824 static unsigned int r8a7795_pinmux_get_bias(struct sh_pfc *pfc, 4825 unsigned int pin) 4826 { 4827 const struct sh_pfc_bias_info *info; 4828 u32 reg; 4829 u32 bit; 4830 4831 info = sh_pfc_pin_to_bias_info(bias_info, ARRAY_SIZE(bias_info), pin); 4832 if (!info) 4833 return PIN_CONFIG_BIAS_DISABLE; 4834 4835 reg = info->reg; 4836 bit = BIT(info->bit); 4837 4838 if (!(sh_pfc_read_reg(pfc, PUEN + reg, 32) & bit)) 4839 return PIN_CONFIG_BIAS_DISABLE; 4840 else if (sh_pfc_read_reg(pfc, PUD + reg, 32) & bit) 4841 return PIN_CONFIG_BIAS_PULL_UP; 4842 else 4843 return PIN_CONFIG_BIAS_PULL_DOWN; 4844 } 4845 4846 static void r8a7795_pinmux_set_bias(struct sh_pfc *pfc, unsigned int pin, 4847 unsigned int bias) 4848 { 4849 const struct sh_pfc_bias_info *info; 4850 u32 enable, updown; 4851 u32 reg; 4852 u32 bit; 4853 4854 info = sh_pfc_pin_to_bias_info(bias_info, ARRAY_SIZE(bias_info), pin); 4855 if (!info) 4856 return; 4857 4858 reg = info->reg; 4859 bit = BIT(info->bit); 4860 4861 enable = sh_pfc_read_reg(pfc, PUEN + reg, 32) & ~bit; 4862 if (bias != PIN_CONFIG_BIAS_DISABLE) 4863 enable |= bit; 4864 4865 updown = sh_pfc_read_reg(pfc, PUD + reg, 32) & ~bit; 4866 if (bias == PIN_CONFIG_BIAS_PULL_UP) 4867 updown |= bit; 4868 4869 sh_pfc_write_reg(pfc, PUD + reg, 32, updown); 4870 sh_pfc_write_reg(pfc, PUEN + reg, 32, enable); 4871 } 4872 4873 static const struct sh_pfc_soc_operations r8a7795_pinmux_ops = { 4874 .pin_to_pocctrl = r8a7795_pin_to_pocctrl, 4875 .get_bias = r8a7795_pinmux_get_bias, 4876 .set_bias = r8a7795_pinmux_set_bias, 4877 }; 4878 4879 const struct sh_pfc_soc_info r8a7795_pinmux_info = { 4880 .name = "r8a77951_pfc", 4881 .ops = &r8a7795_pinmux_ops, 4882 .unlock_reg = 0xe6060000, /* PMMR */ 4883 4884 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 4885 4886 .pins = pinmux_pins, 4887 .nr_pins = ARRAY_SIZE(pinmux_pins), 4888 .groups = pinmux_groups, 4889 .nr_groups = ARRAY_SIZE(pinmux_groups), 4890 .functions = pinmux_functions, 4891 .nr_functions = ARRAY_SIZE(pinmux_functions), 4892 4893 .cfg_regs = pinmux_config_regs, 4894 .drive_regs = pinmux_drive_regs, 4895 4896 .pinmux_data = pinmux_data, 4897 .pinmux_data_size = ARRAY_SIZE(pinmux_data), 4898 }; 4899