Commit 0a67923b authored by Will Wong's avatar Will Wong Committed by Madhukar Pappireddy
Browse files

zynqmp: pm: Add support for PS and system reset on WDT restart



Add ability to support PS and System reset after idling the APU,
by reading the restart scope from the PMU.
Signed-off-by: default avatarWill Wong <willw@xilinx.com>
Signed-off-by: default avatarRajan Vaja <rajan.vaja@xilinx.com>
Change-Id: I23c01725d8ebb71ad34be02ab204411b93620702
parent 1f64caea
...@@ -345,6 +345,9 @@ ...@@ -345,6 +345,9 @@
#define PMU_GLOBAL_GEN_STORAGE4 (GGS_BASEADDR + 0x10) #define PMU_GLOBAL_GEN_STORAGE4 (GGS_BASEADDR + 0x10)
/* Warm restart boot health status mask */ /* Warm restart boot health status mask */
#define PM_BOOT_HEALTH_STATUS_MASK U(0x01) #define PM_BOOT_HEALTH_STATUS_MASK U(0x01)
/* WDT restart scope shift and mask */
#define RESTART_SCOPE_SHIFT (3)
#define RESTART_SCOPE_MASK (0x3U << RESTART_SCOPE_SHIFT)
/*AFI registers */ /*AFI registers */
#define AFIFM6_WRCTRL U(13) #define AFIFM6_WRCTRL U(13)
......
...@@ -142,6 +142,8 @@ static uint64_t __unused __dead2 zynqmp_sgi7_irq(uint32_t id, uint32_t flags, ...@@ -142,6 +142,8 @@ static uint64_t __unused __dead2 zynqmp_sgi7_irq(uint32_t id, uint32_t flags,
void *handle, void *cookie) void *handle, void *cookie)
{ {
int i; int i;
uint32_t value;
/* enter wfi and stay there */ /* enter wfi and stay there */
INFO("Entering wfi\n"); INFO("Entering wfi\n");
...@@ -156,8 +158,9 @@ static uint64_t __unused __dead2 zynqmp_sgi7_irq(uint32_t id, uint32_t flags, ...@@ -156,8 +158,9 @@ static uint64_t __unused __dead2 zynqmp_sgi7_irq(uint32_t id, uint32_t flags,
spin_unlock(&inc_lock); spin_unlock(&inc_lock);
if (active_cores == 0) { if (active_cores == 0) {
pm_system_shutdown(PMF_SHUTDOWN_TYPE_RESET, pm_mmio_read(PMU_GLOBAL_GEN_STORAGE4, &value);
PMF_SHUTDOWN_SUBTYPE_SUBSYSTEM); value = (value & RESTART_SCOPE_MASK) >> RESTART_SCOPE_SHIFT;
pm_system_shutdown(PMF_SHUTDOWN_TYPE_RESET, value);
} }
/* enter wfi and stay there */ /* enter wfi and stay there */
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment