IMX93 - Poky - Error on U-Boot configuration fspi

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

IMX93 - Poky - Error on U-Boot configuration fspi

ソリューションへジャンプ
1,367件の閲覧回数
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,217件の閲覧回数
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,345件の閲覧回数
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,313件の閲覧回数
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,285件の閲覧回数
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,259件の閲覧回数
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,246件の閲覧回数
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,227件の閲覧回数
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,218件の閲覧回数
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,127件の閲覧回数
il_ciancio
Contributor III

thanks for the support!

0 件の賞賛
返信