From ProventusNova DeveloperWiki

Adding custom device tree overlay to JetPack 6.X

Keywords: NVIDIA Jetson, JetPack, kernel customization, device tree overlays, dtbo

Description

This wiki page shows how to add a custom device tree overlay for NVIDIA platforms with Jetpack 6.X.

Adding custom device tree overlay

Take your_overlay.dts as the custom device tree overlay file to be added.

1. In Jetpack 6.X device tree overlays live in directory: hardware/nvidia/t23x/nv-public/overlay/. Add your_overlay.dts device tree overlay file to this directory.

2. In order to build this file, add the following to the Makefile inside the same directory.

 
dtbo-y += your_overlay.dtbo

3. Inside Linux_for_Tegra/source directory, export environment variables for compiling and compile dtbs.

 
export CROSS_COMPILE=$HOME/l4t-gcc/aarch64--glibc--stable-2022.08-1/bin/aarch64-buildroot-linux-gnu-
export KERNEL_HEADERS=$PWD/kernel/kernel-jammy-src

make dtbs

Note: Compiled device tree overlay files will be under: Linux_for_Tegra/source/kernel-devicetree/generic-dts/dtbs/.

4. Copy your_overlay.dtbo to Linux_for_Tegra/kernel/dtb.

5. Add your_overlay.dtbo to the machine conf used for flashing. For example, for NVIDIA Jetson Orin Nano developer kit we modify file jetson-orin-nano-devkit.conf and add our overlay to variable OVERLAY_DTB_FILE

 
OVERLAY_DTB_FILE+=",tegra234-p3768-0000+p3767-0000-dynamic.dtbo,your_overlay.dtbo";

This will load the overlay at boot time.