[PATCH v2 00/23] FlexSPI image/boot/update support
Marco Felsch
m.felsch at pengutronix.de
Mon Mar 13 06:41:39 PDT 2023
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@pengutronix.de
- 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 at pengutronix.de>
More information about the barebox
mailing list