From dfff46862f80f92133ddca41ff74517d317eb944 Mon Sep 17 00:00:00 2001 From: Yann Gautier Date: Thu, 20 May 2021 14:57:34 +0200 Subject: [PATCH] refactor(plat/arm): use SOC_ID defines Use the macros that are now defined in include/lib/smccc.h. Signed-off-by: Yann Gautier Change-Id: I688a76277b729672835d51fafb68d1d6205b6ae4 --- include/plat/arm/common/smccc_def.h | 4 +--- plat/arm/board/fvp/fvp_common.c | 10 +++++----- plat/arm/board/juno/juno_common.c | 10 +++++----- 3 files changed, 11 insertions(+), 13 deletions(-) diff --git a/include/plat/arm/common/smccc_def.h b/include/plat/arm/common/smccc_def.h index 6e698e5d2..0f4e57386 100644 --- a/include/plat/arm/common/smccc_def.h +++ b/include/plat/arm/common/smccc_def.h @@ -1,5 +1,5 @@ /* - * Copyright (c) 2020, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2020-2021, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -9,7 +9,5 @@ /* Defines used to retrieve ARM SOC revision */ #define ARM_SOC_CONTINUATION_CODE U(0x4) #define ARM_SOC_IDENTIFICATION_CODE U(0x3B) -#define ARM_SOC_CONTINUATION_SHIFT U(24) -#define ARM_SOC_IDENTIFICATION_SHIFT U(16) #endif /* SMCCC_DEF_H */ diff --git a/plat/arm/board/fvp/fvp_common.c b/plat/arm/board/fvp/fvp_common.c index 52686faca..fe0903b2a 100644 --- a/plat/arm/board/fvp/fvp_common.c +++ b/plat/arm/board/fvp/fvp_common.c @@ -483,9 +483,9 @@ int32_t plat_is_smccc_feature_available(u_register_t fid) int32_t plat_get_soc_version(void) { return (int32_t) - ((ARM_SOC_IDENTIFICATION_CODE << ARM_SOC_IDENTIFICATION_SHIFT) - | (ARM_SOC_CONTINUATION_CODE << ARM_SOC_CONTINUATION_SHIFT) - | FVP_SOC_ID); + (SOC_ID_SET_JEP_106(ARM_SOC_CONTINUATION_CODE, + ARM_SOC_IDENTIFICATION_CODE) | + (FVP_SOC_ID & SOC_ID_IMPL_DEF_MASK)); } /* Get SOC revision */ @@ -494,6 +494,6 @@ int32_t plat_get_soc_revision(void) unsigned int sys_id; sys_id = mmio_read_32(V2M_SYSREGS_BASE + V2M_SYS_ID); - return (int32_t)((sys_id >> V2M_SYS_ID_REV_SHIFT) & - V2M_SYS_ID_REV_MASK); + return (int32_t)(((sys_id >> V2M_SYS_ID_REV_SHIFT) & + V2M_SYS_ID_REV_MASK) & SOC_ID_REV_MASK); } diff --git a/plat/arm/board/juno/juno_common.c b/plat/arm/board/juno/juno_common.c index cb183d539..038f604de 100644 --- a/plat/arm/board/juno/juno_common.c +++ b/plat/arm/board/juno/juno_common.c @@ -118,9 +118,9 @@ int32_t plat_is_smccc_feature_available(u_register_t fid) int32_t plat_get_soc_version(void) { return (int32_t) - ((ARM_SOC_IDENTIFICATION_CODE << ARM_SOC_IDENTIFICATION_SHIFT) - | (ARM_SOC_CONTINUATION_CODE << ARM_SOC_CONTINUATION_SHIFT) - | JUNO_SOC_ID); + (SOC_ID_SET_JEP_106(ARM_SOC_CONTINUATION_CODE, + ARM_SOC_IDENTIFICATION_CODE) | + (JUNO_SOC_ID & SOC_ID_IMPL_DEF_MASK)); } /* Get SOC revision */ @@ -129,6 +129,6 @@ int32_t plat_get_soc_revision(void) unsigned int sys_id; sys_id = mmio_read_32(V2M_SYSREGS_BASE + V2M_SYS_ID); - return (int32_t)((sys_id >> V2M_SYS_ID_REV_SHIFT) & - V2M_SYS_ID_REV_MASK); + return (int32_t)(((sys_id >> V2M_SYS_ID_REV_SHIFT) & + V2M_SYS_ID_REV_MASK) & SOC_ID_REV_MASK); } -- GitLab