From cece288ccd11dec1f6b9317af75761d8d2fbce8d Mon Sep 17 00:00:00 2001 From: Jacky Bai Date: Tue, 7 Apr 2020 15:08:03 +0800 Subject: MLK-23752 plat: imx8m: Update the src gpr used for imx8mp lpa On i.MX8MP, the SRC GPR9(0x94) is used by memory repair, so choose SRC GPR10(0x98) as the LPA status sync register. Add use '==' instead of '&' for LPA active statue check. Signed-off-by: Jacky Bai Reviewed-by: Anson Huang --- plat/imx/imx8m/gpc_common.c | 3 +-- plat/imx/imx8m/imx8mm/include/platform_def.h | 1 + plat/imx/imx8m/imx8mn/include/platform_def.h | 1 + plat/imx/imx8m/imx8mp/include/platform_def.h | 1 + 4 files changed, 4 insertions(+), 2 deletions(-) diff --git a/plat/imx/imx8m/gpc_common.c b/plat/imx/imx8m/gpc_common.c index 5c996e20..400341ce 100644 --- a/plat/imx/imx8m/gpc_common.c +++ b/plat/imx/imx8m/gpc_common.c @@ -24,7 +24,6 @@ #define M4_LPA_ACTIVE 0x5555 #define M4_LPA_IDLE 0x0 -#define LPA_STATUS U(0x94) static uint32_t gpc_imr_offset[] = { IMR1_CORE0_A53, IMR1_CORE1_A53, @@ -42,7 +41,7 @@ struct plat_gic_ctx imx_gicv3_ctx; bool imx_m4_lpa_active(void) { - return mmio_read_32(IMX_SRC_BASE + LPA_STATUS) & M4_LPA_ACTIVE; + return mmio_read_32(IMX_SRC_BASE + LPA_STATUS) == M4_LPA_ACTIVE; } bool imx_is_m4_enabled(void) diff --git a/plat/imx/imx8m/imx8mm/include/platform_def.h b/plat/imx/imx8m/imx8mm/include/platform_def.h index 61ccbed0..42b03613 100644 --- a/plat/imx/imx8m/imx8mm/include/platform_def.h +++ b/plat/imx/imx8m/imx8mm/include/platform_def.h @@ -122,6 +122,7 @@ #define SRC_SCR_M4C_NON_SCLR_RST_MASK BIT(0) #define IMX_M4_STATUS (IMX_SRC_BASE + SRC_M4RCR) #define IMX_M4_ENABLED_MASK SRC_SCR_M4C_NON_SCLR_RST_MASK +#define LPA_STATUS U(0x94) #define SNVS_LPCR U(0x38) #define SNVS_LPCR_SRTC_ENV BIT(0) diff --git a/plat/imx/imx8m/imx8mn/include/platform_def.h b/plat/imx/imx8m/imx8mn/include/platform_def.h index 2e3e0b69..967afbbe 100644 --- a/plat/imx/imx8m/imx8mn/include/platform_def.h +++ b/plat/imx/imx8m/imx8mn/include/platform_def.h @@ -128,6 +128,7 @@ #define GPR_CM7_CPUWAIT BIT(0) #define IMX_M4_STATUS (IMX_IOMUX_GPR_BASE + IOMUXC_GPR22) #define IMX_M4_ENABLED_MASK GPR_CM7_CPUWAIT +#define LPA_STATUS U(0x94) #define ANAMIX_MISC_CTL U(0x124) diff --git a/plat/imx/imx8m/imx8mp/include/platform_def.h b/plat/imx/imx8m/imx8mp/include/platform_def.h index ecbe0c5f..ce279a56 100644 --- a/plat/imx/imx8m/imx8mp/include/platform_def.h +++ b/plat/imx/imx8m/imx8mp/include/platform_def.h @@ -130,6 +130,7 @@ #define GPR_CM7_CPUWAIT BIT(0) #define IMX_M4_STATUS (IMX_IOMUX_GPR_BASE + IOMUXC_GPR22) #define IMX_M4_ENABLED_MASK GPR_CM7_CPUWAIT +#define LPA_STATUS U(0x98) #define ANAMIX_MISC_CTL U(0x124) -- cgit v1.2.3