The device tree is a data structure that describes the hardware components available on a system. The Linux kernel queries the device tree to know what drivers to load during boot.
Device tree file types
Device tree files are located at arch/arm/boot/dts/
and can have two extensions:
-
.dtsi
files are device tree source include files. They describe hardware that is common to several platforms which include these files on their.dts
files. -
.dts
files are device tree source files. They describe one specific platform.
ConnectCore 6UL system-on-module
The ConnectCore 6UL is a system-on-module (SOM) solution that integrates:
-
NXP {cpu-family} system-on-chip featuring many interfaces such as UART, CAN, SPI, and I2C
-
DDR3 memory
-
NAND memory
-
PMIC chip
-
Crypto-authentication chip
-
Optional Wi-Fi + Bluetooth chip
-
Micro Controller Assist (MCA) chip
The ConnectCore 6UL system-on-module needs to be soldered to a carrier board.
For this reason, there is not a single .dts
file for it.
Instead, its hardware features are collected into .dtsi
files that can be included by a final platform .dts
.
Since the ConnectCore 6UL system-on-module is offered in different variants, multiple .dtsi
files have been defined to describe the hardware inside:
File | Description |
---|---|
Common hardware for ConnectCore 6UL system-on-module (SOM) variants |
|
ConnectCore 6UL system-on-module variant with Wi-Fi and Bluetooth |
Depending on your ConnectCore 6UL variant, your final platform .dts
file will need to include one of these files.
ConnectCore 6UL SBC Express and ConnectCore 6UL SBC Pro
The ConnectCore 6UL SBC Express and ConnectCore 6UL SBC Pro are carrier boards assembling the ConnectCore 6UL system-on-module. Both boards assemble additional hardware such as Ethernet PHY, microSD card holder, user LEDs and so on.
As final platforms, both boards have .dts
files that include one of the ConnectCore 6UL system-on-module .dtsi
files.
Include files
Both the SBC Express and the SBC Pro boards can assemble different variants of the ConnectCore 6UL system-on-module, so the common hardware for the carrier boards is described in a board-specific .dtsi
file:
File | Description |
---|---|
Common hardware for ConnectCore 6UL SBC Express |
|
Common hardware for ConnectCore 6UL SBC Pro |
Final platform files
The final platforms are described in board-specific .dts
files:
File | Digi product smart part number | Wi-Fi | Bluetooth |
---|---|---|---|
CC-WMX6UL-START |
✓ |
✓ |
|
CC-WMX6UL-KIT |
✓ |
✓ |
|
CC-SBP-WMX-JN7A |
✓ |
✓ |
The device tree files without ID number are not linked to any Digi product. They correspond to:
|
Graphical representation
The following graphic illustrates the composition of a .dts
file.
Device tree selection during boot process
Digi Embedded Yocto builds the different device tree files (.dts
) for different boards and SOM variants into binary device tree blobs (.dtb
).
The device tree blobs are placed inside the linux partition along with the kernel binary.
The bootloader uses the To learn how to create a device tree for your custom carrier board and using a custom board ID, see Add a new custom machine. |