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
This commit is contained in:
Jiafei Pan 2021-07-20 15:21:06 +08:00
parent 64cadc1637
commit 9616db154b
4 changed files with 26 additions and 9 deletions

View File

@ -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
}

View File

@ -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 */

View File

@ -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);

View File

@ -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