Hello all,
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 ) ?