From 724ac3e2c23441d11f642f2ae91c8a8834ea179f Mon Sep 17 00:00:00 2001 From: Jacky Bai Date: Fri, 10 Jan 2020 17:46:31 +0800 Subject: [PATCH] feat(imx8mq): correct the slot ack setting for STOP mode A53 core's power up ack need to be used when system resume from DSM mode. Signed-off-by: Jacky Bai Change-Id: I47fb33c0582ae5f483ffaa887f95e27bd47875f7 --- plat/imx/imx8m/imx8mq/gpc.c | 2 +- plat/imx/imx8m/include/gpc.h | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/plat/imx/imx8m/imx8mq/gpc.c b/plat/imx/imx8m/imx8mq/gpc.c index c036e1341..0a029d66c 100644 --- a/plat/imx/imx8m/imx8mq/gpc.c +++ b/plat/imx/imx8m/imx8mq/gpc.c @@ -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); diff --git a/plat/imx/imx8m/include/gpc.h b/plat/imx/imx8m/include/gpc.h index e5af4b4af..eb33abd6c 100644 --- a/plat/imx/imx8m/include/gpc.h +++ b/plat/imx/imx8m/include/gpc.h @@ -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 -- 2.39.5