All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v4 0/4] imx9{4,5,52}: Add Quickboot support
@ 2026-04-30  8:33 Simona Toaca (OSS)
  2026-04-30  8:33 ` [PATCH v4 1/4] imx9: Add support for saving DDR training data to NVM Simona Toaca (OSS)
                   ` (4 more replies)
  0 siblings, 5 replies; 20+ messages in thread
From: Simona Toaca (OSS) @ 2026-04-30  8:33 UTC (permalink / raw)
  To: uboot-imx, u-boot
  Cc: Stefano Babic, festevam, peng.fan, alice.guo, ye.li, simona.toaca,
	viorel.suman, fedor.ross, marex, joao.goncalves, ravi, ping.bai,
	ji.luo, 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 v4:
- add IMX_QB macro to include qb.c based on the boot phase
- change qb_ prefix to imx_qb_ for qb.c methods, to
be more specific
- add boot device macro to string conversion for the case
where the device is not explicitly specified
- pass quickboot args as strings and parse them in qb.c using
blk_device_get_by_str/blk_device_part_str (if they are blk devices).
This enables specifying mmc 0:2 for the boot1 partition of the eMMC
device.
- use blk device API instead of mmc-specific
- use SPI DM methods for spi flash read/write
- use malloc for storing container header instead of kmalloc
- add eMMC hwpart usage to the documentation
- sent the qb-unrelated patches separately

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 (4):
  imx9: Add support for saving DDR training data to NVM
  arm: mach-imx: Add command to expose QB functionality
  board: nxp: imx9{4,5,52}_evk: Add qb save option in SPL
  doc: board: nxp: Add Quickboot documentation

 arch/arm/include/asm/arch-imx9/ddr.h |  48 +++-
 arch/arm/include/asm/mach-imx/qb.h   |  15 +
 arch/arm/mach-imx/Kconfig            |  28 ++
 arch/arm/mach-imx/Makefile           |   1 +
 arch/arm/mach-imx/cmd_qb.c           | 102 +++++++
 arch/arm/mach-imx/imx9/Makefile      |   6 +-
 arch/arm/mach-imx/imx9/qb.c          | 403 +++++++++++++++++++++++++++
 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 +-
 doc/board/nxp/index.rst              |   1 +
 doc/board/nxp/quickboot.rst          |  59 ++++
 drivers/ddr/imx/imx9/Kconfig         |   7 +
 14 files changed, 688 insertions(+), 5 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/quickboot.rst

-- 
2.43.0


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

end of thread, other threads:[~2026-06-04 11:54 UTC | newest]

Thread overview: 20+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-30  8:33 [PATCH v4 0/4] imx9{4,5,52}: Add Quickboot support Simona Toaca (OSS)
2026-04-30  8:33 ` [PATCH v4 1/4] imx9: Add support for saving DDR training data to NVM Simona Toaca (OSS)
2026-05-25  8:59   ` Emanuele Ghidoli
2026-05-27 14:33     ` Simona Toaca
2026-05-28  7:37       ` Francesco Dolcini
2026-05-28  5:25   ` Kumar, Udit
2026-06-02 10:59     ` Simona Toaca
2026-06-03  7:24       ` Francesco Dolcini
2026-06-03  8:13       ` Kumar, Udit
2026-06-02 11:20   ` Marek Vasut
2026-06-02 13:46     ` Simona Toaca
2026-06-02 14:11       ` Marek Vasut
2026-06-03  4:57         ` Marek Vasut
2026-06-03 13:31           ` Simona Toaca
2026-06-03 13:53             ` Marek Vasut
2026-06-04 12:04               ` Simona Toaca
2026-04-30  8:33 ` [PATCH v4 2/4] arm: mach-imx: Add command to expose QB functionality Simona Toaca (OSS)
2026-04-30  8:33 ` [PATCH v4 3/4] board: nxp: imx9{4, 5, 52}_evk: Add qb save option in SPL Simona Toaca (OSS)
2026-04-30  8:33 ` [PATCH v4 4/4] doc: board: nxp: Add Quickboot documentation Simona Toaca (OSS)
2026-05-28  5:23 ` [PATCH v4 0/4] imx9{4,5,52}: Add Quickboot support Kumar, Udit

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.