1 /* 2 * Copyright (C) 2015-2017 Socionext Inc. 3 * Author: Masahiro Yamada <yamada.masahiro@socionext.com> 4 * 5 * This program is free software; you can redistribute it and/or modify 6 * it under the terms of the GNU General Public License as published by 7 * the Free Software Foundation; either version 2 of the License, or 8 * (at your option) any later version. 9 * 10 * This program5 is distributed in the hope that it will be useful, 11 * but WITHOUT ANY WARRANTY; without even the implied warranty of 12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 13 * GNU General Public License for more details. 14 */ 15 16 #include <linux/kernel.h> 17 #include <linux/init.h> 18 #include <linux/mod_devicetable.h> 19 #include <linux/pinctrl/pinctrl.h> 20 #include <linux/platform_device.h> 21 22 #include "pinctrl-uniphier.h" 23 24 static const struct pinctrl_pin_desc uniphier_pro5_pins[] = { 25 UNIPHIER_PINCTRL_PIN(0, "AEXCKA1", 0, 26 0, UNIPHIER_PIN_DRV_1BIT, 27 0, UNIPHIER_PIN_PULL_DOWN), 28 UNIPHIER_PINCTRL_PIN(1, "AEXCKA2", 0, 29 1, UNIPHIER_PIN_DRV_1BIT, 30 1, UNIPHIER_PIN_PULL_DOWN), 31 UNIPHIER_PINCTRL_PIN(2, "CK27EXI", 0, 32 2, UNIPHIER_PIN_DRV_1BIT, 33 2, UNIPHIER_PIN_PULL_DOWN), 34 UNIPHIER_PINCTRL_PIN(3, "CK54EXI", 0, 35 3, UNIPHIER_PIN_DRV_1BIT, 36 3, UNIPHIER_PIN_PULL_DOWN), 37 UNIPHIER_PINCTRL_PIN(4, "ED0", UNIPHIER_PIN_IECTRL_NONE, 38 4, UNIPHIER_PIN_DRV_1BIT, 39 4, UNIPHIER_PIN_PULL_DOWN), 40 UNIPHIER_PINCTRL_PIN(5, "ED1", UNIPHIER_PIN_IECTRL_NONE, 41 5, UNIPHIER_PIN_DRV_1BIT, 42 5, UNIPHIER_PIN_PULL_DOWN), 43 UNIPHIER_PINCTRL_PIN(6, "ED2", UNIPHIER_PIN_IECTRL_NONE, 44 6, UNIPHIER_PIN_DRV_1BIT, 45 6, UNIPHIER_PIN_PULL_DOWN), 46 UNIPHIER_PINCTRL_PIN(7, "ED3", UNIPHIER_PIN_IECTRL_NONE, 47 7, UNIPHIER_PIN_DRV_1BIT, 48 7, UNIPHIER_PIN_PULL_DOWN), 49 UNIPHIER_PINCTRL_PIN(8, "ED4", UNIPHIER_PIN_IECTRL_NONE, 50 8, UNIPHIER_PIN_DRV_1BIT, 51 8, UNIPHIER_PIN_PULL_DOWN), 52 UNIPHIER_PINCTRL_PIN(9, "ED5", UNIPHIER_PIN_IECTRL_NONE, 53 9, UNIPHIER_PIN_DRV_1BIT, 54 9, UNIPHIER_PIN_PULL_DOWN), 55 UNIPHIER_PINCTRL_PIN(10, "ED6", UNIPHIER_PIN_IECTRL_NONE, 56 10, UNIPHIER_PIN_DRV_1BIT, 57 10, UNIPHIER_PIN_PULL_DOWN), 58 UNIPHIER_PINCTRL_PIN(11, "ED7", UNIPHIER_PIN_IECTRL_NONE, 59 11, UNIPHIER_PIN_DRV_1BIT, 60 11, UNIPHIER_PIN_PULL_DOWN), 61 UNIPHIER_PINCTRL_PIN(12, "XERWE0", UNIPHIER_PIN_IECTRL_NONE, 62 12, UNIPHIER_PIN_DRV_1BIT, 63 12, UNIPHIER_PIN_PULL_UP), 64 UNIPHIER_PINCTRL_PIN(13, "XERWE1", UNIPHIER_PIN_IECTRL_NONE, 65 13, UNIPHIER_PIN_DRV_1BIT, 66 13, UNIPHIER_PIN_PULL_UP), 67 UNIPHIER_PINCTRL_PIN(14, "ERXW", UNIPHIER_PIN_IECTRL_NONE, 68 14, UNIPHIER_PIN_DRV_1BIT, 69 14, UNIPHIER_PIN_PULL_UP), 70 UNIPHIER_PINCTRL_PIN(15, "ES0", UNIPHIER_PIN_IECTRL_NONE, 71 15, UNIPHIER_PIN_DRV_1BIT, 72 15, UNIPHIER_PIN_PULL_UP), 73 UNIPHIER_PINCTRL_PIN(16, "ES1", UNIPHIER_PIN_IECTRL_NONE, 74 16, UNIPHIER_PIN_DRV_1BIT, 75 16, UNIPHIER_PIN_PULL_UP), 76 UNIPHIER_PINCTRL_PIN(17, "ES2", UNIPHIER_PIN_IECTRL_NONE, 77 17, UNIPHIER_PIN_DRV_1BIT, 78 17, UNIPHIER_PIN_PULL_UP), 79 UNIPHIER_PINCTRL_PIN(18, "XECS1", UNIPHIER_PIN_IECTRL_NONE, 80 18, UNIPHIER_PIN_DRV_1BIT, 81 18, UNIPHIER_PIN_PULL_UP), 82 UNIPHIER_PINCTRL_PIN(19, "XNFRE", UNIPHIER_PIN_IECTRL_NONE, 83 19, UNIPHIER_PIN_DRV_1BIT, 84 19, UNIPHIER_PIN_PULL_UP), 85 UNIPHIER_PINCTRL_PIN(20, "XNFWE", UNIPHIER_PIN_IECTRL_NONE, 86 20, UNIPHIER_PIN_DRV_1BIT, 87 20, UNIPHIER_PIN_PULL_UP), 88 UNIPHIER_PINCTRL_PIN(21, "NFALE", UNIPHIER_PIN_IECTRL_NONE, 89 21, UNIPHIER_PIN_DRV_1BIT, 90 21, UNIPHIER_PIN_PULL_DOWN), 91 UNIPHIER_PINCTRL_PIN(22, "NFCLE", UNIPHIER_PIN_IECTRL_NONE, 92 22, UNIPHIER_PIN_DRV_1BIT, 93 22, UNIPHIER_PIN_PULL_DOWN), 94 UNIPHIER_PINCTRL_PIN(23, "XNFWP", UNIPHIER_PIN_IECTRL_NONE, 95 23, UNIPHIER_PIN_DRV_1BIT, 96 23, UNIPHIER_PIN_PULL_DOWN), 97 UNIPHIER_PINCTRL_PIN(24, "XNFCE0", UNIPHIER_PIN_IECTRL_NONE, 98 24, UNIPHIER_PIN_DRV_1BIT, 99 24, UNIPHIER_PIN_PULL_UP), 100 UNIPHIER_PINCTRL_PIN(25, "NFRYBY0", UNIPHIER_PIN_IECTRL_NONE, 101 25, UNIPHIER_PIN_DRV_1BIT, 102 25, UNIPHIER_PIN_PULL_UP), 103 UNIPHIER_PINCTRL_PIN(26, "XNFCE1", UNIPHIER_PIN_IECTRL_NONE, 104 26, UNIPHIER_PIN_DRV_1BIT, 105 26, UNIPHIER_PIN_PULL_UP), 106 UNIPHIER_PINCTRL_PIN(27, "NFRYBY1", UNIPHIER_PIN_IECTRL_NONE, 107 27, UNIPHIER_PIN_DRV_1BIT, 108 27, UNIPHIER_PIN_PULL_UP), 109 UNIPHIER_PINCTRL_PIN(28, "NFD0", UNIPHIER_PIN_IECTRL_NONE, 110 28, UNIPHIER_PIN_DRV_1BIT, 111 28, UNIPHIER_PIN_PULL_UP), 112 UNIPHIER_PINCTRL_PIN(29, "NFD1", UNIPHIER_PIN_IECTRL_NONE, 113 29, UNIPHIER_PIN_DRV_1BIT, 114 29, UNIPHIER_PIN_PULL_UP), 115 UNIPHIER_PINCTRL_PIN(30, "NFD2", UNIPHIER_PIN_IECTRL_NONE, 116 30, UNIPHIER_PIN_DRV_1BIT, 117 30, UNIPHIER_PIN_PULL_UP), 118 UNIPHIER_PINCTRL_PIN(31, "NFD3", UNIPHIER_PIN_IECTRL_NONE, 119 31, UNIPHIER_PIN_DRV_1BIT, 120 31, UNIPHIER_PIN_PULL_UP), 121 UNIPHIER_PINCTRL_PIN(32, "NFD4", UNIPHIER_PIN_IECTRL_NONE, 122 32, UNIPHIER_PIN_DRV_1BIT, 123 32, UNIPHIER_PIN_PULL_UP), 124 UNIPHIER_PINCTRL_PIN(33, "NFD5", UNIPHIER_PIN_IECTRL_NONE, 125 33, UNIPHIER_PIN_DRV_1BIT, 126 33, UNIPHIER_PIN_PULL_UP), 127 UNIPHIER_PINCTRL_PIN(34, "NFD6", UNIPHIER_PIN_IECTRL_NONE, 128 34, UNIPHIER_PIN_DRV_1BIT, 129 34, UNIPHIER_PIN_PULL_UP), 130 UNIPHIER_PINCTRL_PIN(35, "NFD7", UNIPHIER_PIN_IECTRL_NONE, 131 35, UNIPHIER_PIN_DRV_1BIT, 132 35, UNIPHIER_PIN_PULL_UP), 133 UNIPHIER_PINCTRL_PIN(36, "XERST", UNIPHIER_PIN_IECTRL_NONE, 134 36, UNIPHIER_PIN_DRV_1BIT, 135 36, UNIPHIER_PIN_PULL_UP), 136 UNIPHIER_PINCTRL_PIN(37, "MMCCLK", UNIPHIER_PIN_IECTRL_NONE, 137 37, UNIPHIER_PIN_DRV_1BIT, 138 37, UNIPHIER_PIN_PULL_UP), 139 UNIPHIER_PINCTRL_PIN(38, "MMCCMD", UNIPHIER_PIN_IECTRL_NONE, 140 38, UNIPHIER_PIN_DRV_1BIT, 141 38, UNIPHIER_PIN_PULL_UP), 142 UNIPHIER_PINCTRL_PIN(39, "MMCDAT0", UNIPHIER_PIN_IECTRL_NONE, 143 39, UNIPHIER_PIN_DRV_1BIT, 144 39, UNIPHIER_PIN_PULL_UP), 145 UNIPHIER_PINCTRL_PIN(40, "MMCDAT1", UNIPHIER_PIN_IECTRL_NONE, 146 40, UNIPHIER_PIN_DRV_1BIT, 147 40, UNIPHIER_PIN_PULL_UP), 148 UNIPHIER_PINCTRL_PIN(41, "MMCDAT2", UNIPHIER_PIN_IECTRL_NONE, 149 41, UNIPHIER_PIN_DRV_1BIT, 150 41, UNIPHIER_PIN_PULL_UP), 151 UNIPHIER_PINCTRL_PIN(42, "MMCDAT3", UNIPHIER_PIN_IECTRL_NONE, 152 42, UNIPHIER_PIN_DRV_1BIT, 153 42, UNIPHIER_PIN_PULL_UP), 154 UNIPHIER_PINCTRL_PIN(43, "MMCDAT4", UNIPHIER_PIN_IECTRL_NONE, 155 43, UNIPHIER_PIN_DRV_1BIT, 156 43, UNIPHIER_PIN_PULL_UP), 157 UNIPHIER_PINCTRL_PIN(44, "MMCDAT5", UNIPHIER_PIN_IECTRL_NONE, 158 44, UNIPHIER_PIN_DRV_1BIT, 159 44, UNIPHIER_PIN_PULL_UP), 160 UNIPHIER_PINCTRL_PIN(45, "MMCDAT6", UNIPHIER_PIN_IECTRL_NONE, 161 45, UNIPHIER_PIN_DRV_1BIT, 162 45, UNIPHIER_PIN_PULL_UP), 163 UNIPHIER_PINCTRL_PIN(46, "MMCDAT7", UNIPHIER_PIN_IECTRL_NONE, 164 46, UNIPHIER_PIN_DRV_1BIT, 165 46, UNIPHIER_PIN_PULL_UP), 166 UNIPHIER_PINCTRL_PIN(47, "TXD0", 0, 167 47, UNIPHIER_PIN_DRV_1BIT, 168 47, UNIPHIER_PIN_PULL_UP), 169 UNIPHIER_PINCTRL_PIN(48, "RXD0", 0, 170 48, UNIPHIER_PIN_DRV_1BIT, 171 48, UNIPHIER_PIN_PULL_UP), 172 UNIPHIER_PINCTRL_PIN(49, "TXD1", 0, 173 49, UNIPHIER_PIN_DRV_1BIT, 174 49, UNIPHIER_PIN_PULL_UP), 175 UNIPHIER_PINCTRL_PIN(50, "RXD1", 0, 176 50, UNIPHIER_PIN_DRV_1BIT, 177 50, UNIPHIER_PIN_PULL_UP), 178 UNIPHIER_PINCTRL_PIN(51, "TXD2", UNIPHIER_PIN_IECTRL_NONE, 179 51, UNIPHIER_PIN_DRV_1BIT, 180 51, UNIPHIER_PIN_PULL_UP), 181 UNIPHIER_PINCTRL_PIN(52, "RXD2", UNIPHIER_PIN_IECTRL_NONE, 182 52, UNIPHIER_PIN_DRV_1BIT, 183 52, UNIPHIER_PIN_PULL_UP), 184 UNIPHIER_PINCTRL_PIN(53, "TXD3", 0, 185 53, UNIPHIER_PIN_DRV_1BIT, 186 53, UNIPHIER_PIN_PULL_UP), 187 UNIPHIER_PINCTRL_PIN(54, "RXD3", 0, 188 54, UNIPHIER_PIN_DRV_1BIT, 189 54, UNIPHIER_PIN_PULL_UP), 190 UNIPHIER_PINCTRL_PIN(55, "MS0CS0", 0, 191 55, UNIPHIER_PIN_DRV_1BIT, 192 55, UNIPHIER_PIN_PULL_DOWN), 193 UNIPHIER_PINCTRL_PIN(56, "MS0DO", 0, 194 56, UNIPHIER_PIN_DRV_1BIT, 195 56, UNIPHIER_PIN_PULL_DOWN), 196 UNIPHIER_PINCTRL_PIN(57, "MS0DI", 0, 197 57, UNIPHIER_PIN_DRV_1BIT, 198 57, UNIPHIER_PIN_PULL_DOWN), 199 UNIPHIER_PINCTRL_PIN(58, "MS0CLK", 0, 200 58, UNIPHIER_PIN_DRV_1BIT, 201 58, UNIPHIER_PIN_PULL_DOWN), 202 UNIPHIER_PINCTRL_PIN(59, "CSCLK", 0, 203 59, UNIPHIER_PIN_DRV_1BIT, 204 59, UNIPHIER_PIN_PULL_DOWN), 205 UNIPHIER_PINCTRL_PIN(60, "CSBPTM", 0, 206 60, UNIPHIER_PIN_DRV_1BIT, 207 60, UNIPHIER_PIN_PULL_DOWN), 208 UNIPHIER_PINCTRL_PIN(61, "CSBMTP", 0, 209 61, UNIPHIER_PIN_DRV_1BIT, 210 61, UNIPHIER_PIN_PULL_DOWN), 211 UNIPHIER_PINCTRL_PIN(62, "XCINTP", 0, 212 62, UNIPHIER_PIN_DRV_1BIT, 213 62, UNIPHIER_PIN_PULL_DOWN), 214 UNIPHIER_PINCTRL_PIN(63, "XCINTM", 0, 215 63, UNIPHIER_PIN_DRV_1BIT, 216 63, UNIPHIER_PIN_PULL_DOWN), 217 UNIPHIER_PINCTRL_PIN(64, "XCMPREQ", 0, 218 64, UNIPHIER_PIN_DRV_1BIT, 219 64, UNIPHIER_PIN_PULL_DOWN), 220 UNIPHIER_PINCTRL_PIN(65, "XSRST", 0, 221 65, UNIPHIER_PIN_DRV_1BIT, 222 65, UNIPHIER_PIN_PULL_DOWN), 223 UNIPHIER_PINCTRL_PIN(66, "LPST", UNIPHIER_PIN_IECTRL_NONE, 224 66, UNIPHIER_PIN_DRV_1BIT, 225 66, UNIPHIER_PIN_PULL_DOWN), 226 UNIPHIER_PINCTRL_PIN(67, "PWMA", 0, 227 67, UNIPHIER_PIN_DRV_1BIT, 228 67, UNIPHIER_PIN_PULL_DOWN), 229 UNIPHIER_PINCTRL_PIN(68, "XIRQ0", 0, 230 68, UNIPHIER_PIN_DRV_1BIT, 231 68, UNIPHIER_PIN_PULL_DOWN), 232 UNIPHIER_PINCTRL_PIN(69, "XIRQ1", 0, 233 69, UNIPHIER_PIN_DRV_1BIT, 234 69, UNIPHIER_PIN_PULL_DOWN), 235 UNIPHIER_PINCTRL_PIN(70, "XIRQ2", 0, 236 70, UNIPHIER_PIN_DRV_1BIT, 237 70, UNIPHIER_PIN_PULL_DOWN), 238 UNIPHIER_PINCTRL_PIN(71, "XIRQ3", 0, 239 71, UNIPHIER_PIN_DRV_1BIT, 240 71, UNIPHIER_PIN_PULL_DOWN), 241 UNIPHIER_PINCTRL_PIN(72, "XIRQ4", 0, 242 72, UNIPHIER_PIN_DRV_1BIT, 243 72, UNIPHIER_PIN_PULL_DOWN), 244 UNIPHIER_PINCTRL_PIN(73, "XIRQ5", 0, 245 73, UNIPHIER_PIN_DRV_1BIT, 246 73, UNIPHIER_PIN_PULL_DOWN), 247 UNIPHIER_PINCTRL_PIN(74, "XIRQ6", 0, 248 74, UNIPHIER_PIN_DRV_1BIT, 249 74, UNIPHIER_PIN_PULL_DOWN), 250 UNIPHIER_PINCTRL_PIN(75, "XIRQ7", 0, 251 75, UNIPHIER_PIN_DRV_1BIT, 252 75, UNIPHIER_PIN_PULL_DOWN), 253 UNIPHIER_PINCTRL_PIN(76, "XIRQ8", 0, 254 76, UNIPHIER_PIN_DRV_1BIT, 255 76, UNIPHIER_PIN_PULL_DOWN), 256 UNIPHIER_PINCTRL_PIN(77, "XIRQ9", 0, 257 77, UNIPHIER_PIN_DRV_1BIT, 258 77, UNIPHIER_PIN_PULL_DOWN), 259 UNIPHIER_PINCTRL_PIN(78, "XIRQ10", 0, 260 78, UNIPHIER_PIN_DRV_1BIT, 261 78, UNIPHIER_PIN_PULL_DOWN), 262 UNIPHIER_PINCTRL_PIN(79, "XIRQ11", UNIPHIER_PIN_IECTRL_NONE, 263 -1, UNIPHIER_PIN_DRV_FIXED8, 264 79, UNIPHIER_PIN_PULL_DOWN), 265 UNIPHIER_PINCTRL_PIN(80, "XIRQ12", UNIPHIER_PIN_IECTRL_NONE, 266 -1, UNIPHIER_PIN_DRV_FIXED8, 267 80, UNIPHIER_PIN_PULL_DOWN), 268 UNIPHIER_PINCTRL_PIN(81, "XIRQ13", UNIPHIER_PIN_IECTRL_NONE, 269 -1, UNIPHIER_PIN_DRV_FIXED8, 270 81, UNIPHIER_PIN_PULL_DOWN), 271 UNIPHIER_PINCTRL_PIN(82, "XIRQ14", 0, 272 82, UNIPHIER_PIN_DRV_1BIT, 273 82, UNIPHIER_PIN_PULL_DOWN), 274 UNIPHIER_PINCTRL_PIN(83, "XIRQ15", 0, 275 83, UNIPHIER_PIN_DRV_1BIT, 276 83, UNIPHIER_PIN_PULL_DOWN), 277 UNIPHIER_PINCTRL_PIN(84, "XIRQ16", 0, 278 84, UNIPHIER_PIN_DRV_1BIT, 279 84, UNIPHIER_PIN_PULL_DOWN), 280 UNIPHIER_PINCTRL_PIN(85, "XIRQ17", UNIPHIER_PIN_IECTRL_NONE, 281 -1, UNIPHIER_PIN_DRV_FIXED8, 282 85, UNIPHIER_PIN_PULL_DOWN), 283 UNIPHIER_PINCTRL_PIN(86, "XIRQ18", UNIPHIER_PIN_IECTRL_NONE, 284 -1, UNIPHIER_PIN_DRV_FIXED8, 285 86, UNIPHIER_PIN_PULL_DOWN), 286 UNIPHIER_PINCTRL_PIN(87, "XIRQ19", 0, 287 87, UNIPHIER_PIN_DRV_1BIT, 288 87, UNIPHIER_PIN_PULL_DOWN), 289 UNIPHIER_PINCTRL_PIN(88, "XIRQ20", 0, 290 88, UNIPHIER_PIN_DRV_1BIT, 291 88, UNIPHIER_PIN_PULL_DOWN), 292 UNIPHIER_PINCTRL_PIN(89, "PORT00", 0, 293 89, UNIPHIER_PIN_DRV_1BIT, 294 89, UNIPHIER_PIN_PULL_DOWN), 295 UNIPHIER_PINCTRL_PIN(90, "PORT01", 0, 296 90, UNIPHIER_PIN_DRV_1BIT, 297 90, UNIPHIER_PIN_PULL_DOWN), 298 UNIPHIER_PINCTRL_PIN(91, "PORT02", 0, 299 91, UNIPHIER_PIN_DRV_1BIT, 300 91, UNIPHIER_PIN_PULL_DOWN), 301 UNIPHIER_PINCTRL_PIN(92, "PORT03", 0, 302 92, UNIPHIER_PIN_DRV_1BIT, 303 92, UNIPHIER_PIN_PULL_DOWN), 304 UNIPHIER_PINCTRL_PIN(93, "PORT04", 0, 305 93, UNIPHIER_PIN_DRV_1BIT, 306 93, UNIPHIER_PIN_PULL_DOWN), 307 UNIPHIER_PINCTRL_PIN(94, "PORT05", 0, 308 94, UNIPHIER_PIN_DRV_1BIT, 309 94, UNIPHIER_PIN_PULL_DOWN), 310 UNIPHIER_PINCTRL_PIN(95, "PORT06", 0, 311 95, UNIPHIER_PIN_DRV_1BIT, 312 95, UNIPHIER_PIN_PULL_DOWN), 313 UNIPHIER_PINCTRL_PIN(96, "PORT07", 0, 314 96, UNIPHIER_PIN_DRV_1BIT, 315 96, UNIPHIER_PIN_PULL_DOWN), 316 UNIPHIER_PINCTRL_PIN(97, "PORT10", 0, 317 97, UNIPHIER_PIN_DRV_1BIT, 318 97, UNIPHIER_PIN_PULL_DOWN), 319 UNIPHIER_PINCTRL_PIN(98, "PORT11", 0, 320 98, UNIPHIER_PIN_DRV_1BIT, 321 98, UNIPHIER_PIN_PULL_DOWN), 322 UNIPHIER_PINCTRL_PIN(99, "PORT12", 0, 323 99, UNIPHIER_PIN_DRV_1BIT, 324 99, UNIPHIER_PIN_PULL_DOWN), 325 UNIPHIER_PINCTRL_PIN(100, "PORT13", 0, 326 100, UNIPHIER_PIN_DRV_1BIT, 327 100, UNIPHIER_PIN_PULL_DOWN), 328 UNIPHIER_PINCTRL_PIN(101, "PORT14", 0, 329 101, UNIPHIER_PIN_DRV_1BIT, 330 101, UNIPHIER_PIN_PULL_DOWN), 331 UNIPHIER_PINCTRL_PIN(102, "PORT15", 0, 332 102, UNIPHIER_PIN_DRV_1BIT, 333 102, UNIPHIER_PIN_PULL_DOWN), 334 UNIPHIER_PINCTRL_PIN(103, "PORT16", 0, 335 103, UNIPHIER_PIN_DRV_1BIT, 336 103, UNIPHIER_PIN_PULL_DOWN), 337 UNIPHIER_PINCTRL_PIN(104, "PORT17", 0, 338 104, UNIPHIER_PIN_DRV_1BIT, 339 104, UNIPHIER_PIN_PULL_DOWN), 340 UNIPHIER_PINCTRL_PIN(105, "T0HPD", 0, 341 105, UNIPHIER_PIN_DRV_1BIT, 342 105, UNIPHIER_PIN_PULL_DOWN), 343 UNIPHIER_PINCTRL_PIN(106, "T1HPD", 0, 344 106, UNIPHIER_PIN_DRV_1BIT, 345 106, UNIPHIER_PIN_PULL_DOWN), 346 UNIPHIER_PINCTRL_PIN(107, "R0HPD", 0, 347 107, UNIPHIER_PIN_DRV_1BIT, 348 107, UNIPHIER_PIN_PULL_DOWN), 349 UNIPHIER_PINCTRL_PIN(108, "R1HPD", 0, 350 108, UNIPHIER_PIN_DRV_1BIT, 351 108, UNIPHIER_PIN_PULL_DOWN), 352 UNIPHIER_PINCTRL_PIN(109, "XPERST", 0, 353 109, UNIPHIER_PIN_DRV_1BIT, 354 109, UNIPHIER_PIN_PULL_UP), 355 UNIPHIER_PINCTRL_PIN(110, "XPEWAKE", 0, 356 110, UNIPHIER_PIN_DRV_1BIT, 357 110, UNIPHIER_PIN_PULL_UP), 358 UNIPHIER_PINCTRL_PIN(111, "XPECLKRQ", 0, 359 111, UNIPHIER_PIN_DRV_1BIT, 360 111, UNIPHIER_PIN_PULL_UP), 361 UNIPHIER_PINCTRL_PIN(112, "SDA0", UNIPHIER_PIN_IECTRL_NONE, 362 -1, UNIPHIER_PIN_DRV_FIXED8, 363 112, UNIPHIER_PIN_PULL_UP), 364 UNIPHIER_PINCTRL_PIN(113, "SCL0", UNIPHIER_PIN_IECTRL_NONE, 365 -1, UNIPHIER_PIN_DRV_FIXED8, 366 113, UNIPHIER_PIN_PULL_UP), 367 UNIPHIER_PINCTRL_PIN(114, "SDA1", UNIPHIER_PIN_IECTRL_NONE, 368 -1, UNIPHIER_PIN_DRV_FIXED8, 369 114, UNIPHIER_PIN_PULL_UP), 370 UNIPHIER_PINCTRL_PIN(115, "SCL1", UNIPHIER_PIN_IECTRL_NONE, 371 -1, UNIPHIER_PIN_DRV_FIXED8, 372 115, UNIPHIER_PIN_PULL_UP), 373 UNIPHIER_PINCTRL_PIN(116, "SDA2", UNIPHIER_PIN_IECTRL_NONE, 374 -1, UNIPHIER_PIN_DRV_FIXED8, 375 116, UNIPHIER_PIN_PULL_UP), 376 UNIPHIER_PINCTRL_PIN(117, "SCL2", UNIPHIER_PIN_IECTRL_NONE, 377 -1, UNIPHIER_PIN_DRV_FIXED8, 378 117, UNIPHIER_PIN_PULL_UP), 379 UNIPHIER_PINCTRL_PIN(118, "SDA3", UNIPHIER_PIN_IECTRL_NONE, 380 -1, UNIPHIER_PIN_DRV_FIXED4, 381 118, UNIPHIER_PIN_PULL_UP), 382 UNIPHIER_PINCTRL_PIN(119, "SCL3", UNIPHIER_PIN_IECTRL_NONE, 383 -1, UNIPHIER_PIN_DRV_FIXED4, 384 119, UNIPHIER_PIN_PULL_UP), 385 UNIPHIER_PINCTRL_PIN(120, "SPISYNC", UNIPHIER_PIN_IECTRL_NONE, 386 -1, UNIPHIER_PIN_DRV_FIXED8, 387 120, UNIPHIER_PIN_PULL_DOWN), 388 UNIPHIER_PINCTRL_PIN(121, "SPISCLK", UNIPHIER_PIN_IECTRL_NONE, 389 -1, UNIPHIER_PIN_DRV_FIXED8, 390 121, UNIPHIER_PIN_PULL_DOWN), 391 UNIPHIER_PINCTRL_PIN(122, "SPITXD", UNIPHIER_PIN_IECTRL_NONE, 392 -1, UNIPHIER_PIN_DRV_FIXED8, 393 122, UNIPHIER_PIN_PULL_DOWN), 394 UNIPHIER_PINCTRL_PIN(123, "SPIRXD", UNIPHIER_PIN_IECTRL_NONE, 395 -1, UNIPHIER_PIN_DRV_FIXED8, 396 123, UNIPHIER_PIN_PULL_DOWN), 397 UNIPHIER_PINCTRL_PIN(124, "USB0VBUS", UNIPHIER_PIN_IECTRL_NONE, 398 -1, UNIPHIER_PIN_DRV_FIXED8, 399 124, UNIPHIER_PIN_PULL_DOWN), 400 UNIPHIER_PINCTRL_PIN(125, "USB0OD", UNIPHIER_PIN_IECTRL_NONE, 401 -1, UNIPHIER_PIN_DRV_FIXED8, 402 125, UNIPHIER_PIN_PULL_UP), 403 UNIPHIER_PINCTRL_PIN(126, "USB1VBUS", UNIPHIER_PIN_IECTRL_NONE, 404 -1, UNIPHIER_PIN_DRV_FIXED8, 405 126, UNIPHIER_PIN_PULL_DOWN), 406 UNIPHIER_PINCTRL_PIN(127, "USB1OD", UNIPHIER_PIN_IECTRL_NONE, 407 -1, UNIPHIER_PIN_DRV_FIXED8, 408 127, UNIPHIER_PIN_PULL_UP), 409 UNIPHIER_PINCTRL_PIN(128, "USB2VBUS", UNIPHIER_PIN_IECTRL_NONE, 410 -1, UNIPHIER_PIN_DRV_FIXED8, 411 128, UNIPHIER_PIN_PULL_DOWN), 412 UNIPHIER_PINCTRL_PIN(129, "USB2OD", UNIPHIER_PIN_IECTRL_NONE, 413 -1, UNIPHIER_PIN_DRV_FIXED8, 414 129, UNIPHIER_PIN_PULL_UP), 415 UNIPHIER_PINCTRL_PIN(130, "SMTRST0", UNIPHIER_PIN_IECTRL_NONE, 416 -1, UNIPHIER_PIN_DRV_FIXED8, 417 130, UNIPHIER_PIN_PULL_DOWN), 418 UNIPHIER_PINCTRL_PIN(131, "SMTCMD0", UNIPHIER_PIN_IECTRL_NONE, 419 -1, UNIPHIER_PIN_DRV_FIXED8, 420 131, UNIPHIER_PIN_PULL_DOWN), 421 UNIPHIER_PINCTRL_PIN(132, "SMTD0", UNIPHIER_PIN_IECTRL_NONE, 422 -1, UNIPHIER_PIN_DRV_FIXED8, 423 132, UNIPHIER_PIN_PULL_DOWN), 424 UNIPHIER_PINCTRL_PIN(133, "SMTSEL0", UNIPHIER_PIN_IECTRL_NONE, 425 -1, UNIPHIER_PIN_DRV_FIXED8, 426 133, UNIPHIER_PIN_PULL_DOWN), 427 UNIPHIER_PINCTRL_PIN(134, "SMTCLK0", UNIPHIER_PIN_IECTRL_NONE, 428 -1, UNIPHIER_PIN_DRV_FIXED8, 429 134, UNIPHIER_PIN_PULL_DOWN), 430 UNIPHIER_PINCTRL_PIN(135, "SMTRST1", UNIPHIER_PIN_IECTRL_NONE, 431 -1, UNIPHIER_PIN_DRV_FIXED8, 432 135, UNIPHIER_PIN_PULL_DOWN), 433 UNIPHIER_PINCTRL_PIN(136, "SMTCMD1", UNIPHIER_PIN_IECTRL_NONE, 434 -1, UNIPHIER_PIN_DRV_FIXED8, 435 136, UNIPHIER_PIN_PULL_DOWN), 436 UNIPHIER_PINCTRL_PIN(137, "SMTD1", UNIPHIER_PIN_IECTRL_NONE, 437 -1, UNIPHIER_PIN_DRV_FIXED8, 438 137, UNIPHIER_PIN_PULL_DOWN), 439 UNIPHIER_PINCTRL_PIN(138, "SMTSEL1", UNIPHIER_PIN_IECTRL_NONE, 440 -1, UNIPHIER_PIN_DRV_FIXED8, 441 138, UNIPHIER_PIN_PULL_DOWN), 442 UNIPHIER_PINCTRL_PIN(139, "SMTCLK1", UNIPHIER_PIN_IECTRL_NONE, 443 -1, UNIPHIER_PIN_DRV_FIXED8, 444 139, UNIPHIER_PIN_PULL_DOWN), 445 UNIPHIER_PINCTRL_PIN(140, "CH0CLK", UNIPHIER_PIN_IECTRL_NONE, 446 -1, UNIPHIER_PIN_DRV_FIXED8, 447 140, UNIPHIER_PIN_PULL_DOWN), 448 UNIPHIER_PINCTRL_PIN(141, "CH0PSYNC", UNIPHIER_PIN_IECTRL_NONE, 449 -1, UNIPHIER_PIN_DRV_FIXED8, 450 141, UNIPHIER_PIN_PULL_DOWN), 451 UNIPHIER_PINCTRL_PIN(142, "CH0VAL", UNIPHIER_PIN_IECTRL_NONE, 452 -1, UNIPHIER_PIN_DRV_FIXED8, 453 142, UNIPHIER_PIN_PULL_DOWN), 454 UNIPHIER_PINCTRL_PIN(143, "CH0DATA", UNIPHIER_PIN_IECTRL_NONE, 455 -1, UNIPHIER_PIN_DRV_FIXED8, 456 143, UNIPHIER_PIN_PULL_DOWN), 457 UNIPHIER_PINCTRL_PIN(144, "CH1CLK", UNIPHIER_PIN_IECTRL_NONE, 458 -1, UNIPHIER_PIN_DRV_FIXED8, 459 144, UNIPHIER_PIN_PULL_DOWN), 460 UNIPHIER_PINCTRL_PIN(145, "CH1PSYNC", UNIPHIER_PIN_IECTRL_NONE, 461 -1, UNIPHIER_PIN_DRV_FIXED8, 462 145, UNIPHIER_PIN_PULL_DOWN), 463 UNIPHIER_PINCTRL_PIN(146, "CH1VAL", UNIPHIER_PIN_IECTRL_NONE, 464 -1, UNIPHIER_PIN_DRV_FIXED8, 465 146, UNIPHIER_PIN_PULL_DOWN), 466 UNIPHIER_PINCTRL_PIN(147, "CH1DATA", UNIPHIER_PIN_IECTRL_NONE, 467 -1, UNIPHIER_PIN_DRV_FIXED8, 468 147, UNIPHIER_PIN_PULL_DOWN), 469 UNIPHIER_PINCTRL_PIN(148, "CH2CLK", UNIPHIER_PIN_IECTRL_NONE, 470 -1, UNIPHIER_PIN_DRV_FIXED8, 471 148, UNIPHIER_PIN_PULL_DOWN), 472 UNIPHIER_PINCTRL_PIN(149, "CH2PSYNC", UNIPHIER_PIN_IECTRL_NONE, 473 -1, UNIPHIER_PIN_DRV_FIXED8, 474 149, UNIPHIER_PIN_PULL_DOWN), 475 UNIPHIER_PINCTRL_PIN(150, "CH2VAL", UNIPHIER_PIN_IECTRL_NONE, 476 -1, UNIPHIER_PIN_DRV_FIXED8, 477 150, UNIPHIER_PIN_PULL_DOWN), 478 UNIPHIER_PINCTRL_PIN(151, "CH2DATA", UNIPHIER_PIN_IECTRL_NONE, 479 -1, UNIPHIER_PIN_DRV_FIXED8, 480 151, UNIPHIER_PIN_PULL_DOWN), 481 UNIPHIER_PINCTRL_PIN(152, "CH3CLK", UNIPHIER_PIN_IECTRL_NONE, 482 -1, UNIPHIER_PIN_DRV_FIXED8, 483 152, UNIPHIER_PIN_PULL_DOWN), 484 UNIPHIER_PINCTRL_PIN(153, "CH3PSYNC", UNIPHIER_PIN_IECTRL_NONE, 485 -1, UNIPHIER_PIN_DRV_FIXED8, 486 153, UNIPHIER_PIN_PULL_DOWN), 487 UNIPHIER_PINCTRL_PIN(154, "CH3VAL", UNIPHIER_PIN_IECTRL_NONE, 488 -1, UNIPHIER_PIN_DRV_FIXED8, 489 154, UNIPHIER_PIN_PULL_DOWN), 490 UNIPHIER_PINCTRL_PIN(155, "CH3DATA", UNIPHIER_PIN_IECTRL_NONE, 491 -1, UNIPHIER_PIN_DRV_FIXED8, 492 155, UNIPHIER_PIN_PULL_DOWN), 493 UNIPHIER_PINCTRL_PIN(156, "CH4CLK", UNIPHIER_PIN_IECTRL_NONE, 494 -1, UNIPHIER_PIN_DRV_FIXED8, 495 156, UNIPHIER_PIN_PULL_DOWN), 496 UNIPHIER_PINCTRL_PIN(157, "CH4PSYNC", UNIPHIER_PIN_IECTRL_NONE, 497 -1, UNIPHIER_PIN_DRV_FIXED8, 498 157, UNIPHIER_PIN_PULL_DOWN), 499 UNIPHIER_PINCTRL_PIN(158, "CH4VAL", UNIPHIER_PIN_IECTRL_NONE, 500 -1, UNIPHIER_PIN_DRV_FIXED8, 501 158, UNIPHIER_PIN_PULL_DOWN), 502 UNIPHIER_PINCTRL_PIN(159, "CH4DATA", UNIPHIER_PIN_IECTRL_NONE, 503 -1, UNIPHIER_PIN_DRV_FIXED8, 504 159, UNIPHIER_PIN_PULL_DOWN), 505 UNIPHIER_PINCTRL_PIN(160, "CH5CLK", UNIPHIER_PIN_IECTRL_NONE, 506 -1, UNIPHIER_PIN_DRV_FIXED8, 507 160, UNIPHIER_PIN_PULL_DOWN), 508 UNIPHIER_PINCTRL_PIN(161, "CH5PSYNC", UNIPHIER_PIN_IECTRL_NONE, 509 -1, UNIPHIER_PIN_DRV_FIXED8, 510 161, UNIPHIER_PIN_PULL_DOWN), 511 UNIPHIER_PINCTRL_PIN(162, "CH5VAL", UNIPHIER_PIN_IECTRL_NONE, 512 -1, UNIPHIER_PIN_DRV_FIXED8, 513 162, UNIPHIER_PIN_PULL_DOWN), 514 UNIPHIER_PINCTRL_PIN(163, "CH5DATA", UNIPHIER_PIN_IECTRL_NONE, 515 -1, UNIPHIER_PIN_DRV_FIXED8, 516 163, UNIPHIER_PIN_PULL_DOWN), 517 UNIPHIER_PINCTRL_PIN(164, "CH6CLK", UNIPHIER_PIN_IECTRL_NONE, 518 -1, UNIPHIER_PIN_DRV_FIXED8, 519 164, UNIPHIER_PIN_PULL_DOWN), 520 UNIPHIER_PINCTRL_PIN(165, "CH6PSYNC", UNIPHIER_PIN_IECTRL_NONE, 521 -1, UNIPHIER_PIN_DRV_FIXED8, 522 165, UNIPHIER_PIN_PULL_DOWN), 523 UNIPHIER_PINCTRL_PIN(166, "CH6VAL", UNIPHIER_PIN_IECTRL_NONE, 524 -1, UNIPHIER_PIN_DRV_FIXED8, 525 166, UNIPHIER_PIN_PULL_DOWN), 526 UNIPHIER_PINCTRL_PIN(167, "CH6DATA", UNIPHIER_PIN_IECTRL_NONE, 527 -1, UNIPHIER_PIN_DRV_FIXED8, 528 167, UNIPHIER_PIN_PULL_DOWN), 529 UNIPHIER_PINCTRL_PIN(168, "CH7CLK", UNIPHIER_PIN_IECTRL_NONE, 530 -1, UNIPHIER_PIN_DRV_FIXED8, 531 168, UNIPHIER_PIN_PULL_DOWN), 532 UNIPHIER_PINCTRL_PIN(169, "CH7PSYNC", UNIPHIER_PIN_IECTRL_NONE, 533 -1, UNIPHIER_PIN_DRV_FIXED8, 534 169, UNIPHIER_PIN_PULL_DOWN), 535 UNIPHIER_PINCTRL_PIN(170, "CH7VAL", UNIPHIER_PIN_IECTRL_NONE, 536 -1, UNIPHIER_PIN_DRV_FIXED8, 537 170, UNIPHIER_PIN_PULL_DOWN), 538 UNIPHIER_PINCTRL_PIN(171, "CH7DATA", UNIPHIER_PIN_IECTRL_NONE, 539 -1, UNIPHIER_PIN_DRV_FIXED8, 540 171, UNIPHIER_PIN_PULL_DOWN), 541 UNIPHIER_PINCTRL_PIN(172, "AI1ADCCK", UNIPHIER_PIN_IECTRL_NONE, 542 -1, UNIPHIER_PIN_DRV_FIXED8, 543 172, UNIPHIER_PIN_PULL_DOWN), 544 UNIPHIER_PINCTRL_PIN(173, "AI1BCK", UNIPHIER_PIN_IECTRL_NONE, 545 -1, UNIPHIER_PIN_DRV_FIXED8, 546 173, UNIPHIER_PIN_PULL_DOWN), 547 UNIPHIER_PINCTRL_PIN(174, "AI1LRCK", UNIPHIER_PIN_IECTRL_NONE, 548 -1, UNIPHIER_PIN_DRV_FIXED8, 549 174, UNIPHIER_PIN_PULL_DOWN), 550 UNIPHIER_PINCTRL_PIN(175, "AI1D0", UNIPHIER_PIN_IECTRL_NONE, 551 -1, UNIPHIER_PIN_DRV_FIXED8, 552 175, UNIPHIER_PIN_PULL_DOWN), 553 UNIPHIER_PINCTRL_PIN(176, "AI1D1", UNIPHIER_PIN_IECTRL_NONE, 554 -1, UNIPHIER_PIN_DRV_FIXED8, 555 176, UNIPHIER_PIN_PULL_DOWN), 556 UNIPHIER_PINCTRL_PIN(177, "AI1D2", UNIPHIER_PIN_IECTRL_NONE, 557 -1, UNIPHIER_PIN_DRV_FIXED8, 558 177, UNIPHIER_PIN_PULL_DOWN), 559 UNIPHIER_PINCTRL_PIN(178, "AI1D3", UNIPHIER_PIN_IECTRL_NONE, 560 -1, UNIPHIER_PIN_DRV_FIXED8, 561 178, UNIPHIER_PIN_PULL_DOWN), 562 UNIPHIER_PINCTRL_PIN(179, "AI2ADCCK", UNIPHIER_PIN_IECTRL_NONE, 563 -1, UNIPHIER_PIN_DRV_FIXED8, 564 179, UNIPHIER_PIN_PULL_DOWN), 565 UNIPHIER_PINCTRL_PIN(180, "AI2BCK", UNIPHIER_PIN_IECTRL_NONE, 566 -1, UNIPHIER_PIN_DRV_FIXED8, 567 180, UNIPHIER_PIN_PULL_DOWN), 568 UNIPHIER_PINCTRL_PIN(181, "AI2LRCK", UNIPHIER_PIN_IECTRL_NONE, 569 -1, UNIPHIER_PIN_DRV_FIXED8, 570 181, UNIPHIER_PIN_PULL_DOWN), 571 UNIPHIER_PINCTRL_PIN(182, "AI2D0", UNIPHIER_PIN_IECTRL_NONE, 572 -1, UNIPHIER_PIN_DRV_FIXED8, 573 182, UNIPHIER_PIN_PULL_DOWN), 574 UNIPHIER_PINCTRL_PIN(183, "AI2D1", UNIPHIER_PIN_IECTRL_NONE, 575 -1, UNIPHIER_PIN_DRV_FIXED8, 576 183, UNIPHIER_PIN_PULL_DOWN), 577 UNIPHIER_PINCTRL_PIN(184, "AI2D2", UNIPHIER_PIN_IECTRL_NONE, 578 -1, UNIPHIER_PIN_DRV_FIXED8, 579 184, UNIPHIER_PIN_PULL_DOWN), 580 UNIPHIER_PINCTRL_PIN(185, "AI2D3", UNIPHIER_PIN_IECTRL_NONE, 581 -1, UNIPHIER_PIN_DRV_FIXED8, 582 185, UNIPHIER_PIN_PULL_DOWN), 583 UNIPHIER_PINCTRL_PIN(186, "AI3ADCCK", UNIPHIER_PIN_IECTRL_NONE, 584 -1, UNIPHIER_PIN_DRV_FIXED8, 585 186, UNIPHIER_PIN_PULL_DOWN), 586 UNIPHIER_PINCTRL_PIN(187, "AI3BCK", UNIPHIER_PIN_IECTRL_NONE, 587 -1, UNIPHIER_PIN_DRV_FIXED8, 588 187, UNIPHIER_PIN_PULL_DOWN), 589 UNIPHIER_PINCTRL_PIN(188, "AI3LRCK", UNIPHIER_PIN_IECTRL_NONE, 590 -1, UNIPHIER_PIN_DRV_FIXED8, 591 188, UNIPHIER_PIN_PULL_DOWN), 592 UNIPHIER_PINCTRL_PIN(189, "AI3D0", UNIPHIER_PIN_IECTRL_NONE, 593 -1, UNIPHIER_PIN_DRV_FIXED8, 594 189, UNIPHIER_PIN_PULL_DOWN), 595 UNIPHIER_PINCTRL_PIN(190, "AO1IEC", UNIPHIER_PIN_IECTRL_NONE, 596 -1, UNIPHIER_PIN_DRV_FIXED8, 597 190, UNIPHIER_PIN_PULL_DOWN), 598 UNIPHIER_PINCTRL_PIN(191, "AO1DACCK", UNIPHIER_PIN_IECTRL_NONE, 599 -1, UNIPHIER_PIN_DRV_FIXED8, 600 191, UNIPHIER_PIN_PULL_DOWN), 601 UNIPHIER_PINCTRL_PIN(192, "AO1BCK", UNIPHIER_PIN_IECTRL_NONE, 602 -1, UNIPHIER_PIN_DRV_FIXED8, 603 192, UNIPHIER_PIN_PULL_DOWN), 604 UNIPHIER_PINCTRL_PIN(193, "AO1LRCK", UNIPHIER_PIN_IECTRL_NONE, 605 -1, UNIPHIER_PIN_DRV_FIXED8, 606 193, UNIPHIER_PIN_PULL_DOWN), 607 UNIPHIER_PINCTRL_PIN(194, "AO1D0", UNIPHIER_PIN_IECTRL_NONE, 608 -1, UNIPHIER_PIN_DRV_FIXED8, 609 194, UNIPHIER_PIN_PULL_DOWN), 610 UNIPHIER_PINCTRL_PIN(195, "AO1D1", UNIPHIER_PIN_IECTRL_NONE, 611 -1, UNIPHIER_PIN_DRV_FIXED8, 612 195, UNIPHIER_PIN_PULL_DOWN), 613 UNIPHIER_PINCTRL_PIN(196, "AO1D2", UNIPHIER_PIN_IECTRL_NONE, 614 -1, UNIPHIER_PIN_DRV_FIXED8, 615 196, UNIPHIER_PIN_PULL_UP), 616 UNIPHIER_PINCTRL_PIN(197, "AO1D3", UNIPHIER_PIN_IECTRL_NONE, 617 -1, UNIPHIER_PIN_DRV_FIXED8, 618 197, UNIPHIER_PIN_PULL_UP), 619 UNIPHIER_PINCTRL_PIN(198, "AO2IEC", UNIPHIER_PIN_IECTRL_NONE, 620 -1, UNIPHIER_PIN_DRV_FIXED8, 621 198, UNIPHIER_PIN_PULL_DOWN), 622 UNIPHIER_PINCTRL_PIN(199, "AO2DACCK", UNIPHIER_PIN_IECTRL_NONE, 623 -1, UNIPHIER_PIN_DRV_FIXED8, 624 199, UNIPHIER_PIN_PULL_DOWN), 625 UNIPHIER_PINCTRL_PIN(200, "AO2BCK", UNIPHIER_PIN_IECTRL_NONE, 626 -1, UNIPHIER_PIN_DRV_FIXED8, 627 200, UNIPHIER_PIN_PULL_DOWN), 628 UNIPHIER_PINCTRL_PIN(201, "AO2LRCK", UNIPHIER_PIN_IECTRL_NONE, 629 -1, UNIPHIER_PIN_DRV_FIXED8, 630 201, UNIPHIER_PIN_PULL_DOWN), 631 UNIPHIER_PINCTRL_PIN(202, "AO2D0", UNIPHIER_PIN_IECTRL_NONE, 632 -1, UNIPHIER_PIN_DRV_FIXED8, 633 202, UNIPHIER_PIN_PULL_DOWN), 634 UNIPHIER_PINCTRL_PIN(203, "AO2D1", UNIPHIER_PIN_IECTRL_NONE, 635 -1, UNIPHIER_PIN_DRV_FIXED8, 636 203, UNIPHIER_PIN_PULL_DOWN), 637 UNIPHIER_PINCTRL_PIN(204, "AO2D2", UNIPHIER_PIN_IECTRL_NONE, 638 -1, UNIPHIER_PIN_DRV_FIXED8, 639 204, UNIPHIER_PIN_PULL_DOWN), 640 UNIPHIER_PINCTRL_PIN(205, "AO2D3", UNIPHIER_PIN_IECTRL_NONE, 641 -1, UNIPHIER_PIN_DRV_FIXED8, 642 205, UNIPHIER_PIN_PULL_DOWN), 643 UNIPHIER_PINCTRL_PIN(206, "AO3DACCK", UNIPHIER_PIN_IECTRL_NONE, 644 -1, UNIPHIER_PIN_DRV_FIXED8, 645 206, UNIPHIER_PIN_PULL_DOWN), 646 UNIPHIER_PINCTRL_PIN(207, "AO3BCK", UNIPHIER_PIN_IECTRL_NONE, 647 -1, UNIPHIER_PIN_DRV_FIXED8, 648 207, UNIPHIER_PIN_PULL_DOWN), 649 UNIPHIER_PINCTRL_PIN(208, "AO3LRCK", UNIPHIER_PIN_IECTRL_NONE, 650 -1, UNIPHIER_PIN_DRV_FIXED8, 651 208, UNIPHIER_PIN_PULL_DOWN), 652 UNIPHIER_PINCTRL_PIN(209, "AO3DMIX", UNIPHIER_PIN_IECTRL_NONE, 653 -1, UNIPHIER_PIN_DRV_FIXED8, 654 209, UNIPHIER_PIN_PULL_DOWN), 655 UNIPHIER_PINCTRL_PIN(210, "AO4DACCK", UNIPHIER_PIN_IECTRL_NONE, 656 -1, UNIPHIER_PIN_DRV_FIXED8, 657 210, UNIPHIER_PIN_PULL_DOWN), 658 UNIPHIER_PINCTRL_PIN(211, "AO4BCK", UNIPHIER_PIN_IECTRL_NONE, 659 -1, UNIPHIER_PIN_DRV_FIXED8, 660 211, UNIPHIER_PIN_PULL_DOWN), 661 UNIPHIER_PINCTRL_PIN(212, "AO4LRCK", UNIPHIER_PIN_IECTRL_NONE, 662 -1, UNIPHIER_PIN_DRV_FIXED8, 663 212, UNIPHIER_PIN_PULL_DOWN), 664 UNIPHIER_PINCTRL_PIN(213, "AO4DMIX", UNIPHIER_PIN_IECTRL_NONE, 665 -1, UNIPHIER_PIN_DRV_FIXED8, 666 213, UNIPHIER_PIN_PULL_DOWN), 667 UNIPHIER_PINCTRL_PIN(214, "VI1CLK", UNIPHIER_PIN_IECTRL_NONE, 668 -1, UNIPHIER_PIN_DRV_FIXED8, 669 214, UNIPHIER_PIN_PULL_DOWN), 670 UNIPHIER_PINCTRL_PIN(215, "VI1C0", UNIPHIER_PIN_IECTRL_NONE, 671 -1, UNIPHIER_PIN_DRV_FIXED8, 672 215, UNIPHIER_PIN_PULL_DOWN), 673 UNIPHIER_PINCTRL_PIN(216, "VI1C1", UNIPHIER_PIN_IECTRL_NONE, 674 -1, UNIPHIER_PIN_DRV_FIXED8, 675 216, UNIPHIER_PIN_PULL_DOWN), 676 UNIPHIER_PINCTRL_PIN(217, "VI1C2", UNIPHIER_PIN_IECTRL_NONE, 677 -1, UNIPHIER_PIN_DRV_FIXED8, 678 217, UNIPHIER_PIN_PULL_DOWN), 679 UNIPHIER_PINCTRL_PIN(218, "VI1C3", UNIPHIER_PIN_IECTRL_NONE, 680 -1, UNIPHIER_PIN_DRV_FIXED8, 681 218, UNIPHIER_PIN_PULL_DOWN), 682 UNIPHIER_PINCTRL_PIN(219, "VI1C4", UNIPHIER_PIN_IECTRL_NONE, 683 -1, UNIPHIER_PIN_DRV_FIXED8, 684 219, UNIPHIER_PIN_PULL_DOWN), 685 UNIPHIER_PINCTRL_PIN(220, "VI1C5", UNIPHIER_PIN_IECTRL_NONE, 686 -1, UNIPHIER_PIN_DRV_FIXED8, 687 220, UNIPHIER_PIN_PULL_DOWN), 688 UNIPHIER_PINCTRL_PIN(221, "VI1C6", UNIPHIER_PIN_IECTRL_NONE, 689 -1, UNIPHIER_PIN_DRV_FIXED8, 690 221, UNIPHIER_PIN_PULL_DOWN), 691 UNIPHIER_PINCTRL_PIN(222, "VI1C7", UNIPHIER_PIN_IECTRL_NONE, 692 -1, UNIPHIER_PIN_DRV_FIXED8, 693 222, UNIPHIER_PIN_PULL_DOWN), 694 UNIPHIER_PINCTRL_PIN(223, "VI1C8", UNIPHIER_PIN_IECTRL_NONE, 695 -1, UNIPHIER_PIN_DRV_FIXED8, 696 223, UNIPHIER_PIN_PULL_DOWN), 697 UNIPHIER_PINCTRL_PIN(224, "VI1C9", UNIPHIER_PIN_IECTRL_NONE, 698 -1, UNIPHIER_PIN_DRV_FIXED8, 699 224, UNIPHIER_PIN_PULL_DOWN), 700 UNIPHIER_PINCTRL_PIN(225, "VI1Y0", UNIPHIER_PIN_IECTRL_NONE, 701 -1, UNIPHIER_PIN_DRV_FIXED8, 702 225, UNIPHIER_PIN_PULL_DOWN), 703 UNIPHIER_PINCTRL_PIN(226, "VI1Y1", UNIPHIER_PIN_IECTRL_NONE, 704 -1, UNIPHIER_PIN_DRV_FIXED8, 705 226, UNIPHIER_PIN_PULL_DOWN), 706 UNIPHIER_PINCTRL_PIN(227, "VI1Y2", UNIPHIER_PIN_IECTRL_NONE, 707 -1, UNIPHIER_PIN_DRV_FIXED8, 708 227, UNIPHIER_PIN_PULL_DOWN), 709 UNIPHIER_PINCTRL_PIN(228, "VI1Y3", UNIPHIER_PIN_IECTRL_NONE, 710 -1, UNIPHIER_PIN_DRV_FIXED8, 711 228, UNIPHIER_PIN_PULL_DOWN), 712 UNIPHIER_PINCTRL_PIN(229, "VI1Y4", UNIPHIER_PIN_IECTRL_NONE, 713 -1, UNIPHIER_PIN_DRV_FIXED8, 714 229, UNIPHIER_PIN_PULL_DOWN), 715 UNIPHIER_PINCTRL_PIN(230, "VI1Y5", UNIPHIER_PIN_IECTRL_NONE, 716 -1, UNIPHIER_PIN_DRV_FIXED8, 717 230, UNIPHIER_PIN_PULL_DOWN), 718 UNIPHIER_PINCTRL_PIN(231, "VI1Y6", UNIPHIER_PIN_IECTRL_NONE, 719 -1, UNIPHIER_PIN_DRV_FIXED8, 720 231, UNIPHIER_PIN_PULL_DOWN), 721 UNIPHIER_PINCTRL_PIN(232, "VI1Y7", UNIPHIER_PIN_IECTRL_NONE, 722 -1, UNIPHIER_PIN_DRV_FIXED8, 723 232, UNIPHIER_PIN_PULL_DOWN), 724 UNIPHIER_PINCTRL_PIN(233, "VI1Y8", UNIPHIER_PIN_IECTRL_NONE, 725 -1, UNIPHIER_PIN_DRV_FIXED8, 726 233, UNIPHIER_PIN_PULL_DOWN), 727 UNIPHIER_PINCTRL_PIN(234, "VI1Y9", UNIPHIER_PIN_IECTRL_NONE, 728 -1, UNIPHIER_PIN_DRV_FIXED8, 729 234, UNIPHIER_PIN_PULL_DOWN), 730 UNIPHIER_PINCTRL_PIN(235, "VI1DE", UNIPHIER_PIN_IECTRL_NONE, 731 -1, UNIPHIER_PIN_DRV_FIXED8, 732 235, UNIPHIER_PIN_PULL_DOWN), 733 UNIPHIER_PINCTRL_PIN(236, "VI1HSYNC", UNIPHIER_PIN_IECTRL_NONE, 734 -1, UNIPHIER_PIN_DRV_FIXED8, 735 236, UNIPHIER_PIN_PULL_DOWN), 736 UNIPHIER_PINCTRL_PIN(237, "VI1VSYNC", UNIPHIER_PIN_IECTRL_NONE, 737 -1, UNIPHIER_PIN_DRV_FIXED8, 738 237, UNIPHIER_PIN_PULL_DOWN), 739 UNIPHIER_PINCTRL_PIN(238, "VO1CLK", UNIPHIER_PIN_IECTRL_NONE, 740 -1, UNIPHIER_PIN_DRV_FIXED8, 741 238, UNIPHIER_PIN_PULL_DOWN), 742 UNIPHIER_PINCTRL_PIN(239, "VO1D0", UNIPHIER_PIN_IECTRL_NONE, 743 -1, UNIPHIER_PIN_DRV_FIXED8, 744 239, UNIPHIER_PIN_PULL_DOWN), 745 UNIPHIER_PINCTRL_PIN(240, "VO1D1", UNIPHIER_PIN_IECTRL_NONE, 746 -1, UNIPHIER_PIN_DRV_FIXED8, 747 240, UNIPHIER_PIN_PULL_DOWN), 748 UNIPHIER_PINCTRL_PIN(241, "VO1D2", UNIPHIER_PIN_IECTRL_NONE, 749 -1, UNIPHIER_PIN_DRV_FIXED8, 750 241, UNIPHIER_PIN_PULL_DOWN), 751 UNIPHIER_PINCTRL_PIN(242, "VO1D3", UNIPHIER_PIN_IECTRL_NONE, 752 -1, UNIPHIER_PIN_DRV_FIXED8, 753 242, UNIPHIER_PIN_PULL_DOWN), 754 UNIPHIER_PINCTRL_PIN(243, "VO1D4", UNIPHIER_PIN_IECTRL_NONE, 755 -1, UNIPHIER_PIN_DRV_FIXED8, 756 243, UNIPHIER_PIN_PULL_DOWN), 757 UNIPHIER_PINCTRL_PIN(244, "VO1D5", UNIPHIER_PIN_IECTRL_NONE, 758 -1, UNIPHIER_PIN_DRV_FIXED8, 759 244, UNIPHIER_PIN_PULL_DOWN), 760 UNIPHIER_PINCTRL_PIN(245, "VO1D6", UNIPHIER_PIN_IECTRL_NONE, 761 -1, UNIPHIER_PIN_DRV_FIXED8, 762 245, UNIPHIER_PIN_PULL_DOWN), 763 UNIPHIER_PINCTRL_PIN(246, "VO1D7", UNIPHIER_PIN_IECTRL_NONE, 764 -1, UNIPHIER_PIN_DRV_FIXED8, 765 246, UNIPHIER_PIN_PULL_DOWN), 766 UNIPHIER_PINCTRL_PIN(247, "SDCD", UNIPHIER_PIN_IECTRL_NONE, 767 -1, UNIPHIER_PIN_DRV_FIXED8, 768 247, UNIPHIER_PIN_PULL_UP), 769 UNIPHIER_PINCTRL_PIN(248, "SDWP", UNIPHIER_PIN_IECTRL_NONE, 770 -1, UNIPHIER_PIN_DRV_FIXED8, 771 248, UNIPHIER_PIN_PULL_UP), 772 UNIPHIER_PINCTRL_PIN(249, "SDVOLC", UNIPHIER_PIN_IECTRL_NONE, 773 -1, UNIPHIER_PIN_DRV_FIXED8, 774 249, UNIPHIER_PIN_PULL_UP), 775 UNIPHIER_PINCTRL_PIN(250, "SDCLK", UNIPHIER_PIN_IECTRL_NONE, 776 10, UNIPHIER_PIN_DRV_2BIT, 777 -1, UNIPHIER_PIN_PULL_UP_FIXED), 778 UNIPHIER_PINCTRL_PIN(251, "SDCMD", UNIPHIER_PIN_IECTRL_NONE, 779 11, UNIPHIER_PIN_DRV_2BIT, 780 -1, UNIPHIER_PIN_PULL_UP_FIXED), 781 UNIPHIER_PINCTRL_PIN(252, "SDDAT0", UNIPHIER_PIN_IECTRL_NONE, 782 12, UNIPHIER_PIN_DRV_2BIT, 783 -1, UNIPHIER_PIN_PULL_UP_FIXED), 784 UNIPHIER_PINCTRL_PIN(253, "SDDAT1", UNIPHIER_PIN_IECTRL_NONE, 785 13, UNIPHIER_PIN_DRV_2BIT, 786 -1, UNIPHIER_PIN_PULL_UP_FIXED), 787 UNIPHIER_PINCTRL_PIN(254, "SDDAT2", UNIPHIER_PIN_IECTRL_NONE, 788 14, UNIPHIER_PIN_DRV_2BIT, 789 -1, UNIPHIER_PIN_PULL_UP_FIXED), 790 UNIPHIER_PINCTRL_PIN(255, "SDDAT3", UNIPHIER_PIN_IECTRL_NONE, 791 15, UNIPHIER_PIN_DRV_2BIT, 792 -1, UNIPHIER_PIN_PULL_UP_FIXED), 793 }; 794 795 static const unsigned emmc_pins[] = {36, 37, 38, 39, 40, 41, 42}; 796 static const int emmc_muxvals[] = {0, 0, 0, 0, 0, 0, 0}; 797 static const unsigned emmc_dat8_pins[] = {43, 44, 45, 46}; 798 static const int emmc_dat8_muxvals[] = {0, 0, 0, 0}; 799 static const unsigned i2c0_pins[] = {112, 113}; 800 static const int i2c0_muxvals[] = {0, 0}; 801 static const unsigned i2c1_pins[] = {114, 115}; 802 static const int i2c1_muxvals[] = {0, 0}; 803 static const unsigned i2c2_pins[] = {116, 117}; 804 static const int i2c2_muxvals[] = {0, 0}; 805 static const unsigned i2c3_pins[] = {118, 119}; 806 static const int i2c3_muxvals[] = {0, 0}; 807 static const unsigned i2c5_pins[] = {87, 88}; 808 static const int i2c5_muxvals[] = {2, 2}; 809 static const unsigned i2c5b_pins[] = {196, 197}; 810 static const int i2c5b_muxvals[] = {2, 2}; 811 static const unsigned i2c5c_pins[] = {215, 216}; 812 static const int i2c5c_muxvals[] = {2, 2}; 813 static const unsigned i2c6_pins[] = {101, 102}; 814 static const int i2c6_muxvals[] = {2, 2}; 815 static const unsigned nand_pins[] = {19, 20, 21, 22, 23, 24, 25, 28, 29, 30, 816 31, 32, 33, 34, 35}; 817 static const int nand_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 818 static const unsigned nand_cs1_pins[] = {26, 27}; 819 static const int nand_cs1_muxvals[] = {0, 0}; 820 static const unsigned sd_pins[] = {250, 251, 252, 253, 254, 255, 256, 257, 258}; 821 static const int sd_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0}; 822 static const unsigned spi0_pins[] = {120, 121, 122, 123}; 823 static const int spi0_muxvals[] = {0, 0, 0, 0}; 824 static const unsigned spi1_pins[] = {134, 139, 85, 86}; 825 static const int spi1_muxvals[] = {1, 1, 1, 1}; 826 static const unsigned spi2_pins[] = {55, 56, 57, 58, 82, 83, 84}; 827 static const int spi2_muxvals[] = {0, 0, 0, 0, 1, 1, 1}; 828 static const unsigned system_bus_pins[] = {4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 829 14, 15, 16, 17}; 830 static const int system_bus_muxvals[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 831 0}; 832 static const unsigned system_bus_cs0_pins[] = {105}; 833 static const int system_bus_cs0_muxvals[] = {1}; 834 static const unsigned system_bus_cs1_pins[] = {18}; 835 static const int system_bus_cs1_muxvals[] = {0}; 836 static const unsigned system_bus_cs2_pins[] = {106}; 837 static const int system_bus_cs2_muxvals[] = {1}; 838 static const unsigned system_bus_cs3_pins[] = {100}; 839 static const int system_bus_cs3_muxvals[] = {1}; 840 static const unsigned system_bus_cs4_pins[] = {101}; 841 static const int system_bus_cs4_muxvals[] = {1}; 842 static const unsigned system_bus_cs5_pins[] = {102}; 843 static const int system_bus_cs5_muxvals[] = {1}; 844 static const unsigned system_bus_cs6_pins[] = {69}; 845 static const int system_bus_cs6_muxvals[] = {5}; 846 static const unsigned system_bus_cs7_pins[] = {70}; 847 static const int system_bus_cs7_muxvals[] = {5}; 848 static const unsigned uart0_pins[] = {47, 48}; 849 static const int uart0_muxvals[] = {0, 0}; 850 static const unsigned uart0b_pins[] = {227, 228}; 851 static const int uart0b_muxvals[] = {3, 3}; 852 static const unsigned uart0b_ctsrts_pins[] = {229, 230, 231, 232, 233, 234}; 853 static const int uart0b_ctsrts_muxvals[] = {3, 3, 3, 3, 3, 3}; 854 static const unsigned uart1_pins[] = {49, 50}; 855 static const int uart1_muxvals[] = {0, 0}; 856 static const unsigned uart2_pins[] = {51, 52}; 857 static const int uart2_muxvals[] = {0, 0}; 858 static const unsigned uart3_pins[] = {53, 54}; 859 static const int uart3_muxvals[] = {0, 0}; 860 static const unsigned usb0_pins[] = {124, 125}; 861 static const int usb0_muxvals[] = {0, 0}; 862 static const unsigned usb1_pins[] = {126, 127}; 863 static const int usb1_muxvals[] = {0, 0}; 864 static const unsigned usb2_pins[] = {128, 129}; 865 static const int usb2_muxvals[] = {0, 0}; 866 static const unsigned int gpio_range_pins[] = { 867 89, 90, 91, 92, 93, 94, 95, 96, /* PORT0x */ 868 97, 98, 99, 100, 101, 102, 103, 104, /* PORT1x */ 869 251, 252, 253, 254, 255, 247, 248, 249, /* PORT2x */ 870 39, 40, 41, 42, 43, 44, 45, 46, /* PORT3x */ 871 156, 157, 158, 159, 160, 161, 162, 163, /* PORT4x */ 872 164, 165, 166, 167, 168, 169, 170, 171, /* PORT5x */ 873 190, 191, 192, 193, 194, 195, 196, 197, /* PORT6x */ 874 198, 199, 200, 201, 202, 203, 204, 205, /* PORT7x */ 875 120, 121, 122, 123, 55, 56, 57, 58, /* PORT8x */ 876 124, 125, 126, 127, 49, 50, 53, 54, /* PORT9x */ 877 148, 149, 150, 151, 152, 153, 154, 155, /* PORT10x */ 878 133, 134, 131, 130, 138, 139, 136, 135, /* PORT11x */ 879 28, 29, 30, 31, 32, 33, 34, 35, /* PORT12x */ 880 179, 180, 181, 182, 186, 187, 188, 189, /* PORT13x */ 881 4, 5, 6, 7, 8, 9, 10, 11, /* PORT14x */ 882 68, 69, 70, 71, 72, 73, 74, 75, /* XIRQ0-7 */ 883 76, 77, 78, 79, 80, 81, 82, 83, /* XIRQ8-15 */ 884 84, 85, 86, 87, 88, 109, 110, 111, /* XIRQ16-20, PORT175-177 */ 885 206, 207, 208, 209, 210, 211, 212, 213, /* PORT18x */ 886 12, 13, 14, 15, 16, 17, 107, 108, /* PORT19x */ 887 140, 141, 142, 143, 144, 145, 146, 147, /* PORT20x */ 888 59, 60, 61, 62, 63, 64, 65, 66, /* PORT21x */ 889 214, 215, 216, 217, 218, 219, 220, 221, /* PORT22x */ 890 222, 223, 224, 225, 226, 227, 228, 229, /* PORT23x */ 891 19, 20, 21, 22, 23, 24, 25, 26, /* PORT24x */ 892 230, 231, 232, 233, 234, 235, 236, 237, /* PORT25x */ 893 239, 240, 241, 242, 243, 244, 245, 246, /* PORT26x */ 894 172, 173, 174, 175, 176, 177, 178, 129, /* PORT27x */ 895 0, 1, 2, 67, 85, 86, 87, 88, /* PORT28x */ 896 105, 106, 18, 27, 36, 128, 132, 137, /* PORT29x */ 897 183, 184, 185, 84, 47, 48, 51, 52, /* PORT30x */ 898 }; 899 900 static const struct uniphier_pinctrl_group uniphier_pro5_groups[] = { 901 UNIPHIER_PINCTRL_GROUP(nand), 902 UNIPHIER_PINCTRL_GROUP(nand_cs1), 903 UNIPHIER_PINCTRL_GROUP(emmc), 904 UNIPHIER_PINCTRL_GROUP(emmc_dat8), 905 UNIPHIER_PINCTRL_GROUP(i2c0), 906 UNIPHIER_PINCTRL_GROUP(i2c1), 907 UNIPHIER_PINCTRL_GROUP(i2c2), 908 UNIPHIER_PINCTRL_GROUP(i2c3), 909 UNIPHIER_PINCTRL_GROUP(i2c5), 910 UNIPHIER_PINCTRL_GROUP(i2c5b), 911 UNIPHIER_PINCTRL_GROUP(i2c5c), 912 UNIPHIER_PINCTRL_GROUP(i2c6), 913 UNIPHIER_PINCTRL_GROUP(sd), 914 UNIPHIER_PINCTRL_GROUP(spi0), 915 UNIPHIER_PINCTRL_GROUP(spi1), 916 UNIPHIER_PINCTRL_GROUP(spi2), 917 UNIPHIER_PINCTRL_GROUP(system_bus), 918 UNIPHIER_PINCTRL_GROUP(system_bus_cs0), 919 UNIPHIER_PINCTRL_GROUP(system_bus_cs1), 920 UNIPHIER_PINCTRL_GROUP(system_bus_cs2), 921 UNIPHIER_PINCTRL_GROUP(system_bus_cs3), 922 UNIPHIER_PINCTRL_GROUP(system_bus_cs4), 923 UNIPHIER_PINCTRL_GROUP(system_bus_cs5), 924 UNIPHIER_PINCTRL_GROUP(system_bus_cs6), 925 UNIPHIER_PINCTRL_GROUP(system_bus_cs7), 926 UNIPHIER_PINCTRL_GROUP(uart0), 927 UNIPHIER_PINCTRL_GROUP(uart0b), 928 UNIPHIER_PINCTRL_GROUP(uart0b_ctsrts), 929 UNIPHIER_PINCTRL_GROUP(uart1), 930 UNIPHIER_PINCTRL_GROUP(uart2), 931 UNIPHIER_PINCTRL_GROUP(uart3), 932 UNIPHIER_PINCTRL_GROUP(usb0), 933 UNIPHIER_PINCTRL_GROUP(usb1), 934 UNIPHIER_PINCTRL_GROUP(usb2), 935 UNIPHIER_PINCTRL_GROUP_GPIO(gpio_range), 936 }; 937 938 static const char * const emmc_groups[] = {"emmc", "emmc_dat8"}; 939 static const char * const i2c0_groups[] = {"i2c0"}; 940 static const char * const i2c1_groups[] = {"i2c1"}; 941 static const char * const i2c2_groups[] = {"i2c2"}; 942 static const char * const i2c3_groups[] = {"i2c3"}; 943 static const char * const i2c5_groups[] = {"i2c5", "i2c5b", "i2c5c"}; 944 static const char * const i2c6_groups[] = {"i2c6"}; 945 static const char * const nand_groups[] = {"nand", "nand_cs1"}; 946 static const char * const sd_groups[] = {"sd"}; 947 static const char * const spi0_groups[] = {"spi0"}; 948 static const char * const spi1_groups[] = {"spi1"}; 949 static const char * const spi2_groups[] = {"spi2"}; 950 static const char * const system_bus_groups[] = {"system_bus", 951 "system_bus_cs0", 952 "system_bus_cs1", 953 "system_bus_cs2", 954 "system_bus_cs3", 955 "system_bus_cs4", 956 "system_bus_cs5", 957 "system_bus_cs6", 958 "system_bus_cs7"}; 959 static const char * const uart0_groups[] = {"uart0", "uart0b", "uart0b_ctsrts"}; 960 static const char * const uart1_groups[] = {"uart1"}; 961 static const char * const uart2_groups[] = {"uart2"}; 962 static const char * const uart3_groups[] = {"uart3"}; 963 static const char * const usb0_groups[] = {"usb0"}; 964 static const char * const usb1_groups[] = {"usb1"}; 965 static const char * const usb2_groups[] = {"usb2"}; 966 967 static const struct uniphier_pinmux_function uniphier_pro5_functions[] = { 968 UNIPHIER_PINMUX_FUNCTION(emmc), 969 UNIPHIER_PINMUX_FUNCTION(i2c0), 970 UNIPHIER_PINMUX_FUNCTION(i2c1), 971 UNIPHIER_PINMUX_FUNCTION(i2c2), 972 UNIPHIER_PINMUX_FUNCTION(i2c3), 973 UNIPHIER_PINMUX_FUNCTION(i2c5), 974 UNIPHIER_PINMUX_FUNCTION(i2c6), 975 UNIPHIER_PINMUX_FUNCTION(nand), 976 UNIPHIER_PINMUX_FUNCTION(sd), 977 UNIPHIER_PINMUX_FUNCTION(spi0), 978 UNIPHIER_PINMUX_FUNCTION(spi1), 979 UNIPHIER_PINMUX_FUNCTION(spi2), 980 UNIPHIER_PINMUX_FUNCTION(system_bus), 981 UNIPHIER_PINMUX_FUNCTION(uart0), 982 UNIPHIER_PINMUX_FUNCTION(uart1), 983 UNIPHIER_PINMUX_FUNCTION(uart2), 984 UNIPHIER_PINMUX_FUNCTION(uart3), 985 UNIPHIER_PINMUX_FUNCTION(usb0), 986 UNIPHIER_PINMUX_FUNCTION(usb1), 987 UNIPHIER_PINMUX_FUNCTION(usb2), 988 }; 989 990 static int uniphier_pro5_get_gpio_muxval(unsigned int pin, 991 unsigned int gpio_offset) 992 { 993 if (gpio_offset >= 120 && gpio_offset <= 141) /* XIRQ0-20 */ 994 return 14; 995 996 return 15; 997 } 998 999 static struct uniphier_pinctrl_socdata uniphier_pro5_pindata = { 1000 .pins = uniphier_pro5_pins, 1001 .npins = ARRAY_SIZE(uniphier_pro5_pins), 1002 .groups = uniphier_pro5_groups, 1003 .groups_count = ARRAY_SIZE(uniphier_pro5_groups), 1004 .functions = uniphier_pro5_functions, 1005 .functions_count = ARRAY_SIZE(uniphier_pro5_functions), 1006 .get_gpio_muxval = uniphier_pro5_get_gpio_muxval, 1007 .caps = UNIPHIER_PINCTRL_CAPS_DBGMUX_SEPARATE, 1008 }; 1009 1010 static int uniphier_pro5_pinctrl_probe(struct platform_device *pdev) 1011 { 1012 return uniphier_pinctrl_probe(pdev, &uniphier_pro5_pindata); 1013 } 1014 1015 static const struct of_device_id uniphier_pro5_pinctrl_match[] = { 1016 { .compatible = "socionext,uniphier-pro5-pinctrl" }, 1017 { /* sentinel */ } 1018 }; 1019 1020 static struct platform_driver uniphier_pro5_pinctrl_driver = { 1021 .probe = uniphier_pro5_pinctrl_probe, 1022 .driver = { 1023 .name = "uniphier-pro5-pinctrl", 1024 .of_match_table = uniphier_pro5_pinctrl_match, 1025 .pm = &uniphier_pinctrl_pm_ops, 1026 }, 1027 }; 1028 builtin_platform_driver(uniphier_pro5_pinctrl_driver); 1029