OTA update for device tree on jetson Tx2 4Gb

Hi chang,

Can you please tell ,which plugin manager you are talking about?

can you please tell file location or path where i can check i i have removed any plugin manager or not?

i have only removed device tree for camera only for my camera customization?

please help here

hello anupam.kumar,

you may disassembler the dtb file into text file for examination,
for example, $ dtc -I dtb -O dts -o output.dts tegra186-quill-p3310-1000-c03-00-base.dtb
please also check developer guide, Using the Main Platform Device Tree File for device tree modification,

HI chanag,

i have to remove only camera plugin manager or other plugin manager also like display.

can you please confirm?

my main device tree is


#include <t18x-common-platforms/tegra186-quill-common-p3489-1000-a00.dtsi>
#include <t18x-common-platforms/tegra186-quill-power-tree-p3489-1000-a00-00.dtsi>
//#include <t18x-common-platforms/tegra186-quill-camera-modules.dtsi>
#include <t18x-common-modules/tegra186-display-e3320-1000-a00.dtsi>

/* comms dtsi file should be included after gpio dtsi file */
#include <t18x-common-plugin-manager/tegra186-quill-p3489-1000-a00-plugin-manager.dtsi>
#include <t18x-common-modules/tegra186-super-module-e2614-p2597-1000-a00.dtsi>
#include <t18x-common-plugin-manager/tegra186-quill-display-plugin-manager.dtsi>
#include <t18x-common-prod/tegra186-priv-quill-p3489-1000-a00-prod.dtsi>
#include <t18x-common-platforms/tegra186-quill-camera-ov9732-a00.dtsi>
//#include <t18x-common-plugin-manager/tegra186-quill-camera-plugin-manager.dtsi>

Above is my actual contain right now for main device tree…do i need to remove anyother thing apart from camera plugin manager

hello anupam.kumar,

had you check developer guide, Using the Main Platform Device Tree File?
it shows the steps for device tree modification to disable plugin-manager,

yes i checked it…these are the steps

o register a device using the main platform device tree file

  1. Locate and edit the .dtsi file:


  1. Remove the following line from the file:

#include “tegra194-camera-plugin-manager.dtsi”

  1. Replace the following line:

#include “common/tegra194-p2822-camera-modules.dtsi”

With an #include statement specifying the DTSI file for your new device.

Save and close the file.

i i didnot understand about this

Use tegra194-p2822-camera-modules.dtsi as a model for generating your DTSI. In your file, change status = disable to status = okay

can you please how i have to enable this one?
where i have to do changes for that.

whatever is written in NOTE i am not able to understand

hello anupam.kumar,

it’s an example based-on Xavier series, but it doesn’t matter. because the concept of device tree were remaining the same.
if you open tegra194-p2822-camera-modules.dtsi, you’ll see several camera device tree has included. for example, imx274, imx185, imx390…etc.
in the source code of tegra194-p2822-camera-modules.dtsi, you’ll also see all port bindings, the status are disabled by default. these can be overwritten by later included device tree sources.

so, back to your code implementation.
please do not exclude #include <t18x-common-platforms/tegra186-quill-camera-modules.dtsi>,
you should use it as template to define all port bindings, then include your own sensor device tree to change the used port as enable for making kernel driver to recognize the hardware device.

so are you saying excluding below file is causing the issue?

please do not exclude #include <t18x-common-platforms/tegra186-quill-camera-modules.dtsi> ,

see with this changes my camera sensor is working properly.

only issue is happening when i am trying to update dtb file using OTA update…for that we are using FDT option in extlinux.conf file that is mentioned above.

Please clarify

hello anupam.kumar,

your device tree customization has gone after using OTA update,

so you are saying if i am not doing any OTA update but adding FDT details in extlinux.conf file then after reboot it will not throw this error?

hello anupam.kumar,

please refer to source configuration file, nvidia-l4t-apt-source.list.
you may consider it’s normal failure since OTA update install the default device tree blob to your customize board,

here is confusion…i am not connecting my device to internet so how it will install default dtb package.
I have made one new debian package for devcie tree and that i am intsalling it through below command.

sudo apt-get install --reinstall ./nvidia-l4t-kernel-dtbs_4.9.140-tegra-32.4.3-20200625213407_arm64.deb

this package nvidia-l4t-kernel-dtbs_4.9.140-tegra-32.4.3-20200625213407_arm64.deb is build by me and i am installing it.

regarding your last reply…warnings are ok but will device tree will boot from FDT path or it will pick from emmc partition?

hello anupam.kumar,

please check my post #12, by default the first boot process is load device tree via FDT, then load from kernel-dtb partition.
please revise these device tree parse errors by yourself. you may double check you’d assigned correct device tree blob there.

Hi Chang,
I check the device tree i have chosen correct device tree.

if i see the error it is coming from u-boot source code.

Using Device Tree in place at 0000000088400000, end 0000000088440fa8
ERROR: DT property /chosen/nvidia,bluetooth-mac missing in source; can’t copy

at arch/arm/mach-tegra/dt-edit.c:176/fdt_iter_copy_prop()

this error is coming from /u-boot/arch/arm/mach-tegra/dt-edit.c:156

can you please what we are checking in u-boot for device tree and also how we can find which device tree it is picking in u-boot.

please help here

can you please update here.

hello anupam.kumar,

please dump bluetooth-mac for the missing property error, you may check them via device tree sources of using kernel commands.
for example, $ ls -la /proc/device-tree/*bluetooth-mac

I am not getting these property in kernel device tree but when i am searching this in u-boot source


#define MEM_LAYOUT_ENV_SETTINGS “scriptaddr=0x90000000\0” “pxefile_addr_r=0x90100000\0” “kernel_addr_r=” __stringify(CONFIG_LOADADDR) “\0” “fdt_addr_r=0x82000000\0” “ramdisk_addr_r=0x82100000\0” "calculated_vars=kernel_addr_r fdt_addr_r scriptaddr pxefile_addr_r " “ramdisk_addr_r\0” “kernel_addr_r_align=00200000\0” “kernel_addr_r_offset=00080000\0” “kernel_addr_r_size=08000000\0” “kernel_addr_r_aliases=loadaddr\0” “fdt_addr_r_align=00200000\0” “fdt_addr_r_offset=00000000\0” “fdt_addr_r_size=00200000\0” “scriptaddr_align=00200000\0” “scriptaddr_offset=00000000\0” “scriptaddr_size=00200000\0” “pxefile_addr_r_align=00200000\0” “pxefile_addr_r_offset=00000000\0” “pxefile_addr_r_size=00200000\0” “ramdisk_addr_r_align=00200000\0” “ramdisk_addr_r_offset=00000000\0” “ramdisk_addr_r_size=02000000\0” “fdt_copy_node_paths=” “/chosen/plugin-manager:” “/chosen/reset:” “/memory@80000000\0” “fdt_copy_prop_paths=” “/bpmp/carveout-start:” “/bpmp/carveout-size:” “/chosen/nvidia,bluetooth-mac:” “/chosen/nvidia,ether-mac:” “/chosen/nvidia,wifi-mac:” “/chosen/ecid:” “/chosen/linux,initrd-start:” “/chosen/linux,initrd-end:” “/serial-number:” “/trusty/status\0” “fdt_del_copy_node_paths=” “/reserved-memory/ramoops_carveout:” "/reserved-memory/vpr-carveout\0

here bluetooth-mac is mentioned.

can you please tell,what we are doing here

Hi anupam.kumar,

We have release “nvdebrepack.sh” script for repackage the existing L4T Debian packages.
You can download and try on JetPack-4.5.1 and check detail with nvdebrepack.txt file.


I am using SDK 32.4.3,will it be compitable with jetpack-4.5.1 or it will only work with jetpack 4.4

hello anupam.kumar,

why don’t you download JetPack via SDKManager; there’s /tools/Debian/nvdebrepack.sh available for JetPack-4.5.1.

hello anupam.kumar,

besides kernel-dtb debian package, you should also have customize nvidia-l4t-bootloader debian package.
since we’re using the nvidia-l4t-bootloader debian package to do the partition update, including kernel-dtb partition.
this package installs the BUP to update all partition images.