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