From 785ee93cc3bd9b43d88fee5acefbd131bf6f2756 Mon Sep 17 00:00:00 2001 From: Jiafei Pan Date: Fri, 18 Feb 2022 18:30:05 +0800 Subject: [PATCH] feat(layerscape): add new soc errata a009660 support Signed-off-by: Jiafei Pan Change-Id: Ice37155d971dec5c610026043e34b64f761fc1b7 --- plat/nxp/common/soc_errata/errata.c | 6 +++++- plat/nxp/common/soc_errata/errata.mk | 5 +++-- plat/nxp/common/soc_errata/errata_a009660.c | 14 ++++++++++++++ plat/nxp/common/soc_errata/errata_list.h | 6 +++++- 4 files changed, 27 insertions(+), 4 deletions(-) create mode 100644 plat/nxp/common/soc_errata/errata_a009660.c diff --git a/plat/nxp/common/soc_errata/errata.c b/plat/nxp/common/soc_errata/errata.c index a117c9165..429c74f2e 100644 --- a/plat/nxp/common/soc_errata/errata.c +++ b/plat/nxp/common/soc_errata/errata.c @@ -1,5 +1,5 @@ /* - * Copyright 2021 NXP + * Copyright 2021-2022 NXP * * SPDX-License-Identifier: BSD-3-Clause * @@ -18,6 +18,10 @@ void soc_errata(void) #ifdef ERRATA_SOC_A008850 INFO("SoC workaround for Errata A008850 Early-Phase was applied\n"); erratum_a008850_early(); +#endif +#if ERRATA_SOC_A009660 + INFO("SoC workaround for Errata A009660 was applied\n"); + erratum_a009660(); #endif /* * The following DDR Erratas workaround are implemented in DDR driver, diff --git a/plat/nxp/common/soc_errata/errata.mk b/plat/nxp/common/soc_errata/errata.mk index d2511bbb3..5eccae8c7 100644 --- a/plat/nxp/common/soc_errata/errata.mk +++ b/plat/nxp/common/soc_errata/errata.mk @@ -1,5 +1,5 @@ # -# Copyright 2021 NXP +# Copyright 2021-2022 NXP # # SPDX-License-Identifier: BSD-3-Clause # @@ -9,7 +9,8 @@ ERRATA := \ ERRATA_SOC_A050426 \ - ERRATA_SOC_A008850 + ERRATA_SOC_A008850 \ + ERRATA_SOC_A009660 define enable_errata $(1) ?= 0 diff --git a/plat/nxp/common/soc_errata/errata_a009660.c b/plat/nxp/common/soc_errata/errata_a009660.c new file mode 100644 index 000000000..d31a4d7e6 --- /dev/null +++ b/plat/nxp/common/soc_errata/errata_a009660.c @@ -0,0 +1,14 @@ +/* + * Copyright 2022 NXP + * + * SPDX-License-Identifier: BSD-3-Clause + * + */ + +#include +#include + +void erratum_a009660(void) +{ + mmio_write_32(NXP_SCFG_ADDR + 0x20c, 0x63b20042); +} diff --git a/plat/nxp/common/soc_errata/errata_list.h b/plat/nxp/common/soc_errata/errata_list.h index ae95fa203..84325fe48 100644 --- a/plat/nxp/common/soc_errata/errata_list.h +++ b/plat/nxp/common/soc_errata/errata_list.h @@ -1,5 +1,5 @@ /* - * Copyright 2021 NXP + * Copyright 2021-2022 NXP * * SPDX-License-Identifier: BSD-3-Clause * @@ -17,4 +17,8 @@ void erratum_a008850_early(void); void erratum_a008850_post(void); #endif +#ifdef ERRATA_SOC_A009660 +void erratum_a009660(void); +#endif + #endif /* ERRATA_LIST_H */