The Pinmux modifications are not reflected in the Orin development kit

Hello Team,

Here are the environment details for the Jetson AGX Orin development kit that I’m using.
JetPack version: 5.0.2
L4T Kernel: R35.1
Pinmux sheet downloaded from the Nvidia download center for Orin.

So, before approaching you, I attempted to modify the Pinmux settings based on my prior expertise.

  1. Changed the GPIO pins to I2S2 pins using the Pinmux spreadsheet. Please see the attached image. The .dtsi file for Pinmux, GPIO, and pad voltage was generated.

  2. I updated the dtsi files that reference this page Linux for Tegra/bootloader/ and Linux for Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi and tegra234-mb1-bct-pinmux-p3701-0000.dtsi to change the GPIO pins to I2S2 pins.

  3. Flashed the Orin Dev Kit using the command “sudo./ jetson-agx-orin-devkit mmcblk0p1”. However, the Orin kit does not reflect the modified pins.

  4. As referred in this page, I replaced those 3 files in the /Linux for Tegra/bootloader folder, but I was unable to flash the Orin dev kit. Please see the attached image.

Please let me know how to update the Pinmux settings on the Orin dev kit. Your suggestions would be very helpful.


  1. Flashed the Orin Dev Kit using the command “sudo./ jetson-agx-orin-devkit mmcblk0p1”. However, the Orin kit does not reflect the modified pins.

Have you checked the flash log from above step and confirm your pinmux dtsi file is really getting flashed?

Hello Wayne,

Thank you for your reply.

Please find the attached flash log flash.log (83.3 KB)

I can see that the bootloader file’s. dtsi file was copied. copying pinmux_config(/home/parashuram/nvidia/nvidia_sdk/JetPack_5.0.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-0000.dtsi)... done.
and also --pinmux_config tegra234-mb1-bct-pinmux-p3701-0000.dtsi --gpioint_config tegra234-mb1-bct-gpioint-p3701-0000.dts


What is your method to tell “pinmux does not take effect on my device”?


To make Pinmux changes, I followed the steps listed below.

  1. Downloaded the Pinmux spreadsheet from the Nvidia download center.

  2. Changed GPIO pins to I2S2 pins in spreadsheet and generated DT files and replaced pinmux dtsi changes in Linux for Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi and tegra234-mb1-bct-pinmux-p3701-0000.dtsi.


  3. replaced GPIO dtsi changes to Linux for Tegra/bootloader/ tegra234-mb1-bct-gpio-p3701-0000.dtsi and tegra234-mb1-bct-gpio-p3701-0000-a04.dtsi.

    Referred this pinmux changes wiki.


Does your flash log tell you tegra234-mb1-bct-gpio-p3701-0000-a04.dtsi is getting flashed?

Hello Wayne,

Pinmix changes are made in both files tegra234-mb1-bct-gpio-p3701-0000-a04.dtsi and tegra234-mb1-bct-gpio-p3701-0000.dtsi

I can see that in the flash log this file is taking here copying pinmux_config(/home/parashuram/nvidia/nvidia_sdk/JetPack_5.0.2_Linux_JETSON_AGX_ORIN_TARGETS/Linux_for_Tegra/bootloader/t186ref/BCT/tegra234-mb1-bct-pinmux-p3701-0000.dtsi)... done.
Complete log file is attached here
flash.log (83.3 KB)


BTW, before going further, I have one thing to clarify here. It seems you didn’t get my point in previous comments.

I am not asking how you flashed your pinmux or changed your pinmux files.
My point is how did you check whether your pinmux is taking effect on the board or not?

You keep telling me how you flashed it or modified it “on your host PC”. But you didn’t tell me how you checked the pinmux status “on your board”.

Hello Wayne,

I have followed below steps to verify the pinmux changes.

  1. Exporting the gpio in /sys/class/gpio/export and validating the pin value and direction.
  2. verfiying with the cat /sys/kernel/debug/pinctrl/2430000.pinmux/pinconf-groups

Is there any other method verify pinmux status please let me us.



These methods you shared does not prove anything…

For example, when you are doing (1), no matter what pinmux status you set before, this “export” and “set value” will lead the pinmux back to gpio.
Thus, no matter what you set before, maybe it is really in SFIO mode already. But it will be back to GPIO again when you export the node…

I think you could directly go to test audio function if this is what you are trying to do… if that does not work, then we can come back and read the pinctrol register value.

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