linux/drivers/pinctrl/sh-pfc/pfc-sh7264.c
<<
>>
Prefs
   1/*
   2 * SH7264 Pinmux
   3 *
   4 *  Copyright (C) 2012  Renesas Electronics Europe Ltd
   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/sh7264.h>
  14
  15#include "sh_pfc.h"
  16
  17enum {
  18        PINMUX_RESERVED = 0,
  19
  20        PINMUX_DATA_BEGIN,
  21        /* Port A */
  22        PA3_DATA, PA2_DATA, PA1_DATA, PA0_DATA,
  23        /* Port B */
  24        PB22_DATA, PB21_DATA, PB20_DATA,
  25        PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA,
  26        PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
  27        PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
  28        PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
  29        PB3_DATA, PB2_DATA, PB1_DATA,
  30        /* Port C */
  31        PC10_DATA, PC9_DATA, PC8_DATA,
  32        PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
  33        PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA,
  34        /* Port D */
  35        PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
  36        PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
  37        PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
  38        PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA,
  39        /* Port E */
  40        PE5_DATA, PE4_DATA,
  41        PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA,
  42        /* Port F */
  43        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        /* Port G */
  48        PG24_DATA,
  49        PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
  50        PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA,
  51        PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
  52        PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
  53        PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
  54        PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA,
  55        /* Port H */
  56        /* NOTE - Port H does not have a Data Register, but PH Data is
  57           connected to PH Port Register */
  58        PH7_DATA, PH6_DATA, PH5_DATA, PH4_DATA,
  59        PH3_DATA, PH2_DATA, PH1_DATA, PH0_DATA,
  60        /* Port I - not on device */
  61        /* Port J */
  62        PJ12_DATA,
  63        PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
  64        PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
  65        PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA,
  66        /* Port K */
  67        PK12_DATA,
  68        PK11_DATA, PK10_DATA, PK9_DATA, PK8_DATA,
  69        PK7_DATA, PK6_DATA, PK5_DATA, PK4_DATA,
  70        PK3_DATA, PK2_DATA, PK1_DATA, PK0_DATA,
  71        PINMUX_DATA_END,
  72
  73        PINMUX_INPUT_BEGIN,
  74        FORCE_IN,
  75        /* Port A */
  76        PA3_IN, PA2_IN, PA1_IN, PA0_IN,
  77        /* Port B */
  78        PB22_IN, PB21_IN, PB20_IN,
  79        PB19_IN, PB18_IN, PB17_IN, PB16_IN,
  80        PB15_IN, PB14_IN, PB13_IN, PB12_IN,
  81        PB11_IN, PB10_IN, PB9_IN, PB8_IN,
  82        PB7_IN, PB6_IN, PB5_IN, PB4_IN,
  83        PB3_IN, PB2_IN, PB1_IN,
  84        /* Port C */
  85        PC10_IN, PC9_IN, PC8_IN,
  86        PC7_IN, PC6_IN, PC5_IN, PC4_IN,
  87        PC3_IN, PC2_IN, PC1_IN, PC0_IN,
  88        /* Port D */
  89        PD15_IN, PD14_IN, PD13_IN, PD12_IN,
  90        PD11_IN, PD10_IN, PD9_IN, PD8_IN,
  91        PD7_IN, PD6_IN, PD5_IN, PD4_IN,
  92        PD3_IN, PD2_IN, PD1_IN, PD0_IN,
  93        /* Port E */
  94        PE5_IN, PE4_IN,
  95        PE3_IN, PE2_IN, PE1_IN, PE0_IN,
  96        /* Port F */
  97        PF12_IN,
  98        PF11_IN, PF10_IN, PF9_IN, PF8_IN,
  99        PF7_IN, PF6_IN, PF5_IN, PF4_IN,
 100        PF3_IN, PF2_IN, PF1_IN, PF0_IN,
 101        /* Port G */
 102        PG24_IN,
 103        PG23_IN, PG22_IN, PG21_IN, PG20_IN,
 104        PG19_IN, PG18_IN, PG17_IN, PG16_IN,
 105        PG15_IN, PG14_IN, PG13_IN, PG12_IN,
 106        PG11_IN, PG10_IN, PG9_IN, PG8_IN,
 107        PG7_IN, PG6_IN, PG5_IN, PG4_IN,
 108        PG3_IN, PG2_IN, PG1_IN, PG0_IN,
 109        /* Port H - Port H does not have a Data Register */
 110        /* Port I - not on device */
 111        /* Port J */
 112        PJ12_IN,
 113        PJ11_IN, PJ10_IN, PJ9_IN, PJ8_IN,
 114        PJ7_IN, PJ6_IN, PJ5_IN, PJ4_IN,
 115        PJ3_IN, PJ2_IN, PJ1_IN, PJ0_IN,
 116        /* Port K */
 117        PK12_IN,
 118        PK11_IN, PK10_IN, PK9_IN, PK8_IN,
 119        PK7_IN, PK6_IN, PK5_IN, PK4_IN,
 120        PK3_IN, PK2_IN, PK1_IN, PK0_IN,
 121        PINMUX_INPUT_END,
 122
 123        PINMUX_OUTPUT_BEGIN,
 124        FORCE_OUT,
 125        /* Port A */
 126        PA3_OUT, PA2_OUT, PA1_OUT, PA0_OUT,
 127        /* Port B */
 128        PB22_OUT, PB21_OUT, PB20_OUT,
 129        PB19_OUT, PB18_OUT, PB17_OUT, PB16_OUT,
 130        PB15_OUT, PB14_OUT, PB13_OUT, PB12_OUT,
 131        PB11_OUT, PB10_OUT, PB9_OUT, PB8_OUT,
 132        PB7_OUT, PB6_OUT, PB5_OUT, PB4_OUT,
 133        PB3_OUT, PB2_OUT, PB1_OUT,
 134        /* Port C */
 135        PC10_OUT, PC9_OUT, PC8_OUT,
 136        PC7_OUT, PC6_OUT, PC5_OUT, PC4_OUT,
 137        PC3_OUT, PC2_OUT, PC1_OUT, PC0_OUT,
 138        /* Port D */
 139        PD15_OUT, PD14_OUT, PD13_OUT, PD12_OUT,
 140        PD11_OUT, PD10_OUT, PD9_OUT, PD8_OUT,
 141        PD7_OUT, PD6_OUT, PD5_OUT, PD4_OUT,
 142        PD3_OUT, PD2_OUT, PD1_OUT, PD0_OUT,
 143        /* Port E */
 144        PE5_OUT, PE4_OUT,
 145        PE3_OUT, PE2_OUT, PE1_OUT, PE0_OUT,
 146        /* Port F */
 147        PF12_OUT,
 148        PF11_OUT, PF10_OUT, PF9_OUT, PF8_OUT,
 149        PF7_OUT, PF6_OUT, PF5_OUT, PF4_OUT,
 150        PF3_OUT, PF2_OUT, PF1_OUT, PF0_OUT,
 151        /* Port G */
 152        PG24_OUT,
 153        PG23_OUT, PG22_OUT, PG21_OUT, PG20_OUT,
 154        PG19_OUT, PG18_OUT, PG17_OUT, PG16_OUT,
 155        PG15_OUT, PG14_OUT, PG13_OUT, PG12_OUT,
 156        PG11_OUT, PG10_OUT, PG9_OUT, PG8_OUT,
 157        PG7_OUT, PG6_OUT, PG5_OUT, PG4_OUT,
 158        PG3_OUT, PG2_OUT, PG1_OUT, PG0_OUT,
 159        /* Port H - Port H does not have a Data Register */
 160        /* Port I - not on device */
 161        /* Port J */
 162        PJ12_OUT,
 163        PJ11_OUT, PJ10_OUT, PJ9_OUT, PJ8_OUT,
 164        PJ7_OUT, PJ6_OUT, PJ5_OUT, PJ4_OUT,
 165        PJ3_OUT, PJ2_OUT, PJ1_OUT, PJ0_OUT,
 166        /* Port K */
 167        PK12_OUT,
 168        PK11_OUT, PK10_OUT, PK9_OUT, PK8_OUT,
 169        PK7_OUT, PK6_OUT, PK5_OUT, PK4_OUT,
 170        PK3_OUT, PK2_OUT, PK1_OUT, PK0_OUT,
 171        PINMUX_OUTPUT_END,
 172
 173        PINMUX_FUNCTION_BEGIN,
 174        /* Port A */
 175        PA3_IOR_IN, PA3_IOR_OUT,
 176        PA2_IOR_IN, PA2_IOR_OUT,
 177        PA1_IOR_IN, PA1_IOR_OUT,
 178        PA0_IOR_IN, PA0_IOR_OUT,
 179
 180        /* Port B */
 181        PB11_IOR_IN, PB11_IOR_OUT,
 182        PB10_IOR_IN, PB10_IOR_OUT,
 183        PB9_IOR_IN, PB9_IOR_OUT,
 184        PB8_IOR_IN, PB8_IOR_OUT,
 185
 186        PB22MD_00, PB22MD_01, PB22MD_10,
 187        PB21MD_0, PB21MD_1,
 188        PB20MD_0, PB20MD_1,
 189        PB19MD_00, PB19MD_01, PB19MD_10, PB19MD_11,
 190        PB18MD_00, PB18MD_01, PB18MD_10, PB18MD_11,
 191        PB17MD_00, PB17MD_01, PB17MD_10, PB17MD_11,
 192        PB16MD_00, PB16MD_01, PB16MD_10, PB16MD_11,
 193        PB15MD_00, PB15MD_01, PB15MD_10, PB15MD_11,
 194        PB14MD_00, PB14MD_01, PB14MD_10, PB14MD_11,
 195        PB13MD_00, PB13MD_01, PB13MD_10, PB13MD_11,
 196        PB12MD_00, PB12MD_01, PB12MD_10, PB12MD_11,
 197        PB11MD_00, PB11MD_01, PB11MD_10, PB11MD_11,
 198        PB10MD_00, PB10MD_01, PB10MD_10, PB10MD_11,
 199        PB9MD_00, PB9MD_01, PB9MD_10, PB9MD_11,
 200        PB8MD_00, PB8MD_01, PB8MD_10, PB8MD_11,
 201        PB7MD_00, PB7MD_01, PB7MD_10, PB7MD_11,
 202        PB6MD_00, PB6MD_01, PB6MD_10, PB6MD_11,
 203        PB5MD_00, PB5MD_01, PB5MD_10, PB5MD_11,
 204        PB4MD_00, PB4MD_01, PB4MD_10, PB4MD_11,
 205        PB3MD_0, PB3MD_1,
 206        PB2MD_0, PB2MD_1,
 207        PB1MD_0, PB1MD_1,
 208
 209        /* Port C */
 210        PC14_IOR_IN, PC14_IOR_OUT,
 211        PC13_IOR_IN, PC13_IOR_OUT,
 212        PC12_IOR_IN, PC12_IOR_OUT,
 213        PC11_IOR_IN, PC11_IOR_OUT,
 214        PC10_IOR_IN, PC10_IOR_OUT,
 215        PC9_IOR_IN, PC9_IOR_OUT,
 216        PC8_IOR_IN, PC8_IOR_OUT,
 217        PC7_IOR_IN, PC7_IOR_OUT,
 218        PC6_IOR_IN, PC6_IOR_OUT,
 219        PC5_IOR_IN, PC5_IOR_OUT,
 220        PC4_IOR_IN, PC4_IOR_OUT,
 221        PC3_IOR_IN, PC3_IOR_OUT,
 222        PC2_IOR_IN, PC2_IOR_OUT,
 223        PC1_IOR_IN, PC1_IOR_OUT,
 224        PC0_IOR_IN, PC0_IOR_OUT,
 225
 226        PC10MD_0, PC10MD_1,
 227        PC9MD_0, PC9MD_1,
 228        PC8MD_00, PC8MD_01, PC8MD_10, PC8MD_11,
 229        PC7MD_00, PC7MD_01, PC7MD_10, PC7MD_11,
 230        PC6MD_00, PC6MD_01, PC6MD_10, PC6MD_11,
 231        PC5MD_00, PC5MD_01, PC5MD_10, PC5MD_11,
 232        PC4MD_0, PC4MD_1,
 233        PC3MD_0, PC3MD_1,
 234        PC2MD_0, PC2MD_1,
 235        PC1MD_0, PC1MD_1,
 236        PC0MD_0, PC0MD_1,
 237
 238        /* Port D */
 239        PD15_IOR_IN, PD15_IOR_OUT,
 240        PD14_IOR_IN, PD14_IOR_OUT,
 241        PD13_IOR_IN, PD13_IOR_OUT,
 242        PD12_IOR_IN, PD12_IOR_OUT,
 243        PD11_IOR_IN, PD11_IOR_OUT,
 244        PD10_IOR_IN, PD10_IOR_OUT,
 245        PD9_IOR_IN, PD9_IOR_OUT,
 246        PD8_IOR_IN, PD8_IOR_OUT,
 247        PD7_IOR_IN, PD7_IOR_OUT,
 248        PD6_IOR_IN, PD6_IOR_OUT,
 249        PD5_IOR_IN, PD5_IOR_OUT,
 250        PD4_IOR_IN, PD4_IOR_OUT,
 251        PD3_IOR_IN, PD3_IOR_OUT,
 252        PD2_IOR_IN, PD2_IOR_OUT,
 253        PD1_IOR_IN, PD1_IOR_OUT,
 254        PD0_IOR_IN, PD0_IOR_OUT,
 255
 256        PD15MD_00, PD15MD_01, PD15MD_10, PD15MD_11,
 257        PD14MD_00, PD14MD_01, PD14MD_10, PD14MD_11,
 258        PD13MD_00, PD13MD_01, PD13MD_10, PD13MD_11,
 259        PD12MD_00, PD12MD_01, PD12MD_10, PD12MD_11,
 260        PD11MD_00, PD11MD_01, PD11MD_10, PD11MD_11,
 261        PD10MD_00, PD10MD_01, PD10MD_10, PD10MD_11,
 262        PD9MD_00, PD9MD_01, PD9MD_10, PD9MD_11,
 263        PD8MD_00, PD8MD_01, PD8MD_10, PD8MD_11,
 264        PD7MD_00, PD7MD_01, PD7MD_10, PD7MD_11,
 265        PD6MD_00, PD6MD_01, PD6MD_10, PD6MD_11,
 266        PD5MD_00, PD5MD_01, PD5MD_10, PD5MD_11,
 267        PD4MD_00, PD4MD_01, PD4MD_10, PD4MD_11,
 268        PD3MD_00, PD3MD_01, PD3MD_10, PD3MD_11,
 269        PD2MD_00, PD2MD_01, PD2MD_10, PD2MD_11,
 270        PD1MD_00, PD1MD_01, PD1MD_10, PD1MD_11,
 271        PD0MD_00, PD0MD_01, PD0MD_10, PD0MD_11,
 272
 273        /* Port E */
 274        PE5_IOR_IN, PE5_IOR_OUT,
 275        PE4_IOR_IN, PE4_IOR_OUT,
 276        PE3_IOR_IN, PE3_IOR_OUT,
 277        PE2_IOR_IN, PE2_IOR_OUT,
 278        PE1_IOR_IN, PE1_IOR_OUT,
 279        PE0_IOR_IN, PE0_IOR_OUT,
 280
 281        PE5MD_00, PE5MD_01, PE5MD_10, PE5MD_11,
 282        PE4MD_00, PE4MD_01, PE4MD_10, PE4MD_11,
 283        PE3MD_00, PE3MD_01, PE3MD_10, PE3MD_11,
 284        PE2MD_00, PE2MD_01, PE2MD_10, PE2MD_11,
 285        PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011,
 286        PE1MD_100, PE1MD_101, PE1MD_110, PE1MD_111,
 287        PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11,
 288
 289        /* Port F */
 290        PF12_IOR_IN, PF12_IOR_OUT,
 291        PF11_IOR_IN, PF11_IOR_OUT,
 292        PF10_IOR_IN, PF10_IOR_OUT,
 293        PF9_IOR_IN, PF9_IOR_OUT,
 294        PF8_IOR_IN, PF8_IOR_OUT,
 295        PF7_IOR_IN, PF7_IOR_OUT,
 296        PF6_IOR_IN, PF6_IOR_OUT,
 297        PF5_IOR_IN, PF5_IOR_OUT,
 298        PF4_IOR_IN, PF4_IOR_OUT,
 299        PF3_IOR_IN, PF3_IOR_OUT,
 300        PF2_IOR_IN, PF2_IOR_OUT,
 301        PF1_IOR_IN, PF1_IOR_OUT,
 302        PF0_IOR_IN, PF0_IOR_OUT,
 303
 304        PF12MD_000, PF12MD_001, PF12MD_010, PF12MD_011,
 305        PF12MD_100, PF12MD_101, PF12MD_110, PF12MD_111,
 306        PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
 307        PF11MD_100, PF11MD_101, PF11MD_110, PF11MD_111,
 308        PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
 309        PF10MD_100, PF10MD_101, PF10MD_110, PF10MD_111,
 310        PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
 311        PF9MD_100, PF9MD_101, PF9MD_110, PF9MD_111,
 312        PF8MD_00, PF8MD_01, PF8MD_10, PF8MD_11,
 313        PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
 314        PF7MD_100, PF7MD_101, PF7MD_110, PF7MD_111,
 315        PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
 316        PF6MD_100, PF6MD_101, PF6MD_110, PF6MD_111,
 317        PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
 318        PF5MD_100, PF5MD_101, PF5MD_110, PF5MD_111,
 319        PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
 320        PF4MD_100, PF4MD_101, PF4MD_110, PF4MD_111,
 321        PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
 322        PF3MD_100, PF3MD_101, PF3MD_110, PF3MD_111,
 323        PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
 324        PF2MD_100, PF2MD_101, PF2MD_110, PF2MD_111,
 325        PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
 326        PF1MD_100, PF1MD_101, PF1MD_110, PF1MD_111,
 327        PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011,
 328        PF0MD_100, PF0MD_101, PF0MD_110, PF0MD_111,
 329
 330        /* Port G */
 331        PG24_IOR_IN, PG24_IOR_OUT,
 332        PG23_IOR_IN, PG23_IOR_OUT,
 333        PG22_IOR_IN, PG22_IOR_OUT,
 334        PG21_IOR_IN, PG21_IOR_OUT,
 335        PG20_IOR_IN, PG20_IOR_OUT,
 336        PG19_IOR_IN, PG19_IOR_OUT,
 337        PG18_IOR_IN, PG18_IOR_OUT,
 338        PG17_IOR_IN, PG17_IOR_OUT,
 339        PG16_IOR_IN, PG16_IOR_OUT,
 340        PG15_IOR_IN, PG15_IOR_OUT,
 341        PG14_IOR_IN, PG14_IOR_OUT,
 342        PG13_IOR_IN, PG13_IOR_OUT,
 343        PG12_IOR_IN, PG12_IOR_OUT,
 344        PG11_IOR_IN, PG11_IOR_OUT,
 345        PG10_IOR_IN, PG10_IOR_OUT,
 346        PG9_IOR_IN, PG9_IOR_OUT,
 347        PG8_IOR_IN, PG8_IOR_OUT,
 348        PG7_IOR_IN, PG7_IOR_OUT,
 349        PG6_IOR_IN, PG6_IOR_OUT,
 350        PG5_IOR_IN, PG5_IOR_OUT,
 351        PG4_IOR_IN, PG4_IOR_OUT,
 352        PG3_IOR_IN, PG3_IOR_OUT,
 353        PG2_IOR_IN, PG2_IOR_OUT,
 354        PG1_IOR_IN, PG1_IOR_OUT,
 355        PG0_IOR_IN, PG0_IOR_OUT,
 356
 357        PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11,
 358        PG23MD_00, PG23MD_01, PG23MD_10, PG23MD_11,
 359        PG22MD_00, PG22MD_01, PG22MD_10, PG22MD_11,
 360        PG21MD_00, PG21MD_01, PG21MD_10, PG21MD_11,
 361        PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
 362        PG20MD_100, PG20MD_101, PG20MD_110, PG20MD_111,
 363        PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
 364        PG19MD_100, PG19MD_101, PG19MD_110, PG19MD_111,
 365        PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
 366        PG18MD_100, PG18MD_101, PG18MD_110, PG18MD_111,
 367        PG17MD_000, PG17MD_001, PG17MD_010, PG17MD_011,
 368        PG17MD_100, PG17MD_101, PG17MD_110, PG17MD_111,
 369        PG16MD_000, PG16MD_001, PG16MD_010, PG16MD_011,
 370        PG16MD_100, PG16MD_101, PG16MD_110, PG16MD_111,
 371        PG15MD_000, PG15MD_001, PG15MD_010, PG15MD_011,
 372        PG15MD_100, PG15MD_101, PG15MD_110, PG15MD_111,
 373        PG14MD_000, PG14MD_001, PG14MD_010, PG14MD_011,
 374        PG14MD_100, PG14MD_101, PG14MD_110, PG14MD_111,
 375        PG13MD_000, PG13MD_001, PG13MD_010, PG13MD_011,
 376        PG13MD_100, PG13MD_101, PG13MD_110, PG13MD_111,
 377        PG12MD_000, PG12MD_001, PG12MD_010, PG12MD_011,
 378        PG12MD_100, PG12MD_101, PG12MD_110, PG12MD_111,
 379        PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
 380        PG11MD_100, PG11MD_101, PG11MD_110, PG11MD_111,
 381        PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
 382        PG10MD_100, PG10MD_101, PG10MD_110, PG10MD_111,
 383        PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
 384        PG9MD_100, PG9MD_101, PG9MD_110, PG9MD_111,
 385        PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
 386        PG8MD_100, PG8MD_101, PG8MD_110, PG8MD_111,
 387        PG7MD_00, PG7MD_01, PG7MD_10, PG7MD_11,
 388        PG6MD_00, PG6MD_01, PG6MD_10, PG6MD_11,
 389        PG5MD_00, PG5MD_01, PG5MD_10, PG5MD_11,
 390        PG4MD_00, PG4MD_01, PG4MD_10, PG4MD_11,
 391        PG3MD_00, PG3MD_01, PG3MD_10, PG3MD_11,
 392        PG2MD_00, PG2MD_01, PG2MD_10, PG2MD_11,
 393        PG1MD_00, PG1MD_01, PG1MD_10, PG1MD_11,
 394        PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
 395        PG0MD_100, PG0MD_101, PG0MD_110, PG0MD_111,
 396
 397        /* Port H */
 398        PH7MD_0, PH7MD_1,
 399        PH6MD_0, PH6MD_1,
 400        PH5MD_0, PH5MD_1,
 401        PH4MD_0, PH4MD_1,
 402        PH3MD_0, PH3MD_1,
 403        PH2MD_0, PH2MD_1,
 404        PH1MD_0, PH1MD_1,
 405        PH0MD_0, PH0MD_1,
 406
 407        /* Port I - not on device */
 408
 409        /* Port J */
 410        PJ11_IOR_IN, PJ11_IOR_OUT,
 411        PJ10_IOR_IN, PJ10_IOR_OUT,
 412        PJ9_IOR_IN, PJ9_IOR_OUT,
 413        PJ8_IOR_IN, PJ8_IOR_OUT,
 414        PJ7_IOR_IN, PJ7_IOR_OUT,
 415        PJ6_IOR_IN, PJ6_IOR_OUT,
 416        PJ5_IOR_IN, PJ5_IOR_OUT,
 417        PJ4_IOR_IN, PJ4_IOR_OUT,
 418        PJ3_IOR_IN, PJ3_IOR_OUT,
 419        PJ2_IOR_IN, PJ2_IOR_OUT,
 420        PJ1_IOR_IN, PJ1_IOR_OUT,
 421        PJ0_IOR_IN, PJ0_IOR_OUT,
 422
 423        PJ11MD_00, PJ11MD_01, PJ11MD_10, PJ11MD_11,
 424        PJ10MD_00, PJ10MD_01, PJ10MD_10, PJ10MD_11,
 425        PJ9MD_00, PJ9MD_01, PJ9MD_10, PJ9MD_11,
 426        PJ8MD_00, PJ8MD_01, PJ8MD_10, PJ8MD_11,
 427        PJ7MD_00, PJ7MD_01, PJ7MD_10, PJ7MD_11,
 428        PJ6MD_00, PJ6MD_01, PJ6MD_10, PJ6MD_11,
 429        PJ5MD_00, PJ5MD_01, PJ5MD_10, PJ5MD_11,
 430        PJ4MD_00, PJ4MD_01, PJ4MD_10, PJ4MD_11,
 431        PJ3MD_00, PJ3MD_01, PJ3MD_10, PJ3MD_11,
 432        PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
 433        PJ2MD_100, PJ2MD_101, PJ2MD_110, PJ2MD_111,
 434        PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
 435        PJ1MD_100, PJ1MD_101, PJ1MD_110, PJ1MD_111,
 436        PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
 437        PJ0MD_100, PJ0MD_101, PJ0MD_110, PJ0MD_111,
 438
 439        /* Port K */
 440        PK11_IOR_IN, PK11_IOR_OUT,
 441        PK10_IOR_IN, PK10_IOR_OUT,
 442        PK9_IOR_IN, PK9_IOR_OUT,
 443        PK8_IOR_IN, PK8_IOR_OUT,
 444        PK7_IOR_IN, PK7_IOR_OUT,
 445        PK6_IOR_IN, PK6_IOR_OUT,
 446        PK5_IOR_IN, PK5_IOR_OUT,
 447        PK4_IOR_IN, PK4_IOR_OUT,
 448        PK3_IOR_IN, PK3_IOR_OUT,
 449        PK2_IOR_IN, PK2_IOR_OUT,
 450        PK1_IOR_IN, PK1_IOR_OUT,
 451        PK0_IOR_IN, PK0_IOR_OUT,
 452
 453        PK11MD_00, PK11MD_01, PK11MD_10, PK11MD_11,
 454        PK10MD_00, PK10MD_01, PK10MD_10, PK10MD_11,
 455        PK9MD_00, PK9MD_01, PK9MD_10, PK9MD_11,
 456        PK8MD_00, PK8MD_01, PK8MD_10, PK8MD_11,
 457        PK7MD_00, PK7MD_01, PK7MD_10, PK7MD_11,
 458        PK6MD_00, PK6MD_01, PK6MD_10, PK6MD_11,
 459        PK5MD_00, PK5MD_01, PK5MD_10, PK5MD_11,
 460        PK4MD_00, PK4MD_01, PK4MD_10, PK4MD_11,
 461        PK3MD_00, PK3MD_01, PK3MD_10, PK3MD_11,
 462        PK2MD_00, PK2MD_01, PK2MD_10, PK2MD_11,
 463        PK1MD_00, PK1MD_01, PK1MD_10, PK1MD_11,
 464        PK0MD_00, PK0MD_01, PK0MD_10, PK0MD_11,
 465        PINMUX_FUNCTION_END,
 466
 467        PINMUX_MARK_BEGIN,
 468        /* Port A */
 469
 470        /* Port B */
 471
 472        /* Port C */
 473
 474        /* Port D */
 475
 476        /* Port E */
 477
 478        /* Port F */
 479
 480        /* Port G */
 481
 482        /* Port H */
 483        PHAN7_MARK, PHAN6_MARK, PHAN5_MARK, PHAN4_MARK,
 484        PHAN3_MARK, PHAN2_MARK, PHAN1_MARK, PHAN0_MARK,
 485
 486        /* Port I - not on device */
 487
 488        /* Port J */
 489
 490        /* Port K */
 491
 492        IRQ7_PC_MARK, IRQ6_PC_MARK, IRQ5_PC_MARK, IRQ4_PC_MARK,
 493        IRQ3_PG_MARK, IRQ2_PG_MARK, IRQ1_PJ_MARK, IRQ0_PJ_MARK,
 494        IRQ3_PE_MARK, IRQ2_PE_MARK, IRQ1_PE_MARK, IRQ0_PE_MARK,
 495
 496        PINT7_PG_MARK, PINT6_PG_MARK, PINT5_PG_MARK, PINT4_PG_MARK,
 497        PINT3_PG_MARK, PINT2_PG_MARK, PINT1_PG_MARK, PINT0_PG_MARK,
 498
 499        SD_CD_MARK, SD_D0_MARK, SD_D1_MARK, SD_D2_MARK, SD_D3_MARK,
 500        SD_WP_MARK, SD_CLK_MARK, SD_CMD_MARK,
 501        CRX0_MARK, CRX1_MARK,
 502        CTX0_MARK, CTX1_MARK,
 503
 504        PWM1A_MARK, PWM1B_MARK, PWM1C_MARK, PWM1D_MARK,
 505        PWM1E_MARK, PWM1F_MARK, PWM1G_MARK, PWM1H_MARK,
 506        PWM2A_MARK, PWM2B_MARK, PWM2C_MARK, PWM2D_MARK,
 507        PWM2E_MARK, PWM2F_MARK, PWM2G_MARK, PWM2H_MARK,
 508        IERXD_MARK, IETXD_MARK,
 509        CRX0_CRX1_MARK,
 510        WDTOVF_MARK,
 511
 512        CRX0X1_MARK,
 513
 514        /* DMAC */
 515        TEND0_MARK, DACK0_MARK, DREQ0_MARK,
 516        TEND1_MARK, DACK1_MARK, DREQ1_MARK,
 517
 518        /* ADC */
 519        ADTRG_MARK,
 520
 521        /* BSC */
 522        A25_MARK, A24_MARK,
 523        A23_MARK, A22_MARK, A21_MARK, A20_MARK,
 524        A19_MARK, A18_MARK, A17_MARK, A16_MARK,
 525        A15_MARK, A14_MARK, A13_MARK, A12_MARK,
 526        A11_MARK, A10_MARK, A9_MARK, A8_MARK,
 527        A7_MARK, A6_MARK, A5_MARK, A4_MARK,
 528        A3_MARK, A2_MARK, A1_MARK, A0_MARK,
 529        D15_MARK, D14_MARK, D13_MARK, D12_MARK,
 530        D11_MARK, D10_MARK, D9_MARK, D8_MARK,
 531        D7_MARK, D6_MARK, D5_MARK, D4_MARK,
 532        D3_MARK, D2_MARK, D1_MARK, D0_MARK,
 533        BS_MARK,
 534        CS4_MARK, CS3_MARK, CS2_MARK, CS1_MARK, CS0_MARK,
 535        CS6CE1B_MARK, CS5CE1A_MARK,
 536        CE2A_MARK, CE2B_MARK,
 537        RD_MARK, RDWR_MARK,
 538        ICIOWRAH_MARK,
 539        ICIORD_MARK,
 540        WE1DQMUWE_MARK,
 541        WE0DQML_MARK,
 542        RAS_MARK, CAS_MARK, CKE_MARK,
 543        WAIT_MARK, BREQ_MARK, BACK_MARK, IOIS16_MARK,
 544
 545        /* TMU */
 546        TIOC0A_MARK, TIOC0B_MARK, TIOC0C_MARK, TIOC0D_MARK,
 547        TIOC1A_MARK, TIOC1B_MARK,
 548        TIOC2A_MARK, TIOC2B_MARK,
 549        TIOC3A_MARK, TIOC3B_MARK, TIOC3C_MARK, TIOC3D_MARK,
 550        TIOC4A_MARK, TIOC4B_MARK, TIOC4C_MARK, TIOC4D_MARK,
 551        TCLKA_MARK,     TCLKB_MARK, TCLKC_MARK, TCLKD_MARK,
 552
 553        /* SCIF */
 554        SCK0_MARK, SCK1_MARK, SCK2_MARK, SCK3_MARK,
 555        RXD0_MARK, RXD1_MARK, RXD2_MARK, RXD3_MARK,
 556        TXD0_MARK, TXD1_MARK, TXD2_MARK, TXD3_MARK,
 557        RXD4_MARK, RXD5_MARK, RXD6_MARK, RXD7_MARK,
 558        TXD4_MARK, TXD5_MARK, TXD6_MARK, TXD7_MARK,
 559        RTS1_MARK, RTS3_MARK,
 560        CTS1_MARK, CTS3_MARK,
 561
 562        /* RSPI */
 563        RSPCK0_MARK, RSPCK1_MARK,
 564        MOSI0_MARK, MOSI1_MARK,
 565        MISO0_PF12_MARK, MISO1_MARK, MISO1_PG19_MARK,
 566        SSL00_MARK, SSL10_MARK,
 567
 568        /* IIC3 */
 569        SCL0_MARK, SCL1_MARK, SCL2_MARK,
 570        SDA0_MARK, SDA1_MARK, SDA2_MARK,
 571
 572        /* SSI */
 573        SSISCK0_MARK,
 574        SSIWS0_MARK,
 575        SSITXD0_MARK,
 576        SSIRXD0_MARK,
 577        SSIWS1_MARK, SSIWS2_MARK, SSIWS3_MARK,
 578        SSISCK1_MARK, SSISCK2_MARK, SSISCK3_MARK,
 579        SSIDATA1_MARK, SSIDATA2_MARK, SSIDATA3_MARK,
 580        AUDIO_CLK_MARK,
 581
 582        /* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
 583        SIOFTXD_MARK, SIOFRXD_MARK, SIOFSYNC_MARK, SIOFSCK_MARK,
 584
 585        /* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
 586        SPDIF_IN_MARK, SPDIF_OUT_MARK,
 587
 588        /* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
 589        FCE_MARK,
 590        FRB_MARK,
 591
 592        /* VDC3 */
 593        DV_CLK_MARK,
 594        DV_VSYNC_MARK, DV_HSYNC_MARK,
 595        DV_DATA7_MARK, DV_DATA6_MARK, DV_DATA5_MARK, DV_DATA4_MARK,
 596        DV_DATA3_MARK, DV_DATA2_MARK, DV_DATA1_MARK, DV_DATA0_MARK,
 597        LCD_CLK_MARK, LCD_EXTCLK_MARK,
 598        LCD_VSYNC_MARK, LCD_HSYNC_MARK, LCD_DE_MARK,
 599        LCD_DATA15_MARK, LCD_DATA14_MARK, LCD_DATA13_MARK, LCD_DATA12_MARK,
 600        LCD_DATA11_MARK, LCD_DATA10_MARK, LCD_DATA9_MARK, LCD_DATA8_MARK,
 601        LCD_DATA7_MARK, LCD_DATA6_MARK, LCD_DATA5_MARK, LCD_DATA4_MARK,
 602        LCD_DATA3_MARK, LCD_DATA2_MARK, LCD_DATA1_MARK, LCD_DATA0_MARK,
 603        LCD_M_DISP_MARK,
 604        PINMUX_MARK_END,
 605};
 606
 607static const pinmux_enum_t pinmux_data[] = {
 608
 609        /* Port A */
 610        PINMUX_DATA(PA3_DATA, PA3_IN),
 611        PINMUX_DATA(PA2_DATA, PA2_IN),
 612        PINMUX_DATA(PA1_DATA, PA1_IN),
 613        PINMUX_DATA(PA0_DATA, PA0_IN),
 614
 615        /* Port B */
 616        PINMUX_DATA(PB22_DATA, PB22MD_00, PB22_IN, PB22_OUT),
 617        PINMUX_DATA(A22_MARK, PB22MD_01),
 618        PINMUX_DATA(CS4_MARK, PB22MD_10),
 619
 620        PINMUX_DATA(PB21_DATA, PB21MD_0, PB21_IN, PB21_OUT),
 621        PINMUX_DATA(A21_MARK, PB21MD_1),
 622        PINMUX_DATA(A20_MARK, PB20MD_1),
 623        PINMUX_DATA(A19_MARK, PB19MD_01),
 624        PINMUX_DATA(A18_MARK, PB18MD_01),
 625        PINMUX_DATA(A17_MARK, PB17MD_01),
 626        PINMUX_DATA(A16_MARK, PB16MD_01),
 627        PINMUX_DATA(A15_MARK, PB15MD_01),
 628        PINMUX_DATA(A14_MARK, PB14MD_01),
 629        PINMUX_DATA(A13_MARK, PB13MD_01),
 630        PINMUX_DATA(A12_MARK, PB12MD_01),
 631        PINMUX_DATA(A11_MARK, PB11MD_01),
 632        PINMUX_DATA(A10_MARK, PB10MD_01),
 633        PINMUX_DATA(A9_MARK, PB9MD_01),
 634        PINMUX_DATA(A8_MARK, PB8MD_01),
 635        PINMUX_DATA(A7_MARK, PB7MD_01),
 636        PINMUX_DATA(A6_MARK, PB6MD_01),
 637        PINMUX_DATA(A5_MARK, PB5MD_01),
 638        PINMUX_DATA(A4_MARK, PB4MD_01),
 639        PINMUX_DATA(A3_MARK, PB3MD_1),
 640        PINMUX_DATA(A2_MARK, PB2MD_1),
 641        PINMUX_DATA(A1_MARK, PB1MD_1),
 642
 643        /* Port C */
 644        PINMUX_DATA(PC10_DATA, PC10MD_0),
 645        PINMUX_DATA(TIOC2B_MARK, PC1MD_1),
 646        PINMUX_DATA(PC9_DATA, PC9MD_0),
 647        PINMUX_DATA(TIOC2A_MARK, PC9MD_1),
 648        PINMUX_DATA(PC8_DATA, PC8MD_00),
 649        PINMUX_DATA(CS3_MARK, PC8MD_01),
 650        PINMUX_DATA(TIOC4D_MARK, PC8MD_10),
 651        PINMUX_DATA(IRQ7_PC_MARK, PC8MD_11),
 652        PINMUX_DATA(PC7_DATA, PC7MD_00),
 653        PINMUX_DATA(CKE_MARK, PC7MD_01),
 654        PINMUX_DATA(TIOC4C_MARK, PC7MD_10),
 655        PINMUX_DATA(IRQ6_PC_MARK, PC7MD_11),
 656        PINMUX_DATA(PC6_DATA, PC6MD_00),
 657        PINMUX_DATA(CAS_MARK, PC6MD_01),
 658        PINMUX_DATA(TIOC4B_MARK, PC6MD_10),
 659        PINMUX_DATA(IRQ5_PC_MARK, PC6MD_11),
 660        PINMUX_DATA(PC5_DATA, PC5MD_00),
 661        PINMUX_DATA(RAS_MARK, PC5MD_01),
 662        PINMUX_DATA(TIOC4A_MARK, PC5MD_10),
 663        PINMUX_DATA(IRQ4_PC_MARK, PC5MD_11),
 664        PINMUX_DATA(PC4_DATA, PC4MD_0),
 665        PINMUX_DATA(WE1DQMUWE_MARK, PC4MD_1),
 666        PINMUX_DATA(PC3_DATA, PC3MD_0),
 667        PINMUX_DATA(WE0DQML_MARK, PC3MD_1),
 668        PINMUX_DATA(PC2_DATA, PC2MD_0),
 669        PINMUX_DATA(RDWR_MARK, PC2MD_1),
 670        PINMUX_DATA(PC1_DATA, PC1MD_0),
 671        PINMUX_DATA(RD_MARK, PC1MD_1),
 672        PINMUX_DATA(PC0_DATA, PC0MD_0),
 673        PINMUX_DATA(CS0_MARK, PC0MD_1),
 674
 675        /* Port D */
 676        PINMUX_DATA(D15_MARK, PD15MD_01),
 677        PINMUX_DATA(D14_MARK, PD14MD_01),
 678        PINMUX_DATA(D13_MARK, PD13MD_01),
 679        PINMUX_DATA(D12_MARK, PD12MD_01),
 680        PINMUX_DATA(D11_MARK, PD11MD_01),
 681        PINMUX_DATA(D10_MARK, PD10MD_01),
 682        PINMUX_DATA(D9_MARK, PD9MD_01),
 683        PINMUX_DATA(D8_MARK, PD8MD_01),
 684        PINMUX_DATA(D7_MARK, PD7MD_01),
 685        PINMUX_DATA(D6_MARK, PD6MD_01),
 686        PINMUX_DATA(D5_MARK, PD5MD_01),
 687        PINMUX_DATA(D4_MARK, PD4MD_01),
 688        PINMUX_DATA(D3_MARK, PD3MD_01),
 689        PINMUX_DATA(D2_MARK, PD2MD_01),
 690        PINMUX_DATA(D1_MARK, PD1MD_01),
 691        PINMUX_DATA(D0_MARK, PD0MD_01),
 692
 693        /* Port E */
 694        PINMUX_DATA(PE5_DATA, PE5MD_00),
 695        PINMUX_DATA(SDA2_MARK, PE5MD_01),
 696        PINMUX_DATA(DV_HSYNC_MARK, PE5MD_11),
 697
 698        PINMUX_DATA(PE4_DATA, PE4MD_00),
 699        PINMUX_DATA(SCL2_MARK, PE4MD_01),
 700        PINMUX_DATA(DV_VSYNC_MARK, PE4MD_11),
 701
 702        PINMUX_DATA(PE3_DATA, PE3MD_00),
 703        PINMUX_DATA(SDA1_MARK, PE3MD_01),
 704        PINMUX_DATA(IRQ3_PE_MARK, PE3MD_11),
 705
 706        PINMUX_DATA(PE2_DATA, PE2MD_00),
 707        PINMUX_DATA(SCL1_MARK, PE2MD_01),
 708        PINMUX_DATA(IRQ2_PE_MARK, PE2MD_11),
 709
 710        PINMUX_DATA(PE1_DATA, PE1MD_000),
 711        PINMUX_DATA(SDA0_MARK, PE1MD_001),
 712        PINMUX_DATA(IOIS16_MARK, PE1MD_010),
 713        PINMUX_DATA(IRQ1_PE_MARK, PE1MD_011),
 714        PINMUX_DATA(TCLKA_MARK, PE1MD_100),
 715        PINMUX_DATA(ADTRG_MARK, PE1MD_101),
 716
 717        PINMUX_DATA(PE0_DATA, PE0MD_00),
 718        PINMUX_DATA(SCL0_MARK, PE0MD_01),
 719        PINMUX_DATA(AUDIO_CLK_MARK, PE0MD_10),
 720        PINMUX_DATA(IRQ0_PE_MARK, PE0MD_11),
 721
 722        /* Port F */
 723        PINMUX_DATA(PF12_DATA, PF12MD_000),
 724        PINMUX_DATA(BS_MARK, PF12MD_001),
 725        PINMUX_DATA(MISO0_PF12_MARK, PF12MD_011),
 726        PINMUX_DATA(TIOC3D_MARK, PF12MD_100),
 727        PINMUX_DATA(SPDIF_OUT_MARK, PF12MD_101),
 728
 729        PINMUX_DATA(PF11_DATA, PF11MD_000),
 730        PINMUX_DATA(A25_MARK, PF11MD_001),
 731        PINMUX_DATA(SSIDATA3_MARK, PF11MD_010),
 732        PINMUX_DATA(MOSI0_MARK, PF11MD_011),
 733        PINMUX_DATA(TIOC3C_MARK, PF11MD_100),
 734        PINMUX_DATA(SPDIF_IN_MARK, PF11MD_101),
 735
 736        PINMUX_DATA(PF10_DATA, PF10MD_000),
 737        PINMUX_DATA(A24_MARK, PF10MD_001),
 738        PINMUX_DATA(SSIWS3_MARK, PF10MD_010),
 739        PINMUX_DATA(SSL00_MARK, PF10MD_011),
 740        PINMUX_DATA(TIOC3B_MARK, PF10MD_100),
 741        PINMUX_DATA(FCE_MARK, PF10MD_101),
 742
 743        PINMUX_DATA(PF9_DATA, PF9MD_000),
 744        PINMUX_DATA(A23_MARK, PF9MD_001),
 745        PINMUX_DATA(SSISCK3_MARK, PF9MD_010),
 746        PINMUX_DATA(RSPCK0_MARK, PF9MD_011),
 747        PINMUX_DATA(TIOC3A_MARK, PF9MD_100),
 748        PINMUX_DATA(FRB_MARK, PF9MD_101),
 749
 750        PINMUX_DATA(PF8_DATA, PF8MD_00),
 751        PINMUX_DATA(CE2B_MARK, PF8MD_01),
 752        PINMUX_DATA(SSIDATA3_MARK, PF8MD_10),
 753        PINMUX_DATA(DV_CLK_MARK, PF8MD_11),
 754
 755        PINMUX_DATA(PF7_DATA, PF7MD_000),
 756        PINMUX_DATA(CE2A_MARK, PF7MD_001),
 757        PINMUX_DATA(SSIWS3_MARK, PF7MD_010),
 758        PINMUX_DATA(DV_DATA7_MARK, PF7MD_011),
 759        PINMUX_DATA(TCLKD_MARK, PF7MD_100),
 760
 761        PINMUX_DATA(PF6_DATA, PF6MD_000),
 762        PINMUX_DATA(CS6CE1B_MARK, PF6MD_001),
 763        PINMUX_DATA(SSISCK3_MARK, PF6MD_010),
 764        PINMUX_DATA(DV_DATA6_MARK, PF6MD_011),
 765        PINMUX_DATA(TCLKB_MARK, PF6MD_100),
 766
 767        PINMUX_DATA(PF5_DATA, PF5MD_000),
 768        PINMUX_DATA(CS5CE1A_MARK, PF5MD_001),
 769        PINMUX_DATA(SSIDATA2_MARK, PF5MD_010),
 770        PINMUX_DATA(DV_DATA5_MARK, PF5MD_011),
 771        PINMUX_DATA(TCLKC_MARK, PF5MD_100),
 772
 773        PINMUX_DATA(PF4_DATA, PF4MD_000),
 774        PINMUX_DATA(ICIOWRAH_MARK, PF4MD_001),
 775        PINMUX_DATA(SSIWS2_MARK, PF4MD_010),
 776        PINMUX_DATA(DV_DATA4_MARK, PF4MD_011),
 777        PINMUX_DATA(TXD3_MARK, PF4MD_100),
 778
 779        PINMUX_DATA(PF3_DATA, PF3MD_000),
 780        PINMUX_DATA(ICIORD_MARK, PF3MD_001),
 781        PINMUX_DATA(SSISCK2_MARK, PF3MD_010),
 782        PINMUX_DATA(DV_DATA3_MARK, PF3MD_011),
 783        PINMUX_DATA(RXD3_MARK, PF3MD_100),
 784
 785        PINMUX_DATA(PF2_DATA, PF2MD_000),
 786        PINMUX_DATA(BACK_MARK, PF2MD_001),
 787        PINMUX_DATA(SSIDATA1_MARK, PF2MD_010),
 788        PINMUX_DATA(DV_DATA2_MARK, PF2MD_011),
 789        PINMUX_DATA(TXD2_MARK, PF2MD_100),
 790        PINMUX_DATA(DACK0_MARK, PF2MD_101),
 791
 792        PINMUX_DATA(PF1_DATA, PF1MD_000),
 793        PINMUX_DATA(BREQ_MARK, PF1MD_001),
 794        PINMUX_DATA(SSIWS1_MARK, PF1MD_010),
 795        PINMUX_DATA(DV_DATA1_MARK, PF1MD_011),
 796        PINMUX_DATA(RXD2_MARK, PF1MD_100),
 797        PINMUX_DATA(DREQ0_MARK, PF1MD_101),
 798
 799        PINMUX_DATA(PF0_DATA, PF0MD_000),
 800        PINMUX_DATA(WAIT_MARK, PF0MD_001),
 801        PINMUX_DATA(SSISCK1_MARK, PF0MD_010),
 802        PINMUX_DATA(DV_DATA0_MARK, PF0MD_011),
 803        PINMUX_DATA(SCK2_MARK, PF0MD_100),
 804        PINMUX_DATA(TEND0_MARK, PF0MD_101),
 805
 806        /* Port G */
 807        PINMUX_DATA(PG24_DATA, PG24MD_00),
 808        PINMUX_DATA(MOSI0_MARK, PG24MD_01),
 809        PINMUX_DATA(TIOC0D_MARK, PG24MD_10),
 810
 811        PINMUX_DATA(PG23_DATA, PG23MD_00),
 812        PINMUX_DATA(MOSI1_MARK, PG23MD_01),
 813        PINMUX_DATA(TIOC0C_MARK, PG23MD_10),
 814
 815        PINMUX_DATA(PG22_DATA, PG22MD_00),
 816        PINMUX_DATA(SSL10_MARK, PG22MD_01),
 817        PINMUX_DATA(TIOC0B_MARK, PG22MD_10),
 818
 819        PINMUX_DATA(PG21_DATA, PG21MD_00),
 820        PINMUX_DATA(RSPCK1_MARK, PG21MD_01),
 821        PINMUX_DATA(TIOC0A_MARK, PG21MD_10),
 822
 823        PINMUX_DATA(PG20_DATA, PG20MD_000),
 824        PINMUX_DATA(LCD_EXTCLK_MARK, PG20MD_001),
 825        PINMUX_DATA(MISO1_MARK, PG20MD_011),
 826        PINMUX_DATA(TXD7_MARK, PG20MD_100),
 827
 828        PINMUX_DATA(PG19_DATA, PG19MD_000),
 829        PINMUX_DATA(LCD_CLK_MARK, PG19MD_001),
 830        PINMUX_DATA(TIOC2B_MARK, PG19MD_010),
 831        PINMUX_DATA(MISO1_PG19_MARK, PG19MD_011),
 832        PINMUX_DATA(RXD7_MARK, PG19MD_100),
 833
 834        PINMUX_DATA(PG18_DATA, PG18MD_000),
 835        PINMUX_DATA(LCD_DE_MARK, PG18MD_001),
 836        PINMUX_DATA(TIOC2A_MARK, PG18MD_010),
 837        PINMUX_DATA(SSL10_MARK, PG18MD_011),
 838        PINMUX_DATA(TXD6_MARK, PG18MD_100),
 839
 840        PINMUX_DATA(PG17_DATA, PG17MD_000),
 841        PINMUX_DATA(LCD_HSYNC_MARK, PG17MD_001),
 842        PINMUX_DATA(TIOC1B_MARK, PG17MD_010),
 843        PINMUX_DATA(RSPCK1_MARK, PG17MD_011),
 844        PINMUX_DATA(RXD6_MARK, PG17MD_100),
 845
 846        PINMUX_DATA(PG16_DATA, PG16MD_000),
 847        PINMUX_DATA(LCD_VSYNC_MARK, PG16MD_001),
 848        PINMUX_DATA(TIOC1A_MARK, PG16MD_010),
 849        PINMUX_DATA(TXD3_MARK, PG16MD_011),
 850        PINMUX_DATA(CTS1_MARK, PG16MD_100),
 851
 852        PINMUX_DATA(PG15_DATA, PG15MD_000),
 853        PINMUX_DATA(LCD_DATA15_MARK, PG15MD_001),
 854        PINMUX_DATA(TIOC0D_MARK, PG15MD_010),
 855        PINMUX_DATA(RXD3_MARK, PG15MD_011),
 856        PINMUX_DATA(RTS1_MARK, PG15MD_100),
 857
 858        PINMUX_DATA(PG14_DATA, PG14MD_000),
 859        PINMUX_DATA(LCD_DATA14_MARK, PG14MD_001),
 860        PINMUX_DATA(TIOC0C_MARK, PG14MD_010),
 861        PINMUX_DATA(SCK1_MARK, PG14MD_100),
 862
 863        PINMUX_DATA(PG13_DATA, PG13MD_000),
 864        PINMUX_DATA(LCD_DATA13_MARK, PG13MD_001),
 865        PINMUX_DATA(TIOC0B_MARK, PG13MD_010),
 866        PINMUX_DATA(TXD1_MARK, PG13MD_100),
 867
 868        PINMUX_DATA(PG12_DATA, PG12MD_000),
 869        PINMUX_DATA(LCD_DATA12_MARK, PG12MD_001),
 870        PINMUX_DATA(TIOC0A_MARK, PG12MD_010),
 871        PINMUX_DATA(RXD1_MARK, PG12MD_100),
 872
 873        PINMUX_DATA(PG11_DATA, PG11MD_000),
 874        PINMUX_DATA(LCD_DATA11_MARK, PG11MD_001),
 875        PINMUX_DATA(SSITXD0_MARK, PG11MD_010),
 876        PINMUX_DATA(IRQ3_PG_MARK, PG11MD_011),
 877        PINMUX_DATA(TXD5_MARK, PG11MD_100),
 878        PINMUX_DATA(SIOFTXD_MARK, PG11MD_101),
 879
 880        PINMUX_DATA(PG10_DATA, PG10MD_000),
 881        PINMUX_DATA(LCD_DATA10_MARK, PG10MD_001),
 882        PINMUX_DATA(SSIRXD0_MARK, PG10MD_010),
 883        PINMUX_DATA(IRQ2_PG_MARK, PG10MD_011),
 884        PINMUX_DATA(RXD5_MARK, PG10MD_100),
 885        PINMUX_DATA(SIOFRXD_MARK, PG10MD_101),
 886
 887        PINMUX_DATA(PG9_DATA, PG9MD_000),
 888        PINMUX_DATA(LCD_DATA9_MARK, PG9MD_001),
 889        PINMUX_DATA(SSIWS0_MARK, PG9MD_010),
 890        PINMUX_DATA(TXD4_MARK, PG9MD_100),
 891        PINMUX_DATA(SIOFSYNC_MARK, PG9MD_101),
 892
 893        PINMUX_DATA(PG8_DATA, PG8MD_000),
 894        PINMUX_DATA(LCD_DATA8_MARK, PG8MD_001),
 895        PINMUX_DATA(SSISCK0_MARK, PG8MD_010),
 896        PINMUX_DATA(RXD4_MARK, PG8MD_100),
 897        PINMUX_DATA(SIOFSCK_MARK, PG8MD_101),
 898
 899        PINMUX_DATA(PG7_DATA, PG7MD_00),
 900        PINMUX_DATA(LCD_DATA7_MARK, PG7MD_01),
 901        PINMUX_DATA(SD_CD_MARK, PG7MD_10),
 902        PINMUX_DATA(PINT7_PG_MARK, PG7MD_11),
 903
 904        PINMUX_DATA(PG6_DATA, PG7MD_00),
 905        PINMUX_DATA(LCD_DATA6_MARK, PG7MD_01),
 906        PINMUX_DATA(SD_WP_MARK, PG7MD_10),
 907        PINMUX_DATA(PINT6_PG_MARK, PG7MD_11),
 908
 909        PINMUX_DATA(PG5_DATA, PG5MD_00),
 910        PINMUX_DATA(LCD_DATA5_MARK, PG5MD_01),
 911        PINMUX_DATA(SD_D1_MARK, PG5MD_10),
 912        PINMUX_DATA(PINT5_PG_MARK, PG5MD_11),
 913
 914        PINMUX_DATA(PG4_DATA, PG4MD_00),
 915        PINMUX_DATA(LCD_DATA4_MARK, PG4MD_01),
 916        PINMUX_DATA(SD_D0_MARK, PG4MD_10),
 917        PINMUX_DATA(PINT4_PG_MARK, PG4MD_11),
 918
 919        PINMUX_DATA(PG3_DATA, PG3MD_00),
 920        PINMUX_DATA(LCD_DATA3_MARK, PG3MD_01),
 921        PINMUX_DATA(SD_CLK_MARK, PG3MD_10),
 922        PINMUX_DATA(PINT3_PG_MARK, PG3MD_11),
 923
 924        PINMUX_DATA(PG2_DATA, PG2MD_00),
 925        PINMUX_DATA(LCD_DATA2_MARK, PG2MD_01),
 926        PINMUX_DATA(SD_CMD_MARK, PG2MD_10),
 927        PINMUX_DATA(PINT2_PG_MARK, PG2MD_11),
 928
 929        PINMUX_DATA(PG1_DATA, PG1MD_00),
 930        PINMUX_DATA(LCD_DATA1_MARK, PG1MD_01),
 931        PINMUX_DATA(SD_D3_MARK, PG1MD_10),
 932        PINMUX_DATA(PINT1_PG_MARK, PG1MD_11),
 933
 934        PINMUX_DATA(PG0_DATA, PG0MD_000),
 935        PINMUX_DATA(LCD_DATA0_MARK, PG0MD_001),
 936        PINMUX_DATA(SD_D2_MARK, PG0MD_010),
 937        PINMUX_DATA(PINT0_PG_MARK, PG0MD_011),
 938        PINMUX_DATA(WDTOVF_MARK, PG0MD_100),
 939
 940        /* Port H */
 941        PINMUX_DATA(PH7_DATA, PH7MD_0),
 942        PINMUX_DATA(PHAN7_MARK, PH7MD_1),
 943
 944        PINMUX_DATA(PH6_DATA, PH6MD_0),
 945        PINMUX_DATA(PHAN6_MARK, PH6MD_1),
 946
 947        PINMUX_DATA(PH5_DATA, PH5MD_0),
 948        PINMUX_DATA(PHAN5_MARK, PH5MD_1),
 949
 950        PINMUX_DATA(PH4_DATA, PH4MD_0),
 951        PINMUX_DATA(PHAN4_MARK, PH4MD_1),
 952
 953        PINMUX_DATA(PH3_DATA, PH3MD_0),
 954        PINMUX_DATA(PHAN3_MARK, PH3MD_1),
 955
 956        PINMUX_DATA(PH2_DATA, PH2MD_0),
 957        PINMUX_DATA(PHAN2_MARK, PH2MD_1),
 958
 959        PINMUX_DATA(PH1_DATA, PH1MD_0),
 960        PINMUX_DATA(PHAN1_MARK, PH1MD_1),
 961
 962        PINMUX_DATA(PH0_DATA, PH0MD_0),
 963        PINMUX_DATA(PHAN0_MARK, PH0MD_1),
 964
 965        /* Port I - not on device */
 966
 967        /* Port J */
 968        PINMUX_DATA(PJ11_DATA, PJ11MD_00),
 969        PINMUX_DATA(PWM2H_MARK, PJ11MD_01),
 970        PINMUX_DATA(DACK1_MARK, PJ11MD_10),
 971
 972        PINMUX_DATA(PJ10_DATA, PJ10MD_00),
 973        PINMUX_DATA(PWM2G_MARK, PJ10MD_01),
 974        PINMUX_DATA(DREQ1_MARK, PJ10MD_10),
 975
 976        PINMUX_DATA(PJ9_DATA, PJ9MD_00),
 977        PINMUX_DATA(PWM2F_MARK, PJ9MD_01),
 978        PINMUX_DATA(TEND1_MARK, PJ9MD_10),
 979
 980        PINMUX_DATA(PJ8_DATA, PJ8MD_00),
 981        PINMUX_DATA(PWM2E_MARK, PJ8MD_01),
 982        PINMUX_DATA(RTS3_MARK, PJ8MD_10),
 983
 984        PINMUX_DATA(PJ7_DATA, PJ7MD_00),
 985        PINMUX_DATA(TIOC1B_MARK, PJ7MD_01),
 986        PINMUX_DATA(CTS3_MARK, PJ7MD_10),
 987
 988        PINMUX_DATA(PJ6_DATA, PJ6MD_00),
 989        PINMUX_DATA(TIOC1A_MARK, PJ6MD_01),
 990        PINMUX_DATA(SCK3_MARK, PJ6MD_10),
 991
 992        PINMUX_DATA(PJ5_DATA, PJ5MD_00),
 993        PINMUX_DATA(IERXD_MARK, PJ5MD_01),
 994        PINMUX_DATA(TXD3_MARK, PJ5MD_10),
 995
 996        PINMUX_DATA(PJ4_DATA, PJ4MD_00),
 997        PINMUX_DATA(IETXD_MARK, PJ4MD_01),
 998        PINMUX_DATA(RXD3_MARK, PJ4MD_10),
 999
1000        PINMUX_DATA(PJ3_DATA, PJ3MD_00),
1001        PINMUX_DATA(CRX1_MARK, PJ3MD_01),
1002        PINMUX_DATA(CRX0X1_MARK, PJ3MD_10),
1003        PINMUX_DATA(IRQ1_PJ_MARK, PJ3MD_11),
1004
1005        PINMUX_DATA(PJ2_DATA, PJ2MD_000),
1006        PINMUX_DATA(CTX1_MARK, PJ2MD_001),
1007        PINMUX_DATA(CRX0_CRX1_MARK, PJ2MD_010),
1008        PINMUX_DATA(CS2_MARK, PJ2MD_011),
1009        PINMUX_DATA(SCK0_MARK, PJ2MD_100),
1010        PINMUX_DATA(LCD_M_DISP_MARK, PJ2MD_101),
1011
1012        PINMUX_DATA(PJ1_DATA, PJ1MD_000),
1013        PINMUX_DATA(CRX0_MARK, PJ1MD_001),
1014        PINMUX_DATA(IERXD_MARK, PJ1MD_010),
1015        PINMUX_DATA(IRQ0_PJ_MARK, PJ1MD_011),
1016        PINMUX_DATA(RXD0_MARK, PJ1MD_100),
1017
1018        PINMUX_DATA(PJ0_DATA, PJ0MD_000),
1019        PINMUX_DATA(CTX0_MARK, PJ0MD_001),
1020        PINMUX_DATA(IERXD_MARK, PJ0MD_010),
1021        PINMUX_DATA(CS1_MARK, PJ0MD_011),
1022        PINMUX_DATA(TXD0_MARK, PJ0MD_100),
1023        PINMUX_DATA(A0_MARK, PJ0MD_101),
1024
1025        /* Port K */
1026        PINMUX_DATA(PK11_DATA, PK11MD_00),
1027        PINMUX_DATA(PWM2D_MARK, PK11MD_01),
1028        PINMUX_DATA(SSITXD0_MARK, PK11MD_10),
1029
1030        PINMUX_DATA(PK10_DATA, PK10MD_00),
1031        PINMUX_DATA(PWM2C_MARK, PK10MD_01),
1032        PINMUX_DATA(SSIRXD0_MARK, PK10MD_10),
1033
1034        PINMUX_DATA(PK9_DATA, PK9MD_00),
1035        PINMUX_DATA(PWM2B_MARK, PK9MD_01),
1036        PINMUX_DATA(SSIWS0_MARK, PK9MD_10),
1037
1038        PINMUX_DATA(PK8_DATA, PK8MD_00),
1039        PINMUX_DATA(PWM2A_MARK, PK8MD_01),
1040        PINMUX_DATA(SSISCK0_MARK, PK8MD_10),
1041
1042        PINMUX_DATA(PK7_DATA, PK7MD_00),
1043        PINMUX_DATA(PWM1H_MARK, PK7MD_01),
1044        PINMUX_DATA(SD_CD_MARK, PK7MD_10),
1045
1046        PINMUX_DATA(PK6_DATA, PK6MD_00),
1047        PINMUX_DATA(PWM1G_MARK, PK6MD_01),
1048        PINMUX_DATA(SD_WP_MARK, PK6MD_10),
1049
1050        PINMUX_DATA(PK5_DATA, PK5MD_00),
1051        PINMUX_DATA(PWM1F_MARK, PK5MD_01),
1052        PINMUX_DATA(SD_D1_MARK, PK5MD_10),
1053
1054        PINMUX_DATA(PK4_DATA, PK4MD_00),
1055        PINMUX_DATA(PWM1E_MARK, PK4MD_01),
1056        PINMUX_DATA(SD_D0_MARK, PK4MD_10),
1057
1058        PINMUX_DATA(PK3_DATA, PK3MD_00),
1059        PINMUX_DATA(PWM1D_MARK, PK3MD_01),
1060        PINMUX_DATA(SD_CLK_MARK, PK3MD_10),
1061
1062        PINMUX_DATA(PK2_DATA, PK2MD_00),
1063        PINMUX_DATA(PWM1C_MARK, PK2MD_01),
1064        PINMUX_DATA(SD_CMD_MARK, PK2MD_10),
1065
1066        PINMUX_DATA(PK1_DATA, PK1MD_00),
1067        PINMUX_DATA(PWM1B_MARK, PK1MD_01),
1068        PINMUX_DATA(SD_D3_MARK, PK1MD_10),
1069
1070        PINMUX_DATA(PK0_DATA, PK0MD_00),
1071        PINMUX_DATA(PWM1A_MARK, PK0MD_01),
1072        PINMUX_DATA(SD_D2_MARK, PK0MD_10),
1073};
1074
1075static struct sh_pfc_pin pinmux_pins[] = {
1076
1077        /* Port A */
1078        PINMUX_GPIO(GPIO_PA3, PA3_DATA),
1079        PINMUX_GPIO(GPIO_PA2, PA2_DATA),
1080        PINMUX_GPIO(GPIO_PA1, PA1_DATA),
1081        PINMUX_GPIO(GPIO_PA0, PA0_DATA),
1082
1083        /* Port B */
1084        PINMUX_GPIO(GPIO_PB22, PB22_DATA),
1085        PINMUX_GPIO(GPIO_PB21, PB21_DATA),
1086        PINMUX_GPIO(GPIO_PB20, PB20_DATA),
1087        PINMUX_GPIO(GPIO_PB19, PB19_DATA),
1088        PINMUX_GPIO(GPIO_PB18, PB18_DATA),
1089        PINMUX_GPIO(GPIO_PB17, PB17_DATA),
1090        PINMUX_GPIO(GPIO_PB16, PB16_DATA),
1091        PINMUX_GPIO(GPIO_PB15, PB15_DATA),
1092        PINMUX_GPIO(GPIO_PB14, PB14_DATA),
1093        PINMUX_GPIO(GPIO_PB13, PB13_DATA),
1094        PINMUX_GPIO(GPIO_PB12, PB12_DATA),
1095        PINMUX_GPIO(GPIO_PB11, PB11_DATA),
1096        PINMUX_GPIO(GPIO_PB10, PB10_DATA),
1097        PINMUX_GPIO(GPIO_PB9, PB9_DATA),
1098        PINMUX_GPIO(GPIO_PB8, PB8_DATA),
1099        PINMUX_GPIO(GPIO_PB7, PB7_DATA),
1100        PINMUX_GPIO(GPIO_PB6, PB6_DATA),
1101        PINMUX_GPIO(GPIO_PB5, PB5_DATA),
1102        PINMUX_GPIO(GPIO_PB4, PB4_DATA),
1103        PINMUX_GPIO(GPIO_PB3, PB3_DATA),
1104        PINMUX_GPIO(GPIO_PB2, PB2_DATA),
1105        PINMUX_GPIO(GPIO_PB1, PB1_DATA),
1106
1107        /* Port C */
1108        PINMUX_GPIO(GPIO_PC10, PC10_DATA),
1109        PINMUX_GPIO(GPIO_PC9, PC9_DATA),
1110        PINMUX_GPIO(GPIO_PC8, PC8_DATA),
1111        PINMUX_GPIO(GPIO_PC7, PC7_DATA),
1112        PINMUX_GPIO(GPIO_PC6, PC6_DATA),
1113        PINMUX_GPIO(GPIO_PC5, PC5_DATA),
1114        PINMUX_GPIO(GPIO_PC4, PC4_DATA),
1115        PINMUX_GPIO(GPIO_PC3, PC3_DATA),
1116        PINMUX_GPIO(GPIO_PC2, PC2_DATA),
1117        PINMUX_GPIO(GPIO_PC1, PC1_DATA),
1118        PINMUX_GPIO(GPIO_PC0, PC0_DATA),
1119
1120        /* Port D */
1121        PINMUX_GPIO(GPIO_PD15, PD15_DATA),
1122        PINMUX_GPIO(GPIO_PD14, PD14_DATA),
1123        PINMUX_GPIO(GPIO_PD13, PD13_DATA),
1124        PINMUX_GPIO(GPIO_PD12, PD12_DATA),
1125        PINMUX_GPIO(GPIO_PD11, PD11_DATA),
1126        PINMUX_GPIO(GPIO_PD10, PD10_DATA),
1127        PINMUX_GPIO(GPIO_PD9, PD9_DATA),
1128        PINMUX_GPIO(GPIO_PD8, PD8_DATA),
1129        PINMUX_GPIO(GPIO_PD7, PD7_DATA),
1130        PINMUX_GPIO(GPIO_PD6, PD6_DATA),
1131        PINMUX_GPIO(GPIO_PD5, PD5_DATA),
1132        PINMUX_GPIO(GPIO_PD4, PD4_DATA),
1133        PINMUX_GPIO(GPIO_PD3, PD3_DATA),
1134        PINMUX_GPIO(GPIO_PD2, PD2_DATA),
1135        PINMUX_GPIO(GPIO_PD1, PD1_DATA),
1136        PINMUX_GPIO(GPIO_PD0, PD0_DATA),
1137
1138        /* Port E */
1139        PINMUX_GPIO(GPIO_PE5, PE5_DATA),
1140        PINMUX_GPIO(GPIO_PE4, PE4_DATA),
1141        PINMUX_GPIO(GPIO_PE3, PE3_DATA),
1142        PINMUX_GPIO(GPIO_PE2, PE2_DATA),
1143        PINMUX_GPIO(GPIO_PE1, PE1_DATA),
1144        PINMUX_GPIO(GPIO_PE0, PE0_DATA),
1145
1146        /* Port F */
1147        PINMUX_GPIO(GPIO_PF12, PF12_DATA),
1148        PINMUX_GPIO(GPIO_PF11, PF11_DATA),
1149        PINMUX_GPIO(GPIO_PF10, PF10_DATA),
1150        PINMUX_GPIO(GPIO_PF9, PF9_DATA),
1151        PINMUX_GPIO(GPIO_PF8, PF8_DATA),
1152        PINMUX_GPIO(GPIO_PF7, PF7_DATA),
1153        PINMUX_GPIO(GPIO_PF6, PF6_DATA),
1154        PINMUX_GPIO(GPIO_PF5, PF5_DATA),
1155        PINMUX_GPIO(GPIO_PF4, PF4_DATA),
1156        PINMUX_GPIO(GPIO_PF3, PF3_DATA),
1157        PINMUX_GPIO(GPIO_PF2, PF2_DATA),
1158        PINMUX_GPIO(GPIO_PF1, PF1_DATA),
1159        PINMUX_GPIO(GPIO_PF0, PF0_DATA),
1160
1161        /* Port G */
1162        PINMUX_GPIO(GPIO_PG24, PG24_DATA),
1163        PINMUX_GPIO(GPIO_PG23, PG23_DATA),
1164        PINMUX_GPIO(GPIO_PG22, PG22_DATA),
1165        PINMUX_GPIO(GPIO_PG21, PG21_DATA),
1166        PINMUX_GPIO(GPIO_PG20, PG20_DATA),
1167        PINMUX_GPIO(GPIO_PG19, PG19_DATA),
1168        PINMUX_GPIO(GPIO_PG18, PG18_DATA),
1169        PINMUX_GPIO(GPIO_PG17, PG17_DATA),
1170        PINMUX_GPIO(GPIO_PG16, PG16_DATA),
1171        PINMUX_GPIO(GPIO_PG15, PG15_DATA),
1172        PINMUX_GPIO(GPIO_PG14, PG14_DATA),
1173        PINMUX_GPIO(GPIO_PG13, PG13_DATA),
1174        PINMUX_GPIO(GPIO_PG12, PG12_DATA),
1175        PINMUX_GPIO(GPIO_PG11, PG11_DATA),
1176        PINMUX_GPIO(GPIO_PG10, PG10_DATA),
1177        PINMUX_GPIO(GPIO_PG9, PG9_DATA),
1178        PINMUX_GPIO(GPIO_PG8, PG8_DATA),
1179        PINMUX_GPIO(GPIO_PG7, PG7_DATA),
1180        PINMUX_GPIO(GPIO_PG6, PG6_DATA),
1181        PINMUX_GPIO(GPIO_PG5, PG5_DATA),
1182        PINMUX_GPIO(GPIO_PG4, PG4_DATA),
1183        PINMUX_GPIO(GPIO_PG3, PG3_DATA),
1184        PINMUX_GPIO(GPIO_PG2, PG2_DATA),
1185        PINMUX_GPIO(GPIO_PG1, PG1_DATA),
1186        PINMUX_GPIO(GPIO_PG0, PG0_DATA),
1187
1188        /* Port H - Port H does not have a Data Register */
1189
1190        /* Port I - not on device */
1191
1192        /* Port J */
1193        PINMUX_GPIO(GPIO_PJ11, PJ11_DATA),
1194        PINMUX_GPIO(GPIO_PJ10, PJ10_DATA),
1195        PINMUX_GPIO(GPIO_PJ9, PJ9_DATA),
1196        PINMUX_GPIO(GPIO_PJ8, PJ8_DATA),
1197        PINMUX_GPIO(GPIO_PJ7, PJ7_DATA),
1198        PINMUX_GPIO(GPIO_PJ6, PJ6_DATA),
1199        PINMUX_GPIO(GPIO_PJ5, PJ5_DATA),
1200        PINMUX_GPIO(GPIO_PJ4, PJ4_DATA),
1201        PINMUX_GPIO(GPIO_PJ3, PJ3_DATA),
1202        PINMUX_GPIO(GPIO_PJ2, PJ2_DATA),
1203        PINMUX_GPIO(GPIO_PJ1, PJ1_DATA),
1204        PINMUX_GPIO(GPIO_PJ0, PJ0_DATA),
1205
1206        /* Port K */
1207        PINMUX_GPIO(GPIO_PK11, PK11_DATA),
1208        PINMUX_GPIO(GPIO_PK10, PK10_DATA),
1209        PINMUX_GPIO(GPIO_PK9, PK9_DATA),
1210        PINMUX_GPIO(GPIO_PK8, PK8_DATA),
1211        PINMUX_GPIO(GPIO_PK7, PK7_DATA),
1212        PINMUX_GPIO(GPIO_PK6, PK6_DATA),
1213        PINMUX_GPIO(GPIO_PK5, PK5_DATA),
1214        PINMUX_GPIO(GPIO_PK4, PK4_DATA),
1215        PINMUX_GPIO(GPIO_PK3, PK3_DATA),
1216        PINMUX_GPIO(GPIO_PK2, PK2_DATA),
1217        PINMUX_GPIO(GPIO_PK1, PK1_DATA),
1218        PINMUX_GPIO(GPIO_PK0, PK0_DATA),
1219};
1220
1221#define PINMUX_FN_BASE  ARRAY_SIZE(pinmux_pins)
1222
1223static const struct pinmux_func pinmux_func_gpios[] = {
1224        /* INTC */
1225        GPIO_FN(PINT7_PG),
1226        GPIO_FN(PINT6_PG),
1227        GPIO_FN(PINT5_PG),
1228        GPIO_FN(PINT4_PG),
1229        GPIO_FN(PINT3_PG),
1230        GPIO_FN(PINT2_PG),
1231        GPIO_FN(PINT1_PG),
1232
1233        GPIO_FN(IRQ7_PC),
1234        GPIO_FN(IRQ6_PC),
1235        GPIO_FN(IRQ5_PC),
1236        GPIO_FN(IRQ4_PC),
1237        GPIO_FN(IRQ3_PG),
1238        GPIO_FN(IRQ2_PG),
1239        GPIO_FN(IRQ1_PJ),
1240        GPIO_FN(IRQ0_PJ),
1241        GPIO_FN(IRQ3_PE),
1242        GPIO_FN(IRQ2_PE),
1243        GPIO_FN(IRQ1_PE),
1244        GPIO_FN(IRQ0_PE),
1245
1246        /* WDT */
1247        GPIO_FN(WDTOVF),
1248
1249        /* CAN */
1250        GPIO_FN(CTX1),
1251        GPIO_FN(CRX1),
1252        GPIO_FN(CTX0),
1253        GPIO_FN(CRX0),
1254        GPIO_FN(CRX0_CRX1),
1255
1256        /* DMAC */
1257        GPIO_FN(TEND0),
1258        GPIO_FN(DACK0),
1259        GPIO_FN(DREQ0),
1260        GPIO_FN(TEND1),
1261        GPIO_FN(DACK1),
1262        GPIO_FN(DREQ1),
1263
1264        /* ADC */
1265        GPIO_FN(ADTRG),
1266
1267        /* BSCh */
1268        GPIO_FN(A25),
1269        GPIO_FN(A24),
1270        GPIO_FN(A23),
1271        GPIO_FN(A22),
1272        GPIO_FN(A21),
1273        GPIO_FN(A20),
1274        GPIO_FN(A19),
1275        GPIO_FN(A18),
1276        GPIO_FN(A17),
1277        GPIO_FN(A16),
1278        GPIO_FN(A15),
1279        GPIO_FN(A14),
1280        GPIO_FN(A13),
1281        GPIO_FN(A12),
1282        GPIO_FN(A11),
1283        GPIO_FN(A10),
1284        GPIO_FN(A9),
1285        GPIO_FN(A8),
1286        GPIO_FN(A7),
1287        GPIO_FN(A6),
1288        GPIO_FN(A5),
1289        GPIO_FN(A4),
1290        GPIO_FN(A3),
1291        GPIO_FN(A2),
1292        GPIO_FN(A1),
1293        GPIO_FN(A0),
1294
1295        GPIO_FN(D15),
1296        GPIO_FN(D14),
1297        GPIO_FN(D13),
1298        GPIO_FN(D12),
1299        GPIO_FN(D11),
1300        GPIO_FN(D10),
1301        GPIO_FN(D9),
1302        GPIO_FN(D8),
1303        GPIO_FN(D7),
1304        GPIO_FN(D6),
1305        GPIO_FN(D5),
1306        GPIO_FN(D4),
1307        GPIO_FN(D3),
1308        GPIO_FN(D2),
1309        GPIO_FN(D1),
1310        GPIO_FN(D0),
1311
1312        GPIO_FN(BS),
1313        GPIO_FN(CS4),
1314        GPIO_FN(CS3),
1315        GPIO_FN(CS2),
1316        GPIO_FN(CS1),
1317        GPIO_FN(CS0),
1318        GPIO_FN(CS6CE1B),
1319        GPIO_FN(CS5CE1A),
1320        GPIO_FN(CE2A),
1321        GPIO_FN(CE2B),
1322        GPIO_FN(RD),
1323        GPIO_FN(RDWR),
1324        GPIO_FN(ICIOWRAH),
1325        GPIO_FN(ICIORD),
1326        GPIO_FN(WE1DQMUWE),
1327        GPIO_FN(WE0DQML),
1328        GPIO_FN(RAS),
1329        GPIO_FN(CAS),
1330        GPIO_FN(CKE),
1331        GPIO_FN(WAIT),
1332        GPIO_FN(BREQ),
1333        GPIO_FN(BACK),
1334        GPIO_FN(IOIS16),
1335
1336        /* TMU */
1337        GPIO_FN(TIOC4D),
1338        GPIO_FN(TIOC4C),
1339        GPIO_FN(TIOC4B),
1340        GPIO_FN(TIOC4A),
1341        GPIO_FN(TIOC3D),
1342        GPIO_FN(TIOC3C),
1343        GPIO_FN(TIOC3B),
1344        GPIO_FN(TIOC3A),
1345        GPIO_FN(TIOC2B),
1346        GPIO_FN(TIOC1B),
1347        GPIO_FN(TIOC2A),
1348        GPIO_FN(TIOC1A),
1349        GPIO_FN(TIOC0D),
1350        GPIO_FN(TIOC0C),
1351        GPIO_FN(TIOC0B),
1352        GPIO_FN(TIOC0A),
1353        GPIO_FN(TCLKD),
1354        GPIO_FN(TCLKC),
1355        GPIO_FN(TCLKB),
1356        GPIO_FN(TCLKA),
1357
1358        /* SCIF */
1359        GPIO_FN(TXD0),
1360        GPIO_FN(RXD0),
1361        GPIO_FN(SCK0),
1362        GPIO_FN(TXD1),
1363        GPIO_FN(RXD1),
1364        GPIO_FN(SCK1),
1365        GPIO_FN(TXD2),
1366        GPIO_FN(RXD2),
1367        GPIO_FN(SCK2),
1368        GPIO_FN(RTS3),
1369        GPIO_FN(CTS3),
1370        GPIO_FN(TXD3),
1371        GPIO_FN(RXD3),
1372        GPIO_FN(SCK3),
1373        GPIO_FN(TXD4),
1374        GPIO_FN(RXD4),
1375        GPIO_FN(TXD5),
1376        GPIO_FN(RXD5),
1377        GPIO_FN(TXD6),
1378        GPIO_FN(RXD6),
1379        GPIO_FN(TXD7),
1380        GPIO_FN(RXD7),
1381        GPIO_FN(RTS1),
1382        GPIO_FN(CTS1),
1383
1384        /* RSPI */
1385        GPIO_FN(RSPCK0),
1386        GPIO_FN(MOSI0),
1387        GPIO_FN(MISO0_PF12),
1388        GPIO_FN(MISO1),
1389        GPIO_FN(SSL00),
1390        GPIO_FN(RSPCK1),
1391        GPIO_FN(MOSI1),
1392        GPIO_FN(MISO1_PG19),
1393        GPIO_FN(SSL10),
1394
1395        /* IIC3 */
1396        GPIO_FN(SCL0),
1397        GPIO_FN(SCL1),
1398        GPIO_FN(SCL2),
1399        GPIO_FN(SDA0),
1400        GPIO_FN(SDA1),
1401        GPIO_FN(SDA2),
1402
1403        /* SSI */
1404        GPIO_FN(SSISCK0),
1405        GPIO_FN(SSIWS0),
1406        GPIO_FN(SSITXD0),
1407        GPIO_FN(SSIRXD0),
1408        GPIO_FN(SSIWS1),
1409        GPIO_FN(SSIWS2),
1410        GPIO_FN(SSIWS3),
1411        GPIO_FN(SSISCK1),
1412        GPIO_FN(SSISCK2),
1413        GPIO_FN(SSISCK3),
1414        GPIO_FN(SSIDATA1),
1415        GPIO_FN(SSIDATA2),
1416        GPIO_FN(SSIDATA3),
1417        GPIO_FN(AUDIO_CLK),
1418
1419        /* SIOF */ /* NOTE Shares AUDIO_CLK with SSI */
1420        GPIO_FN(SIOFTXD),
1421        GPIO_FN(SIOFRXD),
1422        GPIO_FN(SIOFSYNC),
1423        GPIO_FN(SIOFSCK),
1424
1425        /* SPDIF */ /* NOTE Shares AUDIO_CLK with SSI */
1426        GPIO_FN(SPDIF_IN),
1427        GPIO_FN(SPDIF_OUT),
1428
1429        /* NANDFMC */ /* NOTE Controller is not available in boot mode 0 */
1430        GPIO_FN(FCE),
1431        GPIO_FN(FRB),
1432
1433        /* VDC3 */
1434        GPIO_FN(DV_CLK),
1435        GPIO_FN(DV_VSYNC),
1436        GPIO_FN(DV_HSYNC),
1437
1438        GPIO_FN(DV_DATA7),
1439        GPIO_FN(DV_DATA6),
1440        GPIO_FN(DV_DATA5),
1441        GPIO_FN(DV_DATA4),
1442        GPIO_FN(DV_DATA3),
1443        GPIO_FN(DV_DATA2),
1444        GPIO_FN(DV_DATA1),
1445        GPIO_FN(DV_DATA0),
1446
1447        GPIO_FN(LCD_CLK),
1448        GPIO_FN(LCD_EXTCLK),
1449        GPIO_FN(LCD_VSYNC),
1450        GPIO_FN(LCD_HSYNC),
1451        GPIO_FN(LCD_DE),
1452
1453        GPIO_FN(LCD_DATA15),
1454        GPIO_FN(LCD_DATA14),
1455        GPIO_FN(LCD_DATA13),
1456        GPIO_FN(LCD_DATA12),
1457        GPIO_FN(LCD_DATA11),
1458        GPIO_FN(LCD_DATA10),
1459        GPIO_FN(LCD_DATA9),
1460        GPIO_FN(LCD_DATA8),
1461        GPIO_FN(LCD_DATA7),
1462        GPIO_FN(LCD_DATA6),
1463        GPIO_FN(LCD_DATA5),
1464        GPIO_FN(LCD_DATA4),
1465        GPIO_FN(LCD_DATA3),
1466        GPIO_FN(LCD_DATA2),
1467        GPIO_FN(LCD_DATA1),
1468        GPIO_FN(LCD_DATA0),
1469
1470        GPIO_FN(LCD_M_DISP),
1471};
1472
1473static const struct pinmux_cfg_reg pinmux_config_regs[] = {
1474        { PINMUX_CFG_REG("PAIOR0", 0xfffe3812, 16, 1) {
1475                0, 0, 0, 0, 0, 0, 0, 0,
1476                0, 0, 0, 0, 0, 0, 0, 0,
1477                0, 0, 0, 0, 0, 0, 0, 0,
1478                PA3_IN, PA3_OUT,
1479                PA2_IN, PA2_OUT,
1480                PA1_IN, PA1_OUT,
1481                PA0_IN, PA0_OUT }
1482        },
1483
1484        { PINMUX_CFG_REG("PBCR5", 0xfffe3824, 16, 4) {
1485                0, 0, 0, 0, 0, 0, 0, 0,
1486                0, 0, 0, 0, 0, 0, 0, 0,
1487                PB22MD_00, PB22MD_01, PB22MD_10, 0, 0, 0, 0, 0,
1488                0, 0, 0, 0, 0, 0, 0, 0,
1489                PB21MD_0, PB21MD_1, 0, 0, 0, 0, 0, 0,
1490                0, 0, 0, 0, 0, 0, 0, 0,
1491                0, PB20MD_1, 0, 0, 0, 0, 0, 0,
1492                0, 0, 0, 0, 0, 0, 0, 0 }
1493
1494        },
1495        { PINMUX_CFG_REG("PBCR4", 0xfffe3826, 16, 4) {
1496                0, PB19MD_01, 0, 0, 0, 0, 0, 0,
1497                0, 0, 0, 0, 0, 0, 0, 0,
1498                0, PB18MD_01, 0, 0, 0, 0, 0, 0,
1499                0, 0, 0, 0, 0, 0, 0, 0,
1500                0, PB17MD_01, 0, 0, 0, 0, 0, 0,
1501                0, 0, 0, 0, 0, 0, 0, 0,
1502                0, PB16MD_01, 0, 0, 0, 0, 0, 0,
1503                0, 0, 0, 0, 0, 0, 0, 0 }
1504        },
1505        { PINMUX_CFG_REG("PBCR3", 0xfffe3828, 16, 4) {
1506                0, PB15MD_01, 0, 0, 0, 0, 0, 0,
1507                0, 0, 0, 0, 0, 0, 0, 0,
1508                0, PB14MD_01, 0, 0, 0, 0, 0, 0,
1509                0, 0, 0, 0, 0, 0, 0, 0,
1510                0, PB13MD_01, 0, 0, 0, 0, 0, 0,
1511                0, 0, 0, 0, 0, 0, 0, 0,
1512                0, PB12MD_01, 0, 0, 0, 0, 0, 0,
1513                0, 0, 0, 0, 0, 0, 0, 0 }
1514        },
1515        { PINMUX_CFG_REG("PBCR2", 0xfffe382a, 16, 4) {
1516                0, PB11MD_01, 0, 0, 0, 0, 0, 0,
1517                0, 0, 0, 0, 0, 0, 0, 0,
1518                0, PB10MD_01, 0, 0, 0, 0, 0, 0,
1519                0, 0, 0, 0, 0, 0, 0, 0,
1520                0, PB9MD_01, 0, 0, 0, 0, 0, 0,
1521                0, 0, 0, 0, 0, 0, 0, 0,
1522                0, PB8MD_01, 0, 0, 0, 0, 0, 0,
1523                0, 0, 0, 0, 0, 0, 0, 0 }
1524        },
1525        { PINMUX_CFG_REG("PBCR1", 0xfffe382c, 16, 4) {
1526                0, PB7MD_01, 0, 0, 0, 0, 0, 0,
1527                0, 0, 0, 0, 0, 0, 0, 0,
1528                0, PB6MD_01, 0, 0, 0, 0, 0, 0,
1529                0, 0, 0, 0, 0, 0, 0, 0,
1530                0, PB5MD_01, 0, 0, 0, 0, 0, 0,
1531                0, 0, 0, 0, 0, 0, 0, 0,
1532                0, PB4MD_01, 0, 0, 0, 0, 0, 0,
1533                0, 0, 0, 0, 0, 0, 0, 0 }
1534        },
1535        { PINMUX_CFG_REG("PBCR0", 0xfffe382e, 16, 4) {
1536                0, PB3MD_1, 0, 0, 0, 0, 0, 0,
1537                0, 0, 0, 0, 0, 0, 0, 0,
1538                0, PB2MD_1, 0, 0, 0, 0, 0, 0,
1539                0, 0, 0, 0, 0, 0, 0, 0,
1540                0, PB1MD_1, 0, 0, 0, 0, 0, 0,
1541                0, 0, 0, 0, 0, 0, 0, 0,
1542                0, 0, 0, 0, 0, 0, 0, 0,
1543                0, 0, 0, 0, 0, 0, 0, 0 }
1544        },
1545
1546        { PINMUX_CFG_REG("PBIOR1", 0xfffe3830, 16, 1) {
1547                0, 0, 0, 0, 0, 0, 0, 0,
1548                0, 0, 0, 0, 0, 0, 0, 0,
1549                0, 0,
1550                PB22_IN, PB22_OUT,
1551                PB21_IN, PB21_OUT,
1552                PB20_IN, PB20_OUT,
1553                PB19_IN, PB19_OUT,
1554                PB18_IN, PB18_OUT,
1555                PB17_IN, PB17_OUT,
1556                PB16_IN, PB16_OUT }
1557        },
1558
1559        { PINMUX_CFG_REG("PBIOR0", 0xfffe3832, 16, 1) {
1560                PB15_IN, PB15_OUT,
1561                PB14_IN, PB14_OUT,
1562                PB13_IN, PB13_OUT,
1563                PB12_IN, PB12_OUT,
1564                PB11_IN, PB11_OUT,
1565                PB10_IN, PB10_OUT,
1566                PB9_IN, PB9_OUT,
1567                PB8_IN, PB8_OUT,
1568                PB7_IN, PB7_OUT,
1569                PB6_IN, PB6_OUT,
1570                PB5_IN, PB5_OUT,
1571                PB4_IN, PB4_OUT,
1572                PB3_IN, PB3_OUT,
1573                PB2_IN, PB2_OUT,
1574                PB1_IN, PB1_OUT,
1575                0, 0 }
1576        },
1577
1578        { PINMUX_CFG_REG("PCCR2", 0xfffe384a, 16, 4) {
1579                0, 0, 0, 0, 0, 0, 0, 0,
1580                0, 0, 0, 0, 0, 0, 0, 0,
1581                PC10MD_0, PC10MD_1, 0, 0, 0, 0, 0, 0,
1582                0, 0, 0, 0, 0, 0, 0, 0,
1583                PC9MD_0, PC9MD_1, 0, 0, 0, 0, 0, 0,
1584                0, 0, 0, 0, 0, 0, 0, 0,
1585                PC8MD_00, PC8MD_01, PC8MD_10, PC8MD_11, 0, 0, 0, 0,
1586                0, 0, 0, 0, 0, 0, 0, 0 }
1587        },
1588        { PINMUX_CFG_REG("PCCR1", 0xfffe384c, 16, 4) {
1589                PC7MD_00, PC7MD_01, PC7MD_10, PC7MD_11, 0, 0, 0, 0,
1590                0, 0, 0, 0, 0, 0, 0, 0,
1591                PC6MD_00, PC6MD_01, PC6MD_10, PC6MD_11, 0, 0, 0, 0,
1592                0, 0, 0, 0, 0, 0, 0, 0,
1593                PC5MD_00, PC5MD_01, PC5MD_10, PC5MD_11, 0, 0, 0, 0,
1594                0, 0, 0, 0, 0, 0, 0, 0,
1595                PC4MD_0, PC4MD_1, 0, 0, 0, 0, 0, 0,
1596                0, 0, 0, 0, 0, 0, 0, 0 }
1597        },
1598        { PINMUX_CFG_REG("PCCR0", 0xfffe384e, 16, 4) {
1599                PC3MD_0, PC3MD_1, 0, 0, 0, 0, 0, 0,
1600                0, 0, 0, 0, 0, 0, 0, 0,
1601                PC2MD_0, PC2MD_1, 0, 0, 0, 0, 0, 0,
1602                0, 0, 0, 0, 0, 0, 0, 0,
1603                PC1MD_0, PC1MD_1, 0, 0, 0, 0, 0, 0,
1604                0, 0, 0, 0, 0, 0, 0, 0,
1605                PC0MD_0, PC0MD_1, 0, 0, 0, 0, 0, 0,
1606                0, 0, 0, 0, 0, 0, 0, 0 }
1607        },
1608
1609        { PINMUX_CFG_REG("PCIOR0", 0xfffe3852, 16, 1) {
1610                0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
1611                PC10_IN, PC10_OUT,
1612                PC9_IN, PC9_OUT,
1613                PC8_IN, PC8_OUT,
1614                PC7_IN, PC7_OUT,
1615                PC6_IN, PC6_OUT,
1616                PC5_IN, PC5_OUT,
1617                PC4_IN, PC4_OUT,
1618                PC3_IN, PC3_OUT,
1619                PC2_IN, PC2_OUT,
1620                PC1_IN, PC1_OUT,
1621                PC0_IN, PC0_OUT
1622         }
1623        },
1624
1625        { PINMUX_CFG_REG("PDCR3", 0xfffe3868, 16, 4) {
1626                0, PD15MD_01, 0, 0, 0, 0, 0, 0,
1627                0, 0, 0, 0, 0, 0, 0, 0,
1628                0, PD14MD_01, 0, 0, 0, 0, 0, 0,
1629                0, 0, 0, 0, 0, 0, 0, 0,
1630                0, PD13MD_01, 0, 0, 0, 0, 0, 0,
1631                0, 0, 0, 0, 0, 0, 0, 0,
1632                0, PD12MD_01, 0, 0, 0, 0, 0, 0,
1633                0, 0, 0, 0, 0, 0, 0, 0 }
1634        },
1635        { PINMUX_CFG_REG("PDCR2", 0xfffe386a, 16, 4) {
1636                0, PD11MD_01, 0, 0, 0, 0, 0, 0,
1637                0, 0, 0, 0, 0, 0, 0, 0,
1638                0, PD10MD_01, 0, 0, 0, 0, 0, 0,
1639                0, 0, 0, 0, 0, 0, 0, 0,
1640                0, PD9MD_01, 0, 0, 0, 0, 0, 0,
1641                0, 0, 0, 0, 0, 0, 0, 0,
1642                0, PD8MD_01, 0, 0, 0, 0, 0, 0,
1643                0, 0, 0, 0, 0, 0, 0, 0 }
1644        },
1645        { PINMUX_CFG_REG("PDCR1", 0xfffe386c, 16, 4) {
1646                0, PD7MD_01, 0, 0, 0, 0, 0, 0,
1647                0, 0, 0, 0, 0, 0, 0, 0,
1648                0, PD6MD_01, 0, 0, 0, 0, 0, 0,
1649                0, 0, 0, 0, 0, 0, 0, 0,
1650                0, PD5MD_01, 0, 0, 0, 0, 0, 0,
1651                0, 0, 0, 0, 0, 0, 0, 0,
1652                0, PD4MD_01, 0, 0, 0, 0, 0, 0,
1653                0, 0, 0, 0, 0, 0, 0, 0 }
1654        },
1655        { PINMUX_CFG_REG("PDCR0", 0xfffe386e, 16, 4) {
1656                0, PD3MD_01, 0, 0, 0, 0, 0, 0,
1657                0, 0, 0, 0, 0, 0, 0, 0,
1658                0, PD2MD_01, 0, 0, 0, 0, 0, 0,
1659                0, 0, 0, 0, 0, 0, 0, 0,
1660                0, PD1MD_01, 0, 0, 0, 0, 0, 0,
1661                0, 0, 0, 0, 0, 0, 0, 0,
1662                0, PD0MD_01, 0, 0, 0, 0, 0, 0,
1663                0, 0, 0, 0, 0, 0, 0, 0 }
1664        },
1665
1666        { PINMUX_CFG_REG("PDIOR0", 0xfffe3872, 16, 1) {
1667                PD15_IN, PD15_OUT,
1668                PD14_IN, PD14_OUT,
1669                PD13_IN, PD13_OUT,
1670                PD12_IN, PD12_OUT,
1671                PD11_IN, PD11_OUT,
1672                PD10_IN, PD10_OUT,
1673                PD9_IN, PD9_OUT,
1674                PD8_IN, PD8_OUT,
1675                PD7_IN, PD7_OUT,
1676                PD6_IN, PD6_OUT,
1677                PD5_IN, PD5_OUT,
1678                PD4_IN, PD4_OUT,
1679                PD3_IN, PD3_OUT,
1680                PD2_IN, PD2_OUT,
1681                PD1_IN, PD1_OUT,
1682                PD0_IN, PD0_OUT }
1683        },
1684
1685        { PINMUX_CFG_REG("PECR1", 0xfffe388c, 16, 4) {
1686                0, 0, 0, 0, 0, 0, 0, 0,
1687                0, 0, 0, 0, 0, 0, 0, 0,
1688                0, 0, 0, 0, 0, 0, 0, 0,
1689                0, 0, 0, 0, 0, 0, 0, 0,
1690                PE5MD_00, PE5MD_01, 0, PE5MD_11, 0, 0, 0, 0,
1691                0, 0, 0, 0, 0, 0, 0, 0,
1692                PE4MD_00, PE4MD_01, 0, PE4MD_11, 0, 0, 0, 0,
1693                0, 0, 0, 0, 0, 0, 0, 0 }
1694        },
1695
1696        { PINMUX_CFG_REG("PECR0", 0xfffe388e, 16, 4) {
1697                PE3MD_00, PE3MD_01, 0, PE3MD_11, 0, 0, 0, 0,
1698                0, 0, 0, 0, 0, 0, 0, 0,
1699                PE2MD_00, PE2MD_01, 0, PE2MD_11, 0, 0, 0, 0,
1700                0, 0, 0, 0, 0, 0, 0, 0,
1701                PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011,
1702                PE1MD_100, PE1MD_101, 0, 0,
1703                0, 0, 0, 0, 0, 0, 0, 0,
1704                PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11, 0, 0, 0, 0,
1705                0, 0, 0, 0, 0, 0, 0, 0 }
1706        },
1707
1708        { PINMUX_CFG_REG("PEIOR0", 0xfffe3892, 16, 1) {
1709                0, 0, 0, 0, 0, 0, 0, 0,
1710                0, 0, 0, 0, 0, 0, 0, 0,
1711                0, 0, 0, 0,
1712                PE5_IN, PE5_OUT,
1713                PE4_IN, PE4_OUT,
1714                PE3_IN, PE3_OUT,
1715                PE2_IN, PE2_OUT,
1716                PE1_IN, PE1_OUT,
1717                PE0_IN, PE0_OUT }
1718        },
1719
1720        { PINMUX_CFG_REG("PFCR3", 0xfffe38a8, 16, 4) {
1721                PF12MD_000, PF12MD_001, 0, PF12MD_011,
1722                PF12MD_100, PF12MD_101, 0, 0,
1723                0, 0, 0, 0, 0, 0, 0, 0 }
1724        },
1725
1726        { PINMUX_CFG_REG("PFCR2", 0xfffe38aa, 16, 4) {
1727                PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011,
1728                PF11MD_100, PF11MD_101, 0, 0,
1729                0, 0, 0, 0, 0, 0, 0, 0,
1730                PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011,
1731                PF10MD_100, PF10MD_101, 0, 0,
1732                0, 0, 0, 0, 0, 0, 0, 0,
1733                PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011,
1734                PF9MD_100, PF9MD_101, 0, 0,
1735                0, 0, 0, 0, 0, 0, 0, 0,
1736                PF8MD_00, PF8MD_01, PF8MD_10, PF8MD_11, 0, 0, 0, 0,
1737                0, 0, 0, 0, 0, 0, 0, 0 }
1738        },
1739
1740        { PINMUX_CFG_REG("PFCR1", 0xfffe38ac, 16, 4) {
1741                PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011,
1742                PF7MD_100, 0, 0, 0,
1743                0, 0, 0, 0, 0, 0, 0, 0,
1744                PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011,
1745                PF6MD_100, 0, 0, 0,
1746                0, 0, 0, 0, 0, 0, 0, 0,
1747                PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011,
1748                PF5MD_100, 0, 0, 0,
1749                0, 0, 0, 0, 0, 0, 0, 0,
1750                PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011,
1751                PF4MD_100, 0, 0, 0,
1752                0, 0, 0, 0, 0, 0, 0, 0 }
1753        },
1754
1755        { PINMUX_CFG_REG("PFCR0", 0xfffe38ae, 16, 4) {
1756                PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011,
1757                PF3MD_100, 0, 0, 0,
1758                0, 0, 0, 0, 0, 0, 0, 0,
1759                PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011,
1760                PF2MD_100, PF2MD_101, 0, 0,
1761                0, 0, 0, 0, 0, 0, 0, 0,
1762                PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011,
1763                PF1MD_100, PF1MD_101, 0, 0,
1764                0, 0, 0, 0, 0, 0, 0, 0
1765         }
1766        },
1767
1768        { PINMUX_CFG_REG("PFIOR0", 0xfffe38b2, 16, 1) {
1769                0, 0, 0, 0, 0, 0,
1770                PF12_IN, PF12_OUT,
1771                PF11_IN, PF11_OUT,
1772                PF10_IN, PF10_OUT,
1773                PF9_IN, PF9_OUT,
1774                PF8_IN, PF8_OUT,
1775                PF7_IN, PF7_OUT,
1776                PF6_IN, PF6_OUT,
1777                PF5_IN, PF5_OUT,
1778                PF4_IN, PF4_OUT,
1779                PF3_IN, PF3_OUT,
1780                PF2_IN, PF2_OUT,
1781                PF1_IN, PF1_OUT,
1782                PF0_IN, PF0_OUT }
1783        },
1784
1785        { PINMUX_CFG_REG("PGCR7", 0xfffe38c0, 16, 4) {
1786                0, 0, 0, 0, 0, 0, 0, 0,
1787                0, 0, 0, 0, 0, 0, 0, 0,
1788                0, 0, 0, 0, 0, 0, 0, 0,
1789                0, 0, 0, 0, 0, 0, 0, 0,
1790                0, 0, 0, 0, 0, 0, 0, 0,
1791                0, 0, 0, 0, 0, 0, 0, 0,
1792                PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011,
1793                PG0MD_100, 0, 0, 0,
1794                0, 0, 0, 0, 0, 0, 0, 0 }
1795        },
1796
1797        { PINMUX_CFG_REG("PGCR6", 0xfffe38c2, 16, 4) {
1798                0, 0, 0, 0, 0, 0, 0, 0,
1799                0, 0, 0, 0, 0, 0, 0, 0,
1800                0, 0, 0, 0, 0, 0, 0, 0,
1801                0, 0, 0, 0, 0, 0, 0, 0,
1802                0, 0, 0, 0, 0, 0, 0, 0,
1803                0, 0, 0, 0, 0, 0, 0, 0,
1804                PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11, 0, 0, 0, 0,
1805                0, 0, 0, 0, 0, 0, 0, 0 }
1806        },
1807
1808        { PINMUX_CFG_REG("PGCR5", 0xfffe38c4, 16, 4) {
1809                PG23MD_00, PG23MD_01, PG23MD_10, PG23MD_11, 0, 0, 0, 0,
1810                0, 0, 0, 0, 0, 0, 0, 0,
1811                PG22MD_00, PG22MD_01, PG22MD_10, PG22MD_11, 0, 0, 0, 0,
1812                0, 0, 0, 0, 0, 0, 0, 0,
1813                PG21MD_00, PG21MD_01, PG21MD_10, PG21MD_11, 0, 0, 0, 0,
1814                0, 0, 0, 0, 0, 0, 0, 0,
1815                PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011,
1816                PG20MD_100, 0, 0, 0,
1817                0, 0, 0, 0, 0, 0, 0, 0 }
1818        },
1819
1820        { PINMUX_CFG_REG("PGCR4", 0xfffe38c6, 16, 4) {
1821                PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011,
1822                PG19MD_100, 0, 0, 0,
1823                0, 0, 0, 0, 0, 0, 0, 0,
1824                PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011,
1825                PG18MD_100, 0, 0, 0,
1826                0, 0, 0, 0, 0, 0, 0, 0,
1827                PG17MD_000, PG17MD_001, PG17MD_010, PG17MD_011,
1828                PG17MD_100, 0, 0, 0,
1829                0, 0, 0, 0, 0, 0, 0, 0,
1830                PG16MD_000, PG16MD_001, PG16MD_010, PG16MD_011,
1831                PG16MD_100, 0, 0, 0,
1832                0, 0, 0, 0, 0, 0, 0, 0 }
1833        },
1834
1835        { PINMUX_CFG_REG("PGCR3", 0xfffe38c8, 16, 4) {
1836                PG15MD_000, PG15MD_001, PG15MD_010, PG15MD_011,
1837                PG15MD_100, 0, 0, 0,
1838                0, 0, 0, 0, 0, 0, 0, 0,
1839                PG14MD_000, PG14MD_001, PG14MD_010, 0,
1840                PG14MD_100, 0, 0, 0,
1841                0, 0, 0, 0, 0, 0, 0, 0,
1842                PG13MD_000, PG13MD_001, PG13MD_010, 0,
1843                PG13MD_100, 0, 0, 0,
1844                0, 0, 0, 0, 0, 0, 0, 0,
1845                PG12MD_000, PG12MD_001, PG12MD_010, 0,
1846                PG12MD_100, 0, 0, 0,
1847                0, 0, 0, 0, 0, 0, 0, 0 }
1848        },
1849        { PINMUX_CFG_REG("PGCR2", 0xfffe38ca, 16, 4) {
1850                PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011,
1851                PG11MD_100, PG11MD_101, 0, 0,
1852                0, 0, 0, 0, 0, 0, 0, 0,
1853                PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011,
1854                PG10MD_100, PG10MD_101, 0, 0,
1855                0, 0, 0, 0, 0, 0, 0, 0,
1856                PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011,
1857                PG9MD_100, PG9MD_101, 0, 0,
1858                0, 0, 0, 0, 0, 0, 0, 0,
1859                PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011,
1860                PG8MD_100, PG8MD_101, 0, 0,
1861                0, 0, 0, 0, 0, 0, 0, 0 }
1862        },
1863
1864        { PINMUX_CFG_REG("PGCR1", 0xfffe38cc, 16, 4) {
1865                PG7MD_00, PG7MD_01, PG7MD_10, PG7MD_11, 0, 0, 0, 0,
1866                0, 0, 0, 0, 0, 0, 0, 0,
1867                PG6MD_00, PG6MD_01, PG6MD_10, PG6MD_11, 0, 0, 0, 0,
1868                0, 0, 0, 0, 0, 0, 0, 0,
1869                PG5MD_00, PG5MD_01, PG5MD_10, PG5MD_11, 0, 0, 0, 0,
1870                0, 0, 0, 0, 0, 0, 0, 0,
1871                PG4MD_00, PG4MD_01, PG4MD_10, PG4MD_11, 0, 0, 0, 0,
1872                0, 0, 0, 0, 0, 0, 0, 0 }
1873        },
1874        { PINMUX_CFG_REG("PGCR0", 0xfffe38ce, 16, 4) {
1875                PG3MD_00, PG3MD_01, PG3MD_10, PG3MD_11, 0, 0, 0, 0,
1876                0, 0, 0, 0, 0, 0, 0, 0,
1877                PG2MD_00, PG2MD_01, PG2MD_10, PG2MD_11, 0, 0, 0, 0,
1878                0, 0, 0, 0, 0, 0, 0, 0,
1879                PG1MD_00, PG1MD_01, PG1MD_10, PG1MD_11, 0, 0, 0, 0,
1880                0, 0, 0, 0, 0, 0, 0, 0,
1881                0, 0, 0, 0, 0, 0, 0, 0,
1882                0, 0, 0, 0, 0, 0, 0, 0 }
1883        },
1884        { PINMUX_CFG_REG("PGIOR1", 0xfffe38d0, 16, 1) {
1885                0, 0, 0, 0, 0, 0, 0, 0,
1886                0, 0, 0, 0, 0, 0,
1887                PG24_IN, PG24_OUT,
1888                PG23_IN, PG23_OUT,
1889                PG22_IN, PG22_OUT,
1890                PG21_IN, PG21_OUT,
1891                PG20_IN, PG20_OUT,
1892                PG19_IN, PG19_OUT,
1893                PG18_IN, PG18_OUT,
1894                PG17_IN, PG17_OUT,
1895                PG16_IN, PG16_OUT }
1896        },
1897
1898        { PINMUX_CFG_REG("PGIOR0", 0xfffe38d2, 16, 1) {
1899                PG15_IN, PG15_OUT,
1900                PG14_IN, PG14_OUT,
1901                PG13_IN, PG13_OUT,
1902                PG12_IN, PG12_OUT,
1903                PG11_IN, PG11_OUT,
1904                PG10_IN, PG10_OUT,
1905                PG9_IN, PG9_OUT,
1906                PG8_IN, PG8_OUT,
1907                PG7_IN, PG7_OUT,
1908                PG6_IN, PG6_OUT,
1909                PG5_IN, PG5_OUT,
1910                PG4_IN, PG4_OUT,
1911                PG3_IN, PG3_OUT,
1912                PG2_IN, PG2_OUT,
1913                PG1_IN, PG1_OUT,
1914                PG0_IN, PG0_OUT
1915         }
1916        },
1917
1918        { PINMUX_CFG_REG("PHCR1", 0xfffe38ec, 16, 4) {
1919                PH7MD_0, PH7MD_1, 0, 0, 0, 0, 0, 0,
1920                0, 0, 0, 0, 0, 0, 0, 0,
1921                PH6MD_0, PH6MD_1, 0, 0, 0, 0, 0, 0,
1922                0, 0, 0, 0, 0, 0, 0, 0,
1923                PH5MD_0, PH5MD_1, 0, 0, 0, 0, 0, 0,
1924                0, 0, 0, 0, 0, 0, 0, 0,
1925                PH4MD_0, PH4MD_1, 0, 0, 0, 0, 0, 0,
1926                0, 0, 0, 0, 0, 0, 0, 0 }
1927        },
1928
1929        { PINMUX_CFG_REG("PHCR0", 0xfffe38ee, 16, 4) {
1930                PH3MD_0, PH3MD_1, 0, 0, 0, 0, 0, 0,
1931                0, 0, 0, 0, 0, 0, 0, 0,
1932                PH2MD_0, PH2MD_1, 0, 0, 0, 0, 0, 0,
1933                0, 0, 0, 0, 0, 0, 0, 0,
1934                PH1MD_0, PH1MD_1, 0, 0, 0, 0, 0, 0,
1935                0, 0, 0, 0, 0, 0, 0, 0,
1936                PH0MD_0, PH0MD_1, 0, 0, 0, 0, 0, 0,
1937                0, 0, 0, 0, 0, 0, 0, 0 }
1938        },
1939
1940        { PINMUX_CFG_REG("PJCR2", 0xfffe390a, 16, 4) {
1941                PJ11MD_00, PJ11MD_01, PJ11MD_10, 0, 0, 0, 0, 0,
1942                0, 0, 0, 0, 0, 0, 0, 0,
1943                PJ10MD_00, PJ10MD_01, PJ10MD_10, 0, 0, 0, 0, 0,
1944                0, 0, 0, 0, 0, 0, 0, 0,
1945                PJ9MD_00, PJ9MD_01, PJ9MD_10, 0, 0, 0, 0, 0,
1946                0, 0, 0, 0, 0, 0, 0, 0,
1947                PJ8MD_00, PJ8MD_01, PJ8MD_10, 0, 0, 0, 0, 0,
1948                0, 0, 0, 0, 0, 0, 0, 0 }
1949        },
1950        { PINMUX_CFG_REG("PJCR1", 0xfffe390c, 16, 4) {
1951                PJ7MD_00, PJ7MD_01, PJ7MD_10, 0, 0, 0, 0, 0,
1952                0, 0, 0, 0, 0, 0, 0, 0,
1953                PJ6MD_00, PJ6MD_01, PJ6MD_10, 0, 0, 0, 0, 0,
1954                0, 0, 0, 0, 0, 0, 0, 0,
1955                PJ5MD_00, PJ5MD_01, PJ5MD_10, 0, 0, 0, 0, 0,
1956                0, 0, 0, 0, 0, 0, 0, 0,
1957                PJ4MD_00, PJ4MD_01, PJ4MD_10, 0, 0, 0, 0, 0,
1958                0, 0, 0, 0, 0, 0, 0, 0 }
1959        },
1960        { PINMUX_CFG_REG("PJCR0", 0xfffe390e, 16, 4) {
1961                PJ3MD_00, PJ3MD_01, PJ3MD_10, PJ3MD_11, 0, 0, 0, 0,
1962                0, 0, 0, 0, 0, 0, 0, 0,
1963                PJ2MD_000, PJ2MD_001, PJ2MD_010, PJ2MD_011,
1964                PJ2MD_100, PJ2MD_101, 0, 0,
1965                0, 0, 0, 0, 0, 0, 0, 0,
1966                PJ1MD_000, PJ1MD_001, PJ1MD_010, PJ1MD_011,
1967                PJ1MD_100, 0, 0, 0,
1968                0, 0, 0, 0, 0, 0, 0, 0,
1969                PJ0MD_000, PJ0MD_001, PJ0MD_010, PJ0MD_011,
1970                PJ0MD_100, PJ0MD_101, 0, 0,
1971                0, 0, 0, 0, 0, 0, 0, 0, }
1972        },
1973        { PINMUX_CFG_REG("PJIOR0", 0xfffe3912, 16, 1) {
1974                0, 0, 0, 0, 0, 0, 0, 0,
1975                PJ11_IN, PJ11_OUT,
1976                PJ10_IN, PJ10_OUT,
1977                PJ9_IN, PJ9_OUT,
1978                PJ8_IN, PJ8_OUT,
1979                PJ7_IN, PJ7_OUT,
1980                PJ6_IN, PJ6_OUT,
1981                PJ5_IN, PJ5_OUT,
1982                PJ4_IN, PJ4_OUT,
1983                PJ3_IN, PJ3_OUT,
1984                PJ2_IN, PJ2_OUT,
1985                PJ1_IN, PJ1_OUT,
1986                PJ0_IN, PJ0_OUT }
1987        },
1988
1989        { PINMUX_CFG_REG("PKCR2", 0xfffe392a, 16, 4) {
1990                PK11MD_00, PK11MD_01, PK11MD_10, 0, 0, 0, 0, 0,
1991                0, 0, 0, 0, 0, 0, 0, 0,
1992                PK10MD_00, PK10MD_01, PK10MD_10, 0, 0, 0, 0, 0,
1993                0, 0, 0, 0, 0, 0, 0, 0,
1994                PK9MD_00, PK9MD_01, PK9MD_10, 0, 0, 0, 0, 0,
1995                0, 0, 0, 0, 0, 0, 0, 0,
1996                PK8MD_00, PK8MD_01, PK8MD_10, 0, 0, 0, 0, 0,
1997                0, 0, 0, 0, 0, 0, 0, 0 }
1998        },
1999
2000        { PINMUX_CFG_REG("PKCR1", 0xfffe392c, 16, 4) {
2001                PK7MD_00, PK7MD_01, PK7MD_10, 0, 0, 0, 0, 0,
2002                0, 0, 0, 0, 0, 0, 0, 0,
2003                PK6MD_00, PK6MD_01, PK6MD_10, 0,  0, 0, 0, 0,
2004                0, 0, 0, 0, 0, 0, 0, 0,
2005                PK5MD_00, PK5MD_01, PK5MD_10, 0, 0, 0, 0, 0,
2006                0, 0, 0, 0, 0, 0, 0, 0,
2007                PK4MD_00, PK4MD_01, PK4MD_10, 0, 0, 0, 0, 0,
2008                0, 0, 0, 0, 0, 0, 0, 0 }
2009        },
2010        { PINMUX_CFG_REG("PKCR0", 0xfffe392e, 16, 4) {
2011                PK3MD_00, PK3MD_01, PK3MD_10, 0, 0, 0, 0, 0,
2012                0, 0, 0, 0, 0, 0, 0, 0,
2013                PK2MD_00, PK2MD_01, PK2MD_10, 0, 0, 0, 0, 0,
2014                0, 0, 0, 0, 0, 0, 0, 0,
2015                PK1MD_00, PK1MD_01, PK1MD_10, 0, 0, 0, 0, 0,
2016                0, 0, 0, 0, 0, 0, 0, 0,
2017                PK0MD_00, PK0MD_01, PK0MD_10, 0, 0, 0, 0, 0,
2018                0, 0, 0, 0, 0, 0, 0, 0 }
2019        },
2020
2021        { PINMUX_CFG_REG("PKIOR0", 0xfffe3932, 16, 1) {
2022                0, 0, 0, 0, 0, 0, 0, 0,
2023                PJ11_IN, PJ11_OUT,
2024                PJ10_IN, PJ10_OUT,
2025                PJ9_IN, PJ9_OUT,
2026                PJ8_IN, PJ8_OUT,
2027                PJ7_IN, PJ7_OUT,
2028                PJ6_IN, PJ6_OUT,
2029                PJ5_IN, PJ5_OUT,
2030                PJ4_IN, PJ4_OUT,
2031                PJ3_IN, PJ3_OUT,
2032                PJ2_IN, PJ2_OUT,
2033                PJ1_IN, PJ1_OUT,
2034                PJ0_IN, PJ0_OUT }
2035        },
2036        {}
2037};
2038
2039static const struct pinmux_data_reg pinmux_data_regs[] = {
2040        { PINMUX_DATA_REG("PADR1", 0xfffe3814, 16) {
2041                0, 0, 0, 0, 0, 0, 0, PA3_DATA,
2042                0, 0, 0, 0, 0, 0, 0, PA2_DATA }
2043        },
2044
2045        { PINMUX_DATA_REG("PADR0", 0xfffe3816, 16) {
2046                0, 0, 0, 0, 0, 0, 0, PA1_DATA,
2047                0, 0, 0, 0, 0, 0, 0, PA0_DATA }
2048        },
2049
2050        { PINMUX_DATA_REG("PBDR1", 0xfffe3834, 16) {
2051                0, 0, 0, 0, 0, 0, 0, 0,
2052                0, PB22_DATA, PB21_DATA, PB20_DATA,
2053                PB19_DATA, PB18_DATA, PB17_DATA, PB16_DATA }
2054        },
2055
2056        { PINMUX_DATA_REG("PBDR0", 0xfffe3836, 16) {
2057                PB15_DATA, PB14_DATA, PB13_DATA, PB12_DATA,
2058                PB11_DATA, PB10_DATA, PB9_DATA, PB8_DATA,
2059                PB7_DATA, PB6_DATA, PB5_DATA, PB4_DATA,
2060                PB3_DATA, PB2_DATA, PB1_DATA, 0 }
2061        },
2062
2063        { PINMUX_DATA_REG("PCDR0", 0xfffe3856, 16) {
2064                0, 0, 0, 0,
2065                0, PC10_DATA, PC9_DATA, PC8_DATA,
2066                PC7_DATA, PC6_DATA, PC5_DATA, PC4_DATA,
2067                PC3_DATA, PC2_DATA, PC1_DATA, PC0_DATA }
2068        },
2069
2070        { PINMUX_DATA_REG("PDDR0", 0xfffe3876, 16) {
2071                PD15_DATA, PD14_DATA, PD13_DATA, PD12_DATA,
2072                PD11_DATA, PD10_DATA, PD9_DATA, PD8_DATA,
2073                PD7_DATA, PD6_DATA, PD5_DATA, PD4_DATA,
2074                PD3_DATA, PD2_DATA, PD1_DATA, PD0_DATA }
2075        },
2076
2077        { PINMUX_DATA_REG("PEDR0", 0xfffe3896, 16) {
2078                0, 0, 0, 0, 0, 0, 0, 0,
2079                0, 0, PE5_DATA, PE4_DATA,
2080                PE3_DATA, PE2_DATA, PE1_DATA, PE0_DATA }
2081        },
2082
2083        { PINMUX_DATA_REG("PFDR0", 0xfffe38b6, 16) {
2084                0, 0, 0, PF12_DATA,
2085                PF11_DATA, PF10_DATA, PF9_DATA, PF8_DATA,
2086                PF7_DATA, PF6_DATA, PF5_DATA, PF4_DATA,
2087                PF3_DATA, PF2_DATA, PF1_DATA, PF0_DATA }
2088        },
2089
2090        { PINMUX_DATA_REG("PGDR1", 0xfffe38d4, 16) {
2091                0, 0, 0, 0, 0, 0, 0, PG24_DATA,
2092                PG23_DATA, PG22_DATA, PG21_DATA, PG20_DATA,
2093                PG19_DATA, PG18_DATA, PG17_DATA, PG16_DATA }
2094        },
2095
2096        { PINMUX_DATA_REG("PGDR0", 0xfffe38d6, 16) {
2097                PG15_DATA, PG14_DATA, PG13_DATA, PG12_DATA,
2098                PG11_DATA, PG10_DATA, PG9_DATA, PG8_DATA,
2099                PG7_DATA, PG6_DATA, PG5_DATA, PG4_DATA,
2100                PG3_DATA, PG2_DATA, PG1_DATA, PG0_DATA }
2101        },
2102        { PINMUX_DATA_REG("PJDR0", 0xfffe3916, 16) {
2103                0, 0, 0, PJ12_DATA,
2104                PJ11_DATA, PJ10_DATA, PJ9_DATA, PJ8_DATA,
2105                PJ7_DATA, PJ6_DATA, PJ5_DATA, PJ4_DATA,
2106                PJ3_DATA, PJ2_DATA, PJ1_DATA, PJ0_DATA }
2107        },
2108        { PINMUX_DATA_REG("PKDR0", 0xfffe3936, 16) {
2109                0, 0, 0, PK12_DATA,
2110                PK11_DATA, PK10_DATA, PK9_DATA, PK8_DATA,
2111                PK7_DATA, PK6_DATA, PK5_DATA, PK4_DATA,
2112                PK3_DATA, PK2_DATA, PK1_DATA, PK0_DATA }
2113        },
2114        { }
2115};
2116
2117const struct sh_pfc_soc_info sh7264_pinmux_info = {
2118        .name = "sh7264_pfc",
2119        .input = { PINMUX_INPUT_BEGIN, PINMUX_INPUT_END, FORCE_IN },
2120        .output = { PINMUX_OUTPUT_BEGIN, PINMUX_OUTPUT_END, FORCE_OUT },
2121        .function = { PINMUX_FUNCTION_BEGIN, PINMUX_FUNCTION_END },
2122
2123        .pins = pinmux_pins,
2124        .nr_pins = ARRAY_SIZE(pinmux_pins),
2125        .func_gpios = pinmux_func_gpios,
2126        .nr_func_gpios = ARRAY_SIZE(pinmux_func_gpios),
2127
2128        .cfg_regs = pinmux_config_regs,
2129        .data_regs = pinmux_data_regs,
2130
2131        .gpio_data = pinmux_data,
2132        .gpio_data_size = ARRAY_SIZE(pinmux_data),
2133};
2134