From 12c2e29937e9d3c8097f3eb6e33ebc8b00cbdf4c Mon Sep 17 00:00:00 2001 From: Soren Brinkmann Date: Sun, 12 Apr 2015 20:24:21 -0700 Subject: [PATCH] PMUFW: Release RPU island reset on power up swbeta2 commit 572db0eb0f48b4f7f5684abea721c6fac92ccdee When powering up the RPU island the individual RPU core resets as well as the reset for the whole island are asserted. To ensure proper resume, the island reset needs to be released when the island is powered up. Signed-off-by: Soren Brinkmann --- lib/sw_apps/zynqmp_pmufw/src/pm_power.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/lib/sw_apps/zynqmp_pmufw/src/pm_power.c b/lib/sw_apps/zynqmp_pmufw/src/pm_power.c index e9fe69bf..89976e29 100644 --- a/lib/sw_apps/zynqmp_pmufw/src/pm_power.c +++ b/lib/sw_apps/zynqmp_pmufw/src/pm_power.c @@ -128,8 +128,17 @@ static u32 PmPwrUpHandler(PmNode* const nodePtr) ret = XST_SUCCESS; break; case NODE_RPU: + { + u32 reg; + ret = XpbrPwrUpRpuHandler(); + + /* release RPU island reset */ + reg = Xil_In32(CRL_APB_RST_LPD_TOP); + reg &= ~CRL_APB_RST_LPD_TOP_RPU_PGE_RESET_MASK; + Xil_Out32(CRL_APB_RST_LPD_TOP, reg); break; + } default: PmDbg("%s ERROR - unsupported node %s(%d)\n", __func__, PmStrNode(nodePtr->nodeId), nodePtr->nodeId);