diff options
Diffstat (limited to 'arch/arm')
-rw-r--r-- | arch/arm/mach-imx/pm-imx7ulp.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/arm/mach-imx/pm-imx7ulp.c b/arch/arm/mach-imx/pm-imx7ulp.c index fb8b0d88e4db..bdf3a637dd05 100644 --- a/arch/arm/mach-imx/pm-imx7ulp.c +++ b/arch/arm/mach-imx/pm-imx7ulp.c @@ -70,6 +70,8 @@ #define BM_PMCTRL_RUNM (3 << 8) #define BM_PMCTRL_STOPM (7 << 0) +#define BM_VLPS_RBBEN (1 << 28) + #define BM_CTRL_LDOEN (1 << 31) #define BM_CTRL_LDOOKDIS (1 << 30) @@ -420,10 +422,16 @@ static int imx7ulp_pm_enter(suspend_state_t state) switch (state) { case PM_SUSPEND_STANDBY: imx7ulp_set_lpm(VLPS); + writel_relaxed( + readl_relaxed(pmc1_base + PMC_VLPS) | BM_VLPS_RBBEN, + pmc1_base + PMC_VLPS); /* Zzz ... */ cpu_suspend(0, imx7ulp_suspend_finish); + writel_relaxed( + readl_relaxed(pmc1_base + PMC_VLPS) & ~BM_VLPS_RBBEN, + pmc1_base + PMC_VLPS); imx7ulp_set_lpm(RUN); break; case PM_SUSPEND_MEM: |