Pinmux changes step by step (Part 2 - Jetpack 5.0.2)

So I saw this post (Pinmux update step by step) questioning how to use the pinmux excel spreadsheet. It is a bit outdated, so figured I would start another one since I am having problems.

I am using Jetpack 5.0.2 (and then 5.1 soon as it was just released a few days ago) on a Xavier NX devkit w/ eMMC.

I am disabling pins 160 and 162 (PEX_CLK5) in the spreadsheet and need to confirm they are ‘not assigned’ after flash. How do confirm after flashing and the devkit boots?

Here is my procedure:

  • I can compile the pinmux changes from the spreadsheet, convert the .dtsi files to .cfg files and place them in the /Linux_for_tegra/bootloader/t186ref/BCT directory.
  • I have not changed anything in the /rootfs/boot/extlinux/extlinux.conf file (as some mentioned to change, but I have not).
  • I can flash the devkit using CLI (sudo ./flash.sh jetson-xavier-nx-devkit-emmc mmcblk0p1)

Is that all that needs to be done? Do I need to recompile the kernel, dtb files, or anything else as some have suggested from forum posts (I have not done any of those steps)?

If anyone can provide a step-by-step procedure for this activity, that would be great!

Thanks in advance.

P.S. I’ve also used parts of this blog post, but it seems outdated as well and caused my devkit not to boot.

Hi,

You could check the pin state by directly reading the register status. But this does not mean the corresponding driver would stop working.

For example, even after you disabling the PEX_CLK, the pcie or usb driver which runs to use this pin would still running.

Thus, actually it is rare case to directly disable pinmux. Generally, disabling the driver would be a more effective way.

Understood, thanks. How do I check the register status?

Also, does my procedure for changing the pinmux look correct? Any recompiles needed after the dtsi to cfg conversion?

The steps look correct. Please also read your own flash log. It will tell you whether that cfg file gets flashed or not.

Sorry, new to this activity. How do I check the flash log? Do you mean the std out during the flash process?

Also, what is the command to check the register status?

When you run flash.sh, you shall see lots of logs got print on your terminal. Search if your cfg file name is printed in those logs.

It is not easy to read the register status as each pin has its own register address. devmem tool (upstream ubuntu tool) can read the register. But you need to check the TRM (technical reference manual) of Xavier SoC to find out which address to check.

TRM could be downloaded in our download center.

1 Like

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