From 8703e57a3245f37004c3a3ed65ea707cb7a0ffda Mon Sep 17 00:00:00 2001 From: Mirela Simonovic Date: Tue, 3 Mar 2015 17:55:58 +0100 Subject: [PATCH] PMUFW: PM: pm_proc: added RPU0..1 processor's sleep (reset assert) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Added reset assert for RPU0..1 processor's sleep functions. Reset assert is done by directly writing into crl_apb registers, becase pmu-rom does not expose function for only asserting reset. Reset assert is a must in order to stop processor from executing instructions once it's sleep handler gets executed. Signed-off-by: Mirela Simonovic Acked-by: Sören Brinkmann --- lib/sw_apps/zynqmp_pmufw/src/pm_proc.c | 15 ++++++++++++++- lib/sw_apps/zynqmp_pmufw/src/xpfw_version.h | 2 +- 2 files changed, 15 insertions(+), 2 deletions(-) diff --git a/lib/sw_apps/zynqmp_pmufw/src/pm_proc.c b/lib/sw_apps/zynqmp_pmufw/src/pm_proc.c index 82f028e1..54cec06d 100644 --- a/lib/sw_apps/zynqmp_pmufw/src/pm_proc.c +++ b/lib/sw_apps/zynqmp_pmufw/src/pm_proc.c @@ -50,6 +50,7 @@ #include "pm_defs.h" #include "pm_proc.h" #include "pm_master.h" +#include "crl_apb.h" #include "xpfw_rom_interface.h" /** @@ -83,8 +84,20 @@ u32 PmProcSleep(PmNode* const nodePtr) case NODE_APU_3: ret = XpbrACPU3SleepHandler(); break; + case NODE_RPU_0: + XPfw_RMW32(CRL_APB_RST_LPD_TOP, + CRL_APB_RST_LPD_TOP_RPU_R50_RESET_MASK, + CRL_APB_RST_LPD_TOP_RPU_R50_RESET_MASK); + ret = PM_RET_SUCCESS; + break; + case NODE_RPU_1: + XPfw_RMW32(CRL_APB_RST_LPD_TOP, + CRL_APB_RST_LPD_TOP_RPU_R51_RESET_MASK, + CRL_APB_RST_LPD_TOP_RPU_R51_RESET_MASK); + ret = PM_RET_SUCCESS; + break; default: - ret = XST_SUCCESS; + ret = PM_RET_ERROR_INTERNAL; break; } diff --git a/lib/sw_apps/zynqmp_pmufw/src/xpfw_version.h b/lib/sw_apps/zynqmp_pmufw/src/xpfw_version.h index fa9b2dcc..c8135276 100644 --- a/lib/sw_apps/zynqmp_pmufw/src/xpfw_version.h +++ b/lib/sw_apps/zynqmp_pmufw/src/xpfw_version.h @@ -1,4 +1,4 @@ #ifndef ZYNQMP_XPFW_VERSION__H_ #define ZYNQMP_XPFW_VERSION__H_ - #define ZYNQMP_XPFW_VERSION "2015.1-swbeta2-28-gcb1b9c3b28ae" + #define ZYNQMP_XPFW_VERSION "2015.1-swbeta2-29-g7f18eaf0130e" #endif