GPIO Alphanumeric to GPIO Numeric Assignment
GPIOโ
This article describes the relationship between a SOC's GPIO Name and GPIO number used in various SW APIs.
Most pins on a SOC can be configured for different functions, one of them GPIO.
A SOC pin has an alphanumeric name, the GPIO functionality usually has an alphanumeric name and in the SW APIs the GPIO is often referenced as a number.
To make matters more complicated the SOC pin is then routed to the modules connector and gets an additional module pin name and number.
The WinCE GPIOLib.h provides a MACRO for the conversion from alphanumeric to numbers (TEGRA_GPIONUM). We recommend to use the SODIMM pin number instead of GPIO Numbers for better compatibility with other Colibri modules when ever possible.
The Linux kernel uses the numeric-only representation in its GPIO subsystem and in the sysfs interface to the GPIO functionality.
E.g. on a Colibri T20 the T20 pin SDIO3_DAT0 has the following relationships.
Module Pin Name | Module Pin Number | SOC Pin Name | SOC GPIO Name | GPIO number |
---|---|---|---|---|
GPIO: PS2.SCL1 SODIMM_63 | 63 | SDIO3_DAT0 | B7 | 15 |
The relationship between Module Pin Name / Module Pin Number / SOC Pin Name / SOC GPIO Name can be found in the modules datasheet.
Apalis iMX8โ
The i.MX 8 modules have GPIO controllers which can control up to 32 GPIOs. The GPIO names are formed "LSIO.GPIO<controller>.IO<gpio>" with controller in 0..6 and gpio in 00..31.
E.g. a GPIO function could be named LSIO.GPIO2.IO04.
The numeric value is calculated as follows:
480 - 32 x controller + gpio
E.g. LSIO.GPIO0.IO00 becomes 480, LSIO.GPIO2.IO04 becomes 420.
You must find the correspondence between GPIO and the edge connector pin (X1) that you want to use in the CoM datasheet. A good place to start is the SoC Function List:
Apalis iMX8 GPIO table
this table is automatically generated from the formula above. Some of the GPIO lines from the table may not be available in a specific Toradex SoM or NXP SoC.
Gpio | Numeric Representation |
---|---|
LSIO.GPIO00.IO00 | 480 |
LSIO.GPIO00.IO01 | 481 |
LSIO.GPIO00.IO02 | 482 |
LSIO.GPIO00.IO03 | 483 |
LSIO.GPIO00.IO04 | 484 |
LSIO.GPIO00.IO05 | 485 |
LSIO.GPIO00.IO06 | 486 |
LSIO.GPIO00.IO07 | 487 |
LSIO.GPIO00.IO08 | 488 |
LSIO.GPIO00.IO09 | 489 |
LSIO.GPIO00.IO10 | 490 |
LSIO.GPIO00.IO11 | 491 |
LSIO.GPIO00.IO12 | 492 |
LSIO.GPIO00.IO13 | 493 |
LSIO.GPIO00.IO14 | 494 |
LSIO.GPIO00.IO15 | 495 |
LSIO.GPIO00.IO16 | 496 |
LSIO.GPIO00.IO17 | 497 |
LSIO.GPIO00.IO18 | 498 |
LSIO.GPIO00.IO19 | 499 |
LSIO.GPIO00.IO20 | 500 |
LSIO.GPIO00.IO21 | 501 |
LSIO.GPIO00.IO22 | 502 |
LSIO.GPIO00.IO23 | 503 |
LSIO.GPIO00.IO24 | 504 |
LSIO.GPIO00.IO25 | 505 |
LSIO.GPIO00.IO26 | 506 |
LSIO.GPIO00.IO27 | 507 |
LSIO.GPIO00.IO28 | 508 |
LSIO.GPIO00.IO29 | 509 |
LSIO.GPIO00.IO30 | 510 |
LSIO.GPIO00.IO31 | 511 |
LSIO.GPIO01.IO00 | 448 |
LSIO.GPIO01.IO01 | 449 |
LSIO.GPIO01.IO02 | 450 |
LSIO.GPIO01.IO03 | 451 |
LSIO.GPIO01.IO04 | 452 |
LSIO.GPIO01.IO05 | 453 |
LSIO.GPIO01.IO06 | 454 |
LSIO.GPIO01.IO07 | 455 |
LSIO.GPIO01.IO08 | 456 |
LSIO.GPIO01.IO09 | 457 |
LSIO.GPIO01.IO10 | 458 |
LSIO.GPIO01.IO11 | 459 |
LSIO.GPIO01.IO12 | 460 |
LSIO.GPIO01.IO13 | 461 |
LSIO.GPIO01.IO14 | 462 |
LSIO.GPIO01.IO15 | 463 |
LSIO.GPIO01.IO16 | 464 |
LSIO.GPIO01.IO17 | 465 |
LSIO.GPIO01.IO18 | 466 |
LSIO.GPIO01.IO19 | 467 |
LSIO.GPIO01.IO20 | 468 |
LSIO.GPIO01.IO21 | 469 |
LSIO.GPIO01.IO22 | 470 |
LSIO.GPIO01.IO23 | 471 |
LSIO.GPIO01.IO24 | 472 |
LSIO.GPIO01.IO25 | 473 |
LSIO.GPIO01.IO26 | 474 |
LSIO.GPIO01.IO27 | 475 |
LSIO.GPIO01.IO28 | 476 |
LSIO.GPIO01.IO29 | 477 |
LSIO.GPIO01.IO30 | 478 |
LSIO.GPIO01.IO31 | 479 |
LSIO.GPIO02.IO00 | 416 |
LSIO.GPIO02.IO01 | 417 |
LSIO.GPIO02.IO02 | 418 |
LSIO.GPIO02.IO03 | 419 |
LSIO.GPIO02.IO04 | 420 |
LSIO.GPIO02.IO05 | 421 |
LSIO.GPIO02.IO06 | 422 |
LSIO.GPIO02.IO07 | 423 |
LSIO.GPIO02.IO08 | 424 |
LSIO.GPIO02.IO09 | 425 |
LSIO.GPIO02.IO10 | 426 |
LSIO.GPIO02.IO11 | 427 |
LSIO.GPIO02.IO12 | 428 |
LSIO.GPIO02.IO13 | 429 |
LSIO.GPIO02.IO14 | 430 |
LSIO.GPIO02.IO15 | 431 |
LSIO.GPIO02.IO16 | 432 |
LSIO.GPIO02.IO17 | 433 |
LSIO.GPIO02.IO18 | 434 |
LSIO.GPIO02.IO19 | 435 |
LSIO.GPIO02.IO20 | 436 |
LSIO.GPIO02.IO21 | 437 |
LSIO.GPIO02.IO22 | 438 |
LSIO.GPIO02.IO23 | 439 |
LSIO.GPIO02.IO24 | 440 |
LSIO.GPIO02.IO25 | 441 |
LSIO.GPIO02.IO26 | 442 |
LSIO.GPIO02.IO27 | 443 |
LSIO.GPIO02.IO28 | 444 |
LSIO.GPIO02.IO29 | 445 |
LSIO.GPIO02.IO30 | 446 |
LSIO.GPIO02.IO31 | 447 |
LSIO.GPIO03.IO00 | 384 |
LSIO.GPIO03.IO01 | 385 |
LSIO.GPIO03.IO02 | 386 |
LSIO.GPIO03.IO03 | 387 |
LSIO.GPIO03.IO04 | 388 |
LSIO.GPIO03.IO05 | 389 |
LSIO.GPIO03.IO06 | 390 |
LSIO.GPIO03.IO07 | 391 |
LSIO.GPIO03.IO08 | 392 |
LSIO.GPIO03.IO09 | 393 |
LSIO.GPIO03.IO10 | 394 |
LSIO.GPIO03.IO11 | 395 |
LSIO.GPIO03.IO12 | 396 |
LSIO.GPIO03.IO13 | 397 |
LSIO.GPIO03.IO14 | 398 |
LSIO.GPIO03.IO15 | 399 |
LSIO.GPIO03.IO16 | 400 |
LSIO.GPIO03.IO17 | 401 |
LSIO.GPIO03.IO18 | 402 |
LSIO.GPIO03.IO19 | 403 |
LSIO.GPIO03.IO20 | 404 |
LSIO.GPIO03.IO21 | 405 |
LSIO.GPIO03.IO22 | 406 |
LSIO.GPIO03.IO23 | 407 |
LSIO.GPIO03.IO24 | 408 |
LSIO.GPIO03.IO25 | 409 |
LSIO.GPIO03.IO26 | 410 |
LSIO.GPIO03.IO27 | 411 |
LSIO.GPIO03.IO28 | 412 |
LSIO.GPIO03.IO29 | 413 |
LSIO.GPIO03.IO30 | 414 |
LSIO.GPIO03.IO31 | 415 |
LSIO.GPIO04.IO00 | 352 |
LSIO.GPIO04.IO01 | 353 |
LSIO.GPIO04.IO02 | 354 |
LSIO.GPIO04.IO03 | 355 |
LSIO.GPIO04.IO04 | 356 |
LSIO.GPIO04.IO05 | 357 |
LSIO.GPIO04.IO06 | 358 |
LSIO.GPIO04.IO07 | 359 |
LSIO.GPIO04.IO08 | 360 |
LSIO.GPIO04.IO09 | 361 |
LSIO.GPIO04.IO10 | 362 |
LSIO.GPIO04.IO11 | 363 |
LSIO.GPIO04.IO12 | 364 |
LSIO.GPIO04.IO13 | 365 |
LSIO.GPIO04.IO14 | 366 |
LSIO.GPIO04.IO15 | 367 |
LSIO.GPIO04.IO16 | 368 |
LSIO.GPIO04.IO17 | 369 |
LSIO.GPIO04.IO18 | 370 |
LSIO.GPIO04.IO19 | 371 |
LSIO.GPIO04.IO20 | 372 |
LSIO.GPIO04.IO21 | 373 |
LSIO.GPIO04.IO22 | 374 |
LSIO.GPIO04.IO23 | 375 |
LSIO.GPIO04.IO24 | 376 |
LSIO.GPIO04.IO25 | 377 |
LSIO.GPIO04.IO26 | 378 |
LSIO.GPIO04.IO27 | 379 |
LSIO.GPIO04.IO28 | 380 |
LSIO.GPIO04.IO29 | 381 |
LSIO.GPIO04.IO30 | 382 |
LSIO.GPIO04.IO31 | 383 |
LSIO.GPIO05.IO00 | 320 |
LSIO.GPIO05.IO01 | 321 |
LSIO.GPIO05.IO02 | 322 |
LSIO.GPIO05.IO03 | 323 |
LSIO.GPIO05.IO04 | 324 |
LSIO.GPIO05.IO05 | 325 |
LSIO.GPIO05.IO06 | 326 |
LSIO.GPIO05.IO07 | 327 |
LSIO.GPIO05.IO08 | 328 |
LSIO.GPIO05.IO09 | 329 |
LSIO.GPIO05.IO10 | 330 |
LSIO.GPIO05.IO11 | 331 |
LSIO.GPIO05.IO12 | 332 |
LSIO.GPIO05.IO13 | 333 |
LSIO.GPIO05.IO14 | 334 |
LSIO.GPIO05.IO15 | 335 |
LSIO.GPIO05.IO16 | 336 |
LSIO.GPIO05.IO17 | 337 |
LSIO.GPIO05.IO18 | 338 |
LSIO.GPIO05.IO19 | 339 |
LSIO.GPIO05.IO20 | 340 |
LSIO.GPIO05.IO21 | 341 |
LSIO.GPIO05.IO22 | 342 |
LSIO.GPIO05.IO23 | 343 |
LSIO.GPIO05.IO24 | 344 |
LSIO.GPIO05.IO25 | 345 |
LSIO.GPIO05.IO26 | 346 |
LSIO.GPIO05.IO27 | 347 |
LSIO.GPIO05.IO28 | 348 |
LSIO.GPIO05.IO29 | 349 |
LSIO.GPIO05.IO30 | 350 |
LSIO.GPIO05.IO31 | 351 |
LSIO.GPIO06.IO00 | 288 |
LSIO.GPIO06.IO01 | 289 |
LSIO.GPIO06.IO02 | 290 |
LSIO.GPIO06.IO03 | 291 |
LSIO.GPIO06.IO04 | 292 |
LSIO.GPIO06.IO05 | 293 |
LSIO.GPIO06.IO06 | 294 |
LSIO.GPIO06.IO07 | 295 |
LSIO.GPIO06.IO08 | 296 |
LSIO.GPIO06.IO09 | 297 |
LSIO.GPIO06.IO10 | 298 |
LSIO.GPIO06.IO11 | 299 |
LSIO.GPIO06.IO12 | 300 |
LSIO.GPIO06.IO13 | 301 |
LSIO.GPIO06.IO14 | 302 |
LSIO.GPIO06.IO15 | 303 |
LSIO.GPIO06.IO16 | 304 |
LSIO.GPIO06.IO17 | 305 |
LSIO.GPIO06.IO18 | 306 |
LSIO.GPIO06.IO19 | 307 |
LSIO.GPIO06.IO20 | 308 |
LSIO.GPIO06.IO21 | 309 |
LSIO.GPIO06.IO22 | 310 |
LSIO.GPIO06.IO23 | 311 |
LSIO.GPIO06.IO24 | 312 |
LSIO.GPIO06.IO25 | 313 |
LSIO.GPIO06.IO26 | 314 |
LSIO.GPIO06.IO27 | 315 |
LSIO.GPIO06.IO28 | 316 |
LSIO.GPIO06.IO29 | 317 |
LSIO.GPIO06.IO30 | 318 |
LSIO.GPIO06.IO31 | 319 |
Colibri iMX8Xโ
The i.MX 8X modules have GPIO controllers which can control up to 32 GPIOs. The GPIO names are formed "LSIO.GPIO<controller>.IO<gpio>" with controller in 0..6 and gpio in 00..31.
E.g. a GPIO function could be named LSIO.GPIO2.IO04.
The numeric value is calculated as follows:
32 x controller + gpio
E.g. LSIO.GPIO0.IO00 becomes 0, LSIO.GPIO2.IO04 becomes 68.
You must find the correspondence between GPIO and the edge connector pin (X1) that you want to use in the CoM datasheet. A good place to start is the SoC Function List:
Colibri iMX8X GPIO table
this table is automatically generated from the formula above. Some of the GPIO lines from the table may not be available in a specific Toradex SoM or NXP SoC.
Gpio | Numeric Representation |
---|---|
LSIO.GPIO00.IO00 | 0 |
LSIO.GPIO00.IO01 | 1 |
LSIO.GPIO00.IO02 | 2 |
LSIO.GPIO00.IO03 | 3 |
LSIO.GPIO00.IO04 | 4 |
LSIO.GPIO00.IO05 | 5 |
LSIO.GPIO00.IO06 | 6 |
LSIO.GPIO00.IO07 | 7 |
LSIO.GPIO00.IO08 | 8 |
LSIO.GPIO00.IO09 | 9 |
LSIO.GPIO00.IO10 | 10 |
LSIO.GPIO00.IO11 | 11 |
LSIO.GPIO00.IO12 | 12 |
LSIO.GPIO00.IO13 | 13 |
LSIO.GPIO00.IO14 | 14 |
LSIO.GPIO00.IO15 | 15 |
LSIO.GPIO00.IO16 | 16 |
LSIO.GPIO00.IO17 | 17 |
LSIO.GPIO00.IO18 | 18 |
LSIO.GPIO00.IO19 | 19 |
LSIO.GPIO00.IO20 | 20 |
LSIO.GPIO00.IO21 | 21 |
LSIO.GPIO00.IO22 | 22 |
LSIO.GPIO00.IO23 | 23 |
LSIO.GPIO00.IO24 | 24 |
LSIO.GPIO00.IO25 | 25 |
LSIO.GPIO00.IO26 | 26 |
LSIO.GPIO00.IO27 | 27 |
LSIO.GPIO00.IO28 | 28 |
LSIO.GPIO00.IO29 | 29 |
LSIO.GPIO00.IO30 | 30 |
LSIO.GPIO00.IO31 | 31 |
LSIO.GPIO01.IO00 | 32 |
LSIO.GPIO01.IO01 | 33 |
LSIO.GPIO01.IO02 | 34 |
LSIO.GPIO01.IO03 | 35 |
LSIO.GPIO01.IO04 | 36 |
LSIO.GPIO01.IO05 | 37 |
LSIO.GPIO01.IO06 | 38 |
LSIO.GPIO01.IO07 | 39 |
LSIO.GPIO01.IO08 | 40 |
LSIO.GPIO01.IO09 | 41 |
LSIO.GPIO01.IO10 | 42 |
LSIO.GPIO01.IO11 | 43 |
LSIO.GPIO01.IO12 | 44 |
LSIO.GPIO01.IO13 | 45 |
LSIO.GPIO01.IO14 | 46 |
LSIO.GPIO01.IO15 | 47 |
LSIO.GPIO01.IO16 | 48 |
LSIO.GPIO01.IO17 | 49 |
LSIO.GPIO01.IO18 | 50 |
LSIO.GPIO01.IO19 | 51 |
LSIO.GPIO01.IO20 | 52 |
LSIO.GPIO01.IO21 | 53 |
LSIO.GPIO01.IO22 | 54 |
LSIO.GPIO01.IO23 | 55 |
LSIO.GPIO01.IO24 | 56 |
LSIO.GPIO01.IO25 | 57 |
LSIO.GPIO01.IO26 | 58 |
LSIO.GPIO01.IO27 | 59 |
LSIO.GPIO01.IO28 | 60 |
LSIO.GPIO01.IO29 | 61 |
LSIO.GPIO01.IO30 | 62 |
LSIO.GPIO01.IO31 | 63 |
LSIO.GPIO02.IO00 | 64 |
LSIO.GPIO02.IO01 | 65 |
LSIO.GPIO02.IO02 | 66 |
LSIO.GPIO02.IO03 | 67 |
LSIO.GPIO02.IO04 | 68 |
LSIO.GPIO02.IO05 | 69 |
LSIO.GPIO02.IO06 | 70 |
LSIO.GPIO02.IO07 | 71 |
LSIO.GPIO02.IO08 | 72 |
LSIO.GPIO02.IO09 | 73 |
LSIO.GPIO02.IO10 | 74 |
LSIO.GPIO02.IO11 | 75 |
LSIO.GPIO02.IO12 | 76 |
LSIO.GPIO02.IO13 | 77 |
LSIO.GPIO02.IO14 | 78 |
LSIO.GPIO02.IO15 | 79 |
LSIO.GPIO02.IO16 | 80 |
LSIO.GPIO02.IO17 | 81 |
LSIO.GPIO02.IO18 | 82 |
LSIO.GPIO02.IO19 | 83 |
LSIO.GPIO02.IO20 | 84 |
LSIO.GPIO02.IO21 | 85 |
LSIO.GPIO02.IO22 | 86 |
LSIO.GPIO02.IO23 | 87 |
LSIO.GPIO02.IO24 | 88 |
LSIO.GPIO02.IO25 | 89 |
LSIO.GPIO02.IO26 | 90 |
LSIO.GPIO02.IO27 | 91 |
LSIO.GPIO02.IO28 | 92 |
LSIO.GPIO02.IO29 | 93 |
LSIO.GPIO02.IO30 | 94 |
LSIO.GPIO02.IO31 | 95 |
LSIO.GPIO03.IO00 | 96 |
LSIO.GPIO03.IO01 | 97 |
LSIO.GPIO03.IO02 | 98 |
LSIO.GPIO03.IO03 | 99 |
LSIO.GPIO03.IO04 | 100 |
LSIO.GPIO03.IO05 | 101 |
LSIO.GPIO03.IO06 | 102 |
LSIO.GPIO03.IO07 | 103 |
LSIO.GPIO03.IO08 | 104 |
LSIO.GPIO03.IO09 | 105 |
LSIO.GPIO03.IO10 | 106 |
LSIO.GPIO03.IO11 | 107 |
LSIO.GPIO03.IO12 | 108 |
LSIO.GPIO03.IO13 | 109 |
LSIO.GPIO03.IO14 | 110 |
LSIO.GPIO03.IO15 | 111 |
LSIO.GPIO03.IO16 | 112 |
LSIO.GPIO03.IO17 | 113 |
LSIO.GPIO03.IO18 | 114 |
LSIO.GPIO03.IO19 | 115 |
LSIO.GPIO03.IO20 | 116 |
LSIO.GPIO03.IO21 | 117 |
LSIO.GPIO03.IO22 | 118 |
LSIO.GPIO03.IO23 | 119 |
LSIO.GPIO03.IO24 | 120 |
LSIO.GPIO03.IO25 | 121 |
LSIO.GPIO03.IO26 | 122 |
LSIO.GPIO03.IO27 | 123 |
LSIO.GPIO03.IO28 | 124 |
LSIO.GPIO03.IO29 | 125 |
LSIO.GPIO03.IO30 | 126 |
LSIO.GPIO03.IO31 | 127 |
LSIO.GPIO04.IO00 | 128 |
LSIO.GPIO04.IO01 | 129 |
LSIO.GPIO04.IO02 | 130 |
LSIO.GPIO04.IO03 | 131 |
LSIO.GPIO04.IO04 | 132 |
LSIO.GPIO04.IO05 | 133 |
LSIO.GPIO04.IO06 | 134 |
LSIO.GPIO04.IO07 | 135 |
LSIO.GPIO04.IO08 | 136 |
LSIO.GPIO04.IO09 | 137 |
LSIO.GPIO04.IO10 | 138 |
LSIO.GPIO04.IO11 | 139 |
LSIO.GPIO04.IO12 | 140 |
LSIO.GPIO04.IO13 | 141 |
LSIO.GPIO04.IO14 | 142 |
LSIO.GPIO04.IO15 | 143 |
LSIO.GPIO04.IO16 | 144 |
LSIO.GPIO04.IO17 | 145 |
LSIO.GPIO04.IO18 | 146 |
LSIO.GPIO04.IO19 | 147 |
LSIO.GPIO04.IO20 | 148 |
LSIO.GPIO04.IO21 | 149 |
LSIO.GPIO04.IO22 | 150 |
LSIO.GPIO04.IO23 | 151 |
LSIO.GPIO04.IO24 | 152 |
LSIO.GPIO04.IO25 | 153 |
LSIO.GPIO04.IO26 | 154 |
LSIO.GPIO04.IO27 | 155 |
LSIO.GPIO04.IO28 | 156 |
LSIO.GPIO04.IO29 | 157 |
LSIO.GPIO04.IO30 | 158 |
LSIO.GPIO04.IO31 | 159 |
LSIO.GPIO05.IO00 | 160 |
LSIO.GPIO05.IO01 | 161 |
LSIO.GPIO05.IO02 | 162 |
LSIO.GPIO05.IO03 | 163 |
LSIO.GPIO05.IO04 | 164 |
LSIO.GPIO05.IO05 | 165 |
LSIO.GPIO05.IO06 | 166 |
LSIO.GPIO05.IO07 | 167 |
LSIO.GPIO05.IO08 | 168 |
LSIO.GPIO05.IO09 | 169 |
LSIO.GPIO05.IO10 | 170 |
LSIO.GPIO05.IO11 | 171 |
LSIO.GPIO05.IO12 | 172 |
LSIO.GPIO05.IO13 | 173 |
LSIO.GPIO05.IO14 | 174 |
LSIO.GPIO05.IO15 | 175 |
LSIO.GPIO05.IO16 | 176 |
LSIO.GPIO05.IO17 | 177 |
LSIO.GPIO05.IO18 | 178 |
LSIO.GPIO05.IO19 | 179 |
LSIO.GPIO05.IO20 | 180 |
LSIO.GPIO05.IO21 | 181 |
LSIO.GPIO05.IO22 | 182 |
LSIO.GPIO05.IO23 | 183 |
LSIO.GPIO05.IO24 | 184 |
LSIO.GPIO05.IO25 | 185 |
LSIO.GPIO05.IO26 | 186 |
LSIO.GPIO05.IO27 | 187 |
LSIO.GPIO05.IO28 | 188 |
LSIO.GPIO05.IO29 | 189 |
LSIO.GPIO05.IO30 | 190 |
LSIO.GPIO05.IO31 | 191 |
LSIO.GPIO06.IO00 | 192 |
LSIO.GPIO06.IO01 | 193 |
LSIO.GPIO06.IO02 | 194 |
LSIO.GPIO06.IO03 | 195 |
LSIO.GPIO06.IO04 | 196 |
LSIO.GPIO06.IO05 | 197 |
LSIO.GPIO06.IO06 | 198 |
LSIO.GPIO06.IO07 | 199 |
LSIO.GPIO06.IO08 | 200 |
LSIO.GPIO06.IO09 | 201 |
LSIO.GPIO06.IO10 | 202 |
LSIO.GPIO06.IO11 | 203 |
LSIO.GPIO06.IO12 | 204 |
LSIO.GPIO06.IO13 | 205 |
LSIO.GPIO06.IO14 | 206 |
LSIO.GPIO06.IO15 | 207 |
LSIO.GPIO06.IO16 | 208 |
LSIO.GPIO06.IO17 | 209 |
LSIO.GPIO06.IO18 | 210 |
LSIO.GPIO06.IO19 | 211 |
LSIO.GPIO06.IO20 | 212 |
LSIO.GPIO06.IO21 | 213 |
LSIO.GPIO06.IO22 | 214 |
LSIO.GPIO06.IO23 | 215 |
LSIO.GPIO06.IO24 | 216 |
LSIO.GPIO06.IO25 | 217 |
LSIO.GPIO06.IO26 | 218 |
LSIO.GPIO06.IO27 | 219 |
LSIO.GPIO06.IO28 | 220 |
LSIO.GPIO06.IO29 | 221 |
LSIO.GPIO06.IO30 | 222 |
LSIO.GPIO06.IO31 | 223 |
iMX6, iMX6ULL, iMX7, iMX8M Mini/Plusโ
The i.MX 6/6ULL/7/8M Mini/8M Plus modules have GPIO controllers which can control up to 32 GPIOs.
The GPIO names are formed "GPIO<controller>_IO<gpio>" or "gpio<controller>.IO[<gpio>]" with controller in 1..7 and gpio in 00..31.
E.g. a GPIO function could be named GPIO2_IO04
or gpio2.IO04
, depending on the processor.
The numeric value is calculated as follows:
32 x (controller- 1) + gpio
E.g. GPIO1_IO00 becomes 0, GPIO2_IO04 becomes 36.
Note that not all GPIO controllers provide all 32 possible GPIOs, so the list has gaps.
You must find the correspondence between GPIO and the edge connector pin (X1) that you want to use in the CoM datasheet. A good place to start is the SoC Function List:
- Verdin iMX8M Mini datasheet - the SoC Function List is on page 26
- Verdin iMX8M Plus datasheet - the SoC Function List is on page 26
- Apalis iMX6 datasheet - the SoC Function List is on page 21
- Colibri iMX6 datasheet - the SoC Function List is on page 23
- Colibri iMX6ULL datasheet - the SoC Function List is on page 21
- Colibri iMX7 datasheet - the SoC Function List is on page 20
iMX6, iMX6ULL, iMX7, iMX8M Mini/Plus GPIO table
Gpio | Numeric Representation |
---|---|
GPIO1_IO00 | 0 |
GPIO1_IO01 | 1 |
GPIO1_IO02 | 2 |
GPIO1_IO03 | 3 |
GPIO1_IO04 | 4 |
GPIO1_IO05 | 5 |
GPIO1_IO06 | 6 |
GPIO1_IO07 | 7 |
GPIO1_IO08 | 8 |
GPIO1_IO09 | 9 |
GPIO1_IO10 | 10 |
GPIO1_IO11 | 11 |
GPIO1_IO12 | 12 |
GPIO1_IO13 | 13 |
GPIO1_IO14 | 14 |
GPIO1_IO15 | 15 |
GPIO1_IO16 | 16 |
GPIO1_IO17 | 17 |
GPIO1_IO18 | 18 |
GPIO1_IO19 | 19 |
GPIO1_IO20 | 20 |
GPIO1_IO21 | 21 |
GPIO1_IO22 | 22 |
GPIO1_IO23 | 23 |
GPIO1_IO24 | 24 |
GPIO1_IO25 | 25 |
GPIO1_IO26 | 26 |
GPIO1_IO27 | 27 |
GPIO1_IO28 | 28 |
GPIO1_IO29 | 29 |
GPIO1_IO30 | 30 |
GPIO1_IO31 | 31 |
GPIO2_IO00 | 32 |
GPIO2_IO01 | 33 |
GPIO2_IO02 | 34 |
GPIO2_IO03 | 35 |
GPIO2_IO04 | 36 |
GPIO2_IO05 | 37 |
GPIO2_IO06 | 38 |
GPIO2_IO07 | 39 |
GPIO2_IO08 | 40 |
GPIO2_IO09 | 41 |
GPIO2_IO10 | 42 |
GPIO2_IO11 | 43 |
GPIO2_IO12 | 44 |
GPIO2_IO13 | 45 |
GPIO2_IO14 | 46 |
GPIO2_IO15 | 47 |
GPIO2_IO16 | 48 |
GPIO2_IO17 | 49 |
GPIO2_IO18 | 50 |
GPIO2_IO19 | 51 |
GPIO2_IO20 | 52 |
GPIO2_IO21 | 53 |
GPIO2_IO22 | 54 |
GPIO2_IO23 | 55 |
GPIO2_IO24 | 56 |
GPIO2_IO25 | 57 |
GPIO2_IO26 | 58 |
GPIO2_IO27 | 59 |
GPIO2_IO28 | 60 |
GPIO2_IO29 | 61 |
GPIO2_IO30 | 62 |
GPIO2_IO31 | 63 |
GPIO3_IO00 | 64 |
GPIO3_IO01 | 65 |
GPIO3_IO02 | 66 |
GPIO3_IO03 | 67 |
GPIO3_IO04 | 68 |
GPIO3_IO05 | 69 |
GPIO3_IO06 | 70 |
GPIO3_IO07 | 71 |
GPIO3_IO08 | 72 |
GPIO3_IO09 | 73 |
GPIO3_IO10 | 74 |
GPIO3_IO11 | 75 |
GPIO3_IO12 | 76 |
GPIO3_IO13 | 77 |
GPIO3_IO14 | 78 |
GPIO3_IO15 | 79 |
GPIO3_IO16 | 80 |
GPIO3_IO17 | 81 |
GPIO3_IO18 | 82 |
GPIO3_IO19 | 83 |
GPIO3_IO20 | 84 |
GPIO3_IO21 | 85 |
GPIO3_IO22 | 86 |
GPIO3_IO23 | 87 |
GPIO3_IO24 | 88 |
GPIO3_IO25 | 89 |
GPIO3_IO26 | 90 |
GPIO3_IO27 | 91 |
GPIO3_IO28 | 92 |
GPIO3_IO29 | 93 |
GPIO3_IO30 | 94 |
GPIO3_IO31 | 95 |
GPIO4_IO05 | 101 |
GPIO4_IO06 | 102 |
GPIO4_IO07 | 103 |
GPIO4_IO08 | 104 |
GPIO4_IO09 | 105 |
GPIO4_IO10 | 106 |
GPIO4_IO11 | 107 |
GPIO4_IO12 | 108 |
GPIO4_IO13 | 109 |
GPIO4_IO14 | 110 |
GPIO4_IO15 | 111 |
GPIO4_IO16 | 112 |
GPIO4_IO17 | 113 |
GPIO4_IO18 | 114 |
GPIO4_IO19 | 115 |
GPIO4_IO20 | 116 |
GPIO4_IO21 | 117 |
GPIO4_IO22 | 118 |
GPIO4_IO23 | 119 |
GPIO4_IO24 | 120 |
GPIO4_IO25 | 121 |
GPIO4_IO26 | 122 |
GPIO4_IO27 | 123 |
GPIO4_IO28 | 124 |
GPIO4_IO29 | 125 |
GPIO4_IO30 | 126 |
GPIO4_IO31 | 127 |
GPIO5_IO00 | 128 |
GPIO5_IO02 | 130 |
GPIO5_IO04 | 132 |
GPIO5_IO05 | 133 |
GPIO5_IO06 | 134 |
GPIO5_IO07 | 135 |
GPIO5_IO08 | 136 |
GPIO5_IO09 | 137 |
GPIO5_IO10 | 138 |
GPIO5_IO11 | 139 |
GPIO5_IO12 | 140 |
GPIO5_IO13 | 141 |
GPIO5_IO14 | 142 |
GPIO5_IO15 | 143 |
GPIO5_IO16 | 144 |
GPIO5_IO17 | 145 |
GPIO5_IO18 | 146 |
GPIO5_IO19 | 147 |
GPIO5_IO20 | 148 |
GPIO5_IO21 | 149 |
GPIO5_IO22 | 150 |
GPIO5_IO23 | 151 |
GPIO5_IO24 | 152 |
GPIO5_IO25 | 153 |
GPIO5_IO26 | 154 |
GPIO5_IO27 | 155 |
GPIO5_IO28 | 156 |
GPIO5_IO29 | 157 |
GPIO5_IO30 | 158 |
GPIO5_IO31 | 159 |
GPIO6_IO00 | 160 |
GPIO6_IO01 | 161 |
GPIO6_IO02 | 162 |
GPIO6_IO03 | 163 |
GPIO6_IO04 | 164 |
GPIO6_IO05 | 165 |
GPIO6_IO06 | 166 |
GPIO6_IO07 | 167 |
GPIO6_IO08 | 168 |
GPIO6_IO09 | 169 |
GPIO6_IO10 | 170 |
GPIO6_IO11 | 171 |
GPIO6_IO14 | 174 |
GPIO6_IO15 | 175 |
GPIO6_IO16 | 176 |
GPIO6_IO17 | 177 |
GPIO6_IO18 | 178 |
GPIO6_IO19 | 179 |
GPIO6_IO20 | 180 |
GPIO6_IO21 | 181 |
GPIO6_IO22 | 182 |
GPIO6_IO23 | 183 |
GPIO6_IO24 | 184 |
GPIO6_IO25 | 185 |
GPIO6_IO26 | 186 |
GPIO6_IO27 | 187 |
GPIO6_IO28 | 188 |
GPIO6_IO29 | 189 |
GPIO6_IO30 | 190 |
GPIO6_IO31 | 191 |
GPIO7_IO00 | 192 |
GPIO7_IO01 | 193 |
GPIO7_IO02 | 194 |
GPIO7_IO03 | 195 |
GPIO7_IO04 | 196 |
GPIO7_IO05 | 197 |
GPIO7_IO06 | 198 |
GPIO7_IO07 | 199 |
GPIO7_IO08 | 200 |
GPIO7_IO09 | 201 |
GPIO7_IO10 | 202 |
GPIO7_IO11 | 203 |
GPIO7_IO12 | 204 |
GPIO7_IO13 | 205 |
Apalis TK1โ
The Tegra CPU defines GPIOs with an alphanumeric term, e.g. A1 or T5 (GPIO-Q.01).
The numeric value is calculated as follows:
8 x (Character - 'A') + Digit
So A0 becomes 0, A7 becomes 7, B0 becomes 8, ...
The Linux kernel defines macros in arch/arm/mach-tegra/gpio-names.h for each GPIO.
Apalis TK1 GPIO table
The following table lists all assignments of Tegra GPIO to their numeric representation.
Gpio | Numeric Representation |
---|---|
A0 | 0 |
A1 | 1 |
A2 | 2 |
A3 | 3 |
A4 | 4 |
A5 | 5 |
A6 | 6 |
A7 | 7 |
B0 | 8 |
B1 | 9 |
B2 | 10 |
B3 | 11 |
B4 | 12 |
B5 | 13 |
B6 | 14 |
B7 | 15 |
C0 | 16 |
C1 | 17 |
C2 | 18 |
C3 | 19 |
C4 | 20 |
C5 | 21 |
C6 | 22 |
C7 | 23 |
D0 | 24 |
D1 | 25 |
D2 | 26 |
D3 | 27 |
D4 | 28 |
D5 | 29 |
D6 | 30 |
D7 | 31 |
E0 | 32 |
E1 | 33 |
E2 | 34 |
E3 | 35 |
E4 | 36 |
E5 | 37 |
E6 | 38 |
E7 | 39 |
F0 | 40 |
F1 | 41 |
F2 | 42 |
F3 | 43 |
F4 | 44 |
F5 | 45 |
F6 | 46 |
F7 | 47 |
G0 | 48 |
G1 | 49 |
G2 | 50 |
G3 | 51 |
G4 | 52 |
G5 | 53 |
G6 | 54 |
G7 | 55 |
H0 | 56 |
H1 | 57 |
H2 | 58 |
H3 | 59 |
H4 | 60 |
H5 | 61 |
H6 | 62 |
H7 | 63 |
I0 | 64 |
I1 | 65 |
I2 | 66 |
I3 | 67 |
I4 | 68 |
I5 | 69 |
I6 | 70 |
I7 | 71 |
J0 | 72 |
J1 | 73 |
J2 | 74 |
J3 | 75 |
J4 | 76 |
J5 | 77 |
J6 | 78 |
J7 | 79 |
K0 | 80 |
K1 | 81 |
K2 | 82 |
K3 | 83 |
K4 | 84 |
K5 | 85 |
K6 | 86 |
K7 | 87 |
L0 | 88 |
L1 | 89 |
L2 | 90 |
L3 | 91 |
L4 | 92 |
L5 | 93 |
L6 | 94 |
L7 | 95 |
M0 | 96 |
M1 | 97 |
M2 | 98 |
M3 | 99 |
M4 | 100 |
M5 | 101 |
M6 | 102 |
M7 | 103 |
N0 | 104 |
N1 | 105 |
N2 | 106 |
N3 | 107 |
N4 | 108 |
N5 | 109 |
N6 | 110 |
N7 | 111 |
O0 | 112 |
O1 | 113 |
O2 | 114 |
O3 | 115 |
O4 | 116 |
O5 | 117 |
O6 | 118 |
O7 | 119 |
P0 | 120 |
P1 | 121 |
P2 | 122 |
P3 | 123 |
P4 | 124 |
P5 | 125 |
P6 | 126 |
P7 | 127 |
Q0 | 128 |
Q1 | 129 |
Q2 | 130 |
Q3 | 131 |
Q4 | 132 |
Q5 | 133 |
Q6 | 134 |
Q7 | 135 |
R0 | 136 |
R1 | 137 |
R2 | 138 |
R3 | 139 |
R4 | 140 |
R5 | 141 |
R6 | 142 |
R7 | 143 |
S0 | 144 |
S1 | 145 |
S2 | 146 |
S3 | 147 |
S4 | 148 |
S5 | 149 |
S6 | 150 |
S7 | 151 |
T0 | 152 |
T1 | 153 |
T2 | 154 |
T3 | 155 |
T4 | 156 |
T5 | 157 |
T6 | 158 |
T7 | 159 |
U0 | 160 |
U1 | 161 |
U2 | 162 |
U3 | 163 |
U4 | 164 |
U5 | 165 |
U6 | 166 |
U7 | 167 |
V0 | 168 |
V1 | 169 |
V2 | 170 |
V3 | 171 |
V4 | 172 |
V5 | 173 |
V6 | 174 |
V7 | 175 |
W0 | 176 |
W1 | 177 |
W2 | 178 |
W3 | 179 |
W4 | 180 |
W5 | 181 |
W6 | 182 |
W7 | 183 |
X0 | 184 |
X1 | 185 |
X2 | 186 |
X3 | 187 |
X4 | 188 |
X5 | 189 |
X6 | 190 |
X7 | 191 |
Y0 | 192 |
Y1 | 193 |
Y2 | 194 |
Y3 | 195 |
Y4 | 196 |
Y5 | 197 |
Y6 | 198 |
Y7 | 199 |
Z0 | 200 |
Z1 | 201 |
Z2 | 202 |
Z3 | 203 |
Z4 | 204 |
Z5 | 205 |
Z6 | 206 |
Z7 | 207 |
AA0 | 208 |
AA1 | 209 |
AA2 | 210 |
AA3 | 211 |
AA4 | 212 |
AA5 | 213 |
AA6 | 214 |
AA7 | 215 |
BB0 | 216 |
BB1 | 217 |
BB2 | 218 |
BB3 | 219 |
BB4 | 220 |
BB5 | 221 |
Gpio | Numeric Representation |
---|---|
BB6 | 222 |
BB7 | 223 |
CC0 | 224 |
CC1 | 225 |
CC2 | 226 |
CC3 | 227 |
CC4 | 228 |
CC5 | 229 |
CC6 | 230 |
CC7 | 231 |
DD0 | 232 |
DD1 | 233 |
DD2 | 234 |
DD3 | 235 |
DD4 | 236 |
DD5 | 237 |
DD6 | 238 |
DD7 | 239 |
EE0 | 240 |
EE1 | 241 |
EE2 | 242 |
EE3 | 243 |
Gpio | Numeric Representation |
---|---|
EE4 | 244 |
EE5 | 245 |
EE6 | 246 |
EE7 | 247 |
FF0 | 248 |
FF1 | 249 |
FF2 | 250 |