NVIDIA Jetson - Device Tree Overlay

From RidgeRun Developer Wiki
Revision as of 19:51, 16 February 2022 by Mleiva (talk | contribs)

Introduction

This wiki is intended to be used as a reference If you want to create a Device Tree (DT) overlay for a custom hardware module. DT overlay is used to configure various hardware devices that may be attached to the system.

Nvidia Jetson kernels use a Device Tree (DT) to describe the hardware present in the Nvidia Jetson board. You can use Jetson‑IO to support a custom hardware module by creating a device tree overlay for the hardware module to allow optional external hardware to be described and configured.

Create a device tree overlay

Jetson‑IO

NVIDIA provides the Jetson Expansion Header Tool (also known as Jetson‑IO), a Python script that runs on a Jetson developer kit and lets you apply a DT overlay configuration through a graphic user interface. Jetson‑IO finds the overlay file and allows you to apply it.

Device tree overlay structure

Fragments A DT overlay comprises a number of fragments, each of which targets one node and its subnodes. Although the concept sounds simple enough, the syntax seems rather strange at first:

A device tree overlay for a hardware module must define the property:

  • overlay-name: which specifies a name for the hardware module; a unique name that distinguishes this overlay from others.
  • jetson-header-name: which specifies the expansion header with which the hardware module is associated; must specify one of the values described, depending on which header the hardware module is associated with
  • compatible: which indicates which combination of Jetson module and carrier board the overlay supports; must specify one or more of the values described below, depending on what Jetson platforms are supported

Support for hardware modules is handled by device tree overlay files (.dtbo files).