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:
Sarat Chand Savitala 2015-10-02 00:38:14 +05:30 committed by Nava kishore Manne
parent 694c38328c
commit 0fb011dcd9

View file

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