mail archive of the barebox mailing list
 help / color / mirror / Atom feed
* [PATCH v2 00/23] FlexSPI image/boot/update support
@ 2023-03-13 13:41 Marco Felsch
  2023-03-13 13:41 ` [PATCH v2 01/23] spi: remove flash_platform_data support Marco Felsch
                   ` (23 more replies)
  0 siblings, 24 replies; 29+ messages in thread
From: Marco Felsch @ 2023-03-13 13:41 UTC (permalink / raw)
  To: barebox

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@pengutronix.de>




^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2023-04-04  9:11 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-13 13:41 [PATCH v2 00/23] FlexSPI image/boot/update support Marco Felsch
2023-03-13 13:41 ` [PATCH v2 01/23] spi: remove flash_platform_data support Marco Felsch
2023-03-13 13:41 ` [PATCH v2 02/23] bbu: make it possible to check multiple of-compatibles Marco Felsch
2023-04-04  7:04   ` Sascha Hauer
2023-04-04  8:01     ` Marco Felsch
2023-04-04  8:49       ` Sascha Hauer
2023-04-04  9:05         ` Marco Felsch
2023-03-13 13:41 ` [PATCH v2 03/23] ARM: i.MX8MM: add missing IMD_USED_OF image metadata entry Marco Felsch
2023-03-13 13:41 ` [PATCH v2 04/23] ARM: i.MX8MN: add missing IMD_USED_OF image metadata entries Marco Felsch
2023-03-13 13:41 ` [PATCH v2 05/23] mci: imx-esdhc-pbl: fix number of read blocks Marco Felsch
2023-03-13 13:41 ` [PATCH v2 06/23] mci: imx-esdhc-pbl: refactor the esdhc_load_image function Marco Felsch
2023-03-13 13:41 ` [PATCH v2 07/23] mci: imx-esdhc-pbl: move imx_load_image into common xload code Marco Felsch
2023-03-13 13:41 ` [PATCH v2 08/23] ARM: i.MX8M: Add QSPI image load support Marco Felsch
2023-03-13 13:41 ` [PATCH v2 09/23] ARM: i.MX bootsource: set QSPI instance Marco Felsch
2023-03-13 13:41 ` [PATCH v2 10/23] ARM: i.MX8MM bootsource: fix QSPI boot source detection Marco Felsch
2023-03-13 13:41 ` [PATCH v2 11/23] ARM: i.MX8M: Add QSPI boot support Marco Felsch
2023-03-13 13:41 ` [PATCH v2 12/23] scripts: imx-image: convert flag variables into bool Marco Felsch
2023-03-13 13:41 ` [PATCH v2 13/23] scripts: imx-image: header_v2: factor out offset parameter Marco Felsch
2023-03-13 13:41 ` [PATCH v2 14/23] scripts: imx-image: header_v2: add header_len parameter Marco Felsch
2023-03-13 13:41 ` [PATCH v2 15/23] scripts: imx-image: add FlexSPI image support Marco Felsch
2023-03-13 13:41 ` [PATCH v2 16/23] filetype: add NXP FlexSPI filetype Marco Felsch
2023-03-13 13:41 ` [PATCH v2 17/23] ARM: i.MX: bbu: rename IMX_INTERNAL_FLAG_ERASE to IMX_BBU_FLAG_ERASE Marco Felsch
2023-03-13 13:41 ` [PATCH v2 18/23] ARM: i.MX: bbu: add filetype offset Marco Felsch
2023-03-13 13:41 ` [PATCH v2 19/23] ARM: i.MX: bbu: add FlexSPI update handler Marco Felsch
2023-03-13 13:41 ` [PATCH v2 20/23] ARM: i.MX8M: enable FlexSPI image support Marco Felsch
2023-03-13 13:42 ` [PATCH v2 21/23] ARM: i.MX8M: add qspi barebox and barebox-environment partitions Marco Felsch
2023-03-13 13:42 ` [PATCH v2 22/23] ARM: i.MX8M: add QSPI update handler Marco Felsch
2023-03-13 13:42 ` [PATCH v2 23/23] Documentation: i.MX8M: add EVK QSPI NOR barebox installation documentation Marco Felsch
2023-03-17 11:11 ` [PATCH v2 00/23] FlexSPI image/boot/update support Sascha Hauer

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox