RTEMS 6.3
Loading...
Searching...
No Matches
tms570_selftest.h File Reference

This header file provides 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).
bool tms570_efc_check_self_test (void)
 EFUSE module self check Driver (HCG:checkefcSelfTest).
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.
int tms570_esm_channel_sr_get (unsigned grp, unsigned chan)
 Routine to test is specified error channel is signalling error.
void tms570_pbist_self_check (void)
 PBIST self test Driver (HCG:pbistSelfCheck).
void tms570_pbist_run (uint32_t raminfoL, uint32_t algomask)
 CPU self test Driver (HCG:pbistRun).
bool tms570_pbist_is_test_completed (void)
 Checks to see if the PBIST test is completed (HCG:pbistIsTestCompleted).
bool tms570_pbist_is_test_passed (void)
 Checks to see if the PBIST test is completed successfully (HCG:pbistIsTestPassed).
void tms570_pbist_fail (void)
 Reaction to PBIST failure (HCG:pbistFail).
void tms570_pbist_stop (void)
 Routine to stop PBIST test enabled (HCG:pbistStop).
void tms570_pbist_run_and_check (uint32_t raminfoL, uint32_t algomask)
void tms570_enable_parity (void)
 Enable peripheral RAM parity (HCG:enableParity).
void tms570_disable_parity (void)
 Disable peripheral RAM parity (HCG:disableParity).
bool tms570_efc_stuck_zero (void)
 Checks to see if the EFUSE Stuck at zero test is completed successfully (HCG:efcStuckZeroTest). /.
void tms570_efc_self_test (void)
 EFUSE module self check Driver (HCG:efcSelfTest).
bool tms570_pbist_port_test_status (uint32_t port)
 Checks to see if the PBIST Port test is completed successfully (HCG:pbistPortTestStatus).
void tms570_check_tcram_ecc (void)

Detailed Description

This header file provides 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_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_run_and_check()

void tms570_pbist_run_and_check ( uint32_t raminfoL,
uint32_t algomask )

Helper method that will run a pbist test and blocks until it finishes Reduces code duplication in start system start hooks

◆ 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.