Oooo, I wish that was it, but this output was actually just from a demo I mocked up to post information here. The typo in the first post is real, but so is the issue I’m having:
Okay, so starting from the beginning then. I have some initial questions/suggestions to make sure I understand everything.
First of all I assume you’re trying to load this custom edid binary because the default edid from your HDMI display doesn’t work or something similiar, correct?
Did you create this edid binary yourself or did you get it from somewhere? I assume you then manually wrote the binary to /lib/firmware/edid/ correct?
As for a suggestion, we admittedly haven’t tested this edid loading functionality too much in TorizonCore. If it’s not too much trouble could you flash our reference image instead and try the edid loading functionality there.
It would help us to narrow down whether the issue is with the lower-level BSP or with the upper-level TorizonCore.
Hi @ed-bear , you have to put ZL034.bin into the weston container instead of /lib/firmware/edid/ on TorizonCore. For example, ZL034.bin is placed at /home/torizon/firmware and /home/torizon/firmware will be mounted to /home/torizon/firmware in a weston container e.g. torizon/weston-vivante:2. This is a docker-compose example. Meanwhile, add parameter to kernel command line. fw_setenv tdxargs drm.edid_firmware=ZL034.bin
Hi,
I’m experiencing the same issue as reported by @ed-bear with Torizon 6.7.0 and Yavia board
I have created a binary edid file 800x600.bin by compiling the files in
~/bin/build-torizon/tmp/work-shared/verdin-imx8mp/kernel-source/tools/edid
this file has been placed in /lib/firmware/edid/800x600.bin
Then I reboot and block the uboot and execute:
setenv tdxargs drm.edid_firmware=edid/800x600.bin
boot
After boot is finished I receive the same errors as @ed-bear
[ 2.741913] [drm:edid_load] ERROR Requesting EDID firmware “edid/600x600.bin” failed (err=-2)
Looking at the driver the error is generated here:
err = request_firmware(&fw, name, &pdev->dev);
platform_device_unregister(pdev);
if (err) {
DRM_ERROR(“Requesting EDID firmware "%s" failed (err=%d)\n”,
name, err);
return ERR_PTR(err);
}
uname -a
Linux verdin-imx8mp-15140068 5.15.148-6.7.0-devel+git.bfdbfb2c85fb #1-TorizonCore SMP PREEMPT Thu Jun 20 15:59:41 UTC 2024 aarch64 aarch64 aarch64 GNU/Linux
Your general procedure is correct, but I believe that there was a typo in the setenv command, as you error message says edid/600x600.bin instead of edid/800x600.bin:
If this is not the problem, please open another topic on the community so we can look into this issue separately.