summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra/power-t2.c
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-tegra/power-t2.c')
-rw-r--r--arch/arm/mach-tegra/power-t2.c14
1 files changed, 8 insertions, 6 deletions
diff --git a/arch/arm/mach-tegra/power-t2.c b/arch/arm/mach-tegra/power-t2.c
index 25bee44d12a3..4559cb520778 100644
--- a/arch/arm/mach-tegra/power-t2.c
+++ b/arch/arm/mach-tegra/power-t2.c
@@ -50,7 +50,8 @@ NvU32 g_enterLP2PA = 0;
NvU32 g_localTimerLoadRegister, g_localTimerCntrlRegister;
NvU32 g_coreSightClock, g_currentCcbp;
volatile void *g_pPMC, *g_pAHB, *g_pCLK_RST_CONTROLLER;
-volatile void *g_pEMC, *g_pMC, *g_pAPB_MISC;
+volatile void *g_pEMC, *g_pMC, *g_pAPB_MISC, *g_pTimerus;
+volatile void *g_pIRAM;
// Chip external specific wakeup events list
static const struct wakeup_source s_WakeupSources[] =
@@ -136,7 +137,9 @@ void cpu_ap20_do_lp0(void)
//Enter low power LP0 mode
prepare_for_wb0();
shadow_lp0_scratch_regs();
+ printk("LP0: Entering...\n");
enter_power_state(POWER_STATE_LP0, 0);
+ printk("LP0: Exited...\n");
shadow_runstate_scratch_regs();
if (HasPmuProperty && PmuProperty.CombinedPowerReq)
@@ -229,12 +232,10 @@ void power_lp0_init(void)
LPStateInfo = NvOdmQueryLowestSocPowerState();
- //CPU power request must be already configured and enabled in early boot
- //by now. Leave it enabled to be ready for LP2/LP1.
+ //Enable CPU power request. Leave it enabled to be ready for LP2/LP1.
Reg = NV_PMC_REGR(g_pPMC, CNTRL);
- Reg = NV_DRF_VAL(APBDEV_PMC, CNTRL, CPUPWRREQ_OE, Reg);
- if (Reg != APBDEV_PMC_CNTRL_0_CPUPWRREQ_OE_ENABLE)
- goto fail;
+ Reg = NV_FLD_SET_DRF_DEF(APBDEV_PMC, CNTRL, CPUPWRREQ_OE, ENABLE, Reg);
+ NV_PMC_REGW(g_pPMC, CNTRL, Reg);
//If the system supports deep sleep (LP0), initialize PMC accordingly.
if (LPStateInfo->LowestPowerState == NvOdmSocPowerState_DeepSleep)
@@ -284,6 +285,7 @@ void power_lp0_init(void)
//Create the list of wakeup IRQs.
create_wakeup_irqs();
+ return;
fail:
printk("lp0 init failed!\n");
}