Copying the dtb file to Jetson agx orin

hello,

i modified a dtsi file in r36.4 BSP in host system
Here can i replace the use that modified dtb in the target jetson agx orin system without flashing the whole module ?
if yes how can i do that ?

in my jetson board it is showing the
kernel_tegra234-p3737-0000+p3701-0005-nv.dtb file in boot/dtb/ directory
what is it?

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

To answer your question, I’ll break it down into smaller parts and provide a comprehensive explanation.

Modifying a dtsi file in the host system

You’ve modified a dtsi file in the r364 BSP (Board Support Package) on your host system. The dtsi file is used to generate a Device Tree Blob (DTB) file, which is a binary representation of the device tree.

Replacing the modified DTB file on the target Jetson AGX Orin system

Yes, you can replace the modified DTB file on the target Jetson AGX Orin system without flashing the whole module. However, you’ll need to follow some steps to ensure that the new DTB file is used by the system.

Understanding the kernel-tegra234-p3737-0000-p3701-0005-nvdtb file

The kernel-tegra234-p3737-0000-p3701-0005-nvdtb file is a DTB file that is specific to the Jetson AGX Orin module. The file name is a combination of the following:

  • kernel-tegra234: This indicates that the file is a DTB file for the Tegra234 processor.
  • p3737-0000-p3701-0005: This is a unique identifier for the Jetson AGX Orin module.
  • nvdtb: This indicates that the file is a DTB file for NVIDIA devices.

Replacing the DTB file on the Jetson AGX Orin system

To replace the modified DTB file on the Jetson AGX Orin system, you can follow these steps:

  1. Copy the modified DTB file to the /boot/dtb directory on the Jetson AGX Orin system.
  2. Rename the modified DTB file to match the existing file name (kernel-tegra234-p3737-0000-p3701-0005-nvdtb).
  3. Reboot the Jetson AGX Orin system.

After rebooting, the system should use the new DTB file. You can verify this by checking the kernel logs or using the dtc command to dump the device tree.

Comparison with flashing the whole module

Flashing the whole module involves updating the entire firmware, including the bootloader, kernel, and device tree. Replacing the DTB file, on the other hand, only updates the device tree. This approach is useful when you only need to make changes to the device tree, and you don’t want to update the entire firmware.

However, keep in mind that replacing the DTB file may not always work as expected, especially if the changes you made to the dtsi file are not compatible with the existing firmware. In such cases, flashing the whole module may be necessary to ensure that the system works correctly.

In summary, you can replace the modified DTB file on the Jetson AGX Orin system without flashing the whole module, but you need to follow the correct steps and ensure that the changes you made to the dtsi file are compatible with the existing firmware.

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

The thing is this kernel-tegra234-p3737-0000-p3701-0005-nvdtb file is not present in source files
here wich file should i copy to target system
there are many dtb files in BCT directory

Hi likhithbabu.n,

Are you using the devkit or custom board for AGX Orin?

You can refer to UEFI Adaptation — DTB Support for the workflow of DTB loading.

If you have specified the following line in /boot/extlinux/extlinux.conf, you can simply decompile it(/boot/dtb/kernel_tegra234-p3737-0000+p3701-0005-nv.dtb) and update the device tree manually.

FDT /boot/dtb/kernel_tegra234-p3737-0000+p3701-0005-nv.dtb

kernel-tegra234-p3737-0000-p3701-0005-nv.dtb should be copied from <Linux_for_Tegra>/kernel/dtb/tegra234-p3737-0000-p3701-0005-nv.dtb on your host during flash.

i am using the custom board for agx orin .
you said i can copy the kernel-tegra234-p3737-0000-p3701-0005-nv.dtb file from <Linux_for_Tegra>/kernel/dtb/ but there is no such file in that path

The dtb file under <Linux_for_Tegra>/kernel/dtb/ is called tegra234-p3737-0000-p3701-0005-nv.dtb rather than kernel-tegra234-p3737-0000-p3701-0005-nv.dtb