All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chen Huei Lok <chen.huei.lok@altera.com>
To: u-boot@lists.denx.de
Cc: Tien Fong Chee <tien.fong.chee@altera.com>,
	Tom Rini <trini@konsulko.com>, Marek Vasut <marex@denx.de>,
	Simon Goldschmidt <simon.k.r.goldschmidt@gmail.com>,
	Chen Huei Lok <chen.huei.lok@altera.com>,
	Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>,
	Dinesh Maniyam <dinesh.maniyam@altera.com>,
	Boon Khai Ng <boon.khai.ng@altera.com>,
	Kok Kiang Hea <kok.kiang.hea@altera.com>
Subject: [PATCH v2 8/8] arm: socfpga: n5x: update SPL data save and restore implementation
Date: Tue, 28 Apr 2026 15:00:17 +0800	[thread overview]
Message-ID: <20260428070017.16807-9-chen.huei.lok@altera.com> (raw)
In-Reply-To: <20260428070017.16807-1-chen.huei.lok@altera.com>

Enable backup for data section to support warm reset as no SPL image
would be reloaded in warm reset.

Signed-off-by: Chen Huei Lok <chen.huei.lok@altera.com>
---
 arch/arm/mach-socfpga/spl_n5x.c | 18 ++++++++++++++++++
 configs/socfpga_n5x_defconfig   |  1 +
 2 files changed, 19 insertions(+)

diff --git a/arch/arm/mach-socfpga/spl_n5x.c b/arch/arm/mach-socfpga/spl_n5x.c
index f776d0c0327..8933811a7ec 100644
--- a/arch/arm/mach-socfpga/spl_n5x.c
+++ b/arch/arm/mach-socfpga/spl_n5x.c
@@ -19,11 +19,29 @@
 #include <spl.h>
 #include <watchdog.h>
 
+u32 reset_flag(u32 flag)
+{
+	/* Check rstmgr.stat for warm reset status */
+	u32 status = readl(SOCFPGA_RSTMGR_ADDRESS);
+
+	/* Check whether any L4 watchdogs or SDM had triggered warm reset */
+	u32 warm_reset_mask = RSTMGR_L4WD_MPU_WARMRESET_MASK;
+
+	if (status & warm_reset_mask)
+		return 0;
+
+	return 1;
+}
+
 void board_init_f(ulong dummy)
 {
 	int ret;
 	struct udevice *dev;
 
+#if defined(CONFIG_XPL_BUILD) && defined(CONFIG_SPL_RECOVER_DATA_SECTION)
+	spl_save_restore_data();
+#endif
+
 	ret = spl_early_init();
 	if (ret)
 		hang();
diff --git a/configs/socfpga_n5x_defconfig b/configs/socfpga_n5x_defconfig
index 8ad6316bce4..27e15a13659 100644
--- a/configs/socfpga_n5x_defconfig
+++ b/configs/socfpga_n5x_defconfig
@@ -22,6 +22,7 @@ CONFIG_SYS_BOOTM_LEN=0x2000000
 CONFIG_TARGET_SOCFPGA_N5X_SOCDK=y
 CONFIG_IDENT_STRING="socfpga_n5x"
 CONFIG_SPL_FS_FAT=y
+CONFIG_SPL_RECOVER_DATA_SECTION=y
 CONFIG_REMAKE_ELF=y
 CONFIG_FIT=y
 CONFIG_SPL_FIT_SIGNATURE=y
-- 
2.43.7


  parent reply	other threads:[~2026-04-28  7:40 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-04-28  7:00 [PATCH v2 0/8] socfpga: n5x: Update Boot Support for N5X Chen Huei Lok
2026-04-28  7:00 ` [PATCH v2 1/8] configs: socfpga: n5x: replace defconfig with ATF variant and simplify VAB Chen Huei Lok
2026-04-28  7:00 ` [PATCH v2 2/8] arm: dts: socfpga: n5x: enable DT register settings and update GMAC nodes Chen Huei Lok
2026-04-28  7:00 ` [PATCH v2 3/8] configs: socfpga: n5x: enable CMD_MTD and SPL SDRAM support Chen Huei Lok
2026-05-14  3:00   ` Chee, Tien Fong
2026-04-28  7:00 ` [PATCH v2 4/8] configs: socfpga: n5x: enable required configs for DDR retention Chen Huei Lok
2026-05-14  3:22   ` Chee, Tien Fong
2026-04-28  7:00 ` [PATCH v2 5/8] configs: socfpga: n5x: enable ISSI QSPI Chen Huei Lok
2026-04-28  7:00 ` [PATCH v2 6/8] arm: socfpga: n5x: switch firewall setup to driver model Chen Huei Lok
2026-05-14  3:36   ` Chee, Tien Fong
2026-04-28  7:00 ` [PATCH v2 7/8] arch: arm: dts: n5x: switch to using upstream Linux DT config Chen Huei Lok
2026-04-28  7:00 ` Chen Huei Lok [this message]
  -- strict thread matches above, loose matches on Subject: below --
2026-04-28  6:49 [PATCH v2 0/8] socfpga: n5x: Update Boot Support for N5X Chen Huei Lok
2026-04-28  6:49 ` [PATCH v2 8/8] arm: socfpga: n5x: update SPL data save and restore implementation Chen Huei Lok

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=20260428070017.16807-9-chen.huei.lok@altera.com \
    --to=chen.huei.lok@altera.com \
    --cc=alif.zakuan.yuslaimi@altera.com \
    --cc=boon.khai.ng@altera.com \
    --cc=dinesh.maniyam@altera.com \
    --cc=kok.kiang.hea@altera.com \
    --cc=marex@denx.de \
    --cc=simon.k.r.goldschmidt@gmail.com \
    --cc=tien.fong.chee@altera.com \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /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.