This source file includes following definitions.
- suniv_pinctrl_probe
   1 
   2 
   3 
   4 
   5 
   6 
   7 
   8 
   9 
  10 
  11 
  12 
  13 
  14 
  15 
  16 
  17 
  18 
  19 
  20 
  21 
  22 
  23 
  24 
  25 #include <linux/module.h>
  26 #include <linux/platform_device.h>
  27 #include <linux/of.h>
  28 #include <linux/of_device.h>
  29 #include <linux/pinctrl/pinctrl.h>
  30 
  31 #include "pinctrl-sunxi.h"
  32 static const struct sunxi_desc_pin suniv_f1c100s_pins[] = {
  33         SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 0),
  34                   SUNXI_FUNCTION(0x0, "gpio_in"),
  35                   SUNXI_FUNCTION(0x1, "gpio_out"),
  36                   SUNXI_FUNCTION(0x2, "rtp"),           
  37                   SUNXI_FUNCTION(0x4, "i2s"),           
  38                   SUNXI_FUNCTION(0x5, "uart1"),         
  39                   SUNXI_FUNCTION(0x6, "spi1")),         
  40         SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 1),
  41                   SUNXI_FUNCTION(0x0, "gpio_in"),
  42                   SUNXI_FUNCTION(0x1, "gpio_out"),
  43                   SUNXI_FUNCTION(0x2, "rtp"),           
  44                   SUNXI_FUNCTION(0x4, "i2s"),           
  45                   SUNXI_FUNCTION(0x5, "uart1"),         
  46                   SUNXI_FUNCTION(0x6, "spi1")),         
  47         SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 2),
  48                   SUNXI_FUNCTION(0x0, "gpio_in"),
  49                   SUNXI_FUNCTION(0x1, "gpio_out"),
  50                   SUNXI_FUNCTION(0x2, "rtp"),           
  51                   SUNXI_FUNCTION(0x3, "pwm0"),          
  52                   SUNXI_FUNCTION(0x4, "i2s"),           
  53                   SUNXI_FUNCTION(0x5, "uart1"),         
  54                   SUNXI_FUNCTION(0x6, "spi1")),         
  55         SUNXI_PIN(SUNXI_PINCTRL_PIN(A, 3),
  56                   SUNXI_FUNCTION(0x0, "gpio_in"),
  57                   SUNXI_FUNCTION(0x1, "gpio_out"),
  58                   SUNXI_FUNCTION(0x2, "rtp"),           
  59                   SUNXI_FUNCTION(0x3, "ir0"),           
  60                   SUNXI_FUNCTION(0x4, "i2s"),           
  61                   SUNXI_FUNCTION(0x5, "uart1"),         
  62                   SUNXI_FUNCTION(0x6, "spi1")),         
  63         
  64         SUNXI_PIN(SUNXI_PINCTRL_PIN(B, 0),
  65                   SUNXI_FUNCTION(0x0, "gpio_in"),
  66                   SUNXI_FUNCTION(0x1, "gpio_out"),
  67                   SUNXI_FUNCTION(0x2, "dram"),          
  68                   SUNXI_FUNCTION(0x3, "i2c1"),          
  69                   SUNXI_FUNCTION(0x4, "i2s"),           
  70                   SUNXI_FUNCTION(0x5, "uart1"),         
  71                   SUNXI_FUNCTION(0x6, "spi1")),         
  72         SUNXI_PIN(SUNXI_PINCTRL_PIN(B, 1),
  73                   SUNXI_FUNCTION(0x0, "gpio_in"),
  74                   SUNXI_FUNCTION(0x1, "gpio_out"),
  75                   SUNXI_FUNCTION(0x2, "dram"),          
  76                   SUNXI_FUNCTION(0x3, "i2c1"),          
  77                   SUNXI_FUNCTION(0x4, "i2s"),           
  78                   SUNXI_FUNCTION(0x5, "uart1"),         
  79                   SUNXI_FUNCTION(0x6, "spi1")),         
  80         SUNXI_PIN(SUNXI_PINCTRL_PIN(B, 2),
  81                   SUNXI_FUNCTION(0x0, "gpio_in"),
  82                   SUNXI_FUNCTION(0x1, "gpio_out"),
  83                   SUNXI_FUNCTION(0x2, "dram"),          
  84                   SUNXI_FUNCTION(0x3, "pwm0"),          
  85                   SUNXI_FUNCTION(0x4, "i2s"),           
  86                   SUNXI_FUNCTION(0x5, "uart1"),         
  87                   SUNXI_FUNCTION(0x6, "spi1")),         
  88         SUNXI_PIN(SUNXI_PINCTRL_PIN(B, 3),
  89                   SUNXI_FUNCTION(0x0, "gpio_in"),
  90                   SUNXI_FUNCTION(0x1, "gpio_out"),
  91                   SUNXI_FUNCTION(0x2, "dram"),          
  92                   SUNXI_FUNCTION(0x3, "ir0"),           
  93                   SUNXI_FUNCTION(0x4, "i2s"),           
  94                   SUNXI_FUNCTION(0x5, "uart1"),         
  95                   SUNXI_FUNCTION(0x6, "spi1")),         
  96         
  97         SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 0),
  98                   SUNXI_FUNCTION(0x1, "gpio_out"),
  99                   SUNXI_FUNCTION(0x2, "spi0"),          
 100                   SUNXI_FUNCTION(0x3, "mmc1")),         
 101         SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 1),
 102                   SUNXI_FUNCTION(0x0, "gpio_in"),
 103                   SUNXI_FUNCTION(0x1, "gpio_out"),
 104                   SUNXI_FUNCTION(0x2, "spi0"),          
 105                   SUNXI_FUNCTION(0x3, "mmc1")),         
 106         SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 2),
 107                   SUNXI_FUNCTION(0x0, "gpio_in"),
 108                   SUNXI_FUNCTION(0x1, "gpio_out"),
 109                   SUNXI_FUNCTION(0x2, "spi0"),          
 110                   SUNXI_FUNCTION(0x3, "mmc1")),         
 111         SUNXI_PIN(SUNXI_PINCTRL_PIN(C, 3),
 112                   SUNXI_FUNCTION(0x0, "gpio_in"),
 113                   SUNXI_FUNCTION(0x1, "gpio_out"),
 114                   SUNXI_FUNCTION(0x2, "spi0"),          
 115                   SUNXI_FUNCTION(0x3, "uart0")),        
 116         
 117         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 0),
 118                   SUNXI_FUNCTION(0x0, "gpio_in"),
 119                   SUNXI_FUNCTION(0x1, "gpio_out"),
 120                   SUNXI_FUNCTION(0x2, "lcd"),           
 121                   SUNXI_FUNCTION(0x3, "i2c0"),          
 122                   SUNXI_FUNCTION(0x4, "rsb"),           
 123                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 0)),
 124         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 1),
 125                   SUNXI_FUNCTION(0x0, "gpio_in"),
 126                   SUNXI_FUNCTION(0x1, "gpio_out"),
 127                   SUNXI_FUNCTION(0x2, "lcd"),           
 128                   SUNXI_FUNCTION(0x3, "uart1"),         
 129                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 1)),
 130         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 2),
 131                   SUNXI_FUNCTION(0x0, "gpio_in"),
 132                   SUNXI_FUNCTION(0x1, "gpio_out"),
 133                   SUNXI_FUNCTION(0x2, "lcd"),           
 134                   SUNXI_FUNCTION(0x3, "uart1"),         
 135                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 2)),
 136         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 3),
 137                   SUNXI_FUNCTION(0x0, "gpio_in"),
 138                   SUNXI_FUNCTION(0x1, "gpio_out"),
 139                   SUNXI_FUNCTION(0x2, "lcd"),           
 140                   SUNXI_FUNCTION(0x3, "uart1"),         
 141                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 3)),
 142         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 4),
 143                   SUNXI_FUNCTION(0x0, "gpio_in"),
 144                   SUNXI_FUNCTION(0x1, "gpio_out"),
 145                   SUNXI_FUNCTION(0x2, "lcd"),           
 146                   SUNXI_FUNCTION(0x3, "uart1"),         
 147                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 4)),
 148         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 5),
 149                   SUNXI_FUNCTION(0x0, "gpio_in"),
 150                   SUNXI_FUNCTION(0x1, "gpio_out"),
 151                   SUNXI_FUNCTION(0x2, "lcd"),           
 152                   SUNXI_FUNCTION(0x3, "i2c1"),          
 153                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 5)),
 154         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 6),
 155                   SUNXI_FUNCTION(0x0, "gpio_in"),
 156                   SUNXI_FUNCTION(0x1, "gpio_out"),
 157                   SUNXI_FUNCTION(0x2, "lcd"),           
 158                   SUNXI_FUNCTION(0x3, "i2c1"),          
 159                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 6)),
 160         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 7),
 161                   SUNXI_FUNCTION(0x0, "gpio_in"),
 162                   SUNXI_FUNCTION(0x1, "gpio_out"),
 163                   SUNXI_FUNCTION(0x2, "lcd"),           
 164                   SUNXI_FUNCTION(0x3, "i2s"),           
 165                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 7)),
 166         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 8),
 167                   SUNXI_FUNCTION(0x0, "gpio_in"),
 168                   SUNXI_FUNCTION(0x1, "gpio_out"),
 169                   SUNXI_FUNCTION(0x2, "lcd"),           
 170                   SUNXI_FUNCTION(0x3, "i2s"),           
 171                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 8)),
 172         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 9),
 173                   SUNXI_FUNCTION(0x0, "gpio_in"),
 174                   SUNXI_FUNCTION(0x1, "gpio_out"),
 175                   SUNXI_FUNCTION(0x2, "lcd"),           
 176                   SUNXI_FUNCTION(0x3, "i2s"),           
 177                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 9)),
 178         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 10),
 179                   SUNXI_FUNCTION(0x0, "gpio_in"),
 180                   SUNXI_FUNCTION(0x1, "gpio_out"),
 181                   SUNXI_FUNCTION(0x2, "lcd"),           
 182                   SUNXI_FUNCTION(0x3, "i2s"),           
 183                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 10)),
 184         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 11),
 185                   SUNXI_FUNCTION(0x0, "gpio_in"),
 186                   SUNXI_FUNCTION(0x1, "gpio_out"),
 187                   SUNXI_FUNCTION(0x2, "lcd"),           
 188                   SUNXI_FUNCTION(0x3, "i2s"),           
 189                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 11)),
 190         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 12),
 191                   SUNXI_FUNCTION(0x0, "gpio_in"),
 192                   SUNXI_FUNCTION(0x1, "gpio_out"),
 193                   SUNXI_FUNCTION(0x2, "lcd"),           
 194                   SUNXI_FUNCTION(0x3, "i2c0"),          
 195                   SUNXI_FUNCTION(0x4, "rsb"),           
 196                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 12)),
 197         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 13),
 198                   SUNXI_FUNCTION(0x0, "gpio_in"),
 199                   SUNXI_FUNCTION(0x1, "gpio_out"),
 200                   SUNXI_FUNCTION(0x2, "lcd"),           
 201                   SUNXI_FUNCTION(0x3, "uart2"),         
 202                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 13)),
 203         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 14),
 204                   SUNXI_FUNCTION(0x0, "gpio_in"),
 205                   SUNXI_FUNCTION(0x1, "gpio_out"),
 206                   SUNXI_FUNCTION(0x2, "lcd"),           
 207                   SUNXI_FUNCTION(0x3, "lvds1"),         
 208                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 14)),
 209         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 15),
 210                   SUNXI_FUNCTION(0x0, "gpio_in"),
 211                   SUNXI_FUNCTION(0x1, "gpio_out"),
 212                   SUNXI_FUNCTION(0x2, "lcd"),           
 213                   SUNXI_FUNCTION(0x3, "uart2"),         
 214                   SUNXI_FUNCTION(0x4, "i2c2"),          
 215                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 15)),
 216         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 16),
 217                   SUNXI_FUNCTION(0x0, "gpio_in"),
 218                   SUNXI_FUNCTION(0x1, "gpio_out"),
 219                   SUNXI_FUNCTION(0x2, "lcd"),           
 220                   SUNXI_FUNCTION(0x3, "uart2"),         
 221                   SUNXI_FUNCTION(0x4, "i2c2"),          
 222                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 16)),
 223         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 17),
 224                   SUNXI_FUNCTION(0x0, "gpio_in"),
 225                   SUNXI_FUNCTION(0x1, "gpio_out"),
 226                   SUNXI_FUNCTION(0x2, "lcd"),           
 227                   SUNXI_FUNCTION(0x3, "spdif"),         
 228                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 17)),
 229         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 18),
 230                   SUNXI_FUNCTION(0x0, "gpio_in"),
 231                   SUNXI_FUNCTION(0x1, "gpio_out"),
 232                   SUNXI_FUNCTION(0x2, "lcd"),           
 233                   SUNXI_FUNCTION(0x3, "spi0"),          
 234                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 18)),
 235         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 19),
 236                   SUNXI_FUNCTION(0x0, "gpio_in"),
 237                   SUNXI_FUNCTION(0x1, "gpio_out"),
 238                   SUNXI_FUNCTION(0x2, "lcd"),           
 239                   SUNXI_FUNCTION(0x3, "spi0"),          
 240                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 19)),
 241         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 20),
 242                   SUNXI_FUNCTION(0x0, "gpio_in"),
 243                   SUNXI_FUNCTION(0x1, "gpio_out"),
 244                   SUNXI_FUNCTION(0x2, "lcd"),           
 245                   SUNXI_FUNCTION(0x3, "spi0"),          
 246                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 20)),
 247         SUNXI_PIN(SUNXI_PINCTRL_PIN(D, 21),
 248                   SUNXI_FUNCTION(0x0, "gpio_in"),
 249                   SUNXI_FUNCTION(0x1, "gpio_out"),
 250                   SUNXI_FUNCTION(0x2, "lcd"),           
 251                   SUNXI_FUNCTION(0x3, "spi0"),          
 252                   SUNXI_FUNCTION_IRQ_BANK(0x6, 0, 21)),
 253         
 254         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 0),
 255                   SUNXI_FUNCTION(0x0, "gpio_in"),
 256                   SUNXI_FUNCTION(0x1, "gpio_out"),
 257                   SUNXI_FUNCTION(0x2, "csi"),           
 258                   SUNXI_FUNCTION(0x3, "lcd"),           
 259                   SUNXI_FUNCTION(0x4, "i2c2"),          
 260                   SUNXI_FUNCTION(0x5, "uart0"),         
 261                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 0)),
 262         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 1),
 263                   SUNXI_FUNCTION(0x0, "gpio_in"),
 264                   SUNXI_FUNCTION(0x1, "gpio_out"),
 265                   SUNXI_FUNCTION(0x2, "csi"),           
 266                   SUNXI_FUNCTION(0x3, "lcd"),           
 267                   SUNXI_FUNCTION(0x4, "i2c2"),          
 268                   SUNXI_FUNCTION(0x5, "uart0"),         
 269                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 1)),
 270         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 2),
 271                   SUNXI_FUNCTION(0x0, "gpio_in"),
 272                   SUNXI_FUNCTION(0x1, "gpio_out"),
 273                   SUNXI_FUNCTION(0x2, "csi"),           
 274                   SUNXI_FUNCTION(0x3, "lcd"),           
 275                   SUNXI_FUNCTION(0x4, "clk"),           
 276                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 2)),
 277         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 3),
 278                   SUNXI_FUNCTION(0x0, "gpio_in"),
 279                   SUNXI_FUNCTION(0x1, "gpio_out"),
 280                   SUNXI_FUNCTION(0x2, "csi"),           
 281                   SUNXI_FUNCTION(0x3, "lcd"),           
 282                   SUNXI_FUNCTION(0x4, "i2s"),           
 283                   SUNXI_FUNCTION(0x5, "rsb"),           
 284                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 3)),
 285         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 4),
 286                   SUNXI_FUNCTION(0x0, "gpio_in"),
 287                   SUNXI_FUNCTION(0x1, "gpio_out"),
 288                   SUNXI_FUNCTION(0x2, "csi"),           
 289                   SUNXI_FUNCTION(0x3, "lcd"),           
 290                   SUNXI_FUNCTION(0x4, "i2s"),           
 291                   SUNXI_FUNCTION(0x5, "rsb"),           
 292                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 4)),
 293         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 5),
 294                   SUNXI_FUNCTION(0x0, "gpio_in"),
 295                   SUNXI_FUNCTION(0x1, "gpio_out"),
 296                   SUNXI_FUNCTION(0x2, "csi"),           
 297                   SUNXI_FUNCTION(0x3, "lcd"),           
 298                   SUNXI_FUNCTION(0x4, "i2s"),           
 299                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 5)),
 300         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 6),
 301                   SUNXI_FUNCTION(0x0, "gpio_in"),
 302                   SUNXI_FUNCTION(0x1, "gpio_out"),
 303                   SUNXI_FUNCTION(0x2, "csi"),           
 304                   SUNXI_FUNCTION(0x3, "pwm1"),          
 305                   SUNXI_FUNCTION(0x4, "i2s"),           
 306                   SUNXI_FUNCTION(0x5, "spdif"),         
 307                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 6)),
 308         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 7),
 309                   SUNXI_FUNCTION(0x0, "gpio_in"),
 310                   SUNXI_FUNCTION(0x1, "gpio_out"),
 311                   SUNXI_FUNCTION(0x2, "csi"),           
 312                   SUNXI_FUNCTION(0x3, "uart2"),         
 313                   SUNXI_FUNCTION(0x4, "spi1"),          
 314                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 7)),
 315         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 8),
 316                   SUNXI_FUNCTION(0x0, "gpio_in"),
 317                   SUNXI_FUNCTION(0x1, "gpio_out"),
 318                   SUNXI_FUNCTION(0x2, "csi"),           
 319                   SUNXI_FUNCTION(0x3, "uart2"),         
 320                   SUNXI_FUNCTION(0x4, "spi1"),          
 321                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 8)),
 322         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 9),
 323                   SUNXI_FUNCTION(0x0, "gpio_in"),
 324                   SUNXI_FUNCTION(0x1, "gpio_out"),
 325                   SUNXI_FUNCTION(0x2, "csi"),           
 326                   SUNXI_FUNCTION(0x3, "uart2"),         
 327                   SUNXI_FUNCTION(0x4, "spi1"),          
 328                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 9)),
 329         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 10),
 330                   SUNXI_FUNCTION(0x0, "gpio_in"),
 331                   SUNXI_FUNCTION(0x1, "gpio_out"),
 332                   SUNXI_FUNCTION(0x2, "csi"),           
 333                   SUNXI_FUNCTION(0x3, "uart2"),         
 334                   SUNXI_FUNCTION(0x4, "spi1"),          
 335                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 10)),
 336         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 11),
 337                   SUNXI_FUNCTION(0x0, "gpio_in"),
 338                   SUNXI_FUNCTION(0x1, "gpio_out"),
 339                   SUNXI_FUNCTION(0x2, "clk0"),          
 340                   SUNXI_FUNCTION(0x3, "i2c0"),          
 341                   SUNXI_FUNCTION(0x4, "ir"),            
 342                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 11)),
 343         SUNXI_PIN(SUNXI_PINCTRL_PIN(E, 12),
 344                   SUNXI_FUNCTION(0x0, "gpio_in"),
 345                   SUNXI_FUNCTION(0x1, "gpio_out"),
 346                   SUNXI_FUNCTION(0x2, "i2s"),           
 347                   SUNXI_FUNCTION(0x3, "i2c0"),          
 348                   SUNXI_FUNCTION(0x4, "pwm0"),          
 349                   SUNXI_FUNCTION_IRQ_BANK(0x6, 1, 12)),
 350 
 351         
 352         SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 0),
 353                   SUNXI_FUNCTION(0x0, "gpio_in"),
 354                   SUNXI_FUNCTION(0x1, "gpio_out"),
 355                   SUNXI_FUNCTION(0x2, "mmc0"),          
 356                   SUNXI_FUNCTION(0x3, "jtag"),          
 357                   SUNXI_FUNCTION(0x4, "ir0"),           
 358                   SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 0)),
 359         SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 1),
 360                   SUNXI_FUNCTION(0x0, "gpio_in"),
 361                   SUNXI_FUNCTION(0x1, "gpio_out"),
 362                   SUNXI_FUNCTION(0x2, "mmc0"),          
 363                   SUNXI_FUNCTION(0x3, "dgb0"),          
 364                   SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 1)),
 365         SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 2),
 366                   SUNXI_FUNCTION(0x0, "gpio_in"),
 367                   SUNXI_FUNCTION(0x1, "gpio_out"),
 368                   SUNXI_FUNCTION(0x2, "mmc0"),          
 369                   SUNXI_FUNCTION(0x3, "uart0"),         
 370                   SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 2)),
 371         SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 3),
 372                   SUNXI_FUNCTION(0x0, "gpio_in"),
 373                   SUNXI_FUNCTION(0x1, "gpio_out"),
 374                   SUNXI_FUNCTION(0x2, "mmc0"),          
 375                   SUNXI_FUNCTION(0x3, "jtag"),          
 376                   SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 3)),
 377         SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 4),
 378                   SUNXI_FUNCTION(0x0, "gpio_in"),
 379                   SUNXI_FUNCTION(0x1, "gpio_out"),
 380                   SUNXI_FUNCTION(0x2, "mmc0"),          
 381                   SUNXI_FUNCTION(0x3, "uart0"),         
 382                   SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 4)),
 383         SUNXI_PIN(SUNXI_PINCTRL_PIN(F, 5),
 384                   SUNXI_FUNCTION(0x0, "gpio_in"),
 385                   SUNXI_FUNCTION(0x1, "gpio_out"),
 386                   SUNXI_FUNCTION(0x2, "mmc0"),          
 387                   SUNXI_FUNCTION(0x3, "jtag"),          
 388                   SUNXI_FUNCTION(0x4, "pwm1"),          
 389                   SUNXI_FUNCTION_IRQ_BANK(0x6, 2, 5)),
 390 };
 391 
 392 static const struct sunxi_pinctrl_desc suniv_f1c100s_pinctrl_data = {
 393         .pins = suniv_f1c100s_pins,
 394         .npins = ARRAY_SIZE(suniv_f1c100s_pins),
 395         .irq_banks = 3,
 396 };
 397 
 398 static int suniv_pinctrl_probe(struct platform_device *pdev)
 399 {
 400         return sunxi_pinctrl_init(pdev,
 401                                   &suniv_f1c100s_pinctrl_data);
 402 }
 403 
 404 static const struct of_device_id suniv_f1c100s_pinctrl_match[] = {
 405         { .compatible = "allwinner,suniv-f1c100s-pinctrl", },
 406         {}
 407 };
 408 
 409 static struct platform_driver suniv_f1c100s_pinctrl_driver = {
 410         .probe  = suniv_pinctrl_probe,
 411         .driver = {
 412                 .name           = "suniv-f1c100s-pinctrl",
 413                 .of_match_table = suniv_f1c100s_pinctrl_match,
 414         },
 415 };
 416 builtin_platform_driver(suniv_f1c100s_pinctrl_driver);