Select the version of your OS from the tabs below. If you don't know the version you are using, run the command cat /etc/os-release
or cat /etc/issue
on the board.
Linux Device Tree is a data structure describing a system's hardware.
Sometimes, it is necessary to modify the Device Tree. Some use cases that require Device Tree modifications include (but not limited to):
Device Tree is built with the Kernel when building the distribution. However, Device Tree Overlays provide a way to modify the overall device tree without the need for re-compiling the complete device tree.
Overlays are small pieces, or fragments, of a complete device tree, and can be added or removed as needed, often enabling/disabling hardware components in the system.
Due to its flexible nature, overlays provide an advantageous way of describing peripheral hardware added or removed from the system. It is also useful for tweaking the existing hardware parameters before committing it to a complete device tree. You can find rich information about overlays available on the web.
In a very brief description, the process of designing for a Device Tree Overlay comprises three macro steps:
Overlays in human-readable format (dts files) must be compiled to binary format (dtb for complete device-trees, dtbo for overlays) to be parsed by the kernel.
This article will show the tools available for designing Device Tree Overlays for Toradex CoMs on TorizonCore. If you want to use device tree overlays with our Reference Images for Yocto Project, read the Device Tree Overlays section from Build U-Boot and Linux Kernel from Source Code.
This article complies to the Typographic Conventions for Torizon Documentation
Attention: The instructions provided in this session intended for prototype and proof-of-concept only. For production, skip directly to the next section of this article for information about TorizonCore Builder usage.
On TorizonCore image there are pre-built Device Tree Overlays for Add-on Products available in Toradex's webshop. You can see a complete list of the available overlays at the end of this article.
First, see a list of available pre-built overlays (*.dtbo files):
# ls /sysroot/boot/ostree/torizon-*/dtb/overlays
To enable these overlays, you need to modify the file /sysroot/boot/ostree/torizon-*/dtb/overlays.txt
in your SoM, adding the desired overlays. You can create it, if not existing.
This file will contain the string fdt_overlays=
followed by a space-separated list of overlays.
For example, to enable the DSI to HDMI converter and the CSI Camera Module OV5640 on the Verdin iMX8M Mini module, use the following commands:
# cd /sysroot/boot/ostree/torizon-*/dtb/
# sudo sh -c "echo 'fdt_overlays=verdin-imx8mm_lt8912_overlay.dtbo verdin-imx8mm_ov5640_overlay.dtbo' > overlays.txt"
# sync
In this example, this will be the content of the overlays.txt
file:
/sysroot/boot/ostree/torizon-*/dtb/overlays.txtfdt_overlays=verdin-imx8mm_lt8912_overlay.dtbo verdin-imx8mm_ov5640_overlay.dtbo
To enable the DSI to HDMI converter only, use the following command:
# sudo sh -c "echo 'fdt_overlays=verdin-imx8mm_lt8912_overlay.dtbo' > overlays.txt"
# sync
After changing the overlays.txt
file, reboot the board.
If you want to obtain the source code of the Device Tree Overlays provided by Toradex for the products available on the webshop, see the TorizonCore Builder Tool section of this article.
Note: The changes applied following these steps will not persist after an OTA update. Also, this will not generate an image to deploy multiple boards. Therefore, this procedure is not scalable and is not recommended for production. For information about how to proceed with development for production, continue reading the next sections of this article.
Attention: If you add a device tree overlay that will break the kernel boot you can set the U-Boot environment variable skip_fdt_overlays to 1. In U-Boot do: setenv skip_fdt_overlays 1
TorizonCore Builder Tool assists users in creating and managing updates for deployed Torizon images. It runs in a container on the host system. Among all other functionalities, TorizonCore Builder Tool can compile device tree overlay(s), apply it to the devicetree, and merge it to a TorizonCore image (on a Toradex Easy Installer compatible format). The tool can also deploy the changes over ssh directly to the Torizon image running on a target machine.
See the TorizonCore Builder Tool article for detailed information about the software and its sub-commands and options.
Note: Install TorizonCore Builder before you start following the instructions below.
The most recommended way to create a new overlay is to start looking at similar overlays and then adapt to your project's needs. The next chapters of this article will show how you can obtain Device Tree Overlays source files for peripherals sold by Toradex.
However, if you need to build overlays for different hardware, the Linux Kernel source provides binding documentation for specific peripherals.
To access this information, visit The Linux Kernel Archives website and browse the Linux Kernel source for your board's specific version. You will find the particular bindings information in the Linux kernel source at the Documentation/devicetree/bindings
directory.
As an example, you will find the binding documentation for the version v4.14.184
on the following link: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings?h=v4.14.184
To find out the Linux Kernel version on your board, type on the board's Linux terminal:
# uname -r
Toradex provides source files of Device Trees and Device Tree Overlays for the add-on products available in the webshop. For information about these overlays, see the Toradex Device Tree Overlays repository on Github and the TorizonCore Builder Tool article. The repository contains device tree source files, device tree overlays, and .dtsi and .h files.
Note: The examples below uses docker volume. You can easily adapt the examples to use without docker volume. See the TorizonCore Builder Tool article for more information.
With TorizonCore Builder in a host machine, to clone the repository using the tool, execute the following:
$ torizoncore-builder dt checkout
Cloning into 'device-trees'...
remote: Enumerating objects: 1067, done.
remote: Counting objects: 100% (1067/1067), done.
remote: Compressing objects: 100% (727/727), done.
remote: Total 1067 (delta 441), reused 947 (delta 321), pack-reused 0
Receiving objects: 100% (1067/1067), 800.96 KiB | 367.00 KiB/s, done.
Resolving deltas: 100% (441/441), done.
The device-trees Toradex repository has the following directory organization:
dts-arm32
- source files of device trees for Toradex modules of 32-bit architectures.dts-arm64
- source files of device trees for Toradex modules of 64-bit architectures.overlays
- source files of device tree overlays for Toradex modules.The source files for both device trees and device tree overlays have the .dts
extension.
The following sections provide examples of building device trees from source and applying overlays using TorizonCore Builder.
To identify the current device tree of the image, use dt status:
$ torizoncore-builder dt status
Current device tree is: imx6q-apalis-eval.dtb
In the above command, note that the device tree has the .dtb
extension, meaning that it's a compiled device tree.
Note: Some images of Toradex modules don't set the device tree upfront, delaying the selection of a device tree for boot time. In these cases, dt status won't be able to show the current device tree of the image.
To compile a given device tree source file and then set it to be used in the image, use dt apply:
$$ torizoncore-builder dt apply device-trees/dts-arm32/imx6q-apalis-ixora-v1.1.dts
/tmp/tmpxkgnzwvq: Device Tree Blob version 17, size=77701, boot CPU=0, string block size=6225, DT structure block size=71420
'imx6q-apalis-ixora-v1.1.dts' compiles successfully.
Device tree imx6q-apalis-ixora-v1.1.dtb successfully applied.
Note: When applying a device tree with dt apply, all overlays that were eventually applied are reset.
To list the overlays under device-trees/overlays
that are compatible with the current device tree, use dto list:
$ torizoncore-builder dto list
Overlays compatible with device tree imx6q-apalis-ixora-v1.1.dtb:
- device-trees/overlays/apalis-imx6_atmel-mxt_overlay.dts
- device-trees/overlays/apalis-imx6_hdmi_overlay.dts
- device-trees/overlays/apalis-imx6_lcd_overlay.dts
- device-trees/overlays/apalis-imx6_lvds_overlay.dts
- device-trees/overlays/apalis-imx6_stmpe-ts_overlay.dts
- device-trees/overlays/apalis-imx6_vga_overlay.dts
- device-trees/overlays/display-edt5.7_overlay.dts
- device-trees/overlays/display-edt7_overlay.dts
- device-trees/overlays/display-fullhd_overlay.dts
- device-trees/overlays/display-lt161010_overlay.dts
- device-trees/overlays/display-lt170410_overlay.dts
To compile a given device tree overlay source file and then set it to be applied to the device tree during boot, use dto apply:
$ torizoncore-builder dto apply device-trees/overlays/apalis-imx6_hdmi_overlay.dts
/tmp/tmpgfs3rch0: Device Tree Blob version 17, size=1124, boot CPU=0, string block size=100, DT structure block size=968
'apalis-imx6_hdmi_overlay.dts' compiles successfully.
/tmp/tmp2p3gc2s0: Device Tree Blob version 17, size=77669, boot CPU=0, string block size=6225, DT structure block size=71388
'apalis-imx6_hdmi_overlay.dtbo' can successfully modify the device tree 'imx6q-apalis-ixora-v1.1.dtb'.
Overlay apalis-imx6_hdmi_overlay.dtbo successfully applied.
In the above example:
--force
to dto apply.Overlays can be applied incrementally; if you want to enable more overlays, use dto apply again.
To identify the device tree overlays that are currently applied to the device tree in the image, use dto status:
$ torizoncore-builder dto status
Enabled overlays over device tree imx6q-apalis-ixora-v1.1.dtb:
- apalis-imx6_hdmi_overlay.dtbo
In the above example, note that the overlays have the .dtbo
extension, meaning they are compiled files.
To remove an applied overlay, use dto remove and pass the overlay blob name as given by dt status:
$ torizoncore-builder dto remove apalis-imx6_hdmi_overlay.dtbo
Overlaid device tree will get merged to Toradex Easy Installer image of Torizon on executing Union
command. Union
command checks for changes in Docker Volume and get them merged to Toradex Easy Installer image of Torizon:
$ torizoncore-builder union --union-branch dt_changes
Commit d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3 has been generated for changes and ready to be deployed.
Now the tool has committed the change to the unpacked Toradex Easy Installer image of Torizon. You can use the commit for deployment either on the unpacked base image (on Toradex Easy Installer format) or directly on the target board over ssh.
For setting a commit for deployment, TorizonCore Builder provides the deploy
command. Refer to TorizonCore Builder Tool for more information on deploy
command.
To set commit for deployment on the base unpacked Toradex Easy Installer image of Torizon:
$ torizoncore-builder deploy <commit id> --output-directory <output path for TorizonCore Toradex Easy Installer image>
For example:
Note: d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3
is the hash returned by the torizoncore-builder union
on the previous step of our example.
$ torizoncore-builder deploy d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3 --output-directory output
Using unpacked Toradex Easy Installer image as base:
Commit checksum: 54fd6637c9b992e30b7d81e9adf27c4df0e9617c4d94feaa8fb330ae79d170ee
TorizonCore Version: 5.0.0-devel-20200924030222+build.0
Kernel arguments: quiet logo.nologo vt.global_cursor_default=0 plymouth.ignore-serial-consoles splash ostree=/ostree/boot.1/torizon/2858281ace2f33c55d8bf1e9e0dacfa6eb7a601f17c89738cb1b00b6ffe01f02/0
Deploying commit ref: d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3
Pulling OSTree with ref d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3 (checksum d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3)from local archive repository...
Pulling done.
Deploying OSTree with checksum d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3
Deploying done.
Copy rootdirs such as /home from original deployment.
Packing rootfs...
Packing rootfs done.
To deploy directly on a target machine:
$ torizoncore-builder deploy <commit id> --remote-host <host name or ip of target machine> --remote-username <user name of target machine> --remote-password <password of target machine>
For example:
Note: 192.168.1.111
is the board's IP of the target machine.
$ torizoncore-builder deploy d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3 --remote-host 192.168.1.111 --remote-username torizon --remote-password 1234
Pulling OSTree with ref d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3 (checksum d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3) from local archive repository...
Starting http server to serve OSTree.
Starting OSTree pull on the device...
Deploying new OSTree on the device...
Deploying successfully finished.
Please reboot the device to boot into the new deployment.
Often, after you use the deploy
command to validate changes during development, you will want to push your changes to Signing and Pushing TorizonCore Images to Torizon OTA. Learn how to do it on Device Tree Customization Examples.
After rebooting, in your target machine's terminal, check if the new version is now active:
# sudo ostree admin status
Password:
* torizon d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3.0
Version: 5.0.0-devel-20200924030222+build.0-tcbuilder.20200925235634
origin refspec: tcbuilder:d36d7f8b393e9226af780d16c0813eaa087fd35ff1251c86b5dc0d61a9ca29b3
torizon 67f3b0ed5b69cd1b0aa74c8c7cc2ca7b27cf822ae63d347f4aa39b241bd06741.0 (rollback)
Version: 5.0.0-devel-202009+build.2
origin refspec: torizon:5/apalis-imx6/torizon/torizon-core-docker/monthly
In case you find yourself with a non-working kernel (usually stuck at the "Loading kernel..." message) when applying a device tree overlay with TorizonCore Builder, after a few boot tries (3 by default), the system will rollback to the previous version of the operating system. For more information on the rollback mechanism, see Rollback and boot count support of aktualizr.
Device tree examples, including overlays, can be found on Device Tree Customization Examples. See a list of remarkable examples available:
Example | Description |
---|---|
GPIO pinmux | Some pins are not configured as GPIO by default. Learn how to configure a pin as GPIO. |
Some examples are available in other articles:
Note: at the moment, there are no device tree overlay examples outside the Device Tree Customization Examples.
Toradex provides Device Tree Overlays for the add-on products available in the webshop. For information about these overlays, see the Toradex Device Tree Overlays repository on Github and the TorizonCore Builder Tool article.
See the Capacitive Touch Display 7" Parallel in the webshop.
Note: To use capacitive touch interface on Apalis Evaluation board, Colibri Evaluation board and Viola/Viola Plus v1.0-1.2 you need the Capacitive Touch Adapter.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_lcd_overlay.dtbo, apalis-imx6_atmel-mxt_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_parallel-rgb_overlay.dtbo, apalis-imx6_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Apalis iMX8 | Display is not supported by module | |||
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_parallel-rgb_overlay.dtbo, apalis-imx8x_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6_lcd_overlay.dtbo, colibri-imx6_atmel-mxt_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_atmel-mxt_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_atmel-mxt_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX8X | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module | |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module |
See the Capacitive Touch Display 10.1" LVDS in the webshop.
Note: To use capacitive touch interface on Apalis Evaluation board, Colibri Evaluation board and Viola/Viola Plus v1.0-1.2 you need the Capacitive Touch Adapter.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_lvds_overlay.dtbo, apalis-imx6_atmel-mxt_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_lvds_overlay.dtbo, apalis-imx6_atmel-mxt_overlay.dtbo, display-lt170410_overlay.dtbo | |
Apalis iMX8 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8_lvds_overlay.dtbo, apalis-imx8_atmel-mxt_overlay.dtbo, display-lt170410_overlay.dtbo | |
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_lvds_overlay.dtbo, apalis-imx8x_atmel-mxt_overlay.dtbo, display-lt170410_overlay.dtbo | |
Colibri iMX6 | Iris v2.0 | toradex_5.4-2.1.x-imx | colibri-imx6_lcd-lvds_overlay.dtbo, colibri-imx6_atmel-mxt_overlay.dtbo | |
Colibri iMX6 | Iris v2.0 | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_atmel-mxt_overlay.dtbo, display-dpi-lt170410_overlay.dtbo | |
Colibri iMX6ULL | Iris v2.0 | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb-lvds_overlay.dtbo, colibri-imx6ull_atmel-mxt_overlay.dtbo | |
Colibri iMX6ULL | Iris v2.0 | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_atmel-mxt_overlay.dtbo, display-dpi-lt170410_overlay.dtbo | |
Colibri iMX7 | Iris v2.0 | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb-lvds_overlay.dtbo, colibri-imx7_atmel-mxt_overlay.dtbo | |
Colibri iMX7 | Iris v2.0 | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_atmel-mxt_overlay.dtbo, display-dpi-lt170410_overlay.dtbo | |
Colibri iMX8X | Iris v2.0 | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_atmel-mxt_overlay.dtbo, display-dpi-lt170410_overlay.dtbo | |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to LVDS Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mm_sn65dsi84_overlay.dtbo |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to LVDS Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mp_sn65dsi84_overlay.dtbo |
See the Resistive Touch Display 7" Parallel in the webshop.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_lcd_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_parallel-rgb_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | |
Apalis iMX8 | Display is not supported by module | |||
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_parallel-rgb_overlay.dtbo, apalis-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6_lcd_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX8X | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module | |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module |
See the EDT 7.0" (EOL) in the webshop.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_lcd_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_parallel-rgb_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | |
Apalis iMX8 | Display is not supported by module | |||
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_parallel-rgb_overlay.dtbo, apalis-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6_lcd_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX8X | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module | |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module |
This interface is built into some of Toradex boards. Also, Toradex provides special HDMI adapters:
If the set module+board is not on this list, it doesn't support an HDMI interface.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_hdmi_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_hdmi_overlay.dtbo | |
Apalis iMX8 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8_hdmi_overlay.dtbo | |
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_dsihdmi_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6_hdmi_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6_hdmi_overlay.dtbo | |
Colibri iMX6ULL | Interface is not supported by module | |||
Colibri iMX7 | Interface is not supported by module | |||
Colibri iMX8X | Evaluation/Iris | Colibri iMX8X DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | colibri-imx8x_dsihdmi_overlay.dtbo |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mm_lt8912_overlay.dtbo |
Verdin iMX8MP | Development/Dahlia | toradex_5.4-2.1.x-imx | verdin-imx8mp_native-hdmi_overlay.dtbo | |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mp_lt8912_overlay.dtbo |
This interface is built into most of Toradex boards. If the board is not on this list, it doesn't have a VGA interface.
Module | Board | Kernel | Overlays |
---|---|---|---|
Apalis iMX6 | Evaluation | toradex_5.4-2.1.x-imx | apalis-imx6_vga_overlay.dtbo |
Apalis iMX6 | Evaluation | toradex_5.4.y | apalis-imx6_vga_overlay.dtbo |
Apalis iMX8 | Interface is not supported by module | ||
Apalis iMX8X | Interface is not supported by module | ||
Colibri iMX6 | Evaluation/Aster/Iris | toradex_5.4-2.1.x-imx | colibri-imx6_vga_overlay.dtbo |
Colibri iMX6 | Evaluation/Aster/Iris | toradex_5.4.y | colibri-imx6_vga_overlay.dtbo |
Colibri iMX6ULL | Evaluation/Aster/Iris | toradex_5.4-2.1.x-imx | colibri-imx6ull_vga_overlay.dtbo |
Colibri iMX6ULL | Evaluation/Aster/Iris | toradex_5.4.y | colibri-imx6ull_vga_overlay.dtbo |
Colibri iMX7 | Evaluation/Aster/Iris | toradex_5.4-2.1.x-imx | colibri-imx7_vga_overlay.dtbo |
Colibri iMX7 | Evaluation/Aster/Iris | toradex_5.4.y | colibri-imx7_vga_overlay.dtbo |
Colibri iMX8X | Evaluation/Aster/Iris | toradex_5.4-2.1.x-imx | colibri-imx8x_vga_overlay.dtbo |
Verdin iMX8MM | Interface is not supported by module | ||
Verdin iMX8MP | Interface is not supported by module |
Toradex turns on a pre-set of Device Tree Overlays to support the default display interfaces and panels.
Module | Kernel | Overlays | Supported devices |
---|---|---|---|
Apalis iMX6 | toradex_5.4-2.1.x-imx | apalis-imx6_hdmi_overlay.dtbo | HDMI Display |
Apalis iMX6 | toradex_5.4.y | apalis-imx6_hdmi_overlay.dtbo, apalis-imx6_parallel-rgb_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | HDMI Display, EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Apalis iMX8 | toradex_5.4-2.1.x-imx | apalis-imx8_hdmi_overlay.dtbo | HDMI Display |
Apalis iMX8X | toradex_5.4-2.1.x-imx | apalis-imx8x_hdmi_overlay.dtbo, apalis-imx8x_parallel-rgb_overlay.dtbo, apalis-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | HDMI Display, EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Module | Kernel | Overlays | Supported devices |
---|---|---|---|
Colibri iMX6 | toradex_5.4-2.1.x-imx | colibri-imx6_lcd_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX6 | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX6ULL | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX6ULL | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX7 | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX7 | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX8X | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Module | Accessory | Kernel | Overlays | Supported devices |
---|---|---|---|---|
Verdin iMX8MM | Verdin DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mm_lt8912_overlay.dtbo | HDMI Display |
Verdin iMX8MP | toradex_5.4-2.1.x-imx | verdin-imx8mm_native-hdmi_overlay.dtbo | HDMI Display | |
Verdin iMX8MP | Verdin DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mm_lt8912_overlay.dtbo | HDMI Display |
Overlay | Device |
---|---|
apalis-imx8qm-st-m41t0-overlay.dts | Enable the external m41t0 RTC from ST on Apalis iMX8 |
Overlay | Device |
---|---|
colibri-imx8x-dsihdmi-overlay.dts | Enable the Toradex Easy Installer |
To enable the DSI to HDMI Adapter for Verdin with TorizonCore, you need to use TorizonCore builder as shown above. The following commands will then apply the overlay and deploy the new image to the Verdin module:
Warning: make sure to use a matching image to the one installed on the board. You can download TorizonCore pre-built images on the Toradex's Device Tree Customization article article.
# Setup directory mkdir custom-torizoncore cd custom-torizoncore # Download and unpack Toradex Easy Installer image # Replace it with an image matching your SoM and TorizonCore version. Find images on https://developer.toradex.com/software/toradex-easy-installer#torizoncore-embedded-linux-images wget https://artifacts.toradex.com:443/artifactory/torizoncore-oe-prod-frankfurt/dunfell-5.x.y/monthly/4/verdin-imx8mm/torizon/torizon-core-docker-evaluation/oedeploy/torizon-core-docker-evaluation-verdin-imx8mm-Tezi_5.1.0-devel-202011%2Bbuild.4.container.tar tar -xf torizon-core-docker-evaluation-verdin-imx8mm-Tezi_5.1.0-devel-202011+build.4.container # Unpack the Torizon image into an archive mode ostree torizoncore-builder unpack --image-directory ./torizon-core-docker-evaluation-verdin-imx8mm-Tezi_5.1.0-devel-202011+build.4.container/ # Checkout the devicetree overlays torizoncore-builder dt checkout # Apply the hdmi overlay to the base devicetree torizoncore-builder dt overlay --devicetree imx8mm-verdin-wifi-dev.dtb ./device-trees/overlays/verdin-imx8mm_lt8912_overlay.dts # Union the modified devicetree with the base image to an ref called hdmi torizoncore-builder union --union-branch hdmi # Deploy the new TorizonCore image to the target torizoncore-builder deploy --remote-host <remote ip> --remote-username torizon --remote-password <password> --reboot hdmi
Device Tree Overlays provide a way to modify the overall device tree without having to re-compile the complete device tree.
Overlays are small pieces, or fragments of a complete device tree, and can be added or removed as needed, often enabling/disabling components of hardware in the system.
It is because of this flexible nature that overlays provide an advantageous way of describing peripheral hardware, that can be added or removed from the system. It is also useful for tweaking parameters of existing hardware before committing it to a complete device tree. Overlays are described elsewhere, but here are some links that do a good job explaining them:
In a very brief description, the process of designing for a Device Tree Overlay comprises 3 macro steps:
This article will show the tools available for designing Device Tree Overlays for Toradex CoMs on Torizon. If you want to use device tree overlays with our Reference Images for Yocto Project, read the Device Tree Overlays section from Build U-Boot and Linux Kernel from Source Code.
This article complies to the Typographic Conventions for Torizon Documentation
The most recommended way to create a new overlay is to start looking to similar overlays and then adapt to your project's needs. The Linux Kernel source provide binding documentation for specific peripherals.
To access this information, visit The Linux Kernel Archives website and browse the Linux Kernel source for the specific version of your board. You will find the specific bindings information in the Linux kernel source at: Documentation/devicetree/bindings.
As an example, you will find the binding documentation for the version v4.14.184
on the following link: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/tree/Documentation/devicetree/bindings?h=v4.14.184
To find out the Linux Kernel version on your board, type on the board's Linux terminal:
# uname -r
To overcome the task of setting up the environment, modifying and re-compiling a device tree, Toradex provides the tools necessary to build, analyze, and apply both device trees and device tree overlays. Device Tree Overlays tools are provided in the Developer Tools Container for TorizonCore.
The bulk of the tools are part of the dtc (device tree compiler) project and can, therefore, be found in the dtc repository on Github, but are also shipped as part of the Linux kernel on the scripts/dtc directory.
Overlays in human-readable format (dts files) must be compiled to binary format (dtb for complete device-trees, dtbo for overlays) to be parsed by the kernel.
See a high-level description of the tools:
Used to manage device-trees and device-tree overlays running on a system. This tool is written by Toradex for a smoother development experience with Torizon.
This container also comes with device-tree and device-tree overlay source files.
These files are stored using git and the tool will match their version with the currently running kernel. It is possible to download updates directly from the container, but this requires an internet connection.
On the computer on module, Device Tree Customization Examples. Then learn how to use dtconf
as presented in the next sections.
These are the command Line options for dtconf:
usage: dtconf < command > [arguments]
Commands:
help
build
status
validate
enable
disable
activate
print
Use help command to have a more detailed list of commands and their arguments.
The status subcommand prints out a list of currently active overlays, of the device trees that are available on the device and of those that are available for the currently running kernel.
The build subcommand compiles dts code files into a device-tree or device-tree overlay file.
The validate subcommand checks that overlay files are compatible with a device tree. Depending on the Torizon image and CoM, you may have multiple valid device trees on your boot partition. The tool should be able to detect which one has been used to boot the device, and if this is not possible, you'll have to specify the one that is currently used with the "-c" additional parameter referencing the device tree.
The enable subcommand copies a binary device tree overlay to the boot partition and adds it to the list of overlays that are activated at boot.
The activate subcommand builds a source dts, validates it and enables it in a single step. It's equivalent to run build, validate and enable commands in sequence.
The disable subcommand can be used to remove one overlay from the list of those that are applied at boot. If --all is specified, all overlays will be removed.
The print subcommand translates a binary device-tree file back into a human-readable format. It can be used to debug issues or document the configuration changes performed by active overlays
Overlays are applied at boot, so the options that affect active overlays configuration (-a,-e and -d) will require a reboot to apply the required changes.
You can modify any of the overlays we provide and then validate them.
First, you need to build the overlay:
## dtconf build modified_overlay.dts
You can then validate that this overlay will apply to the active device tree by executing:
## dtconf validate modified_overlay.dtbo
And finally set it to be active by executing:
## dtconf enable modified_overlay.dtbo
You would now be required to reboot for these changes to take effect.
In case you find yourself with a non-working kernel (normally, stuck at the "Loading kernel..." message), you can delete your custom overlays directly from your PC.
You'll need to set up a USB-OTG connection with your PC and run the UMS functionality of U-Boot by simply stopping the autoboot at U-boot, and running the following commands:
ums 0 mmc 0
If the connection is properly done, you should see a BOOT partition show up in your PC. Simply delete the conflicting .dtbo and the conflicting line in the overlays.txt file.
Note: Check your carrier board datasheet what ports and jumper configurations work with USB-OTG. In Toradex Carrier Boards, it simply requires using the correct port or a small jumper removal (like Ixora's JP2). Note: You can delete the overlays.txt file if you don't have any DTBO working. TorizonCore will recreate this file when activating a new DTBO.
Device tree examples, including overlays, can be found on Device Tree Customization Examples. See a list of remarkable examples available:
Example | Description |
---|---|
GPIO pinmux | Some pins are not configured as GPIO by default. Learn how to configure a pin as GPIO. |
Some examples are available in other articles.
Note: at the moment, there are no device tree overlay examples outside the Device Tree Customization Examples.
Toradex provides Device Tree Overlays for the add-on products available in the webshop. For information about these overlays, see the Toradex Device Tree Overlays repository on Github and the TorizonCore Builder Tool article.
See the Capacitive Touch Display 7" Parallel in the webshop.
Note: To use capacitive touch interface on Apalis Evaluation board, Colibri Evaluation board and Viola/Viola Plus v1.0-1.2 you need the Capacitive Touch Adapter.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_lcd_overlay.dtbo, apalis-imx6_atmel-mxt_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_parallel-rgb_overlay.dtbo, apalis-imx6_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Apalis iMX8 | Display is not supported by module | |||
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_parallel-rgb_overlay.dtbo, apalis-imx8x_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6_lcd_overlay.dtbo, colibri-imx6_atmel-mxt_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_atmel-mxt_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_atmel-mxt_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX8X | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_atmel-mxt_overlay.dtbo, display-edt7_overlay.dtbo | |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module | |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module |
See the Capacitive Touch Display 10.1" LVDS in the webshop.
Note: To use capacitive touch interface on Apalis Evaluation board, Colibri Evaluation board and Viola/Viola Plus v1.0-1.2 you need the Capacitive Touch Adapter.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_lvds_overlay.dtbo, apalis-imx6_atmel-mxt_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_lvds_overlay.dtbo, apalis-imx6_atmel-mxt_overlay.dtbo, display-lt170410_overlay.dtbo | |
Apalis iMX8 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8_lvds_overlay.dtbo, apalis-imx8_atmel-mxt_overlay.dtbo, display-lt170410_overlay.dtbo | |
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_lvds_overlay.dtbo, apalis-imx8x_atmel-mxt_overlay.dtbo, display-lt170410_overlay.dtbo | |
Colibri iMX6 | Iris v2.0 | toradex_5.4-2.1.x-imx | colibri-imx6_lcd-lvds_overlay.dtbo, colibri-imx6_atmel-mxt_overlay.dtbo | |
Colibri iMX6 | Iris v2.0 | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_atmel-mxt_overlay.dtbo, display-dpi-lt170410_overlay.dtbo | |
Colibri iMX6ULL | Iris v2.0 | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb-lvds_overlay.dtbo, colibri-imx6ull_atmel-mxt_overlay.dtbo | |
Colibri iMX6ULL | Iris v2.0 | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_atmel-mxt_overlay.dtbo, display-dpi-lt170410_overlay.dtbo | |
Colibri iMX7 | Iris v2.0 | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb-lvds_overlay.dtbo, colibri-imx7_atmel-mxt_overlay.dtbo | |
Colibri iMX7 | Iris v2.0 | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_atmel-mxt_overlay.dtbo, display-dpi-lt170410_overlay.dtbo | |
Colibri iMX8X | Iris v2.0 | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_atmel-mxt_overlay.dtbo, display-dpi-lt170410_overlay.dtbo | |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to LVDS Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mm_sn65dsi84_overlay.dtbo |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to LVDS Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mp_sn65dsi84_overlay.dtbo |
See the Resistive Touch Display 7" Parallel in the webshop.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_lcd_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_parallel-rgb_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | |
Apalis iMX8 | Display is not supported by module | |||
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_parallel-rgb_overlay.dtbo, apalis-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6_lcd_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX8X | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module | |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module |
See the EDT 7.0" (EOL) in the webshop.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_lcd_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_parallel-rgb_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | |
Apalis iMX8 | Display is not supported by module | |||
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_parallel-rgb_overlay.dtbo, apalis-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6_lcd_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo | |
Colibri iMX6ULL | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo | |
Colibri iMX7 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Colibri iMX8X | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module | |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to RGB Adapter | Display is not (yet) supported by module |
This interface is built into some of Toradex boards. Also, Toradex provides special HDMI adapters:
If the set module+board is not on this list, it doesn't support an HDMI interface.
Module | Board | Accessory | Kernel | Overlays |
---|---|---|---|---|
Apalis iMX6 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx6_hdmi_overlay.dtbo | |
Apalis iMX6 | Evaluation/Ixora | toradex_5.4.y | apalis-imx6_hdmi_overlay.dtbo | |
Apalis iMX8 | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8_hdmi_overlay.dtbo | |
Apalis iMX8X | Evaluation/Ixora | toradex_5.4-2.1.x-imx | apalis-imx8x_dsihdmi_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4-2.1.x-imx | colibri-imx6_hdmi_overlay.dtbo | |
Colibri iMX6 | Evaluation/Aster/Iris/Viola | toradex_5.4.y | colibri-imx6_hdmi_overlay.dtbo | |
Colibri iMX6ULL | Interface is not supported by module | |||
Colibri iMX7 | Interface is not supported by module | |||
Colibri iMX8X | Evaluation/Iris | Colibri iMX8X DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | colibri-imx8x_dsihdmi_overlay.dtbo |
Verdin iMX8MM | Development/Dahlia | Verdin DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mm_lt8912_overlay.dtbo |
Verdin iMX8MP | Development/Dahlia | toradex_5.4-2.1.x-imx | verdin-imx8mp_native-hdmi_overlay.dtbo | |
Verdin iMX8MP | Development/Dahlia | Verdin DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mp_lt8912_overlay.dtbo |
This interface is built into most of Toradex boards. If the board is not on this list, it doesn't have a VGA interface.
Module | Board | Kernel | Overlays |
---|---|---|---|
Apalis iMX6 | Evaluation | toradex_5.4-2.1.x-imx | apalis-imx6_vga_overlay.dtbo |
Apalis iMX6 | Evaluation | toradex_5.4.y | apalis-imx6_vga_overlay.dtbo |
Apalis iMX8 | Interface is not supported by module | ||
Apalis iMX8X | Interface is not supported by module | ||
Colibri iMX6 | Evaluation/Aster/Iris | toradex_5.4-2.1.x-imx | colibri-imx6_vga_overlay.dtbo |
Colibri iMX6 | Evaluation/Aster/Iris | toradex_5.4.y | colibri-imx6_vga_overlay.dtbo |
Colibri iMX6ULL | Evaluation/Aster/Iris | toradex_5.4-2.1.x-imx | colibri-imx6ull_vga_overlay.dtbo |
Colibri iMX6ULL | Evaluation/Aster/Iris | toradex_5.4.y | colibri-imx6ull_vga_overlay.dtbo |
Colibri iMX7 | Evaluation/Aster/Iris | toradex_5.4-2.1.x-imx | colibri-imx7_vga_overlay.dtbo |
Colibri iMX7 | Evaluation/Aster/Iris | toradex_5.4.y | colibri-imx7_vga_overlay.dtbo |
Colibri iMX8X | Evaluation/Aster/Iris | toradex_5.4-2.1.x-imx | colibri-imx8x_vga_overlay.dtbo |
Verdin iMX8MM | Interface is not supported by module | ||
Verdin iMX8MP | Interface is not supported by module |
Toradex turns on a pre-set of Device Tree Overlays to support the default display interfaces and panels.
Module | Kernel | Overlays | Supported devices |
---|---|---|---|
Apalis iMX6 | toradex_5.4-2.1.x-imx | apalis-imx6_hdmi_overlay.dtbo | HDMI Display |
Apalis iMX6 | toradex_5.4.y | apalis-imx6_hdmi_overlay.dtbo, apalis-imx6_parallel-rgb_overlay.dtbo, apalis-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | HDMI Display, EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Apalis iMX8 | toradex_5.4-2.1.x-imx | apalis-imx8_hdmi_overlay.dtbo | HDMI Display |
Apalis iMX8X | toradex_5.4-2.1.x-imx | apalis-imx8x_hdmi_overlay.dtbo, apalis-imx8x_parallel-rgb_overlay.dtbo, apalis-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | HDMI Display, EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Module | Kernel | Overlays | Supported devices |
---|---|---|---|
Colibri iMX6 | toradex_5.4-2.1.x-imx | colibri-imx6_lcd_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX6 | toradex_5.4.y | colibri-imx6_parallel-rgb_overlay.dtbo, colibri-imx6_stmpe-ts_overlay.dtbo, display-edt7_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX6ULL | toradex_5.4-2.1.x-imx | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX6ULL | toradex_5.4.y | colibri-imx6ull_parallel-rgb_overlay.dtbo, colibri-imx6ull_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX7 | toradex_5.4-2.1.x-imx | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX7 | toradex_5.4.y | colibri-imx7_parallel-rgb_overlay.dtbo, colibri-imx7_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Colibri iMX8X | toradex_5.4-2.1.x-imx | colibri-imx8x_parallel-rgb_overlay.dtbo, colibri-imx8x_ad7879_overlay.dtbo, display-edt7_overlay.dtbo | EDT 7.0" (EOL), Resistive Touch Display 7" Parallel |
Module | Accessory | Kernel | Overlays | Supported devices |
---|---|---|---|---|
Verdin iMX8MM | Verdin DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mm_lt8912_overlay.dtbo | HDMI Display |
Verdin iMX8MP | toradex_5.4-2.1.x-imx | verdin-imx8mm_native-hdmi_overlay.dtbo | HDMI Display | |
Verdin iMX8MP | Verdin DSI to HDMI Adapter | toradex_5.4-2.1.x-imx | verdin-imx8mm_lt8912_overlay.dtbo | HDMI Display |
Overlay | Device |
---|---|
apalis-imx8qm-st-m41t0-overlay.dts | Enable the external m41t0 RTC from ST on Apalis iMX8 |
Overlay | Device |
---|---|
colibri-imx8x-dsihdmi-overlay.dts | Enable the Toradex Easy Installer |