linux/drivers/pinctrl/renesas/pfc-sh7722.c
<<
>>
Prefs
   1// SPDX-License-Identifier: GPL-2.0
   2#include <linux/init.h>
   3#include <linux/kernel.h>
   4#include <linux/gpio.h>
   5#include <cpu/sh7722.h>
   6
   7#include "sh_pfc.h"
   8
   9enum {
  10        PINMUX_RESERVED = 0,
  11
  12        PINMUX_DATA_BEGIN,
  13        PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,
  14        PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA,
  15        PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,
  16        PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA,
  17        PTC7_DATA, PTC5_DATA, PTC4_DATA, PTC3_DATA, PTC2_DATA, PTC0_DATA,
  18        PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,
  19        PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA,
  20        PTE7_DATA, PTE6_DATA, PTE5_DATA, PTE4_DATA, PTE1_DATA, PTE0_DATA,
  21        PTF6_DATA, PTF5_DATA, PTF4_DATA,
  22        PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA,
  23        PTG4_DATA, PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA,
  24        PTH7_DATA, PTH6_DATA, PTH5_DATA, PTH4_DATA,
  25        PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA,
  26        PTJ7_DATA, PTJ6_DATA, PTJ5_DATA, PTJ1_DATA, PTJ0_DATA,
  27        PTK6_DATA, PTK5_DATA, PTK4_DATA,
  28        PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA,
  29        PTL7_DATA, PTL6_DATA, PTL5_DATA, PTL4_DATA,
  30        PTL3_DATA, PTL2_DATA, PTL1_DATA, PTL0_DATA,
  31        PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,
  32        PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA,
  33        PTN7_DATA, PTN6_DATA, PTN5_DATA, PTN4_DATA,
  34        PTN3_DATA, PTN2_DATA, PTN1_DATA, PTN0_DATA,
  35        PTQ6_DATA, PTQ5_DATA, PTQ4_DATA,
  36        PTQ3_DATA, PTQ2_DATA, PTQ1_DATA, PTQ0_DATA,
  37        PTR4_DATA, PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA,
  38        PTS4_DATA, PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA,
  39        PTT4_DATA, PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA,
  40        PTU4_DATA, PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA,
  41        PTV4_DATA, PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA,
  42        PTW6_DATA, PTW5_DATA, PTW4_DATA,
  43        PTW3_DATA, PTW2_DATA, PTW1_DATA, PTW0_DATA,
  44        PTX6_DATA, PTX5_DATA, PTX4_DATA,
  45        PTX3_DATA, PTX2_DATA, PTX1_DATA, PTX0_DATA,
  46        PTY6_DATA, PTY5_DATA, PTY4_DATA,
  47        PTY3_DATA, PTY2_DATA, PTY1_DATA, PTY0_DATA,
  48        PTZ5_DATA, PTZ4_DATA, PTZ3_DATA, PTZ2_DATA, PTZ1_DATA, PTZ0_DATA,
  49        PINMUX_DATA_END,
  50
  51        PINMUX_INPUT_BEGIN,
  52        PTA7_IN, PTA6_IN, PTA5_IN, PTA4_IN,
  53        PTA3_IN, PTA2_IN, PTA1_IN, PTA0_IN,
  54        PTB7_IN, PTB6_IN, PTB5_IN, PTB4_IN,
  55        PTB3_IN, PTB2_IN, PTB1_IN, PTB0_IN,
  56        PTC7_IN, PTC5_IN, PTC4_IN, PTC3_IN, PTC2_IN, PTC0_IN,
  57        PTD7_IN, PTD6_IN, PTD5_IN, PTD4_IN, PTD3_IN, PTD2_IN, PTD1_IN,
  58        PTE7_IN, PTE6_IN, PTE5_IN, PTE4_IN, PTE1_IN, PTE0_IN,
  59        PTF6_IN, PTF5_IN, PTF4_IN, PTF3_IN, PTF2_IN, PTF1_IN,
  60        PTH6_IN, PTH5_IN, PTH1_IN, PTH0_IN,
  61        PTJ1_IN, PTJ0_IN,
  62        PTK6_IN, PTK5_IN, PTK4_IN, PTK3_IN, PTK2_IN, PTK0_IN,
  63        PTL7_IN, PTL6_IN, PTL5_IN, PTL4_IN,
  64        PTL3_IN, PTL2_IN, PTL1_IN, PTL0_IN,
  65        PTM7_IN, PTM6_IN, PTM5_IN, PTM4_IN,
  66        PTM3_IN, PTM2_IN, PTM1_IN, PTM0_IN,
  67        PTN7_IN, PTN6_IN, PTN5_IN, PTN4_IN,
  68        PTN3_IN, PTN2_IN, PTN1_IN, PTN0_IN,
  69        PTQ5_IN, PTQ4_IN, PTQ3_IN, PTQ2_IN, PTQ0_IN,
  70        PTR2_IN,
  71        PTS4_IN, PTS2_IN, PTS1_IN,
  72        PTT4_IN, PTT3_IN, PTT2_IN, PTT1_IN,
  73        PTU4_IN, PTU3_IN, PTU2_IN, PTU1_IN, PTU0_IN,
  74        PTV4_IN, PTV3_IN, PTV2_IN, PTV1_IN, PTV0_IN,
  75        PTW6_IN, PTW4_IN, PTW3_IN, PTW2_IN, PTW1_IN, PTW0_IN,
  76        PTX6_IN, PTX5_IN, PTX4_IN, PTX3_IN, PTX2_IN, PTX1_IN, PTX0_IN,
  77        PTY5_IN, PTY4_IN, PTY3_IN, PTY2_IN, PTY0_IN,
  78        PTZ5_IN, PTZ4_IN, PTZ3_IN, PTZ2_IN, PTZ1_IN,
  79        PINMUX_INPUT_END,
  80
  81        PINMUX_OUTPUT_BEGIN,
  82        PTA7_OUT, PTA5_OUT,
  83        PTB7_OUT, PTB6_OUT, PTB5_OUT, PTB4_OUT,
  84        PTB3_OUT, PTB2_OUT, PTB1_OUT, PTB0_OUT,
  85        PTC4_OUT, PTC3_OUT, PTC2_OUT, PTC0_OUT,
  86        PTD6_OUT, PTD5_OUT, PTD4_OUT,
  87        PTD3_OUT, PTD2_OUT, PTD1_OUT, PTD0_OUT,
  88        PTE7_OUT, PTE6_OUT, PTE5_OUT, PTE4_OUT, PTE1_OUT, PTE0_OUT,
  89        PTF6_OUT, PTF5_OUT, PTF4_OUT, PTF3_OUT, PTF2_OUT, PTF0_OUT,
  90        PTG4_OUT, PTG3_OUT, PTG2_OUT, PTG1_OUT, PTG0_OUT,
  91        PTH7_OUT, PTH6_OUT, PTH5_OUT, PTH4_OUT,
  92        PTH3_OUT, PTH2_OUT, PTH1_OUT, PTH0_OUT,
  93        PTJ7_OUT, PTJ6_OUT, PTJ5_OUT, PTJ1_OUT, PTJ0_OUT,
  94        PTK6_OUT, PTK5_OUT, PTK4_OUT, PTK3_OUT, PTK1_OUT, PTK0_OUT,
  95        PTL7_OUT, PTL6_OUT, PTL5_OUT, PTL4_OUT,
  96        PTL3_OUT, PTL2_OUT, PTL1_OUT, PTL0_OUT,
  97        PTM7_OUT, PTM6_OUT, PTM5_OUT, PTM4_OUT,
  98        PTM3_OUT, PTM2_OUT, PTM1_OUT, PTM0_OUT,
  99        PTN7_OUT, PTN6_OUT, PTN5_OUT, PTN4_OUT,
 100        PTN3_OUT, PTN2_OUT, PTN1_OUT, PTN0_OUT, PTQ6_OUT, PTQ5_OUT, PTQ4_OUT,
 101        PTQ3_OUT, PTQ2_OUT, PTQ1_OUT, PTQ0_OUT,
 102        PTR4_OUT, PTR3_OUT, PTR1_OUT, PTR0_OUT,
 103        PTS3_OUT, PTS2_OUT, PTS0_OUT,
 104        PTT4_OUT, PTT3_OUT, PTT2_OUT, PTT0_OUT,
 105        PTU4_OUT, PTU3_OUT, PTU2_OUT, PTU0_OUT,
 106        PTV4_OUT, PTV3_OUT, PTV2_OUT, PTV1_OUT, PTV0_OUT,
 107        PTW5_OUT, PTW4_OUT, PTW3_OUT, PTW2_OUT, PTW1_OUT, PTW0_OUT,
 108        PTX6_OUT, PTX5_OUT, PTX4_OUT, PTX3_OUT, PTX2_OUT, PTX1_OUT, PTX0_OUT,
 109        PTY5_OUT, PTY4_OUT, PTY3_OUT, PTY2_OUT, PTY1_OUT, PTY0_OUT,
 110        PINMUX_OUTPUT_END,
 111
 112        PINMUX_MARK_BEGIN,
 113        SCIF0_TXD_MARK, SCIF0_RXD_MARK,
 114        SCIF0_RTS_MARK, SCIF0_CTS_MARK, SCIF0_SCK_MARK,
 115        SCIF1_TXD_MARK, SCIF1_RXD_MARK,
 116        SCIF1_RTS_MARK, SCIF1_CTS_MARK, SCIF1_SCK_MARK,
 117        SCIF2_TXD_MARK, SCIF2_RXD_MARK,
 118        SCIF2_RTS_MARK, SCIF2_CTS_MARK, SCIF2_SCK_MARK,
 119        SIOTXD_MARK, SIORXD_MARK,
 120        SIOD_MARK, SIOSTRB0_MARK, SIOSTRB1_MARK,
 121        SIOSCK_MARK, SIOMCK_MARK,
 122        VIO_D15_MARK, VIO_D14_MARK, VIO_D13_MARK, VIO_D12_MARK,
 123        VIO_D11_MARK, VIO_D10_MARK, VIO_D9_MARK, VIO_D8_MARK,
 124        VIO_D7_MARK, VIO_D6_MARK, VIO_D5_MARK, VIO_D4_MARK,
 125        VIO_D3_MARK, VIO_D2_MARK, VIO_D1_MARK, VIO_D0_MARK,
 126        VIO_CLK_MARK, VIO_VD_MARK, VIO_HD_MARK, VIO_FLD_MARK,
 127        VIO_CKO_MARK, VIO_STEX_MARK, VIO_STEM_MARK, VIO_VD2_MARK,
 128        VIO_HD2_MARK, VIO_CLK2_MARK,
 129        LCDD23_MARK, LCDD22_MARK, LCDD21_MARK, LCDD20_MARK,
 130        LCDD19_MARK, LCDD18_MARK, LCDD17_MARK, LCDD16_MARK,
 131        LCDD15_MARK, LCDD14_MARK, LCDD13_MARK, LCDD12_MARK,
 132        LCDD11_MARK, LCDD10_MARK, LCDD9_MARK, LCDD8_MARK,
 133        LCDD7_MARK, LCDD6_MARK, LCDD5_MARK, LCDD4_MARK,
 134        LCDD3_MARK, LCDD2_MARK, LCDD1_MARK, LCDD0_MARK,
 135        LCDLCLK_MARK, LCDDON_MARK, LCDVCPWC_MARK, LCDVEPWC_MARK,
 136        LCDVSYN_MARK, LCDDCK_MARK, LCDHSYN_MARK, LCDDISP_MARK,
 137        LCDRS_MARK, LCDCS_MARK, LCDWR_MARK, LCDRD_MARK,
 138        LCDDON2_MARK, LCDVCPWC2_MARK, LCDVEPWC2_MARK, LCDVSYN2_MARK,
 139        LCDCS2_MARK,
 140        IOIS16_MARK, A25_MARK, A24_MARK, A23_MARK, A22_MARK,
 141        BS_MARK, CS6B_CE1B_MARK, WAIT_MARK, CS6A_CE2B_MARK,
 142        HPD63_MARK, HPD62_MARK, HPD61_MARK, HPD60_MARK,
 143        HPD59_MARK, HPD58_MARK, HPD57_MARK, HPD56_MARK,
 144        HPD55_MARK, HPD54_MARK, HPD53_MARK, HPD52_MARK,
 145        HPD51_MARK, HPD50_MARK, HPD49_MARK, HPD48_MARK,
 146        HPDQM7_MARK, HPDQM6_MARK, HPDQM5_MARK, HPDQM4_MARK,
 147        IRQ0_MARK, IRQ1_MARK, IRQ2_MARK, IRQ3_MARK,
 148        IRQ4_MARK, IRQ5_MARK, IRQ6_MARK, IRQ7_MARK,
 149        SDHICD_MARK, SDHIWP_MARK, SDHID3_MARK, SDHID2_MARK,
 150        SDHID1_MARK, SDHID0_MARK, SDHICMD_MARK, SDHICLK_MARK,
 151        SIUAOLR_MARK, SIUAOBT_MARK, SIUAISLD_MARK, SIUAILR_MARK,
 152        SIUAIBT_MARK, SIUAOSLD_MARK, SIUMCKA_MARK, SIUFCKA_MARK,
 153        SIUBOLR_MARK, SIUBOBT_MARK, SIUBISLD_MARK, SIUBILR_MARK,
 154        SIUBIBT_MARK, SIUBOSLD_MARK, SIUMCKB_MARK, SIUFCKB_MARK,
 155        AUDSYNC_MARK, AUDATA3_MARK, AUDATA2_MARK, AUDATA1_MARK, AUDATA0_MARK,
 156        DACK_MARK, DREQ0_MARK,
 157        DV_CLKI_MARK, DV_CLK_MARK, DV_HSYNC_MARK, DV_VSYNC_MARK,
 158        DV_D15_MARK, DV_D14_MARK, DV_D13_MARK, DV_D12_MARK,
 159        DV_D11_MARK, DV_D10_MARK, DV_D9_MARK, DV_D8_MARK,
 160        DV_D7_MARK, DV_D6_MARK, DV_D5_MARK, DV_D4_MARK,
 161        DV_D3_MARK, DV_D2_MARK, DV_D1_MARK, DV_D0_MARK,
 162        STATUS0_MARK, PDSTATUS_MARK,
 163        SIOF0_MCK_MARK, SIOF0_SCK_MARK,
 164        SIOF0_SYNC_MARK, SIOF0_SS1_MARK, SIOF0_SS2_MARK,
 165        SIOF0_TXD_MARK, SIOF0_RXD_MARK,
 166        SIOF1_MCK_MARK, SIOF1_SCK_MARK,
 167        SIOF1_SYNC_MARK, SIOF1_SS1_MARK, SIOF1_SS2_MARK,
 168        SIOF1_TXD_MARK, SIOF1_RXD_MARK,
 169        SIM_D_MARK, SIM_CLK_MARK, SIM_RST_MARK,
 170        TS_SDAT_MARK, TS_SCK_MARK, TS_SDEN_MARK, TS_SPSYNC_MARK,
 171        IRDA_IN_MARK, IRDA_OUT_MARK,
 172        TPUTO_MARK,
 173        FCE_MARK, NAF7_MARK, NAF6_MARK, NAF5_MARK, NAF4_MARK,
 174        NAF3_MARK, NAF2_MARK, NAF1_MARK, NAF0_MARK, FCDE_MARK,
 175        FOE_MARK, FSC_MARK, FWE_MARK, FRB_MARK,
 176        KEYIN0_MARK, KEYIN1_MARK, KEYIN2_MARK, KEYIN3_MARK, KEYIN4_MARK,
 177        KEYOUT0_MARK, KEYOUT1_MARK, KEYOUT2_MARK, KEYOUT3_MARK,
 178        KEYOUT4_IN6_MARK, KEYOUT5_IN5_MARK,
 179        PINMUX_MARK_END,
 180
 181        PINMUX_FUNCTION_BEGIN,
 182        VIO_D7_SCIF1_SCK, VIO_D6_SCIF1_RXD, VIO_D5_SCIF1_TXD, VIO_D4,
 183        VIO_D3, VIO_D2, VIO_D1, VIO_D0_LCDLCLK,
 184        HPD55, HPD54, HPD53, HPD52, HPD51, HPD50, HPD49, HPD48,
 185        IOIS16, HPDQM7, HPDQM6, HPDQM5, HPDQM4,
 186        SDHICD, SDHIWP, SDHID3, IRQ2_SDHID2, SDHID1, SDHID0, SDHICMD, SDHICLK,
 187        A25, A24, A23, A22, IRQ5, IRQ4_BS,
 188        PTF6, SIOSCK_SIUBOBT, SIOSTRB1_SIUBOLR,
 189        SIOSTRB0_SIUBIBT, SIOD_SIUBILR, SIORXD_SIUBISLD, SIOTXD_SIUBOSLD,
 190        AUDSYNC, AUDATA3, AUDATA2, AUDATA1, AUDATA0,
 191        LCDVCPWC_LCDVCPWC2, LCDVSYN2_DACK, LCDVSYN, LCDDISP_LCDRS,
 192        LCDHSYN_LCDCS, LCDDON_LCDDON2, LCDD17_DV_HSYNC, LCDD16_DV_VSYNC,
 193        STATUS0, PDSTATUS, IRQ1, IRQ0,
 194        SIUAILR_SIOF1_SS2, SIUAIBT_SIOF1_SS1, SIUAOLR_SIOF1_SYNC,
 195        SIUAOBT_SIOF1_SCK, SIUAISLD_SIOF1_RXD, SIUAOSLD_SIOF1_TXD, PTK0,
 196        LCDD15_DV_D15, LCDD14_DV_D14, LCDD13_DV_D13, LCDD12_DV_D12,
 197        LCDD11_DV_D11, LCDD10_DV_D10, LCDD9_DV_D9, LCDD8_DV_D8,
 198        LCDD7_DV_D7, LCDD6_DV_D6, LCDD5_DV_D5, LCDD4_DV_D4,
 199        LCDD3_DV_D3, LCDD2_DV_D2, LCDD1_DV_D1, LCDD0_DV_D0,
 200        HPD63, HPD62, HPD61, HPD60, HPD59, HPD58, HPD57, HPD56,
 201        SIOF0_SS2_SIM_RST, SIOF0_SS1_TS_SPSYNC, SIOF0_SYNC_TS_SDEN,
 202        SIOF0_SCK_TS_SCK, PTQ2, PTQ1, PTQ0,
 203        LCDRD, CS6B_CE1B_LCDCS2, WAIT, LCDDCK_LCDWR, LCDVEPWC_LCDVEPWC2,
 204        SCIF0_CTS_SIUAISPD, SCIF0_RTS_SIUAOSPD,
 205        SCIF0_SCK_TPUTO, SCIF0_RXD, SCIF0_TXD,
 206        FOE_VIO_VD2, FWE, FSC, DREQ0, FCDE,
 207        NAF2_VIO_D10, NAF1_VIO_D9, NAF0_VIO_D8,
 208        FRB_VIO_CLK2, FCE_VIO_HD2,
 209        NAF7_VIO_D15, NAF6_VIO_D14, NAF5_VIO_D13, NAF4_VIO_D12, NAF3_VIO_D11,
 210        VIO_FLD_SCIF2_CTS, VIO_CKO_SCIF2_RTS, VIO_STEX_SCIF2_SCK,
 211        VIO_STEM_SCIF2_TXD, VIO_HD_SCIF2_RXD,
 212        VIO_VD_SCIF1_CTS, VIO_CLK_SCIF1_RTS,
 213        CS6A_CE2B, LCDD23, LCDD22, LCDD21, LCDD20,
 214        LCDD19_DV_CLKI, LCDD18_DV_CLK,
 215        KEYOUT5_IN5, KEYOUT4_IN6, KEYOUT3, KEYOUT2, KEYOUT1, KEYOUT0,
 216        KEYIN4_IRQ7, KEYIN3, KEYIN2, KEYIN1, KEYIN0_IRQ6,
 217
 218        PSA15_KEYIN0, PSA15_IRQ6, PSA14_KEYIN4, PSA14_IRQ7,
 219        PSA9_IRQ4, PSA9_BS, PSA4_IRQ2, PSA4_SDHID2,
 220        PSB15_SIOTXD, PSB15_SIUBOSLD, PSB14_SIORXD, PSB14_SIUBISLD,
 221        PSB13_SIOD, PSB13_SIUBILR, PSB12_SIOSTRB0, PSB12_SIUBIBT,
 222        PSB11_SIOSTRB1, PSB11_SIUBOLR, PSB10_SIOSCK, PSB10_SIUBOBT,
 223        PSB9_SIOMCK, PSB9_SIUMCKB, PSB8_SIOF0_MCK, PSB8_IRQ3,
 224        PSB7_SIOF0_TXD, PSB7_IRDA_OUT, PSB6_SIOF0_RXD, PSB6_IRDA_IN,
 225        PSB5_SIOF0_SCK, PSB5_TS_SCK, PSB4_SIOF0_SYNC, PSB4_TS_SDEN,
 226        PSB3_SIOF0_SS1, PSB3_TS_SPSYNC, PSB2_SIOF0_SS2, PSB2_SIM_RST,
 227        PSB1_SIUMCKA, PSB1_SIOF1_MCK, PSB0_SIUAOSLD, PSB0_SIOF1_TXD,
 228        PSC15_SIUAISLD, PSC15_SIOF1_RXD, PSC14_SIUAOBT, PSC14_SIOF1_SCK,
 229        PSC13_SIUAOLR, PSC13_SIOF1_SYNC, PSC12_SIUAIBT, PSC12_SIOF1_SS1,
 230        PSC11_SIUAILR, PSC11_SIOF1_SS2, PSC0_NAF, PSC0_VIO,
 231        PSD13_VIO, PSD13_SCIF2, PSD12_VIO, PSD12_SCIF1,
 232        PSD11_VIO, PSD11_SCIF1, PSD10_VIO_D0, PSD10_LCDLCLK,
 233        PSD9_SIOMCK_SIUMCKB, PSD9_SIUFCKB, PSD8_SCIF0_SCK, PSD8_TPUTO,
 234        PSD7_SCIF0_RTS, PSD7_SIUAOSPD, PSD6_SCIF0_CTS, PSD6_SIUAISPD,
 235        PSD5_CS6B_CE1B, PSD5_LCDCS2,
 236        PSD3_LCDVEPWC_LCDVCPWC, PSD3_LCDVEPWC2_LCDVCPWC2,
 237        PSD2_LCDDON, PSD2_LCDDON2, PSD0_LCDD19_LCDD0, PSD0_DV,
 238        PSE15_SIOF0_MCK_IRQ3, PSE15_SIM_D,
 239        PSE14_SIOF0_TXD_IRDA_OUT, PSE14_SIM_CLK,
 240        PSE13_SIOF0_RXD_IRDA_IN, PSE13_TS_SDAT, PSE12_LCDVSYN2, PSE12_DACK,
 241        PSE11_SIUMCKA_SIOF1_MCK, PSE11_SIUFCKA,
 242        PSE3_FLCTL, PSE3_VIO, PSE2_NAF2, PSE2_VIO_D10,
 243        PSE1_NAF1, PSE1_VIO_D9, PSE0_NAF0, PSE0_VIO_D8,
 244
 245        HIZA14_KEYSC, HIZA14_HIZ,
 246        HIZA10_NAF, HIZA10_HIZ,
 247        HIZA9_VIO, HIZA9_HIZ,
 248        HIZA8_LCDC, HIZA8_HIZ,
 249        HIZA7_LCDC, HIZA7_HIZ,
 250        HIZA6_LCDC, HIZA6_HIZ,
 251        HIZB4_SIUA, HIZB4_HIZ,
 252        HIZB1_VIO, HIZB1_HIZ,
 253        HIZB0_VIO, HIZB0_HIZ,
 254        HIZC15_IRQ7, HIZC15_HIZ,
 255        HIZC14_IRQ6, HIZC14_HIZ,
 256        HIZC13_IRQ5, HIZC13_HIZ,
 257        HIZC12_IRQ4, HIZC12_HIZ,
 258        HIZC11_IRQ3, HIZC11_HIZ,
 259        HIZC10_IRQ2, HIZC10_HIZ,
 260        HIZC9_IRQ1, HIZC9_HIZ,
 261        HIZC8_IRQ0, HIZC8_HIZ,
 262        MSELB9_VIO, MSELB9_VIO2,
 263        MSELB8_RGB, MSELB8_SYS,
 264        PINMUX_FUNCTION_END,
 265};
 266
 267static const u16 pinmux_data[] = {
 268        /* PTA */
 269        PINMUX_DATA(PTA7_DATA, PTA7_IN, PTA7_OUT),
 270        PINMUX_DATA(PTA6_DATA, PTA6_IN),
 271        PINMUX_DATA(PTA5_DATA, PTA5_IN, PTA5_OUT),
 272        PINMUX_DATA(PTA4_DATA, PTA4_IN),
 273        PINMUX_DATA(PTA3_DATA, PTA3_IN),
 274        PINMUX_DATA(PTA2_DATA, PTA2_IN),
 275        PINMUX_DATA(PTA1_DATA, PTA1_IN),
 276        PINMUX_DATA(PTA0_DATA, PTA0_IN),
 277
 278        /* PTB */
 279        PINMUX_DATA(PTB7_DATA, PTB7_IN, PTB7_OUT),
 280        PINMUX_DATA(PTB6_DATA, PTB6_IN, PTB6_OUT),
 281        PINMUX_DATA(PTB5_DATA, PTB5_IN, PTB5_OUT),
 282        PINMUX_DATA(PTB4_DATA, PTB4_IN, PTB4_OUT),
 283        PINMUX_DATA(PTB3_DATA, PTB3_IN, PTB3_OUT),
 284        PINMUX_DATA(PTB2_DATA, PTB2_IN, PTB2_OUT),
 285        PINMUX_DATA(PTB1_DATA, PTB1_IN, PTB1_OUT),
 286        PINMUX_DATA(PTB0_DATA, PTB0_IN, PTB0_OUT),
 287
 288        /* PTC */
 289        PINMUX_DATA(PTC7_DATA, PTC7_IN),
 290        PINMUX_DATA(PTC5_DATA, PTC5_IN),
 291        PINMUX_DATA(PTC4_DATA, PTC4_IN, PTC4_OUT),
 292        PINMUX_DATA(PTC3_DATA, PTC3_IN, PTC3_OUT),
 293        PINMUX_DATA(PTC2_DATA, PTC2_IN, PTC2_OUT),
 294        PINMUX_DATA(PTC0_DATA, PTC0_IN, PTC0_OUT),
 295
 296        /* PTD */
 297        PINMUX_DATA(PTD7_DATA, PTD7_IN),
 298        PINMUX_DATA(PTD6_DATA, PTD6_OUT, PTD6_IN),
 299        PINMUX_DATA(PTD5_DATA, PTD5_OUT, PTD5_IN),
 300        PINMUX_DATA(PTD4_DATA, PTD4_OUT, PTD4_IN),
 301        PINMUX_DATA(PTD3_DATA, PTD3_OUT, PTD3_IN),
 302        PINMUX_DATA(PTD2_DATA, PTD2_OUT, PTD2_IN),
 303        PINMUX_DATA(PTD1_DATA, PTD1_OUT, PTD1_IN),
 304        PINMUX_DATA(PTD0_DATA, PTD0_OUT),
 305
 306        /* PTE */
 307        PINMUX_DATA(PTE7_DATA, PTE7_OUT, PTE7_IN),
 308        PINMUX_DATA(PTE6_DATA, PTE6_OUT, PTE6_IN),
 309        PINMUX_DATA(PTE5_DATA, PTE5_OUT, PTE5_IN),
 310        PINMUX_DATA(PTE4_DATA, PTE4_OUT, PTE4_IN),
 311        PINMUX_DATA(PTE1_DATA, PTE1_OUT, PTE1_IN),
 312        PINMUX_DATA(PTE0_DATA, PTE0_OUT, PTE0_IN),
 313
 314        /* PTF */
 315        PINMUX_DATA(PTF6_DATA, PTF6_OUT, PTF6_IN),
 316        PINMUX_DATA(PTF5_DATA, PTF5_OUT, PTF5_IN),
 317        PINMUX_DATA(PTF4_DATA, PTF4_OUT, PTF4_IN),
 318        PINMUX_DATA(PTF3_DATA, PTF3_OUT, PTF3_IN),
 319        PINMUX_DATA(PTF2_DATA, PTF2_OUT, PTF2_IN),
 320        PINMUX_DATA(PTF1_DATA, PTF1_IN),
 321        PINMUX_DATA(PTF0_DATA, PTF0_OUT),
 322
 323        /* PTG */
 324        PINMUX_DATA(PTG4_DATA, PTG4_OUT),
 325        PINMUX_DATA(PTG3_DATA, PTG3_OUT),
 326        PINMUX_DATA(PTG2_DATA, PTG2_OUT),
 327        PINMUX_DATA(PTG1_DATA, PTG1_OUT),
 328        PINMUX_DATA(PTG0_DATA, PTG0_OUT),
 329
 330        /* PTH */
 331        PINMUX_DATA(PTH7_DATA, PTH7_OUT),
 332        PINMUX_DATA(PTH6_DATA, PTH6_OUT, PTH6_IN),
 333        PINMUX_DATA(PTH5_DATA, PTH5_OUT, PTH5_IN),
 334        PINMUX_DATA(PTH4_DATA, PTH4_OUT),
 335        PINMUX_DATA(PTH3_DATA, PTH3_OUT),
 336        PINMUX_DATA(PTH2_DATA, PTH2_OUT),
 337        PINMUX_DATA(PTH1_DATA, PTH1_OUT, PTH1_IN),
 338        PINMUX_DATA(PTH0_DATA, PTH0_OUT, PTH0_IN),
 339
 340        /* PTJ */
 341        PINMUX_DATA(PTJ7_DATA, PTJ7_OUT),
 342        PINMUX_DATA(PTJ6_DATA, PTJ6_OUT),
 343        PINMUX_DATA(PTJ5_DATA, PTJ5_OUT),
 344        PINMUX_DATA(PTJ1_DATA, PTJ1_OUT, PTJ1_IN),
 345        PINMUX_DATA(PTJ0_DATA, PTJ0_OUT, PTJ0_IN),
 346
 347        /* PTK */
 348        PINMUX_DATA(PTK6_DATA, PTK6_OUT, PTK6_IN),
 349        PINMUX_DATA(PTK5_DATA, PTK5_OUT, PTK5_IN),
 350        PINMUX_DATA(PTK4_DATA, PTK4_OUT, PTK4_IN),
 351        PINMUX_DATA(PTK3_DATA, PTK3_OUT, PTK3_IN),
 352        PINMUX_DATA(PTK2_DATA, PTK2_IN),
 353        PINMUX_DATA(PTK1_DATA, PTK1_OUT),
 354        PINMUX_DATA(PTK0_DATA, PTK0_OUT, PTK0_IN),
 355
 356        /* PTL */
 357        PINMUX_DATA(PTL7_DATA, PTL7_OUT, PTL7_IN),
 358        PINMUX_DATA(PTL6_DATA, PTL6_OUT, PTL6_IN),
 359        PINMUX_DATA(PTL5_DATA, PTL5_OUT, PTL5_IN),
 360        PINMUX_DATA(PTL4_DATA, PTL4_OUT, PTL4_IN),
 361        PINMUX_DATA(PTL3_DATA, PTL3_OUT, PTL3_IN),
 362        PINMUX_DATA(PTL2_DATA, PTL2_OUT, PTL2_IN),
 363        PINMUX_DATA(PTL1_DATA, PTL1_OUT, PTL1_IN),
 364        PINMUX_DATA(PTL0_DATA, PTL0_OUT, PTL0_IN),
 365
 366        /* PTM */
 367        PINMUX_DATA(PTM7_DATA, PTM7_OUT, PTM7_IN),
 368        PINMUX_DATA(PTM6_DATA, PTM6_OUT, PTM6_IN),
 369        PINMUX_DATA(PTM5_DATA, PTM5_OUT, PTM5_IN),
 370        PINMUX_DATA(PTM4_DATA, PTM4_OUT, PTM4_IN),
 371        PINMUX_DATA(PTM3_DATA, PTM3_OUT, PTM3_IN),
 372        PINMUX_DATA(PTM2_DATA, PTM2_OUT, PTM2_IN),
 373        PINMUX_DATA(PTM1_DATA, PTM1_OUT, PTM1_IN),
 374        PINMUX_DATA(PTM0_DATA, PTM0_OUT, PTM0_IN),
 375
 376        /* PTN */
 377        PINMUX_DATA(PTN7_DATA, PTN7_OUT, PTN7_IN),
 378        PINMUX_DATA(PTN6_DATA, PTN6_OUT, PTN6_IN),
 379        PINMUX_DATA(PTN5_DATA, PTN5_OUT, PTN5_IN),
 380        PINMUX_DATA(PTN4_DATA, PTN4_OUT, PTN4_IN),
 381        PINMUX_DATA(PTN3_DATA, PTN3_OUT, PTN3_IN),
 382        PINMUX_DATA(PTN2_DATA, PTN2_OUT, PTN2_IN),
 383        PINMUX_DATA(PTN1_DATA, PTN1_OUT, PTN1_IN),
 384        PINMUX_DATA(PTN0_DATA, PTN0_OUT, PTN0_IN),
 385
 386        /* PTQ */
 387        PINMUX_DATA(PTQ6_DATA, PTQ6_OUT),
 388        PINMUX_DATA(PTQ5_DATA, PTQ5_OUT, PTQ5_IN),
 389        PINMUX_DATA(PTQ4_DATA, PTQ4_OUT, PTQ4_IN),
 390        PINMUX_DATA(PTQ3_DATA, PTQ3_OUT, PTQ3_IN),
 391        PINMUX_DATA(PTQ2_DATA, PTQ2_IN),
 392        PINMUX_DATA(PTQ1_DATA, PTQ1_OUT),
 393        PINMUX_DATA(PTQ0_DATA, PTQ0_OUT, PTQ0_IN),
 394
 395        /* PTR */
 396        PINMUX_DATA(PTR4_DATA, PTR4_OUT),
 397        PINMUX_DATA(PTR3_DATA, PTR3_OUT),
 398        PINMUX_DATA(PTR2_DATA, PTR2_IN),
 399        PINMUX_DATA(PTR1_DATA, PTR1_OUT),
 400        PINMUX_DATA(PTR0_DATA, PTR0_OUT),
 401
 402        /* PTS */
 403        PINMUX_DATA(PTS4_DATA, PTS4_IN),
 404        PINMUX_DATA(PTS3_DATA, PTS3_OUT),
 405        PINMUX_DATA(PTS2_DATA, PTS2_OUT, PTS2_IN),
 406        PINMUX_DATA(PTS1_DATA, PTS1_IN),
 407        PINMUX_DATA(PTS0_DATA, PTS0_OUT),
 408
 409        /* PTT */
 410        PINMUX_DATA(PTT4_DATA, PTT4_OUT, PTT4_IN),
 411        PINMUX_DATA(PTT3_DATA, PTT3_OUT, PTT3_IN),
 412        PINMUX_DATA(PTT2_DATA, PTT2_OUT, PTT2_IN),
 413        PINMUX_DATA(PTT1_DATA, PTT1_IN),
 414        PINMUX_DATA(PTT0_DATA, PTT0_OUT),
 415
 416        /* PTU */
 417        PINMUX_DATA(PTU4_DATA, PTU4_OUT, PTU4_IN),
 418        PINMUX_DATA(PTU3_DATA, PTU3_OUT, PTU3_IN),
 419        PINMUX_DATA(PTU2_DATA, PTU2_OUT, PTU2_IN),
 420        PINMUX_DATA(PTU1_DATA, PTU1_IN),
 421        PINMUX_DATA(PTU0_DATA, PTU0_OUT, PTU0_IN),
 422
 423        /* PTV */
 424        PINMUX_DATA(PTV4_DATA, PTV4_OUT, PTV4_IN),
 425        PINMUX_DATA(PTV3_DATA, PTV3_OUT, PTV3_IN),
 426        PINMUX_DATA(PTV2_DATA, PTV2_OUT, PTV2_IN),
 427        PINMUX_DATA(PTV1_DATA, PTV1_OUT, PTV1_IN),
 428        PINMUX_DATA(PTV0_DATA, PTV0_OUT, PTV0_IN),
 429
 430        /* PTW */
 431        PINMUX_DATA(PTW6_DATA, PTW6_IN),
 432        PINMUX_DATA(PTW5_DATA, PTW5_OUT),
 433        PINMUX_DATA(PTW4_DATA, PTW4_OUT, PTW4_IN),
 434        PINMUX_DATA(PTW3_DATA, PTW3_OUT, PTW3_IN),
 435        PINMUX_DATA(PTW2_DATA, PTW2_OUT, PTW2_IN),
 436        PINMUX_DATA(PTW1_DATA, PTW1_OUT, PTW1_IN),
 437        PINMUX_DATA(PTW0_DATA, PTW0_OUT, PTW0_IN),
 438
 439        /* PTX */
 440        PINMUX_DATA(PTX6_DATA, PTX6_OUT, PTX6_IN),
 441        PINMUX_DATA(PTX5_DATA, PTX5_OUT, PTX5_IN),
 442        PINMUX_DATA(PTX4_DATA, PTX4_OUT, PTX4_IN),
 443        PINMUX_DATA(PTX3_DATA, PTX3_OUT, PTX3_IN),
 444        PINMUX_DATA(PTX2_DATA, PTX2_OUT, PTX2_IN),
 445        PINMUX_DATA(PTX1_DATA, PTX1_OUT, PTX1_IN),
 446        PINMUX_DATA(PTX0_DATA, PTX0_OUT, PTX0_IN),
 447
 448        /* PTY */
 449        PINMUX_DATA(PTY5_DATA, PTY5_OUT, PTY5_IN),
 450        PINMUX_DATA(PTY4_DATA, PTY4_OUT, PTY4_IN),
 451        PINMUX_DATA(PTY3_DATA, PTY3_OUT, PTY3_IN),
 452        PINMUX_DATA(PTY2_DATA, PTY2_OUT, PTY2_IN),
 453        PINMUX_DATA(PTY1_DATA, PTY1_OUT),
 454        PINMUX_DATA(PTY0_DATA, PTY0_OUT, PTY0_IN),
 455
 456        /* PTZ */
 457        PINMUX_DATA(PTZ5_DATA, PTZ5_IN),
 458        PINMUX_DATA(PTZ4_DATA, PTZ4_IN),
 459        PINMUX_DATA(PTZ3_DATA, PTZ3_IN),
 460        PINMUX_DATA(PTZ2_DATA, PTZ2_IN),
 461        PINMUX_DATA(PTZ1_DATA, PTZ1_IN),
 462
 463        /* SCIF0 */
 464        PINMUX_DATA(SCIF0_TXD_MARK, SCIF0_TXD),
 465        PINMUX_DATA(SCIF0_RXD_MARK, SCIF0_RXD),
 466        PINMUX_DATA(SCIF0_RTS_MARK, PSD7_SCIF0_RTS, SCIF0_RTS_SIUAOSPD),
 467        PINMUX_DATA(SCIF0_CTS_MARK, PSD6_SCIF0_CTS, SCIF0_CTS_SIUAISPD),
 468        PINMUX_DATA(SCIF0_SCK_MARK, PSD8_SCIF0_SCK, SCIF0_SCK_TPUTO),
 469
 470        /* SCIF1 */
 471        PINMUX_DATA(SCIF1_TXD_MARK, PSD11_SCIF1, VIO_D5_SCIF1_TXD),
 472        PINMUX_DATA(SCIF1_RXD_MARK, PSD11_SCIF1, VIO_D6_SCIF1_RXD),
 473        PINMUX_DATA(SCIF1_RTS_MARK, PSD12_SCIF1, VIO_CLK_SCIF1_RTS),
 474        PINMUX_DATA(SCIF1_CTS_MARK, PSD12_SCIF1, VIO_VD_SCIF1_CTS),
 475        PINMUX_DATA(SCIF1_SCK_MARK, PSD11_SCIF1, VIO_D7_SCIF1_SCK),
 476
 477        /* SCIF2 */
 478        PINMUX_DATA(SCIF2_TXD_MARK, PSD13_SCIF2, VIO_STEM_SCIF2_TXD),
 479        PINMUX_DATA(SCIF2_RXD_MARK, PSD13_SCIF2, VIO_HD_SCIF2_RXD),
 480        PINMUX_DATA(SCIF2_RTS_MARK, PSD13_SCIF2, VIO_CKO_SCIF2_RTS),
 481        PINMUX_DATA(SCIF2_CTS_MARK, PSD13_SCIF2, VIO_FLD_SCIF2_CTS),
 482        PINMUX_DATA(SCIF2_SCK_MARK, PSD13_SCIF2, VIO_STEX_SCIF2_SCK),
 483
 484        /* SIO */
 485        PINMUX_DATA(SIOTXD_MARK, PSB15_SIOTXD, SIOTXD_SIUBOSLD),
 486        PINMUX_DATA(SIORXD_MARK, PSB14_SIORXD, SIORXD_SIUBISLD),
 487        PINMUX_DATA(SIOD_MARK, PSB13_SIOD, SIOD_SIUBILR),
 488        PINMUX_DATA(SIOSTRB0_MARK, PSB12_SIOSTRB0, SIOSTRB0_SIUBIBT),
 489        PINMUX_DATA(SIOSTRB1_MARK, PSB11_SIOSTRB1, SIOSTRB1_SIUBOLR),
 490        PINMUX_DATA(SIOSCK_MARK, PSB10_SIOSCK, SIOSCK_SIUBOBT),
 491        PINMUX_DATA(SIOMCK_MARK, PSD9_SIOMCK_SIUMCKB, PSB9_SIOMCK, PTF6),
 492
 493        /* CEU */
 494        PINMUX_DATA(VIO_D15_MARK, PSC0_VIO, HIZA10_NAF, NAF7_VIO_D15),
 495        PINMUX_DATA(VIO_D14_MARK, PSC0_VIO, HIZA10_NAF, NAF6_VIO_D14),
 496        PINMUX_DATA(VIO_D13_MARK, PSC0_VIO, HIZA10_NAF, NAF5_VIO_D13),
 497        PINMUX_DATA(VIO_D12_MARK, PSC0_VIO, HIZA10_NAF, NAF4_VIO_D12),
 498        PINMUX_DATA(VIO_D11_MARK, PSC0_VIO, HIZA10_NAF, NAF3_VIO_D11),
 499        PINMUX_DATA(VIO_D10_MARK, PSE2_VIO_D10, HIZB0_VIO, NAF2_VIO_D10),
 500        PINMUX_DATA(VIO_D9_MARK, PSE1_VIO_D9, HIZB0_VIO, NAF1_VIO_D9),
 501        PINMUX_DATA(VIO_D8_MARK, PSE0_VIO_D8, HIZB0_VIO, NAF0_VIO_D8),
 502        PINMUX_DATA(VIO_D7_MARK, PSD11_VIO, VIO_D7_SCIF1_SCK),
 503        PINMUX_DATA(VIO_D6_MARK, PSD11_VIO, VIO_D6_SCIF1_RXD),
 504        PINMUX_DATA(VIO_D5_MARK, PSD11_VIO, VIO_D5_SCIF1_TXD),
 505        PINMUX_DATA(VIO_D4_MARK, VIO_D4),
 506        PINMUX_DATA(VIO_D3_MARK, VIO_D3),
 507        PINMUX_DATA(VIO_D2_MARK, VIO_D2),
 508        PINMUX_DATA(VIO_D1_MARK, VIO_D1),
 509        PINMUX_DATA(VIO_D0_MARK, PSD10_VIO_D0, VIO_D0_LCDLCLK),
 510        PINMUX_DATA(VIO_CLK_MARK, PSD12_VIO, MSELB9_VIO, VIO_CLK_SCIF1_RTS),
 511        PINMUX_DATA(VIO_VD_MARK, PSD12_VIO, MSELB9_VIO, VIO_VD_SCIF1_CTS),
 512        PINMUX_DATA(VIO_HD_MARK, PSD13_VIO, MSELB9_VIO, VIO_HD_SCIF2_RXD),
 513        PINMUX_DATA(VIO_FLD_MARK, PSD13_VIO, HIZA9_VIO, VIO_FLD_SCIF2_CTS),
 514        PINMUX_DATA(VIO_CKO_MARK, PSD13_VIO, HIZA9_VIO, VIO_CKO_SCIF2_RTS),
 515        PINMUX_DATA(VIO_STEX_MARK, PSD13_VIO, HIZA9_VIO, VIO_STEX_SCIF2_SCK),
 516        PINMUX_DATA(VIO_STEM_MARK, PSD13_VIO, HIZA9_VIO, VIO_STEM_SCIF2_TXD),
 517        PINMUX_DATA(VIO_VD2_MARK, PSE3_VIO, MSELB9_VIO2,
 518                    HIZB0_VIO, FOE_VIO_VD2),
 519        PINMUX_DATA(VIO_HD2_MARK, PSE3_VIO, MSELB9_VIO2,
 520                    HIZB1_VIO, FCE_VIO_HD2),
 521        PINMUX_DATA(VIO_CLK2_MARK, PSE3_VIO, MSELB9_VIO2,
 522                    HIZB1_VIO, FRB_VIO_CLK2),
 523
 524        /* LCDC */
 525        PINMUX_DATA(LCDD23_MARK, HIZA8_LCDC, LCDD23),
 526        PINMUX_DATA(LCDD22_MARK, HIZA8_LCDC, LCDD22),
 527        PINMUX_DATA(LCDD21_MARK, HIZA8_LCDC, LCDD21),
 528        PINMUX_DATA(LCDD20_MARK, HIZA8_LCDC, LCDD20),
 529        PINMUX_DATA(LCDD19_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD19_DV_CLKI),
 530        PINMUX_DATA(LCDD18_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD18_DV_CLK),
 531        PINMUX_DATA(LCDD17_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC,
 532                    LCDD17_DV_HSYNC),
 533        PINMUX_DATA(LCDD16_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC,
 534                    LCDD16_DV_VSYNC),
 535        PINMUX_DATA(LCDD15_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD15_DV_D15),
 536        PINMUX_DATA(LCDD14_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD14_DV_D14),
 537        PINMUX_DATA(LCDD13_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD13_DV_D13),
 538        PINMUX_DATA(LCDD12_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD12_DV_D12),
 539        PINMUX_DATA(LCDD11_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD11_DV_D11),
 540        PINMUX_DATA(LCDD10_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD10_DV_D10),
 541        PINMUX_DATA(LCDD9_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD9_DV_D9),
 542        PINMUX_DATA(LCDD8_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD8_DV_D8),
 543        PINMUX_DATA(LCDD7_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD7_DV_D7),
 544        PINMUX_DATA(LCDD6_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD6_DV_D6),
 545        PINMUX_DATA(LCDD5_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD5_DV_D5),
 546        PINMUX_DATA(LCDD4_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD4_DV_D4),
 547        PINMUX_DATA(LCDD3_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD3_DV_D3),
 548        PINMUX_DATA(LCDD2_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD2_DV_D2),
 549        PINMUX_DATA(LCDD1_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD1_DV_D1),
 550        PINMUX_DATA(LCDD0_MARK, PSD0_LCDD19_LCDD0, HIZA8_LCDC, LCDD0_DV_D0),
 551        PINMUX_DATA(LCDLCLK_MARK, PSD10_LCDLCLK, VIO_D0_LCDLCLK),
 552        /* Main LCD */
 553        PINMUX_DATA(LCDDON_MARK, PSD2_LCDDON, HIZA7_LCDC, LCDDON_LCDDON2),
 554        PINMUX_DATA(LCDVCPWC_MARK, PSD3_LCDVEPWC_LCDVCPWC,
 555                    HIZA6_LCDC, LCDVCPWC_LCDVCPWC2),
 556        PINMUX_DATA(LCDVEPWC_MARK, PSD3_LCDVEPWC_LCDVCPWC,
 557                    HIZA6_LCDC, LCDVEPWC_LCDVEPWC2),
 558        PINMUX_DATA(LCDVSYN_MARK, HIZA7_LCDC, LCDVSYN),
 559        /* Main LCD - RGB Mode */
 560        PINMUX_DATA(LCDDCK_MARK, MSELB8_RGB, HIZA8_LCDC, LCDDCK_LCDWR),
 561        PINMUX_DATA(LCDHSYN_MARK, MSELB8_RGB, HIZA7_LCDC, LCDHSYN_LCDCS),
 562        PINMUX_DATA(LCDDISP_MARK, MSELB8_RGB, HIZA7_LCDC, LCDDISP_LCDRS),
 563        /* Main LCD - SYS Mode */
 564        PINMUX_DATA(LCDRS_MARK, MSELB8_SYS, HIZA7_LCDC, LCDDISP_LCDRS),
 565        PINMUX_DATA(LCDCS_MARK, MSELB8_SYS, HIZA7_LCDC, LCDHSYN_LCDCS),
 566        PINMUX_DATA(LCDWR_MARK, MSELB8_SYS, HIZA8_LCDC, LCDDCK_LCDWR),
 567        PINMUX_DATA(LCDRD_MARK, HIZA7_LCDC, LCDRD),
 568        /* Sub LCD - SYS Mode */
 569        PINMUX_DATA(LCDDON2_MARK, PSD2_LCDDON2, HIZA7_LCDC, LCDDON_LCDDON2),
 570        PINMUX_DATA(LCDVCPWC2_MARK, PSD3_LCDVEPWC2_LCDVCPWC2,
 571                    HIZA6_LCDC, LCDVCPWC_LCDVCPWC2),
 572        PINMUX_DATA(LCDVEPWC2_MARK, PSD3_LCDVEPWC2_LCDVCPWC2,
 573                    HIZA6_LCDC, LCDVEPWC_LCDVEPWC2),
 574        PINMUX_DATA(LCDVSYN2_MARK, PSE12_LCDVSYN2, HIZA8_LCDC, LCDVSYN2_DACK),
 575        PINMUX_DATA(LCDCS2_MARK, PSD5_LCDCS2, CS6B_CE1B_LCDCS2),
 576
 577        /* BSC */
 578        PINMUX_DATA(IOIS16_MARK, IOIS16),
 579        PINMUX_DATA(A25_MARK, A25),
 580        PINMUX_DATA(A24_MARK, A24),
 581        PINMUX_DATA(A23_MARK, A23),
 582        PINMUX_DATA(A22_MARK, A22),
 583        PINMUX_DATA(BS_MARK, PSA9_BS, IRQ4_BS),
 584        PINMUX_DATA(CS6B_CE1B_MARK, PSD5_CS6B_CE1B, CS6B_CE1B_LCDCS2),
 585        PINMUX_DATA(WAIT_MARK, WAIT),
 586        PINMUX_DATA(CS6A_CE2B_MARK, CS6A_CE2B),
 587
 588        /* SBSC */
 589        PINMUX_DATA(HPD63_MARK, HPD63),
 590        PINMUX_DATA(HPD62_MARK, HPD62),
 591        PINMUX_DATA(HPD61_MARK, HPD61),
 592        PINMUX_DATA(HPD60_MARK, HPD60),
 593        PINMUX_DATA(HPD59_MARK, HPD59),
 594        PINMUX_DATA(HPD58_MARK, HPD58),
 595        PINMUX_DATA(HPD57_MARK, HPD57),
 596        PINMUX_DATA(HPD56_MARK, HPD56),
 597        PINMUX_DATA(HPD55_MARK, HPD55),
 598        PINMUX_DATA(HPD54_MARK, HPD54),
 599        PINMUX_DATA(HPD53_MARK, HPD53),
 600        PINMUX_DATA(HPD52_MARK, HPD52),
 601        PINMUX_DATA(HPD51_MARK, HPD51),
 602        PINMUX_DATA(HPD50_MARK, HPD50),
 603        PINMUX_DATA(HPD49_MARK, HPD49),
 604        PINMUX_DATA(HPD48_MARK, HPD48),
 605        PINMUX_DATA(HPDQM7_MARK, HPDQM7),
 606        PINMUX_DATA(HPDQM6_MARK, HPDQM6),
 607        PINMUX_DATA(HPDQM5_MARK, HPDQM5),
 608        PINMUX_DATA(HPDQM4_MARK, HPDQM4),
 609
 610        /* IRQ */
 611        PINMUX_DATA(IRQ0_MARK, HIZC8_IRQ0, IRQ0),
 612        PINMUX_DATA(IRQ1_MARK, HIZC9_IRQ1, IRQ1),
 613        PINMUX_DATA(IRQ2_MARK, PSA4_IRQ2, HIZC10_IRQ2, IRQ2_SDHID2),
 614        PINMUX_DATA(IRQ3_MARK, PSE15_SIOF0_MCK_IRQ3, PSB8_IRQ3,
 615                    HIZC11_IRQ3, PTQ0),
 616        PINMUX_DATA(IRQ4_MARK, PSA9_IRQ4, HIZC12_IRQ4, IRQ4_BS),
 617        PINMUX_DATA(IRQ5_MARK, HIZC13_IRQ5, IRQ5),
 618        PINMUX_DATA(IRQ6_MARK, PSA15_IRQ6, HIZC14_IRQ6, KEYIN0_IRQ6),
 619        PINMUX_DATA(IRQ7_MARK, PSA14_IRQ7, HIZC15_IRQ7, KEYIN4_IRQ7),
 620
 621        /* SDHI */
 622        PINMUX_DATA(SDHICD_MARK, SDHICD),
 623        PINMUX_DATA(SDHIWP_MARK, SDHIWP),
 624        PINMUX_DATA(SDHID3_MARK, SDHID3),
 625        PINMUX_DATA(SDHID2_MARK, PSA4_SDHID2, IRQ2_SDHID2),
 626        PINMUX_DATA(SDHID1_MARK, SDHID1),
 627        PINMUX_DATA(SDHID0_MARK, SDHID0),
 628        PINMUX_DATA(SDHICMD_MARK, SDHICMD),
 629        PINMUX_DATA(SDHICLK_MARK, SDHICLK),
 630
 631        /* SIU - Port A */
 632        PINMUX_DATA(SIUAOLR_MARK, PSC13_SIUAOLR, HIZB4_SIUA, SIUAOLR_SIOF1_SYNC),
 633        PINMUX_DATA(SIUAOBT_MARK, PSC14_SIUAOBT, HIZB4_SIUA, SIUAOBT_SIOF1_SCK),
 634        PINMUX_DATA(SIUAISLD_MARK, PSC15_SIUAISLD, HIZB4_SIUA, SIUAISLD_SIOF1_RXD),
 635        PINMUX_DATA(SIUAILR_MARK, PSC11_SIUAILR, HIZB4_SIUA, SIUAILR_SIOF1_SS2),
 636        PINMUX_DATA(SIUAIBT_MARK, PSC12_SIUAIBT, HIZB4_SIUA, SIUAIBT_SIOF1_SS1),
 637        PINMUX_DATA(SIUAOSLD_MARK, PSB0_SIUAOSLD, HIZB4_SIUA, SIUAOSLD_SIOF1_TXD),
 638        PINMUX_DATA(SIUMCKA_MARK, PSE11_SIUMCKA_SIOF1_MCK, HIZB4_SIUA, PSB1_SIUMCKA, PTK0),
 639        PINMUX_DATA(SIUFCKA_MARK, PSE11_SIUFCKA, HIZB4_SIUA, PTK0),
 640
 641        /* SIU - Port B */
 642        PINMUX_DATA(SIUBOLR_MARK, PSB11_SIUBOLR, SIOSTRB1_SIUBOLR),
 643        PINMUX_DATA(SIUBOBT_MARK, PSB10_SIUBOBT, SIOSCK_SIUBOBT),
 644        PINMUX_DATA(SIUBISLD_MARK, PSB14_SIUBISLD, SIORXD_SIUBISLD),
 645        PINMUX_DATA(SIUBILR_MARK, PSB13_SIUBILR, SIOD_SIUBILR),
 646        PINMUX_DATA(SIUBIBT_MARK, PSB12_SIUBIBT, SIOSTRB0_SIUBIBT),
 647        PINMUX_DATA(SIUBOSLD_MARK, PSB15_SIUBOSLD, SIOTXD_SIUBOSLD),
 648        PINMUX_DATA(SIUMCKB_MARK, PSD9_SIOMCK_SIUMCKB, PSB9_SIUMCKB, PTF6),
 649        PINMUX_DATA(SIUFCKB_MARK, PSD9_SIUFCKB, PTF6),
 650
 651        /* AUD */
 652        PINMUX_DATA(AUDSYNC_MARK, AUDSYNC),
 653        PINMUX_DATA(AUDATA3_MARK, AUDATA3),
 654        PINMUX_DATA(AUDATA2_MARK, AUDATA2),
 655        PINMUX_DATA(AUDATA1_MARK, AUDATA1),
 656        PINMUX_DATA(AUDATA0_MARK, AUDATA0),
 657
 658        /* DMAC */
 659        PINMUX_DATA(DACK_MARK, PSE12_DACK, LCDVSYN2_DACK),
 660        PINMUX_DATA(DREQ0_MARK, DREQ0),
 661
 662        /* VOU */
 663        PINMUX_DATA(DV_CLKI_MARK, PSD0_DV, LCDD19_DV_CLKI),
 664        PINMUX_DATA(DV_CLK_MARK, PSD0_DV, LCDD18_DV_CLK),
 665        PINMUX_DATA(DV_HSYNC_MARK, PSD0_DV, LCDD17_DV_HSYNC),
 666        PINMUX_DATA(DV_VSYNC_MARK, PSD0_DV, LCDD16_DV_VSYNC),
 667        PINMUX_DATA(DV_D15_MARK, PSD0_DV, LCDD15_DV_D15),
 668        PINMUX_DATA(DV_D14_MARK, PSD0_DV, LCDD14_DV_D14),
 669        PINMUX_DATA(DV_D13_MARK, PSD0_DV, LCDD13_DV_D13),
 670        PINMUX_DATA(DV_D12_MARK, PSD0_DV, LCDD12_DV_D12),
 671        PINMUX_DATA(DV_D11_MARK, PSD0_DV, LCDD11_DV_D11),
 672        PINMUX_DATA(DV_D10_MARK, PSD0_DV, LCDD10_DV_D10),
 673        PINMUX_DATA(DV_D9_MARK, PSD0_DV, LCDD9_DV_D9),
 674        PINMUX_DATA(DV_D8_MARK, PSD0_DV, LCDD8_DV_D8),
 675        PINMUX_DATA(DV_D7_MARK, PSD0_DV, LCDD7_DV_D7),
 676        PINMUX_DATA(DV_D6_MARK, PSD0_DV, LCDD6_DV_D6),
 677        PINMUX_DATA(DV_D5_MARK, PSD0_DV, LCDD5_DV_D5),
 678        PINMUX_DATA(DV_D4_MARK, PSD0_DV, LCDD4_DV_D4),
 679        PINMUX_DATA(DV_D3_MARK, PSD0_DV, LCDD3_DV_D3),
 680        PINMUX_DATA(DV_D2_MARK, PSD0_DV, LCDD2_DV_D2),
 681        PINMUX_DATA(DV_D1_MARK, PSD0_DV, LCDD1_DV_D1),
 682        PINMUX_DATA(DV_D0_MARK, PSD0_DV, LCDD0_DV_D0),
 683
 684        /* CPG */
 685        PINMUX_DATA(STATUS0_MARK, STATUS0),
 686        PINMUX_DATA(PDSTATUS_MARK, PDSTATUS),
 687
 688        /* SIOF0 */
 689        PINMUX_DATA(SIOF0_MCK_MARK, PSE15_SIOF0_MCK_IRQ3, PSB8_SIOF0_MCK, PTQ0),
 690        PINMUX_DATA(SIOF0_SCK_MARK, PSB5_SIOF0_SCK, SIOF0_SCK_TS_SCK),
 691        PINMUX_DATA(SIOF0_SYNC_MARK, PSB4_SIOF0_SYNC, SIOF0_SYNC_TS_SDEN),
 692        PINMUX_DATA(SIOF0_SS1_MARK, PSB3_SIOF0_SS1, SIOF0_SS1_TS_SPSYNC),
 693        PINMUX_DATA(SIOF0_SS2_MARK, PSB2_SIOF0_SS2, SIOF0_SS2_SIM_RST),
 694        PINMUX_DATA(SIOF0_TXD_MARK, PSE14_SIOF0_TXD_IRDA_OUT,
 695                    PSB7_SIOF0_TXD, PTQ1),
 696        PINMUX_DATA(SIOF0_RXD_MARK, PSE13_SIOF0_RXD_IRDA_IN,
 697                    PSB6_SIOF0_RXD, PTQ2),
 698
 699        /* SIOF1 */
 700        PINMUX_DATA(SIOF1_MCK_MARK, PSE11_SIUMCKA_SIOF1_MCK,
 701                    PSB1_SIOF1_MCK, PTK0),
 702        PINMUX_DATA(SIOF1_SCK_MARK, PSC14_SIOF1_SCK, SIUAOBT_SIOF1_SCK),
 703        PINMUX_DATA(SIOF1_SYNC_MARK, PSC13_SIOF1_SYNC, SIUAOLR_SIOF1_SYNC),
 704        PINMUX_DATA(SIOF1_SS1_MARK, PSC12_SIOF1_SS1, SIUAIBT_SIOF1_SS1),
 705        PINMUX_DATA(SIOF1_SS2_MARK, PSC11_SIOF1_SS2, SIUAILR_SIOF1_SS2),
 706        PINMUX_DATA(SIOF1_TXD_MARK, PSB0_SIOF1_TXD, SIUAOSLD_SIOF1_TXD),
 707        PINMUX_DATA(SIOF1_RXD_MARK, PSC15_SIOF1_RXD, SIUAISLD_SIOF1_RXD),
 708
 709        /* SIM */
 710        PINMUX_DATA(SIM_D_MARK, PSE15_SIM_D, PTQ0),
 711        PINMUX_DATA(SIM_CLK_MARK, PSE14_SIM_CLK, PTQ1),
 712        PINMUX_DATA(SIM_RST_MARK, PSB2_SIM_RST, SIOF0_SS2_SIM_RST),
 713
 714        /* TSIF */
 715        PINMUX_DATA(TS_SDAT_MARK, PSE13_TS_SDAT, PTQ2),
 716        PINMUX_DATA(TS_SCK_MARK, PSB5_TS_SCK, SIOF0_SCK_TS_SCK),
 717        PINMUX_DATA(TS_SDEN_MARK, PSB4_TS_SDEN, SIOF0_SYNC_TS_SDEN),
 718        PINMUX_DATA(TS_SPSYNC_MARK, PSB3_TS_SPSYNC, SIOF0_SS1_TS_SPSYNC),
 719
 720        /* IRDA */
 721        PINMUX_DATA(IRDA_IN_MARK, PSE13_SIOF0_RXD_IRDA_IN, PSB6_IRDA_IN, PTQ2),
 722        PINMUX_DATA(IRDA_OUT_MARK, PSE14_SIOF0_TXD_IRDA_OUT,
 723                    PSB7_IRDA_OUT, PTQ1),
 724
 725        /* TPU */
 726        PINMUX_DATA(TPUTO_MARK, PSD8_TPUTO, SCIF0_SCK_TPUTO),
 727
 728        /* FLCTL */
 729        PINMUX_DATA(FCE_MARK, PSE3_FLCTL, FCE_VIO_HD2),
 730        PINMUX_DATA(NAF7_MARK, PSC0_NAF, HIZA10_NAF, NAF7_VIO_D15),
 731        PINMUX_DATA(NAF6_MARK, PSC0_NAF, HIZA10_NAF, NAF6_VIO_D14),
 732        PINMUX_DATA(NAF5_MARK, PSC0_NAF, HIZA10_NAF, NAF5_VIO_D13),
 733        PINMUX_DATA(NAF4_MARK, PSC0_NAF, HIZA10_NAF, NAF4_VIO_D12),
 734        PINMUX_DATA(NAF3_MARK, PSC0_NAF, HIZA10_NAF, NAF3_VIO_D11),
 735        PINMUX_DATA(NAF2_MARK, PSE2_NAF2, HIZB0_VIO, NAF2_VIO_D10),
 736        PINMUX_DATA(NAF1_MARK, PSE1_NAF1, HIZB0_VIO, NAF1_VIO_D9),
 737        PINMUX_DATA(NAF0_MARK, PSE0_NAF0, HIZB0_VIO, NAF0_VIO_D8),
 738        PINMUX_DATA(FCDE_MARK, FCDE),
 739        PINMUX_DATA(FOE_MARK, PSE3_FLCTL, HIZB0_VIO, FOE_VIO_VD2),
 740        PINMUX_DATA(FSC_MARK, FSC),
 741        PINMUX_DATA(FWE_MARK, FWE),
 742        PINMUX_DATA(FRB_MARK, PSE3_FLCTL, FRB_VIO_CLK2),
 743
 744        /* KEYSC */
 745        PINMUX_DATA(KEYIN0_MARK, PSA15_KEYIN0, HIZC14_IRQ6, KEYIN0_IRQ6),
 746        PINMUX_DATA(KEYIN1_MARK, HIZA14_KEYSC, KEYIN1),
 747        PINMUX_DATA(KEYIN2_MARK, HIZA14_KEYSC, KEYIN2),
 748        PINMUX_DATA(KEYIN3_MARK, HIZA14_KEYSC, KEYIN3),
 749        PINMUX_DATA(KEYIN4_MARK, PSA14_KEYIN4, HIZC15_IRQ7, KEYIN4_IRQ7),
 750        PINMUX_DATA(KEYOUT0_MARK, HIZA14_KEYSC, KEYOUT0),
 751        PINMUX_DATA(KEYOUT1_MARK, HIZA14_KEYSC, KEYOUT1),
 752        PINMUX_DATA(KEYOUT2_MARK, HIZA14_KEYSC, KEYOUT2),
 753        PINMUX_DATA(KEYOUT3_MARK, HIZA14_KEYSC, KEYOUT3),
 754        PINMUX_DATA(KEYOUT4_IN6_MARK, HIZA14_KEYSC, KEYOUT4_IN6),
 755        PINMUX_DATA(KEYOUT5_IN5_MARK, HIZA14_KEYSC, KEYOUT5_IN5),
 756};
 757
 758static const struct sh_pfc_pin pinmux_pins[] = {
 759        /* PTA */
 760        PINMUX_GPIO(PTA7),
 761        PINMUX_GPIO(PTA6),
 762        PINMUX_GPIO(PTA5),
 763        PINMUX_GPIO(PTA4),
 764        PINMUX_GPIO(PTA3),
 765        PINMUX_GPIO(PTA2),
 766        PINMUX_GPIO(PTA1),
 767        PINMUX_GPIO(PTA0),
 768
 769        /* PTB */
 770        PINMUX_GPIO(PTB7),
 771        PINMUX_GPIO(PTB6),
 772        PINMUX_GPIO(PTB5),
 773        PINMUX_GPIO(PTB4),
 774        PINMUX_GPIO(PTB3),
 775        PINMUX_GPIO(PTB2),
 776        PINMUX_GPIO(PTB1),
 777        PINMUX_GPIO(PTB0),
 778
 779        /* PTC */
 780        PINMUX_GPIO(PTC7),
 781        PINMUX_GPIO(PTC5),
 782        PINMUX_GPIO(PTC4),
 783        PINMUX_GPIO(PTC3),
 784        PINMUX_GPIO(PTC2),
 785        PINMUX_GPIO(PTC0),
 786
 787        /* PTD */
 788        PINMUX_GPIO(PTD7),
 789        PINMUX_GPIO(PTD6),
 790        PINMUX_GPIO(PTD5),
 791        PINMUX_GPIO(PTD4),
 792        PINMUX_GPIO(PTD3),
 793        PINMUX_GPIO(PTD2),
 794        PINMUX_GPIO(PTD1),
 795        PINMUX_GPIO(PTD0),
 796
 797        /* PTE */
 798        PINMUX_GPIO(PTE7),
 799        PINMUX_GPIO(PTE6),
 800        PINMUX_GPIO(PTE5),
 801        PINMUX_GPIO(PTE4),
 802        PINMUX_GPIO(PTE1),
 803        PINMUX_GPIO(PTE0),
 804
 805        /* PTF */
 806        PINMUX_GPIO(PTF6),
 807        PINMUX_GPIO(PTF5),
 808        PINMUX_GPIO(PTF4),
 809        PINMUX_GPIO(PTF3),
 810        PINMUX_GPIO(PTF2),
 811        PINMUX_GPIO(PTF1),
 812        PINMUX_GPIO(PTF0),
 813
 814        /* PTG */
 815        PINMUX_GPIO(PTG4),
 816        PINMUX_GPIO(PTG3),
 817        PINMUX_GPIO(PTG2),
 818        PINMUX_GPIO(PTG1),
 819        PINMUX_GPIO(PTG0),
 820
 821        /* PTH */
 822        PINMUX_GPIO(PTH7),
 823        PINMUX_GPIO(PTH6),
 824        PINMUX_GPIO(PTH5),
 825        PINMUX_GPIO(PTH4),
 826        PINMUX_GPIO(PTH3),
 827        PINMUX_GPIO(PTH2),
 828        PINMUX_GPIO(PTH1),
 829        PINMUX_GPIO(PTH0),
 830
 831        /* PTJ */
 832        PINMUX_GPIO(PTJ7),
 833        PINMUX_GPIO(PTJ6),
 834        PINMUX_GPIO(PTJ5),
 835        PINMUX_GPIO(PTJ1),
 836        PINMUX_GPIO(PTJ0),
 837
 838        /* PTK */
 839        PINMUX_GPIO(PTK6),
 840        PINMUX_GPIO(PTK5),
 841        PINMUX_GPIO(PTK4),
 842        PINMUX_GPIO(PTK3),
 843        PINMUX_GPIO(PTK2),
 844        PINMUX_GPIO(PTK1),
 845        PINMUX_GPIO(PTK0),
 846
 847        /* PTL */
 848        PINMUX_GPIO(PTL7),
 849        PINMUX_GPIO(PTL6),
 850        PINMUX_GPIO(PTL5),
 851        PINMUX_GPIO(PTL4),
 852        PINMUX_GPIO(PTL3),
 853        PINMUX_GPIO(PTL2),
 854        PINMUX_GPIO(PTL1),
 855        PINMUX_GPIO(PTL0),
 856
 857        /* PTM */
 858        PINMUX_GPIO(PTM7),
 859        PINMUX_GPIO(PTM6),
 860        PINMUX_GPIO(PTM5),
 861        PINMUX_GPIO(PTM4),
 862        PINMUX_GPIO(PTM3),
 863        PINMUX_GPIO(PTM2),
 864        PINMUX_GPIO(PTM1),
 865        PINMUX_GPIO(PTM0),
 866
 867        /* PTN */
 868        PINMUX_GPIO(PTN7),
 869        PINMUX_GPIO(PTN6),
 870        PINMUX_GPIO(PTN5),
 871        PINMUX_GPIO(PTN4),
 872        PINMUX_GPIO(PTN3),
 873        PINMUX_GPIO(PTN2),
 874        PINMUX_GPIO(PTN1),
 875        PINMUX_GPIO(PTN0),
 876
 877        /* PTQ */
 878        PINMUX_GPIO(PTQ6),
 879        PINMUX_GPIO(PTQ5),
 880        PINMUX_GPIO(PTQ4),
 881        PINMUX_GPIO(PTQ3),
 882        PINMUX_GPIO(PTQ2),
 883        PINMUX_GPIO(PTQ1),
 884        PINMUX_GPIO(PTQ0),
 885
 886        /* PTR */
 887        PINMUX_GPIO(PTR4),
 888        PINMUX_GPIO(PTR3),
 889        PINMUX_GPIO(PTR2),
 890        PINMUX_GPIO(PTR1),
 891        PINMUX_GPIO(PTR0),
 892
 893        /* PTS */
 894        PINMUX_GPIO(PTS4),
 895        PINMUX_GPIO(PTS3),
 896        PINMUX_GPIO(PTS2),
 897        PINMUX_GPIO(PTS1),
 898        PINMUX_GPIO(PTS0),
 899
 900        /* PTT */
 901        PINMUX_GPIO(PTT4),
 902        PINMUX_GPIO(PTT3),
 903        PINMUX_GPIO(PTT2),
 904        PINMUX_GPIO(PTT1),
 905        PINMUX_GPIO(PTT0),
 906
 907        /* PTU */
 908        PINMUX_GPIO(PTU4),
 909        PINMUX_GPIO(PTU3),
 910        PINMUX_GPIO(PTU2),
 911        PINMUX_GPIO(PTU1),
 912        PINMUX_GPIO(PTU0),
 913
 914        /* PTV */
 915        PINMUX_GPIO(PTV4),
 916        PINMUX_GPIO(PTV3),
 917        PINMUX_GPIO(PTV2),
 918        PINMUX_GPIO(PTV1),
 919        PINMUX_GPIO(PTV0),
 920
 921        /* PTW */
 922        PINMUX_GPIO(PTW6),
 923        PINMUX_GPIO(PTW5),
 924        PINMUX_GPIO(PTW4),
 925        PINMUX_GPIO(PTW3),
 926        PINMUX_GPIO(PTW2),
 927        PINMUX_GPIO(PTW1),
 928        PINMUX_GPIO(PTW0),
 929
 930        /* PTX */
 931        PINMUX_GPIO(PTX6),
 932        PINMUX_GPIO(PTX5),
 933        PINMUX_GPIO(PTX4),
 934        PINMUX_GPIO(PTX3),
 935        PINMUX_GPIO(PTX2),
 936        PINMUX_GPIO(PTX1),
 937        PINMUX_GPIO(PTX0),
 938
 939        /* PTY */
 940        PINMUX_GPIO(PTY5),
 941        PINMUX_GPIO(PTY4),
 942        PINMUX_GPIO(PTY3),
 943        PINMUX_GPIO(PTY2),
 944        PINMUX_GPIO(PTY1),
 945        PINMUX_GPIO(PTY0),
 946
 947        /* PTZ */
 948        PINMUX_GPIO(PTZ5),
 949        PINMUX_GPIO(PTZ4),
 950        PINMUX_GPIO(PTZ3),
 951        PINMUX_GPIO(PTZ2),
 952        PINMUX_GPIO(PTZ1),
 953};
 954
 955#define PINMUX_FN_BASE  ARRAY_SIZE(pinmux_pins)
 956
 957static const struct pinmux_func pinmux_func_gpios[] = {
 958        /* SCIF0 */
 959        GPIO_FN(SCIF0_TXD),
 960        GPIO_FN(SCIF0_RXD),
 961        GPIO_FN(SCIF0_RTS),
 962        GPIO_FN(SCIF0_CTS),
 963        GPIO_FN(SCIF0_SCK),
 964
 965        /* SCIF1 */
 966        GPIO_FN(SCIF1_TXD),
 967        GPIO_FN(SCIF1_RXD),
 968        GPIO_FN(SCIF1_RTS),
 969        GPIO_FN(SCIF1_CTS),
 970        GPIO_FN(SCIF1_SCK),
 971
 972        /* SCIF2 */
 973        GPIO_FN(SCIF2_TXD),
 974        GPIO_FN(SCIF2_RXD),
 975        GPIO_FN(SCIF2_RTS),
 976        GPIO_FN(SCIF2_CTS),
 977        GPIO_FN(SCIF2_SCK),
 978
 979        /* SIO */
 980        GPIO_FN(SIOTXD),
 981        GPIO_FN(SIORXD),
 982        GPIO_FN(SIOD),
 983        GPIO_FN(SIOSTRB0),
 984        GPIO_FN(SIOSTRB1),
 985        GPIO_FN(SIOSCK),
 986        GPIO_FN(SIOMCK),
 987
 988        /* CEU */
 989        GPIO_FN(VIO_D15),
 990        GPIO_FN(VIO_D14),
 991        GPIO_FN(VIO_D13),
 992        GPIO_FN(VIO_D12),
 993        GPIO_FN(VIO_D11),
 994        GPIO_FN(VIO_D10),
 995        GPIO_FN(VIO_D9),
 996        GPIO_FN(VIO_D8),
 997        GPIO_FN(VIO_D7),
 998        GPIO_FN(VIO_D6),
 999        GPIO_FN(VIO_D5),
1000        GPIO_FN(VIO_D4),
1001        GPIO_FN(VIO_D3),
1002        GPIO_FN(VIO_D2),
1003        GPIO_FN(VIO_D1),
1004        GPIO_FN(VIO_D0),
1005        GPIO_FN(VIO_CLK),
1006        GPIO_FN(VIO_VD),
1007        GPIO_FN(VIO_HD),
1008        GPIO_FN(VIO_FLD),
1009        GPIO_FN(VIO_CKO),
1010        GPIO_FN(VIO_STEX),
1011        GPIO_FN(VIO_STEM),
1012        GPIO_FN(VIO_VD2),
1013        GPIO_FN(VIO_HD2),
1014        GPIO_FN(VIO_CLK2),
1015
1016        /* LCDC */
1017        GPIO_FN(LCDD23),
1018        GPIO_FN(LCDD22),
1019        GPIO_FN(LCDD21),
1020        GPIO_FN(LCDD20),
1021        GPIO_FN(LCDD19),
1022        GPIO_FN(LCDD18),
1023        GPIO_FN(LCDD17),
1024        GPIO_FN(LCDD16),
1025        GPIO_FN(LCDD15),
1026        GPIO_FN(LCDD14),
1027        GPIO_FN(LCDD13),
1028        GPIO_FN(LCDD12),
1029        GPIO_FN(LCDD11),
1030        GPIO_FN(LCDD10),
1031        GPIO_FN(LCDD9),
1032        GPIO_FN(LCDD8),
1033        GPIO_FN(LCDD7),
1034        GPIO_FN(LCDD6),
1035        GPIO_FN(LCDD5),
1036        GPIO_FN(LCDD4),
1037        GPIO_FN(LCDD3),
1038        GPIO_FN(LCDD2),
1039        GPIO_FN(LCDD1),
1040        GPIO_FN(LCDD0),
1041        GPIO_FN(LCDLCLK),
1042        /* Main LCD */
1043        GPIO_FN(LCDDON),
1044        GPIO_FN(LCDVCPWC),
1045        GPIO_FN(LCDVEPWC),
1046        GPIO_FN(LCDVSYN),
1047        /* Main LCD - RGB Mode */
1048        GPIO_FN(LCDDCK),
1049        GPIO_FN(LCDHSYN),
1050        GPIO_FN(LCDDISP),
1051        /* Main LCD - SYS Mode */
1052        GPIO_FN(LCDRS),
1053        GPIO_FN(LCDCS),
1054        GPIO_FN(LCDWR),
1055        GPIO_FN(LCDRD),
1056        /* Sub LCD - SYS Mode */
1057        GPIO_FN(LCDDON2),
1058        GPIO_FN(LCDVCPWC2),
1059        GPIO_FN(LCDVEPWC2),
1060        GPIO_FN(LCDVSYN2),
1061        GPIO_FN(LCDCS2),
1062
1063        /* BSC */
1064        GPIO_FN(IOIS16),
1065        GPIO_FN(A25),
1066        GPIO_FN(A24),
1067        GPIO_FN(A23),
1068        GPIO_FN(A22),
1069        GPIO_FN(BS),
1070        GPIO_FN(CS6B_CE1B),
1071        GPIO_FN(WAIT),
1072        GPIO_FN(CS6A_CE2B),
1073
1074        /* SBSC */
1075        GPIO_FN(HPD63),
1076        GPIO_FN(HPD62),
1077        GPIO_FN(HPD61),
1078        GPIO_FN(HPD60),
1079        GPIO_FN(HPD59),
1080        GPIO_FN(HPD58),
1081        GPIO_FN(HPD57),
1082        GPIO_FN(HPD56),
1083        GPIO_FN(HPD55),
1084        GPIO_FN(HPD54),
1085        GPIO_FN(HPD53),
1086        GPIO_FN(HPD52),
1087        GPIO_FN(HPD51),
1088        GPIO_FN(HPD50),
1089        GPIO_FN(HPD49),
1090        GPIO_FN(HPD48),
1091        GPIO_FN(HPDQM7),
1092        GPIO_FN(HPDQM6),
1093        GPIO_FN(HPDQM5),
1094        GPIO_FN(HPDQM4),
1095
1096        /* IRQ */
1097        GPIO_FN(IRQ0),
1098        GPIO_FN(IRQ1),
1099        GPIO_FN(IRQ2),
1100        GPIO_FN(IRQ3),
1101        GPIO_FN(IRQ4),
1102        GPIO_FN(IRQ5),
1103        GPIO_FN(IRQ6),
1104        GPIO_FN(IRQ7),
1105
1106        /* SDHI */
1107        GPIO_FN(SDHICD),
1108        GPIO_FN(SDHIWP),
1109        GPIO_FN(SDHID3),
1110        GPIO_FN(SDHID2),
1111        GPIO_FN(SDHID1),
1112        GPIO_FN(SDHID0),
1113        GPIO_FN(SDHICMD),
1114        GPIO_FN(SDHICLK),
1115
1116        /* SIU - Port A */
1117        GPIO_FN(SIUAOLR),
1118        GPIO_FN(SIUAOBT),
1119        GPIO_FN(SIUAISLD),
1120        GPIO_FN(SIUAILR),
1121        GPIO_FN(SIUAIBT),
1122        GPIO_FN(SIUAOSLD),
1123        GPIO_FN(SIUMCKA),
1124        GPIO_FN(SIUFCKA),
1125
1126        /* SIU - Port B */
1127        GPIO_FN(SIUBOLR),
1128        GPIO_FN(SIUBOBT),
1129        GPIO_FN(SIUBISLD),
1130        GPIO_FN(SIUBILR),
1131        GPIO_FN(SIUBIBT),
1132        GPIO_FN(SIUBOSLD),
1133        GPIO_FN(SIUMCKB),
1134        GPIO_FN(SIUFCKB),
1135
1136        /* AUD */
1137        GPIO_FN(AUDSYNC),
1138        GPIO_FN(AUDATA3),
1139        GPIO_FN(AUDATA2),
1140        GPIO_FN(AUDATA1),
1141        GPIO_FN(AUDATA0),
1142
1143        /* DMAC */
1144        GPIO_FN(DACK),
1145        GPIO_FN(DREQ0),
1146
1147        /* VOU */
1148        GPIO_FN(DV_CLKI),
1149        GPIO_FN(DV_CLK),
1150        GPIO_FN(DV_HSYNC),
1151        GPIO_FN(DV_VSYNC),
1152        GPIO_FN(DV_D15),
1153        GPIO_FN(DV_D14),
1154        GPIO_FN(DV_D13),
1155        GPIO_FN(DV_D12),
1156        GPIO_FN(DV_D11),
1157        GPIO_FN(DV_D10),
1158        GPIO_FN(DV_D9),
1159        GPIO_FN(DV_D8),
1160        GPIO_FN(DV_D7),
1161        GPIO_FN(DV_D6),
1162        GPIO_FN(DV_D5),
1163        GPIO_FN(DV_D4),
1164        GPIO_FN(DV_D3),
1165        GPIO_FN(DV_D2),
1166        GPIO_FN(DV_D1),
1167        GPIO_FN(DV_D0),
1168
1169        /* CPG */
1170        GPIO_FN(STATUS0),
1171        GPIO_FN(PDSTATUS),
1172
1173        /* SIOF0 */
1174        GPIO_FN(SIOF0_MCK),
1175        GPIO_FN(SIOF0_SCK),
1176        GPIO_FN(SIOF0_SYNC),
1177        GPIO_FN(SIOF0_SS1),
1178        GPIO_FN(SIOF0_SS2),
1179        GPIO_FN(SIOF0_TXD),
1180        GPIO_FN(SIOF0_RXD),
1181
1182        /* SIOF1 */
1183        GPIO_FN(SIOF1_MCK),
1184        GPIO_FN(SIOF1_SCK),
1185        GPIO_FN(SIOF1_SYNC),
1186        GPIO_FN(SIOF1_SS1),
1187        GPIO_FN(SIOF1_SS2),
1188        GPIO_FN(SIOF1_TXD),
1189        GPIO_FN(SIOF1_RXD),
1190
1191        /* SIM */
1192        GPIO_FN(SIM_D),
1193        GPIO_FN(SIM_CLK),
1194        GPIO_FN(SIM_RST),
1195
1196        /* TSIF */
1197        GPIO_FN(TS_SDAT),
1198        GPIO_FN(TS_SCK),
1199        GPIO_FN(TS_SDEN),
1200        GPIO_FN(TS_SPSYNC),
1201
1202        /* IRDA */
1203        GPIO_FN(IRDA_IN),
1204        GPIO_FN(IRDA_OUT),
1205
1206        /* TPU */
1207        GPIO_FN(TPUTO),
1208
1209        /* FLCTL */
1210        GPIO_FN(FCE),
1211        GPIO_FN(NAF7),
1212        GPIO_FN(NAF6),
1213        GPIO_FN(NAF5),
1214        GPIO_FN(NAF4),
1215        GPIO_FN(NAF3),
1216        GPIO_FN(NAF2),
1217        GPIO_FN(NAF1),
1218        GPIO_FN(NAF0),
1219        GPIO_FN(FCDE),
1220        GPIO_FN(FOE),
1221        GPIO_FN(FSC),
1222        GPIO_FN(FWE),
1223        GPIO_FN(FRB),
1224
1225        /* KEYSC */
1226        GPIO_FN(KEYIN0),
1227        GPIO_FN(KEYIN1),
1228        GPIO_FN(KEYIN2),
1229        GPIO_FN(KEYIN3),
1230        GPIO_FN(KEYIN4),
1231        GPIO_FN(KEYOUT0),
1232        GPIO_FN(KEYOUT1),
1233        GPIO_FN(KEYOUT2),
1234        GPIO_FN(KEYOUT3),
1235        GPIO_FN(KEYOUT4_IN6),
1236        GPIO_FN(KEYOUT5_IN5),
1237};
1238
1239static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1240        { PINMUX_CFG_REG("PACR", 0xa4050100, 16, 2, GROUP(
1241                VIO_D7_SCIF1_SCK, PTA7_OUT, 0, PTA7_IN,
1242                VIO_D6_SCIF1_RXD, 0, 0, PTA6_IN,
1243                VIO_D5_SCIF1_TXD, PTA5_OUT, 0, PTA5_IN,
1244                VIO_D4, 0, 0, PTA4_IN,
1245                VIO_D3, 0, 0, PTA3_IN,
1246                VIO_D2, 0, 0, PTA2_IN,
1247                VIO_D1, 0, 0, PTA1_IN,
1248                VIO_D0_LCDLCLK, 0, 0, PTA0_IN ))
1249        },
1250        { PINMUX_CFG_REG("PBCR", 0xa4050102, 16, 2, GROUP(
1251                HPD55, PTB7_OUT, 0, PTB7_IN,
1252                HPD54, PTB6_OUT, 0, PTB6_IN,
1253                HPD53, PTB5_OUT, 0, PTB5_IN,
1254                HPD52, PTB4_OUT, 0, PTB4_IN,
1255                HPD51, PTB3_OUT, 0, PTB3_IN,
1256                HPD50, PTB2_OUT, 0, PTB2_IN,
1257                HPD49, PTB1_OUT, 0, PTB1_IN,
1258                HPD48, PTB0_OUT, 0, PTB0_IN ))
1259        },
1260        { PINMUX_CFG_REG("PCCR", 0xa4050104, 16, 2, GROUP(
1261                0, 0, 0, PTC7_IN,
1262                0, 0, 0, 0,
1263                IOIS16, 0, 0, PTC5_IN,
1264                HPDQM7, PTC4_OUT, 0, PTC4_IN,
1265                HPDQM6, PTC3_OUT, 0, PTC3_IN,
1266                HPDQM5, PTC2_OUT, 0, PTC2_IN,
1267                0, 0, 0, 0,
1268                HPDQM4, PTC0_OUT, 0, PTC0_IN ))
1269        },
1270        { PINMUX_CFG_REG("PDCR", 0xa4050106, 16, 2, GROUP(
1271                SDHICD, 0, 0, PTD7_IN,
1272                SDHIWP, PTD6_OUT, 0, PTD6_IN,
1273                SDHID3, PTD5_OUT, 0, PTD5_IN,
1274                IRQ2_SDHID2, PTD4_OUT, 0, PTD4_IN,
1275                SDHID1, PTD3_OUT, 0, PTD3_IN,
1276                SDHID0, PTD2_OUT, 0, PTD2_IN,
1277                SDHICMD, PTD1_OUT, 0, PTD1_IN,
1278                SDHICLK, PTD0_OUT, 0, 0 ))
1279        },
1280        { PINMUX_CFG_REG("PECR", 0xa4050108, 16, 2, GROUP(
1281                A25, PTE7_OUT, 0, PTE7_IN,
1282                A24, PTE6_OUT, 0, PTE6_IN,
1283                A23, PTE5_OUT, 0, PTE5_IN,
1284                A22, PTE4_OUT, 0, PTE4_IN,
1285                0, 0, 0, 0,
1286                0, 0, 0, 0,
1287                IRQ5, PTE1_OUT, 0, PTE1_IN,
1288                IRQ4_BS, PTE0_OUT, 0, PTE0_IN ))
1289        },
1290        { PINMUX_CFG_REG("PFCR", 0xa405010a, 16, 2, GROUP(
1291                0, 0, 0, 0,
1292                PTF6, PTF6_OUT, 0, PTF6_IN,
1293                SIOSCK_SIUBOBT, PTF5_OUT, 0, PTF5_IN,
1294                SIOSTRB1_SIUBOLR, PTF4_OUT, 0, PTF4_IN,
1295                SIOSTRB0_SIUBIBT, PTF3_OUT, 0, PTF3_IN,
1296                SIOD_SIUBILR, PTF2_OUT, 0, PTF2_IN,
1297                SIORXD_SIUBISLD, 0, 0, PTF1_IN,
1298                SIOTXD_SIUBOSLD, PTF0_OUT, 0, 0 ))
1299        },
1300        { PINMUX_CFG_REG("PGCR", 0xa405010c, 16, 2, GROUP(
1301                0, 0, 0, 0,
1302                0, 0, 0, 0,
1303                0, 0, 0, 0,
1304                AUDSYNC, PTG4_OUT, 0, 0,
1305                AUDATA3, PTG3_OUT, 0, 0,
1306                AUDATA2, PTG2_OUT, 0, 0,
1307                AUDATA1, PTG1_OUT, 0, 0,
1308                AUDATA0, PTG0_OUT, 0, 0 ))
1309        },
1310        { PINMUX_CFG_REG("PHCR", 0xa405010e, 16, 2, GROUP(
1311                LCDVCPWC_LCDVCPWC2, PTH7_OUT, 0, 0,
1312                LCDVSYN2_DACK, PTH6_OUT, 0, PTH6_IN,
1313                LCDVSYN, PTH5_OUT, 0, PTH5_IN,
1314                LCDDISP_LCDRS, PTH4_OUT, 0, 0,
1315                LCDHSYN_LCDCS, PTH3_OUT, 0, 0,
1316                LCDDON_LCDDON2, PTH2_OUT, 0, 0,
1317                LCDD17_DV_HSYNC, PTH1_OUT, 0, PTH1_IN,
1318                LCDD16_DV_VSYNC, PTH0_OUT, 0, PTH0_IN ))
1319        },
1320        { PINMUX_CFG_REG("PJCR", 0xa4050110, 16, 2, GROUP(
1321                STATUS0, PTJ7_OUT, 0, 0,
1322                0, PTJ6_OUT, 0, 0,
1323                PDSTATUS, PTJ5_OUT, 0, 0,
1324                0, 0, 0, 0,
1325                0, 0, 0, 0,
1326                0, 0, 0, 0,
1327                IRQ1, PTJ1_OUT, 0, PTJ1_IN,
1328                IRQ0, PTJ0_OUT, 0, PTJ0_IN ))
1329        },
1330        { PINMUX_CFG_REG("PKCR", 0xa4050112, 16, 2, GROUP(
1331                0, 0, 0, 0,
1332                SIUAILR_SIOF1_SS2, PTK6_OUT, 0, PTK6_IN,
1333                SIUAIBT_SIOF1_SS1, PTK5_OUT, 0, PTK5_IN,
1334                SIUAOLR_SIOF1_SYNC, PTK4_OUT, 0, PTK4_IN,
1335                SIUAOBT_SIOF1_SCK, PTK3_OUT, 0, PTK3_IN,
1336                SIUAISLD_SIOF1_RXD, 0, 0, PTK2_IN,
1337                SIUAOSLD_SIOF1_TXD, PTK1_OUT, 0, 0,
1338                PTK0, PTK0_OUT, 0, PTK0_IN ))
1339        },
1340        { PINMUX_CFG_REG("PLCR", 0xa4050114, 16, 2, GROUP(
1341                LCDD15_DV_D15, PTL7_OUT, 0, PTL7_IN,
1342                LCDD14_DV_D14, PTL6_OUT, 0, PTL6_IN,
1343                LCDD13_DV_D13, PTL5_OUT, 0, PTL5_IN,
1344                LCDD12_DV_D12, PTL4_OUT, 0, PTL4_IN,
1345                LCDD11_DV_D11, PTL3_OUT, 0, PTL3_IN,
1346                LCDD10_DV_D10, PTL2_OUT, 0, PTL2_IN,
1347                LCDD9_DV_D9, PTL1_OUT, 0, PTL1_IN,
1348                LCDD8_DV_D8, PTL0_OUT, 0, PTL0_IN ))
1349        },
1350        { PINMUX_CFG_REG("PMCR", 0xa4050116, 16, 2, GROUP(
1351                LCDD7_DV_D7, PTM7_OUT, 0, PTM7_IN,
1352                LCDD6_DV_D6, PTM6_OUT, 0, PTM6_IN,
1353                LCDD5_DV_D5, PTM5_OUT, 0, PTM5_IN,
1354                LCDD4_DV_D4, PTM4_OUT, 0, PTM4_IN,
1355                LCDD3_DV_D3, PTM3_OUT, 0, PTM3_IN,
1356                LCDD2_DV_D2, PTM2_OUT, 0, PTM2_IN,
1357                LCDD1_DV_D1, PTM1_OUT, 0, PTM1_IN,
1358                LCDD0_DV_D0, PTM0_OUT, 0, PTM0_IN ))
1359        },
1360        { PINMUX_CFG_REG("PNCR", 0xa4050118, 16, 2, GROUP(
1361                HPD63, PTN7_OUT, 0, PTN7_IN,
1362                HPD62, PTN6_OUT, 0, PTN6_IN,
1363                HPD61, PTN5_OUT, 0, PTN5_IN,
1364                HPD60, PTN4_OUT, 0, PTN4_IN,
1365                HPD59, PTN3_OUT, 0, PTN3_IN,
1366                HPD58, PTN2_OUT, 0, PTN2_IN,
1367                HPD57, PTN1_OUT, 0, PTN1_IN,
1368                HPD56, PTN0_OUT, 0, PTN0_IN ))
1369        },
1370        { PINMUX_CFG_REG("PQCR", 0xa405011a, 16, 2, GROUP(
1371                0, 0, 0, 0,
1372                SIOF0_SS2_SIM_RST, PTQ6_OUT, 0, 0,
1373                SIOF0_SS1_TS_SPSYNC, PTQ5_OUT, 0, PTQ5_IN,
1374                SIOF0_SYNC_TS_SDEN, PTQ4_OUT, 0, PTQ4_IN,
1375                SIOF0_SCK_TS_SCK, PTQ3_OUT, 0, PTQ3_IN,
1376                PTQ2, 0, 0, PTQ2_IN,
1377                PTQ1, PTQ1_OUT, 0, 0,
1378                PTQ0, PTQ0_OUT, 0, PTQ0_IN ))
1379        },
1380        { PINMUX_CFG_REG("PRCR", 0xa405011c, 16, 2, GROUP(
1381                0, 0, 0, 0,
1382                0, 0, 0, 0,
1383                0, 0, 0, 0,
1384                LCDRD, PTR4_OUT, 0, 0,
1385                CS6B_CE1B_LCDCS2, PTR3_OUT, 0, 0,
1386                WAIT, 0, 0, PTR2_IN,
1387                LCDDCK_LCDWR, PTR1_OUT, 0, 0,
1388                LCDVEPWC_LCDVEPWC2, PTR0_OUT, 0, 0 ))
1389        },
1390        { PINMUX_CFG_REG("PSCR", 0xa405011e, 16, 2, GROUP(
1391                0, 0, 0, 0,
1392                0, 0, 0, 0,
1393                0, 0, 0, 0,
1394                SCIF0_CTS_SIUAISPD, 0, 0, PTS4_IN,
1395                SCIF0_RTS_SIUAOSPD, PTS3_OUT, 0, 0,
1396                SCIF0_SCK_TPUTO, PTS2_OUT, 0, PTS2_IN,
1397                SCIF0_RXD, 0, 0, PTS1_IN,
1398                SCIF0_TXD, PTS0_OUT, 0, 0 ))
1399        },
1400        { PINMUX_CFG_REG("PTCR", 0xa4050140, 16, 2, GROUP(
1401                0, 0, 0, 0,
1402                0, 0, 0, 0,
1403                0, 0, 0, 0,
1404                FOE_VIO_VD2, PTT4_OUT, 0, PTT4_IN,
1405                FWE, PTT3_OUT, 0, PTT3_IN,
1406                FSC, PTT2_OUT, 0, PTT2_IN,
1407                DREQ0, 0, 0, PTT1_IN,
1408                FCDE, PTT0_OUT, 0, 0 ))
1409        },
1410        { PINMUX_CFG_REG("PUCR", 0xa4050142, 16, 2, GROUP(
1411                0, 0, 0, 0,
1412                0, 0, 0, 0,
1413                0, 0, 0, 0,
1414                NAF2_VIO_D10, PTU4_OUT, 0, PTU4_IN,
1415                NAF1_VIO_D9, PTU3_OUT, 0, PTU3_IN,
1416                NAF0_VIO_D8, PTU2_OUT, 0, PTU2_IN,
1417                FRB_VIO_CLK2, 0, 0, PTU1_IN,
1418                FCE_VIO_HD2, PTU0_OUT, 0, PTU0_IN ))
1419        },
1420        { PINMUX_CFG_REG("PVCR", 0xa4050144, 16, 2, GROUP(
1421                0, 0, 0, 0,
1422                0, 0, 0, 0,
1423                0, 0, 0, 0,
1424                NAF7_VIO_D15, PTV4_OUT, 0, PTV4_IN,
1425                NAF6_VIO_D14, PTV3_OUT, 0, PTV3_IN,
1426                NAF5_VIO_D13, PTV2_OUT, 0, PTV2_IN,
1427                NAF4_VIO_D12, PTV1_OUT, 0, PTV1_IN,
1428                NAF3_VIO_D11, PTV0_OUT, 0, PTV0_IN ))
1429        },
1430        { PINMUX_CFG_REG("PWCR", 0xa4050146, 16, 2, GROUP(
1431                0, 0, 0, 0,
1432                VIO_FLD_SCIF2_CTS, 0, 0, PTW6_IN,
1433                VIO_CKO_SCIF2_RTS, PTW5_OUT, 0, 0,
1434                VIO_STEX_SCIF2_SCK, PTW4_OUT, 0, PTW4_IN,
1435                VIO_STEM_SCIF2_TXD, PTW3_OUT, 0, PTW3_IN,
1436                VIO_HD_SCIF2_RXD, PTW2_OUT, 0, PTW2_IN,
1437                VIO_VD_SCIF1_CTS, PTW1_OUT, 0, PTW1_IN,
1438                VIO_CLK_SCIF1_RTS, PTW0_OUT, 0, PTW0_IN ))
1439        },
1440        { PINMUX_CFG_REG("PXCR", 0xa4050148, 16, 2, GROUP(
1441                0, 0, 0, 0,
1442                CS6A_CE2B, PTX6_OUT, 0, PTX6_IN,
1443                LCDD23, PTX5_OUT, 0, PTX5_IN,
1444                LCDD22, PTX4_OUT, 0, PTX4_IN,
1445                LCDD21, PTX3_OUT, 0, PTX3_IN,
1446                LCDD20, PTX2_OUT, 0, PTX2_IN,
1447                LCDD19_DV_CLKI, PTX1_OUT, 0, PTX1_IN,
1448                LCDD18_DV_CLK, PTX0_OUT, 0, PTX0_IN ))
1449        },
1450        { PINMUX_CFG_REG("PYCR", 0xa405014a, 16, 2, GROUP(
1451                0, 0, 0, 0,
1452                0, 0, 0, 0,
1453                KEYOUT5_IN5, PTY5_OUT, 0, PTY5_IN,
1454                KEYOUT4_IN6, PTY4_OUT, 0, PTY4_IN,
1455                KEYOUT3, PTY3_OUT, 0, PTY3_IN,
1456                KEYOUT2, PTY2_OUT, 0, PTY2_IN,
1457                KEYOUT1, PTY1_OUT, 0, 0,
1458                KEYOUT0, PTY0_OUT, 0, PTY0_IN ))
1459        },
1460        { PINMUX_CFG_REG("PZCR", 0xa405014c, 16, 2, GROUP(
1461                0, 0, 0, 0,
1462                0, 0, 0, 0,
1463                KEYIN4_IRQ7, 0, 0, PTZ5_IN,
1464                KEYIN3, 0, 0, PTZ4_IN,
1465                KEYIN2, 0, 0, PTZ3_IN,
1466                KEYIN1, 0, 0, PTZ2_IN,
1467                KEYIN0_IRQ6, 0, 0, PTZ1_IN,
1468                0, 0, 0, 0 ))
1469        },
1470        { PINMUX_CFG_REG("PSELA", 0xa405014e, 16, 1, GROUP(
1471                PSA15_KEYIN0, PSA15_IRQ6,
1472                PSA14_KEYIN4, PSA14_IRQ7,
1473                0, 0,
1474                0, 0,
1475                0, 0,
1476                0, 0,
1477                PSA9_IRQ4, PSA9_BS,
1478                0, 0,
1479                0, 0,
1480                0, 0,
1481                0, 0,
1482                PSA4_IRQ2, PSA4_SDHID2,
1483                0, 0,
1484                0, 0,
1485                0, 0,
1486                0, 0 ))
1487        },
1488        { PINMUX_CFG_REG("PSELB", 0xa4050150, 16, 1, GROUP(
1489                PSB15_SIOTXD, PSB15_SIUBOSLD,
1490                PSB14_SIORXD, PSB14_SIUBISLD,
1491                PSB13_SIOD, PSB13_SIUBILR,
1492                PSB12_SIOSTRB0, PSB12_SIUBIBT,
1493                PSB11_SIOSTRB1, PSB11_SIUBOLR,
1494                PSB10_SIOSCK, PSB10_SIUBOBT,
1495                PSB9_SIOMCK, PSB9_SIUMCKB,
1496                PSB8_SIOF0_MCK, PSB8_IRQ3,
1497                PSB7_SIOF0_TXD, PSB7_IRDA_OUT,
1498                PSB6_SIOF0_RXD, PSB6_IRDA_IN,
1499                PSB5_SIOF0_SCK, PSB5_TS_SCK,
1500                PSB4_SIOF0_SYNC, PSB4_TS_SDEN,
1501                PSB3_SIOF0_SS1, PSB3_TS_SPSYNC,
1502                PSB2_SIOF0_SS2, PSB2_SIM_RST,
1503                PSB1_SIUMCKA, PSB1_SIOF1_MCK,
1504                PSB0_SIUAOSLD, PSB0_SIOF1_TXD ))
1505        },
1506        { PINMUX_CFG_REG("PSELC", 0xa4050152, 16, 1, GROUP(
1507                PSC15_SIUAISLD, PSC15_SIOF1_RXD,
1508                PSC14_SIUAOBT, PSC14_SIOF1_SCK,
1509                PSC13_SIUAOLR, PSC13_SIOF1_SYNC,
1510                PSC12_SIUAIBT, PSC12_SIOF1_SS1,
1511                PSC11_SIUAILR, PSC11_SIOF1_SS2,
1512                0, 0,
1513                0, 0,
1514                0, 0,
1515                0, 0,
1516                0, 0,
1517                0, 0,
1518                0, 0,
1519                0, 0,
1520                0, 0,
1521                0, 0,
1522                PSC0_NAF, PSC0_VIO ))
1523        },
1524        { PINMUX_CFG_REG("PSELD", 0xa4050154, 16, 1, GROUP(
1525                0, 0,
1526                0, 0,
1527                PSD13_VIO, PSD13_SCIF2,
1528                PSD12_VIO, PSD12_SCIF1,
1529                PSD11_VIO, PSD11_SCIF1,
1530                PSD10_VIO_D0, PSD10_LCDLCLK,
1531                PSD9_SIOMCK_SIUMCKB, PSD9_SIUFCKB,
1532                PSD8_SCIF0_SCK, PSD8_TPUTO,
1533                PSD7_SCIF0_RTS, PSD7_SIUAOSPD,
1534                PSD6_SCIF0_CTS, PSD6_SIUAISPD,
1535                PSD5_CS6B_CE1B, PSD5_LCDCS2,
1536                0, 0,
1537                PSD3_LCDVEPWC_LCDVCPWC, PSD3_LCDVEPWC2_LCDVCPWC2,
1538                PSD2_LCDDON, PSD2_LCDDON2,
1539                0, 0,
1540                PSD0_LCDD19_LCDD0, PSD0_DV ))
1541        },
1542        { PINMUX_CFG_REG("PSELE", 0xa4050156, 16, 1, GROUP(
1543                PSE15_SIOF0_MCK_IRQ3, PSE15_SIM_D,
1544                PSE14_SIOF0_TXD_IRDA_OUT, PSE14_SIM_CLK,
1545                PSE13_SIOF0_RXD_IRDA_IN, PSE13_TS_SDAT,
1546                PSE12_LCDVSYN2, PSE12_DACK,
1547                PSE11_SIUMCKA_SIOF1_MCK, PSE11_SIUFCKA,
1548                0, 0,
1549                0, 0,
1550                0, 0,
1551                0, 0,
1552                0, 0,
1553                0, 0,
1554                0, 0,
1555                PSE3_FLCTL, PSE3_VIO,
1556                PSE2_NAF2, PSE2_VIO_D10,
1557                PSE1_NAF1, PSE1_VIO_D9,
1558                PSE0_NAF0, PSE0_VIO_D8 ))
1559        },
1560        { PINMUX_CFG_REG("HIZCRA", 0xa4050158, 16, 1, GROUP(
1561                0, 0,
1562                HIZA14_KEYSC, HIZA14_HIZ,
1563                0, 0,
1564                0, 0,
1565                0, 0,
1566                HIZA10_NAF, HIZA10_HIZ,
1567                HIZA9_VIO, HIZA9_HIZ,
1568                HIZA8_LCDC, HIZA8_HIZ,
1569                HIZA7_LCDC, HIZA7_HIZ,
1570                HIZA6_LCDC, HIZA6_HIZ,
1571                0, 0,
1572                0, 0,
1573                0, 0,
1574                0, 0,
1575                0, 0,
1576                0, 0 ))
1577        },
1578        { PINMUX_CFG_REG("HIZCRB", 0xa405015a, 16, 1, GROUP(
1579                0, 0,
1580                0, 0,
1581                0, 0,
1582                0, 0,
1583                0, 0,
1584                0, 0,
1585                0, 0,
1586                0, 0,
1587                0, 0,
1588                0, 0,
1589                0, 0,
1590                HIZB4_SIUA, HIZB4_HIZ,
1591                0, 0,
1592                0, 0,
1593                HIZB1_VIO, HIZB1_HIZ,
1594                HIZB0_VIO, HIZB0_HIZ ))
1595        },
1596        { PINMUX_CFG_REG("HIZCRC", 0xa405015c, 16, 1, GROUP(
1597                HIZC15_IRQ7, HIZC15_HIZ,
1598                HIZC14_IRQ6, HIZC14_HIZ,
1599                HIZC13_IRQ5, HIZC13_HIZ,
1600                HIZC12_IRQ4, HIZC12_HIZ,
1601                HIZC11_IRQ3, HIZC11_HIZ,
1602                HIZC10_IRQ2, HIZC10_HIZ,
1603                HIZC9_IRQ1, HIZC9_HIZ,
1604                HIZC8_IRQ0, HIZC8_HIZ,
1605                0, 0,
1606                0, 0,
1607                0, 0,
1608                0, 0,
1609                0, 0,
1610                0, 0,
1611                0, 0,
1612                0, 0 ))
1613        },
1614        { PINMUX_CFG_REG("MSELCRB", 0xa4050182, 16, 1, GROUP(
1615                0, 0,
1616                0, 0,
1617                0, 0,
1618                0, 0,
1619                0, 0,
1620                0, 0,
1621                MSELB9_VIO, MSELB9_VIO2,
1622                MSELB8_RGB, MSELB8_SYS,
1623                0, 0,
1624                0, 0,
1625                0, 0,
1626                0, 0,
1627                0, 0,
1628                0, 0,
1629                0, 0,
1630                0, 0 ))
1631        },
1632        {}
1633};
1634
1635static const struct pinmux_data_reg pinmux_data_regs[] = {
1636        { PINMUX_DATA_REG("PADR", 0xa4050120, 8, GROUP(
1637                PTA7_DATA, PTA6_DATA, PTA5_DATA, PTA4_DATA,
1638                PTA3_DATA, PTA2_DATA, PTA1_DATA, PTA0_DATA ))
1639        },
1640        { PINMUX_DATA_REG("PBDR", 0xa4050122, 8, GROUP(
1641                PTB7_DATA, PTB6_DATA, PTB5_DATA, PTB4_DATA,
1642                PTB3_DATA, PTB2_DATA, PTB1_DATA, PTB0_DATA ))
1643        },
1644        { PINMUX_DATA_REG("PCDR", 0xa4050124, 8, GROUP(
1645                PTC7_DATA, 0, PTC5_DATA, PTC4_DATA,
1646                PTC3_DATA, PTC2_DATA, 0, PTC0_DATA ))
1647        },
1648        { PINMUX_DATA_REG("PDDR", 0xa4050126, 8, GROUP(
1649                PTD7_DATA, PTD6_DATA, PTD5_DATA, PTD4_DATA,
1650                PTD3_DATA, PTD2_DATA, PTD1_DATA, PTD0_DATA ))
1651        },
1652        { PINMUX_DATA_REG("PEDR", 0xa4050128, 8, GROUP(
1653                PTE7_DATA, PTE6_DATA, PTE5_DATA, PTE4_DATA,
1654                0, 0, PTE1_DATA, PTE0_DATA ))
1655        },
1656        { PINMUX_DATA_REG("PFDR", 0xa405012a, 8, GROUP(
1657                0, PTF6_DATA, PTF5_DATA, PTF4_DATA,
1658                PTF3_DATA, PTF2_DATA, PTF1_DATA, PTF0_DATA ))
1659        },
1660        { PINMUX_DATA_REG("PGDR", 0xa405012c, 8, GROUP(
1661                0, 0, 0, PTG4_DATA,
1662                PTG3_DATA, PTG2_DATA, PTG1_DATA, PTG0_DATA ))
1663        },
1664        { PINMUX_DATA_REG("PHDR", 0xa405012e, 8, GROUP(
1665                PTH7_DATA, PTH6_DATA, PTH5_DATA, PTH4_DATA,
1666                PTH3_DATA, PTH2_DATA, PTH1_DATA, PTH0_DATA ))
1667        },
1668        { PINMUX_DATA_REG("PJDR", 0xa4050130, 8, GROUP(
1669                PTJ7_DATA, PTJ6_DATA, PTJ5_DATA, 0,
1670                0, 0, PTJ1_DATA, PTJ0_DATA ))
1671        },
1672        { PINMUX_DATA_REG("PKDR", 0xa4050132, 8, GROUP(
1673                0, PTK6_DATA, PTK5_DATA, PTK4_DATA,
1674                PTK3_DATA, PTK2_DATA, PTK1_DATA, PTK0_DATA ))
1675        },
1676        { PINMUX_DATA_REG("PLDR", 0xa4050134, 8, GROUP(
1677                PTL7_DATA, PTL6_DATA, PTL5_DATA, PTL4_DATA,
1678                PTL3_DATA, PTL2_DATA, PTL1_DATA, PTL0_DATA ))
1679        },
1680        { PINMUX_DATA_REG("PMDR", 0xa4050136, 8, GROUP(
1681                PTM7_DATA, PTM6_DATA, PTM5_DATA, PTM4_DATA,
1682                PTM3_DATA, PTM2_DATA, PTM1_DATA, PTM0_DATA ))
1683        },
1684        { PINMUX_DATA_REG("PNDR", 0xa4050138, 8, GROUP(
1685                PTN7_DATA, PTN6_DATA, PTN5_DATA, PTN4_DATA,
1686                PTN3_DATA, PTN2_DATA, PTN1_DATA, PTN0_DATA ))
1687        },
1688        { PINMUX_DATA_REG("PQDR", 0xa405013a, 8, GROUP(
1689                0, PTQ6_DATA, PTQ5_DATA, PTQ4_DATA,
1690                PTQ3_DATA, PTQ2_DATA, PTQ1_DATA, PTQ0_DATA ))
1691        },
1692        { PINMUX_DATA_REG("PRDR", 0xa405013c, 8, GROUP(
1693                0, 0, 0, PTR4_DATA,
1694                PTR3_DATA, PTR2_DATA, PTR1_DATA, PTR0_DATA ))
1695        },
1696        { PINMUX_DATA_REG("PSDR", 0xa405013e, 8, GROUP(
1697                0, 0, 0, PTS4_DATA,
1698                PTS3_DATA, PTS2_DATA, PTS1_DATA, PTS0_DATA ))
1699        },
1700        { PINMUX_DATA_REG("PTDR", 0xa4050160, 8, GROUP(
1701                0, 0, 0, PTT4_DATA,
1702                PTT3_DATA, PTT2_DATA, PTT1_DATA, PTT0_DATA ))
1703        },
1704        { PINMUX_DATA_REG("PUDR", 0xa4050162, 8, GROUP(
1705                0, 0, 0, PTU4_DATA,
1706                PTU3_DATA, PTU2_DATA, PTU1_DATA, PTU0_DATA ))
1707        },
1708        { PINMUX_DATA_REG("PVDR", 0xa4050164, 8, GROUP(
1709                0, 0, 0, PTV4_DATA,
1710                PTV3_DATA, PTV2_DATA, PTV1_DATA, PTV0_DATA ))
1711        },
1712        { PINMUX_DATA_REG("PWDR", 0xa4050166, 8, GROUP(
1713                0, PTW6_DATA, PTW5_DATA, PTW4_DATA,
1714                PTW3_DATA, PTW2_DATA, PTW1_DATA, PTW0_DATA ))
1715        },
1716        { PINMUX_DATA_REG("PXDR", 0xa4050168, 8, GROUP(
1717                0, PTX6_DATA, PTX5_DATA, PTX4_DATA,
1718                PTX3_DATA, PTX2_DATA, PTX1_DATA, PTX0_DATA ))
1719        },
1720        { PINMUX_DATA_REG("PYDR", 0xa405016a, 8, GROUP(
1721                0, PTY6_DATA, PTY5_DATA, PTY4_DATA,
1722                PTY3_DATA, PTY2_DATA, PTY1_DATA, PTY0_DATA ))
1723        },
1724        { PINMUX_DATA_REG("PZDR", 0xa405016c, 8, GROUP(
1725                0, 0, PTZ5_DATA, PTZ4_DATA,
1726                PTZ3_DATA, PTZ2_DATA, PTZ1_DATA, PTZ0_DATA ))
1727        },
1728        { },
1729};
1730
1731const struct sh_pfc_soc_info sh7722_pinmux_info = {
1732        .name = "sh7722_pfc",
1733        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END },
1734        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END },
1735        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
1736
1737        .pins = pinmux_pins,
1738        .nr_pins = ARRAY_SIZE(pinmux_pins),
1739        .func_gpios = pinmux_func_gpios,
1740        .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
1741
1742        .cfg_regs = pinmux_config_regs,
1743        .data_regs = pinmux_data_regs,
1744
1745        .pinmux_data = pinmux_data,
1746        .pinmux_data_size = ARRAY_SIZE(pinmux_data),
1747};
1748