linux/drivers/pinctrl/sh-pfc/pfc-sh7203.c
<<
>>
Prefs
   1/*
   2 * SH7203 Pinmux
   3 *
   4 *  Copyright (C) 2008  Magnus Damm
   5 *
   6 * This file is subject to the terms and conditions of the GNU General Public
   7 * License.  See the file "COPYING" in the main directory of this archive
   8 * for more details.
   9 */
  10
  11#include <linux/kernel.h>
  12#include <linux/gpio.h>
  13#include <cpu/sh7203.h>
  14
  15#include "sh_pfc.h"
  16
  17enum {
  18        PINMUX_RESERVED = 0,
  19
  20        PINMUX_DATA_BEGIN,
  21        PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA,
  22        PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA,
  23        PB12_DATA,
  24        PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
  25        PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
  26        PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA,
  27        PC14_DATA, PC13_DATA, PC12_DATA,
  28        PC11_DATA, PC10_DATA, PC9_DATA, PC8_DATA,
  29        PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
  30        PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA,
  31        PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
  32        PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
  33        PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
  34        PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA,
  35        PE15_DATA, PE14_DATA, PE13_DATA, PE12_DATA,
  36        PE11_DATA, PE10_DATA, PE9_DATA, PE8_DATA,
  37        PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA,
  38        PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA,
  39        PF30_DATA, PF29_DATA, PF28_DATA,
  40        PF27_DATA, PF26_DATA, PF25_DATA, PF24_DATA,
  41        PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA,
  42        PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA,
  43        PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA,
  44        PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
  45        PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
  46        PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA,
  47        PINMUX_DATA_END,
  48
  49        PINMUX_INPUT_BEGIN,
  50        FORCE_IN,
  51        PA7_IN, PA6_IN, PA5_IN, PA4_IN,
  52        PA3_IN, PA2_IN, PA1_IN, PA0_IN,
  53        PB11_IN, PB10_IN, PB9_IN, PB8_IN,
  54        PC14_IN, PC13_IN, PC12_IN,
  55        PC11_IN, PC10_IN, PC9_IN, PC8_IN,
  56        PC7_IN, PC6_IN, PC5_IN, PC4_IN,
  57        PC3_IN, PC2_IN, PC1_IN, PC0_IN,
  58        PD15_IN, PD14_IN, PD13_IN, PD12_IN,
  59        PD11_IN, PD10_IN, PD9_IN, PD8_IN,
  60        PD7_IN, PD6_IN, PD5_IN, PD4_IN,
  61        PD3_IN, PD2_IN, PD1_IN, PD0_IN,
  62        PE15_IN, PE14_IN, PE13_IN, PE12_IN,
  63        PE11_IN, PE10_IN, PE9_IN, PE8_IN,
  64        PE7_IN, PE6_IN, PE5_IN, PE4_IN,
  65        PE3_IN, PE2_IN, PE1_IN, PE0_IN,
  66        PF30_IN, PF29_IN, PF28_IN,
  67        PF27_IN, PF26_IN, PF25_IN, PF24_IN,
  68        PF23_IN, PF22_IN, PF21_IN, PF20_IN,
  69        PF19_IN, PF18_IN, PF17_IN, PF16_IN,
  70        PF15_IN, PF14_IN, PF13_IN, PF12_IN,
  71        PF11_IN, PF10_IN, PF9_IN, PF8_IN,
  72        PF7_IN, PF6_IN, PF5_IN, PF4_IN,
  73        PF3_IN, PF2_IN, PF1_IN, PF0_IN,
  74        PINMUX_INPUT_END,
  75
  76        PINMUX_OUTPUT_BEGIN,
  77        FORCE_OUT,
  78        PB11_OUT, PB10_OUT, PB9_OUT, PB8_OUT,
  79        PC14_OUT, PC13_OUT, PC12_OUT,
  80        PC11_OUT, PC10_OUT, PC9_OUT, PC8_OUT,
  81        PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT,
  82        PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT,
  83        PD15_OUT, PD14_OUT, PD13_OUT, PD12_OUT,
  84        PD11_OUT, PD10_OUT, PD9_OUT, PD8_OUT,
  85        PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT,
  86        PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT,
  87        PE15_OUT, PE14_OUT, PE13_OUT, PE12_OUT,
  88        PE11_OUT, PE10_OUT, PE9_OUT, PE8_OUT,
  89        PE7_OUT, PE6_OUT, PE5_OUT, PE4_OUT,
  90        PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT,
  91        PF30_OUT, PF29_OUT, PF28_OUT,
  92        PF27_OUT, PF26_OUT, PF25_OUT, PF24_OUT,
  93        PF23_OUT, PF22_OUT, PF21_OUT, PF20_OUT,
  94        PF19_OUT, PF18_OUT, PF17_OUT, PF16_OUT,
  95        PF15_OUT, PF14_OUT, PF13_OUT, PF12_OUT,
  96        PF11_OUT, PF10_OUT, PF9_OUT, PF8_OUT,
  97        PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT,
  98        PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT,
  99        PINMUX_OUTPUT_END,
 100
 101        PINMUX_FUNCTION_BEGIN,
 102        PB11_IOR_IN, PB11_IOR_OUT,
 103        PB10_IOR_IN, PB10_IOR_OUT,
 104        PB9_IOR_IN, PB9_IOR_OUT,
 105        PB8_IOR_IN, PB8_IOR_OUT,
 106        PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
 107        PB11MD_0, PB11MD_1,
 108        PB10MD_0, PB10MD_1,
 109        PB9MD_00, PB9MD_01, PB9MD_10,
 110        PB8MD_00, PB8MD_01, PB8MD_10,
 111        PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
 112        PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
 113        PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
 114        PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
 115        PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11,
 116        PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11,
 117        PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11,
 118        PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11,
 119
 120        PB12IRQ_00, PB12IRQ_01, PB12IRQ_10,
 121
 122        PC14MD_0, PC14MD_1,
 123        PC13MD_0, PC13MD_1,
 124        PC12MD_0, PC12MD_1,
 125        PC11MD_00, PC11MD_01, PC11MD_10,
 126        PC10MD_00, PC10MD_01, PC10MD_10,
 127        PC9MD_0, PC9MD_1,
 128        PC8MD_0, PC8MD_1,
 129        PC7MD_0, PC7MD_1,
 130        PC6MD_0, PC6MD_1,
 131        PC5MD_0, PC5MD_1,
 132        PC4MD_0, PC4MD_1,
 133        PC3MD_0, PC3MD_1,
 134        PC2MD_0, PC2MD_1,
 135        PC1MD_0, PC1MD_1,
 136        PC0MD_00, PC0MD_01, PC0MD_10,
 137
 138        PD15MD_000, PD15MD_001, PD15MD_010, PD15MD_100, PD15MD_101,
 139        PD14MD_000, PD14MD_001, PD14MD_010, PD14MD_101,
 140        PD13MD_000, PD13MD_001, PD13MD_010, PD13MD_100, PD13MD_101,
 141        PD12MD_000, PD12MD_001, PD12MD_010, PD12MD_100, PD12MD_101,
 142        PD11MD_000, PD11MD_001, PD11MD_010, PD11MD_100, PD11MD_101,
 143        PD10MD_000, PD10MD_001, PD10MD_010, PD10MD_100, PD10MD_101,
 144        PD9MD_000, PD9MD_001, PD9MD_010, PD9MD_100, PD9MD_101,
 145        PD8MD_000, PD8MD_001, PD8MD_010, PD8MD_100, PD8MD_101,
 146        PD7MD_000, PD7MD_001, PD7MD_010, PD7MD_011, PD7MD_100, PD7MD_101,
 147        PD6MD_000, PD6MD_001, PD6MD_010, PD6MD_011, PD6MD_100, PD6MD_101,
 148        PD5MD_000, PD5MD_001, PD5MD_010, PD5MD_011, PD5MD_100, PD5MD_101,
 149        PD4MD_000, PD4MD_001, PD4MD_010, PD4MD_011, PD4MD_100, PD4MD_101,
 150        PD3MD_000, PD3MD_001, PD3MD_010, PD3MD_011, PD3MD_100, PD3MD_101,
 151        PD2MD_000, PD2MD_001, PD2MD_010, PD2MD_011, PD2MD_100, PD2MD_101,
 152        PD1MD_000, PD1MD_001, PD1MD_010, PD1MD_011, PD1MD_100, PD1MD_101,
 153        PD0MD_000, PD0MD_001, PD0MD_010, PD0MD_011, PD0MD_100, PD0MD_101,
 154
 155        PE15MD_00, PE15MD_01, PE15MD_11,
 156        PE14MD_00, PE14MD_01, PE14MD_11,
 157        PE13MD_00, PE13MD_11,
 158        PE12MD_00, PE12MD_11,
 159        PE11MD_000, PE11MD_001, PE11MD_010, PE11MD_100,
 160        PE10MD_000, PE10MD_001, PE10MD_010, PE10MD_100,
 161        PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11,
 162        PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11,
 163        PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011, PE7MD_100,
 164        PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011, PE6MD_100,
 165        PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011, PE5MD_100,
 166        PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011, PE4MD_100,
 167        PE3MD_00, PE3MD_01, PE3MD_11,
 168        PE2MD_00, PE2MD_01, PE2MD_11,
 169        PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11,
 170        PE0MD_000, PE0MD_001, PE0MD_011, PE0MD_100,
 171
 172        PF30MD_0, PF30MD_1,
 173        PF29MD_0, PF29MD_1,
 174        PF28MD_0, PF28MD_1,
 175        PF27MD_0, PF27MD_1,
 176        PF26MD_0, PF26MD_1,
 177        PF25MD_0, PF25MD_1,
 178        PF24MD_0, PF24MD_1,
 179        PF23MD_00, PF23MD_01, PF23MD_10,
 180        PF22MD_00, PF22MD_01, PF22MD_10,
 181        PF21MD_00, PF21MD_01, PF21MD_10,
 182        PF20MD_00, PF20MD_01, PF20MD_10,
 183        PF19MD_00, PF19MD_01, PF19MD_10,
 184        PF18MD_00, PF18MD_01, PF18MD_10,
 185        PF17MD_00, PF17MD_01, PF17MD_10,
 186        PF16MD_00, PF16MD_01, PF16MD_10,
 187        PF15MD_00, PF15MD_01, PF15MD_10,
 188        PF14MD_00, PF14MD_01, PF14MD_10,
 189        PF13MD_00, PF13MD_01, PF13MD_10,
 190        PF12MD_00, PF12MD_01, PF12MD_10,
 191        PF11MD_00, PF11MD_01, PF11MD_10,
 192        PF10MD_00, PF10MD_01, PF10MD_10,
 193        PF9MD_00, PF9MD_01, PF9MD_10,
 194        PF8MD_00, PF8MD_01, PF8MD_10,
 195        PF7MD_00, PF7MD_01, PF7MD_10, PF7MD_11,
 196        PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11,
 197        PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11,
 198        PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11,
 199        PF3MD_00, PF3MD_01, PF3MD_10, PF3MD_11,
 200        PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11,
 201        PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11,
 202        PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11,
 203        PINMUX_FUNCTION_END,
 204
 205        PINMUX_MARK_BEGIN,
 206        PINT7_PB_MARK, PINT6_PB_MARK, PINT5_PB_MARK, PINT4_PB_MARK,
 207        PINT3_PB_MARK, PINT2_PB_MARK, PINT1_PB_MARK, PINT0_PB_MARK,
 208        PINT7_PD_MARK, PINT6_PD_MARK, PINT5_PD_MARK, PINT4_PD_MARK,
 209        PINT3_PD_MARK, PINT2_PD_MARK, PINT1_PD_MARK, PINT0_PD_MARK,
 210        IRQ7_PB_MARK, IRQ6_PB_MARK, IRQ5_PB_MARK, IRQ4_PB_MARK,
 211        IRQ3_PB_MARK, IRQ2_PB_MARK, IRQ1_PB_MARK, IRQ0_PB_MARK,
 212        IRQ7_PD_MARK, IRQ6_PD_MARK, IRQ5_PD_MARK, IRQ4_PD_MARK,
 213        IRQ3_PD_MARK, IRQ2_PD_MARK, IRQ1_PD_MARK, IRQ0_PD_MARK,
 214        IRQ7_PE_MARK, IRQ6_PE_MARK, IRQ5_PE_MARK, IRQ4_PE_MARK,
 215        IRQ3_PE_MARK, IRQ2_PE_MARK, IRQ1_PE_MARK, IRQ0_PE_MARK,
 216        WDTOVF_MARK, IRQOUT_MARK, REFOUT_MARK, IRQOUT_REFOUT_MARK,
 217        UBCTRG_MARK,
 218        CTX1_MARK, CRX1_MARK, CTX0_MARK, CTX0_CTX1_MARK,
 219        CRX0_MARK, CRX0_CRX1_MARK,
 220        SDA3_MARK, SCL3_MARK,
 221        SDA2_MARK, SCL2_MARK,
 222        SDA1_MARK, SCL1_MARK,
 223        SDA0_MARK, SCL0_MARK,
 224        TEND0_PD_MARK, TEND0_PE_MARK, DACK0_PD_MARK, DACK0_PE_MARK,
 225        DREQ0_PD_MARK, DREQ0_PE_MARK, TEND1_PD_MARK, TEND1_PE_MARK,
 226        DACK1_PD_MARK, DACK1_PE_MARK, DREQ1_PD_MARK, DREQ1_PE_MARK,
 227        DACK2_MARK, DREQ2_MARK, DACK3_MARK, DREQ3_MARK,
 228        ADTRG_PD_MARK, ADTRG_PE_MARK,
 229        D31_MARK, D30_MARK, D29_MARK, D28_MARK,
 230        D27_MARK, D26_MARK, D25_MARK, D24_MARK,
 231        D23_MARK, D22_MARK, D21_MARK, D20_MARK,
 232        D19_MARK, D18_MARK, D17_MARK, D16_MARK,
 233        A25_MARK, A24_MARK, A23_MARK, A22_MARK,
 234        A21_MARK, CS4_MARK, MRES_MARK, BS_MARK,
 235        IOIS16_MARK, CS1_MARK, CS6_CE1B_MARK, CE2B_MARK,
 236        CS5_CE1A_MARK, CE2A_MARK, FRAME_MARK, WAIT_MARK,
 237        RDWR_MARK, CKE_MARK, CASU_MARK, BREQ_MARK,
 238        RASU_MARK, BACK_MARK, CASL_MARK, RASL_MARK,
 239        WE3_DQMUU_AH_ICIO_WR_MARK, WE2_DQMUL_ICIORD_MARK,
 240        WE1_DQMLU_WE_MARK, WE0_DQMLL_MARK,
 241        CS3_MARK, CS2_MARK, A1_MARK, A0_MARK, CS7_MARK,
 242        TIOC4D_MARK, TIOC4C_MARK, TIOC4B_MARK, TIOC4A_MARK,
 243        TIOC3D_MARK, TIOC3C_MARK, TIOC3B_MARK, TIOC3A_MARK,
 244        TIOC2B_MARK, TIOC1B_MARK, TIOC2A_MARK, TIOC1A_MARK,
 245        TIOC0D_MARK, TIOC0C_MARK, TIOC0B_MARK, TIOC0A_MARK,
 246        TCLKD_PD_MARK, TCLKC_PD_MARK, TCLKB_PD_MARK, TCLKA_PD_MARK,
 247        TCLKD_PF_MARK, TCLKC_PF_MARK, TCLKB_PF_MARK, TCLKA_PF_MARK,
 248        SCS0_PD_MARK, SSO0_PD_MARK, SSI0_PD_MARK, SSCK0_PD_MARK,
 249        SCS0_PF_MARK, SSO0_PF_MARK, SSI0_PF_MARK, SSCK0_PF_MARK,
 250        SCS1_PD_MARK, SSO1_PD_MARK, SSI1_PD_MARK, SSCK1_PD_MARK,
 251        SCS1_PF_MARK, SSO1_PF_MARK, SSI1_PF_MARK, SSCK1_PF_MARK,
 252        TXD0_MARK, RXD0_MARK, SCK0_MARK,
 253        TXD1_MARK, RXD1_MARK, SCK1_MARK,
 254        TXD2_MARK, RXD2_MARK, SCK2_MARK,
 255        RTS3_MARK, CTS3_MARK, TXD3_MARK,
 256        RXD3_MARK, SCK3_MARK,
 257        AUDIO_CLK_MARK,
 258        SSIDATA3_MARK, SSIWS3_MARK, SSISCK3_MARK,
 259        SSIDATA2_MARK, SSIWS2_MARK, SSISCK2_MARK,
 260        SSIDATA1_MARK, SSIWS1_MARK, SSISCK1_MARK,
 261        SSIDATA0_MARK, SSIWS0_MARK, SSISCK0_MARK,
 262        FCE_MARK, FRB_MARK,
 263        NAF7_MARK, NAF6_MARK, NAF5_MARK, NAF4_MARK,
 264        NAF3_MARK, NAF2_MARK, NAF1_MARK, NAF0_MARK,
 265        FSC_MARK, FOE_MARK, FCDE_MARK, FWE_MARK,
 266        LCD_VEPWC_MARK, LCD_VCPWC_MARK, LCD_CLK_MARK, LCD_FLM_MARK,
 267        LCD_M_DISP_MARK, LCD_CL2_MARK, LCD_CL1_MARK, LCD_DON_MARK,
 268        LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK,
 269        LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK,
 270        LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK,
 271        LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK,
 272        PINMUX_MARK_END,
 273};
 274
 275static const u16 pinmux_data[] = {
 276        /* PA */
 277        PINMUX_DATA(PA7_DATA, PA7_IN),
 278        PINMUX_DATA(PA6_DATA, PA6_IN),
 279        PINMUX_DATA(PA5_DATA, PA5_IN),
 280        PINMUX_DATA(PA4_DATA, PA4_IN),
 281        PINMUX_DATA(PA3_DATA, PA3_IN),
 282        PINMUX_DATA(PA2_DATA, PA2_IN),
 283        PINMUX_DATA(PA1_DATA, PA1_IN),
 284        PINMUX_DATA(PA0_DATA, PA0_IN),
 285
 286        /* PB */
 287        PINMUX_DATA(PB12_DATA, PB12MD_00, FORCE_OUT),
 288        PINMUX_DATA(WDTOVF_MARK, PB12MD_01),
 289        PINMUX_DATA(IRQOUT_MARK, PB12MD_10, PB12IRQ_00),
 290        PINMUX_DATA(REFOUT_MARK, PB12MD_10, PB12IRQ_01),
 291        PINMUX_DATA(IRQOUT_REFOUT_MARK, PB12MD_10, PB12IRQ_10),
 292        PINMUX_DATA(UBCTRG_MARK, PB12MD_11),
 293
 294        PINMUX_DATA(PB11_DATA, PB11MD_0, PB11_IN, PB11_OUT),
 295        PINMUX_DATA(CTX1_MARK, PB11MD_1),
 296
 297        PINMUX_DATA(PB10_DATA, PB10MD_0, PB10_IN, PB10_OUT),
 298        PINMUX_DATA(CRX1_MARK, PB10MD_1),
 299
 300        PINMUX_DATA(PB9_DATA, PB9MD_00, PB9_IN, PB9_OUT),
 301        PINMUX_DATA(CTX0_MARK, PB9MD_01),
 302        PINMUX_DATA(CTX0_CTX1_MARK, PB9MD_10),
 303
 304        PINMUX_DATA(PB8_DATA, PB8MD_00, PB8_IN, PB8_OUT),
 305        PINMUX_DATA(CRX0_MARK, PB8MD_01),
 306        PINMUX_DATA(CRX0_CRX1_MARK, PB8MD_10),
 307
 308        PINMUX_DATA(PB7_DATA, PB7MD_00, FORCE_IN),
 309        PINMUX_DATA(SDA3_MARK, PB7MD_01),
 310        PINMUX_DATA(PINT7_PB_MARK, PB7MD_10),
 311        PINMUX_DATA(IRQ7_PB_MARK, PB7MD_11),
 312
 313        PINMUX_DATA(PB6_DATA, PB6MD_00, FORCE_IN),
 314        PINMUX_DATA(SCL3_MARK, PB6MD_01),
 315        PINMUX_DATA(PINT6_PB_MARK, PB6MD_10),
 316        PINMUX_DATA(IRQ6_PB_MARK, PB6MD_11),
 317
 318        PINMUX_DATA(PB5_DATA, PB5MD_00, FORCE_IN),
 319        PINMUX_DATA(SDA2_MARK, PB6MD_01),
 320        PINMUX_DATA(PINT5_PB_MARK, PB6MD_10),
 321        PINMUX_DATA(IRQ5_PB_MARK, PB6MD_11),
 322
 323        PINMUX_DATA(PB4_DATA, PB4MD_00, FORCE_IN),
 324        PINMUX_DATA(SCL2_MARK, PB4MD_01),
 325        PINMUX_DATA(PINT4_PB_MARK, PB4MD_10),
 326        PINMUX_DATA(IRQ4_PB_MARK, PB4MD_11),
 327
 328        PINMUX_DATA(PB3_DATA, PB3MD_00, FORCE_IN),
 329        PINMUX_DATA(SDA1_MARK, PB3MD_01),
 330        PINMUX_DATA(PINT3_PB_MARK, PB3MD_10),
 331        PINMUX_DATA(IRQ3_PB_MARK, PB3MD_11),
 332
 333        PINMUX_DATA(PB2_DATA, PB2MD_00, FORCE_IN),
 334        PINMUX_DATA(SCL1_MARK, PB2MD_01),
 335        PINMUX_DATA(PINT2_PB_MARK, PB2MD_10),
 336        PINMUX_DATA(IRQ2_PB_MARK, PB2MD_11),
 337
 338        PINMUX_DATA(PB1_DATA, PB1MD_00, FORCE_IN),
 339        PINMUX_DATA(SDA0_MARK, PB1MD_01),
 340        PINMUX_DATA(PINT1_PB_MARK, PB1MD_10),
 341        PINMUX_DATA(IRQ1_PB_MARK, PB1MD_11),
 342
 343        PINMUX_DATA(PB0_DATA, PB0MD_00, FORCE_IN),
 344        PINMUX_DATA(SCL0_MARK, PB0MD_01),
 345        PINMUX_DATA(PINT0_PB_MARK, PB0MD_10),
 346        PINMUX_DATA(IRQ0_PB_MARK, PB0MD_11),
 347
 348        /* PC */
 349        PINMUX_DATA(PC14_DATA, PC14MD_0, PC14_IN, PC14_OUT),
 350        PINMUX_DATA(WAIT_MARK, PC14MD_1),
 351
 352        PINMUX_DATA(PC13_DATA, PC13MD_0, PC13_IN, PC13_OUT),
 353        PINMUX_DATA(RDWR_MARK, PC13MD_1),
 354
 355        PINMUX_DATA(PC12_DATA, PC12MD_0, PC12_IN, PC12_OUT),
 356        PINMUX_DATA(CKE_MARK, PC12MD_1),
 357
 358        PINMUX_DATA(PC11_DATA, PC11MD_00, PC11_IN, PC11_OUT),
 359        PINMUX_DATA(CASU_MARK, PC11MD_01),
 360        PINMUX_DATA(BREQ_MARK, PC11MD_10),
 361
 362        PINMUX_DATA(PC10_DATA, PC10MD_00, PC10_IN, PC10_OUT),
 363        PINMUX_DATA(RASU_MARK, PC10MD_01),
 364        PINMUX_DATA(BACK_MARK, PC10MD_10),
 365
 366        PINMUX_DATA(PC9_DATA, PC9MD_0, PC9_IN, PC9_OUT),
 367        PINMUX_DATA(CASL_MARK, PC9MD_1),
 368
 369        PINMUX_DATA(PC8_DATA, PC8MD_0, PC8_IN, PC8_OUT),
 370        PINMUX_DATA(RASL_MARK, PC8MD_1),
 371
 372        PINMUX_DATA(PC7_DATA, PC7MD_0, PC7_IN, PC7_OUT),
 373        PINMUX_DATA(WE3_DQMUU_AH_ICIO_WR_MARK, PC7MD_1),
 374
 375        PINMUX_DATA(PC6_DATA, PC6MD_0, PC6_IN, PC6_OUT),
 376        PINMUX_DATA(WE2_DQMUL_ICIORD_MARK, PC6MD_1),
 377
 378        PINMUX_DATA(PC5_DATA, PC5MD_0, PC5_IN, PC5_OUT),
 379        PINMUX_DATA(WE1_DQMLU_WE_MARK, PC5MD_1),
 380
 381        PINMUX_DATA(PC4_DATA, PC4MD_0, PC4_IN, PC4_OUT),
 382        PINMUX_DATA(WE0_DQMLL_MARK, PC4MD_1),
 383
 384        PINMUX_DATA(PC3_DATA, PC3MD_0, PC3_IN, PC3_OUT),
 385        PINMUX_DATA(CS3_MARK, PC3MD_1),
 386
 387        PINMUX_DATA(PC2_DATA, PC2MD_0, PC2_IN, PC2_OUT),
 388        PINMUX_DATA(CS2_MARK, PC2MD_1),
 389
 390        PINMUX_DATA(PC1_DATA, PC1MD_0, PC1_IN, PC1_OUT),
 391        PINMUX_DATA(A1_MARK, PC1MD_1),
 392
 393        PINMUX_DATA(PC0_DATA, PC0MD_00, PC0_IN, PC0_OUT),
 394        PINMUX_DATA(A0_MARK, PC0MD_01),
 395        PINMUX_DATA(CS7_MARK, PC0MD_10),
 396
 397        /* PD */
 398        PINMUX_DATA(PD15_DATA, PD15MD_000, PD15_IN, PD15_OUT),
 399        PINMUX_DATA(D31_MARK, PD15MD_001),
 400        PINMUX_DATA(PINT7_PD_MARK, PD15MD_010),
 401        PINMUX_DATA(ADTRG_PD_MARK, PD15MD_100),
 402        PINMUX_DATA(TIOC4D_MARK, PD15MD_101),
 403
 404        PINMUX_DATA(PD14_DATA, PD14MD_000, PD14_IN, PD14_OUT),
 405        PINMUX_DATA(D30_MARK, PD14MD_001),
 406        PINMUX_DATA(PINT6_PD_MARK, PD14MD_010),
 407        PINMUX_DATA(TIOC4C_MARK, PD14MD_101),
 408
 409        PINMUX_DATA(PD13_DATA, PD13MD_000, PD13_IN, PD13_OUT),
 410        PINMUX_DATA(D29_MARK, PD13MD_001),
 411        PINMUX_DATA(PINT5_PD_MARK, PD13MD_010),
 412        PINMUX_DATA(TEND1_PD_MARK, PD13MD_100),
 413        PINMUX_DATA(TIOC4B_MARK, PD13MD_101),
 414
 415        PINMUX_DATA(PD12_DATA, PD12MD_000, PD12_IN, PD12_OUT),
 416        PINMUX_DATA(D28_MARK, PD12MD_001),
 417        PINMUX_DATA(PINT4_PD_MARK, PD12MD_010),
 418        PINMUX_DATA(DACK1_PD_MARK, PD12MD_100),
 419        PINMUX_DATA(TIOC4A_MARK, PD12MD_101),
 420
 421        PINMUX_DATA(PD11_DATA, PD11MD_000, PD11_IN, PD11_OUT),
 422        PINMUX_DATA(D27_MARK, PD11MD_001),
 423        PINMUX_DATA(PINT3_PD_MARK, PD11MD_010),
 424        PINMUX_DATA(DREQ1_PD_MARK, PD11MD_100),
 425        PINMUX_DATA(TIOC3D_MARK, PD11MD_101),
 426
 427        PINMUX_DATA(PD10_DATA, PD10MD_000, PD10_IN, PD10_OUT),
 428        PINMUX_DATA(D26_MARK, PD10MD_001),
 429        PINMUX_DATA(PINT2_PD_MARK, PD10MD_010),
 430        PINMUX_DATA(TEND0_PD_MARK, PD10MD_100),
 431        PINMUX_DATA(TIOC3C_MARK, PD10MD_101),
 432
 433        PINMUX_DATA(PD9_DATA, PD9MD_000, PD9_IN, PD9_OUT),
 434        PINMUX_DATA(D25_MARK, PD9MD_001),
 435        PINMUX_DATA(PINT1_PD_MARK, PD9MD_010),
 436        PINMUX_DATA(DACK0_PD_MARK, PD9MD_100),
 437        PINMUX_DATA(TIOC3B_MARK, PD9MD_101),
 438
 439        PINMUX_DATA(PD8_DATA, PD8MD_000, PD8_IN, PD8_OUT),
 440        PINMUX_DATA(D24_MARK, PD8MD_001),
 441        PINMUX_DATA(PINT0_PD_MARK, PD8MD_010),
 442        PINMUX_DATA(DREQ0_PD_MARK, PD8MD_100),
 443        PINMUX_DATA(TIOC3A_MARK, PD8MD_101),
 444
 445        PINMUX_DATA(PD7_DATA, PD7MD_000, PD7_IN, PD7_OUT),
 446        PINMUX_DATA(D23_MARK, PD7MD_001),
 447        PINMUX_DATA(IRQ7_PD_MARK, PD7MD_010),
 448        PINMUX_DATA(SCS1_PD_MARK, PD7MD_011),
 449        PINMUX_DATA(TCLKD_PD_MARK, PD7MD_100),
 450        PINMUX_DATA(TIOC2B_MARK, PD7MD_101),
 451
 452        PINMUX_DATA(PD6_DATA, PD6MD_000, PD6_IN, PD6_OUT),
 453        PINMUX_DATA(D22_MARK, PD6MD_001),
 454        PINMUX_DATA(IRQ6_PD_MARK, PD6MD_010),
 455        PINMUX_DATA(SSO1_PD_MARK, PD6MD_011),
 456        PINMUX_DATA(TCLKC_PD_MARK, PD6MD_100),
 457        PINMUX_DATA(TIOC2A_MARK, PD6MD_101),
 458
 459        PINMUX_DATA(PD5_DATA, PD5MD_000, PD5_IN, PD5_OUT),
 460        PINMUX_DATA(D21_MARK, PD5MD_001),
 461        PINMUX_DATA(IRQ5_PD_MARK, PD5MD_010),
 462        PINMUX_DATA(SSI1_PD_MARK, PD5MD_011),
 463        PINMUX_DATA(TCLKB_PD_MARK, PD5MD_100),
 464        PINMUX_DATA(TIOC1B_MARK, PD5MD_101),
 465
 466        PINMUX_DATA(PD4_DATA, PD4MD_000, PD4_IN, PD4_OUT),
 467        PINMUX_DATA(D20_MARK, PD4MD_001),
 468        PINMUX_DATA(IRQ4_PD_MARK, PD4MD_010),
 469        PINMUX_DATA(SSCK1_PD_MARK, PD4MD_011),
 470        PINMUX_DATA(TCLKA_PD_MARK, PD4MD_100),
 471        PINMUX_DATA(TIOC1A_MARK, PD4MD_101),
 472
 473        PINMUX_DATA(PD3_DATA, PD3MD_000, PD3_IN, PD3_OUT),
 474        PINMUX_DATA(D19_MARK, PD3MD_001),
 475        PINMUX_DATA(IRQ3_PD_MARK, PD3MD_010),
 476        PINMUX_DATA(SCS0_PD_MARK, PD3MD_011),
 477        PINMUX_DATA(DACK3_MARK, PD3MD_100),
 478        PINMUX_DATA(TIOC0D_MARK, PD3MD_101),
 479
 480        PINMUX_DATA(PD2_DATA, PD2MD_000, PD2_IN, PD2_OUT),
 481        PINMUX_DATA(D18_MARK, PD2MD_001),
 482        PINMUX_DATA(IRQ2_PD_MARK, PD2MD_010),
 483        PINMUX_DATA(SSO0_PD_MARK, PD2MD_011),
 484        PINMUX_DATA(DREQ3_MARK, PD2MD_100),
 485        PINMUX_DATA(TIOC0C_MARK, PD2MD_101),
 486
 487        PINMUX_DATA(PD1_DATA, PD1MD_000, PD1_IN, PD1_OUT),
 488        PINMUX_DATA(D17_MARK, PD1MD_001),
 489        PINMUX_DATA(IRQ1_PD_MARK, PD1MD_010),
 490        PINMUX_DATA(SSI0_PD_MARK, PD1MD_011),
 491        PINMUX_DATA(DACK2_MARK, PD1MD_100),
 492        PINMUX_DATA(TIOC0B_MARK, PD1MD_101),
 493
 494        PINMUX_DATA(PD0_DATA, PD0MD_000, PD0_IN, PD0_OUT),
 495        PINMUX_DATA(D16_MARK, PD0MD_001),
 496        PINMUX_DATA(IRQ0_PD_MARK, PD0MD_010),
 497        PINMUX_DATA(SSCK0_PD_MARK, PD0MD_011),
 498        PINMUX_DATA(DREQ2_MARK, PD0MD_100),
 499        PINMUX_DATA(TIOC0A_MARK, PD0MD_101),
 500
 501        /* PE */
 502        PINMUX_DATA(PE15_DATA, PE15MD_00, PE15_IN, PE15_OUT),
 503        PINMUX_DATA(IOIS16_MARK, PE15MD_01),
 504        PINMUX_DATA(RTS3_MARK, PE15MD_11),
 505
 506        PINMUX_DATA(PE14_DATA, PE14MD_00, PE14_IN, PE14_OUT),
 507        PINMUX_DATA(CS1_MARK, PE14MD_01),
 508        PINMUX_DATA(CTS3_MARK, PE14MD_11),
 509
 510        PINMUX_DATA(PE13_DATA, PE13MD_00, PE13_IN, PE13_OUT),
 511        PINMUX_DATA(TXD3_MARK, PE13MD_11),
 512
 513        PINMUX_DATA(PE12_DATA, PE12MD_00, PE12_IN, PE12_OUT),
 514        PINMUX_DATA(RXD3_MARK, PE12MD_11),
 515
 516        PINMUX_DATA(PE11_DATA, PE11MD_000, PE11_IN, PE11_OUT),
 517        PINMUX_DATA(CS6_CE1B_MARK, PE11MD_001),
 518        PINMUX_DATA(IRQ7_PE_MARK, PE11MD_010),
 519        PINMUX_DATA(TEND1_PE_MARK, PE11MD_100),
 520
 521        PINMUX_DATA(PE10_DATA, PE10MD_000, PE10_IN, PE10_OUT),
 522        PINMUX_DATA(CE2B_MARK, PE10MD_001),
 523        PINMUX_DATA(IRQ6_PE_MARK, PE10MD_010),
 524        PINMUX_DATA(TEND0_PE_MARK, PE10MD_100),
 525
 526        PINMUX_DATA(PE9_DATA, PE9MD_00, PE9_IN, PE9_OUT),
 527        PINMUX_DATA(CS5_CE1A_MARK, PE9MD_01),
 528        PINMUX_DATA(IRQ5_PE_MARK, PE9MD_10),
 529        PINMUX_DATA(SCK3_MARK, PE9MD_11),
 530
 531        PINMUX_DATA(PE8_DATA, PE8MD_00, PE8_IN, PE8_OUT),
 532        PINMUX_DATA(CE2A_MARK, PE8MD_01),
 533        PINMUX_DATA(IRQ4_PE_MARK, PE8MD_10),
 534        PINMUX_DATA(SCK2_MARK, PE8MD_11),
 535
 536        PINMUX_DATA(PE7_DATA, PE7MD_000, PE7_IN, PE7_OUT),
 537        PINMUX_DATA(FRAME_MARK, PE7MD_001),
 538        PINMUX_DATA(IRQ3_PE_MARK, PE7MD_010),
 539        PINMUX_DATA(TXD2_MARK, PE7MD_011),
 540        PINMUX_DATA(DACK1_PE_MARK, PE7MD_100),
 541
 542        PINMUX_DATA(PE6_DATA, PE6MD_000, PE6_IN, PE6_OUT),
 543        PINMUX_DATA(A25_MARK, PE6MD_001),
 544        PINMUX_DATA(IRQ2_PE_MARK, PE6MD_010),
 545        PINMUX_DATA(RXD2_MARK, PE6MD_011),
 546        PINMUX_DATA(DREQ1_PE_MARK, PE6MD_100),
 547
 548        PINMUX_DATA(PE5_DATA, PE5MD_000, PE5_IN, PE5_OUT),
 549        PINMUX_DATA(A24_MARK, PE5MD_001),
 550        PINMUX_DATA(IRQ1_PE_MARK, PE5MD_010),
 551        PINMUX_DATA(TXD1_MARK, PE5MD_011),
 552        PINMUX_DATA(DACK0_PE_MARK, PE5MD_100),
 553
 554        PINMUX_DATA(PE4_DATA, PE4MD_000, PE4_IN, PE4_OUT),
 555        PINMUX_DATA(A23_MARK, PE4MD_001),
 556        PINMUX_DATA(IRQ0_PE_MARK, PE4MD_010),
 557        PINMUX_DATA(RXD1_MARK, PE4MD_011),
 558        PINMUX_DATA(DREQ0_PE_MARK, PE4MD_100),
 559
 560        PINMUX_DATA(PE3_DATA, PE3MD_00, PE3_IN, PE3_OUT),
 561        PINMUX_DATA(A22_MARK, PE3MD_01),
 562        PINMUX_DATA(SCK1_MARK, PE3MD_11),
 563
 564        PINMUX_DATA(PE2_DATA, PE2MD_00, PE2_IN, PE2_OUT),
 565        PINMUX_DATA(A21_MARK, PE2MD_01),
 566        PINMUX_DATA(SCK0_MARK, PE2MD_11),
 567
 568        PINMUX_DATA(PE1_DATA, PE1MD_00, PE1_IN, PE1_OUT),
 569        PINMUX_DATA(CS4_MARK, PE1MD_01),
 570        PINMUX_DATA(MRES_MARK, PE1MD_10),
 571        PINMUX_DATA(TXD0_MARK, PE1MD_11),
 572
 573        PINMUX_DATA(PE0_DATA, PE0MD_000, PE0_IN, PE0_OUT),
 574        PINMUX_DATA(BS_MARK, PE0MD_001),
 575        PINMUX_DATA(RXD0_MARK, PE0MD_011),
 576        PINMUX_DATA(ADTRG_PE_MARK, PE0MD_100),
 577
 578        /* PF */
 579        PINMUX_DATA(PF30_DATA, PF30MD_0, PF30_IN, PF30_OUT),
 580        PINMUX_DATA(AUDIO_CLK_MARK, PF30MD_1),
 581
 582        PINMUX_DATA(PF29_DATA, PF29MD_0, PF29_IN, PF29_OUT),
 583        PINMUX_DATA(SSIDATA3_MARK, PF29MD_1),
 584
 585        PINMUX_DATA(PF28_DATA, PF28MD_0, PF28_IN, PF28_OUT),
 586        PINMUX_DATA(SSIWS3_MARK, PF28MD_1),
 587
 588        PINMUX_DATA(PF27_DATA, PF27MD_0, PF27_IN, PF27_OUT),
 589        PINMUX_DATA(SSISCK3_MARK, PF27MD_1),
 590
 591        PINMUX_DATA(PF26_DATA, PF26MD_0, PF26_IN, PF26_OUT),
 592        PINMUX_DATA(SSIDATA2_MARK, PF26MD_1),
 593
 594        PINMUX_DATA(PF25_DATA, PF25MD_0, PF25_IN, PF25_OUT),
 595        PINMUX_DATA(SSIWS2_MARK, PF25MD_1),
 596
 597        PINMUX_DATA(PF24_DATA, PF24MD_0, PF24_IN, PF24_OUT),
 598        PINMUX_DATA(SSISCK2_MARK, PF24MD_1),
 599
 600        PINMUX_DATA(PF23_DATA, PF23MD_00, PF23_IN, PF23_OUT),
 601        PINMUX_DATA(SSIDATA1_MARK, PF23MD_01),
 602        PINMUX_DATA(LCD_VEPWC_MARK, PF23MD_10),
 603
 604        PINMUX_DATA(PF22_DATA, PF22MD_00, PF22_IN, PF22_OUT),
 605        PINMUX_DATA(SSIWS1_MARK, PF22MD_01),
 606        PINMUX_DATA(LCD_VCPWC_MARK, PF22MD_10),
 607
 608        PINMUX_DATA(PF21_DATA, PF21MD_00, PF21_IN, PF21_OUT),
 609        PINMUX_DATA(SSISCK1_MARK, PF21MD_01),
 610        PINMUX_DATA(LCD_CLK_MARK, PF21MD_10),
 611
 612        PINMUX_DATA(PF20_DATA, PF20MD_00, PF20_IN, PF20_OUT),
 613        PINMUX_DATA(SSIDATA0_MARK, PF20MD_01),
 614        PINMUX_DATA(LCD_FLM_MARK, PF20MD_10),
 615
 616        PINMUX_DATA(PF19_DATA, PF19MD_00, PF19_IN, PF19_OUT),
 617        PINMUX_DATA(SSIWS0_MARK, PF19MD_01),
 618        PINMUX_DATA(LCD_M_DISP_MARK, PF19MD_10),
 619
 620        PINMUX_DATA(PF18_DATA, PF18MD_00, PF18_IN, PF18_OUT),
 621        PINMUX_DATA(SSISCK0_MARK, PF18MD_01),
 622        PINMUX_DATA(LCD_CL2_MARK, PF18MD_10),
 623
 624        PINMUX_DATA(PF17_DATA, PF17MD_00, PF17_IN, PF17_OUT),
 625        PINMUX_DATA(FCE_MARK, PF17MD_01),
 626        PINMUX_DATA(LCD_CL1_MARK, PF17MD_10),
 627
 628        PINMUX_DATA(PF16_DATA, PF16MD_00, PF16_IN, PF16_OUT),
 629        PINMUX_DATA(FRB_MARK, PF16MD_01),
 630        PINMUX_DATA(LCD_DON_MARK, PF16MD_10),
 631
 632        PINMUX_DATA(PF15_DATA, PF15MD_00, PF15_IN, PF15_OUT),
 633        PINMUX_DATA(NAF7_MARK, PF15MD_01),
 634        PINMUX_DATA(LCD_DATA15_MARK, PF15MD_10),
 635
 636        PINMUX_DATA(PF14_DATA, PF14MD_00, PF14_IN, PF14_OUT),
 637        PINMUX_DATA(NAF6_MARK, PF14MD_01),
 638        PINMUX_DATA(LCD_DATA14_MARK, PF14MD_10),
 639
 640        PINMUX_DATA(PF13_DATA, PF13MD_00, PF13_IN, PF13_OUT),
 641        PINMUX_DATA(NAF5_MARK, PF13MD_01),
 642        PINMUX_DATA(LCD_DATA13_MARK, PF13MD_10),
 643
 644        PINMUX_DATA(PF12_DATA, PF12MD_00, PF12_IN, PF12_OUT),
 645        PINMUX_DATA(NAF4_MARK, PF12MD_01),
 646        PINMUX_DATA(LCD_DATA12_MARK, PF12MD_10),
 647
 648        PINMUX_DATA(PF11_DATA, PF11MD_00, PF11_IN, PF11_OUT),
 649        PINMUX_DATA(NAF3_MARK, PF11MD_01),
 650        PINMUX_DATA(LCD_DATA11_MARK, PF11MD_10),
 651
 652        PINMUX_DATA(PF10_DATA, PF10MD_00, PF10_IN, PF10_OUT),
 653        PINMUX_DATA(NAF2_MARK, PF10MD_01),
 654        PINMUX_DATA(LCD_DATA10_MARK, PF10MD_10),
 655
 656        PINMUX_DATA(PF9_DATA, PF9MD_00, PF9_IN, PF9_OUT),
 657        PINMUX_DATA(NAF1_MARK, PF9MD_01),
 658        PINMUX_DATA(LCD_DATA9_MARK, PF9MD_10),
 659
 660        PINMUX_DATA(PF8_DATA, PF8MD_00, PF8_IN, PF8_OUT),
 661        PINMUX_DATA(NAF0_MARK, PF8MD_01),
 662        PINMUX_DATA(LCD_DATA8_MARK, PF8MD_10),
 663
 664        PINMUX_DATA(PF7_DATA, PF7MD_00, PF7_IN, PF7_OUT),
 665        PINMUX_DATA(FSC_MARK, PF7MD_01),
 666        PINMUX_DATA(LCD_DATA7_MARK, PF7MD_10),
 667        PINMUX_DATA(SCS1_PF_MARK, PF7MD_11),
 668
 669        PINMUX_DATA(PF6_DATA, PF6MD_00, PF6_IN, PF6_OUT),
 670        PINMUX_DATA(FOE_MARK, PF6MD_01),
 671        PINMUX_DATA(LCD_DATA6_MARK, PF6MD_10),
 672        PINMUX_DATA(SSO1_PF_MARK, PF6MD_11),
 673
 674        PINMUX_DATA(PF5_DATA, PF5MD_00, PF5_IN, PF5_OUT),
 675        PINMUX_DATA(FCDE_MARK, PF5MD_01),
 676        PINMUX_DATA(LCD_DATA5_MARK, PF5MD_10),
 677        PINMUX_DATA(SSI1_PF_MARK, PF5MD_11),
 678
 679        PINMUX_DATA(PF4_DATA, PF4MD_00, PF4_IN, PF4_OUT),
 680        PINMUX_DATA(FWE_MARK, PF4MD_01),
 681        PINMUX_DATA(LCD_DATA4_MARK, PF4MD_10),
 682        PINMUX_DATA(SSCK1_PF_MARK, PF4MD_11),
 683
 684        PINMUX_DATA(PF3_DATA, PF3MD_00, PF3_IN, PF3_OUT),
 685        PINMUX_DATA(TCLKD_PF_MARK, PF3MD_01),
 686        PINMUX_DATA(LCD_DATA3_MARK, PF3MD_10),
 687        PINMUX_DATA(SCS0_PF_MARK, PF3MD_11),
 688
 689        PINMUX_DATA(PF2_DATA, PF2MD_00, PF2_IN, PF2_OUT),
 690        PINMUX_DATA(TCLKC_PF_MARK, PF2MD_01),
 691        PINMUX_DATA(LCD_DATA2_MARK, PF2MD_10),
 692        PINMUX_DATA(SSO0_PF_MARK, PF2MD_11),
 693
 694        PINMUX_DATA(PF1_DATA, PF1MD_00, PF1_IN, PF1_OUT),
 695        PINMUX_DATA(TCLKB_PF_MARK, PF1MD_01),
 696        PINMUX_DATA(LCD_DATA1_MARK, PF1MD_10),
 697        PINMUX_DATA(SSI0_PF_MARK, PF1MD_11),
 698
 699        PINMUX_DATA(PF0_DATA, PF0MD_00, PF0_IN, PF0_OUT),
 700        PINMUX_DATA(TCLKA_PF_MARK, PF0MD_01),
 701        PINMUX_DATA(LCD_DATA0_MARK, PF0MD_10),
 702        PINMUX_DATA(SSCK0_PF_MARK, PF0MD_11),
 703};
 704
 705static struct sh_pfc_pin pinmux_pins[] = {
 706        /* PA */
 707        PINMUX_GPIO(PA7),
 708        PINMUX_GPIO(PA6),
 709        PINMUX_GPIO(PA5),
 710        PINMUX_GPIO(PA4),
 711        PINMUX_GPIO(PA3),
 712        PINMUX_GPIO(PA2),
 713        PINMUX_GPIO(PA1),
 714        PINMUX_GPIO(PA0),
 715
 716        /* PB */
 717        PINMUX_GPIO(PB12),
 718        PINMUX_GPIO(PB11),
 719        PINMUX_GPIO(PB10),
 720        PINMUX_GPIO(PB9),
 721        PINMUX_GPIO(PB8),
 722        PINMUX_GPIO(PB7),
 723        PINMUX_GPIO(PB6),
 724        PINMUX_GPIO(PB5),
 725        PINMUX_GPIO(PB4),
 726        PINMUX_GPIO(PB3),
 727        PINMUX_GPIO(PB2),
 728        PINMUX_GPIO(PB1),
 729        PINMUX_GPIO(PB0),
 730
 731        /* PC */
 732        PINMUX_GPIO(PC14),
 733        PINMUX_GPIO(PC13),
 734        PINMUX_GPIO(PC12),
 735        PINMUX_GPIO(PC11),
 736        PINMUX_GPIO(PC10),
 737        PINMUX_GPIO(PC9),
 738        PINMUX_GPIO(PC8),
 739        PINMUX_GPIO(PC7),
 740        PINMUX_GPIO(PC6),
 741        PINMUX_GPIO(PC5),
 742        PINMUX_GPIO(PC4),
 743        PINMUX_GPIO(PC3),
 744        PINMUX_GPIO(PC2),
 745        PINMUX_GPIO(PC1),
 746        PINMUX_GPIO(PC0),
 747
 748        /* PD */
 749        PINMUX_GPIO(PD15),
 750        PINMUX_GPIO(PD14),
 751        PINMUX_GPIO(PD13),
 752        PINMUX_GPIO(PD12),
 753        PINMUX_GPIO(PD11),
 754        PINMUX_GPIO(PD10),
 755        PINMUX_GPIO(PD9),
 756        PINMUX_GPIO(PD8),
 757        PINMUX_GPIO(PD7),
 758        PINMUX_GPIO(PD6),
 759        PINMUX_GPIO(PD5),
 760        PINMUX_GPIO(PD4),
 761        PINMUX_GPIO(PD3),
 762        PINMUX_GPIO(PD2),
 763        PINMUX_GPIO(PD1),
 764        PINMUX_GPIO(PD0),
 765
 766        /* PE */
 767        PINMUX_GPIO(PE15),
 768        PINMUX_GPIO(PE14),
 769        PINMUX_GPIO(PE13),
 770        PINMUX_GPIO(PE12),
 771        PINMUX_GPIO(PE11),
 772        PINMUX_GPIO(PE10),
 773        PINMUX_GPIO(PE9),
 774        PINMUX_GPIO(PE8),
 775        PINMUX_GPIO(PE7),
 776        PINMUX_GPIO(PE6),
 777        PINMUX_GPIO(PE5),
 778        PINMUX_GPIO(PE4),
 779        PINMUX_GPIO(PE3),
 780        PINMUX_GPIO(PE2),
 781        PINMUX_GPIO(PE1),
 782        PINMUX_GPIO(PE0),
 783
 784        /* PF */
 785        PINMUX_GPIO(PF30),
 786        PINMUX_GPIO(PF29),
 787        PINMUX_GPIO(PF28),
 788        PINMUX_GPIO(PF27),
 789        PINMUX_GPIO(PF26),
 790        PINMUX_GPIO(PF25),
 791        PINMUX_GPIO(PF24),
 792        PINMUX_GPIO(PF23),
 793        PINMUX_GPIO(PF22),
 794        PINMUX_GPIO(PF21),
 795        PINMUX_GPIO(PF20),
 796        PINMUX_GPIO(PF19),
 797        PINMUX_GPIO(PF18),
 798        PINMUX_GPIO(PF17),
 799        PINMUX_GPIO(PF16),
 800        PINMUX_GPIO(PF15),
 801        PINMUX_GPIO(PF14),
 802        PINMUX_GPIO(PF13),
 803        PINMUX_GPIO(PF12),
 804        PINMUX_GPIO(PF11),
 805        PINMUX_GPIO(PF10),
 806        PINMUX_GPIO(PF9),
 807        PINMUX_GPIO(PF8),
 808        PINMUX_GPIO(PF7),
 809        PINMUX_GPIO(PF6),
 810        PINMUX_GPIO(PF5),
 811        PINMUX_GPIO(PF4),
 812        PINMUX_GPIO(PF3),
 813        PINMUX_GPIO(PF2),
 814        PINMUX_GPIO(PF1),
 815        PINMUX_GPIO(PF0),
 816};
 817
 818#define PINMUX_FN_BASE  ARRAY_SIZE(pinmux_pins)
 819
 820static const struct pinmux_func pinmux_func_gpios[] = {
 821        /* INTC */
 822        GPIO_FN(PINT7_PB),
 823        GPIO_FN(PINT6_PB),
 824        GPIO_FN(PINT5_PB),
 825        GPIO_FN(PINT4_PB),
 826        GPIO_FN(PINT3_PB),
 827        GPIO_FN(PINT2_PB),
 828        GPIO_FN(PINT1_PB),
 829        GPIO_FN(PINT0_PB),
 830        GPIO_FN(PINT7_PD),
 831        GPIO_FN(PINT6_PD),
 832        GPIO_FN(PINT5_PD),
 833        GPIO_FN(PINT4_PD),
 834        GPIO_FN(PINT3_PD),
 835        GPIO_FN(PINT2_PD),
 836        GPIO_FN(PINT1_PD),
 837        GPIO_FN(PINT0_PD),
 838        GPIO_FN(IRQ7_PB),
 839        GPIO_FN(IRQ6_PB),
 840        GPIO_FN(IRQ5_PB),
 841        GPIO_FN(IRQ4_PB),
 842        GPIO_FN(IRQ3_PB),
 843        GPIO_FN(IRQ2_PB),
 844        GPIO_FN(IRQ1_PB),
 845        GPIO_FN(IRQ0_PB),
 846        GPIO_FN(IRQ7_PD),
 847        GPIO_FN(IRQ6_PD),
 848        GPIO_FN(IRQ5_PD),
 849        GPIO_FN(IRQ4_PD),
 850        GPIO_FN(IRQ3_PD),
 851        GPIO_FN(IRQ2_PD),
 852        GPIO_FN(IRQ1_PD),
 853        GPIO_FN(IRQ0_PD),
 854        GPIO_FN(IRQ7_PE),
 855        GPIO_FN(IRQ6_PE),
 856        GPIO_FN(IRQ5_PE),
 857        GPIO_FN(IRQ4_PE),
 858        GPIO_FN(IRQ3_PE),
 859        GPIO_FN(IRQ2_PE),
 860        GPIO_FN(IRQ1_PE),
 861        GPIO_FN(IRQ0_PE),
 862
 863        GPIO_FN(WDTOVF),
 864        GPIO_FN(IRQOUT),
 865        GPIO_FN(REFOUT),
 866        GPIO_FN(IRQOUT_REFOUT),
 867        GPIO_FN(UBCTRG),
 868
 869        /* CAN */
 870        GPIO_FN(CTX1),
 871        GPIO_FN(CRX1),
 872        GPIO_FN(CTX0),
 873        GPIO_FN(CTX0_CTX1),
 874        GPIO_FN(CRX0),
 875        GPIO_FN(CRX0_CRX1),
 876
 877        /* IIC3 */
 878        GPIO_FN(SDA3),
 879        GPIO_FN(SCL3),
 880        GPIO_FN(SDA2),
 881        GPIO_FN(SCL2),
 882        GPIO_FN(SDA1),
 883        GPIO_FN(SCL1),
 884        GPIO_FN(SDA0),
 885        GPIO_FN(SCL0),
 886
 887        /* DMAC */
 888        GPIO_FN(TEND0_PD),
 889        GPIO_FN(TEND0_PE),
 890        GPIO_FN(DACK0_PD),
 891        GPIO_FN(DACK0_PE),
 892        GPIO_FN(DREQ0_PD),
 893        GPIO_FN(DREQ0_PE),
 894        GPIO_FN(TEND1_PD),
 895        GPIO_FN(TEND1_PE),
 896        GPIO_FN(DACK1_PD),
 897        GPIO_FN(DACK1_PE),
 898        GPIO_FN(DREQ1_PD),
 899        GPIO_FN(DREQ1_PE),
 900        GPIO_FN(DACK2),
 901        GPIO_FN(DREQ2),
 902        GPIO_FN(DACK3),
 903        GPIO_FN(DREQ3),
 904
 905        /* ADC */
 906        GPIO_FN(ADTRG_PD),
 907        GPIO_FN(ADTRG_PE),
 908
 909        /* BSC */
 910        GPIO_FN(D31),
 911        GPIO_FN(D30),
 912        GPIO_FN(D29),
 913        GPIO_FN(D28),
 914        GPIO_FN(D27),
 915        GPIO_FN(D26),
 916        GPIO_FN(D25),
 917        GPIO_FN(D24),
 918        GPIO_FN(D23),
 919        GPIO_FN(D22),
 920        GPIO_FN(D21),
 921        GPIO_FN(D20),
 922        GPIO_FN(D19),
 923        GPIO_FN(D18),
 924        GPIO_FN(D17),
 925        GPIO_FN(D16),
 926        GPIO_FN(A25),
 927        GPIO_FN(A24),
 928        GPIO_FN(A23),
 929        GPIO_FN(A22),
 930        GPIO_FN(A21),
 931        GPIO_FN(CS4),
 932        GPIO_FN(MRES),
 933        GPIO_FN(BS),
 934        GPIO_FN(IOIS16),
 935        GPIO_FN(CS1),
 936        GPIO_FN(CS6_CE1B),
 937        GPIO_FN(CE2B),
 938        GPIO_FN(CS5_CE1A),
 939        GPIO_FN(CE2A),
 940        GPIO_FN(FRAME),
 941        GPIO_FN(WAIT),
 942        GPIO_FN(RDWR),
 943        GPIO_FN(CKE),
 944        GPIO_FN(CASU),
 945        GPIO_FN(BREQ),
 946        GPIO_FN(RASU),
 947        GPIO_FN(BACK),
 948        GPIO_FN(CASL),
 949        GPIO_FN(RASL),
 950        GPIO_FN(WE3_DQMUU_AH_ICIO_WR),
 951        GPIO_FN(WE2_DQMUL_ICIORD),
 952        GPIO_FN(WE1_DQMLU_WE),
 953        GPIO_FN(WE0_DQMLL),
 954        GPIO_FN(CS3),
 955        GPIO_FN(CS2),
 956        GPIO_FN(A1),
 957        GPIO_FN(A0),
 958        GPIO_FN(CS7),
 959
 960        /* TMU */
 961        GPIO_FN(TIOC4D),
 962        GPIO_FN(TIOC4C),
 963        GPIO_FN(TIOC4B),
 964        GPIO_FN(TIOC4A),
 965        GPIO_FN(TIOC3D),
 966        GPIO_FN(TIOC3C),
 967        GPIO_FN(TIOC3B),
 968        GPIO_FN(TIOC3A),
 969        GPIO_FN(TIOC2B),
 970        GPIO_FN(TIOC1B),
 971        GPIO_FN(TIOC2A),
 972        GPIO_FN(TIOC1A),
 973        GPIO_FN(TIOC0D),
 974        GPIO_FN(TIOC0C),
 975        GPIO_FN(TIOC0B),
 976        GPIO_FN(TIOC0A),
 977        GPIO_FN(TCLKD_PD),
 978        GPIO_FN(TCLKC_PD),
 979        GPIO_FN(TCLKB_PD),
 980        GPIO_FN(TCLKA_PD),
 981        GPIO_FN(TCLKD_PF),
 982        GPIO_FN(TCLKC_PF),
 983        GPIO_FN(TCLKB_PF),
 984        GPIO_FN(TCLKA_PF),
 985
 986        /* SSU */
 987        GPIO_FN(SCS0_PD),
 988        GPIO_FN(SSO0_PD),
 989        GPIO_FN(SSI0_PD),
 990        GPIO_FN(SSCK0_PD),
 991        GPIO_FN(SCS0_PF),
 992        GPIO_FN(SSO0_PF),
 993        GPIO_FN(SSI0_PF),
 994        GPIO_FN(SSCK0_PF),
 995        GPIO_FN(SCS1_PD),
 996        GPIO_FN(SSO1_PD),
 997        GPIO_FN(SSI1_PD),
 998        GPIO_FN(SSCK1_PD),
 999        GPIO_FN(SCS1_PF),
1000        GPIO_FN(SSO1_PF),
1001        GPIO_FN(SSI1_PF),
1002        GPIO_FN(SSCK1_PF),
1003
1004        /* SCIF */
1005        GPIO_FN(TXD0),
1006        GPIO_FN(RXD0),
1007        GPIO_FN(SCK0),
1008        GPIO_FN(TXD1),
1009        GPIO_FN(RXD1),
1010        GPIO_FN(SCK1),
1011        GPIO_FN(TXD2),
1012        GPIO_FN(RXD2),
1013        GPIO_FN(SCK2),
1014        GPIO_FN(RTS3),
1015        GPIO_FN(CTS3),
1016        GPIO_FN(TXD3),
1017        GPIO_FN(RXD3),
1018        GPIO_FN(SCK3),
1019
1020        /* SSI */
1021        GPIO_FN(AUDIO_CLK),
1022        GPIO_FN(SSIDATA3),
1023        GPIO_FN(SSIWS3),
1024        GPIO_FN(SSISCK3),
1025        GPIO_FN(SSIDATA2),
1026        GPIO_FN(SSIWS2),
1027        GPIO_FN(SSISCK2),
1028        GPIO_FN(SSIDATA1),
1029        GPIO_FN(SSIWS1),
1030        GPIO_FN(SSISCK1),
1031        GPIO_FN(SSIDATA0),
1032        GPIO_FN(SSIWS0),
1033        GPIO_FN(SSISCK0),
1034
1035        /* FLCTL */
1036        GPIO_FN(FCE),
1037        GPIO_FN(FRB),
1038        GPIO_FN(NAF7),
1039        GPIO_FN(NAF6),
1040        GPIO_FN(NAF5),
1041        GPIO_FN(NAF4),
1042        GPIO_FN(NAF3),
1043        GPIO_FN(NAF2),
1044        GPIO_FN(NAF1),
1045        GPIO_FN(NAF0),
1046        GPIO_FN(FSC),
1047        GPIO_FN(FOE),
1048        GPIO_FN(FCDE),
1049        GPIO_FN(FWE),
1050
1051        /* LCDC */
1052        GPIO_FN(LCD_VEPWC),
1053        GPIO_FN(LCD_VCPWC),
1054        GPIO_FN(LCD_CLK),
1055        GPIO_FN(LCD_FLM),
1056        GPIO_FN(LCD_M_DISP),
1057        GPIO_FN(LCD_CL2),
1058        GPIO_FN(LCD_CL1),
1059        GPIO_FN(LCD_DON),
1060        GPIO_FN(LCD_DATA15),
1061        GPIO_FN(LCD_DATA14),
1062        GPIO_FN(LCD_DATA13),
1063        GPIO_FN(LCD_DATA12),
1064        GPIO_FN(LCD_DATA11),
1065        GPIO_FN(LCD_DATA10),
1066        GPIO_FN(LCD_DATA9),
1067        GPIO_FN(LCD_DATA8),
1068        GPIO_FN(LCD_DATA7),
1069        GPIO_FN(LCD_DATA6),
1070        GPIO_FN(LCD_DATA5),
1071        GPIO_FN(LCD_DATA4),
1072        GPIO_FN(LCD_DATA3),
1073        GPIO_FN(LCD_DATA2),
1074        GPIO_FN(LCD_DATA1),
1075        GPIO_FN(LCD_DATA0),
1076};
1077
1078static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1079        { PINMUX_CFG_REG("PBIORL", 0xfffe3886, 16, 1) {
1080                0, 0,
1081                0, 0,
1082                0, 0,
1083                0, 0,
1084                PB11_IN, PB11_OUT,
1085                PB10_IN, PB10_OUT,
1086                PB9_IN, PB9_OUT,
1087                PB8_IN, PB8_OUT,
1088                0, 0,
1089                0, 0,
1090                0, 0,
1091                0, 0,
1092                0, 0,
1093                0, 0,
1094                0, 0,
1095                0, 0 }
1096        },
1097        { PINMUX_CFG_REG("PBCRL4", 0xfffe3890, 16, 4) {
1098                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1099
1100                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1101
1102                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1103
1104                PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
1105                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1106        },
1107        { PINMUX_CFG_REG("PBCRL3", 0xfffe3892, 16, 4) {
1108                PB11MD_0, PB11MD_1,
1109                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1110
1111                PB10MD_0, PB10MD_1,
1112                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1113
1114                PB9MD_00, PB9MD_01, PB9MD_10, 0,
1115                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1116
1117                PB8MD_00, PB8MD_01, PB8MD_10, 0,
1118                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1119        },
1120        { PINMUX_CFG_REG("PBCRL2", 0xfffe3894, 16, 4) {
1121                PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
1122                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1123
1124                PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
1125                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1126
1127                PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
1128                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1129
1130                PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
1131                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1132        },
1133        { PINMUX_CFG_REG("PBCRL1", 0xfffe3896, 16, 4) {
1134                PB3MD_00, PB3MD_01, PB3MD_10, PB3MD_11,
1135                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1136
1137                PB2MD_00, PB2MD_01, PB2MD_10, PB2MD_11,
1138                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1139
1140                PB1MD_00, PB1MD_01, PB1MD_10, PB1MD_11,
1141                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1142
1143                PB0MD_00, PB0MD_01, PB0MD_10, PB0MD_11,
1144                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1145        },
1146        { PINMUX_CFG_REG("IFCR", 0xfffe38a2, 16, 4) {
1147                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1148
1149                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1150
1151                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1152
1153                PB12IRQ_00, PB12IRQ_01, PB12IRQ_10, 0,
1154                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1155        },
1156        { PINMUX_CFG_REG("PCIORL", 0xfffe3906, 16, 1) {
1157                0, 0,
1158                PC14_IN, PC14_OUT,
1159                PC13_IN, PC13_OUT,
1160                PC12_IN, PC12_OUT,
1161                PC11_IN, PC11_OUT,
1162                PC10_IN, PC10_OUT,
1163                PC9_IN, PC9_OUT,
1164                PC8_IN, PC8_OUT,
1165                PC7_IN, PC7_OUT,
1166                PC6_IN, PC6_OUT,
1167                PC5_IN, PC5_OUT,
1168                PC4_IN, PC4_OUT,
1169                PC3_IN, PC3_OUT,
1170                PC2_IN, PC2_OUT,
1171                PC1_IN, PC1_OUT,
1172                PC0_IN, PC0_OUT }
1173        },
1174        { PINMUX_CFG_REG("PCCRL4", 0xfffe3910, 16, 4) {
1175                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1176
1177                PC14MD_0, PC14MD_1,
1178                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1179
1180                PC13MD_0, PC13MD_1,
1181                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1182
1183                PC12MD_0, PC12MD_1,
1184                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1185        },
1186        { PINMUX_CFG_REG("PCCRL3", 0xfffe3912, 16, 4) {
1187                PC11MD_00, PC11MD_01, PC11MD_10, 0,
1188                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1189
1190                PC10MD_00, PC10MD_01, PC10MD_10, 0,
1191                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1192
1193                PC9MD_0, PC9MD_1,
1194                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1195
1196                PC8MD_0, PC8MD_1,
1197                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1198        },
1199        { PINMUX_CFG_REG("PCCRL2", 0xfffe3914, 16, 4) {
1200                PC7MD_0, PC7MD_1,
1201                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1202
1203                PC6MD_0, PC6MD_1,
1204                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1205
1206                PC5MD_0, PC5MD_1,
1207                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1208
1209                PC4MD_0, PC4MD_1,
1210                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1211        },
1212        { PINMUX_CFG_REG("PCCRL1", 0xfffe3916, 16, 4) {
1213                PC3MD_0, PC3MD_1,
1214                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1215
1216                PC2MD_0, PC2MD_1,
1217                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1218
1219                PC1MD_0, PC1MD_1,
1220                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1221
1222                PC0MD_00, PC0MD_01, PC0MD_10, 0,
1223                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1224        },
1225        { PINMUX_CFG_REG("PDIORL", 0xfffe3986, 16, 1) {
1226                PD15_IN, PD15_OUT,
1227                PD14_IN, PD14_OUT,
1228                PD13_IN, PD13_OUT,
1229                PD12_IN, PD12_OUT,
1230                PD11_IN, PD11_OUT,
1231                PD10_IN, PD10_OUT,
1232                PD9_IN, PD9_OUT,
1233                PD8_IN, PD8_OUT,
1234                PD7_IN, PD7_OUT,
1235                PD6_IN, PD6_OUT,
1236                PD5_IN, PD5_OUT,
1237                PD4_IN, PD4_OUT,
1238                PD3_IN, PD3_OUT,
1239                PD2_IN, PD2_OUT,
1240                PD1_IN, PD1_OUT,
1241                PD0_IN, PD0_OUT }
1242        },
1243        { PINMUX_CFG_REG("PDCRL4", 0xfffe3990, 16, 4) {
1244                PD15MD_000, PD15MD_001, PD15MD_010, 0,
1245                PD15MD_100, PD15MD_101, 0, 0,
1246                0, 0, 0, 0, 0, 0, 0, 0,
1247
1248                PD14MD_000, PD14MD_001, PD14MD_010, 0,
1249                0, PD14MD_101, 0, 0,
1250                0, 0, 0, 0, 0, 0, 0, 0,
1251
1252                PD13MD_000, PD13MD_001, PD13MD_010, 0,
1253                PD13MD_100, PD13MD_101, 0, 0,
1254                0, 0, 0, 0, 0, 0, 0, 0,
1255
1256                PD12MD_000, PD12MD_001, PD12MD_010, 0,
1257                PD12MD_100, PD12MD_101, 0, 0,
1258                0, 0, 0, 0, 0, 0, 0, 0 }
1259        },
1260        { PINMUX_CFG_REG("PDCRL3", 0xfffe3992, 16, 4) {
1261                PD11MD_000, PD11MD_001, PD11MD_010, 0,
1262                PD11MD_100, PD11MD_101, 0, 0,
1263                0, 0, 0, 0, 0, 0, 0, 0,
1264
1265                PD10MD_000, PD10MD_001, PD10MD_010, 0,
1266                PD10MD_100, PD10MD_101, 0, 0,
1267                0, 0, 0, 0, 0, 0, 0, 0,
1268
1269                PD9MD_000, PD9MD_001, PD9MD_010, 0,
1270                PD9MD_100, PD9MD_101, 0, 0,
1271                0, 0, 0, 0, 0, 0, 0, 0,
1272
1273                PD8MD_000, PD8MD_001, PD8MD_010, 0,
1274                PD8MD_100, PD8MD_101, 0, 0,
1275                0, 0, 0, 0, 0, 0, 0, 0 }
1276        },
1277        { PINMUX_CFG_REG("PDCRL2", 0xfffe3994, 16, 4) {
1278                PD7MD_000, PD7MD_001, PD7MD_010, PD7MD_011,
1279                PD7MD_100, PD7MD_101, 0, 0,
1280                0, 0, 0, 0, 0, 0, 0, 0,
1281
1282                PD6MD_000, PD6MD_001, PD6MD_010, PD6MD_011,
1283                PD6MD_100, PD6MD_101, 0, 0,
1284                0, 0, 0, 0, 0, 0, 0, 0,
1285
1286                PD5MD_000, PD5MD_001, PD5MD_010, PD5MD_011,
1287                PD5MD_100, PD5MD_101, 0, 0,
1288                0, 0, 0, 0, 0, 0, 0, 0,
1289
1290                PD4MD_000, PD4MD_001, PD4MD_010, PD4MD_011,
1291                PD4MD_100, PD4MD_101, 0, 0,
1292                0, 0, 0, 0, 0, 0, 0, 0 }
1293        },
1294        { PINMUX_CFG_REG("PDCRL1", 0xfffe3996, 16, 4) {
1295                PD3MD_000, PD3MD_001, PD3MD_010, PD3MD_011,
1296                PD3MD_100, PD3MD_101, 0, 0,
1297                0, 0, 0, 0, 0, 0, 0, 0,
1298
1299                PD2MD_000, PD2MD_001, PD2MD_010, PD2MD_011,
1300                PD2MD_100, PD2MD_101, 0, 0,
1301                0, 0, 0, 0, 0, 0, 0, 0,
1302
1303                PD1MD_000, PD1MD_001, PD1MD_010, PD1MD_011,
1304                PD1MD_100, PD1MD_101, 0, 0,
1305                0, 0, 0, 0, 0, 0, 0, 0,
1306
1307                PD0MD_000, PD0MD_001, PD0MD_010, PD0MD_011,
1308                PD0MD_100, PD0MD_101, 0, 0,
1309                0, 0, 0, 0, 0, 0, 0, 0 }
1310        },
1311        { PINMUX_CFG_REG("PEIORL", 0xfffe3a06, 16, 1) {
1312                PE15_IN, PE15_OUT,
1313                PE14_IN, PE14_OUT,
1314                PE13_IN, PE13_OUT,
1315                PE12_IN, PE12_OUT,
1316                PE11_IN, PE11_OUT,
1317                PE10_IN, PE10_OUT,
1318                PE9_IN, PE9_OUT,
1319                PE8_IN, PE8_OUT,
1320                PE7_IN, PE7_OUT,
1321                PE6_IN, PE6_OUT,
1322                PE5_IN, PE5_OUT,
1323                PE4_IN, PE4_OUT,
1324                PE3_IN, PE3_OUT,
1325                PE2_IN, PE2_OUT,
1326                PE1_IN, PE1_OUT,
1327                PE0_IN, PE0_OUT }
1328        },
1329        { PINMUX_CFG_REG("PECRL4", 0xfffe3a10, 16, 4) {
1330                PE15MD_00, PE15MD_01, 0, PE15MD_11,
1331                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1332
1333                PE14MD_00, PE14MD_01, 0, PE14MD_11,
1334                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1335
1336                PE13MD_00, 0, 0, PE13MD_11,
1337                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1338
1339                PE12MD_00, 0, 0, PE12MD_11,
1340                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1341        },
1342        { PINMUX_CFG_REG("PECRL3", 0xfffe3a12, 16, 4) {
1343                PE11MD_000, PE11MD_001, PE11MD_010, 0,
1344                PE11MD_100, 0, 0, 0,
1345                0, 0, 0, 0, 0, 0, 0, 0,
1346
1347                PE10MD_000, PE10MD_001, PE10MD_010, 0,
1348                PE10MD_100, 0, 0, 0,
1349                0, 0, 0, 0, 0, 0, 0, 0,
1350
1351                PE9MD_00, PE9MD_01, PE9MD_10, PE9MD_11,
1352                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1353
1354                PE8MD_00, PE8MD_01, PE8MD_10, PE8MD_11,
1355                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1356        },
1357        { PINMUX_CFG_REG("PECRL2", 0xfffe3a14, 16, 4) {
1358                PE7MD_000, PE7MD_001, PE7MD_010, PE7MD_011,
1359                PE7MD_100, 0, 0, 0,
1360                0, 0, 0, 0, 0, 0, 0, 0,
1361
1362                PE6MD_000, PE6MD_001, PE6MD_010, PE6MD_011,
1363                PE6MD_100, 0, 0, 0,
1364                0, 0, 0, 0, 0, 0, 0, 0,
1365
1366                PE5MD_000, PE5MD_001, PE5MD_010, PE5MD_011,
1367                PE5MD_100, 0, 0, 0,
1368                0, 0, 0, 0, 0, 0, 0, 0,
1369
1370                PE4MD_000, PE4MD_001, PE4MD_010, PE4MD_011,
1371                PE4MD_100, 0, 0, 0,
1372                0, 0, 0, 0, 0, 0, 0, 0 }
1373        },
1374        { PINMUX_CFG_REG("PECRL1", 0xfffe3a16, 16, 4) {
1375                PE3MD_00, PE3MD_01, 0, PE3MD_11,
1376                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1377
1378                PE2MD_00, PE2MD_01, 0, PE2MD_11,
1379                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1380
1381                PE1MD_00, PE1MD_01, PE1MD_10, PE1MD_11,
1382                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1383
1384                PE0MD_000, PE0MD_001, 0, PE0MD_011,
1385                PE0MD_100, 0, 0, 0,
1386                0, 0, 0, 0, 0, 0, 0, 0 }
1387        },
1388        { PINMUX_CFG_REG("PFIORH", 0xfffe3a84, 16, 1) {
1389                0, 0,
1390                PF30_IN, PF30_OUT,
1391                PF29_IN, PF29_OUT,
1392                PF28_IN, PF28_OUT,
1393                PF27_IN, PF27_OUT,
1394                PF26_IN, PF26_OUT,
1395                PF25_IN, PF25_OUT,
1396                PF24_IN, PF24_OUT,
1397                PF23_IN, PF23_OUT,
1398                PF22_IN, PF22_OUT,
1399                PF21_IN, PF21_OUT,
1400                PF20_IN, PF20_OUT,
1401                PF19_IN, PF19_OUT,
1402                PF18_IN, PF18_OUT,
1403                PF17_IN, PF17_OUT,
1404                PF16_IN, PF16_OUT }
1405        },
1406        { PINMUX_CFG_REG("PFIORL", 0xfffe3a86, 16, 1) {
1407                PF15_IN, PF15_OUT,
1408                PF14_IN, PF14_OUT,
1409                PF13_IN, PF13_OUT,
1410                PF12_IN, PF12_OUT,
1411                PF11_IN, PF11_OUT,
1412                PF10_IN, PF10_OUT,
1413                PF9_IN, PF9_OUT,
1414                PF8_IN, PF8_OUT,
1415                PF7_IN, PF7_OUT,
1416                PF6_IN, PF6_OUT,
1417                PF5_IN, PF5_OUT,
1418                PF4_IN, PF4_OUT,
1419                PF3_IN, PF3_OUT,
1420                PF2_IN, PF2_OUT,
1421                PF1_IN, PF1_OUT,
1422                PF0_IN, PF0_OUT }
1423        },
1424        { PINMUX_CFG_REG("PFCRH4", 0xfffe3a88, 16, 4) {
1425                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1426
1427                PF30MD_0, PF30MD_1,
1428                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1429
1430                PF29MD_0, PF29MD_1,
1431                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1432
1433                PF28MD_0, PF28MD_1,
1434                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1435        },
1436        { PINMUX_CFG_REG("PFCRH3", 0xfffe3a8a, 16, 4) {
1437                PF27MD_0, PF27MD_1,
1438                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1439
1440                PF26MD_0, PF26MD_1,
1441                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1442
1443                PF25MD_0, PF25MD_1,
1444                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1445
1446                PF24MD_0, PF24MD_1,
1447                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1448        },
1449        { PINMUX_CFG_REG("PFCRH2", 0xfffe3a8c, 16, 4) {
1450                PF23MD_00, PF23MD_01, PF23MD_10, 0,
1451                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1452
1453                PF22MD_00, PF22MD_01, PF22MD_10, 0,
1454                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1455
1456                PF21MD_00, PF21MD_01, PF21MD_10, 0,
1457                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1458
1459                PF20MD_00, PF20MD_01, PF20MD_10, 0,
1460                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1461        },
1462        { PINMUX_CFG_REG("PFCRH1", 0xfffe3a8e, 16, 4) {
1463                PF19MD_00, PF19MD_01, PF19MD_10, 0,
1464                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1465
1466                PF18MD_00, PF18MD_01, PF18MD_10, 0,
1467                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1468
1469                PF17MD_00, PF17MD_01, PF17MD_10, 0,
1470                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1471
1472                PF16MD_00, PF16MD_01, PF16MD_10, 0,
1473                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1474        },
1475        { PINMUX_CFG_REG("PFCRL4", 0xfffe3a90, 16, 4) {
1476                PF15MD_00, PF15MD_01, PF15MD_10, 0,
1477                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1478
1479                PF14MD_00, PF14MD_01, PF14MD_10, 0,
1480                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1481
1482                PF13MD_00, PF13MD_01, PF13MD_10, 0,
1483                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1484
1485                PF12MD_00, PF12MD_01, PF12MD_10, 0,
1486                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1487        },
1488        { PINMUX_CFG_REG("PFCRL3", 0xfffe3a92, 16, 4) {
1489                PF11MD_00, PF11MD_01, PF11MD_10, 0,
1490                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1491
1492                PF10MD_00, PF10MD_01, PF10MD_10, 0,
1493                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1494
1495                PF9MD_00, PF9MD_01, PF9MD_10, 0,
1496                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1497
1498                PF8MD_00, PF8MD_01, PF8MD_10, 0,
1499                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1500        },
1501        { PINMUX_CFG_REG("PFCRL2", 0xfffe3a94, 16, 4) {
1502                PF7MD_00, PF7MD_01, PF7MD_10, PF7MD_11,
1503                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1504
1505                PF6MD_00, PF6MD_01, PF6MD_10, PF6MD_11,
1506                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1507
1508                PF5MD_00, PF5MD_01, PF5MD_10, PF5MD_11,
1509                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1510
1511                PF4MD_00, PF4MD_01, PF4MD_10, PF4MD_11,
1512                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1513        },
1514        { PINMUX_CFG_REG("PFCRL1", 0xfffe3a96, 16, 4) {
1515                PF3MD_00, PF3MD_01, PF3MD_10, PF3MD_11,
1516                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1517
1518                PF2MD_00, PF2MD_01, PF2MD_10, PF2MD_11,
1519                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1520
1521                PF1MD_00, PF1MD_01, PF1MD_10, PF1MD_11,
1522                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1523
1524                PF0MD_00, PF0MD_01, PF0MD_10, PF0MD_11,
1525                0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }
1526        },
1527        {}
1528};
1529
1530static const struct pinmux_data_reg pinmux_data_regs[] = {
1531        { PINMUX_DATA_REG("PADRL", 0xfffe3802, 16) {
1532                0, 0, 0, 0,
1533                0, 0, 0, 0,
1534                PA7_DATA, PA6_DATA, PA5_DATA, PA4_DATA,
1535                PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA }
1536        },
1537        { PINMUX_DATA_REG("PBDRL", 0xfffe3882, 16) {
1538                0, 0, 0, PB12_DATA,
1539                PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
1540                PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
1541                PB3_DATA, PB2_DATA, PB1_DATA, PB0_DATA }
1542        },
1543        { PINMUX_DATA_REG("PCDRL", 0xfffe3902, 16) {
1544                0, PC14_DATA, PC13_DATA, PC12_DATA,
1545                PC11_DATA, PC10_DATA, PC9_DATA, PC8_DATA,
1546                PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
1547                PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA }
1548        },
1549        { PINMUX_DATA_REG("PDDRL", 0xfffe3982, 16) {
1550                PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
1551                PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
1552                PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
1553                PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA }
1554        },
1555        { PINMUX_DATA_REG("PEDRL", 0xfffe3a02, 16) {
1556                PE15_DATA, PE14_DATA, PE13_DATA, PE12_DATA,
1557                PE11_DATA, PE10_DATA, PE9_DATA, PE8_DATA,
1558                PE7_DATA, PE6_DATA, PE5_DATA, PE4_DATA,
1559                PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA }
1560        },
1561        { PINMUX_DATA_REG("PFDRH", 0xfffe3a80, 16) {
1562                0, PF30_DATA, PF29_DATA, PF28_DATA,
1563                PF27_DATA, PF26_DATA, PF25_DATA, PF24_DATA,
1564                PF23_DATA, PF22_DATA, PF21_DATA, PF20_DATA,
1565                PF19_DATA, PF18_DATA, PF17_DATA, PF16_DATA }
1566        },
1567        { PINMUX_DATA_REG("PFDRL", 0xfffe3a82, 16) {
1568                PF15_DATA, PF14_DATA, PF13_DATA, PF12_DATA,
1569                PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
1570                PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
1571                PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA }
1572        },
1573        { },
1574};
1575
1576const struct sh_pfc_soc_info sh7203_pinmux_info = {
1577        .name = "sh7203_pfc",
1578        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
1579        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
1580        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
1581
1582        .pins = pinmux_pins,
1583        .nr_pins = ARRAY_SIZE(pinmux_pins),
1584        .func_gpios = pinmux_func_gpios,
1585        .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
1586
1587        .cfg_regs = pinmux_config_regs,
1588        .data_regs = pinmux_data_regs,
1589
1590        .gpio_data = pinmux_data,
1591        .gpio_data_size = ARRAY_SIZE(pinmux_data),
1592};
1593