Hi,
I'm using BSP44 Auto Linux BSP. When booting u-boot I cannot get pfe working.
The reason is "PFEng firmware file 'mmc@0:2:s32g_pfe_class.fw' loading failed: -2" error shown on console.
When executing fatls on mmc 0:2, I can see that s32g_pfe_class.fw is not present in that partition.
=> fatls mmc 0:2
15693832 Image
51422 te_devicetree.dtb
I've tried to flash a bigger .sdcard (100MB) just in case I was flashing a partial image, but it not worked and pfe firmware still does not appear on mmc partition.
During Yocto compilation, I've added the NXP_FIRMWARE_LOCAL_DIR to pfe firmware and DISTRO_FEATURES:append = " pfe" and DISTRO_FEATURES:append = " pfe-master" in local.conf.
After yocto compilation, I can see that pfe firmware is installed on the Linux partition at /usr/lib/firmware/ but it's not present on the boot partition needed by u-boot.
Is this a bug on BSP44, should I change something in my yocto configuration in order to add pfe_firmware in the boot partition? It worked with BSP40, but not anymore.
Thanks,
Solved! Go to Solution.
Hello, @cf-technica
Thanks for your reply.
I suggest trying the following command(bitbake fsl-image-auto -c cleansstate), and then re-build the image
BR
Chenyin
Hello, @cf-technica
Thanks for your reply.
OK, so that both PFE and hse need to be enabled in your build, right? any other functions need to be added, would you mind share your conf/local.conf contents? I would check it firstly and try additional check from my side.
Sorry for your inconvenience.
BR
Chenyin
Hello, @cf-technica
Thanks for your reply.
I suggest trying the following command(bitbake fsl-image-auto -c cleansstate), and then re-build the image
BR
Chenyin
Hello, @cf-technica
Thanks for your post.
I have tested on my end with the following modification via conf/local.conf
DISTRO_FEATURES:append = " pfe"
NXP_FIRMWARE_LOCAL_DIR = "PATH_TO_THE_PFE_FW"
And the PFE FW is loaded to the right partition
=> fatls mmc 0:2
15491080 Image
61479 s32g399a-rdb3.dtb
45724 s32g_pfe_class.fw
Would you mind double checking on it? I suggest firstly changing the settings as what I have provided, and then cleaning your building, at last, rebuilding the yocto with another test.
BR
Chenyin
Hi,
Sorry for the late response.
I've added theses variables on my yocto project compilation local.conf:
DISTRO_FEATURES:append = " pfe"
NXP_FIRMWARE_LOCAL_DIR = " /yocto/sources/meta-te-myS32g/recipes-kernel/pfe/files"
Where NXP_FIMRWARE_LOCAL_DIR points to the full path where the .fw files are located.
Also, taking a look at the yocto environment I can see that the firmware file is added.
"SDCARDIMAGE_BOOT_EXTRA_FILES": " pfe-firmware:s32g_pfe_class.fw"
"SDCARDIMAGE_EXTRA2_FILE": "s32g_pfe_class.fw"
But I still cannot see it on the flashed .sdcard mmc0:2 partition.
There's a yocto warning when I compile:
WARNING: image-te-devel-1.0-r0 do_image_sdcard: SDCARDIMAGE_EXTRA1_OFFSET is undefined. To use the 'sdcard' image it needs to be defined as byte offset.
Could this OFFSET explain the issue? How should I calculate this value?
Hi,
I tried the proposed solution "bitbake fsl-image-auto -c cleansstate and bitbake fsl-image-auto"
Also added
DISTRO_FEATURES:append = " pfe"
NXP_FIRMWARE_LOCAL_DIR = " /yocto/sources/meta-te-myS32g/recipes-kernel/pfe/files"
To local.conf but now HSE receipt is failing. With the following error:
ERROR: /yocto/sources/meta-alb/meta-alb-bsp/recipes-bsp/hse/hse-firmware.bb: hse-firmware: LIC_FILES_CHKSUM contains an invalid URL: /yocto/sources/meta-te-s32g/recipes-kernel/pfe/files//HSE_FW_S32G2XX_0_2_64_0/license.rtf;md5=bafc2fc12f6ba76334b95f6ea4844b01
Seems that hse recipe is using also NXP_FIRMWARE_LOCAL_DIR as source directory and adding the pfe path is messing things.
Also I've tried to add DISTRO_FEATURES:remove = " hse" in local.conf but it's not solving the problem and error still appears.
Thanks,