root/drivers/pinctrl/sh-pfc/pfc-r8a7792.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. GP_ALL
  2. GP_ALL

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

/* [<][>][^][v][top][bottom][index][help] */