]> git.baikalelectronics.ru Git - arm-tf.git/commitdiff
feat(imx8mq): correct the slot ack setting for STOP mode
authorJacky Bai <ping.bai@nxp.com>
Fri, 10 Jan 2020 09:46:31 +0000 (17:46 +0800)
committerJacky Bai <ping.bai@nxp.com>
Wed, 1 Mar 2023 02:18:03 +0000 (10:18 +0800)
A53 core's power up ack need to be used when system resume
from DSM mode.

Signed-off-by: Jacky Bai <ping.bai@nxp.com>
Change-Id: I47fb33c0582ae5f483ffaa887f95e27bd47875f7

plat/imx/imx8m/imx8mq/gpc.c
plat/imx/imx8m/include/gpc.h

index c036e1341b4a3b39a758e229d96f0cef694b7916..0a029d66c56bd701e9b04ff3e62360d2c9fa0ce1 100644 (file)
@@ -261,7 +261,7 @@ void imx_pup_pdn_slot_config(int last_core, bool pdn)
                mmio_setbits_32(IMX_GPC_BASE + SLTx_CFG(2), SLT_COREx_PUP(last_core));
                /* ACK setting: PLAT ACK for PDN, CORE ACK for PUP */
                mmio_clrsetbits_32(IMX_GPC_BASE + PGC_ACK_SEL_A53, 0xFFFFFFFF,
-                       A53_PLAT_PDN_ACK | A53_PLAT_PUP_ACK);
+                       A53_PLAT_PDN_ACK | SLT_COREx_PUP_ACK(last_core));
        } else {
                mmio_clrbits_32(IMX_GPC_BASE + SLTx_CFG(0), 0xFFFFFFFF);
                mmio_clrbits_32(IMX_GPC_BASE + SLTx_CFG(1), 0xFFFFFFFF);
index e5af4b4af775a6a4b01e0380e35683abda96633b..eb33abd6cc4702ed6be0e75b7e8f307717d31056 100644 (file)
@@ -24,6 +24,7 @@
 #define COREx_LPM_PUP(core_id)         ((core_id) < 2 ? (1 << ((core_id) * 2 + 9)) : (1 << ((core_id) * 2 + 21)))
 #define SLTx_CFG(n)                    ((SLT0_CFG + ((n) * 4)))
 #define SLT_COREx_PUP(core_id)         (0x2 << ((core_id) * 2))
+#define SLT_COREx_PUP_ACK(core_id)     ((core_id) < 2 ? (1 << ((core_id) + 16)) : (1 << ((core_id) + 27)))
 
 #define IMR_MASK_ALL   0xffffffff