Update pinmux configuration L4T 32.1


I am currently trying to modify a pin configuration for the Jetson Xavier working with the L4T 32.1.

I am following these steps:

  • Modifying the excel "pinmux configuration template
  • Generating dtsi file
  • Compiling the .cfg file from the dtsi file with the python script
  • Copying the cfg to the bootloader/t186ref/BCT folder with the name "tegra19x-mb1-pinmux-p2888-0000-a04-p2822-0000-b01.cfg"
  • Flashing the board with the Flash.sh script: sudo ./flash.sh jetson-xavier mmcblk0p1

However, my pin configuration modification does not seem to be taken into account. Do you know what I am doing wrong ?

I also would like to avoid flashing the whole jetson every time I try to modify a pin. Would it be possible to use a specific option of the flash.sh script to only flash the cfg files ? Like :

  • sudo ./flash.sh -r -k kernel jetson-xavier mmcblk0p1
  • sudo ./flash.sh -r -k kernel-dtb jetson-xavier mmcblk0p1

Thanks in advance,

Could you specify which pin does not change?


I am trying to change the following signal names:

  • I2C4_CLK: from I2C8 CLK to GPIO3_PDD.01
  • I2C4_DAT: from I2C8 DAT to GPIO3_PDD.02
  • GPIO17: from input to output

I am then trying to export the GPIO3_PDD.01 in linux:

  • sudo su
  • echo 521 > export

The output of the echo line is “invalid argument”.

My computation to get the GPIO3_PDD.01 number : 288 (base offset) + 29 (port number DD) * 8 + 1 = 521

I did the same for the GPIO17: 288 + 16*8 + 1 = 417

I could confirm this value from: https://www.jetsonhacks.com/nvidia-jetson-agx-xavier-gpio-header-pinout/

I can successfully export the gpio417 but the direction of the pin is still input while I changed it to output.

Kind regards


What table points out port DD# is 29? I thought it should be 248+ 3 (DD#) * 8 + 1 = 273.
Please refer to tegra194-gpio.h.


I found it in the tegra194-gpio.h.


What is the difference between AON pin and the pin base ?

To get the gpio417 for the GPIO17, I had to use 288 as the base offset. Why do you use 248 ? How can I know which one to use ?

Thanks in advance,

When calculating the GPIO number, please use TEGRA194_MAIN_GPIO_PORT and TEGRA194_AON_GPIO_PORT.

Some ports are in main and others in AON gpio.


Thanks for the answers.

Kind regards

Hi Mobilaz,
thanks for your share, Can you change the pinmux as you want?
I want to change the pinmux as well ,and I use your steps, the .cfg file can be generated with my modification.
but when I flash it to xaiver, it seems does not work, for example, I change the SPI mem value as

pinmux.0x0243d040 = 0x00000400;

after flash the new .cfg, I check the value of 243d040, it shows original value, not 400, I don’t know what’s wrong with my flash.

Hi Gaosiy,

Would you mind using a full flash instead of flashing specific partition?

Hi Wayne,
thanks for your suggestion, if full flash can enable spi1, I can try it anyway. can you turn to the new topic to help me with SPI1 enable?