|
AM62Px MCU+ SDK
09.02.01
|
|
Go to the documentation of this file.
40 #ifndef SDL_ECC_AGGR_H
41 #define SDL_ECC_AGGR_H
49 #include <sdl/include/soc_config.h>
110 #define SDL_ECC_AGGR_INTR_SRC_NONE ((uint32_t) 0U)
112 #define SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT ((uint32_t) 1U)
114 #define SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT ((uint32_t) 2U)
116 #define SDL_ECC_ADDR_ERROR_TYPE_SUCCESSIVE_SINGLE_BITS ((uint32_t) 3U)
118 #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)
137 #define SDL_ECC_AGGR_SELECT_ERR_STAT1 (0U)
139 #define SDL_ECC_AGGR_SELECT_ERR_STAT2 (1U)
141 #define SDL_ECC_AGGR_SELECT_ERR_STAT3 (2U)
143 #define SDL_ECC_AGGR_MAX_NUM_RAM_ERR_STAT (3U)
151 #define SDL_ECC_AGGR_NUM_ENABLE_REGISTERS (8U)
160 #define SDL_ECC_AGGR_VALID_TIMEOUT_ERR (1U)
162 #define SDL_ECC_AGGR_VALID_PARITY_ERR (2U)
173 #define SDL_ECC_AGGR_INJECT_PATTERN_ZERO ((uint32_t) 0U)
175 #define SDL_ECC_AGGR_INJECT_PATTERN_F ((uint32_t) 1U)
177 #define SDL_ECC_AGGR_INJECT_PATTERN_A ((uint32_t) 2U)
179 #define SDL_ECC_AGGR_INJECT_PATTERN_5 ((uint32_t) 3U)
181 #define SDL_ECC_EGGR_INJECT_PATTERN_MAX (SDL_ECC_AGGR_INJECT_PATTERN_A)
191 #define SDL_ECC_AGGR_ERROR_SUBTYPE_NORMAL ((uint32_t) 0U)
193 #define SDL_ECC_AGGR_ERROR_SUBTYPE_INJECT ((uint32_t) 1U)
1168 uint32_t numEvents);
1202 uint32_t numEvents);
int32_t SDL_ecc_aggrWriteEccRamErrStatReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val)
uint32_t eccBit1
Definition: sdl_ip_ecc.h:273
int32_t SDL_ecc_aggrAckIntr(SDL_ecc_aggrRegs *pEccAggrRegs, 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_aggrClrEDCInterconnectNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents)
int32_t SDL_ecc_aggrWriteEccRamReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t val)
uint32_t timeOutCnt
Definition: sdl_ip_ecc.h:334
uint32_t injectDoubleBitErrorCount
Definition: sdl_ip_ecc.h:304
int32_t SDL_ecc_aggrSetEccRamNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents)
uint32_t doubleBitErrorCount
Definition: sdl_ip_ecc.h:300
uint32_t singleBitErrorCount
Definition: sdl_ip_ecc.h:250
uint32_t REV
Definition: sdl_ip_ecc.h:352
This structure contains error status information returned by the SDL_ecc_aggrGetEccRamGetErrorStatus ...
Definition: sdl_ip_ecc.h:234
uint32_t SDL_Ecc_AggrEDCErrorSubType
This enumerator defines the types of possible EDC errors.
Definition: sdl_ip_ecc.h:189
int32_t SDL_ecc_aggrWriteEDCInterconnectReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t val)
int32_t SDL_ecc_aggrIsIntrPending(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
uint32_t ECC_CTRL
Definition: sdl_ip_ecc.h:354
int32_t SDL_ecc_aggrClrEccRamNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents)
Definition: V0/sdlr_ecc.h:53
SDL_Ecc_AggrIntrSrc intrSrc
Definition: sdl_ip_ecc.h:213
bool bNextRow
Definition: sdl_ip_ecc.h:223
bool intrEnableTimeoutErr
Definition: sdl_ip_ecc.h:315
int32_t SDL_ecc_aggrDisableIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
int32_t SDL_ecc_aggrIsEDCInterconnectIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
int32_t SDL_ecc_aggrForceEccRamError(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, const SDL_Ecc_AggrErrorInfo *pEccForceError)
int32_t SDL_ecc_aggrReadStaticRegs(SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ECC_staticRegs *pEccAggrStaticRegs)
int32_t SDL_ecc_aggrClrEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
uint32_t eccBit1
Definition: sdl_ip_ecc.h:217
int32_t SDL_ecc_aggrIntrEnableCtrl(SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrEnableCtrl *pEnableCtrl)
bool intrStatusSetTimeoutErr
Definition: sdl_ip_ecc.h:330
int32_t SDL_ecc_aggrReadEccRamErrStatReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal)
int32_t SDL_ecc_aggrEnableAllIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs)
This structure contains error forcing information used by the SDL_ecc_aggrForceEccRamError function.
Definition: sdl_ip_ecc.h:211
int32_t SDL_ecc_aggrWriteEccRamErrCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val)
uint32_t parityCnt
Definition: sdl_ip_ecc.h:336
uint32_t ECC_ERR_CTRL1
Definition: sdl_ip_ecc.h:356
uint32_t ECC_ERR_CTRL2
Definition: sdl_ip_ecc.h:358
uint8_t SDL_ecc_aggrValid
This defines the valid ecc aggr error configuration.
Definition: sdl_ip_ecc.h:159
int32_t SDL_ecc_aggrReadEccRamErrCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal)
uint32_t eccPattern
Definition: sdl_ip_ecc.h:279
uint32_t singleBitErrorCount
Definition: sdl_ip_ecc.h:298
uint32_t eccGroup
Definition: sdl_ip_ecc.h:294
bool controlRegErr
Definition: sdl_ip_ecc.h:236
int32_t SDL_ecc_aggrGetEDCInterconnectErrorStatus(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrEDCInterconnectErrorStatusInfo *pEccErrorStatus)
bool intrStatusSetParityErr
Definition: sdl_ip_ecc.h:332
This structure contains the static register group for Ecc aggregator used by the SDL_ecc_aggrReadStat...
Definition: sdl_ip_ecc.h:350
int32_t SDL_ecc_aggrReadEccRamCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal)
int32_t SDL_ecc_aggrIntrStatusCtrl(SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrStatusCtrl *pStatusCtrl)
This structure contains error forcing information used by the SDL_ecc_aggrForceEDCInterconnectError f...
Definition: sdl_ip_ecc.h:263
uint32_t eccBit1
Definition: sdl_ip_ecc.h:248
int32_t SDL_ecc_aggrReadEccRamReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t *pRegVal)
uint32_t eccBit2
Definition: sdl_ip_ecc.h:219
bool intrEnableParityErr
Definition: sdl_ip_ecc.h:317
uint32_t eccRow
Definition: sdl_ip_ecc.h:246
uint32_t eccGroup
Definition: sdl_ip_ecc.h:271
bool bNextBit
Definition: sdl_ip_ecc.h:277
int32_t SDL_ecc_aggrEnableIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
uint32_t eccBit1
Definition: sdl_ip_ecc.h:296
bool bOneShotMode
Definition: sdl_ip_ecc.h:221
uint32_t parityErrorCount
Definition: sdl_ip_ecc.h:244
bool writebackPend
Definition: sdl_ip_ecc.h:242
int32_t SDL_ecc_aggrDisableAllIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs)
SDL_ecc_aggrValid validCfg
Definition: sdl_ip_ecc.h:319
uint32_t SDL_Ecc_AggrIntrSrc
This enumerator defines the types of possible ECC errors.
Definition: sdl_ip_ecc.h:108
uint32_t SDL_Ecc_injectPattern
This enumerator defines the types of ECC patterns.
Definition: sdl_ip_ecc.h:171
uint32_t injectSingleBitErrorCount
Definition: sdl_ip_ecc.h:302
bool sVBUSTimeoutErr
Definition: sdl_ip_ecc.h:240
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)
int32_t SDL_ecc_aggrWriteEccRamCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t val)
uint32_t doubleBitErrorCount
Definition: sdl_ip_ecc.h:252
uint32_t eccBit2
Definition: sdl_ip_ecc.h:275
This structure contains the ECC aggr status config.
Definition: sdl_ip_ecc.h:328
bool successiveSingleBitErr
Definition: sdl_ip_ecc.h:238
int32_t SDL_ecc_aggrConfigEDCInterconnect(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEccCheck)
This structure contains the ECC aggr enable error config.
Definition: sdl_ip_ecc.h:313
int32_t SDL_ecc_aggrEnableAllIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId)
#define SDL_ECC_AGGR_NUM_ENABLE_REGISTERS
This defines the number of enable registers.
Definition: sdl_ip_ecc.h:151
int32_t SDL_ecc_aggrGetEccRamErrorStatus(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrEccRamErrorStatusInfo *pEccErrorStatus)
int32_t SDL_ecc_aggrIsAnyIntrPending(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool *pIsPend)
This structure contains error status information returned by the SDL_ecc_aggrGetEDCInterconnectErrorS...
Definition: sdl_ip_ecc.h:292
int32_t SDL_ecc_aggrForceEDCInterconnectError(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, const SDL_Ecc_AggrEDCInterconnectErrorInfo *pEccForceError)
int32_t SDL_ecc_aggrReadEDCInterconnectReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t *pRegVal)
int32_t SDL_ecc_aggrEnableIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
int32_t SDL_ecc_aggrIntrGetStatus(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ecc_aggrStatusCtrl *pStatusCtrl)
int32_t SDL_ecc_aggrSetEDCInterconnectNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents)
int32_t SDL_ecc_aggrGetRevision(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t *pRev)
int32_t SDL_ecc_aggrDisableAllIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId)
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)
SDL_Ecc_AggrIntrSrc intrSrc
Definition: sdl_ip_ecc.h:265
SDL_ecc_aggrValid validCfg
Definition: sdl_ip_ecc.h:338
uint32_t eccRow
Definition: sdl_ip_ecc.h:215
int32_t SDL_ecc_aggrConfigEccRam(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEnable, bool bEccCheck, bool bEnableRMW)
int32_t SDL_ecc_aggrVerifyConfigEDCInterconnect(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEccCheck)
int32_t SDL_ecc_aggrReadEccRamWrapRevReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal)