I’m participating in a project where we have an application made in Qt running on Toradex’s embedded board Apalis IMX6 with Ixora V1.2 board, using toradex linux BSP 2.8. In this project, the device tree has already been implemented and all peripherals are
functional. We have started a process of updating the yocto recipes for this project to version 5.0 of Toradex’s BSP, but I am running into some problems.
I verified that in the BSP 5.0, the strategy recommended by Toradex would be to implement a device tree overlay to support my HW changes. I took the following articles as reference:
- Device Tree Overlays (Linux) | Toradex Developer Center
- Pin Multiplexing - Changing Pin Functionalities in the Linux Device Tree | Toradex Developer Center
- Verdin Development Board -- driver for rotary encoder
I’m trying to add support for Rotary Encoder (652-EPS1D-F19AD0024L) and LVDS display (innolux g150xne-l03) which are already supported in BSP 2.8 and validated on this version. Based on the old device tree(imx6q-apalis-ixora-BSP2.8.dts), I created 3 new device tree overlays(apalis-imx6q-lvds_display_G150XNE-L03_overlay.dts, apalis-imx6q_overlay.dts and apalis-imx6q_rotary_encoder_652-EPS1D-F19AD0024 _overlay. dts ).
I added them to the distribution, I saw that they are being loaded but apparently they are not functional. Could you help us by reviewing the overlays at first while I can provide more logs if you need them?
apalis-imx6q-lvds_display_G150XNE-L03_overlay.dts (1.2 KB)
apalis-imx6q_overlay.dts (1.4 KB)
apalis-imx6q_rotary_encoder_652-EPS1D-F19AD0024_overlay.dts (1.7 KB)
imx6q-apalis-ixora-BSP2.8.dts (4.7 KB)
I’ll check your device tree overlays and run some tests on my side.
I’m not sure if downloading the files made some alterations on it, but I saw some indentations that may cause some problems.
If you need some logs from my side I could provide to you. About the indentations, the DTC didn’t warn about them. Here is a fragment of the boot startup log, where we can see the DTOs being loaded.
et: eth0: ethernet@2188000
Hit any key to stop autoboot: 0
MMC: no card present
MMC: no card present
switch to partitions #0, OK
mmc0(part 0) is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
5962 bytes read in 14 ms (415 KiB/s)
## Executing script at 17000000
Loading DeviceTree: imx6q-apalis-eval.dtb
78726 bytes read in 15 ms (5 MiB/s)
132 bytes read in 15 ms (7.8 KiB/s)
Applying Overlay: apalis-imx6-oxigena_overlay.dtbo
1784 bytes read in 18 ms (96.7 KiB/s)
Applying Overlay: apalis-imx6-oxigena-rotary-encoder_overlay.dtbo
1911 bytes read in 21 ms (88.9 KiB/s)
Applying Overlay: apalis-imx6-oxigena-hdmi_overlay.dtbo
1161 bytes read in 21 ms (53.7 KiB/s)
7109568 bytes read in 261 ms (26 MiB/s)
Bootargs: enable_wait_mode=off vmalloc=400M root=PARTUUID=f7ad6c12-02 ro rootwaM
## Flattened Device Tree blob at 12100000
Booting using the fdt blob at 0x12100000
Loading Device Tree to 2ffc9000, end 2fffffff ... OK
Starting kernel ...
[ 0.000000] Booting Linux on physical CPU 0x0
[ 0.000000] Linux version 5.4.193-5.7.3-devel+git.49e4130e2197 (oe-user@oe-h3
[ 0.000000] CPU: ARMv7 Processor [412fc09a] revision 10 (ARMv7), cr=10c5387d
[ 0.000000] CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instructie
[ 0.000000] OF: fdt: Machine model: Toradex Apalis iMX6Q/D Module on Apalis d
[ 0.000000] Memory policy: Data cache writealloc
[ 0.000000] Reserved memory: created CMA memory pool at 0x7c000000, size 320B
[ 0.000000] OF: reserved mem: initialized node linux,cma, compatible id sharl
[ 0.000000] percpu: Embedded 15 pages/cpu s32012 r8192 d21236 u61440
[ 0.000000] Built 1 zonelists, mobility grouping on. Total pages: 521008
[ 0.000000] Kernel command line: enable_wait_mode=off vmalloc=400M root=PARTM
Can you explain a little bit more, is there any of them that works? Or all of them are not working?
Also, can you provide to us the entire dmesg so we can take a better look?
I have some updates… After some research in toradex community, I was able to add the support for rotary encoder and LVDS display by applying the changes directly into the device tree files.
Hi @andrehpd-eld ,
That’s really good news, thanks for the update!