I am a software engineer for aeronautic ( cabin entertainement and control ) and I have started a new project that require to use yocto.
First, I never worked with yocto before, I am learning to use this platform so maybe I could have some “weird” questions.
Here is my problem :
We have already worked with toradex since 2010 , and we have a product that use colibri T20 ( tegra 2 ) , and it works well. But we used this product with WinCE and now, WinCE is almost deprecated , and we want to upgrade our products with a new card and a new embedded system.
The upgrade has to be done in 2 steps :
one step without ( if possible ) hw modification , that’s why we choose colibri imx8x because it fits pin to pin to our actual carrier board.
another step with hw modification, and maybe apalis imx8m because we want to be 4k compatible. But it will be later.
Let’s talk about the first step.
Currently, I have only one colibri-imx8x card ( difficult to have one ) , and I don’t have any eval board ( did not received yet )
So my setup test for the moment is my old product , I plugged colibri-imx8x instead of colibri-T20 and all seems working well ( network, usb, serial ) except the LCD display ( the one with X1 connector “LCD RGB” ). Not all the picture is displayed, I have only 2/3 of the picture that is displayed. I wonder that the screen is 90° rotated.
Here a photo to understand the problem : https://i.imgur.com/dm0eneJ.jpg
On the photo, I have done the rotation with weston ( output DP-1 , transform 90, inside /etc/xdg/weston/weston.ini ) but only the picture has been rotated, not the screen aera.
The display is a 480x800 display ( 12TLM043 ortustech : https://www.data-modul.com/sites/default/files/products/COM%2043H4M85ULC_specification_CA10113.pdf ) , so by default in portrait mode
Here is an extract of the timing characteristics of the display: https://i.imgur.com/8buuIxb.jpg
On colibri-T20, to change the orientation of the display, we can use vidargs parameter in u-boot. But , it seems not available with colibri-imx8x ( see post : Set vidargs on colibri-imx8x's u-boot - Technical Support - Toradex Community ).
After reading the documentation :
I have identified that I have to change the display section of the file imx8qxp-colibri-eval-v3.dtsi ( arch/arm64/boot/dts/freescale/ ) to put my own display timing.
I have done this, but it seems not working, no change after apply new parameters. The image is still cropped.
What I have done ( I don’t know how to create a meta and recipes to apply a patch on the kernel - I am new beginner with yocto - so I have done the modifications directly into build directory to test the patch ):
I have identified the place of the file to be modified : build/tmp/work-shared/colibri-imx8/kernel-source/arch/arm64/boot/dts/freescale/imx8qxp-colibri-eval-v3.dtsi
I have modified this file like this : imx8qxp-colibri-eval-v3.dtsi - Pastebin.com ( patch file : patch_lvds_param.patch - Pastebin.com )
I have rebuilt the kernel with these commands :
bitbake -c compile -f virtual/kernel ( to verify if it compiles, -f to force , if not it does not anything )
bitbake -f virtual/kernel to force to rebuild kernel
bitbake -k tdx-reference-multimedia-image , to rebuild the entire image
then , the image is shared on my own toradex easy installer website, and I deployed it on my board ( with toradex easy installer )
then I boot, and nothing changed. The file /boot/imx8qxp-colibri-eval-v3.dtb has changed ( I wonder the new parameters I put are inside the file ) but no effect.
Now, I don’t know what to do.
- is the imx8qxp-colibri-eval-v3.dtsi file the right place to configure my display ? Or Am I wrong ?
- is it an hw issue / incompatibility ( regarding the picture of the board above ) ?