root/drivers/pinctrl/pxa/pinctrl-pxa27x.c

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

DEFINITIONS

This source file includes following definitions.
  1. pxa27x_pinctrl_probe

   1 // SPDX-License-Identifier: GPL-2.0-only
   2 /*
   3  * Marvell PXA27x family pin control
   4  *
   5  * Copyright (C) 2015 Robert Jarzmik
   6  */
   7 #include <linux/module.h>
   8 #include <linux/platform_device.h>
   9 #include <linux/of.h>
  10 #include <linux/of_device.h>
  11 #include <linux/pinctrl/pinctrl.h>
  12 
  13 #include "pinctrl-pxa2xx.h"
  14 
  15 static const struct pxa_desc_pin pxa27x_pins[] = {
  16         PXA_GPIO_ONLY_PIN(PXA_PINCTRL_PIN(0)),
  17         PXA_GPIO_ONLY_PIN(PXA_PINCTRL_PIN(1)),
  18         PXA_GPIO_PIN(PXA_PINCTRL_PIN(9),
  19                      PXA_FUNCTION(0, 3, "FFCTS"),
  20                      PXA_FUNCTION(1, 1, "HZ_CLK"),
  21                      PXA_FUNCTION(1, 3, "CHOUT<0>")),
  22         PXA_GPIO_PIN(PXA_PINCTRL_PIN(10),
  23                      PXA_FUNCTION(0, 1, "FFDCD"),
  24                      PXA_FUNCTION(0, 3, "USB_P3_5"),
  25                      PXA_FUNCTION(1, 1, "HZ_CLK"),
  26                      PXA_FUNCTION(1, 3, "CHOUT<1>")),
  27         PXA_GPIO_PIN(PXA_PINCTRL_PIN(11),
  28                      PXA_FUNCTION(0, 1, "EXT_SYNC<0>"),
  29                      PXA_FUNCTION(0, 2, "SSPRXD2"),
  30                      PXA_FUNCTION(0, 3, "USB_P3_1"),
  31                      PXA_FUNCTION(1, 1, "CHOUT<0>"),
  32                      PXA_FUNCTION(1, 1, "PWM_OUT<2>"),
  33                      PXA_FUNCTION(1, 3, "48_MHz")),
  34         PXA_GPIO_PIN(PXA_PINCTRL_PIN(12),
  35                      PXA_FUNCTION(0, 1, "EXT_SYNC<1>"),
  36                      PXA_FUNCTION(0, 2, "CIF_DD<7>"),
  37                      PXA_FUNCTION(1, 1, "CHOUT<1>"),
  38                      PXA_FUNCTION(1, 1, "PWM_OUT<3>"),
  39                      PXA_FUNCTION(1, 3, "48_MHz")),
  40         PXA_GPIO_PIN(PXA_PINCTRL_PIN(13),
  41                      PXA_FUNCTION(0, 1, "CLK_EXT"),
  42                      PXA_FUNCTION(0, 2, "KP_DKIN<7>"),
  43                      PXA_FUNCTION(0, 3, "KP_MKIN<7>"),
  44                      PXA_FUNCTION(1, 1, "SSPTXD2")),
  45         PXA_GPIO_PIN(PXA_PINCTRL_PIN(14),
  46                      PXA_FUNCTION(0, 1, "L_VSYNC"),
  47                      PXA_FUNCTION(0, 2, "SSPSFRM2"),
  48                      PXA_FUNCTION(1, 1, "SSPSFRM2"),
  49                      PXA_FUNCTION(1, 3, "UCLK")),
  50         PXA_GPIO_ONLY_PIN(PXA_PINCTRL_PIN(15)),
  51         PXA_GPIO_PIN(PXA_PINCTRL_PIN(16),
  52                      PXA_FUNCTION(0, 1, "KP_MKIN<5>"),
  53                      PXA_FUNCTION(1, 2, "PWM_OUT<0>"),
  54                      PXA_FUNCTION(1, 3, "FFTXD")),
  55         PXA_GPIO_PIN(PXA_PINCTRL_PIN(17),
  56                      PXA_FUNCTION(0, 1, "KP_MKIN<6>"),
  57                      PXA_FUNCTION(0, 2, "CIF_DD<6>"),
  58                      PXA_FUNCTION(1, 2, "PWM_OUT<1>")),
  59         PXA_GPIO_PIN(PXA_PINCTRL_PIN(18),
  60                      PXA_FUNCTION(0, 1, "RDY")),
  61         PXA_GPIO_PIN(PXA_PINCTRL_PIN(19),
  62                      PXA_FUNCTION(0, 1, "SSPSCLK2"),
  63                      PXA_FUNCTION(0, 3, "FFRXD"),
  64                      PXA_FUNCTION(1, 1, "SSPSCLK2"),
  65                      PXA_FUNCTION(1, 2, "L_CS"),
  66                      PXA_FUNCTION(1, 3, "nURST")),
  67         PXA_GPIO_PIN(PXA_PINCTRL_PIN(20),
  68                      PXA_FUNCTION(0, 1, "DREQ<0>"),
  69                      PXA_FUNCTION(0, 2, "MBREQ"),
  70                      PXA_FUNCTION(1, 1, "nSDCS<2>")),
  71         PXA_GPIO_PIN(PXA_PINCTRL_PIN(21),
  72                      PXA_FUNCTION(1, 1, "nSDCS<3>"),
  73                      PXA_FUNCTION(1, 2, "DVAL<0>"),
  74                      PXA_FUNCTION(1, 3, "MBGNT")),
  75         PXA_GPIO_PIN(PXA_PINCTRL_PIN(22),
  76                      PXA_FUNCTION(0, 1, "SSPEXTCLK2"),
  77                      PXA_FUNCTION(0, 2, "SSPSCLKEN2"),
  78                      PXA_FUNCTION(0, 3, "SSPSCLK2"),
  79                      PXA_FUNCTION(1, 1, "KP_MKOUT<7>"),
  80                      PXA_FUNCTION(1, 2, "SSPSYSCLK2"),
  81                      PXA_FUNCTION(1, 3, "SSPSCLK2")),
  82         PXA_GPIO_PIN(PXA_PINCTRL_PIN(23),
  83                      PXA_FUNCTION(0, 2, "SSPSCLK"),
  84                      PXA_FUNCTION(1, 1, "CIF_MCLK"),
  85                      PXA_FUNCTION(1, 1, "SSPSCLK")),
  86         PXA_GPIO_PIN(PXA_PINCTRL_PIN(24),
  87                      PXA_FUNCTION(0, 1, "CIF_FV"),
  88                      PXA_FUNCTION(0, 2, "SSPSFRM"),
  89                      PXA_FUNCTION(1, 1, "CIF_FV"),
  90                      PXA_FUNCTION(1, 2, "SSPSFRM")),
  91         PXA_GPIO_PIN(PXA_PINCTRL_PIN(25),
  92                      PXA_FUNCTION(0, 1, "CIF_LV"),
  93                      PXA_FUNCTION(1, 1, "CIF_LV"),
  94                      PXA_FUNCTION(1, 2, "SSPTXD")),
  95         PXA_GPIO_PIN(PXA_PINCTRL_PIN(26),
  96                      PXA_FUNCTION(0, 1, "SSPRXD"),
  97                      PXA_FUNCTION(0, 2, "CIF_PCLK"),
  98                      PXA_FUNCTION(0, 3, "FFCTS")),
  99         PXA_GPIO_PIN(PXA_PINCTRL_PIN(27),
 100                      PXA_FUNCTION(0, 1, "SSPEXTCLK"),
 101                      PXA_FUNCTION(0, 2, "SSPSCLKEN"),
 102                      PXA_FUNCTION(0, 3, "CIF_DD<0>"),
 103                      PXA_FUNCTION(1, 1, "SSPSYSCLK"),
 104                      PXA_FUNCTION(1, 3, "FFRTS")),
 105         PXA_GPIO_PIN(PXA_PINCTRL_PIN(28),
 106                      PXA_FUNCTION(0, 1, "AC97_BITCLK"),
 107                      PXA_FUNCTION(0, 2, "I2S_BITCLK"),
 108                      PXA_FUNCTION(0, 3, "SSPSFRM"),
 109                      PXA_FUNCTION(1, 1, "I2S_BITCLK"),
 110                      PXA_FUNCTION(1, 3, "SSPSFRM")),
 111         PXA_GPIO_PIN(PXA_PINCTRL_PIN(29),
 112                      PXA_FUNCTION(0, 1, "AC97_SDATA_IN_0"),
 113                      PXA_FUNCTION(0, 2, "I2S_SDATA_IN"),
 114                      PXA_FUNCTION(0, 3, "SSPSCLK"),
 115                      PXA_FUNCTION(1, 1, "SSPRXD2"),
 116                      PXA_FUNCTION(1, 3, "SSPSCLK")),
 117         PXA_GPIO_PIN(PXA_PINCTRL_PIN(30),
 118                      PXA_FUNCTION(1, 1, "I2S_SDATA_OUT"),
 119                      PXA_FUNCTION(1, 2, "AC97_SDATA_OUT"),
 120                      PXA_FUNCTION(1, 3, "USB_P3_2")),
 121         PXA_GPIO_PIN(PXA_PINCTRL_PIN(31),
 122                      PXA_FUNCTION(1, 1, "I2S_SYNC"),
 123                      PXA_FUNCTION(1, 2, "AC97_SYNC"),
 124                      PXA_FUNCTION(1, 3, "USB_P3_6")),
 125         PXA_GPIO_PIN(PXA_PINCTRL_PIN(32),
 126                      PXA_FUNCTION(1, 1, "MSSCLK"),
 127                      PXA_FUNCTION(1, 2, "MMCLK")),
 128         PXA_GPIO_PIN(PXA_PINCTRL_PIN(33),
 129                      PXA_FUNCTION(0, 1, "FFRXD"),
 130                      PXA_FUNCTION(0, 2, "FFDSR"),
 131                      PXA_FUNCTION(1, 1, "DVAL<1>"),
 132                      PXA_FUNCTION(1, 2, "nCS<5>"),
 133                      PXA_FUNCTION(1, 3, "MBGNT")),
 134         PXA_GPIO_PIN(PXA_PINCTRL_PIN(34),
 135                      PXA_FUNCTION(0, 1, "FFRXD"),
 136                      PXA_FUNCTION(0, 2, "KP_MKIN<3>"),
 137                      PXA_FUNCTION(0, 3, "SSPSCLK3"),
 138                      PXA_FUNCTION(1, 1, "USB_P2_2"),
 139                      PXA_FUNCTION(1, 3, "SSPSCLK3")),
 140         PXA_GPIO_PIN(PXA_PINCTRL_PIN(35),
 141                      PXA_FUNCTION(0, 1, "FFCTS"),
 142                      PXA_FUNCTION(0, 2, "USB_P2_1"),
 143                      PXA_FUNCTION(0, 3, "SSPSFRM3"),
 144                      PXA_FUNCTION(1, 2, "KP_MKOUT<6>"),
 145                      PXA_FUNCTION(1, 3, "SSPTXD3")),
 146         PXA_GPIO_PIN(PXA_PINCTRL_PIN(36),
 147                      PXA_FUNCTION(0, 1, "FFDCD"),
 148                      PXA_FUNCTION(0, 2, "SSPSCLK2"),
 149                      PXA_FUNCTION(0, 3, "KP_MKIN<7>"),
 150                      PXA_FUNCTION(1, 1, "USB_P2_4"),
 151                      PXA_FUNCTION(1, 2, "SSPSCLK2")),
 152         PXA_GPIO_PIN(PXA_PINCTRL_PIN(37),
 153                      PXA_FUNCTION(0, 1, "FFDSR"),
 154                      PXA_FUNCTION(0, 2, "SSPSFRM2"),
 155                      PXA_FUNCTION(0, 3, "KP_MKIN<3>"),
 156                      PXA_FUNCTION(1, 1, "USB_P2_8"),
 157                      PXA_FUNCTION(1, 2, "SSPSFRM2"),
 158                      PXA_FUNCTION(1, 3, "FFTXD")),
 159         PXA_GPIO_PIN(PXA_PINCTRL_PIN(38),
 160                      PXA_FUNCTION(0, 1, "FFRI"),
 161                      PXA_FUNCTION(0, 2, "KP_MKIN<4>"),
 162                      PXA_FUNCTION(0, 3, "USB_P2_3"),
 163                      PXA_FUNCTION(1, 1, "SSPTXD3"),
 164                      PXA_FUNCTION(1, 2, "SSPTXD2"),
 165                      PXA_FUNCTION(1, 3, "PWM_OUT<0>")),
 166         PXA_GPIO_PIN(PXA_PINCTRL_PIN(39),
 167                      PXA_FUNCTION(0, 1, "KP_MKIN<4>"),
 168                      PXA_FUNCTION(0, 3, "SSPSFRM3"),
 169                      PXA_FUNCTION(1, 1, "USB_P2_6"),
 170                      PXA_FUNCTION(1, 2, "FFTXD"),
 171                      PXA_FUNCTION(1, 3, "SSPSFRM3")),
 172         PXA_GPIO_PIN(PXA_PINCTRL_PIN(40),
 173                      PXA_FUNCTION(0, 1, "SSPRXD2"),
 174                      PXA_FUNCTION(0, 3, "USB_P2_5"),
 175                      PXA_FUNCTION(1, 1, "KP_MKOUT<6>"),
 176                      PXA_FUNCTION(1, 2, "FFDTR"),
 177                      PXA_FUNCTION(1, 3, "SSPSCLK3")),
 178         PXA_GPIO_PIN(PXA_PINCTRL_PIN(41),
 179                      PXA_FUNCTION(0, 1, "FFRXD"),
 180                      PXA_FUNCTION(0, 2, "USB_P2_7"),
 181                      PXA_FUNCTION(0, 3, "SSPRXD3"),
 182                      PXA_FUNCTION(1, 1, "KP_MKOUT<7>"),
 183                      PXA_FUNCTION(1, 2, "FFRTS")),
 184         PXA_GPIO_PIN(PXA_PINCTRL_PIN(42),
 185                      PXA_FUNCTION(0, 1, "BTRXD"),
 186                      PXA_FUNCTION(0, 2, "ICP_RXD"),
 187                      PXA_FUNCTION(1, 3, "CIF_MCLK")),
 188         PXA_GPIO_PIN(PXA_PINCTRL_PIN(43),
 189                      PXA_FUNCTION(0, 3, "CIF_FV"),
 190                      PXA_FUNCTION(1, 1, "ICP_TXD"),
 191                      PXA_FUNCTION(1, 2, "BTTXD"),
 192                      PXA_FUNCTION(1, 3, "CIF_FV")),
 193         PXA_GPIO_PIN(PXA_PINCTRL_PIN(44),
 194                      PXA_FUNCTION(0, 1, "BTCTS"),
 195                      PXA_FUNCTION(0, 3, "CIF_LV"),
 196                      PXA_FUNCTION(1, 3, "CIF_LV")),
 197         PXA_GPIO_PIN(PXA_PINCTRL_PIN(45),
 198                      PXA_FUNCTION(0, 3, "CIF_PCLK"),
 199                      PXA_FUNCTION(1, 1, "AC97_SYSCLK"),
 200                      PXA_FUNCTION(1, 2, "BTRTS"),
 201                      PXA_FUNCTION(1, 3, "SSPSYSCLK3")),
 202         PXA_GPIO_PIN(PXA_PINCTRL_PIN(46),
 203                      PXA_FUNCTION(0, 1, "ICP_RXD"),
 204                      PXA_FUNCTION(0, 2, "STD_RXD"),
 205                      PXA_FUNCTION(1, 2, "PWM_OUT<2>")),
 206         PXA_GPIO_PIN(PXA_PINCTRL_PIN(47),
 207                      PXA_FUNCTION(0, 1, "CIF_DD<0>"),
 208                      PXA_FUNCTION(1, 1, "STD_TXD"),
 209                      PXA_FUNCTION(1, 2, "ICP_TXD"),
 210                      PXA_FUNCTION(1, 3, "PWM_OUT<3>")),
 211         PXA_GPIO_PIN(PXA_PINCTRL_PIN(48),
 212                      PXA_FUNCTION(0, 1, "CIF_DD<5>"),
 213                      PXA_FUNCTION(1, 1, "BB_OB_DAT<1>"),
 214                      PXA_FUNCTION(1, 2, "nPOE")),
 215         PXA_GPIO_PIN(PXA_PINCTRL_PIN(49),
 216                      PXA_FUNCTION(1, 2, "nPWE")),
 217         PXA_GPIO_PIN(PXA_PINCTRL_PIN(50),
 218                      PXA_FUNCTION(0, 1, "CIF_DD<3>"),
 219                      PXA_FUNCTION(0, 3, "SSPSCLK2"),
 220                      PXA_FUNCTION(1, 1, "BB_OB_DAT<2>"),
 221                      PXA_FUNCTION(1, 2, "nPIOR"),
 222                      PXA_FUNCTION(1, 3, "SSPSCLK2")),
 223         PXA_GPIO_PIN(PXA_PINCTRL_PIN(51),
 224                      PXA_FUNCTION(0, 1, "CIF_DD<2>"),
 225                      PXA_FUNCTION(1, 1, "BB_OB_DAT<3>"),
 226                      PXA_FUNCTION(1, 2, "nPIOW")),
 227         PXA_GPIO_PIN(PXA_PINCTRL_PIN(52),
 228                      PXA_FUNCTION(0, 1, "CIF_DD<4>"),
 229                      PXA_FUNCTION(0, 2, "SSPSCLK3"),
 230                      PXA_FUNCTION(1, 1, "BB_OB_CLK"),
 231                      PXA_FUNCTION(1, 2, "SSPSCLK3")),
 232         PXA_GPIO_PIN(PXA_PINCTRL_PIN(53),
 233                      PXA_FUNCTION(0, 1, "FFRXD"),
 234                      PXA_FUNCTION(0, 2, "USB_P2_3"),
 235                      PXA_FUNCTION(1, 1, "BB_OB_STB"),
 236                      PXA_FUNCTION(1, 2, "CIF_MCLK"),
 237                      PXA_FUNCTION(1, 3, "SSPSYSCLK")),
 238         PXA_GPIO_PIN(PXA_PINCTRL_PIN(54),
 239                      PXA_FUNCTION(0, 2, "BB_OB_WAIT"),
 240                      PXA_FUNCTION(0, 3, "CIF_PCLK"),
 241                      PXA_FUNCTION(1, 2, "nPCE<2>")),
 242         PXA_GPIO_PIN(PXA_PINCTRL_PIN(55),
 243                      PXA_FUNCTION(0, 1, "CIF_DD<1>"),
 244                      PXA_FUNCTION(0, 2, "BB_IB_DAT<1>"),
 245                      PXA_FUNCTION(1, 2, "nPREG")),
 246         PXA_GPIO_PIN(PXA_PINCTRL_PIN(56),
 247                      PXA_FUNCTION(0, 1, "nPWAIT"),
 248                      PXA_FUNCTION(0, 2, "BB_IB_DAT<2>"),
 249                      PXA_FUNCTION(1, 1, "USB_P3_4")),
 250         PXA_GPIO_PIN(PXA_PINCTRL_PIN(57),
 251                      PXA_FUNCTION(0, 1, "nIOS16"),
 252                      PXA_FUNCTION(0, 2, "BB_IB_DAT<3>"),
 253                      PXA_FUNCTION(1, 3, "SSPTXD")),
 254         PXA_GPIO_PIN(PXA_PINCTRL_PIN(58),
 255                      PXA_FUNCTION(0, 2, "LDD<0>"),
 256                      PXA_FUNCTION(1, 2, "LDD<0>")),
 257         PXA_GPIO_PIN(PXA_PINCTRL_PIN(59),
 258                      PXA_FUNCTION(0, 2, "LDD<1>"),
 259                      PXA_FUNCTION(1, 2, "LDD<1>")),
 260         PXA_GPIO_PIN(PXA_PINCTRL_PIN(60),
 261                      PXA_FUNCTION(0, 2, "LDD<2>"),
 262                      PXA_FUNCTION(1, 2, "LDD<2>")),
 263         PXA_GPIO_PIN(PXA_PINCTRL_PIN(61),
 264                      PXA_FUNCTION(0, 2, "LDD<3>"),
 265                      PXA_FUNCTION(1, 2, "LDD<3>")),
 266         PXA_GPIO_PIN(PXA_PINCTRL_PIN(62),
 267                      PXA_FUNCTION(0, 2, "LDD<4>"),
 268                      PXA_FUNCTION(1, 2, "LDD<4>")),
 269         PXA_GPIO_PIN(PXA_PINCTRL_PIN(63),
 270                      PXA_FUNCTION(0, 2, "LDD<5>"),
 271                      PXA_FUNCTION(1, 2, "LDD<5>")),
 272         PXA_GPIO_PIN(PXA_PINCTRL_PIN(64),
 273                      PXA_FUNCTION(0, 2, "LDD<6>"),
 274                      PXA_FUNCTION(1, 2, "LDD<6>")),
 275         PXA_GPIO_PIN(PXA_PINCTRL_PIN(65),
 276                      PXA_FUNCTION(0, 2, "LDD<7>"),
 277                      PXA_FUNCTION(1, 2, "LDD<7>")),
 278         PXA_GPIO_PIN(PXA_PINCTRL_PIN(66),
 279                      PXA_FUNCTION(0, 2, "LDD<8>"),
 280                      PXA_FUNCTION(1, 2, "LDD<8>")),
 281         PXA_GPIO_PIN(PXA_PINCTRL_PIN(67),
 282                      PXA_FUNCTION(0, 2, "LDD<9>"),
 283                      PXA_FUNCTION(1, 2, "LDD<9>")),
 284         PXA_GPIO_PIN(PXA_PINCTRL_PIN(68),
 285                      PXA_FUNCTION(0, 2, "LDD<10>"),
 286                      PXA_FUNCTION(1, 2, "LDD<10>")),
 287         PXA_GPIO_PIN(PXA_PINCTRL_PIN(69),
 288                      PXA_FUNCTION(0, 2, "LDD<11>"),
 289                      PXA_FUNCTION(1, 2, "LDD<11>")),
 290         PXA_GPIO_PIN(PXA_PINCTRL_PIN(70),
 291                      PXA_FUNCTION(0, 2, "LDD<12>"),
 292                      PXA_FUNCTION(1, 2, "LDD<12>")),
 293         PXA_GPIO_PIN(PXA_PINCTRL_PIN(71),
 294                      PXA_FUNCTION(0, 2, "LDD<13>"),
 295                      PXA_FUNCTION(1, 2, "LDD<13>")),
 296         PXA_GPIO_PIN(PXA_PINCTRL_PIN(72),
 297                      PXA_FUNCTION(0, 2, "LDD<14>"),
 298                      PXA_FUNCTION(1, 2, "LDD<14>")),
 299         PXA_GPIO_PIN(PXA_PINCTRL_PIN(73),
 300                      PXA_FUNCTION(0, 2, "LDD<15>"),
 301                      PXA_FUNCTION(1, 2, "LDD<15>")),
 302         PXA_GPIO_PIN(PXA_PINCTRL_PIN(74),
 303                      PXA_FUNCTION(1, 2, "L_FCLK_RD")),
 304         PXA_GPIO_PIN(PXA_PINCTRL_PIN(75),
 305                      PXA_FUNCTION(1, 2, "L_LCLK_A0")),
 306         PXA_GPIO_PIN(PXA_PINCTRL_PIN(76),
 307                      PXA_FUNCTION(1, 2, "L_PCLK_WR")),
 308         PXA_GPIO_PIN(PXA_PINCTRL_PIN(77),
 309                      PXA_FUNCTION(1, 2, "L_BIAS")),
 310         PXA_GPIO_PIN(PXA_PINCTRL_PIN(78),
 311                      PXA_FUNCTION(1, 1, "nPCE<2>"),
 312                      PXA_FUNCTION(1, 2, "nCS<2>")),
 313         PXA_GPIO_PIN(PXA_PINCTRL_PIN(79),
 314                      PXA_FUNCTION(1, 1, "PSKTSEL"),
 315                      PXA_FUNCTION(1, 2, "nCS<3>"),
 316                      PXA_FUNCTION(1, 3, "PWM_OUT<2>")),
 317         PXA_GPIO_PIN(PXA_PINCTRL_PIN(80),
 318                      PXA_FUNCTION(0, 1, "DREQ<1>"),
 319                      PXA_FUNCTION(0, 2, "MBREQ"),
 320                      PXA_FUNCTION(1, 2, "nCS<4>"),
 321                      PXA_FUNCTION(1, 3, "PWM_OUT<3>")),
 322         PXA_GPIO_PIN(PXA_PINCTRL_PIN(81),
 323                      PXA_FUNCTION(0, 2, "CIF_DD<0>"),
 324                      PXA_FUNCTION(1, 1, "SSPTXD3"),
 325                      PXA_FUNCTION(1, 2, "BB_OB_DAT<0>")),
 326         PXA_GPIO_PIN(PXA_PINCTRL_PIN(82),
 327                      PXA_FUNCTION(0, 1, "SSPRXD3"),
 328                      PXA_FUNCTION(0, 2, "BB_IB_DAT<0>"),
 329                      PXA_FUNCTION(0, 3, "CIF_DD<5>"),
 330                      PXA_FUNCTION(1, 3, "FFDTR")),
 331         PXA_GPIO_PIN(PXA_PINCTRL_PIN(83),
 332                      PXA_FUNCTION(0, 1, "SSPSFRM3"),
 333                      PXA_FUNCTION(0, 2, "BB_IB_CLK"),
 334                      PXA_FUNCTION(0, 3, "CIF_DD<5>"),
 335                      PXA_FUNCTION(1, 1, "SSPSFRM3"),
 336                      PXA_FUNCTION(1, 2, "FFTXD"),
 337                      PXA_FUNCTION(1, 3, "FFRTS")),
 338         PXA_GPIO_PIN(PXA_PINCTRL_PIN(84),
 339                      PXA_FUNCTION(0, 1, "SSPCLK3"),
 340                      PXA_FUNCTION(0, 2, "BB_IB_STB"),
 341                      PXA_FUNCTION(0, 3, "CIF_FV"),
 342                      PXA_FUNCTION(1, 1, "SSPCLK3"),
 343                      PXA_FUNCTION(1, 3, "CIF_FV")),
 344         PXA_GPIO_PIN(PXA_PINCTRL_PIN(85),
 345                      PXA_FUNCTION(0, 1, "FFRXD"),
 346                      PXA_FUNCTION(0, 2, "DREQ<2>"),
 347                      PXA_FUNCTION(0, 3, "CIF_LV"),
 348                      PXA_FUNCTION(1, 1, "nPCE<1>"),
 349                      PXA_FUNCTION(1, 2, "BB_IB_WAIT"),
 350                      PXA_FUNCTION(1, 3, "CIF_LV")),
 351         PXA_GPIO_PIN(PXA_PINCTRL_PIN(86),
 352                      PXA_FUNCTION(0, 1, "SSPRXD2"),
 353                      PXA_FUNCTION(0, 2, "LDD<16>"),
 354                      PXA_FUNCTION(0, 3, "USB_P3_5"),
 355                      PXA_FUNCTION(1, 1, "nPCE<1>"),
 356                      PXA_FUNCTION(1, 2, "LDD<16>")),
 357         PXA_GPIO_PIN(PXA_PINCTRL_PIN(87),
 358                      PXA_FUNCTION(0, 1, "nPCE<2>"),
 359                      PXA_FUNCTION(0, 2, "LDD<17>"),
 360                      PXA_FUNCTION(0, 3, "USB_P3_1"),
 361                      PXA_FUNCTION(1, 1, "SSPTXD2"),
 362                      PXA_FUNCTION(1, 2, "LDD<17>"),
 363                      PXA_FUNCTION(1, 3, "SSPSFRM2")),
 364         PXA_GPIO_PIN(PXA_PINCTRL_PIN(88),
 365                      PXA_FUNCTION(0, 1, "USBHPWR<1>"),
 366                      PXA_FUNCTION(0, 2, "SSPRXD2"),
 367                      PXA_FUNCTION(0, 3, "SSPSFRM2"),
 368                      PXA_FUNCTION(1, 2, "SSPTXD2"),
 369                      PXA_FUNCTION(1, 3, "SSPSFRM2")),
 370         PXA_GPIO_PIN(PXA_PINCTRL_PIN(89),
 371                      PXA_FUNCTION(0, 1, "SSPRXD3"),
 372                      PXA_FUNCTION(0, 3, "FFRI"),
 373                      PXA_FUNCTION(1, 1, "AC97_SYSCLK"),
 374                      PXA_FUNCTION(1, 2, "USBHPEN<1>"),
 375                      PXA_FUNCTION(1, 3, "SSPTXD2")),
 376         PXA_GPIO_PIN(PXA_PINCTRL_PIN(90),
 377                      PXA_FUNCTION(0, 1, "KP_MKIN<5>"),
 378                      PXA_FUNCTION(0, 3, "USB_P3_5"),
 379                      PXA_FUNCTION(1, 1, "CIF_DD<4>"),
 380                      PXA_FUNCTION(1, 2, "nURST")),
 381         PXA_GPIO_PIN(PXA_PINCTRL_PIN(91),
 382                      PXA_FUNCTION(0, 1, "KP_MKIN<6>"),
 383                      PXA_FUNCTION(0, 3, "USB_P3_1"),
 384                      PXA_FUNCTION(1, 1, "CIF_DD<5>"),
 385                      PXA_FUNCTION(1, 2, "UCLK")),
 386         PXA_GPIO_PIN(PXA_PINCTRL_PIN(92),
 387                      PXA_FUNCTION(0, 1, "MMDAT<0>"),
 388                      PXA_FUNCTION(1, 1, "MMDAT<0>"),
 389                      PXA_FUNCTION(1, 2, "MSBS")),
 390         PXA_GPIO_PIN(PXA_PINCTRL_PIN(93),
 391                      PXA_FUNCTION(0, 1, "KP_DKIN<0>"),
 392                      PXA_FUNCTION(0, 2, "CIF_DD<6>"),
 393                      PXA_FUNCTION(1, 1, "AC97_SDATA_OUT")),
 394         PXA_GPIO_PIN(PXA_PINCTRL_PIN(94),
 395                      PXA_FUNCTION(0, 1, "KP_DKIN<1>"),
 396                      PXA_FUNCTION(0, 2, "CIF_DD<5>"),
 397                      PXA_FUNCTION(1, 1, "AC97_SYNC")),
 398         PXA_GPIO_PIN(PXA_PINCTRL_PIN(95),
 399                      PXA_FUNCTION(0, 1, "KP_DKIN<2>"),
 400                      PXA_FUNCTION(0, 2, "CIF_DD<4>"),
 401                      PXA_FUNCTION(0, 3, "KP_MKIN<6>"),
 402                      PXA_FUNCTION(1, 1, "AC97_RESET_n")),
 403         PXA_GPIO_PIN(PXA_PINCTRL_PIN(96),
 404                      PXA_FUNCTION(0, 1, "KP_DKIN<3>"),
 405                      PXA_FUNCTION(0, 2, "MBREQ"),
 406                      PXA_FUNCTION(0, 3, "FFRXD"),
 407                      PXA_FUNCTION(1, 2, "DVAL<1>"),
 408                      PXA_FUNCTION(1, 3, "KP_MKOUT<6>")),
 409         PXA_GPIO_PIN(PXA_PINCTRL_PIN(97),
 410                      PXA_FUNCTION(0, 1, "KP_DKIN<4>"),
 411                      PXA_FUNCTION(0, 2, "DREQ<1>"),
 412                      PXA_FUNCTION(0, 3, "KP_MKIN<3>"),
 413                      PXA_FUNCTION(1, 2, "MBGNT")),
 414         PXA_GPIO_PIN(PXA_PINCTRL_PIN(98),
 415                      PXA_FUNCTION(0, 1, "KP_DKIN<5>"),
 416                      PXA_FUNCTION(0, 2, "CIF_DD<0>"),
 417                      PXA_FUNCTION(0, 3, "KP_MKIN<4>"),
 418                      PXA_FUNCTION(1, 1, "AC97_SYSCLK"),
 419                      PXA_FUNCTION(1, 3, "FFRTS")),
 420         PXA_GPIO_PIN(PXA_PINCTRL_PIN(99),
 421                      PXA_FUNCTION(0, 1, "KP_DKIN<6>"),
 422                      PXA_FUNCTION(0, 2, "AC97_SDATA_IN_1"),
 423                      PXA_FUNCTION(0, 3, "KP_MKIN<5>"),
 424                      PXA_FUNCTION(1, 3, "FFTXD")),
 425         PXA_GPIO_PIN(PXA_PINCTRL_PIN(100),
 426                      PXA_FUNCTION(0, 1, "KP_MKIN<0>"),
 427                      PXA_FUNCTION(0, 2, "DREQ<2>"),
 428                      PXA_FUNCTION(0, 3, "FFCTS")),
 429         PXA_GPIO_PIN(PXA_PINCTRL_PIN(101),
 430                      PXA_FUNCTION(0, 1, "KP_MKIN<1>")),
 431         PXA_GPIO_PIN(PXA_PINCTRL_PIN(102),
 432                      PXA_FUNCTION(0, 1, "KP_MKIN<2>"),
 433                      PXA_FUNCTION(0, 3, "FFRXD"),
 434                      PXA_FUNCTION(1, 1, "nPCE<1>")),
 435         PXA_GPIO_PIN(PXA_PINCTRL_PIN(103),
 436                      PXA_FUNCTION(0, 1, "CIF_DD<3>"),
 437                      PXA_FUNCTION(1, 2, "KP_MKOUT<0>")),
 438         PXA_GPIO_PIN(PXA_PINCTRL_PIN(104),
 439                      PXA_FUNCTION(0, 1, "CIF_DD<2>"),
 440                      PXA_FUNCTION(1, 1, "PSKTSEL"),
 441                      PXA_FUNCTION(1, 2, "KP_MKOUT<1>")),
 442         PXA_GPIO_PIN(PXA_PINCTRL_PIN(105),
 443                      PXA_FUNCTION(0, 1, "CIF_DD<1>"),
 444                      PXA_FUNCTION(1, 1, "nPCE<2>"),
 445                      PXA_FUNCTION(1, 2, "KP_MKOUT<2>")),
 446         PXA_GPIO_PIN(PXA_PINCTRL_PIN(106),
 447                      PXA_FUNCTION(0, 1, "CIF_DD<9>"),
 448                      PXA_FUNCTION(1, 2, "KP_MKOUT<3>")),
 449         PXA_GPIO_PIN(PXA_PINCTRL_PIN(107),
 450                      PXA_FUNCTION(0, 1, "CIF_DD<8>"),
 451                      PXA_FUNCTION(1, 2, "KP_MKOUT<4>")),
 452         PXA_GPIO_PIN(PXA_PINCTRL_PIN(108),
 453                      PXA_FUNCTION(0, 1, "CIF_DD<7>"),
 454                      PXA_FUNCTION(1, 1, "CHOUT<0>"),
 455                      PXA_FUNCTION(1, 2, "KP_MKOUT<5>")),
 456         PXA_GPIO_PIN(PXA_PINCTRL_PIN(109),
 457                      PXA_FUNCTION(0, 1, "MMDAT<1>"),
 458                      PXA_FUNCTION(0, 2, "MSSDIO"),
 459                      PXA_FUNCTION(1, 1, "MMDAT<1>"),
 460                      PXA_FUNCTION(1, 2, "MSSDIO")),
 461         PXA_GPIO_PIN(PXA_PINCTRL_PIN(110),
 462                      PXA_FUNCTION(0, 1, "MMDAT<2>"),
 463                      PXA_FUNCTION(1, 1, "MMDAT<2>")),
 464         PXA_GPIO_PIN(PXA_PINCTRL_PIN(111),
 465                      PXA_FUNCTION(0, 1, "MMDAT<3>"),
 466                      PXA_FUNCTION(1, 1, "MMDAT<3>")),
 467         PXA_GPIO_PIN(PXA_PINCTRL_PIN(112),
 468                      PXA_FUNCTION(0, 1, "MMCMD"),
 469                      PXA_FUNCTION(0, 2, "nMSINS"),
 470                      PXA_FUNCTION(1, 1, "MMCMD")),
 471         PXA_GPIO_PIN(PXA_PINCTRL_PIN(113),
 472                      PXA_FUNCTION(0, 3, "USB_P3_3"),
 473                      PXA_FUNCTION(1, 1, "I2S_SYSCLK"),
 474                      PXA_FUNCTION(1, 2, "AC97_RESET_n")),
 475         PXA_GPIO_PIN(PXA_PINCTRL_PIN(114),
 476                      PXA_FUNCTION(0, 1, "CIF_DD<1>"),
 477                      PXA_FUNCTION(1, 1, "UEN"),
 478                      PXA_FUNCTION(1, 2, "UVS0")),
 479         PXA_GPIO_PIN(PXA_PINCTRL_PIN(115),
 480                      PXA_FUNCTION(0, 1, "DREQ<0>"),
 481                      PXA_FUNCTION(0, 2, "CIF_DD<3>"),
 482                      PXA_FUNCTION(0, 3, "MBREQ"),
 483                      PXA_FUNCTION(1, 1, "UEN"),
 484                      PXA_FUNCTION(1, 2, "nUVS1"),
 485                      PXA_FUNCTION(1, 3, "PWM_OUT<1>")),
 486         PXA_GPIO_PIN(PXA_PINCTRL_PIN(116),
 487                      PXA_FUNCTION(0, 1, "CIF_DD<2>"),
 488                      PXA_FUNCTION(0, 2, "AC97_SDATA_IN_0"),
 489                      PXA_FUNCTION(0, 3, "UDET"),
 490                      PXA_FUNCTION(1, 1, "DVAL<0>"),
 491                      PXA_FUNCTION(1, 2, "nUVS2"),
 492                      PXA_FUNCTION(1, 3, "MBGNT")),
 493         PXA_GPIO_PIN(PXA_PINCTRL_PIN(117),
 494                      PXA_FUNCTION(0, 1, "SCL"),
 495                      PXA_FUNCTION(1, 1, "SCL")),
 496         PXA_GPIO_PIN(PXA_PINCTRL_PIN(118),
 497                      PXA_FUNCTION(0, 1, "SDA"),
 498                      PXA_FUNCTION(1, 1, "SDA")),
 499         PXA_GPIO_PIN(PXA_PINCTRL_PIN(119),
 500                      PXA_FUNCTION(0, 1, "USBHPWR<2>")),
 501         PXA_GPIO_PIN(PXA_PINCTRL_PIN(120),
 502                      PXA_FUNCTION(1, 2, "USBHPEN<2>")),
 503 };
 504 
 505 static int pxa27x_pinctrl_probe(struct platform_device *pdev)
 506 {
 507         int ret, i;
 508         void __iomem *base_af[8];
 509         void __iomem *base_dir[4];
 510         void __iomem *base_sleep[4];
 511         struct resource *res;
 512 
 513         res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
 514         base_af[0] = devm_ioremap_resource(&pdev->dev, res);
 515         if (IS_ERR(base_af[0]))
 516                 return PTR_ERR(base_af[0]);
 517 
 518         res = platform_get_resource(pdev, IORESOURCE_MEM, 1);
 519         base_dir[0] = devm_ioremap_resource(&pdev->dev, res);
 520         if (IS_ERR(base_dir[0]))
 521                 return PTR_ERR(base_dir[0]);
 522 
 523         res = platform_get_resource(pdev, IORESOURCE_MEM, 2);
 524         base_dir[3] = devm_ioremap_resource(&pdev->dev, res);
 525         if (IS_ERR(base_dir[3]))
 526                 return PTR_ERR(base_dir[3]);
 527 
 528         res = platform_get_resource(pdev, IORESOURCE_MEM, 3);
 529         base_sleep[0] = devm_ioremap_resource(&pdev->dev, res);
 530         if (IS_ERR(base_sleep[0]))
 531                 return PTR_ERR(base_sleep[0]);
 532 
 533         for (i = 0; i < ARRAY_SIZE(base_af); i++)
 534                 base_af[i] = base_af[0] + sizeof(base_af[0]) * i;
 535         for (i = 0; i < 3; i++)
 536                 base_dir[i] = base_dir[0] + sizeof(base_dir[0]) * i;
 537         for (i = 0; i < ARRAY_SIZE(base_sleep); i++)
 538                 base_sleep[i] = base_sleep[0] + sizeof(base_af[0]) * i;
 539 
 540         ret = pxa2xx_pinctrl_init(pdev, pxa27x_pins, ARRAY_SIZE(pxa27x_pins),
 541                                   base_af, base_dir, base_sleep);
 542         return ret;
 543 }
 544 
 545 static const struct of_device_id pxa27x_pinctrl_match[] = {
 546         { .compatible = "marvell,pxa27x-pinctrl", },
 547         {}
 548 };
 549 MODULE_DEVICE_TABLE(of, pxa27x_pinctrl_match);
 550 
 551 static struct platform_driver pxa27x_pinctrl_driver = {
 552         .probe  = pxa27x_pinctrl_probe,
 553         .driver = {
 554                 .name           = "pxa27x-pinctrl",
 555                 .of_match_table = pxa27x_pinctrl_match,
 556         },
 557 };
 558 module_platform_driver(pxa27x_pinctrl_driver);
 559 
 560 MODULE_AUTHOR("Robert Jarzmik <robert.jarzmik@free.fr>");
 561 MODULE_DESCRIPTION("Marvell PXA27x pinctrl driver");
 562 MODULE_LICENSE("GPL v2");

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