diff options
Diffstat (limited to 'bsps')
-rw-r--r-- | bsps/arm/tms570/include/bsp/ti_herc/reg_sys.h | 10 | ||||
-rw-r--r-- | bsps/arm/tms570/start/bspstarthooks-hwinit.c | 12 |
2 files changed, 22 insertions, 0 deletions
diff --git a/bsps/arm/tms570/include/bsp/ti_herc/reg_sys.h b/bsps/arm/tms570/include/bsp/ti_herc/reg_sys.h index 2407aeac8c..d5583a1cca 100644 --- a/bsps/arm/tms570/include/bsp/ti_herc/reg_sys.h +++ b/bsps/arm/tms570/include/bsp/ti_herc/reg_sys.h @@ -629,6 +629,16 @@ typedef struct{ /* field: WDRST - Watchdog reset flag. */ #define TMS570_SYS1_SYSESR_WDRST BSP_BIT32(13) +#if TMS570_VARIANT == 4357 + +/* field: DBGRST - Debug reset flag. */ +#define TMS570_SYS1_SYSESR_DBGRST BSP_BIT32(11) + +/* field: ICSTRST - Interconnect reset flag. */ +#define TMS570_SYS1_SYSESR_ICSTRST BSP_BIT32(7) + +#endif + /* field: CPURST - CPU reset flag. This bit is set when the CPU is reset. */ #define TMS570_SYS1_SYSESR_CPURST BSP_BIT32(5) diff --git a/bsps/arm/tms570/start/bspstarthooks-hwinit.c b/bsps/arm/tms570/start/bspstarthooks-hwinit.c index f17c3bf555..4b3fe2fbbf 100644 --- a/bsps/arm/tms570/start/bspstarthooks-hwinit.c +++ b/bsps/arm/tms570/start/bspstarthooks-hwinit.c @@ -101,8 +101,20 @@ BSP_START_TEXT_SECTION void bsp_start_hook_0( void ) /*SAFETYMCUSW 5 C MR:NA <APPROVED> "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ /*SAFETYMCUSW 26 S MR:NA <APPROVED> "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ /*SAFETYMCUSW 28 D MR:NA <APPROVED> "for(;;) can be removed by adding "# if 0" and "# endif" in the user codes above and below" */ +#if TMS570_VARIANT == 4357 + /* + * During code-loading/debug-resets SR[2][4] may get set (indicates double + * ECC error in internal RAM) ignore for now as its resolved with ESM + * init/reset below. + */ + if ((TMS570_SYS1.SYSESR & TMS570_SYS1_SYSESR_DBGRST) == 0) { + for (;; ) { + } /* Wait */ + } +#else for (;; ) { } /* Wait */ +#endif } /* Initialize System - Clock, Flash settings with Efuse self check */ |