PMUFW: PM: pm_proc: added RPU0..1 processor's sleep (reset assert)

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 <mirela.simonovic@aggios.com>
Acked-by: Sören Brinkmann <soren.brinkmann@xilinx.com>
This commit is contained in:
Mirela Simonovic 2015-03-03 17:55:58 +01:00 committed by Nava kishore Manne
parent 13e22f9eb0
commit 8703e57a32
2 changed files with 15 additions and 2 deletions

View file

@ -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;
}

View file

@ -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