IMX93 - Poky - Error on U-Boot configuration fspi

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

IMX93 - Poky - Error on U-Boot configuration fspi

跳至解决方案
1,386 次查看
il_ciancio
Contributor III

Hello NXP experts,

I am following "UG10164, i.MX Yocto Project User's Guide,  Rev. LF6.12.3_1.0.0 — 31 March 2025".

I have to configure u-boot with

  • uboot_config_imx93evk="sd fspi"

as showed in chapter "5.5 U-Boot configuration".

As suggested i runned the command:

  • echo "UBOOT_CONFIG = \"sd fspi\"" >> conf/local.conf

and after i runned

  • bitbake core-image-minimal.

An error is raised during the bitbake:

ERROR: Nothing PROVIDES 'virtual/bootloader' (but /home/imx-yocto-bsp/sources/poky/meta/recipes-core/images/core-image-minimal.bb DEPENDS on or otherwise requires it)
u-boot-qoriq PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot PROVIDES virtual/bootloader but was skipped: The selected UBOOT_CONFIG key ['sd', 'fspi'] has no match in dict_keys(['sd', 'ecc', 'ld']).
u-boot-fslc PROVIDES virtual/bootloader but was skipped: The selected UBOOT_CONFIG key ['sd', 'fspi'] has no match in dict_keys(['sd', 'ecc', 'ld']).
u-boot-imx PROVIDES virtual/bootloader but was skipped: The selected UBOOT_CONFIG key ['sd', 'fspi'] has no match in dict_keys(['sd', 'ecc', 'ld']).
edk2-firmware PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-variscite PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-toradex PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-imx PROVIDES virtual/bootloader but was skipped: The selected UBOOT_CONFIG key ['sd', 'fspi'] has no match in dict_keys(['sd', 'ecc', 'ld']).
u-boot-kontron PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-qoriq PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
u-boot-boundary PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
edk2-firmware PROVIDES virtual/bootloader but was skipped: incompatible with machine imx93-11x11-lpddr4x-evk (not in COMPATIBLE_MACHINE)
ERROR: Required build target 'core-image-minimal' has no buildable providers.
Missing or unbuildable dependency chain was: ['core-image-minimal', 'virtual/bootloader'].

 

This is my local.conf file:

MACHINE ??= 'imx93-11x11-lpddr4x-evk'
DISTRO ?= 'fsl-imx-wayland'
EXTRA_IMAGE_FEATURES ?= "debug-tweaks"
USER_CLASSES ?= "buildstats"
PATCHRESOLVE = "noop"
BB_DISKMON_DIRS ??= "\
STOPTASKS,${TMPDIR},1G,100K \
STOPTASKS,${DL_DIR},1G,100K \
STOPTASKS,${SSTATE_DIR},1G,100K \
STOPTASKS,/tmp,100M,100K \
HALT,${TMPDIR},100M,1K \
HALT,${DL_DIR},100M,1K \
HALT,${SSTATE_DIR},100M,1K \
HALT,/tmp,10M,1K"
PACKAGECONFIG:append:pn-qemu-system-native = " sdl"
CONF_VERSION = "2"

DL_DIR ?= "${BSPDIR}/downloads/"
ACCEPT_FSL_EULA = "1"

# Switch to Debian packaging and include package-management in the image
PACKAGE_CLASSES = "package_deb"
EXTRA_IMAGE_FEATURES += "package-management"
UBOOT_CONFIG = "sd fspi"

 

What am I missing?

 

Regards,

Alessandro

 

标签 (1)
标记 (4)
0 项奖励
回复
1 解答
1,236 次查看
Chavira
NXP TechSupport
NXP TechSupport

HI @il_ciancio!

By default is not possible you should do some modifications and we can't validate the image due to the evk board doesn't have fspi installed.

 

Best Regards!

Chavira

在原帖中查看解决方案

8 回复数
1,364 次查看
Chavira
NXP TechSupport
NXP TechSupport

Hi @il_ciancio!

Thank you for contacting NXP Support!

 

I am compiling now.

Try changing UBOOT_CONFIG = "sd fspi" to UBOOT_CONFIG ??= "sd fspi" in the local.conf file.

 

Best Regards!

Chavira

0 项奖励
回复
1,332 次查看
il_ciancio
Contributor III
Hi @Chavira,
with UBOOT_CONFIG ??= "sd fspi" the bitbake is finished, but in the output folder there is *.wic file but there isn't a Flex-SPI u-boot binary image.
Is there something else?
How is the result of your build?
0 项奖励
回复
1,304 次查看
Chavira
NXP TechSupport
NXP TechSupport

Hi @il_ciancio!

 

I found the problem!

 

For some reason the fspi configuration is not included.

 

You have to add the next lines in the imx93-11x11-lpddr4x-evk.conf file.

 

UBOOT_CONFIG[fspi] = "${UBOOT_CONFIG_BASENAME}_defconfig"

IMXBOOT_TARGETS_FSPI = "flash_singleboot_flexspi"

IMXBOOT_TARGETS = "${@bb.utils.contains('UBOOT_CONFIG', 'fspi', '${IMXBOOT_TARGETS_FSPI}', 'flash_singleboot', d)}"

 

Chavira_1-1744301229139.png

 

after that you can maintain the line UBOOT_CONFIG = "sd fspi"  in local.conf file to deploy both images.

 

Chavira_2-1744301372043.png

 

 

Best Regards!

Chavira

1,278 次查看
il_ciancio
Contributor III

Hi @Chavira ,

congratulation, great job!

Now the bitabake is finished and i have u-boot*fspi files in my deploy directory.

Just for clarification, which are the kernel/rootfs image "compatible" with fspi? It is always the *.wic file?

 

thanks a lot and again great work!

1,265 次查看
Chavira
NXP TechSupport
NXP TechSupport

Hi @il_ciancio!

You can't flash the rootfs in the flash memory.

You can boot from fspi and then use the rootfs flashed in eMMC or SD card.

 

Best Regards!

Chavira

1,246 次查看
il_ciancio
Contributor III

Ciao @Chavira.

I have a question, maybe I am misunderstanding something.

I am working with a custom board without eMMC or SD card and It has only a SPI NOR FLASH, the goal is to boot starting from data inside the SPI memory on target IMX93.

There is also this ticket:  all(bootloader, device tree, Linux kernel, rootfs)

It is made a custom UUU script in order to flash data in SPI memory:

  • uboot;
  • dtb;
  • kernel;
  • rootfs;

the flash goes well because it is checked raw data read from spi memory.

After the boot, It is read data from SPI and putted in ram (like a bridge), some env vars are setted and after with the command booti:

  • booti ${loadaddr} ${initrd_addr} ${fdt_addr}


the kernel should boot.
Why did you write "then use the rootfs flashed in eMMC or SD card."? Is it mandatory that rootfs must be in sd/emmc?

I hope that I am clear.

 

Thanks a lot!

 

 

0 项奖励
回复
1,237 次查看
Chavira
NXP TechSupport
NXP TechSupport

HI @il_ciancio!

By default is not possible you should do some modifications and we can't validate the image due to the evk board doesn't have fspi installed.

 

Best Regards!

Chavira

1,146 次查看
il_ciancio
Contributor III

thanks for the support!

0 项奖励
回复