summaryrefslogtreecommitdiffstats
path: root/bsps/arm
diff options
context:
space:
mode:
authorTyler Miller <tyler.miller@airbusus.com>2023-12-21 15:16:48 +0100
committerSebastian Huber <sebastian.huber@embedded-brains.de>2024-01-15 10:33:34 +0100
commit2bbacdb557c74a513ecc6f3b2f581ac6b6344c4e (patch)
treec95fa06e1f9efde1c131ef25b045e0582759dc19 /bsps/arm
parentbsp/tms570: Add errata SSWF021#45 handling (diff)
downloadrtems-2bbacdb557c74a513ecc6f3b2f581ac6b6344c4e.tar.bz2
bsp/tms570: TMS570LC4x Errata DEVICE#60
Update #4982.
Diffstat (limited to 'bsps/arm')
-rw-r--r--bsps/arm/tms570/start/init_esm.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/bsps/arm/tms570/start/init_esm.c b/bsps/arm/tms570/start/init_esm.c
index 794bf156cb..35fd1c8eab 100644
--- a/bsps/arm/tms570/start/init_esm.c
+++ b/bsps/arm/tms570/start/init_esm.c
@@ -9,6 +9,7 @@
*/
/*
+ * Copyright (C) 2022 Airbus U.S. Space & Defense, Inc
* Copyright (C) 2016 Pavel Pisa <pisa@cmp.felk.cvut.cz>
*
* Czech Technical University in Prague
@@ -68,8 +69,12 @@ void tms570_esm_init( void )
/** - Reset error pin */
if (TMS570_ESM.EPSR == 0U) {
- TMS570_ESM.EKR = 0x00000005U;
- } else {
+ /*
+ * Per TMS570LC4x Errata DEVICE#60, the error pin cannot be cleared with a
+ * normal EKR write upon system reset. Put in diagnostic followed by
+ * normal mode instead. This sequence works also on other chip variants.
+ */
+ TMS570_ESM.EKR = 0x0000000AU;
TMS570_ESM.EKR = 0x00000000U;
}