I have read everything I could find about GPIO but I don’t understand the link between the pin number and the GPIO. In this tutorial: http://elinux.org/Jetson/GPIO it seems obvious that GPIO_PH1 is the gpio57 and is located on Pin 50 on J3A1, but where is the documentation table that gave that Information?
I guess that may be inferred by looking at some kernel files:
Yes that helps. Thanks for your quick answer.
I read through the files pointed above.
I understood that TEGRA_PIN_PH1 maps to _GPIO(57)
However, I still can not figure out how these are related to the pysical pins on the board (namely how GPIO57 is indeed pin 50 on J3A1).
All help is much appreciated.
The Jetson module specification document lists J3A1 and J3A2, as well as the Jetson schematic (see the R21.4 downloads page and the Jetson links sticky topic).
The Tegra K1 Technical Reference Manual gives information on GPIO controllers and corresponds to the “GPIO_PH1” type terminology. This is cross-referenced to a Linux kernel source header in order to know sysfs entries. Files in the kernel source which you may be interested in:
arch/arm/mach-tegra/board-ardbeg.h arch/arm/mach-tegra/gpio-names.h drivers/pinctrl/pinctrl-tegra124.c drivers/pinctrl/pinctrl-tegra.h include/linux/pinctrl/pinctrl-tegra.h include/dt-bindings/pinctrl/pinctrl-tegra.h
The gpio-names.h directly correlates between sysfs and terminology in the TRM in the GPIO controller chapter.
The attached PDF has some brief notes which apply to GPIO and J3A1/J3A2.
gpio-names_h.pdf (42.8 KB)