Hi, by this serie the missing FlexSPI/QSPI boot support is added. The FlexSPI boot option is available on i.MX8MM/N/P SoCs. The integration is done by using the single-image approach, so no special QSPI image is required. The same image which can be used for eMMC/eMMC-boot, SD, USB, chainload now supports QSPI. This is done by adding a 2nd IVT header on the appropriate place and adding a QSPI update handler. Patch1-4: General fixes Patch7-onward: Add the FlexSPI/QSPI support --- Changes in v2: - Link to v1: https://lore.barebox.org/20230228-v2023-02-0-topic-flexspi-v1-0-7b3c3fa295f5@xxxxxxxxxxxxxx - patche9-10: fix $bootsource_instance to report 0 instead of 'unkown' - patche18-19: switch from target-device seeking to filetype offset. - patch23: add documentation --- Marco Felsch (23): spi: remove flash_platform_data support bbu: make it possible to check multiple of-compatibles ARM: i.MX8MM: add missing IMD_USED_OF image metadata entry ARM: i.MX8MN: add missing IMD_USED_OF image metadata entries mci: imx-esdhc-pbl: fix number of read blocks mci: imx-esdhc-pbl: refactor the esdhc_load_image function mci: imx-esdhc-pbl: move imx_load_image into common xload code ARM: i.MX8M: Add QSPI image load support ARM: i.MX bootsource: set QSPI instance ARM: i.MX8MM bootsource: fix QSPI boot source detection ARM: i.MX8M: Add QSPI boot support scripts: imx-image: convert flag variables into bool scripts: imx-image: header_v2: factor out offset parameter scripts: imx-image: header_v2: add header_len parameter scripts: imx-image: add FlexSPI image support filetype: add NXP FlexSPI filetype ARM: i.MX: bbu: rename IMX_INTERNAL_FLAG_ERASE to IMX_BBU_FLAG_ERASE ARM: i.MX: bbu: add filetype offset ARM: i.MX: bbu: add FlexSPI update handler ARM: i.MX8M: enable FlexSPI image support ARM: i.MX8M: add qspi barebox and barebox-environment partitions ARM: i.MX8M: add QSPI update handler Documentation: i.MX8M: add EVK QSPI NOR barebox installation documentation Documentation/boards/imx/nxp-imx8mm-evk.rst | 11 ++ Documentation/boards/imx/nxp-imx8mn-evk.rst | 12 ++ Documentation/boards/imx/nxp-imx8mp-evk.rst | 12 ++ arch/arm/boards/nxp-imx8mm-evk/board.c | 1 + .../nxp-imx8mm-evk/flash-header-imx8mm-evk.imxcfg | 3 + arch/arm/boards/nxp-imx8mm-evk/lowlevel.c | 1 + arch/arm/boards/nxp-imx8mn-evk/board.c | 1 + .../nxp-imx8mn-evk/flash-header-imx8mn-evk.imxcfg | 3 + arch/arm/boards/nxp-imx8mn-evk/lowlevel.c | 4 + arch/arm/boards/nxp-imx8mp-evk/board.c | 1 + .../nxp-imx8mp-evk/flash-header-imx8mp-evk.imxcfg | 3 + arch/arm/dts/imx8mm-evk.dtsi | 19 +++ arch/arm/dts/imx8mn-evk.dtsi | 19 +++ arch/arm/dts/imx8mp-evk.dts | 19 +++ arch/arm/mach-imx/Makefile | 1 + arch/arm/mach-imx/atf.c | 9 ++ arch/arm/mach-imx/boot.c | 19 +++ arch/arm/mach-imx/imx-bbu-internal.c | 49 ++++++- arch/arm/mach-imx/xload-common.c | 120 +++++++++++++++++ arch/arm/mach-imx/xload-qspi.c | 57 ++++++++ common/bbu.c | 42 +++--- common/filetype.c | 5 + drivers/mci/imx-esdhc-pbl.c | 108 +-------------- drivers/mtd/devices/m25p80.c | 15 +-- drivers/mtd/devices/mtd_dataflash.c | 4 +- drivers/mtd/spi-nor/spi-nor.c | 1 - include/filetype.h | 1 + include/mach/imx/bbu.h | 13 ++ include/mach/imx/imx-header.h | 118 +++++++++++++++++ include/mach/imx/xload.h | 8 ++ include/spi/flash.h | 31 ----- scripts/imx/imx-image.c | 146 +++++++++++++++++++-- scripts/imx/imx.c | 26 ++++ 33 files changed, 696 insertions(+), 186 deletions(-) --- base-commit: 7960c168dae7f38406c0727c4b5a275e85c2533c change-id: 20230228-v2023-02-0-topic-flexspi-c4d81e8b5b9a Best regards, -- Marco Felsch <m.felsch@xxxxxxxxxxxxxx>