public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
* [PATCH v3 0/6] imx9{4,5,52}: Add Quickboot support
@ 2026-04-02  9:40 Simona Toaca (OSS)
  2026-04-02  9:40 ` [PATCH v3 1/6] imx9: Add support for saving DDR training data to NVM Simona Toaca (OSS)
                   ` (5 more replies)
  0 siblings, 6 replies; 17+ messages in thread
From: Simona Toaca (OSS) @ 2026-04-02  9:40 UTC (permalink / raw)
  To: uboot-imx, u-boot
  Cc: Stefano Babic, festevam, peng.fan, alice.guo, viorel.suman,
	simona.toaca, ye.li, ping.bai, marex, sebastien.szymanski, ravi,
	joao.goncalves, ji.luo, semen.protsenko, tharvey, qijian.guo

From: Simona Toaca <simona.toaca@nxp.com>

This patch series adds support for saving DDR training
data to non-volatile memory on iMX94, iMX95 and iMX952 platforms.
The purpose is running DDR Quickboot flow on next reboot.

The process is as follows:
- OEI runs Training flow for the DDRPHY
- OEI saves the data from training to volatile memory
- U-Boot can then save it to non-volatile memory (e.g. SD)
- OEI loads the data from NVM at cold reboot and runs Quickboot flow

By skipping training, a much lower boot time is achieved.

Changes for v3:
- Rebased and added support for iMX952
- Removed IMX_SNPS_DDR_PHY_QB_GEN macro, as it was not useful ->
now CMD_QB is enabled by default on the supported boards
- Removed unnecessary #ifdefs -> replaced with if (CONFIG..)
- Replaced spi_flash_probe with udevice_first_device_err to
avoid using SPI macros that needed ifdefs, since there is only
one SPI flash device available.
- Adnotated qb methods with qb_ to be easier to see in asm dump
- Removed explicit pointer casts from (void *)
- Replaced custom qb_crc32 with the U-Boot one
- Made eveything snake_case
- Enabled SFDP support for iMX943/95, as it is necessary for
proper erase size parsing (and is already present in iMX952 config)
- Improved documentation - explanation about the space in bootloader
- Added commit fixing a style issue in Kconfig

Changes for v2:
- Improved documentation to clarify the questions asked
- Detailed log messages for all commits
- Detailed Kconfig options for SPL_IMX_QB and CMD_IMX_QB
- Fixed the mentioned coding style issues

Simona Toaca (6):
  imx9: Add support for saving DDR training data to NVM
  arm: mach-imx: Add command to expose QB functionality
  configs: imx9{43, 5}: Enable SPI SFDP support
  board: nxp: imx9{4,5,52}_evk: Add qb save option in SPL
  doc: board: nxp: Add Quickboot documentation
  drivers: ddr: imx: Fix Kconfig for SAVED_DRAM_TIMING_BASE

 arch/arm/include/asm/arch-imx9/ddr.h |  48 +++-
 arch/arm/include/asm/mach-imx/qb.h   |  15 ++
 arch/arm/mach-imx/Kconfig            |  19 ++
 arch/arm/mach-imx/Makefile           |   1 +
 arch/arm/mach-imx/cmd_qb.c           | 132 ++++++++++
 arch/arm/mach-imx/imx9/Makefile      |  10 +-
 arch/arm/mach-imx/imx9/qb.c          | 379 +++++++++++++++++++++++++++
 arch/arm/mach-imx/imx9/scmi/soc.c    |   7 +
 board/nxp/imx94_evk/spl.c            |   6 +-
 board/nxp/imx952_evk/spl.c           |   4 +
 board/nxp/imx95_evk/spl.c            |   6 +-
 configs/imx943_evk_defconfig         |   1 +
 configs/imx95_15x15_evk_defconfig    |   1 +
 configs/imx95_evk.config             |   1 +
 doc/board/nxp/index.rst              |   1 +
 doc/board/nxp/qb.rst                 |  54 ++++
 drivers/ddr/imx/imx9/Kconfig         |   9 +-
 17 files changed, 688 insertions(+), 6 deletions(-)
 create mode 100644 arch/arm/include/asm/mach-imx/qb.h
 create mode 100644 arch/arm/mach-imx/cmd_qb.c
 create mode 100644 arch/arm/mach-imx/imx9/qb.c
 create mode 100644 doc/board/nxp/qb.rst

-- 
2.43.0


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

end of thread, other threads:[~2026-04-07 18:14 UTC | newest]

Thread overview: 17+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-02  9:40 [PATCH v3 0/6] imx9{4,5,52}: Add Quickboot support Simona Toaca (OSS)
2026-04-02  9:40 ` [PATCH v3 1/6] imx9: Add support for saving DDR training data to NVM Simona Toaca (OSS)
2026-04-03 23:00   ` Marek Vasut
2026-04-05 11:49   ` Simon Glass
2026-04-06  8:39     ` Simona Toaca
2026-04-07 18:13       ` Simon Glass
2026-04-02  9:40 ` [PATCH v3 2/6] arm: mach-imx: Add command to expose QB functionality Simona Toaca (OSS)
2026-04-03 23:16   ` Marek Vasut
2026-04-02  9:40 ` [PATCH v3 3/6] configs: imx9{43, 5}: Enable SPI SFDP support Simona Toaca (OSS)
2026-04-03 23:18   ` Marek Vasut
2026-04-02  9:40 ` [PATCH v3 4/6] board: nxp: imx9{4, 5, 52}_evk: Add qb save option in SPL Simona Toaca (OSS)
2026-04-03 23:23   ` [PATCH v3 4/6] board: nxp: imx9{4,5,52}_evk: " Marek Vasut
2026-04-02  9:40 ` [PATCH v3 5/6] doc: board: nxp: Add Quickboot documentation Simona Toaca (OSS)
2026-04-03 23:27   ` Marek Vasut
2026-04-04 11:46   ` Fabio Estevam
2026-04-02  9:40 ` [PATCH v3 6/6] drivers: ddr: imx: Fix Kconfig for SAVED_DRAM_TIMING_BASE Simona Toaca (OSS)
2026-04-03 23:24   ` Marek Vasut

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