sw_apps:zynqmp_fsbl: Power state not to be checked before sending powering up request
Currently power state of island is checked before giving corresponding power up request. This fix removes this check as this condition is false at reset and leading to the corresponding power up request not being sent. Signed-off-by: Sarat Chand Savitala <saratcha@xilinx.com> Acked-by: Krishna Chaitanya Patakamuri <kpataka@xilinx.com>
This commit is contained in:
parent
694c38328c
commit
0fb011dcd9
1 changed files with 16 additions and 27 deletions
|
@ -501,34 +501,23 @@ u32 XFsbl_PowerUpIsland(u32 PwrIslandMask)
|
|||
u32 RegVal;
|
||||
u32 Status = XFSBL_SUCCESS;
|
||||
|
||||
/* If Island not powered up yet, do it now */
|
||||
RegVal = XFsbl_In32(PMU_GLOBAL_PWR_STATE);
|
||||
if ((RegVal & PwrIslandMask) !=
|
||||
PwrIslandMask) {
|
||||
|
||||
/* There is a single island for both R5_0 and R5_1 */
|
||||
if ((PwrIslandMask & PMU_GLOBAL_PWR_STATE_R5_1_MASK) ==
|
||||
PMU_GLOBAL_PWR_STATE_R5_1_MASK) {
|
||||
PwrIslandMask &= ~(PMU_GLOBAL_PWR_STATE_R5_1_MASK);
|
||||
PwrIslandMask |= PMU_GLOBAL_PWR_STATE_R5_0_MASK;
|
||||
}
|
||||
|
||||
/* Power up request enable */
|
||||
XFsbl_Out32(PMU_GLOBAL_REQ_PWRUP_INT_EN, PwrIslandMask);
|
||||
|
||||
/* Trigger power up request */
|
||||
XFsbl_Out32(PMU_GLOBAL_REQ_PWRUP_TRIG, PwrIslandMask);
|
||||
|
||||
/* Poll for Power up complete */
|
||||
do {
|
||||
RegVal = XFsbl_In32(PMU_GLOBAL_REQ_PWRUP_STATUS) & PwrIslandMask;
|
||||
} while (RegVal != 0x0U);
|
||||
|
||||
RegVal = XFsbl_In32(PMU_GLOBAL_PWR_STATE);
|
||||
if (RegVal != PwrIslandMask) {
|
||||
Status = XFSBL_FAILURE;
|
||||
}
|
||||
/* There is a single island for both R5_0 and R5_1 */
|
||||
if ((PwrIslandMask & PMU_GLOBAL_PWR_STATE_R5_1_MASK) ==
|
||||
PMU_GLOBAL_PWR_STATE_R5_1_MASK) {
|
||||
PwrIslandMask &= ~(PMU_GLOBAL_PWR_STATE_R5_1_MASK);
|
||||
PwrIslandMask |= PMU_GLOBAL_PWR_STATE_R5_0_MASK;
|
||||
}
|
||||
|
||||
/* Power up request enable */
|
||||
XFsbl_Out32(PMU_GLOBAL_REQ_PWRUP_INT_EN, PwrIslandMask);
|
||||
|
||||
/* Trigger power up request */
|
||||
XFsbl_Out32(PMU_GLOBAL_REQ_PWRUP_TRIG, PwrIslandMask);
|
||||
|
||||
/* Poll for Power up complete */
|
||||
do {
|
||||
RegVal = XFsbl_In32(PMU_GLOBAL_REQ_PWRUP_STATUS) & PwrIslandMask;
|
||||
} while (RegVal != 0x0U);
|
||||
|
||||
return Status;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue