SDL API Guide for J721E

Introduction

Functions

int32_t SDL_ECC_initEsm (const SDL_ESM_Inst esmInstType)
 Initializes an module for usage with ECC module. More...
 
int32_t SDL_ECC_init (SDL_ECC_MemType eccMemType, const SDL_ECC_InitConfig_t *pECCInitConfig)
 Initializes ECC module for ECC detection. More...
 
int32_t SDL_ECC_initMemory (SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType)
 Initializes Memory to be ready for ECC error detection. Assumes ECC is already enabled. More...
 
int32_t SDL_ECC_selfTest (SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType, SDL_ECC_InjectErrorType errorType, const SDL_ECC_InjectErrorConfig_t *pECCErrorConfig, uint32_t selfTestTimeOut)
 Runs self test by injecting and error and monitor response Assumes ECC is already enabled. More...
 
int32_t SDL_ECC_injectError (SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType, SDL_ECC_InjectErrorType errorType, const SDL_ECC_InjectErrorConfig_t *pECCErrorConfig)
 Injects ECC error at specified location Assumes ECC is already enabled. More...
 
int32_t SDL_ECC_getStaticRegisters (SDL_ECC_MemType eccMemType, SDL_ECC_staticRegs *pStaticRegs)
 Gets the static registers for the specified ECC instance. More...
 
int32_t SDL_ECC_getErrorInfo (SDL_ECC_MemType eccMemType, SDL_Ecc_AggrIntrSrc intrSrc, SDL_ECC_ErrorInfo_t *pErrorInfo)
 Retrieves the ECC error information for the specified memtype and interrupt source. More...
 
int32_t SDL_ECC_ackIntr (SDL_ECC_MemType eccMemType, SDL_Ecc_AggrIntrSrc intrSrc)
 Acknowledge the ECC interrupt. More...
 
int32_t SDL_ECC_getESMErrorInfo (SDL_ESM_Inst instance, uint32_t intSrc, SDL_ECC_MemType *eccMemType, SDL_Ecc_AggrIntrSrc *intrSrcType)
 Retrieves the ECC error information for the specified ESM error. If it isn't an ECC error or the ECC error is not supported an error is returned. More...
 
int32_t SDL_ECC_clearNIntrPending (SDL_ECC_MemType eccMemType, SDL_ECC_MemSubType memSubType, SDL_Ecc_AggrIntrSrc intrSrc, SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents)
 Clears N pending interrupts for the specified memtype, subtype and interrupt source. More...
 
void SDL_ECC_registerVIMDEDHandler (SDL_ECC_VIMDEDVector_t VIMDEDHandler)
 Register Handler for VIM DED ECC error. More...
 
void SDL_ECC_applicationCallbackFunction (SDL_ECC_MemType eccMemType, uint32_t errorSrc, uint32_t address, uint32_t ramId, uint64_t bitErrorOffset, uint32_t bitErrorGroup)
 Application provided external callback function for ECC handling Called inside the reference functions when ECC errors occur. NOTE: This is application supplied and not part of the SDL If not supplied by application this will result in an linker error. More...
 

Function Documentation

◆ SDL_ECC_initEsm()

int32_t SDL_ECC_initEsm ( const SDL_ESM_Inst  esmInstType)

Initializes an module for usage with ECC module.

============================================================================*

Parameters
esmInstTypeInstance of
Returns
SDL_PASS : Success; SDL_FAIL for failures

◆ SDL_ECC_init()

int32_t SDL_ECC_init ( SDL_ECC_MemType  eccMemType,
const SDL_ECC_InitConfig_t pECCInitConfig 
)

Initializes ECC module for ECC detection.

============================================================================*

Parameters
eccMemTypeECC memory type
pECCInitConfigPointer to Ecc init configuration
Returns
SDL_PASS : Success; SDL_FAIL for failuresn

◆ SDL_ECC_initMemory()

int32_t SDL_ECC_initMemory ( SDL_ECC_MemType  eccMemType,
SDL_ECC_MemSubType  memSubType 
)

Initializes Memory to be ready for ECC error detection. Assumes ECC is already enabled.

============================================================================

Parameters
eccMemTypeECC memory type
memSubTypeMemory subtype
Returns
SDL_PASS : Success; SDL_FAIL for failures

◆ SDL_ECC_selfTest()

int32_t SDL_ECC_selfTest ( SDL_ECC_MemType  eccMemType,
SDL_ECC_MemSubType  memSubType,
SDL_ECC_InjectErrorType  errorType,
const SDL_ECC_InjectErrorConfig_t pECCErrorConfig,
uint32_t  selfTestTimeOut 
)

Runs self test by injecting and error and monitor response Assumes ECC is already enabled.

============================================================================

Parameters
eccMemTypeECC memory type
memSubTypeMemory subtype
errorTypeECC Self test type
pECCErrorConfigPointer to Error configuration
selfTestTimeOutNumber of retries before time out
Returns
SDL_PASS : Success; SDL_FAIL for failures

◆ SDL_ECC_injectError()

int32_t SDL_ECC_injectError ( SDL_ECC_MemType  eccMemType,
SDL_ECC_MemSubType  memSubType,
SDL_ECC_InjectErrorType  errorType,
const SDL_ECC_InjectErrorConfig_t pECCErrorConfig 
)

Injects ECC error at specified location Assumes ECC is already enabled.

============================================================================

Parameters
eccMemTypeECC memory type
memSubTypeMemory subtype
errorTypeECC error type
pECCErrorConfigPointer to Error configuration
Returns
SDL_PASS : Success; SDL_FAIL for failures

◆ SDL_ECC_getStaticRegisters()

int32_t SDL_ECC_getStaticRegisters ( SDL_ECC_MemType  eccMemType,
SDL_ECC_staticRegs pStaticRegs 
)

Gets the static registers for the specified ECC instance.

============================================================================

Parameters
eccMemTypeECC memory type
pStaticRegsPointer to Static registers structure
Returns
SDL_PASS : Success; SDL_FAIL for failures

◆ SDL_ECC_getErrorInfo()

int32_t SDL_ECC_getErrorInfo ( SDL_ECC_MemType  eccMemType,
SDL_Ecc_AggrIntrSrc  intrSrc,
SDL_ECC_ErrorInfo_t pErrorInfo 
)

Retrieves the ECC error information for the specified memtype and interrupt source.

============================================================================

Parameters
eccMemTypeECC memory type
intrSrcinterrupt source
pErrorInfoPointer to the Error Information
Returns
SDL_PASS : Success; SDL_FAIL for failures

◆ SDL_ECC_ackIntr()

int32_t SDL_ECC_ackIntr ( SDL_ECC_MemType  eccMemType,
SDL_Ecc_AggrIntrSrc  intrSrc 
)

Acknowledge the ECC interrupt.

============================================================================

Parameters
eccMemTypeECC memory type
intrSrcinterrupt source
Returns
SDL_PASS : Success; SDL_FAIL for failures

◆ SDL_ECC_getESMErrorInfo()

int32_t SDL_ECC_getESMErrorInfo ( SDL_ESM_Inst  instance,
uint32_t  intSrc,
SDL_ECC_MemType eccMemType,
SDL_Ecc_AggrIntrSrc intrSrcType 
)

Retrieves the ECC error information for the specified ESM error. If it isn't an ECC error or the ECC error is not supported an error is returned.

============================================================================

Parameters
instanceESM instance
intSrcESM interrupt number
eccMemTypePointer to the ECC memory type
intrSrcTypePointer to the interrupt source type
Returns
SDL_PASS : Success; SDL_FAIL for failures

◆ SDL_ECC_clearNIntrPending()

int32_t SDL_ECC_clearNIntrPending ( SDL_ECC_MemType  eccMemType,
SDL_ECC_MemSubType  memSubType,
SDL_Ecc_AggrIntrSrc  intrSrc,
SDL_Ecc_AggrEDCErrorSubType  subType,
uint32_t  numEvents 
)

Clears N pending interrupts for the specified memtype, subtype and interrupt source.

============================================================================

Parameters
eccMemTypeECC memory type
memSubTypeMemory subtype
intrSrcinterrupt source
subTypeerror subtype (valid for EDC types only)
numEventsnumber of pending interrupts to clear
Returns
SDL_PASS : Success; SDL_FAIL for failures

◆ SDL_ECC_registerVIMDEDHandler()

void SDL_ECC_registerVIMDEDHandler ( SDL_ECC_VIMDEDVector_t  VIMDEDHandler)

Register Handler for VIM DED ECC error.

============================================================================

Parameters
VIMDEDHandlerThis is function to be called when an Double bit ECC error happens on the VIM RAM. NOTE: That the regular vector load will be replaced with this registered function.
Returns
None

◆ SDL_ECC_applicationCallbackFunction()

void SDL_ECC_applicationCallbackFunction ( SDL_ECC_MemType  eccMemType,
uint32_t  errorSrc,
uint32_t  address,
uint32_t  ramId,
uint64_t  bitErrorOffset,
uint32_t  bitErrorGroup 
)

Application provided external callback function for ECC handling Called inside the reference functions when ECC errors occur. NOTE: This is application supplied and not part of the SDL If not supplied by application this will result in an linker error.

============================================================================

Parameters
eccMemTypeECC Memory Type
errorSrcError source for the ECC error event.
addressAddress at which the ECC error occurred.
ramIdRAM ID at which the ECC error occurred.
bitErrorOffsetOffset at which the ECC error occurred.
bitErrorGroupgroup checker that reported the error (Interconnect ECC type only).
Returns
None