RTEMS 6.1-rc1
Macros | Enumerations | Functions
tms570_selftest.h File Reference

Definition of TMS570 selftest error codes, addresses and functions. More...

#include <stdint.h>
#include <stdbool.h>

Go to the source code of this file.

Macros

#define CCMSELFCHECK_FAIL1   1U
 
#define CCMSELFCHECK_FAIL2   2U
 
#define CCMSELFCHECK_FAIL3   3U
 
#define CCMSELFCHECK_FAIL4   4U
 
#define PBISTSELFCHECK_FAIL1   5U
 
#define EFCCHECK_FAIL1   6U
 
#define EFCCHECK_FAIL2   7U
 
#define FMCECCCHECK_FAIL1   8U
 
#define CHECKB0RAMECC_FAIL1   9U
 
#define CHECKB1RAMECC_FAIL1   10U
 
#define CHECKFLASHECC_FAIL1   11U
 
#define VIMPARITYCHECK_FAIL1   12U
 
#define DMAPARITYCHECK_FAIL1   13U
 
#define HET1PARITYCHECK_FAIL1   14U
 
#define HTU1PARITYCHECK_FAIL1   15U
 
#define HET2PARITYCHECK_FAIL1   16U
 
#define HTU2PARITYCHECK_FAIL1   17U
 
#define ADC1PARITYCHECK_FAIL1   18U
 
#define ADC2PARITYCHECK_FAIL1   19U
 
#define CAN1PARITYCHECK_FAIL1   20U
 
#define CAN2PARITYCHECK_FAIL1   21U
 
#define CAN3PARITYCHECK_FAIL1   22U
 
#define MIBSPI1PARITYCHECK_FAIL1   23U
 
#define MIBSPI3PARITYCHECK_FAIL1   24U
 
#define MIBSPI5PARITYCHECK_FAIL1   25U
 
#define CHECKRAMECC_FAIL1   26U
 
#define CHECKRAMECC_FAIL2   27U
 
#define CHECKCLOCKMONITOR_FAIL1   28U
 
#define CHECKFLASHEEPROMECC_FAIL1   29U
 
#define CHECKFLASHEEPROMECC_FAIL2   31U
 
#define CHECKFLASHEEPROMECC_FAIL3   32U
 
#define CHECKFLASHEEPROMECC_FAIL4   33U
 
#define CHECKPLL1SLIP_FAIL1   34U
 
#define CHECKRAMADDRPARITY_FAIL1   35U
 
#define CHECKRAMADDRPARITY_FAIL2   36U
 
#define CHECKRAMUERRTEST_FAIL1   37U
 
#define CHECKRAMUERRTEST_FAIL2   38U
 
#define FMCBUS1PARITYCHECK_FAIL1   39U
 
#define FMCBUS1PARITYCHECK_FAIL2   40U
 
#define PBISTSELFCHECK_FAIL2   41U
 
#define PBISTSELFCHECK_FAIL3   42U
 
#define PBIST_ROM_PBIST_RAM_GROUP   1U
 
#define STC_ROM_PBIST_RAM_GROUP   2U
 
#define VIMRAMLOC   (*(volatile uint32_t *)0xFFF82000U)
 
#define VIMRAMPARLOC   (*(volatile uint32_t *)0xFFF82400U)
 
#define NHET1RAMPARLOC   (*(volatile uint32_t *)0xFF462000U)
 
#define NHET2RAMPARLOC   (*(volatile uint32_t *)0xFF442000U)
 
#define adcPARRAM1   (*(volatile uint32_t *)(0xFF3E0000U + 0x1000U))
 
#define adcPARRAM2   (*(volatile uint32_t *)(0xFF3A0000U + 0x1000U))
 
#define canPARRAM1   (*(volatile uint32_t *)(0xFF1E0000U + 0x10U))
 
#define canPARRAM2   (*(volatile uint32_t *)(0xFF1C0000U + 0x10U))
 
#define canPARRAM3   (*(volatile uint32_t *)(0xFF1A0000U + 0x10U))
 
#define HTU1PARLOC   (*(volatile uint32_t *)0xFF4E0200U)
 
#define HTU2PARLOC   (*(volatile uint32_t *)0xFF4C0200U)
 
#define NHET1RAMLOC   (*(volatile uint32_t *)0xFF460000U)
 
#define NHET2RAMLOC   (*(volatile uint32_t *)0xFF440000U)
 
#define HTU1RAMLOC   (*(volatile uint32_t *)0xFF4E0000U)
 
#define HTU2RAMLOC   (*(volatile uint32_t *)0xFF4C0000U)
 
#define adcRAM1   (*(volatile uint32_t *)0xFF3E0000U)
 
#define adcRAM2   (*(volatile uint32_t *)0xFF3A0000U)
 
#define canRAM1   (*(volatile uint32_t *)0xFF1E0000U)
 
#define canRAM2   (*(volatile uint32_t *)0xFF1C0000U)
 
#define canRAM3   (*(volatile uint32_t *)0xFF1A0000U)
 
#define DMARAMPARLOC   (*(volatile uint32_t *)(0xFFF80A00U))
 
#define DMARAMLOC   (*(volatile uint32_t *)(0xFFF80000U))
 
#define MIBSPI1RAMLOC   (*(volatile uint32_t *)(0xFF0E0000U))
 
#define MIBSPI3RAMLOC   (*(volatile uint32_t *)(0xFF0C0000U))
 
#define MIBSPI5RAMLOC   (*(volatile uint32_t *)(0xFF0A0000U))
 
#define mibspiPARRAM1   (*(volatile uint32_t *)(0xFF0E0000U + 0x00000400U))
 
#define mibspiPARRAM3   (*(volatile uint32_t *)(0xFF0C0000U + 0x00000400U))
 
#define mibspiPARRAM5   (*(volatile uint32_t *)(0xFF0A0000U + 0x00000400U))
 

Enumerations

enum  pbistPort { PBIST_PORT0 = 0U , PBIST_PORT1 = 1U }
 Alias names for pbist Port number. More...
 
enum  { PBIST_TripleReadSlow = 0x00000001U , PBIST_TripleReadFast = 0x00000002U , PBIST_March13N_DP = 0x00000004U }
 

Functions

uint32_t tms570_efc_check (void)
 EFUSE module self check Driver (HCG:efcCheck) More...
 
bool tms570_efc_check_self_test (void)
 EFUSE module self check Driver (HCG:checkefcSelfTest) More...
 
void bsp_selftest_fail_notification (uint32_t flag)
 
void tms570_memory_port0_fail_notification (uint32_t groupSelect, uint32_t dataSelect, uint32_t address, uint32_t data)
 
void tms570_esm_channel_sr_clear (unsigned grp, unsigned chan)
 Routine to clear specified error channel signalling bit. More...
 
int tms570_esm_channel_sr_get (unsigned grp, unsigned chan)
 Routine to test is specified error channel is signalling error. More...
 
void tms570_pbist_self_check (void)
 PBIST self test Driver (HCG:pbistSelfCheck) More...
 
void tms570_pbist_run (uint32_t raminfoL, uint32_t algomask)
 CPU self test Driver (HCG:pbistRun) More...
 
bool tms570_pbist_is_test_completed (void)
 Checks to see if the PBIST test is completed (HCG:pbistIsTestCompleted) More...
 
bool tms570_pbist_is_test_passed (void)
 Checks to see if the PBIST test is completed successfully (HCG:pbistIsTestPassed) More...
 
void tms570_pbist_fail (void)
 Reaction to PBIST failure (HCG:pbistFail) More...
 
void tms570_pbist_stop (void)
 Routine to stop PBIST test enabled (HCG:pbistStop) More...
 
void tms570_enable_parity (void)
 Enable peripheral RAM parity (HCG:enableParity) More...
 
void tms570_disable_parity (void)
 Disable peripheral RAM parity (HCG:disableParity) More...
 
bool tms570_efc_stuck_zero (void)
 Checks to see if the EFUSE Stuck at zero test is completed successfully (HCG:efcStuckZeroTest). /. More...
 
void tms570_efc_self_test (void)
 EFUSE module self check Driver (HCG:efcSelfTest) More...
 
bool tms570_pbist_port_test_status (uint32_t port)
 Checks to see if the PBIST Port test is completed successfully (HCG:pbistPortTestStatus) More...
 
void tms570_check_tcram_ecc (void)
 Check TCRAM ECC error detection logic (HCG:checkRAMECC) More...
 

Detailed Description

Definition of TMS570 selftest error codes, addresses and functions.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
PBIST_TripleReadSlow 

TRIPLE_READ_SLOW_READ for PBIST and STC ROM

PBIST_TripleReadFast 

TRIPLE_READ_SLOW_READ for PBIST and STC ROM

PBIST_March13N_DP 

March13 N Algo for 2 Port mem

◆ pbistPort

enum pbistPort

Alias names for pbist Port number.

This enumeration is used to provide alias names for the pbist Port number

  • PBIST_PORT0
  • PBIST_PORT1

@Note Check the datasheet for the port avaiability

Enumerator
PBIST_PORT0 

Alias for PBIST Port 0

PBIST_PORT1 

Alias for PBIST Port 1 < Check datasheet for Port 1 availability >

Function Documentation

◆ tms570_check_tcram_ecc()

void tms570_check_tcram_ecc ( void  )

Check TCRAM ECC error detection logic (HCG:checkRAMECC)

This function checks TCRAM ECC error detection and correction logic. The function does not return in case of TCRAM error. It calls bsp_selftest_fail_notification() instead.

◆ tms570_disable_parity()

void tms570_disable_parity ( void  )

Disable peripheral RAM parity (HCG:disableParity)

This function disables RAM parity for all peripherals for which RAM parity check is enabled. This function is called after memoryInit in the startup

◆ tms570_efc_check()

uint32_t tms570_efc_check ( void  )

EFUSE module self check Driver (HCG:efcCheck)

Returns
Returns 0 if no error was detected during autoload and Stuck At Zero Test passed 1 if no error was detected during autoload but Stuck At Zero Test failed 2 if there was a single-bit error detected during autoload 3 if some other error occurred during autoload

This function self checks the EFUSE module.

◆ tms570_efc_check_self_test()

bool tms570_efc_check_self_test ( void  )

EFUSE module self check Driver (HCG:checkefcSelfTest)

Returns
Returns TRUE if EFC Selftest was a PASS, else FALSE

This function returns the status of efcSelfTest. Note: This function can be called only after calling efcSelfTest

◆ tms570_efc_self_test()

void tms570_efc_self_test ( void  )

EFUSE module self check Driver (HCG:efcSelfTest)

This function self checks the EFSUE module.

◆ tms570_efc_stuck_zero()

bool tms570_efc_stuck_zero ( void  )

Checks to see if the EFUSE Stuck at zero test is completed successfully (HCG:efcStuckZeroTest). /.

Returns
1 if EFUSE Stuck at zero test completed, otherwise 0.

Checks to see if the EFUSE Stuck at zero test is completed successfully.

◆ tms570_enable_parity()

void tms570_enable_parity ( void  )

Enable peripheral RAM parity (HCG:enableParity)

This function enables RAM parity for all peripherals for which RAM parity check is enabled. This function is called before memoryInit in the startup

◆ tms570_esm_channel_sr_clear()

void tms570_esm_channel_sr_clear ( unsigned  grp,
unsigned  chan 
)

Routine to clear specified error channel signalling bit.

Parameters
[in]grp- ESM error channels group
[in]chan- ESM error channel number inside specified group

◆ tms570_esm_channel_sr_get()

int tms570_esm_channel_sr_get ( unsigned  grp,
unsigned  chan 
)

Routine to test is specified error channel is signalling error.

tms570_esm_channel_sr_get

Parameters
[in]grp- ESM error channels group
[in]chan- ESM error channel number inside specified group

◆ tms570_pbist_fail()

void tms570_pbist_fail ( void  )

Reaction to PBIST failure (HCG:pbistFail)

Returns
Void.

◆ tms570_pbist_is_test_completed()

bool tms570_pbist_is_test_completed ( void  )

Checks to see if the PBIST test is completed (HCG:pbistIsTestCompleted)

Returns
1 if PBIST test completed, otherwise 0.

Checks to see if the PBIST test is completed.

◆ tms570_pbist_is_test_passed()

bool tms570_pbist_is_test_passed ( void  )

Checks to see if the PBIST test is completed successfully (HCG:pbistIsTestPassed)

Returns
1 if PBIST test passed, otherwise 0.

Checks to see if the PBIST test is completed successfully.

◆ tms570_pbist_port_test_status()

bool tms570_pbist_port_test_status ( uint32_t  port)

Checks to see if the PBIST Port test is completed successfully (HCG:pbistPortTestStatus)

Parameters
[in]port- Select the port to get the status.
Returns
1 if PBIST Port test completed successfully, otherwise 0.

Checks to see if the selected PBIST Port test is completed successfully.

◆ tms570_pbist_run()

void tms570_pbist_run ( uint32_t  raminfoL,
uint32_t  algomask 
)

CPU self test Driver (HCG:pbistRun)

Parameters
[in]raminfoL- Select the list of RAM to be tested.
[in]algomask- Select the list of Algorithm to be run.

This function performs Memory Built-in Self test using PBIST module.

◆ tms570_pbist_self_check()

void tms570_pbist_self_check ( void  )

PBIST self test Driver (HCG:pbistSelfCheck)

This function is called to perform PBIST self test.

◆ tms570_pbist_stop()

void tms570_pbist_stop ( void  )

Routine to stop PBIST test enabled (HCG:pbistStop)

This function is called to stop PBIST after test is performed.