summaryrefslogtreecommitdiff
path: root/arch/arm/mach-imx/pm-imx7ulp.c
diff options
context:
space:
mode:
authorAnson Huang <Anson.Huang@nxp.com>2016-11-23 19:17:48 +0800
committerLeonard Crestez <leonard.crestez@nxp.com>2018-08-24 12:41:33 +0300
commit713f4b88d21d658b6b2572dcb62a206a74562c00 (patch)
treed425a1598f033ed3f866663b861a7d67dcfb8684 /arch/arm/mach-imx/pm-imx7ulp.c
parent8dd18a2c5d95a59081fabda54b12f40fdaee77da (diff)
MLK-13524 ARM: imx: enable RBB for i.mx7ulp VLPS mode
RBB needs to be enabled for VLPS mode to save power, it can save ~0.4mA on VDD_DIG1. Signed-off-by: Anson Huang <Anson.Huang@nxp.com>
Diffstat (limited to 'arch/arm/mach-imx/pm-imx7ulp.c')
-rw-r--r--arch/arm/mach-imx/pm-imx7ulp.c8
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: