How to enable the 7" resistive display with 7.5.0 OS

Hi,
I am trying to enable the colibri-imx7_panel-res-touch-7inch_overlay.dtbo with 7.5.0-30 quarterly build. so that I can have the 800x480 resolution. I am currently only getting 640x480 resolution.

I am using a Colibri imx7d-1GB SOM along with the VS-Code Torizon extension and a TorizonCoreBuilder project.

When I use the following tcbuild.yaml to build the device tree the SOM reports and error.

input:
  easy-installer:
    local: torizon-docker-evaluation-colibri-imx7-emmc-Tezi_7.5.0+build.30.container.tar

customization:
  splash-screen: splash-screen-600x480-0.png
  device-tree:
    include-dirs:
      - linux/include
      - linux/arch/arm/boot/dts/nxp/imx/
    custom: linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc-eval-v3.dts
    # custom: linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc-iris-v2.dts
    overlays: 
      add: 
         #- device-trees/overlays/display-vga_overlay.dts
         #- device-trees/overlays/display-xvga_overlay.dts
         - device-trees/overlays/display-lt161010_overlay.dts

output:
  easy-installer:
    local: torizon-docker-evaluation-colibri-imx7-emmc-Tezi_7.5.0+build.30.CUSTOM
  ostree:
    branch: New_Screen_Resolution
    commit-subject: New_Screen_Resolution

The error reported is:

panel-simple panel-dpi: Reject override mode: panel has a fixed mode

What is the procedure to add the 7" touch screen into Torizon OS?

Regards
Lloyd

Hi, I’m the Toradex AI Assistant.

I might make mistakes or occasionally get you wrong. Our support team will step in if needed.


Based on the documentation, to enable the 7" resistive touch display on your Colibri iMX7D, you need to use the correct overlay name and follow the proper procedure for TorizonCore Builder(1).

Correct Overlay Name

For the Colibri iMX7 eMMC with 7" resistive touch display, you should use colibri-imx7_panel-res-touch-7inch_overlay.dtbo instead of display-lt161010_overlay.dts(2). This overlay provides 800x480 resolution(2).

Required Steps

1. Clone the Required Repositories

First, clone the device tree repositories for iMX 6/6ULL/7(1):

$ git clone -b linux-6.6.y git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
$ git clone -b master git://git.toradex.com/device-tree-overlays.git device-trees

(1)

2. Verify Available Overlays

Check the available overlays for your device tree(1):

$ torizoncore-builder dto list --device-tree ./linux/arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dts

(1)

3. Update Your tcbuild.yaml

Modify your configuration to use the correct overlay(1):

input:
  easy-installer:
    local: torizon-docker-evaluation-colibri-imx7-emmc-Tezi_7.5.0+build.30.container.tar

customization:
  splash-screen: splash-screen-600x480-0.png
  device-tree:
    include-dirs:
      - linux/include
    custom: linux/arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dts
    overlays: 
      add: 
         - device-trees/overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts

output:
  easy-installer:
    local: torizon-docker-evaluation-colibri-imx7-emmc-Tezi_7.5.0+build.30.CUSTOM

(1)

Error Resolution

The error “panel-simple panel-dpi: Reject override mode: panel has a fixed mode” suggests a conflict with display configuration. Using the correct Toradex-provided overlay should resolve this issue as it’s specifically designed for the hardware combination(2).

Expected Result

The colibri-imx7_panel-res-touch-7inch_overlay.dtbo overlay provides a default resolution of 800x480 for the resistive touch display(2), which matches your requirement.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

@ToradexAI I have looked at step 1 in your suggestion and the READ.ME file for the device-tree-overlays git repository stored in github has a declaration " ATTENTION !!! This project has been DEPRECATED.". It declares to use the device-trees repository instead.

Can you suggest the correct overlay for the 7" resistive touch screen that is located in this repository?

Lloyd

Thank you for the correction! You’re absolutely right - the documentation shows the correct repository to clone is device-trees, not device-tree-overlays (1).

Correct Repository and Commands

For iMX 6/6ULL/7 modules, the correct commands are (1):

$ git clone -b linux-6.6.y git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
$ git clone -b master git://git.toradex.com/device-trees.git device-trees

(1)

Correct Overlay for Colibri iMX7

For your Colibri iMX7 eMMC with the 7" resistive touch display, the correct overlay from the device-trees repository is:

colibri-imx7_panel-res-touch-7inch_overlay.dtbo (2)

This overlay provides the default resolution of 800x480 (2), which is exactly what you need.

Updated tcbuild.yaml

Your configuration should reference the overlay from the correct repository:

customization:
  device-tree:
    include-dirs:
      - linux/include
    custom: linux/arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dts
    overlays: 
      add: 
         - device-trees/overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts

(1)

Verification

You can verify the available overlays for your device tree using (1):

$ torizoncore-builder dto list --device-tree ./linux/arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dts

(1)

This should resolve the “panel has a fixed mode” error since you’ll be using the official Toradex overlay designed specifically for this hardware combination.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

@ToradexAI

I have attempted to use your updated tcbuild.yaml and I get this error:

2026-03-16 10:53:39,999 - root - ERROR - Traceback (most recent call last):
  File "/builder/torizoncore-builder", line 232, in <module>
    mainargs.func(mainargs)
  File "/builder/tcbuilder/cli/build.py", line 787, in do_build
    build(args.config_fname, args.storage_directory,
  File "/builder/tcbuilder/cli/build.py", line 750, in build
    fs_changes = handle_customization_section(
  File "/builder/tcbuilder/cli/build.py", line 201, in handle_customization_section
    handle_dt_customization(props["device-tree"], storage_dir=storage_dir)
  File "/builder/tcbuilder/cli/build.py", line 220, in handle_dt_customization
    dt_cli.dt_apply(dts_path=props["custom"],
  File "/builder/tcbuilder/cli/dt.py", line 97, in dt_apply
    with open(dts_path, 'r') as file:
FileNotFoundError: [Errno 2] No such file or directory: 'linux/arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dts'

Can you suggest where the linux/arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dts file is located?

@ToradexAI

I have been searching for the device-trees/overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts
file in both the device-trees git repo and the device-trees-overlay git repo without success.

Where should I look to find the colibri-imx7_panel-res-touch-7inch_overlay.dts file?

Does anyone else use the 7" resistive touch display who can supply this file?

Lloyd

I understand your confusion. Let me clarify the correct path and file locations based on the documentation.

File Location Issues

The error indicates that the device tree file path is incorrect. According to the documentation, for Colibri iMX7, you need to find the correct device tree path (1).

Correct Repository Cloning

For iMX 6/6ULL/7 modules, clone these repositories (1):

$ git clone -b linux-6.6.y git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
$ git clone -b master git://git.toradex.com/device-tree-overlays.git device-trees

Finding the Correct Device Tree Path

To find the available device trees for Colibri iMX7, run (1):

$ find linux -name "*imx7d-colibri*.dts"
linux/arch/arm/boot/dts/imx7d-colibri-eval-v3.dts
linux/arch/arm/boot/dts/imx7d-colibri-iris.dts
linux/arch/arm/boot/dts/imx7d-colibri-iris-v2.dts
linux/arch/arm/boot/dts/imx7d-colibri-emmc-iris.dts
linux/arch/arm/boot/dts/imx7d-colibri-emmc-iris-v2.dts
linux/arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dts
linux/arch/arm/boot/dts/imx7d-colibri-aster.dts
linux/arch/arm/boot/dts/imx7d-colibri-emmc-aster.dts

Verify Available Overlays

Check which overlays are compatible with your device tree (1):

$ torizoncore-builder dto list --device-tree ./linux/arch/arm/boot/dts/imx7d-colibri-emmc-eval-v3.dts

Alternative Approach for Torizon OS

For Torizon OS, there’s a simpler approach. The documentation states that Toradex deploys pre-compiled device tree overlays that can be enabled with a few commands (2). You can learn how to do this in the Setting up Displays with Torizon guide (2).

Troubleshooting Steps

  1. Ensure you’ve cloned both repositories correctly
  2. Verify the device tree file exists in the expected path
  3. Use the find command to locate the exact path
  4. Run the dto list command to see available overlays for your specific device tree

If you continue having issues finding the overlay file, it may be that the specific overlay name has changed or is located in a different path within the repositories.

Best regards, Toradex AI Assistant.


Did you like my answer? :+1: :-1:

If I answered your question, please tick the “Solution” checkbox.

For follow-up questions to me, please use @ToradexAI in your post.

Hello @Lloyd !

Hi Lloyd,

The overlay you’re currently using (display-lt161010_overlay.dts) is unrelated to the 7" touch panel. That’s what’s causing the error; it tries to override the display timing on a panel driver (panel-simple) that has a fixed mode and rejects the override.

You need colibri-imx7_panel-res-touch-7inch_overlay.dts, which is specifically built for your hardware and sets 800x480 natively without conflicting with the panel driver.

You can find it in the Toradex device tree overlays repository:
https://git.toradex.com/device-tree-overlays.git/tree/overlays

If you’ve already cloned the repo as device-trees/, the file should be at:
device-trees/overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts

Then update your tcbuild.yaml accordingly:

overlays:
  add:
    - device-trees/overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts

Rebuild with TorizonCoreBuilder and you should get 800x480.

Let me know if anything comes up!

Hi @joaom.tx

Thank you for the pointers as to the location of the correct dts.

I have been able to get the screen resolution to change to 800x480.

As suggested I used the following tcbuild.yaml

input:
  easy-installer:
    local: images/torizon-docker-evaluation-colibri-imx7-emmc-Tezi_7.5.0+build.30.container.tar

customization:
  splash-screen: splash-screen-800x480-0.png
  device-tree:
    include-dirs:
      - linux/include
      - linux/arch/arm/boot/dts/nxp/imx/
    custom: linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc-eval-v3.dts
    overlays: 
      add: 
        - device-trees/overlays/colibri-imx7_panel-res-touch-7inch_overlay.dts

output:
  easy-installer:
    local: output/torizon-docker-evaluation-colibri-imx7-emmc-Tezi_7.5.0+build.30.CUSTOM

This uses the https://git.toradex.com/device-tree-overlays.git/tree/overlays repository.

My mistake was to switch to the github repository thinking they were kept up to date and not to stick with the ones in the wiki instructions.
I also used the Linux repo from the wiki, but needed to add another include as seen in the above yaml to get all the files needed.

The final bit was to catch u-boot and add:

setenv vidargs video=mxsfb:800x480M-16@60
saveenv

Thanks for you help, I think I am now onto running the calibration containers and working out how to get the device tree going for the touch screen sensor as we do not use the additional chip but go straight into the imx7d with 4 wires.

Lloyd