All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Simona Toaca (OSS)" <simona.toaca@oss.nxp.com>
To: uboot-imx@nxp.com, u-boot@lists.denx.de
Cc: Stefano Babic <sbabic@nabladev.com>,
	festevam@gmail.com, peng.fan@nxp.com, alice.guo@nxp.com,
	viorel.suman@nxp.com, simona.toaca@nxp.com, ye.li@nxp.com,
	ping.bai@nxp.com, marex@nabladev.com,
	sebastien.szymanski@armadeus.com, ravi@prevas.dk,
	joao.goncalves@toradex.com, ji.luo@nxp.com,
	semen.protsenko@linaro.org, tharvey@gateworks.com,
	qijian.guo@nxp.com
Subject: [PATCH v3 0/6] imx9{4,5,52}: Add Quickboot support
Date: Thu,  2 Apr 2026 12:40:42 +0300	[thread overview]
Message-ID: <cover.1775121078.git.simona.toaca@nxp.com> (raw)

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


             reply	other threads:[~2026-04-02  9:29 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-02  9:40 Simona Toaca (OSS) [this message]
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-20 13:52         ` Simona Toaca
2026-04-22  1:15           ` 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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1775121078.git.simona.toaca@nxp.com \
    --to=simona.toaca@oss.nxp.com \
    --cc=alice.guo@nxp.com \
    --cc=festevam@gmail.com \
    --cc=ji.luo@nxp.com \
    --cc=joao.goncalves@toradex.com \
    --cc=marex@nabladev.com \
    --cc=peng.fan@nxp.com \
    --cc=ping.bai@nxp.com \
    --cc=qijian.guo@nxp.com \
    --cc=ravi@prevas.dk \
    --cc=sbabic@nabladev.com \
    --cc=sebastien.szymanski@armadeus.com \
    --cc=semen.protsenko@linaro.org \
    --cc=simona.toaca@nxp.com \
    --cc=tharvey@gateworks.com \
    --cc=u-boot@lists.denx.de \
    --cc=uboot-imx@nxp.com \
    --cc=viorel.suman@nxp.com \
    --cc=ye.li@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.