AM263Px MCU+ SDK: sdl_ip_ecc.h File Reference

| AM263Px MCU+ SDK 26.00.00 |

Data Structures | Macros | Typedefs | Functions
V1/sdl_ip_ecc.h File Reference

## Introduction

Header file containing various enumerations, structure definitions and function declarations for the ECC Aggregator Ip.

(C) Copyright 2022, Texas Instruments, Inc.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.

Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.

Neither the name of Texas Instruments Incorporated nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Go to the source code of this file.

## Data Structures
struct | SDL_Ecc_AggrErrorInfo
| This structure contains error forcing information used by the SDL_ecc_aggrForceEccRamError function. More...
struct | SDL_Ecc_AggrEccRamErrorStatusInfo
| This structure contains error status information returned by the SDL_ecc_aggrGetEccRamGetErrorStatus function. More...
struct | SDL_ecc_aggrEnableCtrl
| This structure contains the ECC aggr enable error config. More...
struct | SDL_ecc_aggrStatusCtrl
| This structure contains the ECC aggr status config. More...
struct | SDL_ECC_staticRegs
| This structure contains the static register group for Ecc aggregator used by the SDL_ecc_aggrReadStaticRegs function. More...

## Macros
#define | SDL_ECC_AGGR_INTR_SRC_NONE ((uint32_t) 0U)
#define | SDL_ECC_AGGR_INTR_SRC_SINGLE_BIT ((uint32_t) 1U)
#define | SDL_ECC_AGGR_INTR_SRC_DOUBLE_BIT ((uint32_t) 2U)
#define | SDL_ECC_ADDR_ERROR_TYPE_SUCCESSIVE_SINGLE_BITS ((uint32_t) 3U)
#define | SDL_ECC_AGGR_INTR_SRC_INVALID ((uint32_t) 4U)
#define | SDL_ECC_AGGR_SELECT_ERR_CTRL1 (0U)
| This defines the types of possible ECC error controller instances. More...
#define | SDL_ECC_AGGR_SELECT_ERR_CTRL2 (1U)
#define | SDL_ECC_AGGR_MAX_NUM_RAM_ERR_CTRL (2U)
#define | SDL_ECC_AGGR_SELECT_ERR_STAT1 (0U)
| This defines the types of possible ECC error status instances. More...
#define | SDL_ECC_AGGR_SELECT_ERR_STAT2 (1U)
#define | SDL_ECC_AGGR_SELECT_ERR_STAT3 (2U)
#define | SDL_ECC_AGGR_MAX_NUM_RAM_ERR_STAT (3U)
#define | SDL_ECC_AGGR_NUM_ENABLE_REGISTERS (8U)
| This defines the number of enable registers. More...
#define | SDL_ECC_AGGR_VALID_TIMEOUT_ERR (1U)
#define | SDL_ECC_AGGR_VALID_PARITY_ERR (2U)
#define | SDL_ECC_AGGR_INJECT_PATTERN_ZERO ((uint32_t) 0U)
#define | SDL_ECC_AGGR_INJECT_PATTERN_F ((uint32_t) 1U)
#define | SDL_ECC_AGGR_INJECT_PATTERN_A ((uint32_t) 2U)
#define | SDL_ECC_AGGR_INJECT_PATTERN_5 ((uint32_t) 3U)
#define | SDL_ECC_EGGR_INJECT_PATTERN_MAX (SDL_ECC_AGGR_INJECT_PATTERN_A)
#define | SDL_ECC_AGGR_ERROR_SUBTYPE_NORMAL ((uint32_t) 0U)
#define | SDL_ECC_AGGR_ERROR_SUBTYPE_INJECT ((uint32_t) 1U)

## Typedefs
typedef uint32_t | SDL_Ecc_AggrIntrSrc
| This enumerator defines the types of possible ECC errors. More...
typedef uint32_t | SDL_Ecc_AggrEDCErrorSubType
| This enumerator defines the types of possible EDC errors. More...
typedef uint8_t | SDL_ecc_aggrValid
| This defines the valid ecc aggr error configuration. More...
typedef uint32_t | SDL_Ecc_injectPattern
| This enumerator defines the types of ECC patterns. More...

## Functions
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)