Device Trees on Toradex System on Modules
Introduction
This article aims to provide an in-depth understanding of device trees used in Toradex System on Modules (SoMs), focusing on their hierarchical structure and the three levels of inclusion: SoC level, module level, and carrier board level.
Device Tree for Toradex Modules
The diagrams in this section represent the device tree and related structures of every Toradex module. All of those are divided into three levels of inclusion:
- SoC Level: Device tree includes that describes the SoC, cores, reserved memory and SoC peripherals.
- Module Level: Device tree includes that describe specific configurations at the SoM's level, such as some pinmuxing, GPIOs, peripherals, external memory and WiFi.
- Carrier Board Level: Device trees and related includes that describe carrier board specific configurations or peripherals.
The referenced files in the diagrams can be found either in the repository for upstream-based Kernel or in the repository for downstream-based Kernel inside the branches described in Kernel Version Information.
i.MX 6 Based Modules
The modules Colibri iMX6S/iMX6DL share the same device tree binary, so do the modules Apalis iMX6D/iMX6Q. Click on the box to see the current version of the respective device tree file.
i.MX 6ULL Based Modules
Both versions of the Colibri iMX6ULL modules (256MB without Wi-Fi and 512MB with Wi-Fi) share the same SoC-level device tree file (imx6ull.dtsi) and there are dedicated files to each module.
i.MX 7 Based Modules
The modules Colibri iMX7S/iMX7D use independent device tree binaries, but due to the high intersection, most of the logic is in shared device tree source files.