plat: imx8mq: enable normal peripheral irq wake system

Change-Id: I43767e534f70a5f2dc5975c3af9e8e4f8b41ae47
Signed-off-by: Leonid Lobachev <leonidl@google.com>
diff --git a/plat/imx/imx8mq/gpc.c b/plat/imx/imx8mq/gpc.c
index 6b8e341..89e9352 100644
--- a/plat/imx/imx8mq/gpc.c
+++ b/plat/imx/imx8mq/gpc.c
@@ -27,7 +27,7 @@
 #define GPC_IMR2_CORE1_A53	0x44
 #define GPC_IMR3_CORE1_A53	0x48
 #define GPC_IMR4_CORE1_A53	0x4c
-#define GPC_IMR1_CORE0_M4		0x50
+#define GPC_IMR1_CORE0_M4	0x50
 #define GPC_IMR1_CORE2_A53	0x1c0
 #define GPC_IMR2_CORE2_A53	0x1c4
 #define GPC_IMR3_CORE2_A53	0x1c8
@@ -318,13 +318,13 @@
 		 * disable in LPM mode.
 		 */
 		val = mmio_read_32(IMX_GPC_BASE + LPCR_A53_BSC);
-		val |= 0xa; /* enable the C0~1 LPM */
+		val |= 0x5; /* enable the C0~1 LPM */
 		val &= ~(1 << 14); /* disable cpu clock in LPM */
 		mmio_write_32(IMX_GPC_BASE + LPCR_A53_BSC, val);
 
 		/* enable C2-3's LPM */
 		val = mmio_read_32(IMX_GPC_BASE + LPCR_A53_BSC2);
-		val |= 0xa;
+		val |= 0x5;
 		mmio_write_32(IMX_GPC_BASE + LPCR_A53_BSC2, val);
 
 		/* enable PLAT/SCU power down */
@@ -357,12 +357,12 @@
 
 		/* reverse the cluster level setting */
 		val = mmio_read_32(IMX_GPC_BASE + LPCR_A53_BSC);
-		val &= ~0xa; /* clear the C0~1 LPM */
+		val &= ~0x5; /* clear the C0~1 LPM */
 		val |= (1 << 14); /* disable cpu clock in LPM */
 		mmio_write_32(IMX_GPC_BASE + LPCR_A53_BSC, val);
 
 		val = mmio_read_32(IMX_GPC_BASE + LPCR_A53_BSC2);
-		val &= ~0xa;
+		val &= ~0x5;
 		mmio_write_32(IMX_GPC_BASE + LPCR_A53_BSC2, val);
 
 		/* clear PLAT/SCU power down */
@@ -388,13 +388,7 @@
 
 	if (retention) {
 		val |= (SLPCR_EN_DSM | SLPCR_VSTBY | SLPCR_SBYOS |
-			 SLPCR_BYPASS_PMIC_READY | SLPCR_RBC_EN);
-
-		/* DDR enter retention */
-		dram_enter_retention();
-	} else {
-		/* DDR exit retention */
-		dram_exit_retention();
+			 SLPCR_BYPASS_PMIC_READY | SLPCR_RBC_EN | SLPCR_A53_FASTWUP_WAIT);
 	}
 
 	mmio_write_32(IMX_GPC_BASE + 0x14, val);
@@ -420,6 +414,7 @@
 }
 void imx_anamix_pre_suspend()
 {
+#if 0
 	/* override PLL/OSC to let ccm control them */
 	mmio_write_32(IMX_ANAMIX_BASE + ANAMIX_HW_AUDIO_PLL1_CFG0,
 		mmio_read_32(IMX_ANAMIX_BASE + ANAMIX_HW_AUDIO_PLL1_CFG0) | 0x140000);
@@ -445,10 +440,12 @@
 		mmio_read_32(IMX_ANAMIX_BASE + ANAMIX_HW_DRAM_PLL_CFG0) | 0x140);
 	mmio_write_32(IMX_ANAMIX_BASE + ANAMIX_HW_ANAMIX_MISC_CFG,
 		mmio_read_32(IMX_ANAMIX_BASE + ANAMIX_HW_ANAMIX_MISC_CFG) | 0xa);
+#endif
 }
 
 void imx_anamix_post_resume(void)
 {
+#if 0
 	/* clear override of PLL/OSC */
 	mmio_write_32(IMX_ANAMIX_BASE + ANAMIX_HW_AUDIO_PLL1_CFG0,
 		mmio_read_32(IMX_ANAMIX_BASE + ANAMIX_HW_AUDIO_PLL1_CFG0) & ~0x140000);
@@ -474,6 +471,7 @@
 		mmio_read_32(IMX_ANAMIX_BASE + ANAMIX_HW_DRAM_PLL_CFG0) & ~0x140);
 	mmio_write_32(IMX_ANAMIX_BASE + ANAMIX_HW_ANAMIX_MISC_CFG,
 		mmio_read_32(IMX_ANAMIX_BASE + ANAMIX_HW_ANAMIX_MISC_CFG) & ~0xa);
+#endif
 }
 
 static void imx_gpc_hwirq_mask(unsigned int hwirq)