arm: socfpga: agilex5: Add warm reset mask for Agilex5
authorAlif Zakuan Yuslaimi <alif.zakuan.yuslaimi@intel.com>
Tue, 18 Feb 2025 08:34:51 +0000 (16:34 +0800)
committerTom Rini <trini@konsulko.com>
Tue, 25 Feb 2025 16:53:42 +0000 (10:53 -0600)
There are 5 L4 watchdogs and one SDM triggered warm reset bit
in Agilex5 reset manager "stat" register where bit 16:20 for L4
watchdogs. Assigning value 1 to these bits in the register address
will initiate SDM to trigger warm reset.

Introducing new warm reset mask for Agilex5 to trigger warm reset
to all five L4 watchdogs.

Signed-off-by: Tien Fong Chee <tien.fong.chee@altera.com>
Signed-off-by: Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>
Reviewed-by: Tien Fong Chee <tien.fong.chee@altera.com>
arch/arm/mach-socfpga/include/mach/reset_manager_soc64.h

index c8bb727..058fdd6 100644 (file)
@@ -1,6 +1,7 @@
 /* SPDX-License-Identifier: GPL-2.0 */
 /*
  *  Copyright (C) 2016-2019 Intel Corporation <www.intel.com>
+ *  Copyright (C) 2025 Altera Corporation <www.altera.com>
  */
 
 #ifndef _RESET_MANAGER_SOC64_H_
@@ -23,14 +24,20 @@ void socfpga_bridges_reset(int enable);
 #define RSTMGR_BRGMODRST_FPGA2SOC_MASK 0x00000004
 
 /* SDM, Watchdogs and MPU warm reset mask */
-#define RSTMGR_STAT_SDMWARMRST         BIT(1)
+#define RSTMGR_STAT_SDMWARMRST         0x2
 #define RSTMGR_STAT_MPU0RST_BITPOS     8
 #define RSTMGR_STAT_L4WD0RST_BITPOS    16
+#if IS_ENABLED(CONFIG_TARGET_SOCFPGA_AGILEX5)
+#define RSTMGR_STAT_L4WD0RST_BIT       0x1F0000
+#define RSTMGR_L4WD_MPU_WARMRESET_MASK (RSTMGR_STAT_SDMWARMRST | \
+               RSTMGR_STAT_L4WD0RST_BIT)
+#else
 #define RSTMGR_L4WD_MPU_WARMRESET_MASK (RSTMGR_STAT_SDMWARMRST | \
                GENMASK(RSTMGR_STAT_MPU0RST_BITPOS + 3, \
                        RSTMGR_STAT_MPU0RST_BITPOS) | \
                GENMASK(RSTMGR_STAT_L4WD0RST_BITPOS + 3, \
                        RSTMGR_STAT_L4WD0RST_BITPOS))
+#endif
 
 /*
  * SocFPGA Stratix10 reset IDs, bank mapping is as follows: