[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