Inquiry regarding missing Device Tree (DTS) for Viola Plus on Colibri iMX7 (Torizon OS 7.4.0)

Hello,

I have recently been trying to generate a Torizon OS 7.4.0 image using TorizonCore Builder. However, when I cloned the Linux kernel for the Colibri iMX7 module (1GB version), I noticed that the available options did not include the DTS file for the Viola Plus carrier board. I have also checked the documentation for Torizon OS 6, and this option seems to be missing there as well.

The options I found were:

$ find linux -name "*imx7d-colibri*.dts"

  • linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc-iris.dts

  • linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc-eval-v3.dts

  • linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-iris-v2.dts

  • linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-iris.dts

  • linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc-aster.dts

  • linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-emmc-iris-v2.dts

  • linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-eval-v3.dts

  • linux/arch/arm/boot/dts/nxp/imx/imx7d-colibri-aster.dts

I would like to know how to proceed, as I need to specify the correct DTS file for my carrier board in the .yaml configuration file. In this case, should I use one of the other models as a base?

Thank you in advance for your help.

Best regards,

Lucas

Hi, I’m the Toradex AI Assistant.

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


Hello Lucas,

You’re correct that there isn’t a dedicated DTS file for the Viola Plus carrier board in the kernel sources. The Viola carrier board family is designed primarily for production use rather than development, which is why specific DTS files aren’t typically provided (1).

Recommended Approach

For your Colibri iMX7D 1GB with Viola Plus carrier board, you should use the Evaluation Board V3 DTS as your base (2):

imx7d-colibri-emmc-eval-v3.dts

This is the most suitable starting point because:

  1. Hardware Compatibility: The Colibri iMX7D 1GB features eMMC storage (3), making the emmc variant appropriate
  2. Interface Similarity: The Evaluation Board V3 provides a comprehensive set of interfaces that overlap with Viola Plus functionality (1)

Creating Your Custom DTS

To customize for Viola Plus, you’ll need to create your own DTS file (2). Here’s the process:

Step 1: Choose the Base Device Tree

Start with the evaluation board DTS as your foundation (2):

$ git clone -b <branch> git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Step 2: Create Your Custom DTS

Copy and modify the base file to match Viola Plus specifications (2). The key differences you’ll need to address based on the Viola Plus features (1):

  • USB Client connector (X4) - assembled on Viola Plus but not on standard Viola
  • Extension Connector (X9) - available on Viola Plus with SPI, I2C, UART, PWM, CAN, and GPIO signals
  • Audio Connector (X10) - assembled on Viola Plus with headphone, mic, and audio inputs (4)(5)
  • External RTC - present on Viola Plus

Step 3: Configure TorizonCore Builder

In your tcbuild.yaml configuration file (6):

customization:
  device-tree:
    include-dirs:
      - linux/include/
    custom: device-trees/dts-arm32/imx7d-colibri-viola-plus-custom.dts

Interface Considerations

When customizing your DTS, pay attention to these Viola Plus-specific features (1)(5):

  • Parallel Camera Interface (CIF) signals are available at connectors X9 and X10 (5)
  • Audio Interface components (X10, C38, C39, C40, C41, C42) are assembled by default (4)
  • Extension Connector provides access to multiple communication interfaces

The parallel camera interface signals require proper configuration as they may be set as alternate functions by default (5).

Next Steps

  1. Start with imx7d-colibri-emmc-eval-v3.dts as your base
  2. Create a custom DTS file incorporating Viola Plus-specific features
  3. Use TorizonCore Builder’s device tree customization capabilities (6)(7)
  4. Test your custom image on your hardware setup

This approach will give you a solid foundation while allowing you to customize for the specific features available on your Viola Plus carrier board.

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.

Hi @Lucas_Nascimento!

We don’t actually have a device tree for Viola, so I recommend using the one for the Evaluation Board.

Best regards.