Changing the pinmux for GPIO file names

I’m following the Jetson Orin NX and Nano Series — NVIDIA Jetson Linux Developer Guide 1 documentation and I can create my pinmux files, but the spreadsheet asks for my board name, I’m not sure what to use, so I used the default shown. It creates:
Orin-jetson orin nano&nx pinmux dp-gpio-default.dtsi
Orin-jetson orin nano&nx pinmux dp-padvoltage-default.dtsi
Orin-jetson orin nano&nx pinmux dp-pinmux.dtsi

I placed them in the designated directories, and my GPIO did not change.

So, I assume they are named incorrectly? Are they supposed to replace they replace current files? They seem to small compared to the other files. I don’t see in the sdkmanager anywhere to define the board name.

How should they be named or what should I use for the board name when creating?

*** Please note that this reply is generated by LLM automatically ***

I understand your concern about creating pinmux files for your Jetson Orin Nano board. I’ll provide a detailed answer to help you resolve the issue.

Board Name

The board name is a crucial piece of information when creating pinmux files. The NVIDIA Jetson Linux Developer Guide recommends using a unique and descriptive name for your board. In your case, you used the default name “Orinjetson orin nanoampnx,” which might not be the best choice.

Recommended Board Name

For the Jetson Orin Nano, you should use a name that reflects the module and carrier board combination. For example, if you’re using the Jetson Orin Nano module with the Jetson Orin Nano Carrier board, you could use a name like “orin-nano-devkit” or “orin-nano-custom-board.”

Pinmux File Naming Convention

The pinmux file naming convention is important to ensure that the files are correctly identified and used by the system. The recommended naming convention is:

<board_name>_pinmux_<mode>_<type>.dtsi

Where:

  • <board_name> is the name of your board (e.g., “orin-nano-devkit”)
  • <mode> is the mode of operation (e.g., “default”)
  • <type> is the type of pinmux file (e.g., “dpgpio,” “dppadvoltage,” or “dppinmux”)

Comparison with Existing Files

You mentioned that the generated files seem small compared to the other files in the SDK. This is expected, as the generated files only contain the pinmux configuration for your specific board.

The existing files in the SDK are likely generic files that provide a default pinmux configuration for various boards. Your generated files will override these default configurations with your custom settings.

Replacing Existing Files

You don’t need to replace the existing files in the SDK. Instead, you should place your generated files in the designated directories, as you’ve already done.

SDK Manager

You won’t find an option to define the board name in the SDK Manager. The board name is typically defined in the device tree files or in the pinmux configuration files.

Conclusion

To resolve the issue, try the following:

  1. Rename your board to a unique and descriptive name, such as “orin-nano-devkit” or “orin-nano-custom-board.”
  2. Regenerate the pinmux files using the new board name.
  3. Place the generated files in the designated directories.
  4. Verify that the GPIO settings have changed correctly.

If you’re still experiencing issues, feel free to provide more details, and I’ll be happy to help you troubleshoot the problem.

*** Please give the thumbs up if you get answers you like. Or provide feedback to help us improve the answer. ***

As far as the section on “Flashing the Build Image”, I know understand I need to point to those files. I’m looking at p3767.conf.common, I think that the correct file? From the example script, where should it go in that file once I modify it? BCT agrs?

source "${LDK_DIR}/p3767.conf.common";

PINMUX_CONFIG="tegra234-mb1-bct-pinmux-p3767-dp-a03.dtsi";
PMC_CONFIG="tegra234-mb1-bct-padvoltage-p3767-dp-a03.dtsi";
BPFDTB_FILE="tegra234-bpmp-3767-0000-a02-3509-a02.dtb";
DTB_FILE="tegra234-p3767-0000-p3768-0000-a0.dtb";
TBCDTB_FILE="${DTB_FILE}";
EMMC_CFG="flash_t234_qspi_sd.xml";

OK, I understand I could have replaced the padvoltage and pinmux files, but I left them named the same and updated the p3767.conf.common file with this before #BCT args

# pinmux files
PINMUX_CONFIG="Orin-jetson orin nano&nx pinmux dp-pinmux.dtsi";
PMC_CONFIG="Orin-jetson orin nano&nx pinmux dp-padvoltage-default.dtsi";
#BPFDTB_FILE="PINMUX_CONFIG-3767-0000-a02-3509-a02.dtb";
#DTB_FILE="tegra234-p3767-0000-p3768-0000-a0.dtb";
#TBCDTB_FILE="${DTB_FILE}";
EMMC_CFG="flash_t234_qspi_sd.xml";

I’m assuming BPFDTB, DTB and TCBDTB don’t apply to my situation as I’m using the devkit board.

I don’t see a definition for the GPIO file generated by the spreadsheet?

hello mhebel,

let me share some brief steps for changing pinmux configuration.
for instance,

step-1) Generate device tree files and name them as pinmux.dtsi and gpio.dtsi (remember to modify the #include in pinmux.dtsi for gpio.dtsi)

step-2) Put pinmux/gpio device trees to correct path
pinmux.dtsi in <Linux_for_Tegra>/bootloader/generic/BCT/
gpio.dtsi & padvoltage in <Linux_for_Tegra>/bootloader/

step-3) Modify the following line in <Linux_for_Tegra>/p3701.conf.common
- PINMUX_CONFIG="tegra234-mb1-bct-pinmux-p3701-0000-a04.dtsi";
+ PINMUX_CONFIG="pinmux.dtsi";

step-4) Flash the board to apply the change

step-5) Run the following commands to control the pin
$ sudo su
# gpioset --mode=wait `gpiofind "PR.00"`=1