40 #ifndef SDL_ECC_AGGR_H 41 #define SDL_ECC_AGGR_H 49 #include <src/ip/sdlr_ecc.h> 108 #define SDL_ECC_AGGR_INTR_SRC_NONE ((uint32_t) 0U) 110 #define SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT ((uint32_t) 1U) 112 #define SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT ((uint32_t) 2U) 114 #define SDL_ECC_ADDR_ERROR_TYPE_SUCCESSIVE_SINGLE_BITS ((uint32_t) 3U) 116 #define SDL_ECC_AGGR_INTR_SRC_INVALID ((uint32_t) 4U) 125 #define SDL_ECC_AGGR_SELECT_ERR_CTRL1 (0U) 127 #define SDL_ECC_AGGR_SELECT_ERR_CTRL2 (1U) 129 #define SDL_ECC_AGGR_MAX_NUM_RAM_ERR_CTRL (2U) 139 #define SDL_ECC_AGGR_SELECT_ERR_STAT1 (0U) 141 #define SDL_ECC_AGGR_SELECT_ERR_STAT2 (1U) 143 #define SDL_ECC_AGGR_SELECT_ERR_STAT3 (2U) 145 #define SDL_ECC_AGGR_MAX_NUM_RAM_ERR_STAT (3U) 155 #define SDL_ECC_AGGR_NUM_ENABLE_REGISTERS (8U) 165 #define SDL_ECC_AGGR_VALID_TIMEOUT_ERR (1U) 167 #define SDL_ECC_AGGR_VALID_PARITY_ERR (2U) 180 #define SDL_ECC_AGGR_INJECT_PATTERN_ZERO ((uint32_t) 0U) 182 #define SDL_ECC_AGGR_INJECT_PATTERN_F ((uint32_t) 1U) 184 #define SDL_ECC_AGGR_INJECT_PATTERN_A ((uint32_t) 2U) 186 #define SDL_ECC_AGGR_INJECT_PATTERN_5 ((uint32_t) 3U) 188 #define SDL_ECC_EGGR_INJECT_PATTERN_MAX (SDL_ECC_AGGR_INJECT_PATTERN_A) 200 #define SDL_ECC_AGGR_ERROR_SUBTYPE_NORMAL ((uint32_t) 0U) 202 #define SDL_ECC_AGGR_ERROR_SUBTYPE_INJECT ((uint32_t) 1U) 1178 uint32_t numEvents);
1212 uint32_t numEvents);
bool writebackPend
Definition: sdl_ip_ecc.h:252
uint32_t injectSingleBitErrorCount
Definition: sdl_ip_ecc.h:312
int32_t SDL_ecc_aggrIsIntrPending(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
This structure contains error status information returned by the SDL_ecc_aggrGetEDCInterconnectErrorS...
Definition: sdl_ip_ecc.h:301
uint32_t doubleBitErrorCount
Definition: sdl_ip_ecc.h:310
SDL_Ecc_AggrIntrSrc intrSrc
Definition: sdl_ip_ecc.h:275
uint32_t ECC_CTRL
Definition: sdl_ip_ecc.h:364
int32_t SDL_ecc_aggrSetEccRamNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents)
uint32_t eccBit2
Definition: sdl_ip_ecc.h:285
int32_t SDL_ecc_aggrIntrStatusCtrl(SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrStatusCtrl *pStatusCtrl)
uint32_t SDL_Ecc_AggrEDCErrorSubType
This enumerator defines the types of possible EDC errors.
Definition: sdl_ip_ecc.h:198
int32_t SDL_ecc_aggrClrEccRamNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents)
int32_t SDL_ecc_aggrVerifyConfigEccRam(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEnable, bool bEccCheck, bool bEnableRMW)
int32_t SDL_ecc_aggrGetNumRams(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t *pNumRams)
SDL_ecc_aggrValid validCfg
Definition: sdl_ip_ecc.h:329
int32_t SDL_ecc_aggrWriteEDCInterconnectReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t val)
uint32_t ECC_ERR_CTRL1
Definition: sdl_ip_ecc.h:366
uint32_t parityCnt
Definition: sdl_ip_ecc.h:346
uint32_t ECC_ERR_CTRL2
Definition: sdl_ip_ecc.h:368
int32_t SDL_ecc_aggrReadStaticRegs(SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ECC_staticRegs *pEccAggrStaticRegs)
int32_t SDL_ecc_aggrReadEccRamErrCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal)
uint32_t parityErrorCount
Definition: sdl_ip_ecc.h:254
int32_t SDL_ecc_aggrReadEccRamErrStatReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal)
bool intrStatusSetTimeoutErr
Definition: sdl_ip_ecc.h:340
int32_t SDL_ecc_aggrDisableAllIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs)
int32_t SDL_ecc_aggrGetRevision(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t *pRev)
SDL_Ecc_AggrIntrSrc intrSrc
Definition: sdl_ip_ecc.h:223
int32_t SDL_ecc_aggrDisableAllIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId)
int32_t SDL_ecc_aggrSetEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
int32_t SDL_ecc_aggrIsEDCInterconnectIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
This structure contains the static register group for Ecc aggregator used by the SDL_ecc_aggrReadStat...
Definition: sdl_ip_ecc.h:360
int32_t SDL_ecc_aggrReadEDCInterconnectReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t *pRegVal)
int32_t SDL_ecc_aggrWriteEccRamCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t val)
int32_t SDL_ecc_aggrIsAnyIntrPending(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool *pIsPend)
int32_t SDL_ecc_aggrForceEDCInterconnectError(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, const SDL_Ecc_AggrEDCInterconnectErrorInfo *pEccForceError)
uint32_t eccBit1
Definition: sdl_ip_ecc.h:258
int32_t SDL_ecc_aggrEnableIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
int32_t SDL_ecc_aggrGetEccRamErrorStatus(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrEccRamErrorStatusInfo *pEccErrorStatus)
int32_t SDL_ecc_aggrWriteEccRamErrStatReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val)
bool bOneShotMode
Definition: sdl_ip_ecc.h:231
int32_t SDL_ecc_aggrWriteEccRamErrCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val)
uint32_t eccRow
Definition: sdl_ip_ecc.h:225
uint32_t eccBit2
Definition: sdl_ip_ecc.h:229
SDL_ecc_aggrValid validCfg
Definition: sdl_ip_ecc.h:348
int32_t SDL_ecc_aggrReadEccRamWrapRevReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal)
uint8_t SDL_ecc_aggrValid
This defines the valid ecc aggr error configuration.
Definition: sdl_ip_ecc.h:164
int32_t SDL_ecc_aggrClrEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
int32_t SDL_ecc_aggrClrEDCInterconnectNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents)
uint32_t eccGroup
Definition: sdl_ip_ecc.h:304
uint32_t eccBit1
Definition: sdl_ip_ecc.h:227
int32_t SDL_ecc_aggrIntrGetStatus(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ecc_aggrStatusCtrl *pStatusCtrl)
int32_t SDL_ecc_aggrWriteEccRamReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t val)
uint32_t injectDoubleBitErrorCount
Definition: sdl_ip_ecc.h:314
int32_t SDL_ecc_aggrEnableIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
int32_t SDL_ecc_aggrGetEDCInterconnectErrorStatus(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrEDCInterconnectErrorStatusInfo *pEccErrorStatus)
uint32_t singleBitErrorCount
Definition: sdl_ip_ecc.h:260
uint32_t doubleBitErrorCount
Definition: sdl_ip_ecc.h:262
int32_t SDL_ecc_aggrIsEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
uint32_t eccPattern
Definition: sdl_ip_ecc.h:289
This structure contains error forcing information used by the SDL_ecc_aggrForceEDCInterconnectError f...
Definition: sdl_ip_ecc.h:272
int32_t SDL_ecc_aggrDisableIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
bool controlRegErr
Definition: sdl_ip_ecc.h:246
bool intrEnableParityErr
Definition: sdl_ip_ecc.h:327
bool successiveSingleBitErr
Definition: sdl_ip_ecc.h:248
uint32_t REV
Definition: sdl_ip_ecc.h:362
This structure contains error forcing information used by the SDL_ecc_aggrForceEccRamError function.
Definition: sdl_ip_ecc.h:220
int32_t SDL_ecc_aggrAckIntr(SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
int32_t SDL_ecc_aggrReadEccRamCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal)
This structure contains error status information returned by the SDL_ecc_aggrGetEccRamGetErrorStatus ...
Definition: sdl_ip_ecc.h:243
bool intrEnableTimeoutErr
Definition: sdl_ip_ecc.h:325
bool bNextBit
Definition: sdl_ip_ecc.h:287
int32_t SDL_ecc_aggrReadEccRamReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t *pRegVal)
uint32_t timeOutCnt
Definition: sdl_ip_ecc.h:344
Definition: sdlr_ecc.h:53
uint32_t eccBit1
Definition: sdl_ip_ecc.h:283
int32_t SDL_ecc_aggrDisableIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
int32_t SDL_ecc_aggrEnableAllIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs)
uint32_t SDL_Ecc_AggrIntrSrc
This enumerator defines the types of possible ECC errors.
Definition: sdl_ip_ecc.h:106
uint32_t SDL_Ecc_injectPattern
This enumerator defines the types of ECC patterns.
Definition: sdl_ip_ecc.h:178
int32_t SDL_ecc_aggrForceEccRamError(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, const SDL_Ecc_AggrErrorInfo *pEccForceError)
This structure contains the ECC aggr enable error config.
Definition: sdl_ip_ecc.h:323
bool sVBUSTimeoutErr
Definition: sdl_ip_ecc.h:250
uint32_t eccBit1
Definition: sdl_ip_ecc.h:306
uint32_t singleBitErrorCount
Definition: sdl_ip_ecc.h:308
int32_t SDL_ecc_aggrSetEDCInterconnectNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents)
uint32_t eccGroup
Definition: sdl_ip_ecc.h:281
bool intrStatusSetParityErr
Definition: sdl_ip_ecc.h:342
#define SDL_ECC_AGGR_NUM_ENABLE_REGISTERS
This defines the number of enable registers.
Definition: sdl_ip_ecc.h:155
int32_t SDL_ecc_aggrConfigEDCInterconnect(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEccCheck)
This structure contains the ECC aggr status config.
Definition: sdl_ip_ecc.h:338
int32_t SDL_ecc_aggrVerifyConfigEDCInterconnect(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEccCheck)
int32_t SDL_ecc_aggrEnableAllIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId)
uint32_t eccRow
Definition: sdl_ip_ecc.h:256
int32_t SDL_ecc_aggrConfigEccRam(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEnable, bool bEccCheck, bool bEnableRMW)
int32_t SDL_ecc_aggrIntrEnableCtrl(SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrEnableCtrl *pEnableCtrl)
bool bNextRow
Definition: sdl_ip_ecc.h:233