Jetson Orin NX usb 2.0 VBUS

I am working on flashing a Jetson Orin NX module using a custom carrier board.

The USB 2.0 is wired on the custom carrier board as shown below:

I initially attempted to flash the Jetson on the custom board with the following command:

sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 -c tools/kernel_flash/flash_l4t_t234_nvme.xml -p “-c bootloader/generic/cfg/flash_t234_qspi.xml” --showlogs --network usb0 jetson-orin-nano-devkit internal

I found out that this wouldn’t work since the .conf file (jetson-orin-nano-devkit) is configured for the Jetson Orin NX 16G Devkit.

What necessary steps are needed to flash the Jetson on the custom board? Create a new .conf file with all the parameters of the custom board? Would files such as the device tree and pinmux need to be modified? If so, how would the pins from the image above be assigned?

If I’m taking the incorrect approach or don’t see something, please let me know.

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

To flash the Jetson Orin NX module on your custom carrier board, you will need to create a new configuration file that matches your custom board’s specifications. The jetson-orin-nano-devkit.conf file is specific to the Jetson Orin NX 16G Devkit, so you cannot use it directly.

Here are the necessary steps to flash the Jetson on your custom board:

  1. Create a new configuration file: You will need to create a new configuration file that matches your custom board’s specifications. This file should be named something like custom-board.conf. You can start by copying the jetson-orin-nano-devkit.conf file and modifying it to match your custom board’s specifications.

  2. Modify the device tree and pinmux: Yes, you will need to modify the device tree and pinmux files to match your custom board’s pinout. The device tree file is responsible for defining the hardware components on your board, while the pinmux file defines how the pins on the Jetson module are connected to the external world.

To modify the device tree and pinmux files, you will need to:

  • Identify the pins on your custom board that correspond to the USB 2.0 signals (e.g., USB_D+, USB_D-, USB_ID, etc.).
  • Update the device tree file to reflect the new pin assignments. You can do this by modifying the tegra194-p3668-0000-p3509-0000.dtsi file (or similar) to match your custom board’s pinout.
  • Update the pinmux file to reflect the new pin assignments. You can do this by modifying the tegra194-p3668-0000-p3509-0000-pm.dtsi file (or similar) to match your custom board’s pinout.

Here’s an example of how you might assign the pins from the image above:

&usb2 {
    status = "okay";
    nvidia,usb2-port = <0>;
    nvidia,usb2-mode = <1>; /* USB 2.0 mode */
    nvidia,usb2-speed = <2>; /* High speed */
};

&pinmux {
    usb2_pins: usb2-pins {
        nvidia,pins = "usb2-0", "usb2-1", "usb2-2", "usb2-3";
        nvidia,function = "usb2";
        nvidia,pull = <0>;
        nvidia,tristate = <0>;
        nvidia,enable-input = <1>;
    };
};

Note that this is just an example, and you will need to modify the device tree and pinmux files to match your custom board’s specific pinout.

  1. Update the configuration file: Once you have modified the device tree and pinmux files, you will need to update the configuration file to reflect the new pin assignments. You can do this by adding the following lines to your custom-board.conf file:
ODMDATA="usb2-config-1,usb2-mode-1,usb2-speed-2";

This will configure the USB 2.0 port on your custom board to use the correct pins and settings.

  1. Flash the Jetson module: Once you have updated the configuration file, you can flash the Jetson module using the following command:
sudo ./tools/kernel_flash/l4t_initrd_flash.sh --external-device sda1 -c ./tools/kernel_flash/flash_l4t_t234_nvme.xml -p ./bootloader/generic/cfg/flash_t234_qspi.xml --showlogs --network usb0 custom-board external

Note that you will need to replace custom-board with the actual name of your configuration file.

I hope this helps! Let me know if you have any further questions or need additional assistance.

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

Hello,

The files that the Jetson Orin NX references are tegra234, and the nodes shown above are not included in any of conf files.

I need help with referencing the pins from the schematic in the custom board files correctly and any other file modification that I must make in order to flash the Jetson on my custom board.

Thank you.

Hi,

Please refer to the developer guide first.

Thanks