Device Tree for Colibri iMX8X - 6.8.3+build.37

Hi,

For Torizon OS 6.8.3+build.37 - Colibri iMX8X, please let me know the exact device tree & overlay versions to be used, so that we can customize and build using Torizoncore builder.
Also please share the git commands to be used to fetch the same.

Thank you,
Shreejit

Hi, I’m the Toradex AI Assistant.

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


Device Tree and Overlay Sources for Colibri iMX8X

For Colibri iMX8X modules, you’ll need to clone both the Linux kernel repository and the device tree overlays repository (1). Since your Torizon OS version uses the i.MX 8 family, you’ll need the NXP downstream-based repositories (2).

Git Commands to Clone Required Repositories

For i.MX 8/8X modules, use these commands (1) (2):

git clone -b toradex_6.6-2.2.x-imx git://git.toradex.com/linux-toradex.git linux
git clone -b toradex_6.6-2.2.x-imx git://git.toradex.com/device-tree-overlays.git device-trees

(1) (2)

Available Device Trees for Colibri iMX8X

You can find the available device trees for your module using these commands (2):

For Colibri iMX8QuadXPlus versions:

find linux -name "*imx8qxp-colibri*.dts"

For Colibri iMX8DualX versions:

find linux -name "*imx8dx-colibri*.dts"

(2)

Finding Compatible Overlays

Once you have cloned the repositories, you can check available overlays for your specific device tree (1) (2). For example, to see overlays compatible with a specific Colibri iMX8X device tree:

torizoncore-builder dto list --device-tree ./linux/arch/arm64/boot/dts/freescale/imx8qxp-colibri-aster.dts

(1)

Setting Up TorizonCore Builder

Before using these repositories, make sure to:

  1. Download and unpack a base image (1):
torizoncore-builder images unpack torizon-core-docker-colibri-imx8x-Tezi_6.8.3+build.37.tar
  1. Checkout device trees (this will automatically select the correct branch based on your unpacked image) (3):
torizoncore-builder dt checkout

The dt checkout command will choose the appropriate branch based on metadata from your unpacked image (3).

Important Notes

  • Make sure to copy the full path of the device tree file when using TorizonCore Builder commands, as device trees for different modules can be located in different paths (1) (2)
  • The repositories will need to be cloned again every time you start working in a new directory (1)
  • You can use the --depth 1 option to clone only the latest commit if you want to speed up the cloning process (2)

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
Will this command torizoncore-builder dt checkout work for torizon-core-docker-colibri-imx8x-Tezi_6.8.3+build.37.tar ?

Hi @Shreejit_Paul!

Have you ever considered using Torizon OS 7 instead of 6? We always recommend using the newest version.

That being said, you can follow the instructions given by the Toradex AI for the Torizon 7. If you want to do the same for Torizon 6, just remember to change the Torizon version in the drop-down in the top right corner of the article referenced by the AI.

Feel free to ask if you face any doubts or issues.

Best regards.

@lucas_az.tx
Thank you for the reply and yes I would like to go with Torizon 7.3.0
but I faced few issues like below

For Torizon OS 5.7.2+build.20 in device tree file imx8x-colibri.dtsi we had M4 reserved memory
m4_reserved: m4@0x88000000 {
no-map;
reg = <0 0x88000000 0 0x8000000>;
};

But in Torizon 7.3.0 we do not have such section for M4 in device tree and after adding such section to device tree, M4 stops after Torizon Linux boots up.

So please let me know which is the safe start address for M4 and max memory M4 can use

Hi @Shreejit_Paul!

Is this ticket related to this same issue?

Regarding your doubt, the approach used for HMP in our modules is through device tree overlays. For the Colibri iMX8X, we have an overlay called colibri-imx8x_hmp_overlay.dts that you can enable by following the steps described here.

Just out of curiosity, if you want to check what is written in the .dts file, you can use our Git. For this specific one, check here.

Best regards.

@lucas_az.tx

Thank you, yes, this ticket is related to this same issue.
We have followed the above approach using colibri-imx8x_hmp_overlay.dts « overlays - device-tree-overlays.git - Sources for Device Tree Overlays
and by adding below

m4_reserved: m4_reserved@88000000 {         
   reg = <0x0 0x88000000 0x0 0x00800000>; /\* 8 MB \*/ 
};

Our M4 binary size is 1MB, which does not fit within TCM memory, for this reason we used Bootloader bin (less than 125kb) and placed on TCM memory, and upon boot of Bootloader, the stack pointer is made to jump to location 88000000 + 4, where the actual 1MB M4 bin is stored.
and this approach is working for us in 5.7.2+build.20 but does not work in 7.3.0+build.18.
In 7.3.0+build.18, as soon as Linux boots, the M4 stops working or some times whole system keeps rebooting.

Hi @Shreejit_Paul,

Could you please attach your full device tree overlay (the one that you modified) which worked on Torizon OS 5 and the one you wrote for Torizon OS 7 as well?

Hi @rudhi.tx ,

Attaching device tree files imx8x-colibri.dtsi as requested.
For Torizon OS 7.3.0 we have added the section,
reserved-memory {

} similar to Torizon OS 5.7.2.
Regards,

Deepak.

imx8x-colibri_7.3.0.dtsi (34.8 KB)

imx8x-colibri_5.7.2.dtsi (38.3 KB)

Hi @Deepak1

Could you please try the device tree overlay I have attached on this post:Colibri iMX8X Torizon OS 7.3.0 - M4 memory issues - #9 by rudhi.tx