[rtems commit] bsp/tms570: TMS570LC4x Errata DEVICE#60

Sebastian Huber sebh at rtems.org
Mon Jan 15 09:36:31 UTC 2024


Module:    rtems
Branch:    master
Commit:    2bbacdb557c74a513ecc6f3b2f581ac6b6344c4e
Changeset: http://git.rtems.org/rtems/commit/?id=2bbacdb557c74a513ecc6f3b2f581ac6b6344c4e

Author:    Tyler Miller <tyler.miller at airbusus.com>
Date:      Thu Dec 21 15:16:48 2023 +0100

bsp/tms570: TMS570LC4x Errata DEVICE#60

Update #4982.

---

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



More information about the vc mailing list