Binding between pinmux config excel and TRM

I wish to write a test for verifying pinmux regs values.
For example I took the A0_RETENTION_N signal.
The user defined options appear in the second pink row:

The suitable TRM page is:

2 questions please:

  1. How can I conclude the reg values (TRM) from observing the user defined values (excel row)
  2. According to TRM, I have 4 options for bits 1:0. In the customer usage column I can select only 3:
  • unused_a0_retention_n
  • gpio3_pee_02
  • gpio_a0_ret
    so how can i match the 3 options in the excel row to the 4 options in the register PM bits (1:0) (1 option missing)

from your answer I’ll be able to decide the final required reg value (according to user custom configuration in the excel) and compare it to actual register value during runtime.


Hi, TRM is for chip level usage. Pinmux sheet is for real usage which means some usages in TRM may be not applied. You only need to set custom option in pinmux sheet and output dts file.

another question regarding configuring bidirectional gpio:

As stated here:

To use the pin as GPIO, update the following fields in the PADCTL register:Find the register information from the Pinmux Registers section in TRM as mentioned in step 2.

  1. Set GPIO to Bit 10 = 0.
  2. For the output, set Bit 4 = 0 ; Bit 6 = 0.
  3. For Input, set Bit 4 = 1 ; Bit 6 = 1.

What are the suitable register values for configuring the pin as bidirectional gpio instead of just input or output


You can set the Pin direction in pinmux sheet and find out the value in the output dtsi file.

I edited the Excel and generated the new dtsi files.
I have two questions please:

  1. the new .dtsi names are:

How I know which name to give them in order for them to be included in the new built DT?
As far as I understand, for each .dtsi file there is a .dts file which includes it.
So I have to “discover” the suitable .dts file that is being used when building the general DT, look for the .dtsi name that it includes for the pinmux settings (for example) and than change my new pinmux.dtsi for that name.

  1. Can you explain the full process for taking these new .dtsi files, create a dt overlay and load them after reboot without re flashing the target?


Orin NX does not need dts for pinmux dtsi and padvoltage dtsi. Check your flash log and it will tell you which dtsi file to replace.

GPIO.dtsi need to be included in kernel dtb.

Thank you for your answer.

  1. When you state “kernel dtb” , do you refer to the following?

The DTB that is flashed is at:


  1. When you state “need to be included in kernel dtb” to you mean to actually include it using the include keyword or to manually copy the node into the .dts tree ?


Hi BSP_User,

After you get this 3 dtsi, pleas just refer to the following note to place them to the correct directory on your host PC.
Copy the padvoltage.dtsi and pinmux.dtsi files to the <Linux_for_Tegra>/bootloader/t186ref/BCT/ directory and copy the gpio.dtsi file to the <Linux_for_Tegra>/bootloader/ directory.

pinmux.dtsi should include gpio.dtsi, please just confirm if the file name is correct.

Then, you should configure the board config(For Orin NX, it is jetson-orin-nano-devkit.conf) as following for your new generated dtsi.


Thank you for your answer

Hello, may I ask what this sentence mean,and why doesn’t the gpio.dtsi file need to be configured in jetson-orin-nano-devkit.conf

gpio.dtsi is included in pinmux.dtsi.
You could check the content in pinmux.dtsi for details.

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