Device tree Update is not working

  • Dear F&S Team,


    I am working with the SINTF board and an eFus a9(r2) and a LVDS Display from a third party manufacturer. One of your collegues has provided me a patch, which patches the device tree once I build an image via Yocto to fit the display.

    My issue is, that once I build an image including this patch, flash it to my board and run it, the display does not work. I have another eFus a9(r2) which has been prepared by F&S, which is working with the display. So, the display itself is ok.


    These are the steps I followed:


    To include the patch into the build, I have copied it to the location:

    Code
    1. cp /media/0001-Add-display-for-efusA9r2.patch fsimx6-Y2024.04/build/yocto-fus/sources/meta-fus/recipes-kernel/linux/files/


    In the recipe fsimx6-Y2024.04/build/yocto-fus/sources/meta-fus/recipes-kernel/linux/linux-fus.bb, I have added the following lines at the bottom of the recipe:

    Code
    1. FILESEXTRAPATHS:prepend:="${THISDIR}/files:"
    2. SRC_URI +="file://0001-Add-display-for-efusA9r2.patch"


    I then started to build the image:

    Code
    1. bitbake fus-image-std


    The build finished after some hours without errors. In the output directory fsimx6-Y2024.04/build/yocto-fus/build-fsimx6-fus-imx-wayland/tmp/deploy/images/fsimx6/, I can see, that the build has provided me with the zImage file, the rootfs.ubifs file, the .dts file and more (see attached image file).




    Earlier I have succesfully deployed a UBoot bootloader and the image from fsimx6-Y2024.04/sdcard to my boad. My goal is, to simply replace the kernel image and the device tree on my board.

    Thus, I have copied the files zImage and efusa9dl.dtb to /tftpboot directory, to perform an installation of these files to my board via TFTP. This worked fine, and after that, I could restart my board and the image loaded.


    However, as a result, the display is not showing the typical weston desktop, as I would have expected. Using systemctl, I can see the weston service is running, restarting it did not do the trick.


    I have also replaced the bootloader and the rootfs by the ones provided by the Yocto build (uboot.nb0; fus-image-std-fsimx6.ubifs).


    I repeated everything by running:

    Code
    1. bitbake -c clean linux-fus
    2. bitbake -c clean fus-image-std
    3. bitbake fus-image-std


    I erased the NAND flash and re-deployed the UBoot bootloader. I tried installing the image, device tree and rootfs using a USB stick and the install.scr file.

    The installation was as successful as the one using TFTP. However, the display remains dark.


    I also installed the device tree file efusa9r2dl.dtb:


    Code
    1. tftp efusa9r2dl.dtb
    2. nand erase.part FDT
    3. nand write $loadaddr FDT $filesize

    The installation worked, however, I do not think this is the right way, since

    Code
    1. tftp $bootfdt
    2. nand erase.part FDT
    3. nand write $loadaddr FDT $filesize

    will expect the file efusa9dl.dtb and will throw an error, if it is not located in /tftpboot.


    I have attached the output from PuTTY when I boot my board as a text file.


    Looking at my steps, can you see any mistakes I did, for that the patch does not seem to actually patch the device tree to support my display?


    Thank you very much in advance!


    Best regards,

    Bjørn Keohane

  • Hello,


    although the efusa9 and efusa9r2 are very similar, they are two different boards which each need their own device tree.

    It seems, that you are using a efusa9r2 device tree on a efusa9 board. Although, this might boot, it will not work as expected.


    You firstly need to create an additional patch with your display for the efusa9 board and use the efusa9.dtb.

    Please contact us via E-Mail regarding this patch.


    Your F&S Support Team