Apply device tree overlay to device tree located in the /boot directory

Hi

I’m trying to apply a device tree overlay that I generated using sudo /opt/nvidia/jetson-io/jetson-io.py to a device that I have located in /boot.

When I run:

sudo /opt/nvidia/jetson-io/config-by-hardware.py -n "My Jetson Overlay"

the resultant dtb file does not contain the contents of my existing dtb file in /boot.

Below shows that I’m loading the device tree from /boot

LABEL primary
      MENU LABEL primary kernel
      LINUX /boot/Image
      FDT /boot/tegra210-p3448-0000-p3449-0000-b00.dtb
      INITRD /boot/initrd
      APPEND ${cbootargs} quiet root=/dev/mmcblk0p1 rw rootwait rootfstype=ext4 fbcon=map:0 net.ifnames=0

I’m guessing that when running the command sudo /opt/nvidia/jetson-io/config-by-hardware.py -n "My Jetson Overlay", it gets applied to the default device tree in system memory?

How do I apply the overlay to the device tree in /boot?

Alternatively, is there a way to configure the system startup to look at both a .dtb and a .dtbo on the /boot directory?

Thanks in advance for any help,
Jamie

hello JamieBasil,

you can create and apply a DTB overlay file,
this is device tree overlay that will update the device tree settings accordingly.
you’ll need to update the .dtbo file with proper override information and a compatible string, it’s __overlay__ to include the changes.
here’s an example,

compatible = "nvidia,p3449-0000+p3668-0000", "nvidia,p3449-0000+p3668-0001", "nvidia,p3509-0000+p3668-0000", "nvidia,p3509-0000+p3668-0001";
 
fragment@0 {
    target = <&imx185_cam0>;
    __overlay__ {
        status = "okay";
    };
};

please compile the .dts file to generate a .dtbo file. move the .dtbo file to /boot so that the Jetson‑IO tool can recognize it.
after that, launch the Jetson‑IO tool and configure the DTB overlay.
thanks

Thanks JerryChang. Sorry I don’t think this response fixes my problem or answers my questions.

I mentioned above that I’m trying to apply the overlay I generated using the Jetson-IO tool to my .dtb that is located in my /boot directory and it isn’t doing that.

Do you know of a way to apply the dtbo file to a dtb file located in /boot?

Thanks

hi JamieBasil,

the approach is using Jetson‑IO tool to load the dtbo and overwrite the configurations.
if the overlay isn’t works, please try to include the settings in your device tree binary for verification,
thanks

Thanks @JerryChang.

Which configurations does the overlay get applied to? Specifically where is this file located?

hello JamieBasil,

please refer to my previous comment #3, it’s a DTB overlay file to statically configure the settings.
it’s a compatible string to find the base device tree sources with proper override information. also, that’s __overlay__ to include the device tree nodes changes. i.e. status=okay in the example.
thanks

I figured out what’s happening. The overlay gets applied to the .dtb file that is located in /boot/dtb.

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