AM62Ax MCU+ SDK  09.02.00
sdl_ip_ecc.h
Go to the documentation of this file.
1 
40 #ifndef SDL_ECC_AGGR_H
41 #define SDL_ECC_AGGR_H
42 
43 #ifdef __cplusplus
44 extern "C" {
45 #endif
46 
47 #include <stdint.h>
48 #include <stdbool.h>
49 #include <sdl/include/soc_config.h>
50 #include <sdl/ecc/sdlr_ecc.h>
51 
108 typedef uint32_t SDL_Ecc_AggrIntrSrc;
110 #define SDL_ECC_AGGR_INTR_SRC_NONE ((uint32_t) 0U)
111 
112 #define SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT ((uint32_t) 1U)
113 
114 #define SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT ((uint32_t) 2U)
115 
116 #define SDL_ECC_ADDR_ERROR_TYPE_SUCCESSIVE_SINGLE_BITS ((uint32_t) 3U)
117 
118 #define SDL_ECC_AGGR_INTR_SRC_INVALID ((uint32_t) 4U)
119 
125 #define SDL_ECC_AGGR_SELECT_ERR_CTRL1 (0U)
126 
127 #define SDL_ECC_AGGR_SELECT_ERR_CTRL2 (1U)
128 
129 #define SDL_ECC_AGGR_MAX_NUM_RAM_ERR_CTRL (2U)
130 
137 #define SDL_ECC_AGGR_SELECT_ERR_STAT1 (0U)
138 
139 #define SDL_ECC_AGGR_SELECT_ERR_STAT2 (1U)
140 
141 #define SDL_ECC_AGGR_SELECT_ERR_STAT3 (2U)
142 
143 #define SDL_ECC_AGGR_MAX_NUM_RAM_ERR_STAT (3U)
144 
151 #define SDL_ECC_AGGR_NUM_ENABLE_REGISTERS (8U)
152 
153 
159 typedef uint8_t SDL_ecc_aggrValid;
160 #define SDL_ECC_AGGR_VALID_TIMEOUT_ERR (1U)
161 
162 #define SDL_ECC_AGGR_VALID_PARITY_ERR (2U)
163 
171 typedef uint32_t SDL_Ecc_injectPattern;
173 #define SDL_ECC_AGGR_INJECT_PATTERN_ZERO ((uint32_t) 0U)
174 
175 #define SDL_ECC_AGGR_INJECT_PATTERN_F ((uint32_t) 1U)
176 
177 #define SDL_ECC_AGGR_INJECT_PATTERN_A ((uint32_t) 2U)
178 
179 #define SDL_ECC_AGGR_INJECT_PATTERN_5 ((uint32_t) 3U)
180  /* Max Inject pattern */
181 #define SDL_ECC_EGGR_INJECT_PATTERN_MAX (SDL_ECC_AGGR_INJECT_PATTERN_A)
182 
191 #define SDL_ECC_AGGR_ERROR_SUBTYPE_NORMAL ((uint32_t) 0U)
192 
193 #define SDL_ECC_AGGR_ERROR_SUBTYPE_INJECT ((uint32_t) 1U)
194 
210 typedef struct
211 {
215  uint32_t eccRow;
217  uint32_t eccBit1;
219  uint32_t eccBit2;
223  bool bNextRow;
225 
233 typedef struct
234 {
246  uint32_t eccRow;
248  uint32_t eccBit1;
254 
262 typedef struct
263 {
271  uint32_t eccGroup;
273  uint32_t eccBit1;
275  uint32_t eccBit2;
277  bool bNextBit;
279  uint32_t eccPattern;
280 
282 
283 
291 typedef struct
292 {
294  uint32_t eccGroup;
296  uint32_t eccBit1;
306 
313 typedef struct {
321 
328 typedef struct {
334  uint32_t timeOutCnt;
336  uint32_t parityCnt;
340 
341 
342 
350 typedef struct {
352  uint32_t REV;
354  uint32_t ECC_CTRL;
356  uint32_t ECC_ERR_CTRL1;
358  uint32_t ECC_ERR_CTRL2;
360  uint32_t ECC_SEC_ENABLE_SET_REG[SDL_ECC_AGGR_NUM_ENABLE_REGISTERS];
362  uint32_t ECC_SEC_ENABLE_CLR_REG[SDL_ECC_AGGR_NUM_ENABLE_REGISTERS];
364  uint32_t ECC_DED_ENABLE_SET_REG[SDL_ECC_AGGR_NUM_ENABLE_REGISTERS];
366  uint32_t ECC_DED_ENABLE_CLR_REG[SDL_ECC_AGGR_NUM_ENABLE_REGISTERS];
368 
403 int32_t SDL_ecc_aggrGetRevision(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t *pRev);
404 
428 int32_t SDL_ecc_aggrGetNumRams(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t *pNumRams);
429 
457 int32_t SDL_ecc_aggrReadEccRamReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t *pRegVal);
458 
484 int32_t SDL_ecc_aggrReadEccRamWrapRevReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal);
485 
512 int32_t SDL_ecc_aggrReadEccRamCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal);
513 
534 int32_t SDL_ecc_aggrReadEccRamErrCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal);
535 
556 int32_t SDL_ecc_aggrReadEccRamErrStatReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal);
557 
583 int32_t SDL_ecc_aggrWriteEccRamReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t val);
584 
608 int32_t SDL_ecc_aggrWriteEccRamCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t val);
609 
635 int32_t SDL_ecc_aggrWriteEccRamErrCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val);
636 
661 int32_t SDL_ecc_aggrWriteEccRamErrStatReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val);
662 
688 int32_t SDL_ecc_aggrConfigEccRam(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEnable, bool bEccCheck, bool bEnableRMW);
689 
716 int32_t SDL_ecc_aggrVerifyConfigEccRam(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEnable, bool bEccCheck, bool bEnableRMW);
717 
742 int32_t SDL_ecc_aggrGetEccRamErrorStatus(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrEccRamErrorStatusInfo *pEccErrorStatus);
743 
768 int32_t SDL_ecc_aggrForceEccRamError(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, const SDL_Ecc_AggrErrorInfo *pEccForceError);
769 
797 int32_t SDL_ecc_aggrReadEDCInterconnectReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t *pRegVal );
798 
799 
825 int32_t SDL_ecc_aggrWriteEDCInterconnectReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t val);
826 
850 int32_t SDL_ecc_aggrConfigEDCInterconnect(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEccCheck);
851 
876 int32_t SDL_ecc_aggrVerifyConfigEDCInterconnect(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEccCheck);
877 
903  uint32_t ramId,
905 
932  uint32_t ramId,
933  const SDL_Ecc_AggrEDCInterconnectErrorInfo *pEccForceError);
934 
960 
991 int32_t SDL_ecc_aggrIsEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend);
992 
1018 int32_t SDL_ecc_aggrSetEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc);
1019 
1047 int32_t SDL_ecc_aggrSetEccRamNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents);
1048 
1074 int32_t SDL_ecc_aggrClrEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc);
1075 
1102 int32_t SDL_ecc_aggrClrEccRamNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents);
1103 
1134 int32_t SDL_ecc_aggrIsEDCInterconnectIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend);
1135 
1165  uint32_t ramId,
1166  SDL_Ecc_AggrIntrSrc intrSrc,
1168  uint32_t numEvents);
1169 
1199  uint32_t ramId,
1200  SDL_Ecc_AggrIntrSrc intrSrc,
1202  uint32_t numEvents);
1203 
1235 int32_t SDL_ecc_aggrIsIntrPending(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend);
1236 
1260 int32_t SDL_ecc_aggrIsAnyIntrPending(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool *pIsPend);
1261 
1287 int32_t SDL_ecc_aggrEnableIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc);
1288 
1314 int32_t SDL_ecc_aggrDisableIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc);
1315 
1339 int32_t SDL_ecc_aggrEnableAllIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId);
1340 
1364 int32_t SDL_ecc_aggrDisableAllIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId);
1365 
1390 int32_t SDL_ecc_aggrEnableIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc);
1391 
1416 int32_t SDL_ecc_aggrDisableIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc);
1417 
1440 int32_t SDL_ecc_aggrEnableAllIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs);
1441 
1464 int32_t SDL_ecc_aggrDisableAllIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs);
1465 
1489 int32_t SDL_ecc_aggrReadStaticRegs(SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ECC_staticRegs *pEccAggrStaticRegs);
1490 
1514 int32_t SDL_ecc_aggrIntrEnableCtrl(SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrEnableCtrl *pEnableCtrl);
1515 
1516 
1541 int32_t SDL_ecc_aggrIntrStatusCtrl(SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrStatusCtrl *pStatusCtrl);
1542 
1568 int32_t SDL_ecc_aggrIntrGetStatus(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ecc_aggrStatusCtrl *pStatusCtrl);
1569 
1570 
1573 #ifdef __cplusplus
1574 }
1575 #endif
1576 
1577 #endif
SDL_ecc_aggrWriteEccRamErrStatReg
int32_t SDL_ecc_aggrWriteEccRamErrStatReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val)
SDL_Ecc_AggrEDCInterconnectErrorInfo::eccBit1
uint32_t eccBit1
Definition: sdl_ip_ecc.h:273
SDL_ecc_aggrAckIntr
int32_t SDL_ecc_aggrAckIntr(SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
SDL_ecc_aggrDisableIntr
int32_t SDL_ecc_aggrDisableIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
SDL_ecc_aggrClrEDCInterconnectNIntrPending
int32_t SDL_ecc_aggrClrEDCInterconnectNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents)
SDL_ecc_aggrWriteEccRamReg
int32_t SDL_ecc_aggrWriteEccRamReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t val)
SDL_ecc_aggrStatusCtrl::timeOutCnt
uint32_t timeOutCnt
Definition: sdl_ip_ecc.h:334
SDL_Ecc_AggrEDCInterconnectErrorStatusInfo::injectDoubleBitErrorCount
uint32_t injectDoubleBitErrorCount
Definition: sdl_ip_ecc.h:304
SDL_ecc_aggrSetEccRamNIntrPending
int32_t SDL_ecc_aggrSetEccRamNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents)
SDL_Ecc_AggrEDCInterconnectErrorStatusInfo::doubleBitErrorCount
uint32_t doubleBitErrorCount
Definition: sdl_ip_ecc.h:300
SDL_Ecc_AggrEccRamErrorStatusInfo::singleBitErrorCount
uint32_t singleBitErrorCount
Definition: sdl_ip_ecc.h:250
SDL_ECC_staticRegs::REV
uint32_t REV
Definition: sdl_ip_ecc.h:352
SDL_Ecc_AggrEccRamErrorStatusInfo
This structure contains error status information returned by the SDL_ecc_aggrGetEccRamGetErrorStatus ...
Definition: sdl_ip_ecc.h:234
SDL_Ecc_AggrEDCErrorSubType
uint32_t SDL_Ecc_AggrEDCErrorSubType
This enumerator defines the types of possible EDC errors.
Definition: sdl_ip_ecc.h:189
SDL_ecc_aggrWriteEDCInterconnectReg
int32_t SDL_ecc_aggrWriteEDCInterconnectReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t val)
SDL_ecc_aggrIsIntrPending
int32_t SDL_ecc_aggrIsIntrPending(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
SDL_ECC_staticRegs::ECC_CTRL
uint32_t ECC_CTRL
Definition: sdl_ip_ecc.h:354
SDL_ecc_aggrClrEccRamNIntrPending
int32_t SDL_ecc_aggrClrEccRamNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, uint32_t numEvents)
SDL_ecc_aggrRegs
Definition: V0/sdlr_ecc.h:53
SDL_Ecc_AggrErrorInfo::intrSrc
SDL_Ecc_AggrIntrSrc intrSrc
Definition: sdl_ip_ecc.h:213
SDL_Ecc_AggrErrorInfo::bNextRow
bool bNextRow
Definition: sdl_ip_ecc.h:223
SDL_ecc_aggrEnableCtrl::intrEnableTimeoutErr
bool intrEnableTimeoutErr
Definition: sdl_ip_ecc.h:315
sdlr_ecc.h
SDL_ecc_aggrDisableIntrs
int32_t SDL_ecc_aggrDisableIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
SDL_ecc_aggrIsEDCInterconnectIntrPending
int32_t SDL_ecc_aggrIsEDCInterconnectIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
SDL_ecc_aggrForceEccRamError
int32_t SDL_ecc_aggrForceEccRamError(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, const SDL_Ecc_AggrErrorInfo *pEccForceError)
SDL_ecc_aggrReadStaticRegs
int32_t SDL_ecc_aggrReadStaticRegs(SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ECC_staticRegs *pEccAggrStaticRegs)
SDL_ecc_aggrClrEccRamIntrPending
int32_t SDL_ecc_aggrClrEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
SDL_Ecc_AggrErrorInfo::eccBit1
uint32_t eccBit1
Definition: sdl_ip_ecc.h:217
SDL_ecc_aggrIntrEnableCtrl
int32_t SDL_ecc_aggrIntrEnableCtrl(SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrEnableCtrl *pEnableCtrl)
SDL_ecc_aggrStatusCtrl::intrStatusSetTimeoutErr
bool intrStatusSetTimeoutErr
Definition: sdl_ip_ecc.h:330
SDL_ecc_aggrReadEccRamErrStatReg
int32_t SDL_ecc_aggrReadEccRamErrStatReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal)
SDL_ecc_aggrEnableAllIntrs
int32_t SDL_ecc_aggrEnableAllIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs)
SDL_Ecc_AggrErrorInfo
This structure contains error forcing information used by the SDL_ecc_aggrForceEccRamError function.
Definition: sdl_ip_ecc.h:211
SDL_ecc_aggrWriteEccRamErrCtrlReg
int32_t SDL_ecc_aggrWriteEccRamErrCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t val)
SDL_ecc_aggrStatusCtrl::parityCnt
uint32_t parityCnt
Definition: sdl_ip_ecc.h:336
SDL_ECC_staticRegs::ECC_ERR_CTRL1
uint32_t ECC_ERR_CTRL1
Definition: sdl_ip_ecc.h:356
SDL_ECC_staticRegs::ECC_ERR_CTRL2
uint32_t ECC_ERR_CTRL2
Definition: sdl_ip_ecc.h:358
SDL_ecc_aggrValid
uint8_t SDL_ecc_aggrValid
This defines the valid ecc aggr error configuration.
Definition: sdl_ip_ecc.h:159
SDL_ecc_aggrReadEccRamErrCtrlReg
int32_t SDL_ecc_aggrReadEccRamErrCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t instSelect, uint32_t *pRegVal)
SDL_Ecc_AggrEDCInterconnectErrorInfo::eccPattern
uint32_t eccPattern
Definition: sdl_ip_ecc.h:279
SDL_Ecc_AggrEDCInterconnectErrorStatusInfo::singleBitErrorCount
uint32_t singleBitErrorCount
Definition: sdl_ip_ecc.h:298
SDL_Ecc_AggrEDCInterconnectErrorStatusInfo::eccGroup
uint32_t eccGroup
Definition: sdl_ip_ecc.h:294
SDL_Ecc_AggrEccRamErrorStatusInfo::controlRegErr
bool controlRegErr
Definition: sdl_ip_ecc.h:236
SDL_ecc_aggrGetEDCInterconnectErrorStatus
int32_t SDL_ecc_aggrGetEDCInterconnectErrorStatus(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrEDCInterconnectErrorStatusInfo *pEccErrorStatus)
SDL_ecc_aggrStatusCtrl::intrStatusSetParityErr
bool intrStatusSetParityErr
Definition: sdl_ip_ecc.h:332
SDL_ECC_staticRegs
This structure contains the static register group for Ecc aggregator used by the SDL_ecc_aggrReadStat...
Definition: sdl_ip_ecc.h:350
SDL_ecc_aggrReadEccRamCtrlReg
int32_t SDL_ecc_aggrReadEccRamCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal)
SDL_ecc_aggrIntrStatusCtrl
int32_t SDL_ecc_aggrIntrStatusCtrl(SDL_ecc_aggrRegs *pEccAggrRegs, const SDL_ecc_aggrStatusCtrl *pStatusCtrl)
SDL_Ecc_AggrEDCInterconnectErrorInfo
This structure contains error forcing information used by the SDL_ecc_aggrForceEDCInterconnectError f...
Definition: sdl_ip_ecc.h:263
SDL_Ecc_AggrEccRamErrorStatusInfo::eccBit1
uint32_t eccBit1
Definition: sdl_ip_ecc.h:248
SDL_ecc_aggrReadEccRamReg
int32_t SDL_ecc_aggrReadEccRamReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t *pRegVal)
SDL_Ecc_AggrErrorInfo::eccBit2
uint32_t eccBit2
Definition: sdl_ip_ecc.h:219
SDL_ecc_aggrEnableCtrl::intrEnableParityErr
bool intrEnableParityErr
Definition: sdl_ip_ecc.h:317
SDL_Ecc_AggrEccRamErrorStatusInfo::eccRow
uint32_t eccRow
Definition: sdl_ip_ecc.h:246
SDL_Ecc_AggrEDCInterconnectErrorInfo::eccGroup
uint32_t eccGroup
Definition: sdl_ip_ecc.h:271
SDL_Ecc_AggrEDCInterconnectErrorInfo::bNextBit
bool bNextBit
Definition: sdl_ip_ecc.h:277
SDL_ecc_aggrEnableIntrs
int32_t SDL_ecc_aggrEnableIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_Ecc_AggrIntrSrc intrSrc)
SDL_Ecc_AggrEDCInterconnectErrorStatusInfo::eccBit1
uint32_t eccBit1
Definition: sdl_ip_ecc.h:296
SDL_Ecc_AggrErrorInfo::bOneShotMode
bool bOneShotMode
Definition: sdl_ip_ecc.h:221
SDL_Ecc_AggrEccRamErrorStatusInfo::parityErrorCount
uint32_t parityErrorCount
Definition: sdl_ip_ecc.h:244
SDL_Ecc_AggrEccRamErrorStatusInfo::writebackPend
bool writebackPend
Definition: sdl_ip_ecc.h:242
SDL_ecc_aggrDisableAllIntrs
int32_t SDL_ecc_aggrDisableAllIntrs(const SDL_ecc_aggrRegs *pEccAggrRegs)
SDL_ecc_aggrEnableCtrl::validCfg
SDL_ecc_aggrValid validCfg
Definition: sdl_ip_ecc.h:319
SDL_Ecc_AggrIntrSrc
uint32_t SDL_Ecc_AggrIntrSrc
This enumerator defines the types of possible ECC errors.
Definition: sdl_ip_ecc.h:108
SDL_Ecc_injectPattern
uint32_t SDL_Ecc_injectPattern
This enumerator defines the types of ECC patterns.
Definition: sdl_ip_ecc.h:171
SDL_Ecc_AggrEDCInterconnectErrorStatusInfo::injectSingleBitErrorCount
uint32_t injectSingleBitErrorCount
Definition: sdl_ip_ecc.h:302
SDL_Ecc_AggrEccRamErrorStatusInfo::sVBUSTimeoutErr
bool sVBUSTimeoutErr
Definition: sdl_ip_ecc.h:240
SDL_ecc_aggrVerifyConfigEccRam
int32_t SDL_ecc_aggrVerifyConfigEccRam(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEnable, bool bEccCheck, bool bEnableRMW)
SDL_ecc_aggrGetNumRams
int32_t SDL_ecc_aggrGetNumRams(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t *pNumRams)
SDL_ecc_aggrWriteEccRamCtrlReg
int32_t SDL_ecc_aggrWriteEccRamCtrlReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t val)
SDL_Ecc_AggrEccRamErrorStatusInfo::doubleBitErrorCount
uint32_t doubleBitErrorCount
Definition: sdl_ip_ecc.h:252
SDL_Ecc_AggrEDCInterconnectErrorInfo::eccBit2
uint32_t eccBit2
Definition: sdl_ip_ecc.h:275
SDL_ecc_aggrStatusCtrl
This structure contains the ECC aggr status config.
Definition: sdl_ip_ecc.h:328
SDL_Ecc_AggrEccRamErrorStatusInfo::successiveSingleBitErr
bool successiveSingleBitErr
Definition: sdl_ip_ecc.h:238
SDL_ecc_aggrConfigEDCInterconnect
int32_t SDL_ecc_aggrConfigEDCInterconnect(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEccCheck)
SDL_ecc_aggrEnableCtrl
This structure contains the ECC aggr enable error config.
Definition: sdl_ip_ecc.h:313
SDL_ecc_aggrEnableAllIntr
int32_t SDL_ecc_aggrEnableAllIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId)
SDL_ECC_AGGR_NUM_ENABLE_REGISTERS
#define SDL_ECC_AGGR_NUM_ENABLE_REGISTERS
This defines the number of enable registers.
Definition: sdl_ip_ecc.h:151
SDL_ecc_aggrGetEccRamErrorStatus
int32_t SDL_ecc_aggrGetEccRamErrorStatus(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrEccRamErrorStatusInfo *pEccErrorStatus)
SDL_ecc_aggrIsAnyIntrPending
int32_t SDL_ecc_aggrIsAnyIntrPending(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool *pIsPend)
SDL_Ecc_AggrEDCInterconnectErrorStatusInfo
This structure contains error status information returned by the SDL_ecc_aggrGetEDCInterconnectErrorS...
Definition: sdl_ip_ecc.h:292
SDL_ecc_aggrForceEDCInterconnectError
int32_t SDL_ecc_aggrForceEDCInterconnectError(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, const SDL_Ecc_AggrEDCInterconnectErrorInfo *pEccForceError)
SDL_ecc_aggrReadEDCInterconnectReg
int32_t SDL_ecc_aggrReadEDCInterconnectReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t regOffset, uint32_t *pRegVal)
SDL_ecc_aggrEnableIntr
int32_t SDL_ecc_aggrEnableIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
SDL_ecc_aggrIntrGetStatus
int32_t SDL_ecc_aggrIntrGetStatus(const SDL_ecc_aggrRegs *pEccAggrRegs, SDL_ecc_aggrStatusCtrl *pStatusCtrl)
SDL_ecc_aggrSetEDCInterconnectNIntrPending
int32_t SDL_ecc_aggrSetEDCInterconnectNIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, SDL_Ecc_AggrEDCErrorSubType subType, uint32_t numEvents)
SDL_ecc_aggrGetRevision
int32_t SDL_ecc_aggrGetRevision(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t *pRev)
SDL_ecc_aggrDisableAllIntr
int32_t SDL_ecc_aggrDisableAllIntr(const SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId)
SDL_ecc_aggrIsEccRamIntrPending
int32_t SDL_ecc_aggrIsEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc, bool *pIsPend)
SDL_ecc_aggrSetEccRamIntrPending
int32_t SDL_ecc_aggrSetEccRamIntrPending(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, SDL_Ecc_AggrIntrSrc intrSrc)
SDL_Ecc_AggrEDCInterconnectErrorInfo::intrSrc
SDL_Ecc_AggrIntrSrc intrSrc
Definition: sdl_ip_ecc.h:265
SDL_ecc_aggrStatusCtrl::validCfg
SDL_ecc_aggrValid validCfg
Definition: sdl_ip_ecc.h:338
SDL_Ecc_AggrErrorInfo::eccRow
uint32_t eccRow
Definition: sdl_ip_ecc.h:215
SDL_ecc_aggrConfigEccRam
int32_t SDL_ecc_aggrConfigEccRam(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEnable, bool bEccCheck, bool bEnableRMW)
SDL_ecc_aggrVerifyConfigEDCInterconnect
int32_t SDL_ecc_aggrVerifyConfigEDCInterconnect(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, bool bEccCheck)
SDL_ecc_aggrReadEccRamWrapRevReg
int32_t SDL_ecc_aggrReadEccRamWrapRevReg(SDL_ecc_aggrRegs *pEccAggrRegs, uint32_t ramId, uint32_t *pRegVal)