1 // SPDX-License-Identifier: GPL-2.0 2 /* 3 * r8a7792 processor support - PFC hardware block. 4 * 5 * Copyright (C) 2013-2014 Renesas Electronics Corporation 6 * Copyright (C) 2016 Cogent Embedded, Inc., <source@cogentembedded.com> 7 */ 8 9 #include <linux/kernel.h> 10 11 #include "sh_pfc.h" 12 13 #define CPU_ALL_GP(fn, sfx) \ 14 PORT_GP_CFG_29(0, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 15 PORT_GP_CFG_23(1, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 16 PORT_GP_CFG_32(2, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 17 PORT_GP_CFG_28(3, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 18 PORT_GP_CFG_17(4, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 19 PORT_GP_CFG_17(5, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 20 PORT_GP_CFG_17(6, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 21 PORT_GP_CFG_17(7, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 22 PORT_GP_CFG_17(8, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 23 PORT_GP_CFG_17(9, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 24 PORT_GP_CFG_32(10, fn, sfx, SH_PFC_PIN_CFG_PULL_UP), \ 25 PORT_GP_CFG_30(11, fn, sfx, SH_PFC_PIN_CFG_PULL_UP) 26 27 #define CPU_ALL_NOGP(fn) \ 28 PIN_NOGP_CFG(DU0_DOTCLKIN, "DU0_DOTCLKIN", fn, SH_PFC_PIN_CFG_PULL_UP), \ 29 PIN_NOGP_CFG(DU0_DOTCLKOUT, "DU0_DOTCLKOUT", fn, SH_PFC_PIN_CFG_PULL_UP), \ 30 PIN_NOGP_CFG(DU1_DOTCLKIN, "DU1_DOTCLKIN", fn, SH_PFC_PIN_CFG_PULL_UP), \ 31 PIN_NOGP_CFG(DU1_DOTCLKOUT, "DU1_DOTCLKOUT", fn, SH_PFC_PIN_CFG_PULL_UP), \ 32 PIN_NOGP_CFG(EDBGREQ, "EDBGREQ", fn, SH_PFC_PIN_CFG_PULL_DOWN), \ 33 PIN_NOGP_CFG(TCK, "TCK", fn, SH_PFC_PIN_CFG_PULL_UP), \ 34 PIN_NOGP_CFG(TDI, "TDI", fn, SH_PFC_PIN_CFG_PULL_UP), \ 35 PIN_NOGP_CFG(TMS, "TMS", fn, SH_PFC_PIN_CFG_PULL_UP), \ 36 PIN_NOGP_CFG(TRST_N, "TRST#", fn, SH_PFC_PIN_CFG_PULL_UP) 37 38 enum { 39 PINMUX_RESERVED = 0, 40 41 PINMUX_DATA_BEGIN, 42 GP_ALL(DATA), 43 PINMUX_DATA_END, 44 45 PINMUX_FUNCTION_BEGIN, 46 GP_ALL(FN), 47 48 /* GPSR0 */ 49 FN_IP0_0, FN_IP0_1, FN_IP0_2, FN_IP0_3, FN_IP0_4, FN_IP0_5, 50 FN_IP0_6, FN_IP0_7, FN_IP0_8, FN_IP0_9, FN_IP0_10, FN_IP0_11, 51 FN_IP0_12, FN_IP0_13, FN_IP0_14, FN_IP0_15, FN_IP0_16, 52 FN_IP0_17, FN_IP0_18, FN_IP0_19, FN_IP0_20, FN_IP0_21, 53 FN_IP0_22, FN_IP0_23, FN_IP1_0, FN_IP1_1, FN_IP1_2, 54 FN_IP1_3, FN_IP1_4, 55 56 /* GPSR1 */ 57 FN_IP1_5, FN_IP1_6, FN_IP1_7, FN_IP1_8, FN_IP1_9, FN_IP1_10, 58 FN_IP1_11, FN_IP1_12, FN_IP1_13, FN_IP1_14, FN_IP1_15, FN_IP1_16, 59 FN_DU1_DB2_C0_DATA12, FN_DU1_DB3_C1_DATA13, FN_DU1_DB4_C2_DATA14, 60 FN_DU1_DB5_C3_DATA15, FN_DU1_DB6_C4, FN_DU1_DB7_C5, 61 FN_DU1_EXHSYNC_DU1_HSYNC, FN_DU1_EXVSYNC_DU1_VSYNC, 62 FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, FN_DU1_DISP, FN_DU1_CDE, 63 64 /* GPSR2 */ 65 FN_D0, FN_D1, FN_D2, FN_D3, FN_D4, FN_D5, FN_D6, FN_D7, 66 FN_D8, FN_D9, FN_D10, FN_D11, FN_D12, FN_D13, FN_D14, FN_D15, 67 FN_A0, FN_A1, FN_A2, FN_A3, FN_A4, FN_A5, FN_A6, FN_A7, 68 FN_A8, FN_A9, FN_A10, FN_A11, FN_A12, FN_A13, FN_A14, FN_A15, 69 70 /* GPSR3 */ 71 FN_A16, FN_A17, FN_A18, FN_A19, FN_IP1_17, FN_IP1_18, 72 FN_CS1_N_A26, FN_EX_CS0_N, FN_EX_CS1_N, FN_EX_CS2_N, FN_EX_CS3_N, 73 FN_EX_CS4_N, FN_EX_CS5_N, FN_BS_N, FN_RD_N, FN_RD_WR_N, 74 FN_WE0_N, FN_WE1_N, FN_EX_WAIT0, FN_IRQ0, FN_IRQ1, FN_IRQ2, FN_IRQ3, 75 FN_IP1_19, FN_IP1_20, FN_IP1_21, FN_IP1_22, FN_CS0_N, 76 77 /* GPSR4 */ 78 FN_VI0_CLK, FN_VI0_CLKENB, FN_VI0_HSYNC_N, FN_VI0_VSYNC_N, 79 FN_VI0_D0_B0_C0, FN_VI0_D1_B1_C1, FN_VI0_D2_B2_C2, FN_VI0_D3_B3_C3, 80 FN_VI0_D4_B4_C4, FN_VI0_D5_B5_C5, FN_VI0_D6_B6_C6, FN_VI0_D7_B7_C7, 81 FN_VI0_D8_G0_Y0, FN_VI0_D9_G1_Y1, FN_VI0_D10_G2_Y2, FN_VI0_D11_G3_Y3, 82 FN_VI0_FIELD, 83 84 /* GPSR5 */ 85 FN_VI1_CLK, FN_VI1_CLKENB, FN_VI1_HSYNC_N, FN_VI1_VSYNC_N, 86 FN_VI1_D0_B0_C0, FN_VI1_D1_B1_C1, FN_VI1_D2_B2_C2, FN_VI1_D3_B3_C3, 87 FN_VI1_D4_B4_C4, FN_VI1_D5_B5_C5, FN_VI1_D6_B6_C6, FN_VI1_D7_B7_C7, 88 FN_VI1_D8_G0_Y0, FN_VI1_D9_G1_Y1, FN_VI1_D10_G2_Y2, FN_VI1_D11_G3_Y3, 89 FN_VI1_FIELD, 90 91 /* GPSR6 */ 92 FN_IP2_0, FN_IP2_1, FN_IP2_2, FN_IP2_3, FN_IP2_4, FN_IP2_5, FN_IP2_6, 93 FN_IP2_7, FN_IP2_8, FN_IP2_9, FN_IP2_10, FN_IP2_11, FN_IP2_12, 94 FN_IP2_13, FN_IP2_14, FN_IP2_15, FN_IP2_16, 95 96 /* GPSR7 */ 97 FN_IP3_0, FN_IP3_1, FN_IP3_2, FN_IP3_3, FN_IP3_4, FN_IP3_5, FN_IP3_6, 98 FN_IP3_7, FN_IP3_8, FN_IP3_9, FN_IP3_10, FN_IP3_11, FN_IP3_12, 99 FN_IP3_13, FN_VI3_D10_Y2, FN_IP3_14, FN_VI3_FIELD, 100 101 /* GPSR8 */ 102 FN_VI4_CLK, FN_IP4_0, FN_IP4_1, FN_IP4_3_2, FN_IP4_4, FN_IP4_6_5, 103 FN_IP4_8_7, FN_IP4_10_9, FN_IP4_12_11, FN_IP4_14_13, FN_IP4_16_15, 104 FN_IP4_18_17, FN_IP4_20_19, FN_IP4_21, FN_IP4_22, FN_IP4_23, FN_IP4_24, 105 106 /* GPSR9 */ 107 FN_VI5_CLK, FN_IP5_0, FN_IP5_1, FN_IP5_2, FN_IP5_3, FN_IP5_4, FN_IP5_5, 108 FN_IP5_6, FN_IP5_7, FN_IP5_8, FN_IP5_9, FN_IP5_10, FN_IP5_11, 109 FN_VI5_D9_Y1, FN_VI5_D10_Y2, FN_VI5_D11_Y3, FN_VI5_FIELD, 110 111 /* GPSR10 */ 112 FN_IP6_0, FN_IP6_1, FN_HRTS0_N, FN_IP6_2, FN_IP6_3, FN_IP6_4, FN_IP6_5, 113 FN_HCTS1_N, FN_IP6_6, FN_IP6_7, FN_SCK0, FN_CTS0_N, FN_RTS0_N, 114 FN_TX0, FN_RX0, FN_SCK1, FN_CTS1_N, FN_RTS1_N, FN_TX1, FN_RX1, 115 FN_IP6_9_8, FN_IP6_11_10, FN_IP6_13_12, FN_IP6_15_14, FN_IP6_16, 116 FN_IP6_18_17, FN_SCIF_CLK, FN_CAN0_TX, FN_CAN0_RX, FN_CAN_CLK, 117 FN_CAN1_TX, FN_CAN1_RX, 118 119 /* GPSR11 */ 120 FN_IP7_1_0, FN_IP7_3_2, FN_IP7_5_4, FN_IP7_6, FN_IP7_7, FN_SD0_CLK, 121 FN_SD0_CMD, FN_SD0_DAT0, FN_SD0_DAT1, FN_SD0_DAT2, FN_SD0_DAT3, 122 FN_SD0_CD, FN_SD0_WP, FN_IP7_9_8, FN_IP7_11_10, FN_IP7_13_12, 123 FN_IP7_15_14, FN_IP7_16, FN_IP7_17, FN_IP7_18, FN_IP7_19, FN_IP7_20, 124 FN_ADICLK, FN_ADICS_SAMP, FN_ADIDATA, FN_ADICHS0, FN_ADICHS1, 125 FN_ADICHS2, FN_AVS1, FN_AVS2, 126 127 /* IPSR0 */ 128 FN_DU0_DR0_DATA0, FN_DU0_DR1_DATA1, FN_DU0_DR2_Y4_DATA2, 129 FN_DU0_DR3_Y5_DATA3, FN_DU0_DR4_Y6_DATA4, FN_DU0_DR5_Y7_DATA5, 130 FN_DU0_DR6_Y8_DATA6, FN_DU0_DR7_Y9_DATA7, FN_DU0_DG0_DATA8, 131 FN_DU0_DG1_DATA9, FN_DU0_DG2_C6_DATA10, FN_DU0_DG3_C7_DATA11, 132 FN_DU0_DG4_Y0_DATA12, FN_DU0_DG5_Y1_DATA13, FN_DU0_DG6_Y2_DATA14, 133 FN_DU0_DG7_Y3_DATA15, FN_DU0_DB0, FN_DU0_DB1, FN_DU0_DB2_C0, 134 FN_DU0_DB3_C1, FN_DU0_DB4_C2, FN_DU0_DB5_C3, FN_DU0_DB6_C4, 135 FN_DU0_DB7_C5, 136 137 /* IPSR1 */ 138 FN_DU0_EXHSYNC_DU0_HSYNC, FN_DU0_EXVSYNC_DU0_VSYNC, 139 FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, FN_DU0_DISP, FN_DU0_CDE, 140 FN_DU1_DR2_Y4_DATA0, FN_DU1_DR3_Y5_DATA1, FN_DU1_DR4_Y6_DATA2, 141 FN_DU1_DR5_Y7_DATA3, FN_DU1_DR6_DATA4, FN_DU1_DR7_DATA5, 142 FN_DU1_DG2_C6_DATA6, FN_DU1_DG3_C7_DATA7, FN_DU1_DG4_Y0_DATA8, 143 FN_DU1_DG5_Y1_DATA9, FN_DU1_DG6_Y2_DATA10, FN_DU1_DG7_Y3_DATA11, 144 FN_A20, FN_MOSI_IO0, FN_A21, FN_MISO_IO1, FN_A22, FN_IO2, 145 FN_A23, FN_IO3, FN_A24, FN_SPCLK, FN_A25, FN_SSL, 146 147 /* IPSR2 */ 148 FN_VI2_CLK, FN_AVB_RX_CLK, FN_VI2_CLKENB, FN_AVB_RX_DV, 149 FN_VI2_HSYNC_N, FN_AVB_RXD0, FN_VI2_VSYNC_N, FN_AVB_RXD1, 150 FN_VI2_D0_C0, FN_AVB_RXD2, FN_VI2_D1_C1, FN_AVB_RXD3, 151 FN_VI2_D2_C2, FN_AVB_RXD4, FN_VI2_D3_C3, FN_AVB_RXD5, 152 FN_VI2_D4_C4, FN_AVB_RXD6, FN_VI2_D5_C5, FN_AVB_RXD7, 153 FN_VI2_D6_C6, FN_AVB_RX_ER, FN_VI2_D7_C7, FN_AVB_COL, 154 FN_VI2_D8_Y0, FN_AVB_TXD3, FN_VI2_D9_Y1, FN_AVB_TX_EN, 155 FN_VI2_D10_Y2, FN_AVB_TXD0, FN_VI2_D11_Y3, FN_AVB_TXD1, 156 FN_VI2_FIELD, FN_AVB_TXD2, 157 158 /* IPSR3 */ 159 FN_VI3_CLK, FN_AVB_TX_CLK, FN_VI3_CLKENB, FN_AVB_TXD4, 160 FN_VI3_HSYNC_N, FN_AVB_TXD5, FN_VI3_VSYNC_N, FN_AVB_TXD6, 161 FN_VI3_D0_C0, FN_AVB_TXD7, FN_VI3_D1_C1, FN_AVB_TX_ER, 162 FN_VI3_D2_C2, FN_AVB_GTX_CLK, FN_VI3_D3_C3, FN_AVB_MDC, 163 FN_VI3_D4_C4, FN_AVB_MDIO, FN_VI3_D5_C5, FN_AVB_LINK, 164 FN_VI3_D6_C6, FN_AVB_MAGIC, FN_VI3_D7_C7, FN_AVB_PHY_INT, 165 FN_VI3_D8_Y0, FN_AVB_CRS, FN_VI3_D9_Y1, FN_AVB_GTXREFCLK, 166 FN_VI3_D11_Y3, FN_AVB_AVTP_MATCH, 167 168 /* IPSR4 */ 169 FN_VI4_CLKENB, FN_VI0_D12_G4_Y4, FN_VI4_HSYNC_N, FN_VI0_D13_G5_Y5, 170 FN_VI4_VSYNC_N, FN_VI0_D14_G6_Y6, FN_RDR_CLKOUT, 171 FN_VI4_D0_C0, FN_VI0_D15_G7_Y7, 172 FN_VI4_D1_C1, FN_VI0_D16_R0, FN_VI1_D12_G4_Y4, 173 FN_VI4_D2_C2, FN_VI0_D17_R1, FN_VI1_D13_G5_Y5, 174 FN_VI4_D3_C3, FN_VI0_D18_R2, FN_VI1_D14_G6_Y6, 175 FN_VI4_D4_C4, FN_VI0_D19_R3, FN_VI1_D15_G7_Y7, 176 FN_VI4_D5_C5, FN_VI0_D20_R4, FN_VI2_D12_Y4, 177 FN_VI4_D6_C6, FN_VI0_D21_R5, FN_VI2_D13_Y5, 178 FN_VI4_D7_C7, FN_VI0_D22_R6, FN_VI2_D14_Y6, 179 FN_VI4_D8_Y0, FN_VI0_D23_R7, FN_VI2_D15_Y7, 180 FN_VI4_D9_Y1, FN_VI3_D12_Y4, FN_VI4_D10_Y2, FN_VI3_D13_Y5, 181 FN_VI4_D11_Y3, FN_VI3_D14_Y6, FN_VI4_FIELD, FN_VI3_D15_Y7, 182 183 /* IPSR5 */ 184 FN_VI5_CLKENB, FN_VI1_D12_G4_Y4_B, FN_VI5_HSYNC_N, FN_VI1_D13_G5_Y5_B, 185 FN_VI5_VSYNC_N, FN_VI1_D14_G6_Y6_B, FN_VI5_D0_C0, FN_VI1_D15_G7_Y7_B, 186 FN_VI5_D1_C1, FN_VI1_D16_R0, FN_VI5_D2_C2, FN_VI1_D17_R1, 187 FN_VI5_D3_C3, FN_VI1_D18_R2, FN_VI5_D4_C4, FN_VI1_D19_R3, 188 FN_VI5_D5_C5, FN_VI1_D20_R4, FN_VI5_D6_C6, FN_VI1_D21_R5, 189 FN_VI5_D7_C7, FN_VI1_D22_R6, FN_VI5_D8_Y0, FN_VI1_D23_R7, 190 191 /* IPSR6 */ 192 FN_MSIOF0_SCK, FN_HSCK0, FN_MSIOF0_SYNC, FN_HCTS0_N, 193 FN_MSIOF0_TXD, FN_HTX0, FN_MSIOF0_RXD, FN_HRX0, 194 FN_MSIOF1_SCK, FN_HSCK1, FN_MSIOF1_SYNC, FN_HRTS1_N, 195 FN_MSIOF1_TXD, FN_HTX1, FN_MSIOF1_RXD, FN_HRX1, 196 FN_DRACK0, FN_SCK2, FN_DACK0, FN_TX2, FN_DREQ0_N, FN_RX2, 197 FN_DACK1, FN_SCK3, FN_TX3, FN_DREQ1_N, FN_RX3, 198 199 /* IPSR7 */ 200 FN_PWM0, FN_TCLK1, FN_FSO_CFE_0, FN_PWM1, FN_TCLK2, FN_FSO_CFE_1, 201 FN_PWM2, FN_TCLK3, FN_FSO_TOE, FN_PWM3, FN_PWM4, 202 FN_SSI_SCK34, FN_TPU0TO0, FN_SSI_WS34, FN_TPU0TO1, 203 FN_SSI_SDATA3, FN_TPU0TO2, FN_SSI_SCK4, FN_TPU0TO3, 204 FN_SSI_WS4, FN_SSI_SDATA4, FN_AUDIO_CLKOUT, 205 FN_AUDIO_CLKA, FN_AUDIO_CLKB, 206 207 /* MOD_SEL */ 208 FN_SEL_VI1_0, FN_SEL_VI1_1, 209 PINMUX_FUNCTION_END, 210 211 PINMUX_MARK_BEGIN, 212 DU1_DB2_C0_DATA12_MARK, DU1_DB3_C1_DATA13_MARK, 213 DU1_DB4_C2_DATA14_MARK, DU1_DB5_C3_DATA15_MARK, 214 DU1_DB6_C4_MARK, DU1_DB7_C5_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK, 215 DU1_EXVSYNC_DU1_VSYNC_MARK, DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK, 216 DU1_DISP_MARK, DU1_CDE_MARK, 217 218 D0_MARK, D1_MARK, D2_MARK, D3_MARK, D4_MARK, D5_MARK, D6_MARK, 219 D7_MARK, D8_MARK, D9_MARK, D10_MARK, D11_MARK, D12_MARK, D13_MARK, 220 D14_MARK, D15_MARK, A0_MARK, A1_MARK, A2_MARK, A3_MARK, A4_MARK, 221 A5_MARK, A6_MARK, A7_MARK, A8_MARK, A9_MARK, A10_MARK, A11_MARK, 222 A12_MARK, A13_MARK, A14_MARK, A15_MARK, 223 224 A16_MARK, A17_MARK, A18_MARK, A19_MARK, CS1_N_A26_MARK, 225 EX_CS0_N_MARK, EX_CS1_N_MARK, EX_CS2_N_MARK, EX_CS3_N_MARK, 226 EX_CS4_N_MARK, EX_CS5_N_MARK, BS_N_MARK, RD_N_MARK, RD_WR_N_MARK, 227 WE0_N_MARK, WE1_N_MARK, EX_WAIT0_MARK, 228 IRQ0_MARK, IRQ1_MARK, IRQ2_MARK, IRQ3_MARK, CS0_N_MARK, 229 230 VI0_CLK_MARK, VI0_CLKENB_MARK, VI0_HSYNC_N_MARK, VI0_VSYNC_N_MARK, 231 VI0_D0_B0_C0_MARK, VI0_D1_B1_C1_MARK, VI0_D2_B2_C2_MARK, 232 VI0_D3_B3_C3_MARK, VI0_D4_B4_C4_MARK, VI0_D5_B5_C5_MARK, 233 VI0_D6_B6_C6_MARK, VI0_D7_B7_C7_MARK, VI0_D8_G0_Y0_MARK, 234 VI0_D9_G1_Y1_MARK, VI0_D10_G2_Y2_MARK, VI0_D11_G3_Y3_MARK, 235 VI0_FIELD_MARK, 236 237 VI1_CLK_MARK, VI1_CLKENB_MARK, VI1_HSYNC_N_MARK, VI1_VSYNC_N_MARK, 238 VI1_D0_B0_C0_MARK, VI1_D1_B1_C1_MARK, VI1_D2_B2_C2_MARK, 239 VI1_D3_B3_C3_MARK, VI1_D4_B4_C4_MARK, VI1_D5_B5_C5_MARK, 240 VI1_D6_B6_C6_MARK, VI1_D7_B7_C7_MARK, VI1_D8_G0_Y0_MARK, 241 VI1_D9_G1_Y1_MARK, VI1_D10_G2_Y2_MARK, VI1_D11_G3_Y3_MARK, 242 VI1_FIELD_MARK, 243 244 VI3_D10_Y2_MARK, VI3_FIELD_MARK, 245 246 VI4_CLK_MARK, 247 248 VI5_CLK_MARK, VI5_D9_Y1_MARK, VI5_D10_Y2_MARK, VI5_D11_Y3_MARK, 249 VI5_FIELD_MARK, 250 251 HRTS0_N_MARK, HCTS1_N_MARK, SCK0_MARK, CTS0_N_MARK, RTS0_N_MARK, 252 TX0_MARK, RX0_MARK, SCK1_MARK, CTS1_N_MARK, RTS1_N_MARK, 253 TX1_MARK, RX1_MARK, SCIF_CLK_MARK, CAN0_TX_MARK, CAN0_RX_MARK, 254 CAN_CLK_MARK, CAN1_TX_MARK, CAN1_RX_MARK, 255 256 SD0_CLK_MARK, SD0_CMD_MARK, SD0_DAT0_MARK, SD0_DAT1_MARK, 257 SD0_DAT2_MARK, SD0_DAT3_MARK, SD0_CD_MARK, SD0_WP_MARK, 258 ADICLK_MARK, ADICS_SAMP_MARK, ADIDATA_MARK, ADICHS0_MARK, 259 ADICHS1_MARK, ADICHS2_MARK, AVS1_MARK, AVS2_MARK, 260 261 /* IPSR0 */ 262 DU0_DR0_DATA0_MARK, DU0_DR1_DATA1_MARK, DU0_DR2_Y4_DATA2_MARK, 263 DU0_DR3_Y5_DATA3_MARK, DU0_DR4_Y6_DATA4_MARK, DU0_DR5_Y7_DATA5_MARK, 264 DU0_DR6_Y8_DATA6_MARK, DU0_DR7_Y9_DATA7_MARK, DU0_DG0_DATA8_MARK, 265 DU0_DG1_DATA9_MARK, DU0_DG2_C6_DATA10_MARK, DU0_DG3_C7_DATA11_MARK, 266 DU0_DG4_Y0_DATA12_MARK, DU0_DG5_Y1_DATA13_MARK, DU0_DG6_Y2_DATA14_MARK, 267 DU0_DG7_Y3_DATA15_MARK, DU0_DB0_MARK, DU0_DB1_MARK, 268 DU0_DB2_C0_MARK, DU0_DB3_C1_MARK, DU0_DB4_C2_MARK, DU0_DB5_C3_MARK, 269 DU0_DB6_C4_MARK, DU0_DB7_C5_MARK, 270 271 /* IPSR1 */ 272 DU0_EXHSYNC_DU0_HSYNC_MARK, DU0_EXVSYNC_DU0_VSYNC_MARK, 273 DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK, DU0_DISP_MARK, DU0_CDE_MARK, 274 DU1_DR2_Y4_DATA0_MARK, DU1_DR3_Y5_DATA1_MARK, DU1_DR4_Y6_DATA2_MARK, 275 DU1_DR5_Y7_DATA3_MARK, DU1_DR6_DATA4_MARK, DU1_DR7_DATA5_MARK, 276 DU1_DG2_C6_DATA6_MARK, DU1_DG3_C7_DATA7_MARK, DU1_DG4_Y0_DATA8_MARK, 277 DU1_DG5_Y1_DATA9_MARK, DU1_DG6_Y2_DATA10_MARK, DU1_DG7_Y3_DATA11_MARK, 278 A20_MARK, MOSI_IO0_MARK, A21_MARK, MISO_IO1_MARK, A22_MARK, IO2_MARK, 279 A23_MARK, IO3_MARK, A24_MARK, SPCLK_MARK, A25_MARK, SSL_MARK, 280 281 /* IPSR2 */ 282 VI2_CLK_MARK, AVB_RX_CLK_MARK, VI2_CLKENB_MARK, AVB_RX_DV_MARK, 283 VI2_HSYNC_N_MARK, AVB_RXD0_MARK, VI2_VSYNC_N_MARK, AVB_RXD1_MARK, 284 VI2_D0_C0_MARK, AVB_RXD2_MARK, VI2_D1_C1_MARK, AVB_TX_CLK_MARK, 285 VI2_D2_C2_MARK, AVB_RXD4_MARK, VI2_D3_C3_MARK, AVB_RXD5_MARK, 286 VI2_D4_C4_MARK, AVB_RXD6_MARK, VI2_D5_C5_MARK, AVB_RXD7_MARK, 287 VI2_D6_C6_MARK, AVB_RX_ER_MARK, VI2_D7_C7_MARK, AVB_COL_MARK, 288 VI2_D8_Y0_MARK, AVB_RXD3_MARK, VI2_D9_Y1_MARK, AVB_TX_EN_MARK, 289 VI2_D10_Y2_MARK, AVB_TXD0_MARK, 290 VI2_D11_Y3_MARK, AVB_TXD1_MARK, VI2_FIELD_MARK, AVB_TXD2_MARK, 291 292 /* IPSR3 */ 293 VI3_CLK_MARK, AVB_TXD3_MARK, VI3_CLKENB_MARK, AVB_TXD4_MARK, 294 VI3_HSYNC_N_MARK, AVB_TXD5_MARK, VI3_VSYNC_N_MARK, AVB_TXD6_MARK, 295 VI3_D0_C0_MARK, AVB_TXD7_MARK, VI3_D1_C1_MARK, AVB_TX_ER_MARK, 296 VI3_D2_C2_MARK, AVB_GTX_CLK_MARK, VI3_D3_C3_MARK, AVB_MDC_MARK, 297 VI3_D4_C4_MARK, AVB_MDIO_MARK, VI3_D5_C5_MARK, AVB_LINK_MARK, 298 VI3_D6_C6_MARK, AVB_MAGIC_MARK, VI3_D7_C7_MARK, AVB_PHY_INT_MARK, 299 VI3_D8_Y0_MARK, AVB_CRS_MARK, VI3_D9_Y1_MARK, AVB_GTXREFCLK_MARK, 300 VI3_D11_Y3_MARK, AVB_AVTP_MATCH_MARK, 301 302 /* IPSR4 */ 303 VI4_CLKENB_MARK, VI0_D12_G4_Y4_MARK, VI4_HSYNC_N_MARK, 304 VI0_D13_G5_Y5_MARK, VI4_VSYNC_N_MARK, VI0_D14_G6_Y6_MARK, 305 RDR_CLKOUT_MARK, VI4_D0_C0_MARK, VI0_D15_G7_Y7_MARK, VI4_D1_C1_MARK, 306 VI0_D16_R0_MARK, VI1_D12_G4_Y4_MARK, VI4_D2_C2_MARK, VI0_D17_R1_MARK, 307 VI1_D13_G5_Y5_MARK, VI4_D3_C3_MARK, VI0_D18_R2_MARK, VI1_D14_G6_Y6_MARK, 308 VI4_D4_C4_MARK, VI0_D19_R3_MARK, VI1_D15_G7_Y7_MARK, VI4_D5_C5_MARK, 309 VI0_D20_R4_MARK, VI2_D12_Y4_MARK, VI4_D6_C6_MARK, VI0_D21_R5_MARK, 310 VI2_D13_Y5_MARK, VI4_D7_C7_MARK, VI0_D22_R6_MARK, VI2_D14_Y6_MARK, 311 VI4_D8_Y0_MARK, VI0_D23_R7_MARK, VI2_D15_Y7_MARK, VI4_D9_Y1_MARK, 312 VI3_D12_Y4_MARK, VI4_D10_Y2_MARK, VI3_D13_Y5_MARK, VI4_D11_Y3_MARK, 313 VI3_D14_Y6_MARK, VI4_FIELD_MARK, VI3_D15_Y7_MARK, 314 315 /* IPSR5 */ 316 VI5_CLKENB_MARK, VI1_D12_G4_Y4_B_MARK, VI5_HSYNC_N_MARK, 317 VI1_D13_G5_Y5_B_MARK, VI5_VSYNC_N_MARK, VI1_D14_G6_Y6_B_MARK, 318 VI5_D0_C0_MARK, VI1_D15_G7_Y7_B_MARK, VI5_D1_C1_MARK, VI1_D16_R0_MARK, 319 VI5_D2_C2_MARK, VI1_D17_R1_MARK, VI5_D3_C3_MARK, VI1_D18_R2_MARK, 320 VI5_D4_C4_MARK, VI1_D19_R3_MARK, VI5_D5_C5_MARK, VI1_D20_R4_MARK, 321 VI5_D6_C6_MARK, VI1_D21_R5_MARK, VI5_D7_C7_MARK, VI1_D22_R6_MARK, 322 VI5_D8_Y0_MARK, VI1_D23_R7_MARK, 323 324 /* IPSR6 */ 325 MSIOF0_SCK_MARK, HSCK0_MARK, MSIOF0_SYNC_MARK, HCTS0_N_MARK, 326 MSIOF0_TXD_MARK, HTX0_MARK, MSIOF0_RXD_MARK, HRX0_MARK, 327 MSIOF1_SCK_MARK, HSCK1_MARK, MSIOF1_SYNC_MARK, HRTS1_N_MARK, 328 MSIOF1_TXD_MARK, HTX1_MARK, MSIOF1_RXD_MARK, HRX1_MARK, 329 DRACK0_MARK, SCK2_MARK, DACK0_MARK, TX2_MARK, DREQ0_N_MARK, 330 RX2_MARK, DACK1_MARK, SCK3_MARK, TX3_MARK, DREQ1_N_MARK, 331 RX3_MARK, 332 333 /* IPSR7 */ 334 PWM0_MARK, TCLK1_MARK, FSO_CFE_0_MARK, PWM1_MARK, TCLK2_MARK, 335 FSO_CFE_1_MARK, PWM2_MARK, TCLK3_MARK, FSO_TOE_MARK, PWM3_MARK, 336 PWM4_MARK, SSI_SCK34_MARK, TPU0TO0_MARK, SSI_WS34_MARK, TPU0TO1_MARK, 337 SSI_SDATA3_MARK, TPU0TO2_MARK, SSI_SCK4_MARK, TPU0TO3_MARK, 338 SSI_WS4_MARK, SSI_SDATA4_MARK, AUDIO_CLKOUT_MARK, AUDIO_CLKA_MARK, 339 AUDIO_CLKB_MARK, 340 PINMUX_MARK_END, 341 }; 342 343 static const u16 pinmux_data[] = { 344 PINMUX_DATA_GP_ALL(), /* PINMUX_DATA(GP_M_N_DATA, GP_M_N_FN...), */ 345 346 PINMUX_SINGLE(DU1_DB2_C0_DATA12), 347 PINMUX_SINGLE(DU1_DB3_C1_DATA13), 348 PINMUX_SINGLE(DU1_DB4_C2_DATA14), 349 PINMUX_SINGLE(DU1_DB5_C3_DATA15), 350 PINMUX_SINGLE(DU1_DB6_C4), 351 PINMUX_SINGLE(DU1_DB7_C5), 352 PINMUX_SINGLE(DU1_EXHSYNC_DU1_HSYNC), 353 PINMUX_SINGLE(DU1_EXVSYNC_DU1_VSYNC), 354 PINMUX_SINGLE(DU1_EXODDF_DU1_ODDF_DISP_CDE), 355 PINMUX_SINGLE(DU1_DISP), 356 PINMUX_SINGLE(DU1_CDE), 357 PINMUX_SINGLE(D0), 358 PINMUX_SINGLE(D1), 359 PINMUX_SINGLE(D2), 360 PINMUX_SINGLE(D3), 361 PINMUX_SINGLE(D4), 362 PINMUX_SINGLE(D5), 363 PINMUX_SINGLE(D6), 364 PINMUX_SINGLE(D7), 365 PINMUX_SINGLE(D8), 366 PINMUX_SINGLE(D9), 367 PINMUX_SINGLE(D10), 368 PINMUX_SINGLE(D11), 369 PINMUX_SINGLE(D12), 370 PINMUX_SINGLE(D13), 371 PINMUX_SINGLE(D14), 372 PINMUX_SINGLE(D15), 373 PINMUX_SINGLE(A0), 374 PINMUX_SINGLE(A1), 375 PINMUX_SINGLE(A2), 376 PINMUX_SINGLE(A3), 377 PINMUX_SINGLE(A4), 378 PINMUX_SINGLE(A5), 379 PINMUX_SINGLE(A6), 380 PINMUX_SINGLE(A7), 381 PINMUX_SINGLE(A8), 382 PINMUX_SINGLE(A9), 383 PINMUX_SINGLE(A10), 384 PINMUX_SINGLE(A11), 385 PINMUX_SINGLE(A12), 386 PINMUX_SINGLE(A13), 387 PINMUX_SINGLE(A14), 388 PINMUX_SINGLE(A15), 389 PINMUX_SINGLE(A16), 390 PINMUX_SINGLE(A17), 391 PINMUX_SINGLE(A18), 392 PINMUX_SINGLE(A19), 393 PINMUX_SINGLE(CS1_N_A26), 394 PINMUX_SINGLE(EX_CS0_N), 395 PINMUX_SINGLE(EX_CS1_N), 396 PINMUX_SINGLE(EX_CS2_N), 397 PINMUX_SINGLE(EX_CS3_N), 398 PINMUX_SINGLE(EX_CS4_N), 399 PINMUX_SINGLE(EX_CS5_N), 400 PINMUX_SINGLE(BS_N), 401 PINMUX_SINGLE(RD_N), 402 PINMUX_SINGLE(RD_WR_N), 403 PINMUX_SINGLE(WE0_N), 404 PINMUX_SINGLE(WE1_N), 405 PINMUX_SINGLE(EX_WAIT0), 406 PINMUX_SINGLE(IRQ0), 407 PINMUX_SINGLE(IRQ1), 408 PINMUX_SINGLE(IRQ2), 409 PINMUX_SINGLE(IRQ3), 410 PINMUX_SINGLE(CS0_N), 411 PINMUX_SINGLE(VI0_CLK), 412 PINMUX_SINGLE(VI0_CLKENB), 413 PINMUX_SINGLE(VI0_HSYNC_N), 414 PINMUX_SINGLE(VI0_VSYNC_N), 415 PINMUX_SINGLE(VI0_D0_B0_C0), 416 PINMUX_SINGLE(VI0_D1_B1_C1), 417 PINMUX_SINGLE(VI0_D2_B2_C2), 418 PINMUX_SINGLE(VI0_D3_B3_C3), 419 PINMUX_SINGLE(VI0_D4_B4_C4), 420 PINMUX_SINGLE(VI0_D5_B5_C5), 421 PINMUX_SINGLE(VI0_D6_B6_C6), 422 PINMUX_SINGLE(VI0_D7_B7_C7), 423 PINMUX_SINGLE(VI0_D8_G0_Y0), 424 PINMUX_SINGLE(VI0_D9_G1_Y1), 425 PINMUX_SINGLE(VI0_D10_G2_Y2), 426 PINMUX_SINGLE(VI0_D11_G3_Y3), 427 PINMUX_SINGLE(VI0_FIELD), 428 PINMUX_SINGLE(VI1_CLK), 429 PINMUX_SINGLE(VI1_CLKENB), 430 PINMUX_SINGLE(VI1_HSYNC_N), 431 PINMUX_SINGLE(VI1_VSYNC_N), 432 PINMUX_SINGLE(VI1_D0_B0_C0), 433 PINMUX_SINGLE(VI1_D1_B1_C1), 434 PINMUX_SINGLE(VI1_D2_B2_C2), 435 PINMUX_SINGLE(VI1_D3_B3_C3), 436 PINMUX_SINGLE(VI1_D4_B4_C4), 437 PINMUX_SINGLE(VI1_D5_B5_C5), 438 PINMUX_SINGLE(VI1_D6_B6_C6), 439 PINMUX_SINGLE(VI1_D7_B7_C7), 440 PINMUX_SINGLE(VI1_D8_G0_Y0), 441 PINMUX_SINGLE(VI1_D9_G1_Y1), 442 PINMUX_SINGLE(VI1_D10_G2_Y2), 443 PINMUX_SINGLE(VI1_D11_G3_Y3), 444 PINMUX_SINGLE(VI1_FIELD), 445 PINMUX_SINGLE(VI3_D10_Y2), 446 PINMUX_SINGLE(VI3_FIELD), 447 PINMUX_SINGLE(VI4_CLK), 448 PINMUX_SINGLE(VI5_CLK), 449 PINMUX_SINGLE(VI5_D9_Y1), 450 PINMUX_SINGLE(VI5_D10_Y2), 451 PINMUX_SINGLE(VI5_D11_Y3), 452 PINMUX_SINGLE(VI5_FIELD), 453 PINMUX_SINGLE(HRTS0_N), 454 PINMUX_SINGLE(HCTS1_N), 455 PINMUX_SINGLE(SCK0), 456 PINMUX_SINGLE(CTS0_N), 457 PINMUX_SINGLE(RTS0_N), 458 PINMUX_SINGLE(TX0), 459 PINMUX_SINGLE(RX0), 460 PINMUX_SINGLE(SCK1), 461 PINMUX_SINGLE(CTS1_N), 462 PINMUX_SINGLE(RTS1_N), 463 PINMUX_SINGLE(TX1), 464 PINMUX_SINGLE(RX1), 465 PINMUX_SINGLE(SCIF_CLK), 466 PINMUX_SINGLE(CAN0_TX), 467 PINMUX_SINGLE(CAN0_RX), 468 PINMUX_SINGLE(CAN_CLK), 469 PINMUX_SINGLE(CAN1_TX), 470 PINMUX_SINGLE(CAN1_RX), 471 PINMUX_SINGLE(SD0_CLK), 472 PINMUX_SINGLE(SD0_CMD), 473 PINMUX_SINGLE(SD0_DAT0), 474 PINMUX_SINGLE(SD0_DAT1), 475 PINMUX_SINGLE(SD0_DAT2), 476 PINMUX_SINGLE(SD0_DAT3), 477 PINMUX_SINGLE(SD0_CD), 478 PINMUX_SINGLE(SD0_WP), 479 PINMUX_SINGLE(ADICLK), 480 PINMUX_SINGLE(ADICS_SAMP), 481 PINMUX_SINGLE(ADIDATA), 482 PINMUX_SINGLE(ADICHS0), 483 PINMUX_SINGLE(ADICHS1), 484 PINMUX_SINGLE(ADICHS2), 485 PINMUX_SINGLE(AVS1), 486 PINMUX_SINGLE(AVS2), 487 488 /* IPSR0 */ 489 PINMUX_IPSR_GPSR(IP0_0, DU0_DR0_DATA0), 490 PINMUX_IPSR_GPSR(IP0_1, DU0_DR1_DATA1), 491 PINMUX_IPSR_GPSR(IP0_2, DU0_DR2_Y4_DATA2), 492 PINMUX_IPSR_GPSR(IP0_3, DU0_DR3_Y5_DATA3), 493 PINMUX_IPSR_GPSR(IP0_4, DU0_DR4_Y6_DATA4), 494 PINMUX_IPSR_GPSR(IP0_5, DU0_DR5_Y7_DATA5), 495 PINMUX_IPSR_GPSR(IP0_6, DU0_DR6_Y8_DATA6), 496 PINMUX_IPSR_GPSR(IP0_7, DU0_DR7_Y9_DATA7), 497 PINMUX_IPSR_GPSR(IP0_8, DU0_DG0_DATA8), 498 PINMUX_IPSR_GPSR(IP0_9, DU0_DG1_DATA9), 499 PINMUX_IPSR_GPSR(IP0_10, DU0_DG2_C6_DATA10), 500 PINMUX_IPSR_GPSR(IP0_11, DU0_DG3_C7_DATA11), 501 PINMUX_IPSR_GPSR(IP0_12, DU0_DG4_Y0_DATA12), 502 PINMUX_IPSR_GPSR(IP0_13, DU0_DG5_Y1_DATA13), 503 PINMUX_IPSR_GPSR(IP0_14, DU0_DG6_Y2_DATA14), 504 PINMUX_IPSR_GPSR(IP0_15, DU0_DG7_Y3_DATA15), 505 PINMUX_IPSR_GPSR(IP0_16, DU0_DB0), 506 PINMUX_IPSR_GPSR(IP0_17, DU0_DB1), 507 PINMUX_IPSR_GPSR(IP0_18, DU0_DB2_C0), 508 PINMUX_IPSR_GPSR(IP0_19, DU0_DB3_C1), 509 PINMUX_IPSR_GPSR(IP0_20, DU0_DB4_C2), 510 PINMUX_IPSR_GPSR(IP0_21, DU0_DB5_C3), 511 PINMUX_IPSR_GPSR(IP0_22, DU0_DB6_C4), 512 PINMUX_IPSR_GPSR(IP0_23, DU0_DB7_C5), 513 514 /* IPSR1 */ 515 PINMUX_IPSR_GPSR(IP1_0, DU0_EXHSYNC_DU0_HSYNC), 516 PINMUX_IPSR_GPSR(IP1_1, DU0_EXVSYNC_DU0_VSYNC), 517 PINMUX_IPSR_GPSR(IP1_2, DU0_EXODDF_DU0_ODDF_DISP_CDE), 518 PINMUX_IPSR_GPSR(IP1_3, DU0_DISP), 519 PINMUX_IPSR_GPSR(IP1_4, DU0_CDE), 520 PINMUX_IPSR_GPSR(IP1_5, DU1_DR2_Y4_DATA0), 521 PINMUX_IPSR_GPSR(IP1_6, DU1_DR3_Y5_DATA1), 522 PINMUX_IPSR_GPSR(IP1_7, DU1_DR4_Y6_DATA2), 523 PINMUX_IPSR_GPSR(IP1_8, DU1_DR5_Y7_DATA3), 524 PINMUX_IPSR_GPSR(IP1_9, DU1_DR6_DATA4), 525 PINMUX_IPSR_GPSR(IP1_10, DU1_DR7_DATA5), 526 PINMUX_IPSR_GPSR(IP1_11, DU1_DG2_C6_DATA6), 527 PINMUX_IPSR_GPSR(IP1_12, DU1_DG3_C7_DATA7), 528 PINMUX_IPSR_GPSR(IP1_13, DU1_DG4_Y0_DATA8), 529 PINMUX_IPSR_GPSR(IP1_14, DU1_DG5_Y1_DATA9), 530 PINMUX_IPSR_GPSR(IP1_15, DU1_DG6_Y2_DATA10), 531 PINMUX_IPSR_GPSR(IP1_16, DU1_DG7_Y3_DATA11), 532 PINMUX_IPSR_GPSR(IP1_17, A20), 533 PINMUX_IPSR_GPSR(IP1_17, MOSI_IO0), 534 PINMUX_IPSR_GPSR(IP1_18, A21), 535 PINMUX_IPSR_GPSR(IP1_18, MISO_IO1), 536 PINMUX_IPSR_GPSR(IP1_19, A22), 537 PINMUX_IPSR_GPSR(IP1_19, IO2), 538 PINMUX_IPSR_GPSR(IP1_20, A23), 539 PINMUX_IPSR_GPSR(IP1_20, IO3), 540 PINMUX_IPSR_GPSR(IP1_21, A24), 541 PINMUX_IPSR_GPSR(IP1_21, SPCLK), 542 PINMUX_IPSR_GPSR(IP1_22, A25), 543 PINMUX_IPSR_GPSR(IP1_22, SSL), 544 545 /* IPSR2 */ 546 PINMUX_IPSR_GPSR(IP2_0, VI2_CLK), 547 PINMUX_IPSR_GPSR(IP2_0, AVB_RX_CLK), 548 PINMUX_IPSR_GPSR(IP2_1, VI2_CLKENB), 549 PINMUX_IPSR_GPSR(IP2_1, AVB_RX_DV), 550 PINMUX_IPSR_GPSR(IP2_2, VI2_HSYNC_N), 551 PINMUX_IPSR_GPSR(IP2_2, AVB_RXD0), 552 PINMUX_IPSR_GPSR(IP2_3, VI2_VSYNC_N), 553 PINMUX_IPSR_GPSR(IP2_3, AVB_RXD1), 554 PINMUX_IPSR_GPSR(IP2_4, VI2_D0_C0), 555 PINMUX_IPSR_GPSR(IP2_4, AVB_RXD2), 556 PINMUX_IPSR_GPSR(IP2_5, VI2_D1_C1), 557 PINMUX_IPSR_GPSR(IP2_5, AVB_RXD3), 558 PINMUX_IPSR_GPSR(IP2_6, VI2_D2_C2), 559 PINMUX_IPSR_GPSR(IP2_6, AVB_RXD4), 560 PINMUX_IPSR_GPSR(IP2_7, VI2_D3_C3), 561 PINMUX_IPSR_GPSR(IP2_7, AVB_RXD5), 562 PINMUX_IPSR_GPSR(IP2_8, VI2_D4_C4), 563 PINMUX_IPSR_GPSR(IP2_8, AVB_RXD6), 564 PINMUX_IPSR_GPSR(IP2_9, VI2_D5_C5), 565 PINMUX_IPSR_GPSR(IP2_9, AVB_RXD7), 566 PINMUX_IPSR_GPSR(IP2_10, VI2_D6_C6), 567 PINMUX_IPSR_GPSR(IP2_10, AVB_RX_ER), 568 PINMUX_IPSR_GPSR(IP2_11, VI2_D7_C7), 569 PINMUX_IPSR_GPSR(IP2_11, AVB_COL), 570 PINMUX_IPSR_GPSR(IP2_12, VI2_D8_Y0), 571 PINMUX_IPSR_GPSR(IP2_12, AVB_TXD3), 572 PINMUX_IPSR_GPSR(IP2_13, VI2_D9_Y1), 573 PINMUX_IPSR_GPSR(IP2_13, AVB_TX_EN), 574 PINMUX_IPSR_GPSR(IP2_14, VI2_D10_Y2), 575 PINMUX_IPSR_GPSR(IP2_14, AVB_TXD0), 576 PINMUX_IPSR_GPSR(IP2_15, VI2_D11_Y3), 577 PINMUX_IPSR_GPSR(IP2_15, AVB_TXD1), 578 PINMUX_IPSR_GPSR(IP2_16, VI2_FIELD), 579 PINMUX_IPSR_GPSR(IP2_16, AVB_TXD2), 580 581 /* IPSR3 */ 582 PINMUX_IPSR_GPSR(IP3_0, VI3_CLK), 583 PINMUX_IPSR_GPSR(IP3_0, AVB_TX_CLK), 584 PINMUX_IPSR_GPSR(IP3_1, VI3_CLKENB), 585 PINMUX_IPSR_GPSR(IP3_1, AVB_TXD4), 586 PINMUX_IPSR_GPSR(IP3_2, VI3_HSYNC_N), 587 PINMUX_IPSR_GPSR(IP3_2, AVB_TXD5), 588 PINMUX_IPSR_GPSR(IP3_3, VI3_VSYNC_N), 589 PINMUX_IPSR_GPSR(IP3_3, AVB_TXD6), 590 PINMUX_IPSR_GPSR(IP3_4, VI3_D0_C0), 591 PINMUX_IPSR_GPSR(IP3_4, AVB_TXD7), 592 PINMUX_IPSR_GPSR(IP3_5, VI3_D1_C1), 593 PINMUX_IPSR_GPSR(IP3_5, AVB_TX_ER), 594 PINMUX_IPSR_GPSR(IP3_6, VI3_D2_C2), 595 PINMUX_IPSR_GPSR(IP3_6, AVB_GTX_CLK), 596 PINMUX_IPSR_GPSR(IP3_7, VI3_D3_C3), 597 PINMUX_IPSR_GPSR(IP3_7, AVB_MDC), 598 PINMUX_IPSR_GPSR(IP3_8, VI3_D4_C4), 599 PINMUX_IPSR_GPSR(IP3_8, AVB_MDIO), 600 PINMUX_IPSR_GPSR(IP3_9, VI3_D5_C5), 601 PINMUX_IPSR_GPSR(IP3_9, AVB_LINK), 602 PINMUX_IPSR_GPSR(IP3_10, VI3_D6_C6), 603 PINMUX_IPSR_GPSR(IP3_10, AVB_MAGIC), 604 PINMUX_IPSR_GPSR(IP3_11, VI3_D7_C7), 605 PINMUX_IPSR_GPSR(IP3_11, AVB_PHY_INT), 606 PINMUX_IPSR_GPSR(IP3_12, VI3_D8_Y0), 607 PINMUX_IPSR_GPSR(IP3_12, AVB_CRS), 608 PINMUX_IPSR_GPSR(IP3_13, VI3_D9_Y1), 609 PINMUX_IPSR_GPSR(IP3_13, AVB_GTXREFCLK), 610 PINMUX_IPSR_GPSR(IP3_14, VI3_D11_Y3), 611 PINMUX_IPSR_GPSR(IP3_14, AVB_AVTP_MATCH), 612 613 /* IPSR4 */ 614 PINMUX_IPSR_GPSR(IP4_0, VI4_CLKENB), 615 PINMUX_IPSR_GPSR(IP4_0, VI0_D12_G4_Y4), 616 PINMUX_IPSR_GPSR(IP4_1, VI4_HSYNC_N), 617 PINMUX_IPSR_GPSR(IP4_1, VI0_D13_G5_Y5), 618 PINMUX_IPSR_GPSR(IP4_3_2, VI4_VSYNC_N), 619 PINMUX_IPSR_GPSR(IP4_3_2, VI0_D14_G6_Y6), 620 PINMUX_IPSR_GPSR(IP4_4, VI4_D0_C0), 621 PINMUX_IPSR_GPSR(IP4_4, VI0_D15_G7_Y7), 622 PINMUX_IPSR_GPSR(IP4_6_5, VI4_D1_C1), 623 PINMUX_IPSR_GPSR(IP4_6_5, VI0_D16_R0), 624 PINMUX_IPSR_MSEL(IP4_6_5, VI1_D12_G4_Y4, SEL_VI1_0), 625 PINMUX_IPSR_GPSR(IP4_8_7, VI4_D2_C2), 626 PINMUX_IPSR_GPSR(IP4_8_7, VI0_D17_R1), 627 PINMUX_IPSR_MSEL(IP4_8_7, VI1_D13_G5_Y5, SEL_VI1_0), 628 PINMUX_IPSR_GPSR(IP4_10_9, VI4_D3_C3), 629 PINMUX_IPSR_GPSR(IP4_10_9, VI0_D18_R2), 630 PINMUX_IPSR_MSEL(IP4_10_9, VI1_D14_G6_Y6, SEL_VI1_0), 631 PINMUX_IPSR_GPSR(IP4_12_11, VI4_D4_C4), 632 PINMUX_IPSR_GPSR(IP4_12_11, VI0_D19_R3), 633 PINMUX_IPSR_MSEL(IP4_12_11, VI1_D15_G7_Y7, SEL_VI1_0), 634 PINMUX_IPSR_GPSR(IP4_14_13, VI4_D5_C5), 635 PINMUX_IPSR_GPSR(IP4_14_13, VI0_D20_R4), 636 PINMUX_IPSR_GPSR(IP4_14_13, VI2_D12_Y4), 637 PINMUX_IPSR_GPSR(IP4_16_15, VI4_D6_C6), 638 PINMUX_IPSR_GPSR(IP4_16_15, VI0_D21_R5), 639 PINMUX_IPSR_GPSR(IP4_16_15, VI2_D13_Y5), 640 PINMUX_IPSR_GPSR(IP4_18_17, VI4_D7_C7), 641 PINMUX_IPSR_GPSR(IP4_18_17, VI0_D22_R6), 642 PINMUX_IPSR_GPSR(IP4_18_17, VI2_D14_Y6), 643 PINMUX_IPSR_GPSR(IP4_20_19, VI4_D8_Y0), 644 PINMUX_IPSR_GPSR(IP4_20_19, VI0_D23_R7), 645 PINMUX_IPSR_GPSR(IP4_20_19, VI2_D15_Y7), 646 PINMUX_IPSR_GPSR(IP4_21, VI4_D9_Y1), 647 PINMUX_IPSR_GPSR(IP4_21, VI3_D12_Y4), 648 PINMUX_IPSR_GPSR(IP4_22, VI4_D10_Y2), 649 PINMUX_IPSR_GPSR(IP4_22, VI3_D13_Y5), 650 PINMUX_IPSR_GPSR(IP4_23, VI4_D11_Y3), 651 PINMUX_IPSR_GPSR(IP4_23, VI3_D14_Y6), 652 PINMUX_IPSR_GPSR(IP4_24, VI4_FIELD), 653 PINMUX_IPSR_GPSR(IP4_24, VI3_D15_Y7), 654 655 /* IPSR5 */ 656 PINMUX_IPSR_GPSR(IP5_0, VI5_CLKENB), 657 PINMUX_IPSR_MSEL(IP5_0, VI1_D12_G4_Y4_B, SEL_VI1_1), 658 PINMUX_IPSR_GPSR(IP5_1, VI5_HSYNC_N), 659 PINMUX_IPSR_MSEL(IP5_1, VI1_D13_G5_Y5_B, SEL_VI1_1), 660 PINMUX_IPSR_GPSR(IP5_2, VI5_VSYNC_N), 661 PINMUX_IPSR_MSEL(IP5_2, VI1_D14_G6_Y6_B, SEL_VI1_1), 662 PINMUX_IPSR_GPSR(IP5_3, VI5_D0_C0), 663 PINMUX_IPSR_MSEL(IP5_3, VI1_D15_G7_Y7_B, SEL_VI1_1), 664 PINMUX_IPSR_GPSR(IP5_4, VI5_D1_C1), 665 PINMUX_IPSR_GPSR(IP5_4, VI1_D16_R0), 666 PINMUX_IPSR_GPSR(IP5_5, VI5_D2_C2), 667 PINMUX_IPSR_GPSR(IP5_5, VI1_D17_R1), 668 PINMUX_IPSR_GPSR(IP5_6, VI5_D3_C3), 669 PINMUX_IPSR_GPSR(IP5_6, VI1_D18_R2), 670 PINMUX_IPSR_GPSR(IP5_7, VI5_D4_C4), 671 PINMUX_IPSR_GPSR(IP5_7, VI1_D19_R3), 672 PINMUX_IPSR_GPSR(IP5_8, VI5_D5_C5), 673 PINMUX_IPSR_GPSR(IP5_8, VI1_D20_R4), 674 PINMUX_IPSR_GPSR(IP5_9, VI5_D6_C6), 675 PINMUX_IPSR_GPSR(IP5_9, VI1_D21_R5), 676 PINMUX_IPSR_GPSR(IP5_10, VI5_D7_C7), 677 PINMUX_IPSR_GPSR(IP5_10, VI1_D22_R6), 678 PINMUX_IPSR_GPSR(IP5_11, VI5_D8_Y0), 679 PINMUX_IPSR_GPSR(IP5_11, VI1_D23_R7), 680 681 /* IPSR6 */ 682 PINMUX_IPSR_GPSR(IP6_0, MSIOF0_SCK), 683 PINMUX_IPSR_GPSR(IP6_0, HSCK0), 684 PINMUX_IPSR_GPSR(IP6_1, MSIOF0_SYNC), 685 PINMUX_IPSR_GPSR(IP6_1, HCTS0_N), 686 PINMUX_IPSR_GPSR(IP6_2, MSIOF0_TXD), 687 PINMUX_IPSR_GPSR(IP6_2, HTX0), 688 PINMUX_IPSR_GPSR(IP6_3, MSIOF0_RXD), 689 PINMUX_IPSR_GPSR(IP6_3, HRX0), 690 PINMUX_IPSR_GPSR(IP6_4, MSIOF1_SCK), 691 PINMUX_IPSR_GPSR(IP6_4, HSCK1), 692 PINMUX_IPSR_GPSR(IP6_5, MSIOF1_SYNC), 693 PINMUX_IPSR_GPSR(IP6_5, HRTS1_N), 694 PINMUX_IPSR_GPSR(IP6_6, MSIOF1_TXD), 695 PINMUX_IPSR_GPSR(IP6_6, HTX1), 696 PINMUX_IPSR_GPSR(IP6_7, MSIOF1_RXD), 697 PINMUX_IPSR_GPSR(IP6_7, HRX1), 698 PINMUX_IPSR_GPSR(IP6_9_8, DRACK0), 699 PINMUX_IPSR_GPSR(IP6_9_8, SCK2), 700 PINMUX_IPSR_GPSR(IP6_11_10, DACK0), 701 PINMUX_IPSR_GPSR(IP6_11_10, TX2), 702 PINMUX_IPSR_GPSR(IP6_13_12, DREQ0_N), 703 PINMUX_IPSR_GPSR(IP6_13_12, RX2), 704 PINMUX_IPSR_GPSR(IP6_15_14, DACK1), 705 PINMUX_IPSR_GPSR(IP6_15_14, SCK3), 706 PINMUX_IPSR_GPSR(IP6_16, TX3), 707 PINMUX_IPSR_GPSR(IP6_18_17, DREQ1_N), 708 PINMUX_IPSR_GPSR(IP6_18_17, RX3), 709 710 /* IPSR7 */ 711 PINMUX_IPSR_GPSR(IP7_1_0, PWM0), 712 PINMUX_IPSR_GPSR(IP7_1_0, TCLK1), 713 PINMUX_IPSR_GPSR(IP7_1_0, FSO_CFE_0), 714 PINMUX_IPSR_GPSR(IP7_3_2, PWM1), 715 PINMUX_IPSR_GPSR(IP7_3_2, TCLK2), 716 PINMUX_IPSR_GPSR(IP7_3_2, FSO_CFE_1), 717 PINMUX_IPSR_GPSR(IP7_5_4, PWM2), 718 PINMUX_IPSR_GPSR(IP7_5_4, TCLK3), 719 PINMUX_IPSR_GPSR(IP7_5_4, FSO_TOE), 720 PINMUX_IPSR_GPSR(IP7_6, PWM3), 721 PINMUX_IPSR_GPSR(IP7_7, PWM4), 722 PINMUX_IPSR_GPSR(IP7_9_8, SSI_SCK34), 723 PINMUX_IPSR_GPSR(IP7_9_8, TPU0TO0), 724 PINMUX_IPSR_GPSR(IP7_11_10, SSI_WS34), 725 PINMUX_IPSR_GPSR(IP7_11_10, TPU0TO1), 726 PINMUX_IPSR_GPSR(IP7_13_12, SSI_SDATA3), 727 PINMUX_IPSR_GPSR(IP7_13_12, TPU0TO2), 728 PINMUX_IPSR_GPSR(IP7_15_14, SSI_SCK4), 729 PINMUX_IPSR_GPSR(IP7_15_14, TPU0TO3), 730 PINMUX_IPSR_GPSR(IP7_16, SSI_WS4), 731 PINMUX_IPSR_GPSR(IP7_17, SSI_SDATA4), 732 PINMUX_IPSR_GPSR(IP7_18, AUDIO_CLKOUT), 733 PINMUX_IPSR_GPSR(IP7_19, AUDIO_CLKA), 734 PINMUX_IPSR_GPSR(IP7_20, AUDIO_CLKB), 735 }; 736 737 /* 738 * Pins not associated with a GPIO port. 739 */ 740 enum { 741 GP_ASSIGN_LAST(), 742 NOGP_ALL(), 743 }; 744 745 static const struct sh_pfc_pin pinmux_pins[] = { 746 PINMUX_GPIO_GP_ALL(), 747 PINMUX_NOGP_ALL(), 748 }; 749 750 /* - AVB -------------------------------------------------------------------- */ 751 static const unsigned int avb_link_pins[] = { 752 RCAR_GP_PIN(7, 9), 753 }; 754 static const unsigned int avb_link_mux[] = { 755 AVB_LINK_MARK, 756 }; 757 static const unsigned int avb_magic_pins[] = { 758 RCAR_GP_PIN(7, 10), 759 }; 760 static const unsigned int avb_magic_mux[] = { 761 AVB_MAGIC_MARK, 762 }; 763 static const unsigned int avb_phy_int_pins[] = { 764 RCAR_GP_PIN(7, 11), 765 }; 766 static const unsigned int avb_phy_int_mux[] = { 767 AVB_PHY_INT_MARK, 768 }; 769 static const unsigned int avb_mdio_pins[] = { 770 RCAR_GP_PIN(7, 7), RCAR_GP_PIN(7, 8), 771 }; 772 static const unsigned int avb_mdio_mux[] = { 773 AVB_MDC_MARK, AVB_MDIO_MARK, 774 }; 775 static const unsigned int avb_mii_pins[] = { 776 RCAR_GP_PIN(6, 14), RCAR_GP_PIN(6, 15), RCAR_GP_PIN(6, 16), 777 RCAR_GP_PIN(6, 12), 778 779 RCAR_GP_PIN(6, 2), RCAR_GP_PIN(6, 3), RCAR_GP_PIN(6, 4), 780 RCAR_GP_PIN(6, 5), 781 782 RCAR_GP_PIN(6, 10), RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 1), 783 RCAR_GP_PIN(7, 12), RCAR_GP_PIN(6, 13), RCAR_GP_PIN(7, 5), 784 RCAR_GP_PIN(7, 0), RCAR_GP_PIN(6, 11), 785 }; 786 static const unsigned int avb_mii_mux[] = { 787 AVB_TXD0_MARK, AVB_TXD1_MARK, AVB_TXD2_MARK, 788 AVB_TXD3_MARK, 789 790 AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK, 791 AVB_RXD3_MARK, 792 793 AVB_RX_ER_MARK, AVB_RX_CLK_MARK, AVB_RX_DV_MARK, 794 AVB_CRS_MARK, AVB_TX_EN_MARK, AVB_TX_ER_MARK, 795 AVB_TX_CLK_MARK, AVB_COL_MARK, 796 }; 797 static const unsigned int avb_gmii_pins[] = { 798 RCAR_GP_PIN(6, 14), RCAR_GP_PIN(6, 15), RCAR_GP_PIN(6, 16), 799 RCAR_GP_PIN(6, 12), RCAR_GP_PIN(7, 1), RCAR_GP_PIN(7, 2), 800 RCAR_GP_PIN(7, 3), RCAR_GP_PIN(7, 4), 801 802 RCAR_GP_PIN(6, 2), RCAR_GP_PIN(6, 3), RCAR_GP_PIN(6, 4), 803 RCAR_GP_PIN(6, 5), RCAR_GP_PIN(6, 6), RCAR_GP_PIN(6, 7), 804 RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 9), 805 806 RCAR_GP_PIN(6, 10), RCAR_GP_PIN(6, 0), RCAR_GP_PIN(6, 1), 807 RCAR_GP_PIN(7, 12), RCAR_GP_PIN(7, 6), RCAR_GP_PIN(7, 13), 808 RCAR_GP_PIN(6, 13), RCAR_GP_PIN(7, 5), RCAR_GP_PIN(7, 0), 809 RCAR_GP_PIN(6, 11), 810 }; 811 static const unsigned int avb_gmii_mux[] = { 812 AVB_TXD0_MARK, AVB_TXD1_MARK, AVB_TXD2_MARK, 813 AVB_TXD3_MARK, AVB_TXD4_MARK, AVB_TXD5_MARK, 814 AVB_TXD6_MARK, AVB_TXD7_MARK, 815 816 AVB_RXD0_MARK, AVB_RXD1_MARK, AVB_RXD2_MARK, 817 AVB_RXD3_MARK, AVB_RXD4_MARK, AVB_RXD5_MARK, 818 AVB_RXD6_MARK, AVB_RXD7_MARK, 819 820 AVB_RX_ER_MARK, AVB_RX_CLK_MARK, AVB_RX_DV_MARK, 821 AVB_CRS_MARK, AVB_GTX_CLK_MARK, AVB_GTXREFCLK_MARK, 822 AVB_TX_EN_MARK, AVB_TX_ER_MARK, AVB_TX_CLK_MARK, 823 AVB_COL_MARK, 824 }; 825 static const unsigned int avb_avtp_match_pins[] = { 826 RCAR_GP_PIN(7, 15), 827 }; 828 static const unsigned int avb_avtp_match_mux[] = { 829 AVB_AVTP_MATCH_MARK, 830 }; 831 /* - CAN -------------------------------------------------------------------- */ 832 static const unsigned int can0_data_pins[] = { 833 /* TX, RX */ 834 RCAR_GP_PIN(10, 27), RCAR_GP_PIN(10, 28), 835 }; 836 static const unsigned int can0_data_mux[] = { 837 CAN0_TX_MARK, CAN0_RX_MARK, 838 }; 839 static const unsigned int can1_data_pins[] = { 840 /* TX, RX */ 841 RCAR_GP_PIN(10, 30), RCAR_GP_PIN(10, 31), 842 }; 843 static const unsigned int can1_data_mux[] = { 844 CAN1_TX_MARK, CAN1_RX_MARK, 845 }; 846 static const unsigned int can_clk_pins[] = { 847 /* CAN_CLK */ 848 RCAR_GP_PIN(10, 29), 849 }; 850 static const unsigned int can_clk_mux[] = { 851 CAN_CLK_MARK, 852 }; 853 /* - DU --------------------------------------------------------------------- */ 854 static const unsigned int du0_rgb666_pins[] = { 855 /* R[7:2], G[7:2], B[7:2] */ 856 RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 5), 857 RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 2), 858 RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 13), 859 RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 10), 860 RCAR_GP_PIN(0, 23), RCAR_GP_PIN(0, 22), RCAR_GP_PIN(0, 21), 861 RCAR_GP_PIN(0, 20), RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 18), 862 }; 863 static const unsigned int du0_rgb666_mux[] = { 864 DU0_DR7_Y9_DATA7_MARK, DU0_DR6_Y8_DATA6_MARK, DU0_DR5_Y7_DATA5_MARK, 865 DU0_DR4_Y6_DATA4_MARK, DU0_DR3_Y5_DATA3_MARK, DU0_DR2_Y4_DATA2_MARK, 866 DU0_DG7_Y3_DATA15_MARK, DU0_DG6_Y2_DATA14_MARK, DU0_DG5_Y1_DATA13_MARK, 867 DU0_DG4_Y0_DATA12_MARK, DU0_DG3_C7_DATA11_MARK, DU0_DG2_C6_DATA10_MARK, 868 DU0_DB7_C5_MARK, DU0_DB6_C4_MARK, DU0_DB5_C3_MARK, 869 DU0_DB4_C2_MARK, DU0_DB3_C1_MARK, DU0_DB2_C0_MARK, 870 }; 871 static const unsigned int du0_rgb888_pins[] = { 872 /* R[7:0], G[7:0], B[7:0] */ 873 RCAR_GP_PIN(0, 7), RCAR_GP_PIN(0, 6), RCAR_GP_PIN(0, 5), 874 RCAR_GP_PIN(0, 4), RCAR_GP_PIN(0, 3), RCAR_GP_PIN(0, 2), 875 RCAR_GP_PIN(0, 1), RCAR_GP_PIN(0, 0), 876 RCAR_GP_PIN(0, 15), RCAR_GP_PIN(0, 14), RCAR_GP_PIN(0, 13), 877 RCAR_GP_PIN(0, 12), RCAR_GP_PIN(0, 11), RCAR_GP_PIN(0, 10), 878 RCAR_GP_PIN(0, 9), RCAR_GP_PIN(0, 8), 879 RCAR_GP_PIN(0, 23), RCAR_GP_PIN(0, 22), RCAR_GP_PIN(0, 21), 880 RCAR_GP_PIN(0, 20), RCAR_GP_PIN(0, 19), RCAR_GP_PIN(0, 18), 881 RCAR_GP_PIN(0, 17), RCAR_GP_PIN(0, 16), 882 }; 883 static const unsigned int du0_rgb888_mux[] = { 884 DU0_DR7_Y9_DATA7_MARK, DU0_DR6_Y8_DATA6_MARK, DU0_DR5_Y7_DATA5_MARK, 885 DU0_DR4_Y6_DATA4_MARK, DU0_DR3_Y5_DATA3_MARK, DU0_DR2_Y4_DATA2_MARK, 886 DU0_DR1_DATA1_MARK, DU0_DR0_DATA0_MARK, 887 DU0_DG7_Y3_DATA15_MARK, DU0_DG6_Y2_DATA14_MARK, DU0_DG5_Y1_DATA13_MARK, 888 DU0_DG4_Y0_DATA12_MARK, DU0_DG3_C7_DATA11_MARK, DU0_DG2_C6_DATA10_MARK, 889 DU0_DG1_DATA9_MARK, DU0_DG0_DATA8_MARK, 890 DU0_DB7_C5_MARK, DU0_DB6_C4_MARK, DU0_DB5_C3_MARK, 891 DU0_DB4_C2_MARK, DU0_DB3_C1_MARK, DU0_DB2_C0_MARK, 892 DU0_DB1_MARK, DU0_DB0_MARK, 893 }; 894 static const unsigned int du0_sync_pins[] = { 895 /* EXVSYNC/VSYNC, EXHSYNC/HSYNC */ 896 RCAR_GP_PIN(0, 25), RCAR_GP_PIN(0, 24), 897 }; 898 static const unsigned int du0_sync_mux[] = { 899 DU0_EXVSYNC_DU0_VSYNC_MARK, DU0_EXHSYNC_DU0_HSYNC_MARK, 900 }; 901 static const unsigned int du0_oddf_pins[] = { 902 /* EXODDF/ODDF/DISP/CDE */ 903 RCAR_GP_PIN(0, 26), 904 }; 905 static const unsigned int du0_oddf_mux[] = { 906 DU0_EXODDF_DU0_ODDF_DISP_CDE_MARK 907 }; 908 static const unsigned int du0_disp_pins[] = { 909 /* DISP */ 910 RCAR_GP_PIN(0, 27), 911 }; 912 static const unsigned int du0_disp_mux[] = { 913 DU0_DISP_MARK, 914 }; 915 static const unsigned int du0_cde_pins[] = { 916 /* CDE */ 917 RCAR_GP_PIN(0, 28), 918 }; 919 static const unsigned int du0_cde_mux[] = { 920 DU0_CDE_MARK, 921 }; 922 static const unsigned int du1_rgb666_pins[] = { 923 /* R[7:2], G[7:2], B[7:2] */ 924 RCAR_GP_PIN(1, 5), RCAR_GP_PIN(1, 4), RCAR_GP_PIN(1, 3), 925 RCAR_GP_PIN(1, 2), RCAR_GP_PIN(1, 1), RCAR_GP_PIN(1, 0), 926 RCAR_GP_PIN(1, 11), RCAR_GP_PIN(1, 10), RCAR_GP_PIN(1, 9), 927 RCAR_GP_PIN(1, 8), RCAR_GP_PIN(1, 7), RCAR_GP_PIN(1, 6), 928 RCAR_GP_PIN(1, 17), RCAR_GP_PIN(1, 16), RCAR_GP_PIN(1, 15), 929 RCAR_GP_PIN(1, 14), RCAR_GP_PIN(1, 13), RCAR_GP_PIN(1, 12), 930 }; 931 static const unsigned int du1_rgb666_mux[] = { 932 DU1_DR7_DATA5_MARK, DU1_DR6_DATA4_MARK, DU1_DR5_Y7_DATA3_MARK, 933 DU1_DR4_Y6_DATA2_MARK, DU1_DR3_Y5_DATA1_MARK, DU1_DR2_Y4_DATA0_MARK, 934 DU1_DG7_Y3_DATA11_MARK, DU1_DG6_Y2_DATA10_MARK, DU1_DG5_Y1_DATA9_MARK, 935 DU1_DG4_Y0_DATA8_MARK, DU1_DG3_C7_DATA7_MARK, DU1_DG2_C6_DATA6_MARK, 936 DU1_DB7_C5_MARK, DU1_DB6_C4_MARK, DU1_DB5_C3_DATA15_MARK, 937 DU1_DB4_C2_DATA14_MARK, DU1_DB3_C1_DATA13_MARK, DU1_DB2_C0_DATA12_MARK, 938 }; 939 static const unsigned int du1_sync_pins[] = { 940 /* EXVSYNC/VSYNC, EXHSYNC/HSYNC */ 941 RCAR_GP_PIN(1, 19), RCAR_GP_PIN(1, 18), 942 }; 943 static const unsigned int du1_sync_mux[] = { 944 DU1_EXVSYNC_DU1_VSYNC_MARK, DU1_EXHSYNC_DU1_HSYNC_MARK, 945 }; 946 static const unsigned int du1_oddf_pins[] = { 947 /* EXODDF/ODDF/DISP/CDE */ 948 RCAR_GP_PIN(1, 20), 949 }; 950 static const unsigned int du1_oddf_mux[] = { 951 DU1_EXODDF_DU1_ODDF_DISP_CDE_MARK 952 }; 953 static const unsigned int du1_disp_pins[] = { 954 /* DISP */ 955 RCAR_GP_PIN(1, 21), 956 }; 957 static const unsigned int du1_disp_mux[] = { 958 DU1_DISP_MARK, 959 }; 960 static const unsigned int du1_cde_pins[] = { 961 /* CDE */ 962 RCAR_GP_PIN(1, 22), 963 }; 964 static const unsigned int du1_cde_mux[] = { 965 DU1_CDE_MARK, 966 }; 967 /* - INTC ------------------------------------------------------------------- */ 968 static const unsigned int intc_irq0_pins[] = { 969 /* IRQ0 */ 970 RCAR_GP_PIN(3, 19), 971 }; 972 static const unsigned int intc_irq0_mux[] = { 973 IRQ0_MARK, 974 }; 975 static const unsigned int intc_irq1_pins[] = { 976 /* IRQ1 */ 977 RCAR_GP_PIN(3, 20), 978 }; 979 static const unsigned int intc_irq1_mux[] = { 980 IRQ1_MARK, 981 }; 982 static const unsigned int intc_irq2_pins[] = { 983 /* IRQ2 */ 984 RCAR_GP_PIN(3, 21), 985 }; 986 static const unsigned int intc_irq2_mux[] = { 987 IRQ2_MARK, 988 }; 989 static const unsigned int intc_irq3_pins[] = { 990 /* IRQ3 */ 991 RCAR_GP_PIN(3, 22), 992 }; 993 static const unsigned int intc_irq3_mux[] = { 994 IRQ3_MARK, 995 }; 996 /* - LBSC ------------------------------------------------------------------- */ 997 static const unsigned int lbsc_cs0_pins[] = { 998 /* CS0# */ 999 RCAR_GP_PIN(3, 27), 1000 }; 1001 static const unsigned int lbsc_cs0_mux[] = { 1002 CS0_N_MARK, 1003 }; 1004 static const unsigned int lbsc_cs1_pins[] = { 1005 /* CS1#_A26 */ 1006 RCAR_GP_PIN(3, 6), 1007 }; 1008 static const unsigned int lbsc_cs1_mux[] = { 1009 CS1_N_A26_MARK, 1010 }; 1011 static const unsigned int lbsc_ex_cs0_pins[] = { 1012 /* EX_CS0# */ 1013 RCAR_GP_PIN(3, 7), 1014 }; 1015 static const unsigned int lbsc_ex_cs0_mux[] = { 1016 EX_CS0_N_MARK, 1017 }; 1018 static const unsigned int lbsc_ex_cs1_pins[] = { 1019 /* EX_CS1# */ 1020 RCAR_GP_PIN(3, 8), 1021 }; 1022 static const unsigned int lbsc_ex_cs1_mux[] = { 1023 EX_CS1_N_MARK, 1024 }; 1025 static const unsigned int lbsc_ex_cs2_pins[] = { 1026 /* EX_CS2# */ 1027 RCAR_GP_PIN(3, 9), 1028 }; 1029 static const unsigned int lbsc_ex_cs2_mux[] = { 1030 EX_CS2_N_MARK, 1031 }; 1032 static const unsigned int lbsc_ex_cs3_pins[] = { 1033 /* EX_CS3# */ 1034 RCAR_GP_PIN(3, 10), 1035 }; 1036 static const unsigned int lbsc_ex_cs3_mux[] = { 1037 EX_CS3_N_MARK, 1038 }; 1039 static const unsigned int lbsc_ex_cs4_pins[] = { 1040 /* EX_CS4# */ 1041 RCAR_GP_PIN(3, 11), 1042 }; 1043 static const unsigned int lbsc_ex_cs4_mux[] = { 1044 EX_CS4_N_MARK, 1045 }; 1046 static const unsigned int lbsc_ex_cs5_pins[] = { 1047 /* EX_CS5# */ 1048 RCAR_GP_PIN(3, 12), 1049 }; 1050 static const unsigned int lbsc_ex_cs5_mux[] = { 1051 EX_CS5_N_MARK, 1052 }; 1053 /* - MSIOF0 ----------------------------------------------------------------- */ 1054 static const unsigned int msiof0_clk_pins[] = { 1055 /* SCK */ 1056 RCAR_GP_PIN(10, 0), 1057 }; 1058 static const unsigned int msiof0_clk_mux[] = { 1059 MSIOF0_SCK_MARK, 1060 }; 1061 static const unsigned int msiof0_sync_pins[] = { 1062 /* SYNC */ 1063 RCAR_GP_PIN(10, 1), 1064 }; 1065 static const unsigned int msiof0_sync_mux[] = { 1066 MSIOF0_SYNC_MARK, 1067 }; 1068 static const unsigned int msiof0_rx_pins[] = { 1069 /* RXD */ 1070 RCAR_GP_PIN(10, 4), 1071 }; 1072 static const unsigned int msiof0_rx_mux[] = { 1073 MSIOF0_RXD_MARK, 1074 }; 1075 static const unsigned int msiof0_tx_pins[] = { 1076 /* TXD */ 1077 RCAR_GP_PIN(10, 3), 1078 }; 1079 static const unsigned int msiof0_tx_mux[] = { 1080 MSIOF0_TXD_MARK, 1081 }; 1082 /* - MSIOF1 ----------------------------------------------------------------- */ 1083 static const unsigned int msiof1_clk_pins[] = { 1084 /* SCK */ 1085 RCAR_GP_PIN(10, 5), 1086 }; 1087 static const unsigned int msiof1_clk_mux[] = { 1088 MSIOF1_SCK_MARK, 1089 }; 1090 static const unsigned int msiof1_sync_pins[] = { 1091 /* SYNC */ 1092 RCAR_GP_PIN(10, 6), 1093 }; 1094 static const unsigned int msiof1_sync_mux[] = { 1095 MSIOF1_SYNC_MARK, 1096 }; 1097 static const unsigned int msiof1_rx_pins[] = { 1098 /* RXD */ 1099 RCAR_GP_PIN(10, 9), 1100 }; 1101 static const unsigned int msiof1_rx_mux[] = { 1102 MSIOF1_RXD_MARK, 1103 }; 1104 static const unsigned int msiof1_tx_pins[] = { 1105 /* TXD */ 1106 RCAR_GP_PIN(10, 8), 1107 }; 1108 static const unsigned int msiof1_tx_mux[] = { 1109 MSIOF1_TXD_MARK, 1110 }; 1111 /* - QSPI ------------------------------------------------------------------- */ 1112 static const unsigned int qspi_ctrl_pins[] = { 1113 /* SPCLK, SSL */ 1114 RCAR_GP_PIN(3, 25), RCAR_GP_PIN(3, 26), 1115 }; 1116 static const unsigned int qspi_ctrl_mux[] = { 1117 SPCLK_MARK, SSL_MARK, 1118 }; 1119 static const unsigned int qspi_data2_pins[] = { 1120 /* MOSI_IO0, MISO_IO1 */ 1121 RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), 1122 }; 1123 static const unsigned int qspi_data2_mux[] = { 1124 MOSI_IO0_MARK, MISO_IO1_MARK, 1125 }; 1126 static const unsigned int qspi_data4_pins[] = { 1127 /* MOSI_IO0, MISO_IO1, IO2, IO3 */ 1128 RCAR_GP_PIN(3, 4), RCAR_GP_PIN(3, 5), RCAR_GP_PIN(3, 23), 1129 RCAR_GP_PIN(3, 24), 1130 }; 1131 static const unsigned int qspi_data4_mux[] = { 1132 MOSI_IO0_MARK, MISO_IO1_MARK, IO2_MARK, IO3_MARK, 1133 }; 1134 /* - SCIF0 ------------------------------------------------------------------ */ 1135 static const unsigned int scif0_data_pins[] = { 1136 /* RX, TX */ 1137 RCAR_GP_PIN(10, 14), RCAR_GP_PIN(10, 13), 1138 }; 1139 static const unsigned int scif0_data_mux[] = { 1140 RX0_MARK, TX0_MARK, 1141 }; 1142 static const unsigned int scif0_clk_pins[] = { 1143 /* SCK */ 1144 RCAR_GP_PIN(10, 10), 1145 }; 1146 static const unsigned int scif0_clk_mux[] = { 1147 SCK0_MARK, 1148 }; 1149 static const unsigned int scif0_ctrl_pins[] = { 1150 /* RTS, CTS */ 1151 RCAR_GP_PIN(10, 12), RCAR_GP_PIN(10, 11), 1152 }; 1153 static const unsigned int scif0_ctrl_mux[] = { 1154 RTS0_N_MARK, CTS0_N_MARK, 1155 }; 1156 /* - SCIF1 ------------------------------------------------------------------ */ 1157 static const unsigned int scif1_data_pins[] = { 1158 /* RX, TX */ 1159 RCAR_GP_PIN(10, 19), RCAR_GP_PIN(10, 18), 1160 }; 1161 static const unsigned int scif1_data_mux[] = { 1162 RX1_MARK, TX1_MARK, 1163 }; 1164 static const unsigned int scif1_clk_pins[] = { 1165 /* SCK */ 1166 RCAR_GP_PIN(10, 15), 1167 }; 1168 static const unsigned int scif1_clk_mux[] = { 1169 SCK1_MARK, 1170 }; 1171 static const unsigned int scif1_ctrl_pins[] = { 1172 /* RTS, CTS */ 1173 RCAR_GP_PIN(10, 17), RCAR_GP_PIN(10, 16), 1174 }; 1175 static const unsigned int scif1_ctrl_mux[] = { 1176 RTS1_N_MARK, CTS1_N_MARK, 1177 }; 1178 /* - SCIF2 ------------------------------------------------------------------ */ 1179 static const unsigned int scif2_data_pins[] = { 1180 /* RX, TX */ 1181 RCAR_GP_PIN(10, 22), RCAR_GP_PIN(10, 21), 1182 }; 1183 static const unsigned int scif2_data_mux[] = { 1184 RX2_MARK, TX2_MARK, 1185 }; 1186 static const unsigned int scif2_clk_pins[] = { 1187 /* SCK */ 1188 RCAR_GP_PIN(10, 20), 1189 }; 1190 static const unsigned int scif2_clk_mux[] = { 1191 SCK2_MARK, 1192 }; 1193 /* - SCIF3 ------------------------------------------------------------------ */ 1194 static const unsigned int scif3_data_pins[] = { 1195 /* RX, TX */ 1196 RCAR_GP_PIN(10, 25), RCAR_GP_PIN(10, 24), 1197 }; 1198 static const unsigned int scif3_data_mux[] = { 1199 RX3_MARK, TX3_MARK, 1200 }; 1201 static const unsigned int scif3_clk_pins[] = { 1202 /* SCK */ 1203 RCAR_GP_PIN(10, 23), 1204 }; 1205 static const unsigned int scif3_clk_mux[] = { 1206 SCK3_MARK, 1207 }; 1208 /* - SDHI0 ------------------------------------------------------------------ */ 1209 static const unsigned int sdhi0_data1_pins[] = { 1210 /* DAT0 */ 1211 RCAR_GP_PIN(11, 7), 1212 }; 1213 static const unsigned int sdhi0_data1_mux[] = { 1214 SD0_DAT0_MARK, 1215 }; 1216 static const unsigned int sdhi0_data4_pins[] = { 1217 /* DAT[0-3] */ 1218 RCAR_GP_PIN(11, 7), RCAR_GP_PIN(11, 8), 1219 RCAR_GP_PIN(11, 9), RCAR_GP_PIN(11, 10), 1220 }; 1221 static const unsigned int sdhi0_data4_mux[] = { 1222 SD0_DAT0_MARK, SD0_DAT1_MARK, SD0_DAT2_MARK, SD0_DAT3_MARK, 1223 }; 1224 static const unsigned int sdhi0_ctrl_pins[] = { 1225 /* CLK, CMD */ 1226 RCAR_GP_PIN(11, 5), RCAR_GP_PIN(11, 6), 1227 }; 1228 static const unsigned int sdhi0_ctrl_mux[] = { 1229 SD0_CLK_MARK, SD0_CMD_MARK, 1230 }; 1231 static const unsigned int sdhi0_cd_pins[] = { 1232 /* CD */ 1233 RCAR_GP_PIN(11, 11), 1234 }; 1235 static const unsigned int sdhi0_cd_mux[] = { 1236 SD0_CD_MARK, 1237 }; 1238 static const unsigned int sdhi0_wp_pins[] = { 1239 /* WP */ 1240 RCAR_GP_PIN(11, 12), 1241 }; 1242 static const unsigned int sdhi0_wp_mux[] = { 1243 SD0_WP_MARK, 1244 }; 1245 /* - VIN0 ------------------------------------------------------------------- */ 1246 static const union vin_data vin0_data_pins = { 1247 .data24 = { 1248 /* B */ 1249 RCAR_GP_PIN(4, 4), RCAR_GP_PIN(4, 5), 1250 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 7), 1251 RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9), 1252 RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), 1253 /* G */ 1254 RCAR_GP_PIN(4, 12), RCAR_GP_PIN(4, 13), 1255 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15), 1256 RCAR_GP_PIN(8, 1), RCAR_GP_PIN(8, 2), 1257 RCAR_GP_PIN(8, 3), RCAR_GP_PIN(8, 4), 1258 /* R */ 1259 RCAR_GP_PIN(8, 5), RCAR_GP_PIN(8, 6), 1260 RCAR_GP_PIN(8, 7), RCAR_GP_PIN(8, 8), 1261 RCAR_GP_PIN(8, 9), RCAR_GP_PIN(8, 10), 1262 RCAR_GP_PIN(8, 11), RCAR_GP_PIN(8, 12), 1263 }, 1264 }; 1265 static const union vin_data vin0_data_mux = { 1266 .data24 = { 1267 /* B */ 1268 VI0_D0_B0_C0_MARK, VI0_D1_B1_C1_MARK, 1269 VI0_D2_B2_C2_MARK, VI0_D3_B3_C3_MARK, 1270 VI0_D4_B4_C4_MARK, VI0_D5_B5_C5_MARK, 1271 VI0_D6_B6_C6_MARK, VI0_D7_B7_C7_MARK, 1272 /* G */ 1273 VI0_D8_G0_Y0_MARK, VI0_D9_G1_Y1_MARK, 1274 VI0_D10_G2_Y2_MARK, VI0_D11_G3_Y3_MARK, 1275 VI0_D12_G4_Y4_MARK, VI0_D13_G5_Y5_MARK, 1276 VI0_D14_G6_Y6_MARK, VI0_D15_G7_Y7_MARK, 1277 /* R */ 1278 VI0_D16_R0_MARK, VI0_D17_R1_MARK, 1279 VI0_D18_R2_MARK, VI0_D19_R3_MARK, 1280 VI0_D20_R4_MARK, VI0_D21_R5_MARK, 1281 VI0_D22_R6_MARK, VI0_D23_R7_MARK, 1282 }, 1283 }; 1284 static const unsigned int vin0_data18_pins[] = { 1285 /* B */ 1286 RCAR_GP_PIN(4, 6), RCAR_GP_PIN(4, 7), 1287 RCAR_GP_PIN(4, 8), RCAR_GP_PIN(4, 9), 1288 RCAR_GP_PIN(4, 10), RCAR_GP_PIN(4, 11), 1289 /* G */ 1290 RCAR_GP_PIN(4, 14), RCAR_GP_PIN(4, 15), 1291 RCAR_GP_PIN(8, 1), RCAR_GP_PIN(8, 2), 1292 RCAR_GP_PIN(8, 3), RCAR_GP_PIN(8, 4), 1293 /* R */ 1294 RCAR_GP_PIN(8, 7), RCAR_GP_PIN(8, 8), 1295 RCAR_GP_PIN(8, 9), RCAR_GP_PIN(8, 10), 1296 RCAR_GP_PIN(8, 11), RCAR_GP_PIN(8, 12), 1297 }; 1298 static const unsigned int vin0_data18_mux[] = { 1299 /* B */ 1300 VI0_D2_B2_C2_MARK, VI0_D3_B3_C3_MARK, 1301 VI0_D4_B4_C4_MARK, VI0_D5_B5_C5_MARK, 1302 VI0_D6_B6_C6_MARK, VI0_D7_B7_C7_MARK, 1303 /* G */ 1304 VI0_D10_G2_Y2_MARK, VI0_D11_G3_Y3_MARK, 1305 VI0_D12_G4_Y4_MARK, VI0_D13_G5_Y5_MARK, 1306 VI0_D14_G6_Y6_MARK, VI0_D15_G7_Y7_MARK, 1307 /* R */ 1308 VI0_D18_R2_MARK, VI0_D19_R3_MARK, 1309 VI0_D20_R4_MARK, VI0_D21_R5_MARK, 1310 VI0_D22_R6_MARK, VI0_D23_R7_MARK, 1311 }; 1312 static const unsigned int vin0_sync_pins[] = { 1313 /* HSYNC#, VSYNC# */ 1314 RCAR_GP_PIN(4, 2), RCAR_GP_PIN(4, 3), 1315 }; 1316 static const unsigned int vin0_sync_mux[] = { 1317 VI0_HSYNC_N_MARK, VI0_VSYNC_N_MARK, 1318 }; 1319 static const unsigned int vin0_field_pins[] = { 1320 RCAR_GP_PIN(4, 16), 1321 }; 1322 static const unsigned int vin0_field_mux[] = { 1323 VI0_FIELD_MARK, 1324 }; 1325 static const unsigned int vin0_clkenb_pins[] = { 1326 RCAR_GP_PIN(4, 1), 1327 }; 1328 static const unsigned int vin0_clkenb_mux[] = { 1329 VI0_CLKENB_MARK, 1330 }; 1331 static const unsigned int vin0_clk_pins[] = { 1332 RCAR_GP_PIN(4, 0), 1333 }; 1334 static const unsigned int vin0_clk_mux[] = { 1335 VI0_CLK_MARK, 1336 }; 1337 /* - VIN1 ------------------------------------------------------------------- */ 1338 static const union vin_data vin1_data_pins = { 1339 .data24 = { 1340 /* B */ 1341 RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5), 1342 RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 7), 1343 RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9), 1344 RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11), 1345 /* G */ 1346 RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 13), 1347 RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 15), 1348 RCAR_GP_PIN(8, 5), RCAR_GP_PIN(8, 6), 1349 RCAR_GP_PIN(8, 7), RCAR_GP_PIN(8, 8), 1350 /* R */ 1351 RCAR_GP_PIN(9, 5), RCAR_GP_PIN(9, 6), 1352 RCAR_GP_PIN(9, 7), RCAR_GP_PIN(9, 8), 1353 RCAR_GP_PIN(9, 9), RCAR_GP_PIN(9, 10), 1354 RCAR_GP_PIN(9, 11), RCAR_GP_PIN(9, 12), 1355 }, 1356 }; 1357 static const union vin_data vin1_data_mux = { 1358 .data24 = { 1359 /* B */ 1360 VI1_D0_B0_C0_MARK, VI1_D1_B1_C1_MARK, 1361 VI1_D2_B2_C2_MARK, VI1_D3_B3_C3_MARK, 1362 VI1_D4_B4_C4_MARK, VI1_D5_B5_C5_MARK, 1363 VI1_D6_B6_C6_MARK, VI1_D7_B7_C7_MARK, 1364 /* G */ 1365 VI1_D8_G0_Y0_MARK, VI1_D9_G1_Y1_MARK, 1366 VI1_D10_G2_Y2_MARK, VI1_D11_G3_Y3_MARK, 1367 VI1_D12_G4_Y4_MARK, VI1_D13_G5_Y5_MARK, 1368 VI1_D14_G6_Y6_MARK, VI1_D15_G7_Y7_MARK, 1369 /* R */ 1370 VI1_D16_R0_MARK, VI1_D17_R1_MARK, 1371 VI1_D18_R2_MARK, VI1_D19_R3_MARK, 1372 VI1_D20_R4_MARK, VI1_D21_R5_MARK, 1373 VI1_D22_R6_MARK, VI1_D23_R7_MARK, 1374 }, 1375 }; 1376 static const unsigned int vin1_data18_pins[] = { 1377 /* B */ 1378 RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 7), 1379 RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9), 1380 RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11), 1381 /* G */ 1382 RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 15), 1383 RCAR_GP_PIN(8, 5), RCAR_GP_PIN(8, 6), 1384 RCAR_GP_PIN(8, 7), RCAR_GP_PIN(8, 8), 1385 /* R */ 1386 RCAR_GP_PIN(9, 7), RCAR_GP_PIN(9, 8), 1387 RCAR_GP_PIN(9, 9), RCAR_GP_PIN(9, 10), 1388 RCAR_GP_PIN(9, 11), RCAR_GP_PIN(9, 12), 1389 }; 1390 static const unsigned int vin1_data18_mux[] = { 1391 /* B */ 1392 VI1_D2_B2_C2_MARK, VI1_D3_B3_C3_MARK, 1393 VI1_D4_B4_C4_MARK, VI1_D5_B5_C5_MARK, 1394 VI1_D6_B6_C6_MARK, VI1_D7_B7_C7_MARK, 1395 /* G */ 1396 VI1_D10_G2_Y2_MARK, VI1_D11_G3_Y3_MARK, 1397 VI1_D12_G4_Y4_MARK, VI1_D13_G5_Y5_MARK, 1398 VI1_D14_G6_Y6_MARK, VI1_D15_G7_Y7_MARK, 1399 /* R */ 1400 VI1_D18_R2_MARK, VI1_D19_R3_MARK, 1401 VI1_D20_R4_MARK, VI1_D21_R5_MARK, 1402 VI1_D22_R6_MARK, VI1_D23_R7_MARK, 1403 }; 1404 static const union vin_data vin1_data_b_pins = { 1405 .data24 = { 1406 /* B */ 1407 RCAR_GP_PIN(5, 4), RCAR_GP_PIN(5, 5), 1408 RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 7), 1409 RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9), 1410 RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11), 1411 /* G */ 1412 RCAR_GP_PIN(5, 12), RCAR_GP_PIN(5, 13), 1413 RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 15), 1414 RCAR_GP_PIN(9, 1), RCAR_GP_PIN(9, 2), 1415 RCAR_GP_PIN(9, 3), RCAR_GP_PIN(9, 4), 1416 /* R */ 1417 RCAR_GP_PIN(9, 5), RCAR_GP_PIN(9, 6), 1418 RCAR_GP_PIN(9, 7), RCAR_GP_PIN(9, 8), 1419 RCAR_GP_PIN(9, 9), RCAR_GP_PIN(9, 10), 1420 RCAR_GP_PIN(9, 11), RCAR_GP_PIN(9, 12), 1421 }, 1422 }; 1423 static const union vin_data vin1_data_b_mux = { 1424 .data24 = { 1425 /* B */ 1426 VI1_D0_B0_C0_MARK, VI1_D1_B1_C1_MARK, 1427 VI1_D2_B2_C2_MARK, VI1_D3_B3_C3_MARK, 1428 VI1_D4_B4_C4_MARK, VI1_D5_B5_C5_MARK, 1429 VI1_D6_B6_C6_MARK, VI1_D7_B7_C7_MARK, 1430 /* G */ 1431 VI1_D8_G0_Y0_MARK, VI1_D9_G1_Y1_MARK, 1432 VI1_D10_G2_Y2_MARK, VI1_D11_G3_Y3_MARK, 1433 VI1_D12_G4_Y4_B_MARK, VI1_D13_G5_Y5_B_MARK, 1434 VI1_D14_G6_Y6_B_MARK, VI1_D15_G7_Y7_B_MARK, 1435 /* R */ 1436 VI1_D16_R0_MARK, VI1_D17_R1_MARK, 1437 VI1_D18_R2_MARK, VI1_D19_R3_MARK, 1438 VI1_D20_R4_MARK, VI1_D21_R5_MARK, 1439 VI1_D22_R6_MARK, VI1_D23_R7_MARK, 1440 }, 1441 }; 1442 static const unsigned int vin1_data18_b_pins[] = { 1443 /* B */ 1444 RCAR_GP_PIN(5, 6), RCAR_GP_PIN(5, 7), 1445 RCAR_GP_PIN(5, 8), RCAR_GP_PIN(5, 9), 1446 RCAR_GP_PIN(5, 10), RCAR_GP_PIN(5, 11), 1447 /* G */ 1448 RCAR_GP_PIN(5, 14), RCAR_GP_PIN(5, 15), 1449 RCAR_GP_PIN(9, 1), RCAR_GP_PIN(9, 2), 1450 RCAR_GP_PIN(9, 3), RCAR_GP_PIN(9, 4), 1451 /* R */ 1452 RCAR_GP_PIN(9, 7), RCAR_GP_PIN(9, 8), 1453 RCAR_GP_PIN(9, 9), RCAR_GP_PIN(9, 10), 1454 RCAR_GP_PIN(9, 11), RCAR_GP_PIN(9, 12), 1455 }; 1456 static const unsigned int vin1_data18_b_mux[] = { 1457 /* B */ 1458 VI1_D2_B2_C2_MARK, VI1_D3_B3_C3_MARK, 1459 VI1_D4_B4_C4_MARK, VI1_D5_B5_C5_MARK, 1460 VI1_D6_B6_C6_MARK, VI1_D7_B7_C7_MARK, 1461 /* G */ 1462 VI1_D10_G2_Y2_MARK, VI1_D11_G3_Y3_MARK, 1463 VI1_D12_G4_Y4_B_MARK, VI1_D13_G5_Y5_B_MARK, 1464 VI1_D14_G6_Y6_B_MARK, VI1_D15_G7_Y7_B_MARK, 1465 /* R */ 1466 VI1_D18_R2_MARK, VI1_D19_R3_MARK, 1467 VI1_D20_R4_MARK, VI1_D21_R5_MARK, 1468 VI1_D22_R6_MARK, VI1_D23_R7_MARK, 1469 }; 1470 static const unsigned int vin1_sync_pins[] = { 1471 /* HSYNC#, VSYNC# */ 1472 RCAR_GP_PIN(5, 2), RCAR_GP_PIN(5, 3), 1473 }; 1474 static const unsigned int vin1_sync_mux[] = { 1475 VI1_HSYNC_N_MARK, VI1_VSYNC_N_MARK, 1476 }; 1477 static const unsigned int vin1_field_pins[] = { 1478 RCAR_GP_PIN(5, 16), 1479 }; 1480 static const unsigned int vin1_field_mux[] = { 1481 VI1_FIELD_MARK, 1482 }; 1483 static const unsigned int vin1_clkenb_pins[] = { 1484 RCAR_GP_PIN(5, 1), 1485 }; 1486 static const unsigned int vin1_clkenb_mux[] = { 1487 VI1_CLKENB_MARK, 1488 }; 1489 static const unsigned int vin1_clk_pins[] = { 1490 RCAR_GP_PIN(5, 0), 1491 }; 1492 static const unsigned int vin1_clk_mux[] = { 1493 VI1_CLK_MARK, 1494 }; 1495 /* - VIN2 ------------------------------------------------------------------- */ 1496 static const union vin_data16 vin2_data_pins = { 1497 .data16 = { 1498 RCAR_GP_PIN(6, 4), RCAR_GP_PIN(6, 5), 1499 RCAR_GP_PIN(6, 6), RCAR_GP_PIN(6, 7), 1500 RCAR_GP_PIN(6, 8), RCAR_GP_PIN(6, 9), 1501 RCAR_GP_PIN(6, 10), RCAR_GP_PIN(6, 11), 1502 RCAR_GP_PIN(6, 12), RCAR_GP_PIN(6, 13), 1503 RCAR_GP_PIN(6, 14), RCAR_GP_PIN(6, 15), 1504 RCAR_GP_PIN(8, 9), RCAR_GP_PIN(8, 10), 1505 RCAR_GP_PIN(8, 11), RCAR_GP_PIN(8, 12), 1506 }, 1507 }; 1508 static const union vin_data16 vin2_data_mux = { 1509 .data16 = { 1510 VI2_D0_C0_MARK, VI2_D1_C1_MARK, 1511 VI2_D2_C2_MARK, VI2_D3_C3_MARK, 1512 VI2_D4_C4_MARK, VI2_D5_C5_MARK, 1513 VI2_D6_C6_MARK, VI2_D7_C7_MARK, 1514 VI2_D8_Y0_MARK, VI2_D9_Y1_MARK, 1515 VI2_D10_Y2_MARK, VI2_D11_Y3_MARK, 1516 VI2_D12_Y4_MARK, VI2_D13_Y5_MARK, 1517 VI2_D14_Y6_MARK, VI2_D15_Y7_MARK, 1518 }, 1519 }; 1520 static const unsigned int vin2_sync_pins[] = { 1521 /* HSYNC#, VSYNC# */ 1522 RCAR_GP_PIN(6, 2), RCAR_GP_PIN(6, 3), 1523 }; 1524 static const unsigned int vin2_sync_mux[] = { 1525 VI2_HSYNC_N_MARK, VI2_VSYNC_N_MARK, 1526 }; 1527 static const unsigned int vin2_field_pins[] = { 1528 RCAR_GP_PIN(6, 16), 1529 }; 1530 static const unsigned int vin2_field_mux[] = { 1531 VI2_FIELD_MARK, 1532 }; 1533 static const unsigned int vin2_clkenb_pins[] = { 1534 RCAR_GP_PIN(6, 1), 1535 }; 1536 static const unsigned int vin2_clkenb_mux[] = { 1537 VI2_CLKENB_MARK, 1538 }; 1539 static const unsigned int vin2_clk_pins[] = { 1540 RCAR_GP_PIN(6, 0), 1541 }; 1542 static const unsigned int vin2_clk_mux[] = { 1543 VI2_CLK_MARK, 1544 }; 1545 /* - VIN3 ------------------------------------------------------------------- */ 1546 static const union vin_data16 vin3_data_pins = { 1547 .data16 = { 1548 RCAR_GP_PIN(7, 4), RCAR_GP_PIN(7, 5), 1549 RCAR_GP_PIN(7, 6), RCAR_GP_PIN(7, 7), 1550 RCAR_GP_PIN(7, 8), RCAR_GP_PIN(7, 9), 1551 RCAR_GP_PIN(7, 10), RCAR_GP_PIN(7, 11), 1552 RCAR_GP_PIN(7, 12), RCAR_GP_PIN(7, 13), 1553 RCAR_GP_PIN(7, 14), RCAR_GP_PIN(7, 15), 1554 RCAR_GP_PIN(8, 13), RCAR_GP_PIN(8, 14), 1555 RCAR_GP_PIN(8, 15), RCAR_GP_PIN(8, 16), 1556 }, 1557 }; 1558 static const union vin_data16 vin3_data_mux = { 1559 .data16 = { 1560 VI3_D0_C0_MARK, VI3_D1_C1_MARK, 1561 VI3_D2_C2_MARK, VI3_D3_C3_MARK, 1562 VI3_D4_C4_MARK, VI3_D5_C5_MARK, 1563 VI3_D6_C6_MARK, VI3_D7_C7_MARK, 1564 VI3_D8_Y0_MARK, VI3_D9_Y1_MARK, 1565 VI3_D10_Y2_MARK, VI3_D11_Y3_MARK, 1566 VI3_D12_Y4_MARK, VI3_D13_Y5_MARK, 1567 VI3_D14_Y6_MARK, VI3_D15_Y7_MARK, 1568 }, 1569 }; 1570 static const unsigned int vin3_sync_pins[] = { 1571 /* HSYNC#, VSYNC# */ 1572 RCAR_GP_PIN(7, 2), RCAR_GP_PIN(7, 3), 1573 }; 1574 static const unsigned int vin3_sync_mux[] = { 1575 VI3_HSYNC_N_MARK, VI3_VSYNC_N_MARK, 1576 }; 1577 static const unsigned int vin3_field_pins[] = { 1578 RCAR_GP_PIN(7, 16), 1579 }; 1580 static const unsigned int vin3_field_mux[] = { 1581 VI3_FIELD_MARK, 1582 }; 1583 static const unsigned int vin3_clkenb_pins[] = { 1584 RCAR_GP_PIN(7, 1), 1585 }; 1586 static const unsigned int vin3_clkenb_mux[] = { 1587 VI3_CLKENB_MARK, 1588 }; 1589 static const unsigned int vin3_clk_pins[] = { 1590 RCAR_GP_PIN(7, 0), 1591 }; 1592 static const unsigned int vin3_clk_mux[] = { 1593 VI3_CLK_MARK, 1594 }; 1595 /* - VIN4 ------------------------------------------------------------------- */ 1596 static const union vin_data12 vin4_data_pins = { 1597 .data12 = { 1598 RCAR_GP_PIN(8, 4), RCAR_GP_PIN(8, 5), 1599 RCAR_GP_PIN(8, 6), RCAR_GP_PIN(8, 7), 1600 RCAR_GP_PIN(8, 8), RCAR_GP_PIN(8, 9), 1601 RCAR_GP_PIN(8, 10), RCAR_GP_PIN(8, 11), 1602 RCAR_GP_PIN(8, 12), RCAR_GP_PIN(8, 13), 1603 RCAR_GP_PIN(8, 14), RCAR_GP_PIN(8, 15), 1604 }, 1605 }; 1606 static const union vin_data12 vin4_data_mux = { 1607 .data12 = { 1608 VI4_D0_C0_MARK, VI4_D1_C1_MARK, 1609 VI4_D2_C2_MARK, VI4_D3_C3_MARK, 1610 VI4_D4_C4_MARK, VI4_D5_C5_MARK, 1611 VI4_D6_C6_MARK, VI4_D7_C7_MARK, 1612 VI4_D8_Y0_MARK, VI4_D9_Y1_MARK, 1613 VI4_D10_Y2_MARK, VI4_D11_Y3_MARK, 1614 }, 1615 }; 1616 static const unsigned int vin4_sync_pins[] = { 1617 /* HSYNC#, VSYNC# */ 1618 RCAR_GP_PIN(8, 2), RCAR_GP_PIN(8, 3), 1619 }; 1620 static const unsigned int vin4_sync_mux[] = { 1621 VI4_HSYNC_N_MARK, VI4_VSYNC_N_MARK, 1622 }; 1623 static const unsigned int vin4_field_pins[] = { 1624 RCAR_GP_PIN(8, 16), 1625 }; 1626 static const unsigned int vin4_field_mux[] = { 1627 VI4_FIELD_MARK, 1628 }; 1629 static const unsigned int vin4_clkenb_pins[] = { 1630 RCAR_GP_PIN(8, 1), 1631 }; 1632 static const unsigned int vin4_clkenb_mux[] = { 1633 VI4_CLKENB_MARK, 1634 }; 1635 static const unsigned int vin4_clk_pins[] = { 1636 RCAR_GP_PIN(8, 0), 1637 }; 1638 static const unsigned int vin4_clk_mux[] = { 1639 VI4_CLK_MARK, 1640 }; 1641 /* - VIN5 ------------------------------------------------------------------- */ 1642 static const union vin_data12 vin5_data_pins = { 1643 .data12 = { 1644 RCAR_GP_PIN(9, 4), RCAR_GP_PIN(9, 5), 1645 RCAR_GP_PIN(9, 6), RCAR_GP_PIN(9, 7), 1646 RCAR_GP_PIN(9, 8), RCAR_GP_PIN(9, 9), 1647 RCAR_GP_PIN(9, 10), RCAR_GP_PIN(9, 11), 1648 RCAR_GP_PIN(9, 12), RCAR_GP_PIN(9, 13), 1649 RCAR_GP_PIN(9, 14), RCAR_GP_PIN(9, 15), 1650 }, 1651 }; 1652 static const union vin_data12 vin5_data_mux = { 1653 .data12 = { 1654 VI5_D0_C0_MARK, VI5_D1_C1_MARK, 1655 VI5_D2_C2_MARK, VI5_D3_C3_MARK, 1656 VI5_D4_C4_MARK, VI5_D5_C5_MARK, 1657 VI5_D6_C6_MARK, VI5_D7_C7_MARK, 1658 VI5_D8_Y0_MARK, VI5_D9_Y1_MARK, 1659 VI5_D10_Y2_MARK, VI5_D11_Y3_MARK, 1660 }, 1661 }; 1662 static const unsigned int vin5_sync_pins[] = { 1663 /* HSYNC#, VSYNC# */ 1664 RCAR_GP_PIN(9, 2), RCAR_GP_PIN(9, 3), 1665 }; 1666 static const unsigned int vin5_sync_mux[] = { 1667 VI5_HSYNC_N_MARK, VI5_VSYNC_N_MARK, 1668 }; 1669 static const unsigned int vin5_field_pins[] = { 1670 RCAR_GP_PIN(9, 16), 1671 }; 1672 static const unsigned int vin5_field_mux[] = { 1673 VI5_FIELD_MARK, 1674 }; 1675 static const unsigned int vin5_clkenb_pins[] = { 1676 RCAR_GP_PIN(9, 1), 1677 }; 1678 static const unsigned int vin5_clkenb_mux[] = { 1679 VI5_CLKENB_MARK, 1680 }; 1681 static const unsigned int vin5_clk_pins[] = { 1682 RCAR_GP_PIN(9, 0), 1683 }; 1684 static const unsigned int vin5_clk_mux[] = { 1685 VI5_CLK_MARK, 1686 }; 1687 1688 static const struct sh_pfc_pin_group pinmux_groups[] = { 1689 SH_PFC_PIN_GROUP(avb_link), 1690 SH_PFC_PIN_GROUP(avb_magic), 1691 SH_PFC_PIN_GROUP(avb_phy_int), 1692 SH_PFC_PIN_GROUP(avb_mdio), 1693 SH_PFC_PIN_GROUP(avb_mii), 1694 SH_PFC_PIN_GROUP(avb_gmii), 1695 SH_PFC_PIN_GROUP(avb_avtp_match), 1696 SH_PFC_PIN_GROUP(can0_data), 1697 SH_PFC_PIN_GROUP(can1_data), 1698 SH_PFC_PIN_GROUP(can_clk), 1699 SH_PFC_PIN_GROUP(du0_rgb666), 1700 SH_PFC_PIN_GROUP(du0_rgb888), 1701 SH_PFC_PIN_GROUP(du0_sync), 1702 SH_PFC_PIN_GROUP(du0_oddf), 1703 SH_PFC_PIN_GROUP(du0_disp), 1704 SH_PFC_PIN_GROUP(du0_cde), 1705 SH_PFC_PIN_GROUP(du1_rgb666), 1706 SH_PFC_PIN_GROUP(du1_sync), 1707 SH_PFC_PIN_GROUP(du1_oddf), 1708 SH_PFC_PIN_GROUP(du1_disp), 1709 SH_PFC_PIN_GROUP(du1_cde), 1710 SH_PFC_PIN_GROUP(intc_irq0), 1711 SH_PFC_PIN_GROUP(intc_irq1), 1712 SH_PFC_PIN_GROUP(intc_irq2), 1713 SH_PFC_PIN_GROUP(intc_irq3), 1714 SH_PFC_PIN_GROUP(lbsc_cs0), 1715 SH_PFC_PIN_GROUP(lbsc_cs1), 1716 SH_PFC_PIN_GROUP(lbsc_ex_cs0), 1717 SH_PFC_PIN_GROUP(lbsc_ex_cs1), 1718 SH_PFC_PIN_GROUP(lbsc_ex_cs2), 1719 SH_PFC_PIN_GROUP(lbsc_ex_cs3), 1720 SH_PFC_PIN_GROUP(lbsc_ex_cs4), 1721 SH_PFC_PIN_GROUP(lbsc_ex_cs5), 1722 SH_PFC_PIN_GROUP(msiof0_clk), 1723 SH_PFC_PIN_GROUP(msiof0_sync), 1724 SH_PFC_PIN_GROUP(msiof0_rx), 1725 SH_PFC_PIN_GROUP(msiof0_tx), 1726 SH_PFC_PIN_GROUP(msiof1_clk), 1727 SH_PFC_PIN_GROUP(msiof1_sync), 1728 SH_PFC_PIN_GROUP(msiof1_rx), 1729 SH_PFC_PIN_GROUP(msiof1_tx), 1730 SH_PFC_PIN_GROUP(qspi_ctrl), 1731 SH_PFC_PIN_GROUP(qspi_data2), 1732 SH_PFC_PIN_GROUP(qspi_data4), 1733 SH_PFC_PIN_GROUP(scif0_data), 1734 SH_PFC_PIN_GROUP(scif0_clk), 1735 SH_PFC_PIN_GROUP(scif0_ctrl), 1736 SH_PFC_PIN_GROUP(scif1_data), 1737 SH_PFC_PIN_GROUP(scif1_clk), 1738 SH_PFC_PIN_GROUP(scif1_ctrl), 1739 SH_PFC_PIN_GROUP(scif2_data), 1740 SH_PFC_PIN_GROUP(scif2_clk), 1741 SH_PFC_PIN_GROUP(scif3_data), 1742 SH_PFC_PIN_GROUP(scif3_clk), 1743 SH_PFC_PIN_GROUP(sdhi0_data1), 1744 SH_PFC_PIN_GROUP(sdhi0_data4), 1745 SH_PFC_PIN_GROUP(sdhi0_ctrl), 1746 SH_PFC_PIN_GROUP(sdhi0_cd), 1747 SH_PFC_PIN_GROUP(sdhi0_wp), 1748 VIN_DATA_PIN_GROUP(vin0_data, 24), 1749 VIN_DATA_PIN_GROUP(vin0_data, 20), 1750 SH_PFC_PIN_GROUP(vin0_data18), 1751 VIN_DATA_PIN_GROUP(vin0_data, 16), 1752 VIN_DATA_PIN_GROUP(vin0_data, 12), 1753 VIN_DATA_PIN_GROUP(vin0_data, 10), 1754 VIN_DATA_PIN_GROUP(vin0_data, 8), 1755 SH_PFC_PIN_GROUP(vin0_sync), 1756 SH_PFC_PIN_GROUP(vin0_field), 1757 SH_PFC_PIN_GROUP(vin0_clkenb), 1758 SH_PFC_PIN_GROUP(vin0_clk), 1759 VIN_DATA_PIN_GROUP(vin1_data, 24), 1760 VIN_DATA_PIN_GROUP(vin1_data, 20), 1761 SH_PFC_PIN_GROUP(vin1_data18), 1762 VIN_DATA_PIN_GROUP(vin1_data, 16), 1763 VIN_DATA_PIN_GROUP(vin1_data, 12), 1764 VIN_DATA_PIN_GROUP(vin1_data, 10), 1765 VIN_DATA_PIN_GROUP(vin1_data, 8), 1766 VIN_DATA_PIN_GROUP(vin1_data, 24, _b), 1767 VIN_DATA_PIN_GROUP(vin1_data, 20, _b), 1768 SH_PFC_PIN_GROUP(vin1_data18_b), 1769 VIN_DATA_PIN_GROUP(vin1_data, 16, _b), 1770 SH_PFC_PIN_GROUP(vin1_sync), 1771 SH_PFC_PIN_GROUP(vin1_field), 1772 SH_PFC_PIN_GROUP(vin1_clkenb), 1773 SH_PFC_PIN_GROUP(vin1_clk), 1774 VIN_DATA_PIN_GROUP(vin2_data, 16), 1775 VIN_DATA_PIN_GROUP(vin2_data, 12), 1776 VIN_DATA_PIN_GROUP(vin2_data, 10), 1777 VIN_DATA_PIN_GROUP(vin2_data, 8), 1778 SH_PFC_PIN_GROUP(vin2_sync), 1779 SH_PFC_PIN_GROUP(vin2_field), 1780 SH_PFC_PIN_GROUP(vin2_clkenb), 1781 SH_PFC_PIN_GROUP(vin2_clk), 1782 VIN_DATA_PIN_GROUP(vin3_data, 16), 1783 VIN_DATA_PIN_GROUP(vin3_data, 12), 1784 VIN_DATA_PIN_GROUP(vin3_data, 10), 1785 VIN_DATA_PIN_GROUP(vin3_data, 8), 1786 SH_PFC_PIN_GROUP(vin3_sync), 1787 SH_PFC_PIN_GROUP(vin3_field), 1788 SH_PFC_PIN_GROUP(vin3_clkenb), 1789 SH_PFC_PIN_GROUP(vin3_clk), 1790 VIN_DATA_PIN_GROUP(vin4_data, 12), 1791 VIN_DATA_PIN_GROUP(vin4_data, 10), 1792 VIN_DATA_PIN_GROUP(vin4_data, 8), 1793 SH_PFC_PIN_GROUP(vin4_sync), 1794 SH_PFC_PIN_GROUP(vin4_field), 1795 SH_PFC_PIN_GROUP(vin4_clkenb), 1796 SH_PFC_PIN_GROUP(vin4_clk), 1797 VIN_DATA_PIN_GROUP(vin5_data, 12), 1798 VIN_DATA_PIN_GROUP(vin5_data, 10), 1799 VIN_DATA_PIN_GROUP(vin5_data, 8), 1800 SH_PFC_PIN_GROUP(vin5_sync), 1801 SH_PFC_PIN_GROUP(vin5_field), 1802 SH_PFC_PIN_GROUP(vin5_clkenb), 1803 SH_PFC_PIN_GROUP(vin5_clk), 1804 }; 1805 1806 static const char * const avb_groups[] = { 1807 "avb_link", 1808 "avb_magic", 1809 "avb_phy_int", 1810 "avb_mdio", 1811 "avb_mii", 1812 "avb_gmii", 1813 "avb_avtp_match", 1814 }; 1815 1816 static const char * const can0_groups[] = { 1817 "can0_data", 1818 "can_clk", 1819 }; 1820 1821 static const char * const can1_groups[] = { 1822 "can1_data", 1823 "can_clk", 1824 }; 1825 1826 static const char * const du0_groups[] = { 1827 "du0_rgb666", 1828 "du0_rgb888", 1829 "du0_sync", 1830 "du0_oddf", 1831 "du0_disp", 1832 "du0_cde", 1833 }; 1834 1835 static const char * const du1_groups[] = { 1836 "du1_rgb666", 1837 "du1_sync", 1838 "du1_oddf", 1839 "du1_disp", 1840 "du1_cde", 1841 }; 1842 1843 static const char * const intc_groups[] = { 1844 "intc_irq0", 1845 "intc_irq1", 1846 "intc_irq2", 1847 "intc_irq3", 1848 }; 1849 1850 static const char * const lbsc_groups[] = { 1851 "lbsc_cs0", 1852 "lbsc_cs1", 1853 "lbsc_ex_cs0", 1854 "lbsc_ex_cs1", 1855 "lbsc_ex_cs2", 1856 "lbsc_ex_cs3", 1857 "lbsc_ex_cs4", 1858 "lbsc_ex_cs5", 1859 }; 1860 1861 static const char * const msiof0_groups[] = { 1862 "msiof0_clk", 1863 "msiof0_sync", 1864 "msiof0_rx", 1865 "msiof0_tx", 1866 }; 1867 1868 static const char * const msiof1_groups[] = { 1869 "msiof1_clk", 1870 "msiof1_sync", 1871 "msiof1_rx", 1872 "msiof1_tx", 1873 }; 1874 1875 static const char * const qspi_groups[] = { 1876 "qspi_ctrl", 1877 "qspi_data2", 1878 "qspi_data4", 1879 }; 1880 1881 static const char * const scif0_groups[] = { 1882 "scif0_data", 1883 "scif0_clk", 1884 "scif0_ctrl", 1885 }; 1886 1887 static const char * const scif1_groups[] = { 1888 "scif1_data", 1889 "scif1_clk", 1890 "scif1_ctrl", 1891 }; 1892 1893 static const char * const scif2_groups[] = { 1894 "scif2_data", 1895 "scif2_clk", 1896 }; 1897 1898 static const char * const scif3_groups[] = { 1899 "scif3_data", 1900 "scif3_clk", 1901 }; 1902 1903 static const char * const sdhi0_groups[] = { 1904 "sdhi0_data1", 1905 "sdhi0_data4", 1906 "sdhi0_ctrl", 1907 "sdhi0_cd", 1908 "sdhi0_wp", 1909 }; 1910 1911 static const char * const vin0_groups[] = { 1912 "vin0_data24", 1913 "vin0_data20", 1914 "vin0_data18", 1915 "vin0_data16", 1916 "vin0_data12", 1917 "vin0_data10", 1918 "vin0_data8", 1919 "vin0_sync", 1920 "vin0_field", 1921 "vin0_clkenb", 1922 "vin0_clk", 1923 }; 1924 1925 static const char * const vin1_groups[] = { 1926 "vin1_data24", 1927 "vin1_data20", 1928 "vin1_data18", 1929 "vin1_data16", 1930 "vin1_data12", 1931 "vin1_data10", 1932 "vin1_data8", 1933 "vin1_data24_b", 1934 "vin1_data20_b", 1935 "vin1_data18_b", 1936 "vin1_data16_b", 1937 "vin1_sync", 1938 "vin1_field", 1939 "vin1_clkenb", 1940 "vin1_clk", 1941 }; 1942 1943 static const char * const vin2_groups[] = { 1944 "vin2_data16", 1945 "vin2_data12", 1946 "vin2_data10", 1947 "vin2_data8", 1948 "vin2_sync", 1949 "vin2_field", 1950 "vin2_clkenb", 1951 "vin2_clk", 1952 }; 1953 1954 static const char * const vin3_groups[] = { 1955 "vin3_data16", 1956 "vin3_data12", 1957 "vin3_data10", 1958 "vin3_data8", 1959 "vin3_sync", 1960 "vin3_field", 1961 "vin3_clkenb", 1962 "vin3_clk", 1963 }; 1964 1965 static const char * const vin4_groups[] = { 1966 "vin4_data12", 1967 "vin4_data10", 1968 "vin4_data8", 1969 "vin4_sync", 1970 "vin4_field", 1971 "vin4_clkenb", 1972 "vin4_clk", 1973 }; 1974 1975 static const char * const vin5_groups[] = { 1976 "vin5_data12", 1977 "vin5_data10", 1978 "vin5_data8", 1979 "vin5_sync", 1980 "vin5_field", 1981 "vin5_clkenb", 1982 "vin5_clk", 1983 }; 1984 1985 static const struct sh_pfc_function pinmux_functions[] = { 1986 SH_PFC_FUNCTION(avb), 1987 SH_PFC_FUNCTION(can0), 1988 SH_PFC_FUNCTION(can1), 1989 SH_PFC_FUNCTION(du0), 1990 SH_PFC_FUNCTION(du1), 1991 SH_PFC_FUNCTION(intc), 1992 SH_PFC_FUNCTION(lbsc), 1993 SH_PFC_FUNCTION(msiof0), 1994 SH_PFC_FUNCTION(msiof1), 1995 SH_PFC_FUNCTION(qspi), 1996 SH_PFC_FUNCTION(scif0), 1997 SH_PFC_FUNCTION(scif1), 1998 SH_PFC_FUNCTION(scif2), 1999 SH_PFC_FUNCTION(scif3), 2000 SH_PFC_FUNCTION(sdhi0), 2001 SH_PFC_FUNCTION(vin0), 2002 SH_PFC_FUNCTION(vin1), 2003 SH_PFC_FUNCTION(vin2), 2004 SH_PFC_FUNCTION(vin3), 2005 SH_PFC_FUNCTION(vin4), 2006 SH_PFC_FUNCTION(vin5), 2007 }; 2008 2009 static const struct pinmux_cfg_reg pinmux_config_regs[] = { 2010 { PINMUX_CFG_REG("GPSR0", 0xE6060004, 32, 1, GROUP( 2011 0, 0, 2012 0, 0, 2013 0, 0, 2014 GP_0_28_FN, FN_IP1_4, 2015 GP_0_27_FN, FN_IP1_3, 2016 GP_0_26_FN, FN_IP1_2, 2017 GP_0_25_FN, FN_IP1_1, 2018 GP_0_24_FN, FN_IP1_0, 2019 GP_0_23_FN, FN_IP0_23, 2020 GP_0_22_FN, FN_IP0_22, 2021 GP_0_21_FN, FN_IP0_21, 2022 GP_0_20_FN, FN_IP0_20, 2023 GP_0_19_FN, FN_IP0_19, 2024 GP_0_18_FN, FN_IP0_18, 2025 GP_0_17_FN, FN_IP0_17, 2026 GP_0_16_FN, FN_IP0_16, 2027 GP_0_15_FN, FN_IP0_15, 2028 GP_0_14_FN, FN_IP0_14, 2029 GP_0_13_FN, FN_IP0_13, 2030 GP_0_12_FN, FN_IP0_12, 2031 GP_0_11_FN, FN_IP0_11, 2032 GP_0_10_FN, FN_IP0_10, 2033 GP_0_9_FN, FN_IP0_9, 2034 GP_0_8_FN, FN_IP0_8, 2035 GP_0_7_FN, FN_IP0_7, 2036 GP_0_6_FN, FN_IP0_6, 2037 GP_0_5_FN, FN_IP0_5, 2038 GP_0_4_FN, FN_IP0_4, 2039 GP_0_3_FN, FN_IP0_3, 2040 GP_0_2_FN, FN_IP0_2, 2041 GP_0_1_FN, FN_IP0_1, 2042 GP_0_0_FN, FN_IP0_0 )) 2043 }, 2044 { PINMUX_CFG_REG("GPSR1", 0xE6060008, 32, 1, GROUP( 2045 0, 0, 2046 0, 0, 2047 0, 0, 2048 0, 0, 2049 0, 0, 2050 0, 0, 2051 0, 0, 2052 0, 0, 2053 0, 0, 2054 GP_1_22_FN, FN_DU1_CDE, 2055 GP_1_21_FN, FN_DU1_DISP, 2056 GP_1_20_FN, FN_DU1_EXODDF_DU1_ODDF_DISP_CDE, 2057 GP_1_19_FN, FN_DU1_EXVSYNC_DU1_VSYNC, 2058 GP_1_18_FN, FN_DU1_EXHSYNC_DU1_HSYNC, 2059 GP_1_17_FN, FN_DU1_DB7_C5, 2060 GP_1_16_FN, FN_DU1_DB6_C4, 2061 GP_1_15_FN, FN_DU1_DB5_C3_DATA15, 2062 GP_1_14_FN, FN_DU1_DB4_C2_DATA14, 2063 GP_1_13_FN, FN_DU1_DB3_C1_DATA13, 2064 GP_1_12_FN, FN_DU1_DB2_C0_DATA12, 2065 GP_1_11_FN, FN_IP1_16, 2066 GP_1_10_FN, FN_IP1_15, 2067 GP_1_9_FN, FN_IP1_14, 2068 GP_1_8_FN, FN_IP1_13, 2069 GP_1_7_FN, FN_IP1_12, 2070 GP_1_6_FN, FN_IP1_11, 2071 GP_1_5_FN, FN_IP1_10, 2072 GP_1_4_FN, FN_IP1_9, 2073 GP_1_3_FN, FN_IP1_8, 2074 GP_1_2_FN, FN_IP1_7, 2075 GP_1_1_FN, FN_IP1_6, 2076 GP_1_0_FN, FN_IP1_5, )) 2077 }, 2078 { PINMUX_CFG_REG("GPSR2", 0xE606000C, 32, 1, GROUP( 2079 GP_2_31_FN, FN_A15, 2080 GP_2_30_FN, FN_A14, 2081 GP_2_29_FN, FN_A13, 2082 GP_2_28_FN, FN_A12, 2083 GP_2_27_FN, FN_A11, 2084 GP_2_26_FN, FN_A10, 2085 GP_2_25_FN, FN_A9, 2086 GP_2_24_FN, FN_A8, 2087 GP_2_23_FN, FN_A7, 2088 GP_2_22_FN, FN_A6, 2089 GP_2_21_FN, FN_A5, 2090 GP_2_20_FN, FN_A4, 2091 GP_2_19_FN, FN_A3, 2092 GP_2_18_FN, FN_A2, 2093 GP_2_17_FN, FN_A1, 2094 GP_2_16_FN, FN_A0, 2095 GP_2_15_FN, FN_D15, 2096 GP_2_14_FN, FN_D14, 2097 GP_2_13_FN, FN_D13, 2098 GP_2_12_FN, FN_D12, 2099 GP_2_11_FN, FN_D11, 2100 GP_2_10_FN, FN_D10, 2101 GP_2_9_FN, FN_D9, 2102 GP_2_8_FN, FN_D8, 2103 GP_2_7_FN, FN_D7, 2104 GP_2_6_FN, FN_D6, 2105 GP_2_5_FN, FN_D5, 2106 GP_2_4_FN, FN_D4, 2107 GP_2_3_FN, FN_D3, 2108 GP_2_2_FN, FN_D2, 2109 GP_2_1_FN, FN_D1, 2110 GP_2_0_FN, FN_D0 )) 2111 }, 2112 { PINMUX_CFG_REG("GPSR3", 0xE6060010, 32, 1, GROUP( 2113 0, 0, 2114 0, 0, 2115 0, 0, 2116 0, 0, 2117 GP_3_27_FN, FN_CS0_N, 2118 GP_3_26_FN, FN_IP1_22, 2119 GP_3_25_FN, FN_IP1_21, 2120 GP_3_24_FN, FN_IP1_20, 2121 GP_3_23_FN, FN_IP1_19, 2122 GP_3_22_FN, FN_IRQ3, 2123 GP_3_21_FN, FN_IRQ2, 2124 GP_3_20_FN, FN_IRQ1, 2125 GP_3_19_FN, FN_IRQ0, 2126 GP_3_18_FN, FN_EX_WAIT0, 2127 GP_3_17_FN, FN_WE1_N, 2128 GP_3_16_FN, FN_WE0_N, 2129 GP_3_15_FN, FN_RD_WR_N, 2130 GP_3_14_FN, FN_RD_N, 2131 GP_3_13_FN, FN_BS_N, 2132 GP_3_12_FN, FN_EX_CS5_N, 2133 GP_3_11_FN, FN_EX_CS4_N, 2134 GP_3_10_FN, FN_EX_CS3_N, 2135 GP_3_9_FN, FN_EX_CS2_N, 2136 GP_3_8_FN, FN_EX_CS1_N, 2137 GP_3_7_FN, FN_EX_CS0_N, 2138 GP_3_6_FN, FN_CS1_N_A26, 2139 GP_3_5_FN, FN_IP1_18, 2140 GP_3_4_FN, FN_IP1_17, 2141 GP_3_3_FN, FN_A19, 2142 GP_3_2_FN, FN_A18, 2143 GP_3_1_FN, FN_A17, 2144 GP_3_0_FN, FN_A16 )) 2145 }, 2146 { PINMUX_CFG_REG("GPSR4", 0xE6060014, 32, 1, GROUP( 2147 0, 0, 2148 0, 0, 2149 0, 0, 2150 0, 0, 2151 0, 0, 2152 0, 0, 2153 0, 0, 2154 0, 0, 2155 0, 0, 2156 0, 0, 2157 0, 0, 2158 0, 0, 2159 0, 0, 2160 0, 0, 2161 0, 0, 2162 GP_4_16_FN, FN_VI0_FIELD, 2163 GP_4_15_FN, FN_VI0_D11_G3_Y3, 2164 GP_4_14_FN, FN_VI0_D10_G2_Y2, 2165 GP_4_13_FN, FN_VI0_D9_G1_Y1, 2166 GP_4_12_FN, FN_VI0_D8_G0_Y0, 2167 GP_4_11_FN, FN_VI0_D7_B7_C7, 2168 GP_4_10_FN, FN_VI0_D6_B6_C6, 2169 GP_4_9_FN, FN_VI0_D5_B5_C5, 2170 GP_4_8_FN, FN_VI0_D4_B4_C4, 2171 GP_4_7_FN, FN_VI0_D3_B3_C3, 2172 GP_4_6_FN, FN_VI0_D2_B2_C2, 2173 GP_4_5_FN, FN_VI0_D1_B1_C1, 2174 GP_4_4_FN, FN_VI0_D0_B0_C0, 2175 GP_4_3_FN, FN_VI0_VSYNC_N, 2176 GP_4_2_FN, FN_VI0_HSYNC_N, 2177 GP_4_1_FN, FN_VI0_CLKENB, 2178 GP_4_0_FN, FN_VI0_CLK )) 2179 }, 2180 { PINMUX_CFG_REG("GPSR5", 0xE6060018, 32, 1, GROUP( 2181 0, 0, 2182 0, 0, 2183 0, 0, 2184 0, 0, 2185 0, 0, 2186 0, 0, 2187 0, 0, 2188 0, 0, 2189 0, 0, 2190 0, 0, 2191 0, 0, 2192 0, 0, 2193 0, 0, 2194 0, 0, 2195 0, 0, 2196 GP_5_16_FN, FN_VI1_FIELD, 2197 GP_5_15_FN, FN_VI1_D11_G3_Y3, 2198 GP_5_14_FN, FN_VI1_D10_G2_Y2, 2199 GP_5_13_FN, FN_VI1_D9_G1_Y1, 2200 GP_5_12_FN, FN_VI1_D8_G0_Y0, 2201 GP_5_11_FN, FN_VI1_D7_B7_C7, 2202 GP_5_10_FN, FN_VI1_D6_B6_C6, 2203 GP_5_9_FN, FN_VI1_D5_B5_C5, 2204 GP_5_8_FN, FN_VI1_D4_B4_C4, 2205 GP_5_7_FN, FN_VI1_D3_B3_C3, 2206 GP_5_6_FN, FN_VI1_D2_B2_C2, 2207 GP_5_5_FN, FN_VI1_D1_B1_C1, 2208 GP_5_4_FN, FN_VI1_D0_B0_C0, 2209 GP_5_3_FN, FN_VI1_VSYNC_N, 2210 GP_5_2_FN, FN_VI1_HSYNC_N, 2211 GP_5_1_FN, FN_VI1_CLKENB, 2212 GP_5_0_FN, FN_VI1_CLK )) 2213 }, 2214 { PINMUX_CFG_REG("GPSR6", 0xE606001C, 32, 1, GROUP( 2215 0, 0, 2216 0, 0, 2217 0, 0, 2218 0, 0, 2219 0, 0, 2220 0, 0, 2221 0, 0, 2222 0, 0, 2223 0, 0, 2224 0, 0, 2225 0, 0, 2226 0, 0, 2227 0, 0, 2228 0, 0, 2229 0, 0, 2230 GP_6_16_FN, FN_IP2_16, 2231 GP_6_15_FN, FN_IP2_15, 2232 GP_6_14_FN, FN_IP2_14, 2233 GP_6_13_FN, FN_IP2_13, 2234 GP_6_12_FN, FN_IP2_12, 2235 GP_6_11_FN, FN_IP2_11, 2236 GP_6_10_FN, FN_IP2_10, 2237 GP_6_9_FN, FN_IP2_9, 2238 GP_6_8_FN, FN_IP2_8, 2239 GP_6_7_FN, FN_IP2_7, 2240 GP_6_6_FN, FN_IP2_6, 2241 GP_6_5_FN, FN_IP2_5, 2242 GP_6_4_FN, FN_IP2_4, 2243 GP_6_3_FN, FN_IP2_3, 2244 GP_6_2_FN, FN_IP2_2, 2245 GP_6_1_FN, FN_IP2_1, 2246 GP_6_0_FN, FN_IP2_0 )) 2247 }, 2248 { PINMUX_CFG_REG("GPSR7", 0xE6060020, 32, 1, GROUP( 2249 0, 0, 2250 0, 0, 2251 0, 0, 2252 0, 0, 2253 0, 0, 2254 0, 0, 2255 0, 0, 2256 0, 0, 2257 0, 0, 2258 0, 0, 2259 0, 0, 2260 0, 0, 2261 0, 0, 2262 0, 0, 2263 0, 0, 2264 GP_7_16_FN, FN_VI3_FIELD, 2265 GP_7_15_FN, FN_IP3_14, 2266 GP_7_14_FN, FN_VI3_D10_Y2, 2267 GP_7_13_FN, FN_IP3_13, 2268 GP_7_12_FN, FN_IP3_12, 2269 GP_7_11_FN, FN_IP3_11, 2270 GP_7_10_FN, FN_IP3_10, 2271 GP_7_9_FN, FN_IP3_9, 2272 GP_7_8_FN, FN_IP3_8, 2273 GP_7_7_FN, FN_IP3_7, 2274 GP_7_6_FN, FN_IP3_6, 2275 GP_7_5_FN, FN_IP3_5, 2276 GP_7_4_FN, FN_IP3_4, 2277 GP_7_3_FN, FN_IP3_3, 2278 GP_7_2_FN, FN_IP3_2, 2279 GP_7_1_FN, FN_IP3_1, 2280 GP_7_0_FN, FN_IP3_0 )) 2281 }, 2282 { PINMUX_CFG_REG("GPSR8", 0xE6060024, 32, 1, GROUP( 2283 0, 0, 2284 0, 0, 2285 0, 0, 2286 0, 0, 2287 0, 0, 2288 0, 0, 2289 0, 0, 2290 0, 0, 2291 0, 0, 2292 0, 0, 2293 0, 0, 2294 0, 0, 2295 0, 0, 2296 0, 0, 2297 0, 0, 2298 GP_8_16_FN, FN_IP4_24, 2299 GP_8_15_FN, FN_IP4_23, 2300 GP_8_14_FN, FN_IP4_22, 2301 GP_8_13_FN, FN_IP4_21, 2302 GP_8_12_FN, FN_IP4_20_19, 2303 GP_8_11_FN, FN_IP4_18_17, 2304 GP_8_10_FN, FN_IP4_16_15, 2305 GP_8_9_FN, FN_IP4_14_13, 2306 GP_8_8_FN, FN_IP4_12_11, 2307 GP_8_7_FN, FN_IP4_10_9, 2308 GP_8_6_FN, FN_IP4_8_7, 2309 GP_8_5_FN, FN_IP4_6_5, 2310 GP_8_4_FN, FN_IP4_4, 2311 GP_8_3_FN, FN_IP4_3_2, 2312 GP_8_2_FN, FN_IP4_1, 2313 GP_8_1_FN, FN_IP4_0, 2314 GP_8_0_FN, FN_VI4_CLK )) 2315 }, 2316 { PINMUX_CFG_REG("GPSR9", 0xE6060028, 32, 1, GROUP( 2317 0, 0, 2318 0, 0, 2319 0, 0, 2320 0, 0, 2321 0, 0, 2322 0, 0, 2323 0, 0, 2324 0, 0, 2325 0, 0, 2326 0, 0, 2327 0, 0, 2328 0, 0, 2329 0, 0, 2330 0, 0, 2331 0, 0, 2332 GP_9_16_FN, FN_VI5_FIELD, 2333 GP_9_15_FN, FN_VI5_D11_Y3, 2334 GP_9_14_FN, FN_VI5_D10_Y2, 2335 GP_9_13_FN, FN_VI5_D9_Y1, 2336 GP_9_12_FN, FN_IP5_11, 2337 GP_9_11_FN, FN_IP5_10, 2338 GP_9_10_FN, FN_IP5_9, 2339 GP_9_9_FN, FN_IP5_8, 2340 GP_9_8_FN, FN_IP5_7, 2341 GP_9_7_FN, FN_IP5_6, 2342 GP_9_6_FN, FN_IP5_5, 2343 GP_9_5_FN, FN_IP5_4, 2344 GP_9_4_FN, FN_IP5_3, 2345 GP_9_3_FN, FN_IP5_2, 2346 GP_9_2_FN, FN_IP5_1, 2347 GP_9_1_FN, FN_IP5_0, 2348 GP_9_0_FN, FN_VI5_CLK )) 2349 }, 2350 { PINMUX_CFG_REG("GPSR10", 0xE606002C, 32, 1, GROUP( 2351 GP_10_31_FN, FN_CAN1_RX, 2352 GP_10_30_FN, FN_CAN1_TX, 2353 GP_10_29_FN, FN_CAN_CLK, 2354 GP_10_28_FN, FN_CAN0_RX, 2355 GP_10_27_FN, FN_CAN0_TX, 2356 GP_10_26_FN, FN_SCIF_CLK, 2357 GP_10_25_FN, FN_IP6_18_17, 2358 GP_10_24_FN, FN_IP6_16, 2359 GP_10_23_FN, FN_IP6_15_14, 2360 GP_10_22_FN, FN_IP6_13_12, 2361 GP_10_21_FN, FN_IP6_11_10, 2362 GP_10_20_FN, FN_IP6_9_8, 2363 GP_10_19_FN, FN_RX1, 2364 GP_10_18_FN, FN_TX1, 2365 GP_10_17_FN, FN_RTS1_N, 2366 GP_10_16_FN, FN_CTS1_N, 2367 GP_10_15_FN, FN_SCK1, 2368 GP_10_14_FN, FN_RX0, 2369 GP_10_13_FN, FN_TX0, 2370 GP_10_12_FN, FN_RTS0_N, 2371 GP_10_11_FN, FN_CTS0_N, 2372 GP_10_10_FN, FN_SCK0, 2373 GP_10_9_FN, FN_IP6_7, 2374 GP_10_8_FN, FN_IP6_6, 2375 GP_10_7_FN, FN_HCTS1_N, 2376 GP_10_6_FN, FN_IP6_5, 2377 GP_10_5_FN, FN_IP6_4, 2378 GP_10_4_FN, FN_IP6_3, 2379 GP_10_3_FN, FN_IP6_2, 2380 GP_10_2_FN, FN_HRTS0_N, 2381 GP_10_1_FN, FN_IP6_1, 2382 GP_10_0_FN, FN_IP6_0 )) 2383 }, 2384 { PINMUX_CFG_REG("GPSR11", 0xE6060030, 32, 1, GROUP( 2385 0, 0, 2386 0, 0, 2387 GP_11_29_FN, FN_AVS2, 2388 GP_11_28_FN, FN_AVS1, 2389 GP_11_27_FN, FN_ADICHS2, 2390 GP_11_26_FN, FN_ADICHS1, 2391 GP_11_25_FN, FN_ADICHS0, 2392 GP_11_24_FN, FN_ADIDATA, 2393 GP_11_23_FN, FN_ADICS_SAMP, 2394 GP_11_22_FN, FN_ADICLK, 2395 GP_11_21_FN, FN_IP7_20, 2396 GP_11_20_FN, FN_IP7_19, 2397 GP_11_19_FN, FN_IP7_18, 2398 GP_11_18_FN, FN_IP7_17, 2399 GP_11_17_FN, FN_IP7_16, 2400 GP_11_16_FN, FN_IP7_15_14, 2401 GP_11_15_FN, FN_IP7_13_12, 2402 GP_11_14_FN, FN_IP7_11_10, 2403 GP_11_13_FN, FN_IP7_9_8, 2404 GP_11_12_FN, FN_SD0_WP, 2405 GP_11_11_FN, FN_SD0_CD, 2406 GP_11_10_FN, FN_SD0_DAT3, 2407 GP_11_9_FN, FN_SD0_DAT2, 2408 GP_11_8_FN, FN_SD0_DAT1, 2409 GP_11_7_FN, FN_SD0_DAT0, 2410 GP_11_6_FN, FN_SD0_CMD, 2411 GP_11_5_FN, FN_SD0_CLK, 2412 GP_11_4_FN, FN_IP7_7, 2413 GP_11_3_FN, FN_IP7_6, 2414 GP_11_2_FN, FN_IP7_5_4, 2415 GP_11_1_FN, FN_IP7_3_2, 2416 GP_11_0_FN, FN_IP7_1_0 )) 2417 }, 2418 { PINMUX_CFG_REG_VAR("IPSR0", 0xE6060040, 32, 2419 GROUP(4, 4, 2420 1, 1, 1, 1, 1, 1, 1, 1, 2421 1, 1, 1, 1, 1, 1, 1, 1, 2422 1, 1, 1, 1, 1, 1, 1, 1), 2423 GROUP( 2424 /* IP0_31_28 [4] */ 2425 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2426 /* IP0_27_24 [4] */ 2427 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2428 /* IP0_23 [1] */ 2429 FN_DU0_DB7_C5, 0, 2430 /* IP0_22 [1] */ 2431 FN_DU0_DB6_C4, 0, 2432 /* IP0_21 [1] */ 2433 FN_DU0_DB5_C3, 0, 2434 /* IP0_20 [1] */ 2435 FN_DU0_DB4_C2, 0, 2436 /* IP0_19 [1] */ 2437 FN_DU0_DB3_C1, 0, 2438 /* IP0_18 [1] */ 2439 FN_DU0_DB2_C0, 0, 2440 /* IP0_17 [1] */ 2441 FN_DU0_DB1, 0, 2442 /* IP0_16 [1] */ 2443 FN_DU0_DB0, 0, 2444 /* IP0_15 [1] */ 2445 FN_DU0_DG7_Y3_DATA15, 0, 2446 /* IP0_14 [1] */ 2447 FN_DU0_DG6_Y2_DATA14, 0, 2448 /* IP0_13 [1] */ 2449 FN_DU0_DG5_Y1_DATA13, 0, 2450 /* IP0_12 [1] */ 2451 FN_DU0_DG4_Y0_DATA12, 0, 2452 /* IP0_11 [1] */ 2453 FN_DU0_DG3_C7_DATA11, 0, 2454 /* IP0_10 [1] */ 2455 FN_DU0_DG2_C6_DATA10, 0, 2456 /* IP0_9 [1] */ 2457 FN_DU0_DG1_DATA9, 0, 2458 /* IP0_8 [1] */ 2459 FN_DU0_DG0_DATA8, 0, 2460 /* IP0_7 [1] */ 2461 FN_DU0_DR7_Y9_DATA7, 0, 2462 /* IP0_6 [1] */ 2463 FN_DU0_DR6_Y8_DATA6, 0, 2464 /* IP0_5 [1] */ 2465 FN_DU0_DR5_Y7_DATA5, 0, 2466 /* IP0_4 [1] */ 2467 FN_DU0_DR4_Y6_DATA4, 0, 2468 /* IP0_3 [1] */ 2469 FN_DU0_DR3_Y5_DATA3, 0, 2470 /* IP0_2 [1] */ 2471 FN_DU0_DR2_Y4_DATA2, 0, 2472 /* IP0_1 [1] */ 2473 FN_DU0_DR1_DATA1, 0, 2474 /* IP0_0 [1] */ 2475 FN_DU0_DR0_DATA0, 0 )) 2476 }, 2477 { PINMUX_CFG_REG_VAR("IPSR1", 0xE6060044, 32, 2478 GROUP(4, 4, 2479 1, 1, 1, 1, 1, 1, 1, 1, 2480 1, 1, 1, 1, 1, 1, 1, 1, 2481 1, 1, 1, 1, 1, 1, 1, 1), 2482 GROUP( 2483 /* IP1_31_28 [4] */ 2484 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2485 /* IP1_27_24 [4] */ 2486 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2487 /* IP1_23 [1] */ 2488 0, 0, 2489 /* IP1_22 [1] */ 2490 FN_A25, FN_SSL, 2491 /* IP1_21 [1] */ 2492 FN_A24, FN_SPCLK, 2493 /* IP1_20 [1] */ 2494 FN_A23, FN_IO3, 2495 /* IP1_19 [1] */ 2496 FN_A22, FN_IO2, 2497 /* IP1_18 [1] */ 2498 FN_A21, FN_MISO_IO1, 2499 /* IP1_17 [1] */ 2500 FN_A20, FN_MOSI_IO0, 2501 /* IP1_16 [1] */ 2502 FN_DU1_DG7_Y3_DATA11, 0, 2503 /* IP1_15 [1] */ 2504 FN_DU1_DG6_Y2_DATA10, 0, 2505 /* IP1_14 [1] */ 2506 FN_DU1_DG5_Y1_DATA9, 0, 2507 /* IP1_13 [1] */ 2508 FN_DU1_DG4_Y0_DATA8, 0, 2509 /* IP1_12 [1] */ 2510 FN_DU1_DG3_C7_DATA7, 0, 2511 /* IP1_11 [1] */ 2512 FN_DU1_DG2_C6_DATA6, 0, 2513 /* IP1_10 [1] */ 2514 FN_DU1_DR7_DATA5, 0, 2515 /* IP1_9 [1] */ 2516 FN_DU1_DR6_DATA4, 0, 2517 /* IP1_8 [1] */ 2518 FN_DU1_DR5_Y7_DATA3, 0, 2519 /* IP1_7 [1] */ 2520 FN_DU1_DR4_Y6_DATA2, 0, 2521 /* IP1_6 [1] */ 2522 FN_DU1_DR3_Y5_DATA1, 0, 2523 /* IP1_5 [1] */ 2524 FN_DU1_DR2_Y4_DATA0, 0, 2525 /* IP1_4 [1] */ 2526 FN_DU0_CDE, 0, 2527 /* IP1_3 [1] */ 2528 FN_DU0_DISP, 0, 2529 /* IP1_2 [1] */ 2530 FN_DU0_EXODDF_DU0_ODDF_DISP_CDE, 0, 2531 /* IP1_1 [1] */ 2532 FN_DU0_EXVSYNC_DU0_VSYNC, 0, 2533 /* IP1_0 [1] */ 2534 FN_DU0_EXHSYNC_DU0_HSYNC, 0 )) 2535 }, 2536 { PINMUX_CFG_REG_VAR("IPSR2", 0xE6060048, 32, 2537 GROUP(4, 4, 2538 4, 3, 1, 2539 1, 1, 1, 1, 1, 1, 1, 1, 2540 1, 1, 1, 1, 1, 1, 1, 1), 2541 GROUP( 2542 /* IP2_31_28 [4] */ 2543 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2544 /* IP2_27_24 [4] */ 2545 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2546 /* IP2_23_20 [4] */ 2547 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2548 /* IP2_19_17 [3] */ 2549 0, 0, 0, 0, 0, 0, 0, 0, 2550 /* IP2_16 [1] */ 2551 FN_VI2_FIELD, FN_AVB_TXD2, 2552 /* IP2_15 [1] */ 2553 FN_VI2_D11_Y3, FN_AVB_TXD1, 2554 /* IP2_14 [1] */ 2555 FN_VI2_D10_Y2, FN_AVB_TXD0, 2556 /* IP2_13 [1] */ 2557 FN_VI2_D9_Y1, FN_AVB_TX_EN, 2558 /* IP2_12 [1] */ 2559 FN_VI2_D8_Y0, FN_AVB_TXD3, 2560 /* IP2_11 [1] */ 2561 FN_VI2_D7_C7, FN_AVB_COL, 2562 /* IP2_10 [1] */ 2563 FN_VI2_D6_C6, FN_AVB_RX_ER, 2564 /* IP2_9 [1] */ 2565 FN_VI2_D5_C5, FN_AVB_RXD7, 2566 /* IP2_8 [1] */ 2567 FN_VI2_D4_C4, FN_AVB_RXD6, 2568 /* IP2_7 [1] */ 2569 FN_VI2_D3_C3, FN_AVB_RXD5, 2570 /* IP2_6 [1] */ 2571 FN_VI2_D2_C2, FN_AVB_RXD4, 2572 /* IP2_5 [1] */ 2573 FN_VI2_D1_C1, FN_AVB_RXD3, 2574 /* IP2_4 [1] */ 2575 FN_VI2_D0_C0, FN_AVB_RXD2, 2576 /* IP2_3 [1] */ 2577 FN_VI2_VSYNC_N, FN_AVB_RXD1, 2578 /* IP2_2 [1] */ 2579 FN_VI2_HSYNC_N, FN_AVB_RXD0, 2580 /* IP2_1 [1] */ 2581 FN_VI2_CLKENB, FN_AVB_RX_DV, 2582 /* IP2_0 [1] */ 2583 FN_VI2_CLK, FN_AVB_RX_CLK )) 2584 }, 2585 { PINMUX_CFG_REG_VAR("IPSR3", 0xE606004C, 32, 2586 GROUP(4, 4, 2587 4, 4, 2588 1, 1, 1, 1, 1, 1, 1, 1, 2589 1, 1, 1, 1, 1, 1, 1, 1), 2590 GROUP( 2591 /* IP3_31_28 [4] */ 2592 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2593 /* IP3_27_24 [4] */ 2594 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2595 /* IP3_23_20 [4] */ 2596 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2597 /* IP3_19_16 [4] */ 2598 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2599 /* IP3_15 [1] */ 2600 0, 0, 2601 /* IP3_14 [1] */ 2602 FN_VI3_D11_Y3, FN_AVB_AVTP_MATCH, 2603 /* IP3_13 [1] */ 2604 FN_VI3_D9_Y1, FN_AVB_GTXREFCLK, 2605 /* IP3_12 [1] */ 2606 FN_VI3_D8_Y0, FN_AVB_CRS, 2607 /* IP3_11 [1] */ 2608 FN_VI3_D7_C7, FN_AVB_PHY_INT, 2609 /* IP3_10 [1] */ 2610 FN_VI3_D6_C6, FN_AVB_MAGIC, 2611 /* IP3_9 [1] */ 2612 FN_VI3_D5_C5, FN_AVB_LINK, 2613 /* IP3_8 [1] */ 2614 FN_VI3_D4_C4, FN_AVB_MDIO, 2615 /* IP3_7 [1] */ 2616 FN_VI3_D3_C3, FN_AVB_MDC, 2617 /* IP3_6 [1] */ 2618 FN_VI3_D2_C2, FN_AVB_GTX_CLK, 2619 /* IP3_5 [1] */ 2620 FN_VI3_D1_C1, FN_AVB_TX_ER, 2621 /* IP3_4 [1] */ 2622 FN_VI3_D0_C0, FN_AVB_TXD7, 2623 /* IP3_3 [1] */ 2624 FN_VI3_VSYNC_N, FN_AVB_TXD6, 2625 /* IP3_2 [1] */ 2626 FN_VI3_HSYNC_N, FN_AVB_TXD5, 2627 /* IP3_1 [1] */ 2628 FN_VI3_CLKENB, FN_AVB_TXD4, 2629 /* IP3_0 [1] */ 2630 FN_VI3_CLK, FN_AVB_TX_CLK )) 2631 }, 2632 { PINMUX_CFG_REG_VAR("IPSR4", 0xE6060050, 32, 2633 GROUP(4, 3, 1, 2634 1, 1, 1, 2, 2, 2, 2635 2, 2, 2, 2, 2, 1, 2, 1, 1), 2636 GROUP( 2637 /* IP4_31_28 [4] */ 2638 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2639 /* IP4_27_25 [3] */ 2640 0, 0, 0, 0, 0, 0, 0, 0, 2641 /* IP4_24 [1] */ 2642 FN_VI4_FIELD, FN_VI3_D15_Y7, 2643 /* IP4_23 [1] */ 2644 FN_VI4_D11_Y3, FN_VI3_D14_Y6, 2645 /* IP4_22 [1] */ 2646 FN_VI4_D10_Y2, FN_VI3_D13_Y5, 2647 /* IP4_21 [1] */ 2648 FN_VI4_D9_Y1, FN_VI3_D12_Y4, 2649 /* IP4_20_19 [2] */ 2650 FN_VI4_D8_Y0, FN_VI0_D23_R7, FN_VI2_D15_Y7, 0, 2651 /* IP4_18_17 [2] */ 2652 FN_VI4_D7_C7, FN_VI0_D22_R6, FN_VI2_D14_Y6, 0, 2653 /* IP4_16_15 [2] */ 2654 FN_VI4_D6_C6, FN_VI0_D21_R5, FN_VI2_D13_Y5, 0, 2655 /* IP4_14_13 [2] */ 2656 FN_VI4_D5_C5, FN_VI0_D20_R4, FN_VI2_D12_Y4, 0, 2657 /* IP4_12_11 [2] */ 2658 FN_VI4_D4_C4, FN_VI0_D19_R3, FN_VI1_D15_G7_Y7, 0, 2659 /* IP4_10_9 [2] */ 2660 FN_VI4_D3_C3, FN_VI0_D18_R2, FN_VI1_D14_G6_Y6, 0, 2661 /* IP4_8_7 [2] */ 2662 FN_VI4_D2_C2, 0, FN_VI0_D17_R1, FN_VI1_D13_G5_Y5, 2663 /* IP4_6_5 [2] */ 2664 FN_VI4_D1_C1, FN_VI0_D16_R0, FN_VI1_D12_G4_Y4, 0, 2665 /* IP4_4 [1] */ 2666 FN_VI4_D0_C0, FN_VI0_D15_G7_Y7, 2667 /* IP4_3_2 [2] */ 2668 FN_VI4_VSYNC_N, FN_VI0_D14_G6_Y6, 0, 0, 2669 /* IP4_1 [1] */ 2670 FN_VI4_HSYNC_N, FN_VI0_D13_G5_Y5, 2671 /* IP4_0 [1] */ 2672 FN_VI4_CLKENB, FN_VI0_D12_G4_Y4 )) 2673 }, 2674 { PINMUX_CFG_REG_VAR("IPSR5", 0xE6060054, 32, 2675 GROUP(4, 4, 2676 4, 4, 2677 4, 1, 1, 1, 1, 2678 1, 1, 1, 1, 1, 1, 1, 1), 2679 GROUP( 2680 /* IP5_31_28 [4] */ 2681 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2682 /* IP5_27_24 [4] */ 2683 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2684 /* IP5_23_20 [4] */ 2685 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2686 /* IP5_19_16 [4] */ 2687 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2688 /* IP5_15_12 [4] */ 2689 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2690 /* IP5_11 [1] */ 2691 FN_VI5_D8_Y0, FN_VI1_D23_R7, 2692 /* IP5_10 [1] */ 2693 FN_VI5_D7_C7, FN_VI1_D22_R6, 2694 /* IP5_9 [1] */ 2695 FN_VI5_D6_C6, FN_VI1_D21_R5, 2696 /* IP5_8 [1] */ 2697 FN_VI5_D5_C5, FN_VI1_D20_R4, 2698 /* IP5_7 [1] */ 2699 FN_VI5_D4_C4, FN_VI1_D19_R3, 2700 /* IP5_6 [1] */ 2701 FN_VI5_D3_C3, FN_VI1_D18_R2, 2702 /* IP5_5 [1] */ 2703 FN_VI5_D2_C2, FN_VI1_D17_R1, 2704 /* IP5_4 [1] */ 2705 FN_VI5_D1_C1, FN_VI1_D16_R0, 2706 /* IP5_3 [1] */ 2707 FN_VI5_D0_C0, FN_VI1_D15_G7_Y7_B, 2708 /* IP5_2 [1] */ 2709 FN_VI5_VSYNC_N, FN_VI1_D14_G6_Y6_B, 2710 /* IP5_1 [1] */ 2711 FN_VI5_HSYNC_N, FN_VI1_D13_G5_Y5_B, 2712 /* IP5_0 [1] */ 2713 FN_VI5_CLKENB, FN_VI1_D12_G4_Y4_B )) 2714 }, 2715 { PINMUX_CFG_REG_VAR("IPSR6", 0xE6060058, 32, 2716 GROUP(4, 4, 2717 4, 1, 2, 1, 2718 2, 2, 2, 2, 2719 1, 1, 1, 1, 1, 1, 1, 1), 2720 GROUP( 2721 /* IP6_31_28 [4] */ 2722 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2723 /* IP6_27_24 [4] */ 2724 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2725 /* IP6_23_20 [4] */ 2726 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2727 /* IP6_19 [1] */ 2728 0, 0, 2729 /* IP6_18_17 [2] */ 2730 FN_DREQ1_N, FN_RX3, 0, 0, 2731 /* IP6_16 [1] */ 2732 FN_TX3, 0, 2733 /* IP6_15_14 [2] */ 2734 FN_DACK1, FN_SCK3, 0, 0, 2735 /* IP6_13_12 [2] */ 2736 FN_DREQ0_N, FN_RX2, 0, 0, 2737 /* IP6_11_10 [2] */ 2738 FN_DACK0, FN_TX2, 0, 0, 2739 /* IP6_9_8 [2] */ 2740 FN_DRACK0, FN_SCK2, 0, 0, 2741 /* IP6_7 [1] */ 2742 FN_MSIOF1_RXD, FN_HRX1, 2743 /* IP6_6 [1] */ 2744 FN_MSIOF1_TXD, FN_HTX1, 2745 /* IP6_5 [1] */ 2746 FN_MSIOF1_SYNC, FN_HRTS1_N, 2747 /* IP6_4 [1] */ 2748 FN_MSIOF1_SCK, FN_HSCK1, 2749 /* IP6_3 [1] */ 2750 FN_MSIOF0_RXD, FN_HRX0, 2751 /* IP6_2 [1] */ 2752 FN_MSIOF0_TXD, FN_HTX0, 2753 /* IP6_1 [1] */ 2754 FN_MSIOF0_SYNC, FN_HCTS0_N, 2755 /* IP6_0 [1] */ 2756 FN_MSIOF0_SCK, FN_HSCK0 )) 2757 }, 2758 { PINMUX_CFG_REG_VAR("IPSR7", 0xE606005C, 32, 2759 GROUP(4, 4, 2760 3, 1, 1, 1, 1, 1, 2761 2, 2, 2, 2, 2762 1, 1, 2, 2, 2), 2763 GROUP( 2764 /* IP7_31_28 [4] */ 2765 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2766 /* IP7_27_24 [4] */ 2767 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2768 /* IP7_23_21 [3] */ 2769 0, 0, 0, 0, 0, 0, 0, 0, 2770 /* IP7_20 [1] */ 2771 FN_AUDIO_CLKB, 0, 2772 /* IP7_19 [1] */ 2773 FN_AUDIO_CLKA, 0, 2774 /* IP7_18 [1] */ 2775 FN_AUDIO_CLKOUT, 0, 2776 /* IP7_17 [1] */ 2777 FN_SSI_SDATA4, 0, 2778 /* IP7_16 [1] */ 2779 FN_SSI_WS4, 0, 2780 /* IP7_15_14 [2] */ 2781 FN_SSI_SCK4, FN_TPU0TO3, 0, 0, 2782 /* IP7_13_12 [2] */ 2783 FN_SSI_SDATA3, FN_TPU0TO2, 0, 0, 2784 /* IP7_11_10 [2] */ 2785 FN_SSI_WS34, FN_TPU0TO1, 0, 0, 2786 /* IP7_9_8 [2] */ 2787 FN_SSI_SCK34, FN_TPU0TO0, 0, 0, 2788 /* IP7_7 [1] */ 2789 FN_PWM4, 0, 2790 /* IP7_6 [1] */ 2791 FN_PWM3, 0, 2792 /* IP7_5_4 [2] */ 2793 FN_PWM2, FN_TCLK3, FN_FSO_TOE, 0, 2794 /* IP7_3_2 [2] */ 2795 FN_PWM1, FN_TCLK2, FN_FSO_CFE_1, 0, 2796 /* IP7_1_0 [2] */ 2797 FN_PWM0, FN_TCLK1, FN_FSO_CFE_0, 0 )) 2798 }, 2799 { }, 2800 }; 2801 2802 static const struct pinmux_bias_reg pinmux_bias_regs[] = { 2803 { PINMUX_BIAS_REG("PUPR0", 0xe6060100, "N/A", 0) { 2804 [ 0] = RCAR_GP_PIN(0, 0), /* DU0_DR0_DATA0 */ 2805 [ 1] = RCAR_GP_PIN(0, 1), /* DU0_DR1_DATA1 */ 2806 [ 2] = RCAR_GP_PIN(0, 2), /* DU0_DR2_Y4_DATA2 */ 2807 [ 3] = RCAR_GP_PIN(0, 3), /* DU0_DR3_Y5_DATA3 */ 2808 [ 4] = RCAR_GP_PIN(0, 4), /* DU0_DR4_Y6_DATA4 */ 2809 [ 5] = RCAR_GP_PIN(0, 5), /* DU0_DR5_Y7_DATA5 */ 2810 [ 6] = RCAR_GP_PIN(0, 6), /* DU0_DR6_Y8_DATA6 */ 2811 [ 7] = RCAR_GP_PIN(0, 7), /* DU0_DR7_Y9_DATA7 */ 2812 [ 8] = RCAR_GP_PIN(0, 8), /* DU0_DG0_DATA8 */ 2813 [ 9] = RCAR_GP_PIN(0, 9), /* DU0_DG1_DATA9 */ 2814 [10] = RCAR_GP_PIN(0, 10), /* DU0_DG2_C6_DATA10 */ 2815 [11] = RCAR_GP_PIN(0, 11), /* DU0_DG3_C7_DATA11 */ 2816 [12] = RCAR_GP_PIN(0, 12), /* DU0_DG4_Y0_DATA12 */ 2817 [13] = RCAR_GP_PIN(0, 13), /* DU0_DG5_Y1_DATA13 */ 2818 [14] = RCAR_GP_PIN(0, 14), /* DU0_DG6_Y2_DATA14 */ 2819 [15] = RCAR_GP_PIN(0, 15), /* DU0_DG7_Y3_DATA15 */ 2820 [16] = RCAR_GP_PIN(0, 16), /* DU0_DB0 */ 2821 [17] = RCAR_GP_PIN(0, 17), /* DU0_DB1 */ 2822 [18] = RCAR_GP_PIN(0, 18), /* DU0_DB2_C0 */ 2823 [19] = RCAR_GP_PIN(0, 19), /* DU0_DB3_C1 */ 2824 [20] = RCAR_GP_PIN(0, 20), /* DU0_DB4_C2 */ 2825 [21] = RCAR_GP_PIN(0, 21), /* DU0_DB5_C3 */ 2826 [22] = RCAR_GP_PIN(0, 22), /* DU0_DB6_C4 */ 2827 [23] = RCAR_GP_PIN(0, 23), /* DU0_DB7_C5 */ 2828 [24] = RCAR_GP_PIN(0, 24), /* DU0_EXHSYNC/DU0_HSYNC */ 2829 [25] = RCAR_GP_PIN(0, 25), /* DU0_EXVSYNC/DU0_VSYNC */ 2830 [26] = RCAR_GP_PIN(0, 26), /* DU0_EXODDF/DU0_ODDF_DISP_CDE */ 2831 [27] = RCAR_GP_PIN(0, 27), /* DU0_DISP */ 2832 [28] = RCAR_GP_PIN(0, 28), /* DU0_CDE */ 2833 [29] = SH_PFC_PIN_NONE, 2834 [30] = SH_PFC_PIN_NONE, 2835 [31] = SH_PFC_PIN_NONE, 2836 } }, 2837 { PINMUX_BIAS_REG("PUPR1", 0xe6060104, "N/A", 0) { 2838 [ 0] = RCAR_GP_PIN(1, 0), /* DU1_DR2_Y4_DATA0 */ 2839 [ 1] = RCAR_GP_PIN(1, 1), /* DU1_DR3_Y5_DATA1 */ 2840 [ 2] = RCAR_GP_PIN(1, 2), /* DU1_DR4_Y6_DATA2 */ 2841 [ 3] = RCAR_GP_PIN(1, 3), /* DU1_DR5_Y7_DATA3 */ 2842 [ 4] = RCAR_GP_PIN(1, 4), /* DU1_DR6_DATA4 */ 2843 [ 5] = RCAR_GP_PIN(1, 5), /* DU1_DR7_DATA5 */ 2844 [ 6] = RCAR_GP_PIN(1, 6), /* DU1_DG2_C6_DATA6 */ 2845 [ 7] = RCAR_GP_PIN(1, 7), /* DU1_DG3_C7_DATA7 */ 2846 [ 8] = RCAR_GP_PIN(1, 8), /* DU1_DG4_Y0_DATA8 */ 2847 [ 9] = RCAR_GP_PIN(1, 9), /* DU1_DG5_Y1_DATA9 */ 2848 [10] = RCAR_GP_PIN(1, 10), /* DU1_DG6_Y2_DATA10 */ 2849 [11] = RCAR_GP_PIN(1, 11), /* DU1_DG7_Y3_DATA11 */ 2850 [12] = RCAR_GP_PIN(1, 12), /* DU1_DB2_C0_DATA12 */ 2851 [13] = RCAR_GP_PIN(1, 13), /* DU1_DB3_C1_DATA13 */ 2852 [14] = RCAR_GP_PIN(1, 14), /* DU1_DB4_C2_DATA14 */ 2853 [15] = RCAR_GP_PIN(1, 15), /* DU1_DB5_C3_DATA15 */ 2854 [16] = RCAR_GP_PIN(1, 16), /* DU1_DB6_C4 */ 2855 [17] = RCAR_GP_PIN(1, 17), /* DU1_DB7_C5 */ 2856 [18] = RCAR_GP_PIN(1, 18), /* DU1_EXHSYNC/DU1_HSYNC */ 2857 [19] = RCAR_GP_PIN(1, 19), /* DU1_EXVSYNC/DU1_VSYNC */ 2858 [20] = RCAR_GP_PIN(1, 20), /* DU1_EXODDF/DU1_ODDF_DISP_CDE */ 2859 [21] = RCAR_GP_PIN(1, 21), /* DU1_DISP */ 2860 [22] = RCAR_GP_PIN(1, 22), /* DU1_CDE */ 2861 [23] = SH_PFC_PIN_NONE, 2862 [24] = SH_PFC_PIN_NONE, 2863 [25] = SH_PFC_PIN_NONE, 2864 [26] = SH_PFC_PIN_NONE, 2865 [27] = SH_PFC_PIN_NONE, 2866 [28] = SH_PFC_PIN_NONE, 2867 [29] = SH_PFC_PIN_NONE, 2868 [30] = SH_PFC_PIN_NONE, 2869 [31] = SH_PFC_PIN_NONE, 2870 } }, 2871 { PINMUX_BIAS_REG("PUPR2", 0xe6060108, "N/A", 0) { 2872 [ 0] = RCAR_GP_PIN(2, 0), /* D0 */ 2873 [ 1] = RCAR_GP_PIN(2, 1), /* D1 */ 2874 [ 2] = RCAR_GP_PIN(2, 2), /* D2 */ 2875 [ 3] = RCAR_GP_PIN(2, 3), /* D3 */ 2876 [ 4] = RCAR_GP_PIN(2, 4), /* D4 */ 2877 [ 5] = RCAR_GP_PIN(2, 5), /* D5 */ 2878 [ 6] = RCAR_GP_PIN(2, 6), /* D6 */ 2879 [ 7] = RCAR_GP_PIN(2, 7), /* D7 */ 2880 [ 8] = RCAR_GP_PIN(2, 8), /* D8 */ 2881 [ 9] = RCAR_GP_PIN(2, 9), /* D9 */ 2882 [10] = RCAR_GP_PIN(2, 10), /* D10 */ 2883 [11] = RCAR_GP_PIN(2, 11), /* D11 */ 2884 [12] = RCAR_GP_PIN(2, 12), /* D12 */ 2885 [13] = RCAR_GP_PIN(2, 13), /* D13 */ 2886 [14] = RCAR_GP_PIN(2, 14), /* D14 */ 2887 [15] = RCAR_GP_PIN(2, 15), /* D15 */ 2888 [16] = RCAR_GP_PIN(2, 16), /* A0 */ 2889 [17] = RCAR_GP_PIN(2, 17), /* A1 */ 2890 [18] = RCAR_GP_PIN(2, 18), /* A2 */ 2891 [19] = RCAR_GP_PIN(2, 19), /* A3 */ 2892 [20] = RCAR_GP_PIN(2, 20), /* A4 */ 2893 [21] = RCAR_GP_PIN(2, 21), /* A5 */ 2894 [22] = RCAR_GP_PIN(2, 22), /* A6 */ 2895 [23] = RCAR_GP_PIN(2, 23), /* A7 */ 2896 [24] = RCAR_GP_PIN(2, 24), /* A8 */ 2897 [25] = RCAR_GP_PIN(2, 25), /* A9 */ 2898 [26] = RCAR_GP_PIN(2, 26), /* A10 */ 2899 [27] = RCAR_GP_PIN(2, 27), /* A11 */ 2900 [28] = RCAR_GP_PIN(2, 28), /* A12 */ 2901 [29] = RCAR_GP_PIN(2, 29), /* A13 */ 2902 [30] = RCAR_GP_PIN(2, 30), /* A14 */ 2903 [31] = RCAR_GP_PIN(2, 31), /* A15 */ 2904 } }, 2905 { PINMUX_BIAS_REG("PUPR3", 0xe606010c, "N/A", 0) { 2906 [ 0] = RCAR_GP_PIN(3, 0), /* A16 */ 2907 [ 1] = RCAR_GP_PIN(3, 1), /* A17 */ 2908 [ 2] = RCAR_GP_PIN(3, 2), /* A18 */ 2909 [ 3] = RCAR_GP_PIN(3, 3), /* A19 */ 2910 [ 4] = RCAR_GP_PIN(3, 4), /* A20 */ 2911 [ 5] = RCAR_GP_PIN(3, 5), /* A21 */ 2912 [ 6] = RCAR_GP_PIN(3, 6), /* CS1#/A26 */ 2913 [ 7] = RCAR_GP_PIN(3, 7), /* EX_CS0# */ 2914 [ 8] = RCAR_GP_PIN(3, 8), /* EX_CS1# */ 2915 [ 9] = RCAR_GP_PIN(3, 9), /* EX_CS2# */ 2916 [10] = RCAR_GP_PIN(3, 10), /* EX_CS3# */ 2917 [11] = RCAR_GP_PIN(3, 11), /* EX_CS4# */ 2918 [12] = RCAR_GP_PIN(3, 12), /* EX_CS5# */ 2919 [13] = RCAR_GP_PIN(3, 13), /* BS# */ 2920 [14] = RCAR_GP_PIN(3, 14), /* RD# */ 2921 [15] = RCAR_GP_PIN(3, 15), /* RD/WR# */ 2922 [16] = RCAR_GP_PIN(3, 16), /* WE0# */ 2923 [17] = RCAR_GP_PIN(3, 17), /* WE1# */ 2924 [18] = RCAR_GP_PIN(3, 18), /* EX_WAIT0 */ 2925 [19] = RCAR_GP_PIN(3, 19), /* IRQ0 */ 2926 [20] = RCAR_GP_PIN(3, 20), /* IRQ1 */ 2927 [21] = RCAR_GP_PIN(3, 21), /* IRQ2 */ 2928 [22] = RCAR_GP_PIN(3, 22), /* IRQ3 */ 2929 [23] = RCAR_GP_PIN(3, 23), /* A22 */ 2930 [24] = RCAR_GP_PIN(3, 24), /* A23 */ 2931 [25] = RCAR_GP_PIN(3, 25), /* A24 */ 2932 [26] = RCAR_GP_PIN(3, 26), /* A25 */ 2933 [27] = RCAR_GP_PIN(3, 27), /* CS0# */ 2934 [28] = SH_PFC_PIN_NONE, 2935 [29] = SH_PFC_PIN_NONE, 2936 [30] = SH_PFC_PIN_NONE, 2937 [31] = SH_PFC_PIN_NONE, 2938 } }, 2939 { PINMUX_BIAS_REG("PUPR4", 0xe6060110, "N/A", 0) { 2940 [ 0] = RCAR_GP_PIN(4, 0), /* VI0_CLK */ 2941 [ 1] = RCAR_GP_PIN(4, 1), /* VI0_CLKENB */ 2942 [ 2] = RCAR_GP_PIN(4, 2), /* VI0_HSYNC# */ 2943 [ 3] = RCAR_GP_PIN(4, 3), /* VI0_VSYNC# */ 2944 [ 4] = RCAR_GP_PIN(4, 4), /* VI0_D0_B0_C0 */ 2945 [ 5] = RCAR_GP_PIN(4, 5), /* VI0_D1_B1_C1 */ 2946 [ 6] = RCAR_GP_PIN(4, 6), /* VI0_D2_B2_C2 */ 2947 [ 7] = RCAR_GP_PIN(4, 7), /* VI0_D3_B3_C3 */ 2948 [ 8] = RCAR_GP_PIN(4, 8), /* VI0_D4_B4_C4 */ 2949 [ 9] = RCAR_GP_PIN(4, 9), /* VI0_D5_B5_C5 */ 2950 [10] = RCAR_GP_PIN(4, 10), /* VI0_D6_B6_C6 */ 2951 [11] = RCAR_GP_PIN(4, 11), /* VI0_D7_B7_C7 */ 2952 [12] = RCAR_GP_PIN(4, 12), /* VI0_D8_G0_Y0 */ 2953 [13] = RCAR_GP_PIN(4, 13), /* VI0_D9_G1_Y1 */ 2954 [14] = RCAR_GP_PIN(4, 14), /* VI0_D10_G2_Y2 */ 2955 [15] = RCAR_GP_PIN(4, 15), /* VI0_D11_G3_Y3 */ 2956 [16] = RCAR_GP_PIN(4, 16), /* VI0_FIELD */ 2957 [17] = SH_PFC_PIN_NONE, 2958 [18] = SH_PFC_PIN_NONE, 2959 [19] = SH_PFC_PIN_NONE, 2960 [20] = SH_PFC_PIN_NONE, 2961 [21] = SH_PFC_PIN_NONE, 2962 [22] = SH_PFC_PIN_NONE, 2963 [23] = SH_PFC_PIN_NONE, 2964 [24] = SH_PFC_PIN_NONE, 2965 [25] = SH_PFC_PIN_NONE, 2966 [26] = SH_PFC_PIN_NONE, 2967 [27] = SH_PFC_PIN_NONE, 2968 [28] = SH_PFC_PIN_NONE, 2969 [29] = SH_PFC_PIN_NONE, 2970 [30] = SH_PFC_PIN_NONE, 2971 [31] = SH_PFC_PIN_NONE, 2972 } }, 2973 { PINMUX_BIAS_REG("PUPR5", 0xe6060114, "N/A", 0) { 2974 [ 0] = RCAR_GP_PIN(5, 0), /* VI1_CLK */ 2975 [ 1] = RCAR_GP_PIN(5, 1), /* VI1_CLKENB */ 2976 [ 2] = RCAR_GP_PIN(5, 2), /* VI1_HSYNC# */ 2977 [ 3] = RCAR_GP_PIN(5, 3), /* VI1_VSYNC# */ 2978 [ 4] = RCAR_GP_PIN(5, 4), /* VI1_D0_B0_C0 */ 2979 [ 5] = RCAR_GP_PIN(5, 5), /* VI1_D1_B1_C1 */ 2980 [ 6] = RCAR_GP_PIN(5, 6), /* VI1_D2_B2_C2 */ 2981 [ 7] = RCAR_GP_PIN(5, 7), /* VI1_D3_B3_C3 */ 2982 [ 8] = RCAR_GP_PIN(5, 8), /* VI1_D4_B4_C4 */ 2983 [ 9] = RCAR_GP_PIN(5, 9), /* VI1_D5_B5_C5 */ 2984 [10] = RCAR_GP_PIN(5, 10), /* VI1_D6_B6_C6 */ 2985 [11] = RCAR_GP_PIN(5, 11), /* VI1_D7_B7_C7 */ 2986 [12] = RCAR_GP_PIN(5, 12), /* VI1_D8_G0_Y0 */ 2987 [13] = RCAR_GP_PIN(5, 13), /* VI1_D9_G1_Y1 */ 2988 [14] = RCAR_GP_PIN(5, 14), /* VI1_D10_G2_Y2 */ 2989 [15] = RCAR_GP_PIN(5, 15), /* VI1_D11_G3_Y3 */ 2990 [16] = RCAR_GP_PIN(5, 16), /* VI1_FIELD */ 2991 [17] = SH_PFC_PIN_NONE, 2992 [18] = SH_PFC_PIN_NONE, 2993 [19] = SH_PFC_PIN_NONE, 2994 [20] = SH_PFC_PIN_NONE, 2995 [21] = SH_PFC_PIN_NONE, 2996 [22] = SH_PFC_PIN_NONE, 2997 [23] = SH_PFC_PIN_NONE, 2998 [24] = SH_PFC_PIN_NONE, 2999 [25] = SH_PFC_PIN_NONE, 3000 [26] = SH_PFC_PIN_NONE, 3001 [27] = SH_PFC_PIN_NONE, 3002 [28] = SH_PFC_PIN_NONE, 3003 [29] = SH_PFC_PIN_NONE, 3004 [30] = SH_PFC_PIN_NONE, 3005 [31] = SH_PFC_PIN_NONE, 3006 } }, 3007 { PINMUX_BIAS_REG("PUPR6", 0xe6060118, "N/A", 0) { 3008 [ 0] = RCAR_GP_PIN(6, 0), /* VI2_CLK */ 3009 [ 1] = RCAR_GP_PIN(6, 1), /* VI2_CLKENB */ 3010 [ 2] = RCAR_GP_PIN(6, 2), /* VI2_HSYNC# */ 3011 [ 3] = RCAR_GP_PIN(6, 3), /* VI2_VSYNC# */ 3012 [ 4] = RCAR_GP_PIN(6, 4), /* VI2_D0_C0 */ 3013 [ 5] = RCAR_GP_PIN(6, 5), /* VI2_D1_C1 */ 3014 [ 6] = RCAR_GP_PIN(6, 6), /* VI2_D2_C2 */ 3015 [ 7] = RCAR_GP_PIN(6, 7), /* VI2_D3_C3 */ 3016 [ 8] = RCAR_GP_PIN(6, 8), /* VI2_D4_C4 */ 3017 [ 9] = RCAR_GP_PIN(6, 9), /* VI2_D5_C5 */ 3018 [10] = RCAR_GP_PIN(6, 10), /* VI2_D6_C6 */ 3019 [11] = RCAR_GP_PIN(6, 11), /* VI2_D7_C7 */ 3020 [12] = RCAR_GP_PIN(6, 12), /* VI2_D8_Y0 */ 3021 [13] = RCAR_GP_PIN(6, 13), /* VI2_D9_Y1 */ 3022 [14] = RCAR_GP_PIN(6, 14), /* VI2_D10_Y2 */ 3023 [15] = RCAR_GP_PIN(6, 15), /* VI2_D11_Y3 */ 3024 [16] = RCAR_GP_PIN(6, 16), /* VI2_FIELD */ 3025 [17] = SH_PFC_PIN_NONE, 3026 [18] = SH_PFC_PIN_NONE, 3027 [19] = SH_PFC_PIN_NONE, 3028 [20] = SH_PFC_PIN_NONE, 3029 [21] = SH_PFC_PIN_NONE, 3030 [22] = SH_PFC_PIN_NONE, 3031 [23] = SH_PFC_PIN_NONE, 3032 [24] = SH_PFC_PIN_NONE, 3033 [25] = SH_PFC_PIN_NONE, 3034 [26] = SH_PFC_PIN_NONE, 3035 [27] = SH_PFC_PIN_NONE, 3036 [28] = SH_PFC_PIN_NONE, 3037 [29] = SH_PFC_PIN_NONE, 3038 [30] = SH_PFC_PIN_NONE, 3039 [31] = SH_PFC_PIN_NONE, 3040 } }, 3041 { PINMUX_BIAS_REG("PUPR7", 0xe606011c, "N/A", 0) { 3042 [ 0] = RCAR_GP_PIN(7, 0), /* VI3_CLK */ 3043 [ 1] = RCAR_GP_PIN(7, 1), /* VI3_CLKENB */ 3044 [ 2] = RCAR_GP_PIN(7, 2), /* VI3_HSYNC# */ 3045 [ 3] = RCAR_GP_PIN(7, 3), /* VI3_VSYNC# */ 3046 [ 4] = RCAR_GP_PIN(7, 4), /* VI3_D0_C0 */ 3047 [ 5] = RCAR_GP_PIN(7, 5), /* VI3_D1_C1 */ 3048 [ 6] = RCAR_GP_PIN(7, 6), /* VI3_D2_C2 */ 3049 [ 7] = RCAR_GP_PIN(7, 7), /* VI3_D3_C3 */ 3050 [ 8] = RCAR_GP_PIN(7, 8), /* VI3_D4_C4 */ 3051 [ 9] = RCAR_GP_PIN(7, 9), /* VI3_D5_C5 */ 3052 [10] = RCAR_GP_PIN(7, 10), /* VI3_D6_C6 */ 3053 [11] = RCAR_GP_PIN(7, 11), /* VI3_D7_C7 */ 3054 [12] = RCAR_GP_PIN(7, 12), /* VI3_D8_Y0 */ 3055 [13] = RCAR_GP_PIN(7, 13), /* VI3_D9_Y1 */ 3056 [14] = RCAR_GP_PIN(7, 14), /* VI3_D10_Y2 */ 3057 [15] = RCAR_GP_PIN(7, 15), /* VI3_D11_Y3 */ 3058 [16] = RCAR_GP_PIN(7, 16), /* VI3_FIELD */ 3059 [17] = SH_PFC_PIN_NONE, 3060 [18] = SH_PFC_PIN_NONE, 3061 [19] = SH_PFC_PIN_NONE, 3062 [20] = SH_PFC_PIN_NONE, 3063 [21] = SH_PFC_PIN_NONE, 3064 [22] = SH_PFC_PIN_NONE, 3065 [23] = SH_PFC_PIN_NONE, 3066 [24] = SH_PFC_PIN_NONE, 3067 [25] = SH_PFC_PIN_NONE, 3068 [26] = SH_PFC_PIN_NONE, 3069 [27] = SH_PFC_PIN_NONE, 3070 [28] = SH_PFC_PIN_NONE, 3071 [29] = SH_PFC_PIN_NONE, 3072 [30] = SH_PFC_PIN_NONE, 3073 [31] = SH_PFC_PIN_NONE, 3074 } }, 3075 { PINMUX_BIAS_REG("PUPR8", 0xe6060120, "N/A", 0) { 3076 [ 0] = RCAR_GP_PIN(8, 0), /* VI4_CLK */ 3077 [ 1] = RCAR_GP_PIN(8, 1), /* VI4_CLKENB */ 3078 [ 2] = RCAR_GP_PIN(8, 2), /* VI4_HSYNC# */ 3079 [ 3] = RCAR_GP_PIN(8, 3), /* VI4_VSYNC# */ 3080 [ 4] = RCAR_GP_PIN(8, 4), /* VI4_D0_C0 */ 3081 [ 5] = RCAR_GP_PIN(8, 5), /* VI4_D1_C1 */ 3082 [ 6] = RCAR_GP_PIN(8, 6), /* VI4_D2_C2 */ 3083 [ 7] = RCAR_GP_PIN(8, 7), /* VI4_D3_C3 */ 3084 [ 8] = RCAR_GP_PIN(8, 8), /* VI4_D4_C4 */ 3085 [ 9] = RCAR_GP_PIN(8, 9), /* VI4_D5_C5 */ 3086 [10] = RCAR_GP_PIN(8, 10), /* VI4_D6_C6 */ 3087 [11] = RCAR_GP_PIN(8, 11), /* VI4_D7_C7 */ 3088 [12] = RCAR_GP_PIN(8, 12), /* VI4_D8_Y0 */ 3089 [13] = RCAR_GP_PIN(8, 13), /* VI4_D9_Y1 */ 3090 [14] = RCAR_GP_PIN(8, 14), /* VI4_D10_Y2 */ 3091 [15] = RCAR_GP_PIN(8, 15), /* VI4_D11_Y3 */ 3092 [16] = RCAR_GP_PIN(8, 16), /* VI4_FIELD */ 3093 [17] = SH_PFC_PIN_NONE, 3094 [18] = SH_PFC_PIN_NONE, 3095 [19] = SH_PFC_PIN_NONE, 3096 [20] = SH_PFC_PIN_NONE, 3097 [21] = SH_PFC_PIN_NONE, 3098 [22] = SH_PFC_PIN_NONE, 3099 [23] = SH_PFC_PIN_NONE, 3100 [24] = SH_PFC_PIN_NONE, 3101 [25] = SH_PFC_PIN_NONE, 3102 [26] = SH_PFC_PIN_NONE, 3103 [27] = SH_PFC_PIN_NONE, 3104 [28] = SH_PFC_PIN_NONE, 3105 [29] = SH_PFC_PIN_NONE, 3106 [30] = SH_PFC_PIN_NONE, 3107 [31] = SH_PFC_PIN_NONE, 3108 } }, 3109 { PINMUX_BIAS_REG("PUPR9", 0xe6060124, "N/A", 0) { 3110 [ 0] = RCAR_GP_PIN(9, 0), /* VI5_CLK */ 3111 [ 1] = RCAR_GP_PIN(9, 1), /* VI5_CLKENB */ 3112 [ 2] = RCAR_GP_PIN(9, 2), /* VI5_HSYNC# */ 3113 [ 3] = RCAR_GP_PIN(9, 3), /* VI5_VSYNC# */ 3114 [ 4] = RCAR_GP_PIN(9, 4), /* VI5_D0_C0 */ 3115 [ 5] = RCAR_GP_PIN(9, 5), /* VI5_D1_C1 */ 3116 [ 6] = RCAR_GP_PIN(9, 6), /* VI5_D2_C2 */ 3117 [ 7] = RCAR_GP_PIN(9, 7), /* VI5_D3_C3 */ 3118 [ 8] = RCAR_GP_PIN(9, 8), /* VI5_D4_C4 */ 3119 [ 9] = RCAR_GP_PIN(9, 9), /* VI5_D5_C5 */ 3120 [10] = RCAR_GP_PIN(9, 10), /* VI5_D6_C6 */ 3121 [11] = RCAR_GP_PIN(9, 11), /* VI5_D7_C7 */ 3122 [12] = RCAR_GP_PIN(9, 12), /* VI5_D8_Y0 */ 3123 [13] = RCAR_GP_PIN(9, 13), /* VI5_D9_Y1 */ 3124 [14] = RCAR_GP_PIN(9, 14), /* VI5_D10_Y2 */ 3125 [15] = RCAR_GP_PIN(9, 15), /* VI5_D11_Y3 */ 3126 [16] = RCAR_GP_PIN(9, 16), /* VI5_FIELD */ 3127 [17] = SH_PFC_PIN_NONE, 3128 [18] = SH_PFC_PIN_NONE, 3129 [19] = SH_PFC_PIN_NONE, 3130 [20] = SH_PFC_PIN_NONE, 3131 [21] = SH_PFC_PIN_NONE, 3132 [22] = SH_PFC_PIN_NONE, 3133 [23] = SH_PFC_PIN_NONE, 3134 [24] = SH_PFC_PIN_NONE, 3135 [25] = SH_PFC_PIN_NONE, 3136 [26] = SH_PFC_PIN_NONE, 3137 [27] = SH_PFC_PIN_NONE, 3138 [28] = SH_PFC_PIN_NONE, 3139 [29] = SH_PFC_PIN_NONE, 3140 [30] = SH_PFC_PIN_NONE, 3141 [31] = SH_PFC_PIN_NONE, 3142 } }, 3143 { PINMUX_BIAS_REG("PUPR10", 0xe6060128, "N/A", 0) { 3144 [ 0] = RCAR_GP_PIN(10, 0), /* HSCK0 */ 3145 [ 1] = RCAR_GP_PIN(10, 1), /* HCTS0# */ 3146 [ 2] = RCAR_GP_PIN(10, 2), /* HRTS0# */ 3147 [ 3] = RCAR_GP_PIN(10, 3), /* HTX0 */ 3148 [ 4] = RCAR_GP_PIN(10, 4), /* HRX0 */ 3149 [ 5] = RCAR_GP_PIN(10, 5), /* HSCK1 */ 3150 [ 6] = RCAR_GP_PIN(10, 6), /* HRTS1# */ 3151 [ 7] = RCAR_GP_PIN(10, 7), /* HCTS1# */ 3152 [ 8] = RCAR_GP_PIN(10, 8), /* HTX1 */ 3153 [ 9] = RCAR_GP_PIN(10, 9), /* HRX1 */ 3154 [10] = RCAR_GP_PIN(10, 10), /* SCK0 */ 3155 [11] = RCAR_GP_PIN(10, 11), /* CTS0# */ 3156 [12] = RCAR_GP_PIN(10, 12), /* RTS0# */ 3157 [13] = RCAR_GP_PIN(10, 13), /* TX0 */ 3158 [14] = RCAR_GP_PIN(10, 14), /* RX0 */ 3159 [15] = RCAR_GP_PIN(10, 15), /* SCK1 */ 3160 [16] = RCAR_GP_PIN(10, 16), /* CTS1# */ 3161 [17] = RCAR_GP_PIN(10, 17), /* RTS1# */ 3162 [18] = RCAR_GP_PIN(10, 18), /* TX1 */ 3163 [19] = RCAR_GP_PIN(10, 19), /* RX1 */ 3164 [20] = RCAR_GP_PIN(10, 20), /* SCK2 */ 3165 [21] = RCAR_GP_PIN(10, 21), /* TX2 */ 3166 [22] = RCAR_GP_PIN(10, 22), /* RX2 */ 3167 [23] = RCAR_GP_PIN(10, 23), /* SCK3 */ 3168 [24] = RCAR_GP_PIN(10, 24), /* TX3 */ 3169 [25] = RCAR_GP_PIN(10, 25), /* RX3 */ 3170 [26] = RCAR_GP_PIN(10, 26), /* SCIF_CLK */ 3171 [27] = RCAR_GP_PIN(10, 27), /* CAN0_TX */ 3172 [28] = RCAR_GP_PIN(10, 28), /* CAN0_RX */ 3173 [29] = RCAR_GP_PIN(10, 29), /* CAN_CLK */ 3174 [30] = RCAR_GP_PIN(10, 30), /* CAN1_TX */ 3175 [31] = RCAR_GP_PIN(10, 31), /* CAN1_RX */ 3176 } }, 3177 { PINMUX_BIAS_REG("PUPR11", 0xe606012c, "N/A", 0) { 3178 [ 0] = RCAR_GP_PIN(11, 0), /* PWM0 */ 3179 [ 1] = RCAR_GP_PIN(11, 1), /* PWM1 */ 3180 [ 2] = RCAR_GP_PIN(11, 2), /* PWM2 */ 3181 [ 3] = RCAR_GP_PIN(11, 3), /* PWM3 */ 3182 [ 4] = RCAR_GP_PIN(11, 4), /* PWM4 */ 3183 [ 5] = RCAR_GP_PIN(11, 5), /* SD0_CLK */ 3184 [ 6] = RCAR_GP_PIN(11, 6), /* SD0_CMD */ 3185 [ 7] = RCAR_GP_PIN(11, 7), /* SD0_DAT0 */ 3186 [ 8] = RCAR_GP_PIN(11, 8), /* SD0_DAT1 */ 3187 [ 9] = RCAR_GP_PIN(11, 9), /* SD0_DAT2 */ 3188 [10] = RCAR_GP_PIN(11, 10), /* SD0_DAT3 */ 3189 [11] = RCAR_GP_PIN(11, 11), /* SD0_CD */ 3190 [12] = RCAR_GP_PIN(11, 12), /* SD0_WP */ 3191 [13] = RCAR_GP_PIN(11, 13), /* SSI_SCK3 */ 3192 [14] = RCAR_GP_PIN(11, 14), /* SSI_WS3 */ 3193 [15] = RCAR_GP_PIN(11, 15), /* SSI_SDATA3 */ 3194 [16] = RCAR_GP_PIN(11, 16), /* SSI_SCK4 */ 3195 [17] = RCAR_GP_PIN(11, 17), /* SSI_WS4 */ 3196 [18] = RCAR_GP_PIN(11, 18), /* SSI_SDATA4 */ 3197 [19] = RCAR_GP_PIN(11, 19), /* AUDIO_CLKOUT */ 3198 [20] = RCAR_GP_PIN(11, 20), /* AUDIO_CLKA */ 3199 [21] = RCAR_GP_PIN(11, 21), /* AUDIO_CLKB */ 3200 [22] = RCAR_GP_PIN(11, 22), /* ADICLK */ 3201 [23] = RCAR_GP_PIN(11, 23), /* ADICS_SAMP */ 3202 [24] = RCAR_GP_PIN(11, 24), /* ADIDATA */ 3203 [25] = RCAR_GP_PIN(11, 25), /* ADICHS0 */ 3204 [26] = RCAR_GP_PIN(11, 26), /* ADICHS1 */ 3205 [27] = RCAR_GP_PIN(11, 27), /* ADICHS2 */ 3206 [28] = RCAR_GP_PIN(11, 28), /* AVS1 */ 3207 [29] = RCAR_GP_PIN(11, 29), /* AVS2 */ 3208 [30] = SH_PFC_PIN_NONE, 3209 [31] = SH_PFC_PIN_NONE, 3210 } }, 3211 { PINMUX_BIAS_REG("PUPR12", 0xe6060130, "N/A", 0) { 3212 /* PUPR12 pull-up pins */ 3213 [ 0] = PIN_DU0_DOTCLKIN, /* DU0_DOTCLKIN */ 3214 [ 1] = PIN_DU0_DOTCLKOUT, /* DU0_DOTCLKOUT */ 3215 [ 2] = PIN_DU1_DOTCLKIN, /* DU1_DOTCLKIN */ 3216 [ 3] = PIN_DU1_DOTCLKOUT, /* DU1_DOTCLKOUT */ 3217 [ 4] = PIN_TRST_N, /* TRST# */ 3218 [ 5] = PIN_TCK, /* TCK */ 3219 [ 6] = PIN_TMS, /* TMS */ 3220 [ 7] = PIN_TDI, /* TDI */ 3221 [ 8] = SH_PFC_PIN_NONE, 3222 [ 9] = SH_PFC_PIN_NONE, 3223 [10] = SH_PFC_PIN_NONE, 3224 [11] = SH_PFC_PIN_NONE, 3225 [12] = SH_PFC_PIN_NONE, 3226 [13] = SH_PFC_PIN_NONE, 3227 [14] = SH_PFC_PIN_NONE, 3228 [15] = SH_PFC_PIN_NONE, 3229 [16] = SH_PFC_PIN_NONE, 3230 [17] = SH_PFC_PIN_NONE, 3231 [18] = SH_PFC_PIN_NONE, 3232 [19] = SH_PFC_PIN_NONE, 3233 [20] = SH_PFC_PIN_NONE, 3234 [21] = SH_PFC_PIN_NONE, 3235 [22] = SH_PFC_PIN_NONE, 3236 [23] = SH_PFC_PIN_NONE, 3237 [24] = SH_PFC_PIN_NONE, 3238 [25] = SH_PFC_PIN_NONE, 3239 [26] = SH_PFC_PIN_NONE, 3240 [27] = SH_PFC_PIN_NONE, 3241 [28] = SH_PFC_PIN_NONE, 3242 [29] = SH_PFC_PIN_NONE, 3243 [30] = SH_PFC_PIN_NONE, 3244 [31] = SH_PFC_PIN_NONE, 3245 } }, 3246 { PINMUX_BIAS_REG("N/A", 0, "PUPR12", 0xe6060130) { 3247 /* PUPR12 pull-down pins */ 3248 [ 0] = SH_PFC_PIN_NONE, 3249 [ 1] = SH_PFC_PIN_NONE, 3250 [ 2] = SH_PFC_PIN_NONE, 3251 [ 3] = SH_PFC_PIN_NONE, 3252 [ 4] = SH_PFC_PIN_NONE, 3253 [ 5] = SH_PFC_PIN_NONE, 3254 [ 6] = SH_PFC_PIN_NONE, 3255 [ 7] = SH_PFC_PIN_NONE, 3256 [ 8] = PIN_EDBGREQ, /* EDBGREQ */ 3257 [ 9] = SH_PFC_PIN_NONE, 3258 [10] = SH_PFC_PIN_NONE, 3259 [11] = SH_PFC_PIN_NONE, 3260 [12] = SH_PFC_PIN_NONE, 3261 [13] = SH_PFC_PIN_NONE, 3262 [14] = SH_PFC_PIN_NONE, 3263 [15] = SH_PFC_PIN_NONE, 3264 [16] = SH_PFC_PIN_NONE, 3265 [17] = SH_PFC_PIN_NONE, 3266 [18] = SH_PFC_PIN_NONE, 3267 [19] = SH_PFC_PIN_NONE, 3268 [20] = SH_PFC_PIN_NONE, 3269 [21] = SH_PFC_PIN_NONE, 3270 [22] = SH_PFC_PIN_NONE, 3271 [23] = SH_PFC_PIN_NONE, 3272 [24] = SH_PFC_PIN_NONE, 3273 [25] = SH_PFC_PIN_NONE, 3274 [26] = SH_PFC_PIN_NONE, 3275 [27] = SH_PFC_PIN_NONE, 3276 [28] = SH_PFC_PIN_NONE, 3277 [29] = SH_PFC_PIN_NONE, 3278 [30] = SH_PFC_PIN_NONE, 3279 [31] = SH_PFC_PIN_NONE, 3280 } }, 3281 { /* sentinel */ } 3282 }; 3283 3284 static const struct sh_pfc_soc_operations r8a7792_pinmux_ops = { 3285 .get_bias = rcar_pinmux_get_bias, 3286 .set_bias = rcar_pinmux_set_bias, 3287 }; 3288 3289 const struct sh_pfc_soc_info r8a7792_pinmux_info = { 3290 .name = "r8a77920_pfc", 3291 .ops = &r8a7792_pinmux_ops, 3292 .unlock_reg = 0xe6060000, /* PMMR */ 3293 3294 .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END }, 3295 3296 .pins = pinmux_pins, 3297 .nr_pins = ARRAY_SIZE(pinmux_pins), 3298 .groups = pinmux_groups, 3299 .nr_groups = ARRAY_SIZE(pinmux_groups), 3300 .functions = pinmux_functions, 3301 .nr_functions = ARRAY_SIZE(pinmux_functions), 3302 3303 .cfg_regs = pinmux_config_regs, 3304 .bias_regs = pinmux_bias_regs, 3305 3306 .pinmux_data = pinmux_data, 3307 .pinmux_data_size = ARRAY_SIZE(pinmux_data), 3308 }; 3309