[PATCH 00/21] FlexSPI image/boot/update support

Marco Felsch m.felsch at pengutronix.de
Thu Mar 9 03:41:21 PST 2023


Hi Ahmad,

On 23-03-09, Ahmad Fatoum wrote:
> Hello Marco,
> 
> On 09.03.23 11:40, Marco Felsch wrote:
> > Hi,
> > 
> > by this serie the missing FlexSPI/QSPI boot support is added. The
> > FlexSPI boot option is available on i.MX8MM/N/P SoCs.
> 
> adding to Cc, Joacim, who authored the first series for supporting
> i.MX8M QSPI.

thanks I forgot him..

> Can I expect that the issues that were raised with implicit v1
> are resolved here?

If you mean by issues:
 - using the bootrom-loader?
   -> No, since the loading part is now quite small (memcpy) and I
      didn't saw the benefit of using the romloader instead since the
      memcpy works on 8MM/N/P. Please see xload-qspi.c for more
      information.
 - The additional 4K size issue?
   -> Yes please see patch ("mci: imx-esdhc-pbl: fix number of read
      blocks").
 - Same barebox image for SD/eMMC and QSPI
   -> Yes, please see my cover letter
 - Filetype detection?
   -> New filetype was added, see ("filetype: add NXP FlexSPI filetype")
 - Don't use a pre-generated FCFB header?
   -> Yes, we create the FCFB during image generation. See ("scripts:
      imx-image: add FlexSPI image support")

I hope this help.

Regards,
  Marco

> > 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
> > 
> > ---
> > Marco Felsch (21):
> >       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.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 target device 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
> > 
> >  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                           |  17 +++
> >  arch/arm/mach-imx/imx-bbu-internal.c               |  52 +++++++-
> >  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 ++++
> >  30 files changed, 664 insertions(+), 184 deletions(-)
> > ---
> > base-commit: 7960c168dae7f38406c0727c4b5a275e85c2533c
> > change-id: 20230228-v2023-02-0-topic-flexspi-c4d81e8b5b9a
> > 
> > Best regards,
> 
> -- 
> Pengutronix e.K.                           |                             |
> Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
> 31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
> Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |
> 
> 



More information about the barebox mailing list