[PATCH 30/47] bsp/tms570: TMS570LC4x Errata DEVICE#60

Sebastian Huber sebastian.huber at embedded-brains.de
Thu Dec 21 14:38:03 UTC 2023


From: Tyler Miller <tyler.miller at airbusus.com>

---
 bsps/arm/tms570/start/init_esm.c | 9 +++++++--
 1 file 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 at 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;
   }
 
-- 
2.35.3



More information about the devel mailing list