aboutsummaryrefslogtreecommitdiff
path: root/plat
diff options
context:
space:
mode:
authorJiafei Pan <Jiafei.Pan@nxp.com>2021-07-20 15:21:06 +0800
committerJiafei Pan <Jiafei.Pan@nxp.com>2021-08-25 09:53:20 +0800
commit9616db154b0be0abe27f7d267482772b54c88664 (patch)
tree09a9fa9af980a83d9343f34fa456a72786cb6dc8 /plat
parent64cadc163721ee471ab83bb89e35a7fe54d119c2 (diff)
downloadtrusted-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.c21
-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.c4
-rw-r--r--plat/nxp/soc-lx2160a/soc.mk3
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