JetPack5 GPIO Assignments in NX Module


I understand that there is an issue with the GPIO assignments, which is 3499398 (GPIO configuration utility does not work as expected in Linux 5.10 kernel included in Jetpack 5.0 DP release).

I would like to confirm that the issue I am seeing is related to this. When I added our pinmux.dtsi file, generated from the NX spreadsheet my NX module wouldn’t boot. I removed many of the assignments, until the NX to booted. After getting the NX to boot, I did a “sudo grep gpio /sys/kernel/debug/gpio” and noticed the locations of the pins were different when compared with JetPack4.

My questions are:

  1. Is this changed assignment due to the 3499398 issue:
  2. If so, will the fix put the GPIO pins back to the same assignment as JetPack 4?
  3. Does a changed GPIO assignment/error occur only when the macro TEGRA194_MAIN_GPIO is used?


hello malcolm.mcdowell,

that known issue mentioned in rel-note is GPIO configuration, please refer to Topic 220249 for alternative ways to configure GPIOs.

Hi JerryChang,

Thanks for the feedback. I will look at the information you provided.

Could you answer the questions above. The reason is, I don’t understand what effect I will see as a result of the “GPIO configuration” issue. Is what I am seeing with the change in gpio “locations” the result of the GPIO configuration issue?

If I execute the following command: “sudo grep gpio /sys/kernel/debug/gpio”, here is what I am seeing:
In jetPack4 : gpio-480 (SPI1_SCK |gmsl1-enable ) out hi:
in JetPack5: gpio-484 (PY.00 |gmsl1-enable ) out hi

In the JetPack 5 gpio dump, PY.00 is correct, but the calculation shows the incorrect gpio number of 484. It should be 480.


hello malcolm.mcdowell,

do you mean GPIO calculation using below formula?
#define TEGRA234_MAIN_GPIO(port, offset) \ ((TEGRA234_MAIN_GPIO_PORT_##port * 8) + offset)

the above method is not valid anymore for K5.10, please refer to developer guide, To check a GPIO number,

Yes. That is the calculation I was wondering about.

What is replacing that calculation/macro if its not supported in JP 5?

Another question: Would you still following the same process to take the spreadsheet and convert it to a .cfg as defined in the procedure: Jetson Module Adaptation and Bring-Up: Jetson Xavier NX Series — Jetson Linux
Developer Guide 34.1 documentation (

Thanks again for your help,

hello malcolm.mcdowell,

start from k-5.10, you should refer to developer guide, To check a GPIO number to obtain GPIO number.

hello malcolm.mcdowell,

yes, it follow the same process to change the pinmux configuration applied by the software.
please see-also developer guide, Pinmux Changes for reference, thanks

Thanks for your help.


This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.