Hello,
In the past, I worked with the libgpiod library on the Verdin iMX8M-Plus platform, where there were 5 gpiochips, each exposing 32 lines (pins), as shown below. Toradex provides a helpful page explaining how to map chips and lines to GPIO numbers based on the datasheet: GPIO Alphanumeric to GPIO Numeric Assignment | Toradex Developer Center
root@verdin-imx8mp-06848982:~# gpioinfo
gpiochip0 - 32 lines:
line 0: "SODIMM_206" input
line 1: "SODIMM_208" input
line 2: unnamed input
line 3: unnamed input
line 4: unnamed input
line 5: "SODIMM_210" input
line 6: "SODIMM_212" input
line 7: "SODIMM_216" input
line 8: "SODIMM_218" input
line 9: unnamed output
line 10: unnamed input
line 11: "SODIMM_16" input
line 12: "SODIMM_155" output consumer="regulator-usb1-vbus"
line 13: "SODIMM_157" input
line 14: "SODIMM_185" output consumer="regulator-usb2-vbus"
line 15: "SODIMM_91" input
line 16: unnamed input
line 17: unnamed input
line 18: unnamed input
line 19: unnamed input
line 20: unnamed input
line 21: unnamed input
line 22: unnamed input
line 23: unnamed input
line 24: unnamed input
line 25: unnamed input
line 26: unnamed input
line 27: unnamed input
line 28: unnamed input
line 29: unnamed input
line 30: unnamed input
line 31: unnamed input
gpiochip1 - 32 lines:
line 0: unnamed input
line 1: unnamed input
line 2: unnamed input
line 3: unnamed input
line 4: unnamed input
line 5: unnamed input
line 6: "SODIMM_143" input
line 7: "SODIMM_141" input
line 8: unnamed input
line 9: unnamed input
line 10: "SODIMM_161" input consumer="id"
line 11: unnamed output consumer=regulator-wifi-en
line 12: "SODIMM_84" input active-low consumer="cd"
line 13: "SODIMM_78" input
line 14: "SODIMM_74" input
line 15: "SODIMM_80" input
line 16: "SODIMM_82" input
line 17: "SODIMM_70" input
line 18: "SODIMM_72" input
line 19: unnamed input
line 20: unnamed output consumer=regulator-module-eth1phy
line 21: unnamed input
line 22: unnamed input
line 23: unnamed input
line 24: unnamed input
line 25: unnamed input
line 26: unnamed input
line 27: unnamed input
line 28: unnamed input
line 29: unnamed input
line 30: unnamed input
line 31: unnamed input
gpiochip2 - 32 lines:
line 0: "SODIMM_52" input
line 1: "SODIMM_54" input
line 2: unnamed input
line 3: unnamed input
line 4: unnamed input
line 5: unnamed input
line 6: "SODIMM_56" input
line 7: "SODIMM_58" input
line 8: "SODIMM_60" input
line 9: "SODIMM_62" input
line 10: unnamed input
line 11: unnamed input
line 12: unnamed input
line 13: unnamed input
line 14: "SODIMM_66" input
line 15: unnamed input
line 16: "SODIMM_64" input
line 17: unnamed input
line 18: unnamed input
line 19: "SODIMM_34" input
line 20: "SODIMM_19" input
line 21: unnamed input
line 22: "SODIMM_32" input
line 23: unnamed input
line 24: unnamed input
line 25: "SODIMM_30" input
line 26: "SODIMM_59" output drive=open-drain consumer="scl"
line 27: "SODIMM_57" input drive=open-drain consumer="sda"
line 28: "SODIMM_63" input
line 29: "SODIMM_61" input
line 30: unnamed input
line 31: unnamed input
gpiochip3 - 32 lines:
line 0: "SODIMM_252" input active-low consumer="Wake-Up"
line 1: "SODIMM_222" input
line 2: "SODIMM_36" input
line 3: "SODIMM_220" input
line 4: "SODIMM_193" input
line 5: "SODIMM_191" input
line 6: "SODIMM_201" input
line 7: "SODIMM_203" input
line 8: "SODIMM_205" input
line 9: "SODIMM_207" input
line 10: "SODIMM_199" input
line 11: "SODIMM_197" input
line 12: "SODIMM_221" input
line 13: "SODIMM_219" input
line 14: "SODIMM_217" input
line 15: "SODIMM_215" input
line 16: "SODIMM_211" input
line 17: "SODIMM_213" input
line 18: "SODIMM_189" input
line 19: "SODIMM_244" output active-low consumer="PCIe reset"
line 20: "SODIMM_38" input
line 21: unnamed input
line 22: "SODIMM_76" output consumer="regulator-usdhc2"
line 23: "SODIMM_135" input
line 24: "SODIMM_133" input
line 25: "SODIMM_17" input
line 26: "SODIMM_24" input
line 27: "SODIMM_26" input
line 28: "SODIMM_21" output consumer="enable"
line 29: "SODIMM_256" output consumer="regulator-force-sleep-moci"
line 30: "SODIMM_48" input
line 31: "SODIMM_44" input
gpiochip4 - 32 lines:
line 0: "SODIMM_42" output active-low consumer="reset"
line 1: "SODIMM_46" output consumer="enable"
line 2: "SODIMM_187" input
line 3: "SODIMM_20" input
line 4: "SODIMM_22" input
line 5: "SODIMM_15" input
line 6: "SODIMM_196" input
line 7: "SODIMM_200" input
line 8: "SODIMM_198" input
line 9: "SODIMM_202" output active-low consumer="spi1 CS0"
line 10: unnamed input
line 11: unnamed input
line 12: unnamed input
line 13: unnamed input
line 14: unnamed output drive=open-drain consumer=scl
line 15: unnamed input drive=open-drain consumer=sda
line 16: "SODIMM_55" output drive=open-drain consumer="scl"
line 17: "SODIMM_53" input drive=open-drain consumer="sda"
line 18: "SODIMM_95" output drive=open-drain consumer="scl"
line 19: "SODIMM_93" input drive=open-drain consumer="sda"
line 20: "SODIMM_14" output drive=open-drain consumer="scl"
line 21: "SODIMM_12" input drive=open-drain consumer="sda"
line 22: "SODIMM_129" input
line 23: "SODIMM_131" input
line 24: "SODIMM_137" input
line 25: "SODIMM_139" input
line 26: "SODIMM_147" input
line 27: "SODIMM_149" input
line 28: "SODIMM_151" input
line 29: "SODIMM_153" input
line 30: unnamed input
line 31: unnamed input
root@verdin-imx8mp-06848982:~# gpioinfo --version
gpioinfo (libgpiod) v2.1.2
However, when I now check the GPIO layout on the Verdin AM62 platform using gpioinfo, the output appears quite different. For example:
gpiochip0only exposes 3 lines.- Other chips, like
gpiochip2, have as many as 92 lines, which is quite unusual.
root@verdin-am62-15564022:~# gpioinfo
gpiochip0 - 3 lines:
line 0: unnamed output
line 1: unnamed output
line 2: unnamed output
gpiochip1 - 24 lines:
line 0: "SODIMM_244" input active-low consumer="PCIE_1_RESET#"
line 1: "SODIMM_206" input
line 2: "SODIMM_208" input
line 3: "SODIMM_210" input
line 4: "SODIMM_212" input
line 5: unnamed input
line 6: unnamed input
line 7: unnamed input
line 8: unnamed input
line 9: unnamed input
line 10: unnamed input
line 11: unnamed input
line 12: unnamed input
line 13: unnamed input
line 14: unnamed input
line 15: unnamed input
line 16: unnamed input
line 17: unnamed input
line 18: unnamed input
line 19: unnamed input
line 20: unnamed input
line 21: unnamed input
line 22: unnamed input
line 23: unnamed input
gpiochip2 - 92 lines:
line 0: "SODIMM_52" input
line 1: unnamed input
line 2: unnamed input
line 3: "SODIMM_56" input
line 4: "SODIMM_58" input
line 5: "SODIMM_60" input
line 6: "SODIMM_62" input
line 7: unnamed input
line 8: unnamed input
line 9: unnamed input
line 10: unnamed input
line 11: "SODIMM_54" input
line 12: "SODIMM_64" input
line 13: unnamed input
line 14: unnamed input
line 15: "SODIMM_174" input
line 16: "SODIMM_172" input
line 17: unnamed output active-low consumer=PHY reset
line 18: unnamed input
line 19: unnamed input
line 20: unnamed output active-low consumer=reset
line 21: unnamed output consumer=LDO1-VSEL-SD (PMIC)
line 22: unnamed output active-low consumer=reset
line 23: unnamed input
line 24: unnamed input
line 25: unnamed input
line 26: unnamed input
line 27: unnamed input
line 28: unnamed input
line 29: "SODIMM_76" output consumer="regulator-sdhci1"
line 30: "SODIMM_21" output active-low consumer="reset"
line 31: "SODIMM_256" output consumer="regulator-force-sleep-moci"
line 32: "SODIMM_252" input active-low consumer="Wake-Up"
line 33: unnamed input
line 34: "SODIMM_46" input
line 35: "SODIMM_42" input
line 36: "SODIMM_218" input
line 37: unnamed input
line 38: "SODIMM_189" input
line 39: unnamed input
line 40: "SODIMM_216" input
line 41: "SODIMM_220" input
line 42: "SODIMM_222" input
line 43: unnamed input
line 44: unnamed input
line 45: unnamed input
line 46: unnamed input
line 47: unnamed input
line 48: unnamed input
line 49: unnamed input
line 50: unnamed input
line 51: unnamed input
line 52: unnamed input
line 53: unnamed input
line 54: unnamed input
line 55: unnamed input
line 56: unnamed input
line 57: unnamed input
line 58: unnamed input
line 59: unnamed input
line 60: unnamed input
line 61: unnamed input
line 62: unnamed input
line 63: unnamed input
line 64: unnamed input
line 65: unnamed input
line 66: unnamed input
line 67: unnamed input
line 68: unnamed input
line 69: unnamed input
line 70: unnamed input
line 71: "SODIMM_157" input
line 72: "SODIMM_187" input
line 73: unnamed input
line 74: unnamed input
line 75: unnamed input
line 76: unnamed input
line 77: unnamed input
line 78: unnamed input
line 79: unnamed input
line 80: unnamed input
line 81: unnamed input
line 82: unnamed input
line 83: unnamed input
line 84: unnamed input
line 85: unnamed input
line 86: unnamed input
line 87: unnamed input
line 88: unnamed input
line 89: unnamed input
line 90: unnamed input
line 91: unnamed input
gpiochip3 - 52 lines:
line 0: unnamed input
line 1: unnamed input
line 2: unnamed input
line 3: unnamed input
line 4: unnamed input
line 5: unnamed input
line 6: unnamed input
line 7: unnamed input
line 8: unnamed input
line 9: unnamed input
line 10: unnamed input
line 11: unnamed input
line 12: unnamed input
line 13: unnamed input
line 14: unnamed input
line 15: "SODIMM_15" input
line 16: "SODIMM_16" input
line 17: "SODIMM_19" input consumer="hpd"
line 18: "SODIMM_66" input
line 19: "SODIMM_161" input consumer="id"
line 20: unnamed input
line 21: unnamed input
line 22: unnamed input
line 23: unnamed input
line 24: unnamed input
line 25: unnamed input
line 26: unnamed input
line 27: unnamed input
line 28: unnamed input
line 29: unnamed input
line 30: unnamed input
line 31: unnamed input
line 32: unnamed input
line 33: unnamed input
line 34: unnamed input
line 35: unnamed input
line 36: unnamed input
line 37: unnamed input
line 38: unnamed input
line 39: unnamed input
line 40: unnamed input
line 41: unnamed input
line 42: unnamed input
line 43: unnamed input
line 44: unnamed input
line 45: unnamed input
line 46: unnamed input
line 47: unnamed input
line 48: unnamed input active-low consumer=cd
line 49: "SODIMM_17" input
line 50: "SODIMM_155" output consumer="regulator-usb0-vbus"
line 51: unnamed input
According to the Verdin AM62 datasheet, the SODIMM_217 pin is labeled as GPIO0_91 in the ALT7 column. Based on that, I was expecting to find GPIO0 with at least 92 lines—but gpiochip0 has only 3 lines.
This discrepancy makes it difficult to determine which gpiochip and line correspond to SODIMM_217.
Could you please clarify how GPIO mappings work on the Verdin AM62, and possibly update the documentation page linked above to include guidance for AM62 platforms?
Thank you!
Best regards,
MF