Frequency spreading

I’m busy with trying to get the spread spectrum build as you describe in the mail and I have some issues building this correct.

First to describe some context.
My environment is based on the 5.0.0 release and I’m building a custom image based on the reference image with tdx-wayland as distro.

I followed the description for doing this from Build Custom i.MX 8/8X System Controller Firmware (SCFW) | Toradex Developer Center.
The sdk that I use is the 1.5.1 version from NXP because as I could see from the recipe name it looks like that U are also using the same sdk (imx-sc-firmware-toradex_1.5.1.bb).
I copied the code from the i.MX-System-Controller-Firmware with the same hash as the yocto recipe to the sdk and build it with the gcc-arm-none-eabi-9-2020-q2-update-x86_64-linux compiler downloaded from the links provided.
With the description from the website I could build the code. To let it be used in the image I made a bbappend that overwrites the .bin file that is used in the imx-sc-firmware-toradex recipe with my personal .bin that is generated.
When I generate from this an Image it will boot on my custom environment, but the screen stays black. Even when I don’t change any code at all. I did the spread spectrum changes as described and I see that when the changes are done the spread spectrum can be measured.
So it also looks that it is working.

Based on this I have 2 questions:
1: Is there a explanation why this could happen? Can you give me any pointers what I could have done wrong in the above.
2: Is there a quick way to iterate with the scfw binaries. I tried to trigger rebuilds in Yocto for a new image, but this does not work because It seems that there is a missing build dependency. So the scfw binaries change but are not taken in to the new image because this change is not seen by the build environment.

Hi @bas

Here the response from the email:

I think what you did is good. However,
it is strange that the screen stays of
even if you can see the LVDS signals.
How did you test it? Did you activate
the device tree overlay? I think that
the screen is working shouldn’t be
related to the scfw. What happens if
you build the image with our scfw
binary?

You can build U-Boot completely
without Yocto. This allows you to
iterate much faster:
Build U-Boot and Linux Kernel from Source Code | Toradex Developer Center

If you just want to do a proper
rebuild you can do: bitbake -fc
cleanll imx-sc-firmware-toradex
bitbake This should then repack everything with your new binary.

The last problem is a known issue.
Unfortunately, there are some
incompatibilities between the SCFW of
kernel 4.14 and kernel 5.4. Toradex
Easy Installer is still based on
kernel 4.14 and is therefore not
compatible to the newer firmware. This
is why it doesn’t boot correctly. I
will escalate this again to R&D but I
think there is no quick solution
available. They would have to port the
Easy Installer to kernel 5.4 which as
far as I know is not planned yet.

Regards,
Stefan