AM263x MCU+ SDK  09.02.00
ECC_AGGR Functions

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_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...
 
int32_t SDL_ECC_tpccParity (SDL_ECC_MemType eccMemType, uint32_t bitValue, uint32_t paramregvalue, uint32_t regval)
 Injects TPCC Parity error. More...
 
int32_t SDL_ecc_aggrGetRevision (const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t *pRev)
 
int32_t SDL_ecc_aggrGetNumRams (const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t *pNumRams)
 
int32_t SDL_ecc_aggrReadEccRamReg (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t *pRegVal)
 
int32_t SDL_ecc_aggrReadEccRamWrapRevReg (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal)
 
int32_t SDL_ecc_aggrReadEccRamCtrlReg (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal)
 
int32_t SDL_ecc_aggrReadEccRamErrCtrlReg (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal)
 
int32_t SDL_ecc_aggrReadEccRamErrStatReg (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal)
 
int32_t SDL_ecc_aggrWriteEccRamReg (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t val)
 
int32_t SDL_ecc_aggrWriteEccRamCtrlReg (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t val)
 
int32_t SDL_ecc_aggrWriteEccRamErrCtrlReg (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val)
 
int32_t SDL_ecc_aggrWriteEccRamErrStatReg (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val)
 
int32_t SDL_ecc_aggrConfigEccRam (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEnable, bool bEccCheck, bool bEnableRMW)
 
int32_t SDL_ecc_aggrVerifyConfigEccRam (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEnable, bool bEccCheck, bool bEnableRMW)
 
int32_t SDL_ecc_aggrGetEccRamErrorStatus (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrEccRamErrorStatusInfo *pEccErrorStatus)
 
int32_t SDL_ecc_aggrForceEccRamError (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, const SDL_Ecc_AggrErrorInfo *pEccForceError)
 
int32_t SDL_ecc_aggrAckIntr (SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
 
int32_t SDL_ecc_aggrIsEccRamIntrPending (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
 
int32_t SDL_ecc_aggrSetEccRamIntrPending (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
 
int32_t SDL_ecc_aggrSetEccRamNIntrPending (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents)
 
int32_t SDL_ecc_aggrClrEccRamIntrPending (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
 
int32_t SDL_ecc_aggrClrEccRamNIntrPending (SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents)
 
int32_t SDL_ecc_aggrIsIntrPending (const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
 
int32_t SDL_ecc_aggrIsAnyIntrPending (const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool *pIsPend)
 
int32_t SDL_ecc_aggrEnableIntr (const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
 
int32_t SDL_ecc_aggrDisableIntr (const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
 
int32_t SDL_ecc_aggrEnableAllIntr (const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId)
 
int32_t SDL_ecc_aggrDisableAllIntr (const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId)
 
int32_t SDL_ecc_aggrEnableIntrs (const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
 
int32_t SDL_ecc_aggrDisableIntrs (const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
 
int32_t SDL_ecc_aggrEnableAllIntrs (const SDL_ecc_aggrRegs *pEccAggrRegs)
 
int32_t SDL_ecc_aggrDisableAllIntrs (const SDL_ecc_aggrRegs *pEccAggrRegs)
 
int32_t SDL_ecc_aggrReadStaticRegs (SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ECC_staticRegs *pEccAggrStaticRegs)
 
int32_t SDL_ecc_aggrIntrEnableCtrl (SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrEnableCtrl *pEnableCtrl)
 
int32_t SDL_ecc_aggrIntrStatusCtrl (SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrStatusCtrl *pStatusCtrl)
 
int32_t SDL_ecc_aggrIntrGetStatus (const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ecc_aggrStatusCtrl *pStatusCtrl)
 

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_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).

◆ SDL_ECC_tpccParity()

int32_t SDL_ECC_tpccParity ( SDL_ECC_MemType  eccMemType,
uint32_t  bitValue,
uint32_t  paramregvalue,
uint32_t  regval 
)

Injects TPCC Parity error.

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

Parameters
eccMemTypeMemory type for ECC AGGR
bitValue: Bit Value to set particular register
paramregvalueselect param register
regval: value to be written into param register
Returns
SDL_PASS : Success; SDL_EFAIL for failures

◆ SDL_ecc_aggrGetRevision()

int32_t SDL_ecc_aggrGetRevision ( const SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t *  pRev 
)


SDL_ecc_aggrGetRevision

Description
This function returns the revision information for the ECC Aggregator

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
pRev A pointer (of type uint32_t) to hold the rev ID value of the ECC Aggregator module Revision information. See design specification for details.

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrGetNumRams()

int32_t SDL_ecc_aggrGetNumRams ( const SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t *  pNumRams 
)


SDL_ecc_aggrGetNumRams

Description
This function returns the number of RAMs serviced by this ECC Aggregator

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
pNumRams A pointer (of type uint32_t) to hold the value of number of RAMs serviced by this ECC Aggregator

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrReadEccRamReg()

int32_t SDL_ecc_aggrReadEccRamReg ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
uint32_t  regOffset,
uint32_t *  pRegVal 
)


SDL_ecc_aggrReadEccRamReg

Description
This function reads the specified ECC wrapper register from the specific ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
regOffset Byte offset of the ECC wrapper register to read (must be in the range of 0x10..0x24)
pRegVal A pointer (of uint32_t) to hold the value of the specified ECC wrapper register

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the arguments such as ramId and/or regOffset are invalid

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrReadEccRamWrapRevReg()

int32_t SDL_ecc_aggrReadEccRamWrapRevReg ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
uint32_t *  pRegVal 
)


SDL_ecc_aggrReadEccRamWrapRevReg

Description
This function reads the ECC wrapper revision register from the specific ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)


pRegVal A pointer (of type uint32_t) to hold the value of the ECC wrapper revision register

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrReadEccRamCtrlReg()

int32_t SDL_ecc_aggrReadEccRamCtrlReg ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
uint32_t *  pRegVal 
)


SDL_ecc_aggrReadEccRamCtrlReg

Description
This function reads the specified ECC wrapper control register from the specific ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)


pRegVal A pointer (of type uint32_t) to hold the value of the ECC control register

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrReadEccRamErrCtrlReg()

int32_t SDL_ecc_aggrReadEccRamErrCtrlReg ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
uint32_t  instSelect,
uint32_t *  pRegVal 
)


SDL_ecc_aggrReadEccRamErrCtrlReg

Description
This function reads the specified ECC wrapper error control register from the specific ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
instSelect Instance selector (0..1) of the specified register to read


pRegVal A pointer (of type uint32_t) to hold the value of the ECC Error control register

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

◆ SDL_ecc_aggrReadEccRamErrStatReg()

int32_t SDL_ecc_aggrReadEccRamErrStatReg ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
uint32_t  instSelect,
uint32_t *  pRegVal 
)


SDL_ecc_aggrReadEccRamErrStatReg

Description
This function reads the specified ECC wrapper error status register from the specific ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
instSelect Instance selector (0..1) of the specified register to read


pRegVal A pointer (of type uint32_t) to hold the value of the ECC error status register

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

◆ SDL_ecc_aggrWriteEccRamReg()

int32_t SDL_ecc_aggrWriteEccRamReg ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
uint32_t  regOffset,
uint32_t  val 
)


SDL_ecc_aggrWriteEccRamReg

Description
This function writes a value into the specified ECC wrapper register in the specific ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
regOffset Byte offset of the ECC wrapper register to write (must be in the range of 0x10..0x24)
val The 32-bit value to write into the register

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrWriteEccRamCtrlReg()

int32_t SDL_ecc_aggrWriteEccRamCtrlReg ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
uint32_t  val 
)


SDL_ecc_aggrWriteEccRamCtrlReg

Description
This function write a value into the ECC wrapper control register in the specific ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
val The 32-bit value to write into the register

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrWriteEccRamErrCtrlReg()

int32_t SDL_ecc_aggrWriteEccRamErrCtrlReg ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
uint32_t  instSelect,
uint32_t  val 
)


SDL_ecc_aggrWriteEccRamErrCtrlReg

Description
This function writes a value into the specified ECC wrapper error control register in the specific ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
instSelect Instance selector (0..1) of the specified register to write
val The 32-bit value to write into the register

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrWriteEccRamErrStatReg()

int32_t SDL_ecc_aggrWriteEccRamErrStatReg ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
uint32_t  instSelect,
uint32_t  val 
)


SDL_ecc_aggrWriteEccRamErrStatReg

Description
This function write a value into the specified ECC wrapper error status register in the specific ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
instSelect Instance selector (0..1) of the specified register to write
val The 32-bit value to write into the register

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrConfigEccRam()

int32_t SDL_ecc_aggrConfigEccRam ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
bool  bEnable,
bool  bEccCheck,
bool  bEnableRMW 
)


SDL_ecc_aggrConfigEccRam

Description
This function is used to configure the ECC capabilities of the specified ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
bEnable If true, then enable ECC generation. ECC is completely bypassed if both fEnable and fEccCheck are 0.
bEccCheck If true, then enable ECC check. ECC is completely bypassed if both fEnable and fEccCheck are 0.
bfEnableRMW If true, then enable read-modify-write on partial word writes

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrVerifyConfigEccRam()

int32_t SDL_ecc_aggrVerifyConfigEccRam ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
bool  bEnable,
bool  bEccCheck,
bool  bEnableRMW 
)


SDL_ecc_aggrVerifyConfigEccRam

Description
This function is used to verify the configure the ECC capabilities of the specified ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
bEnable If true, then enable ECC generation. ECC is completely bypassed if both fEnable and fEccCheck are 0.
bEccCheck If true, then enable ECC check. ECC is completely bypassed if both fEnable and fEccCheck are 0.
bfEnableRMW If true, then enable read-modify-write on partial word writes

Return Value
SDL_PASS Success, indicates the configuration is successful
SDL_EFAIL Failure, indicates the expected configuration failed
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
SDL_ecc_aggrConfigEccRam() is called previously with the same arguments

Post Condition
None

◆ SDL_ecc_aggrGetEccRamErrorStatus()

int32_t SDL_ecc_aggrGetEccRamErrorStatus ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
SDL_Ecc_AggrEccRamErrorStatusInfo pEccErrorStatus 
)


SDL_ecc_aggrGetEccRamErrorStatus

Description
This function is used to get the error status of the specified ECC Wrapper type RAM id

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
pEccErrorStatus A pointer to a SDL_Ecc_AggrEccRamErrorStatusInfo structure containing returned error information

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrForceEccRamError()

int32_t SDL_ecc_aggrForceEccRamError ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
const SDL_Ecc_AggrErrorInfo pEccForceError 
)


SDL_ecc_aggrForceEccRamError

Description
This function is used to force an ECC error on the specified ECC Wrapper type RAM id

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
pEccForceError A pointer to a SDL_Ecc_AggrErrorInfo structure containing force error information

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrAckIntr()

int32_t SDL_ecc_aggrAckIntr ( SDL_ecc_aggrRegs pEccAggrRegs,
SDL_Ecc_AggrIntrSrc  intrSrc 
)


SDL_ecc_aggrAckIntr

Description
This function is used to acknowledged a pending interrupt and to send the next interrupt to the host

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT or SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT) to acknowledge

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrIsEccRamIntrPending()

int32_t SDL_ecc_aggrIsEccRamIntrPending ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
SDL_Ecc_AggrIntrSrc  intrSrc,
bool *  pIsPend 
)


SDL_ecc_aggrIsEccRamIntrPending

Description
This function returns the pending interrupt status of the specified interrupt source from the specified ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT, SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT, or SDL_ECC_ADDR_ERROR_TYPE_SUCCESSIVE_SINGLE_BITS)


pIsPend A Pointer (of type bool) to hold the state as below true An interrupt of the specified type is pending false An interrupt of the specified type is not pending, or the ramId and/or intrSrc arguments are invalid

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrSetEccRamIntrPending()

int32_t SDL_ecc_aggrSetEccRamIntrPending ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
SDL_Ecc_AggrIntrSrc  intrSrc 
)


SDL_ecc_aggrSetEccRamIntrPending

Description
This function is used to forceably set the pending status of the specified interrupt source on the specified ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT, SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT, or SDL_ECC_ADDR_ERROR_TYPE_SUCCESSIVE_SINGLE_BITS)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrSetEccRamNIntrPending()

int32_t SDL_ecc_aggrSetEccRamNIntrPending ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
SDL_Ecc_AggrIntrSrc  intrSrc,
uint32_t  numEvents 
)


SDL_ecc_aggrSetEccRamNIntrPending

Description
This function is used to forceably set the pending status of the specified interrupt source on the specified ECC RAM Note that multiple events can be triggerred in one call.

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT, SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT, or SDL_ECC_ADDR_ERROR_TYPE_SUCCESSIVE_SINGLE_BITS)
numEvents 1 - 3 are valid number of events to set; 0 or > 3 invalid.

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrClrEccRamIntrPending()

int32_t SDL_ecc_aggrClrEccRamIntrPending ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
SDL_Ecc_AggrIntrSrc  intrSrc 
)


SDL_ecc_aggrClrEccRamIntrPending

Description
This function is used to clear the pending status of the specified interrupt source on the specified ECC RAM

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT, SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT, or SDL_ECC_ADDR_ERROR_TYPE_SUCCESSIVE_SINGLE_BITS)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrClrEccRamNIntrPending()

int32_t SDL_ecc_aggrClrEccRamNIntrPending ( SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
SDL_Ecc_AggrIntrSrc  intrSrc,
uint32_t  numEvents 
)


SDL_ecc_aggrClrEccRamIntrPending

Description
This function is used to clear the pending status of the specified interrupt source on the specified ECC RAM Note that multiple events can be cleared in one call.

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT, SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT, or SDL_ECC_ADDR_ERROR_TYPE_SUCCESSIVE_SINGLE_BITS)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrIsIntrPending()

int32_t SDL_ecc_aggrIsIntrPending ( const SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
SDL_Ecc_AggrIntrSrc  intrSrc,
bool *  pIsPend 
)


SDL_ecc_aggrIsIntrPending

Description
This function returns the pending interrupt status for the specified ECC interrupt source from the ECC RAM specified by ramId.

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT or SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT; valid only for the SDL_ecc_aggrIsIntrPending function)


pIsPend A pointer (of type bool) to hold the status as below true An interrupt of the specified type is pending false An interrupt of the specified type is not pending, or the ramId and/or intrSrc arguments are invalid

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrIsAnyIntrPending()

int32_t SDL_ecc_aggrIsAnyIntrPending ( const SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
bool *  pIsPend 
)


SDL_ecc_aggrIsAnyIntrPending

Description
This function returns the pending interrupt status for any interrupt source from the ECC RAM specified by ramId.

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrEnableIntr()

int32_t SDL_ecc_aggrEnableIntr ( const SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
SDL_Ecc_AggrIntrSrc  intrSrc 
)


SDL_ecc_aggrEnableIntr

Description
This function enables the interrupt for the specified interrupt source on the RAM specified by ramId

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT or SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrDisableIntr()

int32_t SDL_ecc_aggrDisableIntr ( const SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId,
SDL_Ecc_AggrIntrSrc  intrSrc 
)


SDL_ecc_aggrDisableIntr

Description
This function disables the interrupt for the specified interrupt source on the RAM specified by ramId

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT or SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicate the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrEnableAllIntr()

int32_t SDL_ecc_aggrEnableAllIntr ( const SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId 
)


SDL_ecc_aggrEnableAllIntr

Description
This function enables the interrupts for all of the available interrupt sources on the RAM specified by ramId

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrDisableAllIntr()

int32_t SDL_ecc_aggrDisableAllIntr ( const SDL_ecc_aggrRegs pEccAggrRegs,
uint32_t  ramId 
)


SDL_ecc_aggrDisableAllIntr

Description
This function disables the interrupts for all of the available interrupt sources on the RAM specified by ramId

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
ramId RAM identifier (0..SDL_ecc_aggrGetNumRams()-1)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrEnableIntrs()

int32_t SDL_ecc_aggrEnableIntrs ( const SDL_ecc_aggrRegs pEccAggrRegs,
SDL_Ecc_AggrIntrSrc  intrSrc 
)


SDL_ecc_aggrEnableIntrs

Description
This function enables the interrupt for the specified interrupt source on all ECC RAMs serviced by this aggregator

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT or SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrDisableIntrs()

int32_t SDL_ecc_aggrDisableIntrs ( const SDL_ecc_aggrRegs pEccAggrRegs,
SDL_Ecc_AggrIntrSrc  intrSrc 
)


SDL_ecc_aggrDisableIntrs

Description
This function disables the interrupts for the specified interrupt source on all ECC RAMs serviced by this aggregator

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
intrSrc The interrupt source (SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT or SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT)

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrEnableAllIntrs()

int32_t SDL_ecc_aggrEnableAllIntrs ( const SDL_ecc_aggrRegs pEccAggrRegs)


SDL_ecc_aggrEnableAllIntrs

Description
This function enables the interrupts for all of the available interrupt sources on all ECC RAMs serviced by this aggregator

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrDisableAllIntrs()

int32_t SDL_ecc_aggrDisableAllIntrs ( const SDL_ecc_aggrRegs pEccAggrRegs)


SDL_ecc_aggrDisableAllIntrs

Description
This function disables the interrupts for all of the available interrupt sources on all ECC RAMs serviced by this aggregator

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrReadStaticRegs()

int32_t SDL_ecc_aggrReadStaticRegs ( SDL_ecc_aggrRegs pEccAggrRegs,
SDL_ECC_staticRegs pEccAggrStaticRegs 
)


SDL_ecc_aggrReadStaticRegs

Description
This function reads the static registers for ECC aggregator

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
pEccAggrStaticRegs A pointer (of type SDL_ECC_staticRegs*) to hold the static register values

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrIntrEnableCtrl()

int32_t SDL_ecc_aggrIntrEnableCtrl ( SDL_ecc_aggrRegs pEccAggrRegs,
const SDL_ecc_aggrEnableCtrl pEnableCtrl 
)


SDL_ecc_aggrIntrEnableCtrl

Description
This function reads the static registers for ECC aggregator

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
pEnableCtrl A pointer (of type SDL_ecc_aggrEnableCtrl*) to hold the interrupt enable control values

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrIntrStatusCtrl()

int32_t SDL_ecc_aggrIntrStatusCtrl ( SDL_ecc_aggrRegs pEccAggrRegs,
const SDL_ecc_aggrStatusCtrl pStatusCtrl 
)


SDL_ecc_aggrIntrStatusCtrl

Description
This function writes the ECC Aggregator Status registers for timeout and parity count values

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
pStatusCtrl A pointer (of type SDL_ecc_aggrStatusCtrl*) to hold the interrupt status control and count values

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None

◆ SDL_ecc_aggrIntrGetStatus()

int32_t SDL_ecc_aggrIntrGetStatus ( const SDL_ecc_aggrRegs pEccAggrRegs,
SDL_ecc_aggrStatusCtrl pStatusCtrl 
)


SDL_ecc_aggrIntrGetStatus

Description
This function reads the ECC Aggregator Status registers for timeout and parity count values

Arguments
pEccAggrRegs A pointer (of type SDL_ecc_aggrRegs*) to the base address of the ECC Aggregator module
pStatusCtrl A pointer (of type SDL_ecc_aggrStatusCtrl*) to read the timeout and parity count values

Return Value
SDL_PASS Success
SDL_EBADARGS Failure, indicates the bad input arguments

Pre Condition
None

Post Condition
None