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("PAIOR0", 0xfffe3812, 16, 1, GROUP( 1468 0, 0, 0, 0, 0, 0, 0, 0, 1469 0, 0, 0, 0, 0, 0, 0, 0, 1470 0, 0, 0, 0, 0, 0, 0, 0, 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("PBCR5", 0xfffe3824, 16, 4, GROUP( 1478 0, 0, 0, 0, 0, 0, 0, 0, 1479 0, 0, 0, 0, 0, 0, 0, 0, 1480 PB22MD_00, PB22MD_01, PB22MD_10, 0, 0, 0, 0, 0, 1481 0, 0, 0, 0, 0, 0, 0, 0, 1482 PB21MD_0, PB21MD_1, 0, 0, 0, 0, 0, 0, 1483 0, 0, 0, 0, 0, 0, 0, 0, 1484 0, PB20MD_1, 0, 0, 0, 0, 0, 0, 1485 0, 0, 0, 0, 0, 0, 0, 0 )) 1486 1487 }, 1488 { PINMUX_CFG_REG("PBCR4", 0xfffe3826, 16, 4, GROUP( 1489 0, PB19MD_01, 0, 0, 0, 0, 0, 0, 1490 0, 0, 0, 0, 0, 0, 0, 0, 1491 0, PB18MD_01, 0, 0, 0, 0, 0, 0, 1492 0, 0, 0, 0, 0, 0, 0, 0, 1493 0, PB17MD_01, 0, 0, 0, 0, 0, 0, 1494 0, 0, 0, 0, 0, 0, 0, 0, 1495 0, PB16MD_01, 0, 0, 0, 0, 0, 0, 1496 0, 0, 0, 0, 0, 0, 0, 0 )) 1497 }, 1498 { PINMUX_CFG_REG("PBCR3", 0xfffe3828, 16, 4, GROUP( 1499 0, PB15MD_01, 0, 0, 0, 0, 0, 0, 1500 0, 0, 0, 0, 0, 0, 0, 0, 1501 0, PB14MD_01, 0, 0, 0, 0, 0, 0, 1502 0, 0, 0, 0, 0, 0, 0, 0, 1503 0, PB13MD_01, 0, 0, 0, 0, 0, 0, 1504 0, 0, 0, 0, 0, 0, 0, 0, 1505 0, PB12MD_01, 0, 0, 0, 0, 0, 0, 1506 0, 0, 0, 0, 0, 0, 0, 0 )) 1507 }, 1508 { PINMUX_CFG_REG("PBCR2", 0xfffe382a, 16, 4, GROUP( 1509 0, PB11MD_01, 0, 0, 0, 0, 0, 0, 1510 0, 0, 0, 0, 0, 0, 0, 0, 1511 0, PB10MD_01, 0, 0, 0, 0, 0, 0, 1512 0, 0, 0, 0, 0, 0, 0, 0, 1513 0, PB9MD_01, 0, 0, 0, 0, 0, 0, 1514 0, 0, 0, 0, 0, 0, 0, 0, 1515 0, PB8MD_01, 0, 0, 0, 0, 0, 0, 1516 0, 0, 0, 0, 0, 0, 0, 0 )) 1517 }, 1518 { PINMUX_CFG_REG("PBCR1", 0xfffe382c, 16, 4, GROUP( 1519 0, PB7MD_01, 0, 0, 0, 0, 0, 0, 1520 0, 0, 0, 0, 0, 0, 0, 0, 1521 0, PB6MD_01, 0, 0, 0, 0, 0, 0, 1522 0, 0, 0, 0, 0, 0, 0, 0, 1523 0, PB5MD_01, 0, 0, 0, 0, 0, 0, 1524 0, 0, 0, 0, 0, 0, 0, 0, 1525 0, PB4MD_01, 0, 0, 0, 0, 0, 0, 1526 0, 0, 0, 0, 0, 0, 0, 0 )) 1527 }, 1528 { PINMUX_CFG_REG("PBCR0", 0xfffe382e, 16, 4, GROUP( 1529 0, PB3MD_1, 0, 0, 0, 0, 0, 0, 1530 0, 0, 0, 0, 0, 0, 0, 0, 1531 0, PB2MD_1, 0, 0, 0, 0, 0, 0, 1532 0, 0, 0, 0, 0, 0, 0, 0, 1533 0, PB1MD_1, 0, 0, 0, 0, 0, 0, 1534 0, 0, 0, 0, 0, 0, 0, 0, 1535 0, 0, 0, 0, 0, 0, 0, 0, 1536 0, 0, 0, 0, 0, 0, 0, 0 )) 1537 }, 1538 1539 { PINMUX_CFG_REG("PBIOR1", 0xfffe3830, 16, 1, GROUP( 1540 0, 0, 0, 0, 0, 0, 0, 0, 1541 0, 0, 0, 0, 0, 0, 0, 0, 1542 0, 0, 1543 PB22_IN, PB22_OUT, 1544 PB21_IN, PB21_OUT, 1545 PB20_IN, PB20_OUT, 1546 PB19_IN, PB19_OUT, 1547 PB18_IN, PB18_OUT, 1548 PB17_IN, PB17_OUT, 1549 PB16_IN, PB16_OUT )) 1550 }, 1551 1552 { PINMUX_CFG_REG("PBIOR0", 0xfffe3832, 16, 1, GROUP( 1553 PB15_IN, PB15_OUT, 1554 PB14_IN, PB14_OUT, 1555 PB13_IN, PB13_OUT, 1556 PB12_IN, PB12_OUT, 1557 PB11_IN, PB11_OUT, 1558 PB10_IN, PB10_OUT, 1559 PB9_IN, PB9_OUT, 1560 PB8_IN, PB8_OUT, 1561 PB7_IN, PB7_OUT, 1562 PB6_IN, PB6_OUT, 1563 PB5_IN, PB5_OUT, 1564 PB4_IN, PB4_OUT, 1565 PB3_IN, PB3_OUT, 1566 PB2_IN, PB2_OUT, 1567 PB1_IN, PB1_OUT, 1568 0, 0 )) 1569 }, 1570 1571 { PINMUX_CFG_REG("PCCR2", 0xfffe384a, 16, 4, GROUP( 1572 0, 0, 0, 0, 0, 0, 0, 0, 1573 0, 0, 0, 0, 0, 0, 0, 0, 1574 PC10MD_0, PC10MD_1, 0, 0, 0, 0, 0, 0, 1575 0, 0, 0, 0, 0, 0, 0, 0, 1576 PC9MD_0, PC9MD_1, 0, 0, 0, 0, 0, 0, 1577 0, 0, 0, 0, 0, 0, 0, 0, 1578 PC8MD_00, PC8MD_01, PC8MD_10, PC8MD_11, 0, 0, 0, 0, 1579 0, 0, 0, 0, 0, 0, 0, 0 )) 1580 }, 1581 { PINMUX_CFG_REG("PCCR1", 0xfffe384c, 16, 4, GROUP( 1582 PC7MD_00, PC7MD_01, PC7MD_10, PC7MD_11, 0, 0, 0, 0, 1583 0, 0, 0, 0, 0, 0, 0, 0, 1584 PC6MD_00, PC6MD_01, PC6MD_10, PC6MD_11, 0, 0, 0, 0, 1585 0, 0, 0, 0, 0, 0, 0, 0, 1586 PC5MD_00, PC5MD_01, PC5MD_10, PC5MD_11, 0, 0, 0, 0, 1587 0, 0, 0, 0, 0, 0, 0, 0, 1588 PC4MD_0, PC4MD_1, 0, 0, 0, 0, 0, 0, 1589 0, 0, 0, 0, 0, 0, 0, 0 )) 1590 }, 1591 { PINMUX_CFG_REG("PCCR0", 0xfffe384e, 16, 4, GROUP( 1592 PC3MD_0, PC3MD_1, 0, 0, 0, 0, 0, 0, 1593 0, 0, 0, 0, 0, 0, 0, 0, 1594 PC2MD_0, PC2MD_1, 0, 0, 0, 0, 0, 0, 1595 0, 0, 0, 0, 0, 0, 0, 0, 1596 PC1MD_0, PC1MD_1, 0, 0, 0, 0, 0, 0, 1597 0, 0, 0, 0, 0, 0, 0, 0, 1598 PC0MD_0, PC0MD_1, 0, 0, 0, 0, 0, 0, 1599 0, 0, 0, 0, 0, 0, 0, 0 )) 1600 }, 1601 1602 { PINMUX_CFG_REG("PCIOR0", 0xfffe3852, 16, 1, GROUP( 1603 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1604 PC10_IN, PC10_OUT, 1605 PC9_IN, PC9_OUT, 1606 PC8_IN, PC8_OUT, 1607 PC7_IN, PC7_OUT, 1608 PC6_IN, PC6_OUT, 1609 PC5_IN, PC5_OUT, 1610 PC4_IN, PC4_OUT, 1611 PC3_IN, PC3_OUT, 1612 PC2_IN, PC2_OUT, 1613 PC1_IN, PC1_OUT, 1614 PC0_IN, PC0_OUT 1615 )) 1616 }, 1617 1618 { PINMUX_CFG_REG("PDCR3", 0xfffe3868, 16, 4, GROUP( 1619 0, PD15MD_01, 0, 0, 0, 0, 0, 0, 1620 0, 0, 0, 0, 0, 0, 0, 0, 1621 0, PD14MD_01, 0, 0, 0, 0, 0, 0, 1622 0, 0, 0, 0, 0, 0, 0, 0, 1623 0, PD13MD_01, 0, 0, 0, 0, 0, 0, 1624 0, 0, 0, 0, 0, 0, 0, 0, 1625 0, PD12MD_01, 0, 0, 0, 0, 0, 0, 1626 0, 0, 0, 0, 0, 0, 0, 0 )) 1627 }, 1628 { PINMUX_CFG_REG("PDCR2", 0xfffe386a, 16, 4, GROUP( 1629 0, PD11MD_01, 0, 0, 0, 0, 0, 0, 1630 0, 0, 0, 0, 0, 0, 0, 0, 1631 0, PD10MD_01, 0, 0, 0, 0, 0, 0, 1632 0, 0, 0, 0, 0, 0, 0, 0, 1633 0, PD9MD_01, 0, 0, 0, 0, 0, 0, 1634 0, 0, 0, 0, 0, 0, 0, 0, 1635 0, PD8MD_01, 0, 0, 0, 0, 0, 0, 1636 0, 0, 0, 0, 0, 0, 0, 0 )) 1637 }, 1638 { PINMUX_CFG_REG("PDCR1", 0xfffe386c, 16, 4, GROUP( 1639 0, PD7MD_01, 0, 0, 0, 0, 0, 0, 1640 0, 0, 0, 0, 0, 0, 0, 0, 1641 0, PD6MD_01, 0, 0, 0, 0, 0, 0, 1642 0, 0, 0, 0, 0, 0, 0, 0, 1643 0, PD5MD_01, 0, 0, 0, 0, 0, 0, 1644 0, 0, 0, 0, 0, 0, 0, 0, 1645 0, PD4MD_01, 0, 0, 0, 0, 0, 0, 1646 0, 0, 0, 0, 0, 0, 0, 0 )) 1647 }, 1648 { PINMUX_CFG_REG("PDCR0", 0xfffe386e, 16, 4, GROUP( 1649 0, PD3MD_01, 0, 0, 0, 0, 0, 0, 1650 0, 0, 0, 0, 0, 0, 0, 0, 1651 0, PD2MD_01, 0, 0, 0, 0, 0, 0, 1652 0, 0, 0, 0, 0, 0, 0, 0, 1653 0, PD1MD_01, 0, 0, 0, 0, 0, 0, 1654 0, 0, 0, 0, 0, 0, 0, 0, 1655 0, PD0MD_01, 0, 0, 0, 0, 0, 0, 1656 0, 0, 0, 0, 0, 0, 0, 0 )) 1657 }, 1658 1659 { PINMUX_CFG_REG("PDIOR0", 0xfffe3872, 16, 1, GROUP( 1660 PD15_IN, PD15_OUT, 1661 PD14_IN, PD14_OUT, 1662 PD13_IN, PD13_OUT, 1663 PD12_IN, PD12_OUT, 1664 PD11_IN, PD11_OUT, 1665 PD10_IN, PD10_OUT, 1666 PD9_IN, PD9_OUT, 1667 PD8_IN, PD8_OUT, 1668 PD7_IN, PD7_OUT, 1669 PD6_IN, PD6_OUT, 1670 PD5_IN, PD5_OUT, 1671 PD4_IN, PD4_OUT, 1672 PD3_IN, PD3_OUT, 1673 PD2_IN, PD2_OUT, 1674 PD1_IN, PD1_OUT, 1675 PD0_IN, PD0_OUT )) 1676 }, 1677 1678 { PINMUX_CFG_REG("PECR1", 0xfffe388c, 16, 4, GROUP( 1679 0, 0, 0, 0, 0, 0, 0, 0, 1680 0, 0, 0, 0, 0, 0, 0, 0, 1681 0, 0, 0, 0, 0, 0, 0, 0, 1682 0, 0, 0, 0, 0, 0, 0, 0, 1683 PE5MD_00, PE5MD_01, 0, PE5MD_11, 0, 0, 0, 0, 1684 0, 0, 0, 0, 0, 0, 0, 0, 1685 PE4MD_00, PE4MD_01, 0, PE4MD_11, 0, 0, 0, 0, 1686 0, 0, 0, 0, 0, 0, 0, 0 )) 1687 }, 1688 1689 { PINMUX_CFG_REG("PECR0", 0xfffe388e, 16, 4, GROUP( 1690 PE3MD_00, PE3MD_01, 0, PE3MD_11, 0, 0, 0, 0, 1691 0, 0, 0, 0, 0, 0, 0, 0, 1692 PE2MD_00, PE2MD_01, 0, PE2MD_11, 0, 0, 0, 0, 1693 0, 0, 0, 0, 0, 0, 0, 0, 1694 PE1MD_000, PE1MD_001, PE1MD_010, PE1MD_011, 1695 PE1MD_100, PE1MD_101, 0, 0, 1696 0, 0, 0, 0, 0, 0, 0, 0, 1697 PE0MD_00, PE0MD_01, PE0MD_10, PE0MD_11, 0, 0, 0, 0, 1698 0, 0, 0, 0, 0, 0, 0, 0 )) 1699 }, 1700 1701 { PINMUX_CFG_REG("PEIOR0", 0xfffe3892, 16, 1, GROUP( 1702 0, 0, 0, 0, 0, 0, 0, 0, 1703 0, 0, 0, 0, 0, 0, 0, 0, 1704 0, 0, 0, 0, 1705 PE5_IN, PE5_OUT, 1706 PE4_IN, PE4_OUT, 1707 PE3_IN, PE3_OUT, 1708 PE2_IN, PE2_OUT, 1709 PE1_IN, PE1_OUT, 1710 PE0_IN, PE0_OUT )) 1711 }, 1712 1713 { PINMUX_CFG_REG("PFCR3", 0xfffe38a8, 16, 4, GROUP( 1714 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1715 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1716 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1717 PF12MD_000, PF12MD_001, 0, PF12MD_011, 1718 PF12MD_100, PF12MD_101, 0, 0, 1719 0, 0, 0, 0, 0, 0, 0, 0 )) 1720 }, 1721 1722 { PINMUX_CFG_REG("PFCR2", 0xfffe38aa, 16, 4, GROUP( 1723 PF11MD_000, PF11MD_001, PF11MD_010, PF11MD_011, 1724 PF11MD_100, PF11MD_101, 0, 0, 1725 0, 0, 0, 0, 0, 0, 0, 0, 1726 PF10MD_000, PF10MD_001, PF10MD_010, PF10MD_011, 1727 PF10MD_100, PF10MD_101, 0, 0, 1728 0, 0, 0, 0, 0, 0, 0, 0, 1729 PF9MD_000, PF9MD_001, PF9MD_010, PF9MD_011, 1730 PF9MD_100, PF9MD_101, 0, 0, 1731 0, 0, 0, 0, 0, 0, 0, 0, 1732 PF8MD_00, PF8MD_01, PF8MD_10, PF8MD_11, 0, 0, 0, 0, 1733 0, 0, 0, 0, 0, 0, 0, 0 )) 1734 }, 1735 1736 { PINMUX_CFG_REG("PFCR1", 0xfffe38ac, 16, 4, GROUP( 1737 PF7MD_000, PF7MD_001, PF7MD_010, PF7MD_011, 1738 PF7MD_100, 0, 0, 0, 1739 0, 0, 0, 0, 0, 0, 0, 0, 1740 PF6MD_000, PF6MD_001, PF6MD_010, PF6MD_011, 1741 PF6MD_100, 0, 0, 0, 1742 0, 0, 0, 0, 0, 0, 0, 0, 1743 PF5MD_000, PF5MD_001, PF5MD_010, PF5MD_011, 1744 PF5MD_100, 0, 0, 0, 1745 0, 0, 0, 0, 0, 0, 0, 0, 1746 PF4MD_000, PF4MD_001, PF4MD_010, PF4MD_011, 1747 PF4MD_100, 0, 0, 0, 1748 0, 0, 0, 0, 0, 0, 0, 0 )) 1749 }, 1750 1751 { PINMUX_CFG_REG("PFCR0", 0xfffe38ae, 16, 4, GROUP( 1752 PF3MD_000, PF3MD_001, PF3MD_010, PF3MD_011, 1753 PF3MD_100, 0, 0, 0, 1754 0, 0, 0, 0, 0, 0, 0, 0, 1755 PF2MD_000, PF2MD_001, PF2MD_010, PF2MD_011, 1756 PF2MD_100, PF2MD_101, 0, 0, 1757 0, 0, 0, 0, 0, 0, 0, 0, 1758 PF1MD_000, PF1MD_001, PF1MD_010, PF1MD_011, 1759 PF1MD_100, PF1MD_101, 0, 0, 1760 0, 0, 0, 0, 0, 0, 0, 0, 1761 PF0MD_000, PF0MD_001, PF0MD_010, PF0MD_011, 1762 PF0MD_100, PF0MD_101, 0, 0, 1763 0, 0, 0, 0, 0, 0, 0, 0 )) 1764 }, 1765 1766 { PINMUX_CFG_REG("PFIOR0", 0xfffe38b2, 16, 1, GROUP( 1767 0, 0, 0, 0, 0, 0, 1768 PF12_IN, PF12_OUT, 1769 PF11_IN, PF11_OUT, 1770 PF10_IN, PF10_OUT, 1771 PF9_IN, PF9_OUT, 1772 PF8_IN, PF8_OUT, 1773 PF7_IN, PF7_OUT, 1774 PF6_IN, PF6_OUT, 1775 PF5_IN, PF5_OUT, 1776 PF4_IN, PF4_OUT, 1777 PF3_IN, PF3_OUT, 1778 PF2_IN, PF2_OUT, 1779 PF1_IN, PF1_OUT, 1780 PF0_IN, PF0_OUT )) 1781 }, 1782 1783 { PINMUX_CFG_REG("PGCR7", 0xfffe38c0, 16, 4, GROUP( 1784 0, 0, 0, 0, 0, 0, 0, 0, 1785 0, 0, 0, 0, 0, 0, 0, 0, 1786 0, 0, 0, 0, 0, 0, 0, 0, 1787 0, 0, 0, 0, 0, 0, 0, 0, 1788 0, 0, 0, 0, 0, 0, 0, 0, 1789 0, 0, 0, 0, 0, 0, 0, 0, 1790 PG0MD_000, PG0MD_001, PG0MD_010, PG0MD_011, 1791 PG0MD_100, 0, 0, 0, 1792 0, 0, 0, 0, 0, 0, 0, 0 )) 1793 }, 1794 1795 { PINMUX_CFG_REG("PGCR6", 0xfffe38c2, 16, 4, GROUP( 1796 0, 0, 0, 0, 0, 0, 0, 0, 1797 0, 0, 0, 0, 0, 0, 0, 0, 1798 0, 0, 0, 0, 0, 0, 0, 0, 1799 0, 0, 0, 0, 0, 0, 0, 0, 1800 0, 0, 0, 0, 0, 0, 0, 0, 1801 0, 0, 0, 0, 0, 0, 0, 0, 1802 PG24MD_00, PG24MD_01, PG24MD_10, PG24MD_11, 0, 0, 0, 0, 1803 0, 0, 0, 0, 0, 0, 0, 0 )) 1804 }, 1805 1806 { PINMUX_CFG_REG("PGCR5", 0xfffe38c4, 16, 4, GROUP( 1807 PG23MD_00, PG23MD_01, PG23MD_10, PG23MD_11, 0, 0, 0, 0, 1808 0, 0, 0, 0, 0, 0, 0, 0, 1809 PG22MD_00, PG22MD_01, PG22MD_10, PG22MD_11, 0, 0, 0, 0, 1810 0, 0, 0, 0, 0, 0, 0, 0, 1811 PG21MD_00, PG21MD_01, PG21MD_10, PG21MD_11, 0, 0, 0, 0, 1812 0, 0, 0, 0, 0, 0, 0, 0, 1813 PG20MD_000, PG20MD_001, PG20MD_010, PG20MD_011, 1814 PG20MD_100, 0, 0, 0, 1815 0, 0, 0, 0, 0, 0, 0, 0 )) 1816 }, 1817 1818 { PINMUX_CFG_REG("PGCR4", 0xfffe38c6, 16, 4, GROUP( 1819 PG19MD_000, PG19MD_001, PG19MD_010, PG19MD_011, 1820 PG19MD_100, 0, 0, 0, 1821 0, 0, 0, 0, 0, 0, 0, 0, 1822 PG18MD_000, PG18MD_001, PG18MD_010, PG18MD_011, 1823 PG18MD_100, 0, 0, 0, 1824 0, 0, 0, 0, 0, 0, 0, 0, 1825 PG17MD_000, PG17MD_001, PG17MD_010, PG17MD_011, 1826 PG17MD_100, 0, 0, 0, 1827 0, 0, 0, 0, 0, 0, 0, 0, 1828 PG16MD_000, PG16MD_001, PG16MD_010, PG16MD_011, 1829 PG16MD_100, 0, 0, 0, 1830 0, 0, 0, 0, 0, 0, 0, 0 )) 1831 }, 1832 1833 { PINMUX_CFG_REG("PGCR3", 0xfffe38c8, 16, 4, GROUP( 1834 PG15MD_000, PG15MD_001, PG15MD_010, PG15MD_011, 1835 PG15MD_100, 0, 0, 0, 1836 0, 0, 0, 0, 0, 0, 0, 0, 1837 PG14MD_000, PG14MD_001, PG14MD_010, 0, 1838 PG14MD_100, 0, 0, 0, 1839 0, 0, 0, 0, 0, 0, 0, 0, 1840 PG13MD_000, PG13MD_001, PG13MD_010, 0, 1841 PG13MD_100, 0, 0, 0, 1842 0, 0, 0, 0, 0, 0, 0, 0, 1843 PG12MD_000, PG12MD_001, PG12MD_010, 0, 1844 PG12MD_100, 0, 0, 0, 1845 0, 0, 0, 0, 0, 0, 0, 0 )) 1846 }, 1847 { PINMUX_CFG_REG("PGCR2", 0xfffe38ca, 16, 4, GROUP( 1848 PG11MD_000, PG11MD_001, PG11MD_010, PG11MD_011, 1849 PG11MD_100, PG11MD_101, 0, 0, 1850 0, 0, 0, 0, 0, 0, 0, 0, 1851 PG10MD_000, PG10MD_001, PG10MD_010, PG10MD_011, 1852 PG10MD_100, PG10MD_101, 0, 0, 1853 0, 0, 0, 0, 0, 0, 0, 0, 1854 PG9MD_000, PG9MD_001, PG9MD_010, PG9MD_011, 1855 PG9MD_100, PG9MD_101, 0, 0, 1856 0, 0, 0, 0, 0, 0, 0, 0, 1857 PG8MD_000, PG8MD_001, PG8MD_010, PG8MD_011, 1858 PG8MD_100, PG8MD_101, 0, 0, 1859 0, 0, 0, 0, 0, 0, 0, 0 )) 1860 }, 1861 1862 { PINMUX_CFG_REG("PGCR1", 0xfffe38cc, 16, 4, GROUP( 1863 PG7MD_00, PG7MD_01, PG7MD_10, PG7MD_11, 0, 0, 0, 0, 1864 0, 0, 0, 0, 0, 0, 0, 0, 1865 PG6MD_00, PG6MD_01, PG6MD_10, PG6MD_11, 0, 0, 0, 0, 1866 0, 0, 0, 0, 0, 0, 0, 0, 1867 PG5MD_00, PG5MD_01, PG5MD_10, PG5MD_11, 0, 0, 0, 0, 1868 0, 0, 0, 0, 0, 0, 0, 0, 1869 PG4MD_00, PG4MD_01, PG4MD_10, PG4MD_11, 0, 0, 0, 0, 1870 0, 0, 0, 0, 0, 0, 0, 0 )) 1871 }, 1872 { PINMUX_CFG_REG("PGCR0", 0xfffe38ce, 16, 4, 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 0, 0, 0, 0, 0, 0, 0, 0, 1880 0, 0, 0, 0, 0, 0, 0, 0 )) 1881 }, 1882 { PINMUX_CFG_REG("PGIOR1", 0xfffe38d0, 16, 1, GROUP( 1883 0, 0, 0, 0, 0, 0, 0, 0, 1884 0, 0, 0, 0, 0, 0, 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 {} 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 { } 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