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:
parent
13e22f9eb0
commit
8703e57a32
2 changed files with 15 additions and 2 deletions
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Add table
Reference in a new issue