Customize Device Tree, Apalis, imx6

Hello, Toradex team,

We are trying to build custom device tree for Apalis module.
Current module OS is Yocto Dunfell with BSP 5, tdx-xwayland-rt patch

Once module boots there are 4 dtb files in /boot, also overlays, etc. which looks fine regarding the documents.

To be able to customize device tree we used to clone kernel sources from branch toradex_5.4-2.3.x-imx (downstream image).
Once we compile the device tree file imx6d-apalis-eval.dtb it’s 20KB smaller than same file in module’s file system /boot.

Our main goal is to use some interfaces as GPIOs like UART1 and UART2 flow control signals, DAP lines, SPDIF lines.

Could you please advice us which branch to clone to be able to compile the same device tree files as dunfell-5.x.y from sources.

Apalis iMX6 Dual 1GB IT V1.1Y
Yocto Dunfell, BSP 5, branch dunfell-5.x.y
Custom board

Best regards,
Ivan Gorchev

Hi @Ivan_Gorchev,

The repository for BSP 5 kernel (which is kernel 5.4 downstream) you can find it here:

I compiled the imx6q-apalis-eval.dtb myself and the size is almost 79KB:

>> ls -lh arch/arm/boot/dts/imx6q-apalis-eval.dtb
Permissions Size User  Date Modified Name
.rw-r--r--   79k hiago 12 Apr 13:38  arch/arm/boot/dts/imx6q-apalis-eval.dtb

To compile this file manually, please check this guide:

How many KB is the file that is inside your module in the boot folder?

Best Regards,

Hi, @hfranco.tx,

Thank you vert much for the quick reply.
The imx6q-apalis-eval.dtb file in module’s /boot folder is almost 79KB.
The file which I was able to compile is around 55KB. This is the reason to rise the issue.
Look like I’m doing something wrong during the compilation.

I did the following:
git clone -b toradex_5.4-2.3.x-imx git://
make apalis_imx6_defconfig
skipped the make nconfig step
make imx6q-apalis-eval.dtb

With kind regards,
Ivan Gorchev

Hi @Ivan_Gorchev,

Can you please check if you set up the correct compiler?

It should be something like this:

$ export ARCH=arm
$ export DTC_FLAGS="-@"
$ export PATH=~/gcc-linaro/bin/:$PATH
$ export CROSS_COMPILE=arm-none-linux-gnueabihf-

Then you can run make apalis_imx6_defconfig and make imx6q-apalis-eval.dtb.
You can check all the pre-requisites here:

Best Regards,

Hi, @hfranco.tx,

Thank you very much for the reply.
The correct compiler was set, but export DTC_FLAGS=“-@”
line misses in our script.

Once added I can compile imx6q-apalis-eval.dtb binary, identical to the one in module’s /boot folder.

With kind regards,
Ivan Gorchev

Hi @Ivan_Gorchev ,

Thanks for the confirmation.

Glad that it worked!

Best Regards