diff options
author | Jiafei Pan <Jiafei.Pan@nxp.com> | 2021-07-20 15:21:06 +0800 |
---|---|---|
committer | Jiafei Pan <Jiafei.Pan@nxp.com> | 2021-08-25 09:53:20 +0800 |
commit | 9616db154b0be0abe27f7d267482772b54c88664 (patch) | |
tree | 09a9fa9af980a83d9343f34fa456a72786cb6dc8 /plat | |
parent | 64cadc163721ee471ab83bb89e35a7fe54d119c2 (diff) | |
download | trusted-firmware-a-9616db154b0be0abe27f7d267482772b54c88664.tar.gz |
refactor(plat/nxp): use a unified errata api
Use a unfied API soc_errata() for each platforms,
add print a INFO message for each enabled errata,
so that it will be easy to check which errata is
enabled on current platform.
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Change-Id: I5eab3f338db6b46c57cbad475819043fc60ca6d3
Diffstat (limited to 'plat')
-rw-r--r-- | plat/nxp/common/soc_errata/errata.c | 21 | ||||
-rw-r--r-- | plat/nxp/common/soc_errata/errata.h (renamed from plat/nxp/soc-lx2160a/include/errata.h) | 7 | ||||
-rw-r--r-- | plat/nxp/soc-lx2160a/soc.c | 4 | ||||
-rw-r--r-- | plat/nxp/soc-lx2160a/soc.mk | 3 |
4 files changed, 26 insertions, 9 deletions
diff --git a/plat/nxp/common/soc_errata/errata.c b/plat/nxp/common/soc_errata/errata.c index 958cb39443..194c9c82a1 100644 --- a/plat/nxp/common/soc_errata/errata.c +++ b/plat/nxp/common/soc_errata/errata.c @@ -5,10 +5,11 @@ * */ +#include <common/debug.h> #include <mmio.h> #ifdef ERRATA_SOC_A050426 -void erratum_a050426(void) +static void erratum_a050426(void) { uint32_t i, val3, val4; @@ -416,3 +417,21 @@ void erratum_a050426(void) mmio_write_32(0x700117E90, val4); } #endif /* ERRATA_SOC_A050426 */ + +void soc_errata(void) +{ +#ifdef ERRATA_SOC_A050426 + INFO("SoC workaround for Errata A050426 was applied\n"); + erratum_a050426(); +#endif + /* + * The following DDR Erratas workaround are implemented in DDR driver, + * but print information here. + */ +#if ERRATA_DDR_A011396 + INFO("SoC workaround for DDR Errata A011396 was applied\n"); +#endif +#if ERRATA_DDR_A050450 + INFO("SoC workaround for DDR Errata A050450 was applied\n"); +#endif +} diff --git a/plat/nxp/soc-lx2160a/include/errata.h b/plat/nxp/common/soc_errata/errata.h index 937824a1cf..b543b4bb96 100644 --- a/plat/nxp/soc-lx2160a/include/errata.h +++ b/plat/nxp/common/soc_errata/errata.h @@ -1,14 +1,13 @@ /* - * Copyright 2020 NXP + * Copyright 2020-2021 NXP * * SPDX-License-Identifier: BSD-3-Clause + * */ #ifndef ERRATA_H #define ERRATA_H -#ifdef ERRATA_SOC_A050426 -void erratum_a050426(void); -#endif +void soc_errata(void); #endif /* ERRATA_H */ diff --git a/plat/nxp/soc-lx2160a/soc.c b/plat/nxp/soc-lx2160a/soc.c index e0a2fe9368..5c77540a71 100644 --- a/plat/nxp/soc-lx2160a/soc.c +++ b/plat/nxp/soc-lx2160a/soc.c @@ -271,9 +271,7 @@ void soc_early_init(void) MT_DEVICE | MT_RW | MT_NS); } -#ifdef ERRATA_SOC_A050426 - erratum_a050426(); -#endif + soc_errata(); #if (TRUSTED_BOARD_BOOT) || defined(POLICY_FUSE_PROVISION) sfp_init(NXP_SFP_ADDR); diff --git a/plat/nxp/soc-lx2160a/soc.mk b/plat/nxp/soc-lx2160a/soc.mk index 35da225ce7..75a3af2949 100644 --- a/plat/nxp/soc-lx2160a/soc.mk +++ b/plat/nxp/soc-lx2160a/soc.mk @@ -99,7 +99,8 @@ $(eval $(call SET_NXP_MAKE_FLAG,DDR_FIP_IO_NEEDED,BL2)) PLAT_INCLUDES += -I${PLAT_COMMON_PATH}/include/default\ -I${BOARD_PATH}\ -I${PLAT_COMMON_PATH}/include/default/ch_${CHASSIS}\ - -I${PLAT_SOC_PATH}/include + -I${PLAT_SOC_PATH}/include\ + -I${PLAT_COMMON_PATH}/soc_errata ifeq (${SECURE_BOOT},yes) include ${PLAT_COMMON_PATH}/tbbr/tbbr.mk |