linux/drivers/pinctrl/pinctrl-imx35.c
<<
>>
Prefs
   1/*
   2 * imx35 pinctrl driver.
   3 *
   4 * This driver was mostly copied from the imx51 pinctrl driver which has:
   5 *
   6 * Copyright (C) 2012 Freescale Semiconductor, Inc.
   7 * Copyright (C) 2012 Linaro, Inc.
   8 *
   9 * Author: Dong Aisheng <dong.aisheng@linaro.org>
  10 *
  11 * This program is free software; you can redistribute it and/or modify
  12 * it under the terms of the GNU General Public License version 2 as published
  13 * by the Free Software Foundation.
  14 */
  15
  16#include <linux/err.h>
  17#include <linux/init.h>
  18#include <linux/io.h>
  19#include <linux/module.h>
  20#include <linux/of.h>
  21#include <linux/of_device.h>
  22#include <linux/pinctrl/pinctrl.h>
  23
  24#include "pinctrl-imx.h"
  25
  26enum imx35_pads {
  27        MX35_PAD_RESERVE0 = 0,
  28        MX35_PAD_CAPTURE = 1,
  29        MX35_PAD_COMPARE = 2,
  30        MX35_PAD_WDOG_RST = 3,
  31        MX35_PAD_GPIO1_0 = 4,
  32        MX35_PAD_GPIO1_1 = 5,
  33        MX35_PAD_GPIO2_0 = 6,
  34        MX35_PAD_GPIO3_0 = 7,
  35        MX35_PAD_CLKO = 8,
  36        MX35_PAD_VSTBY = 9,
  37        MX35_PAD_A0 = 10,
  38        MX35_PAD_A1 = 11,
  39        MX35_PAD_A2 = 12,
  40        MX35_PAD_A3 = 13,
  41        MX35_PAD_A4 = 14,
  42        MX35_PAD_A5 = 15,
  43        MX35_PAD_A6 = 16,
  44        MX35_PAD_A7 = 17,
  45        MX35_PAD_A8 = 18,
  46        MX35_PAD_A9 = 19,
  47        MX35_PAD_A10 = 20,
  48        MX35_PAD_MA10 = 21,
  49        MX35_PAD_A11 = 22,
  50        MX35_PAD_A12 = 23,
  51        MX35_PAD_A13 = 24,
  52        MX35_PAD_A14 = 25,
  53        MX35_PAD_A15 = 26,
  54        MX35_PAD_A16 = 27,
  55        MX35_PAD_A17 = 28,
  56        MX35_PAD_A18 = 29,
  57        MX35_PAD_A19 = 30,
  58        MX35_PAD_A20 = 31,
  59        MX35_PAD_A21 = 32,
  60        MX35_PAD_A22 = 33,
  61        MX35_PAD_A23 = 34,
  62        MX35_PAD_A24 = 35,
  63        MX35_PAD_A25 = 36,
  64        MX35_PAD_EB0 = 37,
  65        MX35_PAD_EB1 = 38,
  66        MX35_PAD_OE = 39,
  67        MX35_PAD_CS0 = 40,
  68        MX35_PAD_CS1 = 41,
  69        MX35_PAD_CS2 = 42,
  70        MX35_PAD_CS3 = 43,
  71        MX35_PAD_CS4 = 44,
  72        MX35_PAD_CS5 = 45,
  73        MX35_PAD_NF_CE0 = 46,
  74        MX35_PAD_LBA = 47,
  75        MX35_PAD_BCLK = 48,
  76        MX35_PAD_RW = 49,
  77        MX35_PAD_NFWE_B = 50,
  78        MX35_PAD_NFRE_B = 51,
  79        MX35_PAD_NFALE = 52,
  80        MX35_PAD_NFCLE = 53,
  81        MX35_PAD_NFWP_B = 54,
  82        MX35_PAD_NFRB = 55,
  83        MX35_PAD_CSI_D8 = 56,
  84        MX35_PAD_CSI_D9 = 57,
  85        MX35_PAD_CSI_D10 = 58,
  86        MX35_PAD_CSI_D11 = 59,
  87        MX35_PAD_CSI_D12 = 60,
  88        MX35_PAD_CSI_D13 = 61,
  89        MX35_PAD_CSI_D14 = 62,
  90        MX35_PAD_CSI_D15 = 63,
  91        MX35_PAD_CSI_MCLK = 64,
  92        MX35_PAD_CSI_VSYNC = 65,
  93        MX35_PAD_CSI_HSYNC = 66,
  94        MX35_PAD_CSI_PIXCLK = 67,
  95        MX35_PAD_I2C1_CLK = 68,
  96        MX35_PAD_I2C1_DAT = 69,
  97        MX35_PAD_I2C2_CLK = 70,
  98        MX35_PAD_I2C2_DAT = 71,
  99        MX35_PAD_STXD4 = 72,
 100        MX35_PAD_SRXD4 = 73,
 101        MX35_PAD_SCK4 = 74,
 102        MX35_PAD_STXFS4 = 75,
 103        MX35_PAD_STXD5 = 76,
 104        MX35_PAD_SRXD5 = 77,
 105        MX35_PAD_SCK5 = 78,
 106        MX35_PAD_STXFS5 = 79,
 107        MX35_PAD_SCKR = 80,
 108        MX35_PAD_FSR = 81,
 109        MX35_PAD_HCKR = 82,
 110        MX35_PAD_SCKT = 83,
 111        MX35_PAD_FST = 84,
 112        MX35_PAD_HCKT = 85,
 113        MX35_PAD_TX5_RX0 = 86,
 114        MX35_PAD_TX4_RX1 = 87,
 115        MX35_PAD_TX3_RX2 = 88,
 116        MX35_PAD_TX2_RX3 = 89,
 117        MX35_PAD_TX1 = 90,
 118        MX35_PAD_TX0 = 91,
 119        MX35_PAD_CSPI1_MOSI = 92,
 120        MX35_PAD_CSPI1_MISO = 93,
 121        MX35_PAD_CSPI1_SS0 = 94,
 122        MX35_PAD_CSPI1_SS1 = 95,
 123        MX35_PAD_CSPI1_SCLK = 96,
 124        MX35_PAD_CSPI1_SPI_RDY = 97,
 125        MX35_PAD_RXD1 = 98,
 126        MX35_PAD_TXD1 = 99,
 127        MX35_PAD_RTS1 = 100,
 128        MX35_PAD_CTS1 = 101,
 129        MX35_PAD_RXD2 = 102,
 130        MX35_PAD_TXD2 = 103,
 131        MX35_PAD_RTS2 = 104,
 132        MX35_PAD_CTS2 = 105,
 133        MX35_PAD_USBOTG_PWR = 106,
 134        MX35_PAD_USBOTG_OC = 107,
 135        MX35_PAD_LD0 = 108,
 136        MX35_PAD_LD1 = 109,
 137        MX35_PAD_LD2 = 110,
 138        MX35_PAD_LD3 = 111,
 139        MX35_PAD_LD4 = 112,
 140        MX35_PAD_LD5 = 113,
 141        MX35_PAD_LD6 = 114,
 142        MX35_PAD_LD7 = 115,
 143        MX35_PAD_LD8 = 116,
 144        MX35_PAD_LD9 = 117,
 145        MX35_PAD_LD10 = 118,
 146        MX35_PAD_LD11 = 119,
 147        MX35_PAD_LD12 = 120,
 148        MX35_PAD_LD13 = 121,
 149        MX35_PAD_LD14 = 122,
 150        MX35_PAD_LD15 = 123,
 151        MX35_PAD_LD16 = 124,
 152        MX35_PAD_LD17 = 125,
 153        MX35_PAD_LD18 = 126,
 154        MX35_PAD_LD19 = 127,
 155        MX35_PAD_LD20 = 128,
 156        MX35_PAD_LD21 = 129,
 157        MX35_PAD_LD22 = 130,
 158        MX35_PAD_LD23 = 131,
 159        MX35_PAD_D3_HSYNC = 132,
 160        MX35_PAD_D3_FPSHIFT = 133,
 161        MX35_PAD_D3_DRDY = 134,
 162        MX35_PAD_CONTRAST = 135,
 163        MX35_PAD_D3_VSYNC = 136,
 164        MX35_PAD_D3_REV = 137,
 165        MX35_PAD_D3_CLS = 138,
 166        MX35_PAD_D3_SPL = 139,
 167        MX35_PAD_SD1_CMD = 140,
 168        MX35_PAD_SD1_CLK = 141,
 169        MX35_PAD_SD1_DATA0 = 142,
 170        MX35_PAD_SD1_DATA1 = 143,
 171        MX35_PAD_SD1_DATA2 = 144,
 172        MX35_PAD_SD1_DATA3 = 145,
 173        MX35_PAD_SD2_CMD = 146,
 174        MX35_PAD_SD2_CLK = 147,
 175        MX35_PAD_SD2_DATA0 = 148,
 176        MX35_PAD_SD2_DATA1 = 149,
 177        MX35_PAD_SD2_DATA2 = 150,
 178        MX35_PAD_SD2_DATA3 = 151,
 179        MX35_PAD_ATA_CS0 = 152,
 180        MX35_PAD_ATA_CS1 = 153,
 181        MX35_PAD_ATA_DIOR = 154,
 182        MX35_PAD_ATA_DIOW = 155,
 183        MX35_PAD_ATA_DMACK = 156,
 184        MX35_PAD_ATA_RESET_B = 157,
 185        MX35_PAD_ATA_IORDY = 158,
 186        MX35_PAD_ATA_DATA0 = 159,
 187        MX35_PAD_ATA_DATA1 = 160,
 188        MX35_PAD_ATA_DATA2 = 161,
 189        MX35_PAD_ATA_DATA3 = 162,
 190        MX35_PAD_ATA_DATA4 = 163,
 191        MX35_PAD_ATA_DATA5 = 164,
 192        MX35_PAD_ATA_DATA6 = 165,
 193        MX35_PAD_ATA_DATA7 = 166,
 194        MX35_PAD_ATA_DATA8 = 167,
 195        MX35_PAD_ATA_DATA9 = 168,
 196        MX35_PAD_ATA_DATA10 = 169,
 197        MX35_PAD_ATA_DATA11 = 170,
 198        MX35_PAD_ATA_DATA12 = 171,
 199        MX35_PAD_ATA_DATA13 = 172,
 200        MX35_PAD_ATA_DATA14 = 173,
 201        MX35_PAD_ATA_DATA15 = 174,
 202        MX35_PAD_ATA_INTRQ = 175,
 203        MX35_PAD_ATA_BUFF_EN = 176,
 204        MX35_PAD_ATA_DMARQ = 177,
 205        MX35_PAD_ATA_DA0 = 178,
 206        MX35_PAD_ATA_DA1 = 179,
 207        MX35_PAD_ATA_DA2 = 180,
 208        MX35_PAD_MLB_CLK = 181,
 209        MX35_PAD_MLB_DAT = 182,
 210        MX35_PAD_MLB_SIG = 183,
 211        MX35_PAD_FEC_TX_CLK = 184,
 212        MX35_PAD_FEC_RX_CLK = 185,
 213        MX35_PAD_FEC_RX_DV = 186,
 214        MX35_PAD_FEC_COL = 187,
 215        MX35_PAD_FEC_RDATA0 = 188,
 216        MX35_PAD_FEC_TDATA0 = 189,
 217        MX35_PAD_FEC_TX_EN = 190,
 218        MX35_PAD_FEC_MDC = 191,
 219        MX35_PAD_FEC_MDIO = 192,
 220        MX35_PAD_FEC_TX_ERR = 193,
 221        MX35_PAD_FEC_RX_ERR = 194,
 222        MX35_PAD_FEC_CRS = 195,
 223        MX35_PAD_FEC_RDATA1 = 196,
 224        MX35_PAD_FEC_TDATA1 = 197,
 225        MX35_PAD_FEC_RDATA2 = 198,
 226        MX35_PAD_FEC_TDATA2 = 199,
 227        MX35_PAD_FEC_RDATA3 = 200,
 228        MX35_PAD_FEC_TDATA3 = 201,
 229        MX35_PAD_RESERVE1 = 202,
 230        MX35_PAD_RESERVE2 = 203,
 231        MX35_PAD_RESERVE3 = 204,
 232        MX35_PAD_RESERVE4 = 205,
 233        MX35_PAD_RESERVE5 = 206,
 234        MX35_PAD_RESERVE6 = 207,
 235        MX35_PAD_RESERVE7 = 208,
 236        MX35_PAD_RESET_IN_B = 209,
 237        MX35_PAD_POR_B = 210,
 238        MX35_PAD_RESERVE8 = 211,
 239        MX35_PAD_BOOT_MODE0 = 212,
 240        MX35_PAD_BOOT_MODE1 = 213,
 241        MX35_PAD_CLK_MODE0 = 214,
 242        MX35_PAD_CLK_MODE1 = 215,
 243        MX35_PAD_POWER_FAIL = 216,
 244        MX35_PAD_RESERVE9 = 217,
 245        MX35_PAD_RESERVE10 = 218,
 246        MX35_PAD_RESERVE11 = 219,
 247        MX35_PAD_RESERVE12 = 220,
 248        MX35_PAD_RESERVE13 = 221,
 249        MX35_PAD_RESERVE14 = 222,
 250        MX35_PAD_RESERVE15 = 223,
 251        MX35_PAD_RESERVE16 = 224,
 252        MX35_PAD_RESERVE17 = 225,
 253        MX35_PAD_RESERVE18 = 226,
 254        MX35_PAD_RESERVE19 = 227,
 255        MX35_PAD_RESERVE20 = 228,
 256        MX35_PAD_RESERVE21 = 229,
 257        MX35_PAD_RESERVE22 = 230,
 258        MX35_PAD_RESERVE23 = 231,
 259        MX35_PAD_RESERVE24 = 232,
 260        MX35_PAD_RESERVE25 = 233,
 261        MX35_PAD_RESERVE26 = 234,
 262        MX35_PAD_RESERVE27 = 235,
 263        MX35_PAD_RESERVE28 = 236,
 264        MX35_PAD_RESERVE29 = 237,
 265        MX35_PAD_RESERVE30 = 238,
 266        MX35_PAD_RESERVE31 = 239,
 267        MX35_PAD_RESERVE32 = 240,
 268        MX35_PAD_RESERVE33 = 241,
 269        MX35_PAD_RESERVE34 = 242,
 270        MX35_PAD_RESERVE35 = 243,
 271        MX35_PAD_RESERVE36 = 244,
 272        MX35_PAD_SDBA1 = 245,
 273        MX35_PAD_SDBA0 = 246,
 274        MX35_PAD_SD0 = 247,
 275        MX35_PAD_SD1 = 248,
 276        MX35_PAD_SD2 = 249,
 277        MX35_PAD_SD3 = 250,
 278        MX35_PAD_SD4 = 251,
 279        MX35_PAD_SD5 = 252,
 280        MX35_PAD_SD6 = 253,
 281        MX35_PAD_SD7 = 254,
 282        MX35_PAD_SD8 = 255,
 283        MX35_PAD_SD9 = 256,
 284        MX35_PAD_SD10 = 257,
 285        MX35_PAD_SD11 = 258,
 286        MX35_PAD_SD12 = 259,
 287        MX35_PAD_SD13 = 260,
 288        MX35_PAD_SD14 = 261,
 289        MX35_PAD_SD15 = 262,
 290        MX35_PAD_SD16 = 263,
 291        MX35_PAD_SD17 = 264,
 292        MX35_PAD_SD18 = 265,
 293        MX35_PAD_SD19 = 266,
 294        MX35_PAD_SD20 = 267,
 295        MX35_PAD_SD21 = 268,
 296        MX35_PAD_SD22 = 269,
 297        MX35_PAD_SD23 = 270,
 298        MX35_PAD_SD24 = 271,
 299        MX35_PAD_SD25 = 272,
 300        MX35_PAD_SD26 = 273,
 301        MX35_PAD_SD27 = 274,
 302        MX35_PAD_SD28 = 275,
 303        MX35_PAD_SD29 = 276,
 304        MX35_PAD_SD30 = 277,
 305        MX35_PAD_SD31 = 278,
 306        MX35_PAD_DQM0 = 279,
 307        MX35_PAD_DQM1 = 280,
 308        MX35_PAD_DQM2 = 281,
 309        MX35_PAD_DQM3 = 282,
 310        MX35_PAD_RESERVE37 = 283,
 311        MX35_PAD_RESERVE38 = 284,
 312        MX35_PAD_RESERVE39 = 285,
 313        MX35_PAD_RESERVE40 = 286,
 314        MX35_PAD_RESERVE41 = 287,
 315        MX35_PAD_RESERVE42 = 288,
 316        MX35_PAD_RESERVE43 = 289,
 317        MX35_PAD_RESERVE44 = 290,
 318        MX35_PAD_RESERVE45 = 291,
 319        MX35_PAD_RESERVE46 = 292,
 320        MX35_PAD_ECB = 293,
 321        MX35_PAD_RESERVE47 = 294,
 322        MX35_PAD_RESERVE48 = 295,
 323        MX35_PAD_RESERVE49 = 296,
 324        MX35_PAD_RAS = 297,
 325        MX35_PAD_CAS = 298,
 326        MX35_PAD_SDWE = 299,
 327        MX35_PAD_SDCKE0 = 300,
 328        MX35_PAD_SDCKE1 = 301,
 329        MX35_PAD_SDCLK = 302,
 330        MX35_PAD_SDQS0 = 303,
 331        MX35_PAD_SDQS1 = 304,
 332        MX35_PAD_SDQS2 = 305,
 333        MX35_PAD_SDQS3 = 306,
 334        MX35_PAD_RESERVE50 = 307,
 335        MX35_PAD_RESERVE51 = 308,
 336        MX35_PAD_RESERVE52 = 309,
 337        MX35_PAD_RESERVE53 = 310,
 338        MX35_PAD_RESERVE54 = 311,
 339        MX35_PAD_RESERVE55 = 312,
 340        MX35_PAD_D15 = 313,
 341        MX35_PAD_D14 = 314,
 342        MX35_PAD_D13 = 315,
 343        MX35_PAD_D12 = 316,
 344        MX35_PAD_D11 = 317,
 345        MX35_PAD_D10 = 318,
 346        MX35_PAD_D9 = 319,
 347        MX35_PAD_D8 = 320,
 348        MX35_PAD_D7 = 321,
 349        MX35_PAD_D6 = 322,
 350        MX35_PAD_D5 = 323,
 351        MX35_PAD_D4 = 324,
 352        MX35_PAD_D3 = 325,
 353        MX35_PAD_D2 = 326,
 354        MX35_PAD_D1 = 327,
 355        MX35_PAD_D0 = 328,
 356        MX35_PAD_RESERVE56 = 329,
 357        MX35_PAD_RESERVE57 = 330,
 358        MX35_PAD_RESERVE58 = 331,
 359        MX35_PAD_RESERVE59 = 332,
 360        MX35_PAD_RESERVE60 = 333,
 361        MX35_PAD_RESERVE61 = 334,
 362        MX35_PAD_RESERVE62 = 335,
 363        MX35_PAD_RESERVE63 = 336,
 364        MX35_PAD_RESERVE64 = 337,
 365        MX35_PAD_RESERVE65 = 338,
 366        MX35_PAD_RESERVE66 = 339,
 367        MX35_PAD_RESERVE67 = 340,
 368        MX35_PAD_RESERVE68 = 341,
 369        MX35_PAD_RESERVE69 = 342,
 370        MX35_PAD_RESERVE70 = 343,
 371        MX35_PAD_RESERVE71 = 344,
 372        MX35_PAD_RESERVE72 = 345,
 373        MX35_PAD_RESERVE73 = 346,
 374        MX35_PAD_RESERVE74 = 347,
 375        MX35_PAD_RESERVE75 = 348,
 376        MX35_PAD_RESERVE76 = 349,
 377        MX35_PAD_RESERVE77 = 350,
 378        MX35_PAD_RESERVE78 = 351,
 379        MX35_PAD_RESERVE79 = 352,
 380        MX35_PAD_RESERVE80 = 353,
 381        MX35_PAD_RESERVE81 = 354,
 382        MX35_PAD_RESERVE82 = 355,
 383        MX35_PAD_RESERVE83 = 356,
 384        MX35_PAD_RESERVE84 = 357,
 385        MX35_PAD_RESERVE85 = 358,
 386        MX35_PAD_RESERVE86 = 359,
 387        MX35_PAD_RESERVE87 = 360,
 388        MX35_PAD_RESERVE88 = 361,
 389        MX35_PAD_RESERVE89 = 362,
 390        MX35_PAD_RESERVE90 = 363,
 391        MX35_PAD_RESERVE91 = 364,
 392        MX35_PAD_RESERVE92 = 365,
 393        MX35_PAD_RESERVE93 = 366,
 394        MX35_PAD_RESERVE94 = 367,
 395        MX35_PAD_RESERVE95 = 368,
 396        MX35_PAD_RESERVE96 = 369,
 397        MX35_PAD_RESERVE97 = 370,
 398        MX35_PAD_RESERVE98 = 371,
 399        MX35_PAD_RESERVE99 = 372,
 400        MX35_PAD_RESERVE100 = 373,
 401        MX35_PAD_RESERVE101 = 374,
 402        MX35_PAD_RESERVE102 = 375,
 403        MX35_PAD_RESERVE103 = 376,
 404        MX35_PAD_RESERVE104 = 377,
 405        MX35_PAD_RESERVE105 = 378,
 406        MX35_PAD_RTCK = 379,
 407        MX35_PAD_TCK = 380,
 408        MX35_PAD_TMS = 381,
 409        MX35_PAD_TDI = 382,
 410        MX35_PAD_TDO = 383,
 411        MX35_PAD_TRSTB = 384,
 412        MX35_PAD_DE_B = 385,
 413        MX35_PAD_SJC_MOD = 386,
 414        MX35_PAD_RESERVE106 = 387,
 415        MX35_PAD_RESERVE107 = 388,
 416        MX35_PAD_RESERVE108 = 389,
 417        MX35_PAD_RESERVE109 = 390,
 418        MX35_PAD_RESERVE110 = 391,
 419        MX35_PAD_RESERVE111 = 392,
 420        MX35_PAD_RESERVE112 = 393,
 421        MX35_PAD_RESERVE113 = 394,
 422        MX35_PAD_RESERVE114 = 395,
 423        MX35_PAD_RESERVE115 = 396,
 424        MX35_PAD_RESERVE116 = 397,
 425        MX35_PAD_RESERVE117 = 398,
 426        MX35_PAD_RESERVE118 = 399,
 427        MX35_PAD_RESERVE119 = 400,
 428        MX35_PAD_RESERVE120 = 401,
 429        MX35_PAD_RESERVE121 = 402,
 430        MX35_PAD_RESERVE122 = 403,
 431        MX35_PAD_RESERVE123 = 404,
 432        MX35_PAD_RESERVE124 = 405,
 433        MX35_PAD_RESERVE125 = 406,
 434        MX35_PAD_RESERVE126 = 407,
 435        MX35_PAD_RESERVE127 = 408,
 436        MX35_PAD_RESERVE128 = 409,
 437        MX35_PAD_RESERVE129 = 410,
 438        MX35_PAD_RESERVE130 = 411,
 439        MX35_PAD_RESERVE131 = 412,
 440        MX35_PAD_RESERVE132 = 413,
 441        MX35_PAD_RESERVE133 = 414,
 442        MX35_PAD_RESERVE134 = 415,
 443        MX35_PAD_RESERVE135 = 416,
 444        MX35_PAD_RESERVE136 = 417,
 445        MX35_PAD_RESERVE137 = 418,
 446        MX35_PAD_RESERVE138 = 419,
 447        MX35_PAD_RESERVE139 = 420,
 448        MX35_PAD_RESERVE140 = 421,
 449        MX35_PAD_RESERVE141 = 422,
 450        MX35_PAD_RESERVE142 = 423,
 451        MX35_PAD_RESERVE143 = 424,
 452        MX35_PAD_RESERVE144 = 425,
 453        MX35_PAD_RESERVE145 = 426,
 454        MX35_PAD_RESERVE146 = 427,
 455        MX35_PAD_RESERVE147 = 428,
 456        MX35_PAD_RESERVE148 = 429,
 457        MX35_PAD_RESERVE149 = 430,
 458        MX35_PAD_RESERVE150 = 431,
 459        MX35_PAD_RESERVE151 = 432,
 460        MX35_PAD_RESERVE152 = 433,
 461        MX35_PAD_RESERVE153 = 434,
 462        MX35_PAD_RESERVE154 = 435,
 463        MX35_PAD_RESERVE155 = 436,
 464        MX35_PAD_RESERVE156 = 437,
 465        MX35_PAD_RESERVE157 = 438,
 466        MX35_PAD_RESERVE158 = 439,
 467        MX35_PAD_RESERVE159 = 440,
 468        MX35_PAD_RESERVE160 = 441,
 469        MX35_PAD_RESERVE161 = 442,
 470        MX35_PAD_RESERVE162 = 443,
 471        MX35_PAD_RESERVE163 = 444,
 472        MX35_PAD_RESERVE164 = 445,
 473        MX35_PAD_RESERVE165 = 446,
 474        MX35_PAD_RESERVE166 = 447,
 475        MX35_PAD_RESERVE167 = 448,
 476        MX35_PAD_RESERVE168 = 449,
 477        MX35_PAD_RESERVE169 = 450,
 478        MX35_PAD_RESERVE170 = 451,
 479        MX35_PAD_RESERVE171 = 452,
 480        MX35_PAD_RESERVE172 = 453,
 481        MX35_PAD_RESERVE173 = 454,
 482        MX35_PAD_RESERVE174 = 455,
 483        MX35_PAD_RESERVE175 = 456,
 484        MX35_PAD_RESERVE176 = 457,
 485        MX35_PAD_RESERVE177 = 458,
 486        MX35_PAD_RESERVE178 = 459,
 487        MX35_PAD_RESERVE179 = 460,
 488        MX35_PAD_RESERVE180 = 461,
 489        MX35_PAD_RESERVE181 = 462,
 490        MX35_PAD_RESERVE182 = 463,
 491        MX35_PAD_RESERVE183 = 464,
 492        MX35_PAD_RESERVE184 = 465,
 493        MX35_PAD_RESERVE185 = 466,
 494        MX35_PAD_RESERVE186 = 467,
 495        MX35_PAD_RESERVE187 = 468,
 496        MX35_PAD_RESERVE188 = 469,
 497        MX35_PAD_RESERVE189 = 470,
 498        MX35_PAD_RESERVE190 = 471,
 499        MX35_PAD_RESERVE191 = 472,
 500        MX35_PAD_RESERVE192 = 473,
 501        MX35_PAD_RESERVE193 = 474,
 502        MX35_PAD_RESERVE194 = 475,
 503        MX35_PAD_RESERVE195 = 476,
 504        MX35_PAD_RESERVE196 = 477,
 505        MX35_PAD_RESERVE197 = 478,
 506        MX35_PAD_RESERVE198 = 479,
 507        MX35_PAD_RESERVE199 = 480,
 508        MX35_PAD_RESERVE200 = 481,
 509        MX35_PAD_RESERVE201 = 482,
 510        MX35_PAD_EXT_ARMCLK = 483,
 511        MX35_PAD_TEST_MODE = 484,
 512};
 513
 514/* Pad names for the pinmux subsystem */
 515static const struct pinctrl_pin_desc imx35_pinctrl_pads[] = {
 516        IMX_PINCTRL_PIN(MX35_PAD_RESERVE0),
 517        IMX_PINCTRL_PIN(MX35_PAD_CAPTURE),
 518        IMX_PINCTRL_PIN(MX35_PAD_COMPARE),
 519        IMX_PINCTRL_PIN(MX35_PAD_WDOG_RST),
 520        IMX_PINCTRL_PIN(MX35_PAD_GPIO1_0),
 521        IMX_PINCTRL_PIN(MX35_PAD_GPIO1_1),
 522        IMX_PINCTRL_PIN(MX35_PAD_GPIO2_0),
 523        IMX_PINCTRL_PIN(MX35_PAD_GPIO3_0),
 524        IMX_PINCTRL_PIN(MX35_PAD_CLKO),
 525        IMX_PINCTRL_PIN(MX35_PAD_VSTBY),
 526        IMX_PINCTRL_PIN(MX35_PAD_A0),
 527        IMX_PINCTRL_PIN(MX35_PAD_A1),
 528        IMX_PINCTRL_PIN(MX35_PAD_A2),
 529        IMX_PINCTRL_PIN(MX35_PAD_A3),
 530        IMX_PINCTRL_PIN(MX35_PAD_A4),
 531        IMX_PINCTRL_PIN(MX35_PAD_A5),
 532        IMX_PINCTRL_PIN(MX35_PAD_A6),
 533        IMX_PINCTRL_PIN(MX35_PAD_A7),
 534        IMX_PINCTRL_PIN(MX35_PAD_A8),
 535        IMX_PINCTRL_PIN(MX35_PAD_A9),
 536        IMX_PINCTRL_PIN(MX35_PAD_A10),
 537        IMX_PINCTRL_PIN(MX35_PAD_MA10),
 538        IMX_PINCTRL_PIN(MX35_PAD_A11),
 539        IMX_PINCTRL_PIN(MX35_PAD_A12),
 540        IMX_PINCTRL_PIN(MX35_PAD_A13),
 541        IMX_PINCTRL_PIN(MX35_PAD_A14),
 542        IMX_PINCTRL_PIN(MX35_PAD_A15),
 543        IMX_PINCTRL_PIN(MX35_PAD_A16),
 544        IMX_PINCTRL_PIN(MX35_PAD_A17),
 545        IMX_PINCTRL_PIN(MX35_PAD_A18),
 546        IMX_PINCTRL_PIN(MX35_PAD_A19),
 547        IMX_PINCTRL_PIN(MX35_PAD_A20),
 548        IMX_PINCTRL_PIN(MX35_PAD_A21),
 549        IMX_PINCTRL_PIN(MX35_PAD_A22),
 550        IMX_PINCTRL_PIN(MX35_PAD_A23),
 551        IMX_PINCTRL_PIN(MX35_PAD_A24),
 552        IMX_PINCTRL_PIN(MX35_PAD_A25),
 553        IMX_PINCTRL_PIN(MX35_PAD_EB0),
 554        IMX_PINCTRL_PIN(MX35_PAD_EB1),
 555        IMX_PINCTRL_PIN(MX35_PAD_OE),
 556        IMX_PINCTRL_PIN(MX35_PAD_CS0),
 557        IMX_PINCTRL_PIN(MX35_PAD_CS1),
 558        IMX_PINCTRL_PIN(MX35_PAD_CS2),
 559        IMX_PINCTRL_PIN(MX35_PAD_CS3),
 560        IMX_PINCTRL_PIN(MX35_PAD_CS4),
 561        IMX_PINCTRL_PIN(MX35_PAD_CS5),
 562        IMX_PINCTRL_PIN(MX35_PAD_NF_CE0),
 563        IMX_PINCTRL_PIN(MX35_PAD_LBA),
 564        IMX_PINCTRL_PIN(MX35_PAD_BCLK),
 565        IMX_PINCTRL_PIN(MX35_PAD_RW),
 566        IMX_PINCTRL_PIN(MX35_PAD_NFWE_B),
 567        IMX_PINCTRL_PIN(MX35_PAD_NFRE_B),
 568        IMX_PINCTRL_PIN(MX35_PAD_NFALE),
 569        IMX_PINCTRL_PIN(MX35_PAD_NFCLE),
 570        IMX_PINCTRL_PIN(MX35_PAD_NFWP_B),
 571        IMX_PINCTRL_PIN(MX35_PAD_NFRB),
 572        IMX_PINCTRL_PIN(MX35_PAD_CSI_D8),
 573        IMX_PINCTRL_PIN(MX35_PAD_CSI_D9),
 574        IMX_PINCTRL_PIN(MX35_PAD_CSI_D10),
 575        IMX_PINCTRL_PIN(MX35_PAD_CSI_D11),
 576        IMX_PINCTRL_PIN(MX35_PAD_CSI_D12),
 577        IMX_PINCTRL_PIN(MX35_PAD_CSI_D13),
 578        IMX_PINCTRL_PIN(MX35_PAD_CSI_D14),
 579        IMX_PINCTRL_PIN(MX35_PAD_CSI_D15),
 580        IMX_PINCTRL_PIN(MX35_PAD_CSI_MCLK),
 581        IMX_PINCTRL_PIN(MX35_PAD_CSI_VSYNC),
 582        IMX_PINCTRL_PIN(MX35_PAD_CSI_HSYNC),
 583        IMX_PINCTRL_PIN(MX35_PAD_CSI_PIXCLK),
 584        IMX_PINCTRL_PIN(MX35_PAD_I2C1_CLK),
 585        IMX_PINCTRL_PIN(MX35_PAD_I2C1_DAT),
 586        IMX_PINCTRL_PIN(MX35_PAD_I2C2_CLK),
 587        IMX_PINCTRL_PIN(MX35_PAD_I2C2_DAT),
 588        IMX_PINCTRL_PIN(MX35_PAD_STXD4),
 589        IMX_PINCTRL_PIN(MX35_PAD_SRXD4),
 590        IMX_PINCTRL_PIN(MX35_PAD_SCK4),
 591        IMX_PINCTRL_PIN(MX35_PAD_STXFS4),
 592        IMX_PINCTRL_PIN(MX35_PAD_STXD5),
 593        IMX_PINCTRL_PIN(MX35_PAD_SRXD5),
 594        IMX_PINCTRL_PIN(MX35_PAD_SCK5),
 595        IMX_PINCTRL_PIN(MX35_PAD_STXFS5),
 596        IMX_PINCTRL_PIN(MX35_PAD_SCKR),
 597        IMX_PINCTRL_PIN(MX35_PAD_FSR),
 598        IMX_PINCTRL_PIN(MX35_PAD_HCKR),
 599        IMX_PINCTRL_PIN(MX35_PAD_SCKT),
 600        IMX_PINCTRL_PIN(MX35_PAD_FST),
 601        IMX_PINCTRL_PIN(MX35_PAD_HCKT),
 602        IMX_PINCTRL_PIN(MX35_PAD_TX5_RX0),
 603        IMX_PINCTRL_PIN(MX35_PAD_TX4_RX1),
 604        IMX_PINCTRL_PIN(MX35_PAD_TX3_RX2),
 605        IMX_PINCTRL_PIN(MX35_PAD_TX2_RX3),
 606        IMX_PINCTRL_PIN(MX35_PAD_TX1),
 607        IMX_PINCTRL_PIN(MX35_PAD_TX0),
 608        IMX_PINCTRL_PIN(MX35_PAD_CSPI1_MOSI),
 609        IMX_PINCTRL_PIN(MX35_PAD_CSPI1_MISO),
 610        IMX_PINCTRL_PIN(MX35_PAD_CSPI1_SS0),
 611        IMX_PINCTRL_PIN(MX35_PAD_CSPI1_SS1),
 612        IMX_PINCTRL_PIN(MX35_PAD_CSPI1_SCLK),
 613        IMX_PINCTRL_PIN(MX35_PAD_CSPI1_SPI_RDY),
 614        IMX_PINCTRL_PIN(MX35_PAD_RXD1),
 615        IMX_PINCTRL_PIN(MX35_PAD_TXD1),
 616        IMX_PINCTRL_PIN(MX35_PAD_RTS1),
 617        IMX_PINCTRL_PIN(MX35_PAD_CTS1),
 618        IMX_PINCTRL_PIN(MX35_PAD_RXD2),
 619        IMX_PINCTRL_PIN(MX35_PAD_TXD2),
 620        IMX_PINCTRL_PIN(MX35_PAD_RTS2),
 621        IMX_PINCTRL_PIN(MX35_PAD_CTS2),
 622        IMX_PINCTRL_PIN(MX35_PAD_USBOTG_PWR),
 623        IMX_PINCTRL_PIN(MX35_PAD_USBOTG_OC),
 624        IMX_PINCTRL_PIN(MX35_PAD_LD0),
 625        IMX_PINCTRL_PIN(MX35_PAD_LD1),
 626        IMX_PINCTRL_PIN(MX35_PAD_LD2),
 627        IMX_PINCTRL_PIN(MX35_PAD_LD3),
 628        IMX_PINCTRL_PIN(MX35_PAD_LD4),
 629        IMX_PINCTRL_PIN(MX35_PAD_LD5),
 630        IMX_PINCTRL_PIN(MX35_PAD_LD6),
 631        IMX_PINCTRL_PIN(MX35_PAD_LD7),
 632        IMX_PINCTRL_PIN(MX35_PAD_LD8),
 633        IMX_PINCTRL_PIN(MX35_PAD_LD9),
 634        IMX_PINCTRL_PIN(MX35_PAD_LD10),
 635        IMX_PINCTRL_PIN(MX35_PAD_LD11),
 636        IMX_PINCTRL_PIN(MX35_PAD_LD12),
 637        IMX_PINCTRL_PIN(MX35_PAD_LD13),
 638        IMX_PINCTRL_PIN(MX35_PAD_LD14),
 639        IMX_PINCTRL_PIN(MX35_PAD_LD15),
 640        IMX_PINCTRL_PIN(MX35_PAD_LD16),
 641        IMX_PINCTRL_PIN(MX35_PAD_LD17),
 642        IMX_PINCTRL_PIN(MX35_PAD_LD18),
 643        IMX_PINCTRL_PIN(MX35_PAD_LD19),
 644        IMX_PINCTRL_PIN(MX35_PAD_LD20),
 645        IMX_PINCTRL_PIN(MX35_PAD_LD21),
 646        IMX_PINCTRL_PIN(MX35_PAD_LD22),
 647        IMX_PINCTRL_PIN(MX35_PAD_LD23),
 648        IMX_PINCTRL_PIN(MX35_PAD_D3_HSYNC),
 649        IMX_PINCTRL_PIN(MX35_PAD_D3_FPSHIFT),
 650        IMX_PINCTRL_PIN(MX35_PAD_D3_DRDY),
 651        IMX_PINCTRL_PIN(MX35_PAD_CONTRAST),
 652        IMX_PINCTRL_PIN(MX35_PAD_D3_VSYNC),
 653        IMX_PINCTRL_PIN(MX35_PAD_D3_REV),
 654        IMX_PINCTRL_PIN(MX35_PAD_D3_CLS),
 655        IMX_PINCTRL_PIN(MX35_PAD_D3_SPL),
 656        IMX_PINCTRL_PIN(MX35_PAD_SD1_CMD),
 657        IMX_PINCTRL_PIN(MX35_PAD_SD1_CLK),
 658        IMX_PINCTRL_PIN(MX35_PAD_SD1_DATA0),
 659        IMX_PINCTRL_PIN(MX35_PAD_SD1_DATA1),
 660        IMX_PINCTRL_PIN(MX35_PAD_SD1_DATA2),
 661        IMX_PINCTRL_PIN(MX35_PAD_SD1_DATA3),
 662        IMX_PINCTRL_PIN(MX35_PAD_SD2_CMD),
 663        IMX_PINCTRL_PIN(MX35_PAD_SD2_CLK),
 664        IMX_PINCTRL_PIN(MX35_PAD_SD2_DATA0),
 665        IMX_PINCTRL_PIN(MX35_PAD_SD2_DATA1),
 666        IMX_PINCTRL_PIN(MX35_PAD_SD2_DATA2),
 667        IMX_PINCTRL_PIN(MX35_PAD_SD2_DATA3),
 668        IMX_PINCTRL_PIN(MX35_PAD_ATA_CS0),
 669        IMX_PINCTRL_PIN(MX35_PAD_ATA_CS1),
 670        IMX_PINCTRL_PIN(MX35_PAD_ATA_DIOR),
 671        IMX_PINCTRL_PIN(MX35_PAD_ATA_DIOW),
 672        IMX_PINCTRL_PIN(MX35_PAD_ATA_DMACK),
 673        IMX_PINCTRL_PIN(MX35_PAD_ATA_RESET_B),
 674        IMX_PINCTRL_PIN(MX35_PAD_ATA_IORDY),
 675        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA0),
 676        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA1),
 677        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA2),
 678        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA3),
 679        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA4),
 680        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA5),
 681        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA6),
 682        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA7),
 683        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA8),
 684        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA9),
 685        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA10),
 686        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA11),
 687        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA12),
 688        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA13),
 689        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA14),
 690        IMX_PINCTRL_PIN(MX35_PAD_ATA_DATA15),
 691        IMX_PINCTRL_PIN(MX35_PAD_ATA_INTRQ),
 692        IMX_PINCTRL_PIN(MX35_PAD_ATA_BUFF_EN),
 693        IMX_PINCTRL_PIN(MX35_PAD_ATA_DMARQ),
 694        IMX_PINCTRL_PIN(MX35_PAD_ATA_DA0),
 695        IMX_PINCTRL_PIN(MX35_PAD_ATA_DA1),
 696        IMX_PINCTRL_PIN(MX35_PAD_ATA_DA2),
 697        IMX_PINCTRL_PIN(MX35_PAD_MLB_CLK),
 698        IMX_PINCTRL_PIN(MX35_PAD_MLB_DAT),
 699        IMX_PINCTRL_PIN(MX35_PAD_MLB_SIG),
 700        IMX_PINCTRL_PIN(MX35_PAD_FEC_TX_CLK),
 701        IMX_PINCTRL_PIN(MX35_PAD_FEC_RX_CLK),
 702        IMX_PINCTRL_PIN(MX35_PAD_FEC_RX_DV),
 703        IMX_PINCTRL_PIN(MX35_PAD_FEC_COL),
 704        IMX_PINCTRL_PIN(MX35_PAD_FEC_RDATA0),
 705        IMX_PINCTRL_PIN(MX35_PAD_FEC_TDATA0),
 706        IMX_PINCTRL_PIN(MX35_PAD_FEC_TX_EN),
 707        IMX_PINCTRL_PIN(MX35_PAD_FEC_MDC),
 708        IMX_PINCTRL_PIN(MX35_PAD_FEC_MDIO),
 709        IMX_PINCTRL_PIN(MX35_PAD_FEC_TX_ERR),
 710        IMX_PINCTRL_PIN(MX35_PAD_FEC_RX_ERR),
 711        IMX_PINCTRL_PIN(MX35_PAD_FEC_CRS),
 712        IMX_PINCTRL_PIN(MX35_PAD_FEC_RDATA1),
 713        IMX_PINCTRL_PIN(MX35_PAD_FEC_TDATA1),
 714        IMX_PINCTRL_PIN(MX35_PAD_FEC_RDATA2),
 715        IMX_PINCTRL_PIN(MX35_PAD_FEC_TDATA2),
 716        IMX_PINCTRL_PIN(MX35_PAD_FEC_RDATA3),
 717        IMX_PINCTRL_PIN(MX35_PAD_FEC_TDATA3),
 718        IMX_PINCTRL_PIN(MX35_PAD_RESERVE1),
 719        IMX_PINCTRL_PIN(MX35_PAD_RESERVE2),
 720        IMX_PINCTRL_PIN(MX35_PAD_RESERVE3),
 721        IMX_PINCTRL_PIN(MX35_PAD_RESERVE4),
 722        IMX_PINCTRL_PIN(MX35_PAD_RESERVE5),
 723        IMX_PINCTRL_PIN(MX35_PAD_RESERVE6),
 724        IMX_PINCTRL_PIN(MX35_PAD_RESERVE7),
 725        IMX_PINCTRL_PIN(MX35_PAD_RESET_IN_B),
 726        IMX_PINCTRL_PIN(MX35_PAD_POR_B),
 727        IMX_PINCTRL_PIN(MX35_PAD_RESERVE8),
 728        IMX_PINCTRL_PIN(MX35_PAD_BOOT_MODE0),
 729        IMX_PINCTRL_PIN(MX35_PAD_BOOT_MODE1),
 730        IMX_PINCTRL_PIN(MX35_PAD_CLK_MODE0),
 731        IMX_PINCTRL_PIN(MX35_PAD_CLK_MODE1),
 732        IMX_PINCTRL_PIN(MX35_PAD_POWER_FAIL),
 733        IMX_PINCTRL_PIN(MX35_PAD_RESERVE9),
 734        IMX_PINCTRL_PIN(MX35_PAD_RESERVE10),
 735        IMX_PINCTRL_PIN(MX35_PAD_RESERVE11),
 736        IMX_PINCTRL_PIN(MX35_PAD_RESERVE12),
 737        IMX_PINCTRL_PIN(MX35_PAD_RESERVE13),
 738        IMX_PINCTRL_PIN(MX35_PAD_RESERVE14),
 739        IMX_PINCTRL_PIN(MX35_PAD_RESERVE15),
 740        IMX_PINCTRL_PIN(MX35_PAD_RESERVE16),
 741        IMX_PINCTRL_PIN(MX35_PAD_RESERVE17),
 742        IMX_PINCTRL_PIN(MX35_PAD_RESERVE18),
 743        IMX_PINCTRL_PIN(MX35_PAD_RESERVE19),
 744        IMX_PINCTRL_PIN(MX35_PAD_RESERVE20),
 745        IMX_PINCTRL_PIN(MX35_PAD_RESERVE21),
 746        IMX_PINCTRL_PIN(MX35_PAD_RESERVE22),
 747        IMX_PINCTRL_PIN(MX35_PAD_RESERVE23),
 748        IMX_PINCTRL_PIN(MX35_PAD_RESERVE24),
 749        IMX_PINCTRL_PIN(MX35_PAD_RESERVE25),
 750        IMX_PINCTRL_PIN(MX35_PAD_RESERVE26),
 751        IMX_PINCTRL_PIN(MX35_PAD_RESERVE27),
 752        IMX_PINCTRL_PIN(MX35_PAD_RESERVE28),
 753        IMX_PINCTRL_PIN(MX35_PAD_RESERVE29),
 754        IMX_PINCTRL_PIN(MX35_PAD_RESERVE30),
 755        IMX_PINCTRL_PIN(MX35_PAD_RESERVE31),
 756        IMX_PINCTRL_PIN(MX35_PAD_RESERVE32),
 757        IMX_PINCTRL_PIN(MX35_PAD_RESERVE33),
 758        IMX_PINCTRL_PIN(MX35_PAD_RESERVE34),
 759        IMX_PINCTRL_PIN(MX35_PAD_RESERVE35),
 760        IMX_PINCTRL_PIN(MX35_PAD_RESERVE36),
 761        IMX_PINCTRL_PIN(MX35_PAD_SDBA1),
 762        IMX_PINCTRL_PIN(MX35_PAD_SDBA0),
 763        IMX_PINCTRL_PIN(MX35_PAD_SD0),
 764        IMX_PINCTRL_PIN(MX35_PAD_SD1),
 765        IMX_PINCTRL_PIN(MX35_PAD_SD2),
 766        IMX_PINCTRL_PIN(MX35_PAD_SD3),
 767        IMX_PINCTRL_PIN(MX35_PAD_SD4),
 768        IMX_PINCTRL_PIN(MX35_PAD_SD5),
 769        IMX_PINCTRL_PIN(MX35_PAD_SD6),
 770        IMX_PINCTRL_PIN(MX35_PAD_SD7),
 771        IMX_PINCTRL_PIN(MX35_PAD_SD8),
 772        IMX_PINCTRL_PIN(MX35_PAD_SD9),
 773        IMX_PINCTRL_PIN(MX35_PAD_SD10),
 774        IMX_PINCTRL_PIN(MX35_PAD_SD11),
 775        IMX_PINCTRL_PIN(MX35_PAD_SD12),
 776        IMX_PINCTRL_PIN(MX35_PAD_SD13),
 777        IMX_PINCTRL_PIN(MX35_PAD_SD14),
 778        IMX_PINCTRL_PIN(MX35_PAD_SD15),
 779        IMX_PINCTRL_PIN(MX35_PAD_SD16),
 780        IMX_PINCTRL_PIN(MX35_PAD_SD17),
 781        IMX_PINCTRL_PIN(MX35_PAD_SD18),
 782        IMX_PINCTRL_PIN(MX35_PAD_SD19),
 783        IMX_PINCTRL_PIN(MX35_PAD_SD20),
 784        IMX_PINCTRL_PIN(MX35_PAD_SD21),
 785        IMX_PINCTRL_PIN(MX35_PAD_SD22),
 786        IMX_PINCTRL_PIN(MX35_PAD_SD23),
 787        IMX_PINCTRL_PIN(MX35_PAD_SD24),
 788        IMX_PINCTRL_PIN(MX35_PAD_SD25),
 789        IMX_PINCTRL_PIN(MX35_PAD_SD26),
 790        IMX_PINCTRL_PIN(MX35_PAD_SD27),
 791        IMX_PINCTRL_PIN(MX35_PAD_SD28),
 792        IMX_PINCTRL_PIN(MX35_PAD_SD29),
 793        IMX_PINCTRL_PIN(MX35_PAD_SD30),
 794        IMX_PINCTRL_PIN(MX35_PAD_SD31),
 795        IMX_PINCTRL_PIN(MX35_PAD_DQM0),
 796        IMX_PINCTRL_PIN(MX35_PAD_DQM1),
 797        IMX_PINCTRL_PIN(MX35_PAD_DQM2),
 798        IMX_PINCTRL_PIN(MX35_PAD_DQM3),
 799        IMX_PINCTRL_PIN(MX35_PAD_RESERVE37),
 800        IMX_PINCTRL_PIN(MX35_PAD_RESERVE38),
 801        IMX_PINCTRL_PIN(MX35_PAD_RESERVE39),
 802        IMX_PINCTRL_PIN(MX35_PAD_RESERVE40),
 803        IMX_PINCTRL_PIN(MX35_PAD_RESERVE41),
 804        IMX_PINCTRL_PIN(MX35_PAD_RESERVE42),
 805        IMX_PINCTRL_PIN(MX35_PAD_RESERVE43),
 806        IMX_PINCTRL_PIN(MX35_PAD_RESERVE44),
 807        IMX_PINCTRL_PIN(MX35_PAD_RESERVE45),
 808        IMX_PINCTRL_PIN(MX35_PAD_RESERVE46),
 809        IMX_PINCTRL_PIN(MX35_PAD_ECB),
 810        IMX_PINCTRL_PIN(MX35_PAD_RESERVE47),
 811        IMX_PINCTRL_PIN(MX35_PAD_RESERVE48),
 812        IMX_PINCTRL_PIN(MX35_PAD_RESERVE49),
 813        IMX_PINCTRL_PIN(MX35_PAD_RAS),
 814        IMX_PINCTRL_PIN(MX35_PAD_CAS),
 815        IMX_PINCTRL_PIN(MX35_PAD_SDWE),
 816        IMX_PINCTRL_PIN(MX35_PAD_SDCKE0),
 817        IMX_PINCTRL_PIN(MX35_PAD_SDCKE1),
 818        IMX_PINCTRL_PIN(MX35_PAD_SDCLK),
 819        IMX_PINCTRL_PIN(MX35_PAD_SDQS0),
 820        IMX_PINCTRL_PIN(MX35_PAD_SDQS1),
 821        IMX_PINCTRL_PIN(MX35_PAD_SDQS2),
 822        IMX_PINCTRL_PIN(MX35_PAD_SDQS3),
 823        IMX_PINCTRL_PIN(MX35_PAD_RESERVE50),
 824        IMX_PINCTRL_PIN(MX35_PAD_RESERVE51),
 825        IMX_PINCTRL_PIN(MX35_PAD_RESERVE52),
 826        IMX_PINCTRL_PIN(MX35_PAD_RESERVE53),
 827        IMX_PINCTRL_PIN(MX35_PAD_RESERVE54),
 828        IMX_PINCTRL_PIN(MX35_PAD_RESERVE55),
 829        IMX_PINCTRL_PIN(MX35_PAD_D15),
 830        IMX_PINCTRL_PIN(MX35_PAD_D14),
 831        IMX_PINCTRL_PIN(MX35_PAD_D13),
 832        IMX_PINCTRL_PIN(MX35_PAD_D12),
 833        IMX_PINCTRL_PIN(MX35_PAD_D11),
 834        IMX_PINCTRL_PIN(MX35_PAD_D10),
 835        IMX_PINCTRL_PIN(MX35_PAD_D9),
 836        IMX_PINCTRL_PIN(MX35_PAD_D8),
 837        IMX_PINCTRL_PIN(MX35_PAD_D7),
 838        IMX_PINCTRL_PIN(MX35_PAD_D6),
 839        IMX_PINCTRL_PIN(MX35_PAD_D5),
 840        IMX_PINCTRL_PIN(MX35_PAD_D4),
 841        IMX_PINCTRL_PIN(MX35_PAD_D3),
 842        IMX_PINCTRL_PIN(MX35_PAD_D2),
 843        IMX_PINCTRL_PIN(MX35_PAD_D1),
 844        IMX_PINCTRL_PIN(MX35_PAD_D0),
 845        IMX_PINCTRL_PIN(MX35_PAD_RESERVE56),
 846        IMX_PINCTRL_PIN(MX35_PAD_RESERVE57),
 847        IMX_PINCTRL_PIN(MX35_PAD_RESERVE58),
 848        IMX_PINCTRL_PIN(MX35_PAD_RESERVE59),
 849        IMX_PINCTRL_PIN(MX35_PAD_RESERVE60),
 850        IMX_PINCTRL_PIN(MX35_PAD_RESERVE61),
 851        IMX_PINCTRL_PIN(MX35_PAD_RESERVE62),
 852        IMX_PINCTRL_PIN(MX35_PAD_RESERVE63),
 853        IMX_PINCTRL_PIN(MX35_PAD_RESERVE64),
 854        IMX_PINCTRL_PIN(MX35_PAD_RESERVE65),
 855        IMX_PINCTRL_PIN(MX35_PAD_RESERVE66),
 856        IMX_PINCTRL_PIN(MX35_PAD_RESERVE67),
 857        IMX_PINCTRL_PIN(MX35_PAD_RESERVE68),
 858        IMX_PINCTRL_PIN(MX35_PAD_RESERVE69),
 859        IMX_PINCTRL_PIN(MX35_PAD_RESERVE70),
 860        IMX_PINCTRL_PIN(MX35_PAD_RESERVE71),
 861        IMX_PINCTRL_PIN(MX35_PAD_RESERVE72),
 862        IMX_PINCTRL_PIN(MX35_PAD_RESERVE73),
 863        IMX_PINCTRL_PIN(MX35_PAD_RESERVE74),
 864        IMX_PINCTRL_PIN(MX35_PAD_RESERVE75),
 865        IMX_PINCTRL_PIN(MX35_PAD_RESERVE76),
 866        IMX_PINCTRL_PIN(MX35_PAD_RESERVE77),
 867        IMX_PINCTRL_PIN(MX35_PAD_RESERVE78),
 868        IMX_PINCTRL_PIN(MX35_PAD_RESERVE79),
 869        IMX_PINCTRL_PIN(MX35_PAD_RESERVE80),
 870        IMX_PINCTRL_PIN(MX35_PAD_RESERVE81),
 871        IMX_PINCTRL_PIN(MX35_PAD_RESERVE82),
 872        IMX_PINCTRL_PIN(MX35_PAD_RESERVE83),
 873        IMX_PINCTRL_PIN(MX35_PAD_RESERVE84),
 874        IMX_PINCTRL_PIN(MX35_PAD_RESERVE85),
 875        IMX_PINCTRL_PIN(MX35_PAD_RESERVE86),
 876        IMX_PINCTRL_PIN(MX35_PAD_RESERVE87),
 877        IMX_PINCTRL_PIN(MX35_PAD_RESERVE88),
 878        IMX_PINCTRL_PIN(MX35_PAD_RESERVE89),
 879        IMX_PINCTRL_PIN(MX35_PAD_RESERVE90),
 880        IMX_PINCTRL_PIN(MX35_PAD_RESERVE91),
 881        IMX_PINCTRL_PIN(MX35_PAD_RESERVE92),
 882        IMX_PINCTRL_PIN(MX35_PAD_RESERVE93),
 883        IMX_PINCTRL_PIN(MX35_PAD_RESERVE94),
 884        IMX_PINCTRL_PIN(MX35_PAD_RESERVE95),
 885        IMX_PINCTRL_PIN(MX35_PAD_RESERVE96),
 886        IMX_PINCTRL_PIN(MX35_PAD_RESERVE97),
 887        IMX_PINCTRL_PIN(MX35_PAD_RESERVE98),
 888        IMX_PINCTRL_PIN(MX35_PAD_RESERVE99),
 889        IMX_PINCTRL_PIN(MX35_PAD_RESERVE100),
 890        IMX_PINCTRL_PIN(MX35_PAD_RESERVE101),
 891        IMX_PINCTRL_PIN(MX35_PAD_RESERVE102),
 892        IMX_PINCTRL_PIN(MX35_PAD_RESERVE103),
 893        IMX_PINCTRL_PIN(MX35_PAD_RESERVE104),
 894        IMX_PINCTRL_PIN(MX35_PAD_RESERVE105),
 895        IMX_PINCTRL_PIN(MX35_PAD_RTCK),
 896        IMX_PINCTRL_PIN(MX35_PAD_TCK),
 897        IMX_PINCTRL_PIN(MX35_PAD_TMS),
 898        IMX_PINCTRL_PIN(MX35_PAD_TDI),
 899        IMX_PINCTRL_PIN(MX35_PAD_TDO),
 900        IMX_PINCTRL_PIN(MX35_PAD_TRSTB),
 901        IMX_PINCTRL_PIN(MX35_PAD_DE_B),
 902        IMX_PINCTRL_PIN(MX35_PAD_SJC_MOD),
 903        IMX_PINCTRL_PIN(MX35_PAD_RESERVE106),
 904        IMX_PINCTRL_PIN(MX35_PAD_RESERVE107),
 905        IMX_PINCTRL_PIN(MX35_PAD_RESERVE108),
 906        IMX_PINCTRL_PIN(MX35_PAD_RESERVE109),
 907        IMX_PINCTRL_PIN(MX35_PAD_RESERVE110),
 908        IMX_PINCTRL_PIN(MX35_PAD_RESERVE111),
 909        IMX_PINCTRL_PIN(MX35_PAD_RESERVE112),
 910        IMX_PINCTRL_PIN(MX35_PAD_RESERVE113),
 911        IMX_PINCTRL_PIN(MX35_PAD_RESERVE114),
 912        IMX_PINCTRL_PIN(MX35_PAD_RESERVE115),
 913        IMX_PINCTRL_PIN(MX35_PAD_RESERVE116),
 914        IMX_PINCTRL_PIN(MX35_PAD_RESERVE117),
 915        IMX_PINCTRL_PIN(MX35_PAD_RESERVE118),
 916        IMX_PINCTRL_PIN(MX35_PAD_RESERVE119),
 917        IMX_PINCTRL_PIN(MX35_PAD_RESERVE120),
 918        IMX_PINCTRL_PIN(MX35_PAD_RESERVE121),
 919        IMX_PINCTRL_PIN(MX35_PAD_RESERVE122),
 920        IMX_PINCTRL_PIN(MX35_PAD_RESERVE123),
 921        IMX_PINCTRL_PIN(MX35_PAD_RESERVE124),
 922        IMX_PINCTRL_PIN(MX35_PAD_RESERVE125),
 923        IMX_PINCTRL_PIN(MX35_PAD_RESERVE126),
 924        IMX_PINCTRL_PIN(MX35_PAD_RESERVE127),
 925        IMX_PINCTRL_PIN(MX35_PAD_RESERVE128),
 926        IMX_PINCTRL_PIN(MX35_PAD_RESERVE129),
 927        IMX_PINCTRL_PIN(MX35_PAD_RESERVE130),
 928        IMX_PINCTRL_PIN(MX35_PAD_RESERVE131),
 929        IMX_PINCTRL_PIN(MX35_PAD_RESERVE132),
 930        IMX_PINCTRL_PIN(MX35_PAD_RESERVE133),
 931        IMX_PINCTRL_PIN(MX35_PAD_RESERVE134),
 932        IMX_PINCTRL_PIN(MX35_PAD_RESERVE135),
 933        IMX_PINCTRL_PIN(MX35_PAD_RESERVE136),
 934        IMX_PINCTRL_PIN(MX35_PAD_RESERVE137),
 935        IMX_PINCTRL_PIN(MX35_PAD_RESERVE138),
 936        IMX_PINCTRL_PIN(MX35_PAD_RESERVE139),
 937        IMX_PINCTRL_PIN(MX35_PAD_RESERVE140),
 938        IMX_PINCTRL_PIN(MX35_PAD_RESERVE141),
 939        IMX_PINCTRL_PIN(MX35_PAD_RESERVE142),
 940        IMX_PINCTRL_PIN(MX35_PAD_RESERVE143),
 941        IMX_PINCTRL_PIN(MX35_PAD_RESERVE144),
 942        IMX_PINCTRL_PIN(MX35_PAD_RESERVE145),
 943        IMX_PINCTRL_PIN(MX35_PAD_RESERVE146),
 944        IMX_PINCTRL_PIN(MX35_PAD_RESERVE147),
 945        IMX_PINCTRL_PIN(MX35_PAD_RESERVE148),
 946        IMX_PINCTRL_PIN(MX35_PAD_RESERVE149),
 947        IMX_PINCTRL_PIN(MX35_PAD_RESERVE150),
 948        IMX_PINCTRL_PIN(MX35_PAD_RESERVE151),
 949        IMX_PINCTRL_PIN(MX35_PAD_RESERVE152),
 950        IMX_PINCTRL_PIN(MX35_PAD_RESERVE153),
 951        IMX_PINCTRL_PIN(MX35_PAD_RESERVE154),
 952        IMX_PINCTRL_PIN(MX35_PAD_RESERVE155),
 953        IMX_PINCTRL_PIN(MX35_PAD_RESERVE156),
 954        IMX_PINCTRL_PIN(MX35_PAD_RESERVE157),
 955        IMX_PINCTRL_PIN(MX35_PAD_RESERVE158),
 956        IMX_PINCTRL_PIN(MX35_PAD_RESERVE159),
 957        IMX_PINCTRL_PIN(MX35_PAD_RESERVE160),
 958        IMX_PINCTRL_PIN(MX35_PAD_RESERVE161),
 959        IMX_PINCTRL_PIN(MX35_PAD_RESERVE162),
 960        IMX_PINCTRL_PIN(MX35_PAD_RESERVE163),
 961        IMX_PINCTRL_PIN(MX35_PAD_RESERVE164),
 962        IMX_PINCTRL_PIN(MX35_PAD_RESERVE165),
 963        IMX_PINCTRL_PIN(MX35_PAD_RESERVE166),
 964        IMX_PINCTRL_PIN(MX35_PAD_RESERVE167),
 965        IMX_PINCTRL_PIN(MX35_PAD_RESERVE168),
 966        IMX_PINCTRL_PIN(MX35_PAD_RESERVE169),
 967        IMX_PINCTRL_PIN(MX35_PAD_RESERVE170),
 968        IMX_PINCTRL_PIN(MX35_PAD_RESERVE171),
 969        IMX_PINCTRL_PIN(MX35_PAD_RESERVE172),
 970        IMX_PINCTRL_PIN(MX35_PAD_RESERVE173),
 971        IMX_PINCTRL_PIN(MX35_PAD_RESERVE174),
 972        IMX_PINCTRL_PIN(MX35_PAD_RESERVE175),
 973        IMX_PINCTRL_PIN(MX35_PAD_RESERVE176),
 974        IMX_PINCTRL_PIN(MX35_PAD_RESERVE177),
 975        IMX_PINCTRL_PIN(MX35_PAD_RESERVE178),
 976        IMX_PINCTRL_PIN(MX35_PAD_RESERVE179),
 977        IMX_PINCTRL_PIN(MX35_PAD_RESERVE180),
 978        IMX_PINCTRL_PIN(MX35_PAD_RESERVE181),
 979        IMX_PINCTRL_PIN(MX35_PAD_RESERVE182),
 980        IMX_PINCTRL_PIN(MX35_PAD_RESERVE183),
 981        IMX_PINCTRL_PIN(MX35_PAD_RESERVE184),
 982        IMX_PINCTRL_PIN(MX35_PAD_RESERVE185),
 983        IMX_PINCTRL_PIN(MX35_PAD_RESERVE186),
 984        IMX_PINCTRL_PIN(MX35_PAD_RESERVE187),
 985        IMX_PINCTRL_PIN(MX35_PAD_RESERVE188),
 986        IMX_PINCTRL_PIN(MX35_PAD_RESERVE189),
 987        IMX_PINCTRL_PIN(MX35_PAD_RESERVE190),
 988        IMX_PINCTRL_PIN(MX35_PAD_RESERVE191),
 989        IMX_PINCTRL_PIN(MX35_PAD_RESERVE192),
 990        IMX_PINCTRL_PIN(MX35_PAD_RESERVE193),
 991        IMX_PINCTRL_PIN(MX35_PAD_RESERVE194),
 992        IMX_PINCTRL_PIN(MX35_PAD_RESERVE195),
 993        IMX_PINCTRL_PIN(MX35_PAD_RESERVE196),
 994        IMX_PINCTRL_PIN(MX35_PAD_RESERVE197),
 995        IMX_PINCTRL_PIN(MX35_PAD_RESERVE198),
 996        IMX_PINCTRL_PIN(MX35_PAD_RESERVE199),
 997        IMX_PINCTRL_PIN(MX35_PAD_RESERVE200),
 998        IMX_PINCTRL_PIN(MX35_PAD_RESERVE201),
 999        IMX_PINCTRL_PIN(MX35_PAD_EXT_ARMCLK),
1000        IMX_PINCTRL_PIN(MX35_PAD_TEST_MODE),
1001};
1002
1003static struct imx_pinctrl_soc_info imx35_pinctrl_info = {
1004        .pins = imx35_pinctrl_pads,
1005        .npins = ARRAY_SIZE(imx35_pinctrl_pads),
1006};
1007
1008static struct of_device_id imx35_pinctrl_of_match[] = {
1009        { .compatible = "fsl,imx35-iomuxc", },
1010        { /* sentinel */ }
1011};
1012
1013static int imx35_pinctrl_probe(struct platform_device *pdev)
1014{
1015        return imx_pinctrl_probe(pdev, &imx35_pinctrl_info);
1016}
1017
1018static struct platform_driver imx35_pinctrl_driver = {
1019        .driver = {
1020                .name = "imx35-pinctrl",
1021                .owner = THIS_MODULE,
1022                .of_match_table = of_match_ptr(imx35_pinctrl_of_match),
1023        },
1024        .probe = imx35_pinctrl_probe,
1025        .remove = imx_pinctrl_remove,
1026};
1027
1028static int __init imx35_pinctrl_init(void)
1029{
1030        return platform_driver_register(&imx35_pinctrl_driver);
1031}
1032arch_initcall(imx35_pinctrl_init);
1033
1034static void __exit imx35_pinctrl_exit(void)
1035{
1036        platform_driver_unregister(&imx35_pinctrl_driver);
1037}
1038module_exit(imx35_pinctrl_exit);
1039MODULE_AUTHOR("Dong Aisheng <dong.aisheng@linaro.org>");
1040MODULE_DESCRIPTION("Freescale IMX35 pinctrl driver");
1041MODULE_LICENSE("GPL v2");
1042
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.