AM263Px MCU+ SDK: sdl_esm.h File Reference

| AM263Px MCU+ SDK 26.00.00 |

Data Structures | Macros | Typedefs | Enumerations | Functions
esm/v2/sdl_esm.h File Reference
APIs for SDL Module » APIs for SDL ESM

## Introduction

Header file contains enumerations, structure definitions and function declarations for SDL Error Signaling Module interface.

The SDL ESM enumerations include:

1. SDL ESM interrupt types
2. SDL ESM interrupt sources
3. SDL ESM Watchdog Timer IDs

The SDL ESM function macros include:

1. Application provided callback function type for ECC/CCM specific ESM events

The SDL ESM data structures include:

1. Structure of the ECC error sources which map to the ESM interrupt sources
2. Structure of the ESM error configuration
3. Structure of the initial ESM configuration

The SDL ESM APIs include:

1. API to initialize the SDL ESM
2. APIs to set/reset nERROR pin
3. API to get nERROR pin status
4. API to insert an ESM error
5. API to execute self test of ESM module
6. APIs to register handler for ECC/CCM with ESM
7. APIs to handle ESM high priority/low prioirty/config interrupts
8. API to get ESM Interrupt Number corresponding to the input ESM interrupt type
9. Application provided external callback function for ESM handling

Go to the source code of this file.

## ESM ECC Error source type
#define | SDL_ESM_ECC_PARAM_MCU_CPU0_SEC_ERROR (1u)
| MCU CPU0 detected 1-bit ECC error source. More...
#define | SDL_ESM_ECC_PARAM_MCU_CPU0_DED_ERROR (2u)
| MCU CPU0 detected 2-bit ECC error source. More...
#define | SDL_ESM_ECC_PARAM_MCU_CPU1_SEC_ERROR (3u)
| MCU CPU1 detected 1-bit ECC error source. More...
#define | SDL_ESM_ECC_PARAM_MCU_CPU1_DED_ERROR (4u)
| MCU CPU1 detected 2-bit ECC error source. More...
#define | SDL_ESM_ECC_PARAM_MCU_CBASS_SEC_ERROR (5u)
| MCU CBASS detected 1-bit ECC error source. More...
#define | SDL_ESM_ECC_PARAM_MCU_CBASS_DED_ERROR (6u)
| MCU CBASS detected 2-bit ECC error source. More...
typedef uint32_t | sdlEsmEccErrorSource_t
| Source of the ECC error which maps to the ESM interrupt source. More...

## Data Structures
struct | SDL_ESM_ErrorConfig_t
| ESM error configuration. More...
struct | SDL_ESM_config
| ESM init configuration. More...

## Macros
#define | SDL_ESM_INTNUMBER_INVALID (0xffffffffu)
| Invalid interrupt number. More...
#define | SDL_ESM_INST_INVALID (0xfffffffeu)
| Invalid Esm Instance. More...
#define | SDL_ESM_ERRORADDR_INVALID (0xffffffffu)
| Address field: Error Address invalid. More...
#define | SDL_ESM_ERRORRAMID_INVALID (0xffffffffu)
| Address field: Error RAM ID invalid. More...
#define | SDL_ESM_ERRORBITOFFSET_INVALID (0xffffffffffffffffu)
| Address field: Error Bit Error Offset invalid. More...
#define | SDL_ESM_ERRORBITGROUP_INVALID (0xffffffffu)
| Address field: Error Bit Error Group invalid. More...
#define | SDL_ESM_MAX_EVENT_MAP_NUM_WORDS (32u)
| Maximum number of EVENT words. More...
#define | SDL_ESM_ECC_PARAM_MAIN_MSMC_AGGR0_SEC_ERROR (10001u)
| Main MSMC ECC AGGR0 detected 1-bit ECC error source. More...
#define | SDL_ESM_ECC_PARAM_MAIN_MSMC_AGGR0_DED_ERROR (10002u)
| Main MSMC ECC AGGR0 detected 2-bit ECC error source. More...
#define | SDL_ESM_ECC_PARAM_MAIN_A72_AGGR0_SEC_ERROR (10003u)
| Main A72 ECC AGGR0 detected 1-bit ECC error source. More...
#define | SDL_ESM_ECC_PARAM_MAIN_A72_AGGR0_DED_ERROR (10004u)
| Main A72 ECC AGGR0 detected 2-bit ECC error source. More...

## Typedefs
typedef int32_t | SDL_Result
typedef int32_t(* | SDL_ESM_applicationCallback) (SDL_ESM_Inst instance, SDL_ESM_IntType intrType, uint32_t grpChannel, uint32_t index, uint32_t intSrc, void *arg)

## Enumerations
enum | SDL_ESM_IntType { SDL_ESM_INT_TYPE_HI = 1, SDL_ESM_INT_TYPE_LO = 2, SDL_ESM_INT_TYPE_CFG = 3, SDL_ESM_INT_TYPE_MAX = 4 }

## Functions
int32_t | SDL_ESM_getNErrorStatus (SDL_ESM_Inst instance, uint32_t *pStatus)
| SDL ESM API to get the status of the nError pin for the specified ESM instance. More...
int32_t | SDL_ESM_getStaticRegisters (SDL_ESM_Inst instance, SDL_ESM_staticRegs *pStaticRegs)
| SDL ESM API to read the static registers. The API reads and returns the static register configuration for the ESM module for the specified instance. This API can be used by the application to read back the static configuration. Comparision of the static configuration registers against expected values is the responsibility of the application. More...
int32_t | SDL_ESM_verifyConfig (SDL_ESM_Inst instance, const SDL_ESM_config *pConfig)
| SDL ESM API to verify the written configuration of the ESM module. The API verifies the written config that was done during SDL_ESM_init against the provided configuration. More...
int32_t | SDL_ESM_clrNError (SDL_ESM_Inst instance)
| SDL ESM API to clear the nError pin for the specified ESM instance. More...
int32_t | SDL_ESM_setNError (SDL_ESM_Inst instance)
| SDL ESM API to set the nError pin for the specified ESM instance. More...
int32_t | SDL_ESM_setPinOutMode (SDL_ESM_Inst instance, esmErrOutMode_t pinOutMode)
| This API is use to set error pin out mode(LEVEL or PWM). This API must be called after the below API- SDL_ESM_init. More...
int32_t | SDL_ESM_registerECCCallback (SDL_ESM_Inst instance, uint32_t eventBitMap[], SDL_ESM_applicationCallback eccCallback, void *callbackArg)
| There are modules within SDL which will generate ESM errors intentionally in the course of running self-tests. The ECC module is one such module. To allow these modules to get the notification when the ESM error occurs, callback registration APIs are provided. The following APIs allow registration of a callback for specific events. This API is used by other SDL modules and not by the application. More...
int32_t | SDL_ESM_registerCCMCallback (SDL_ESM_Inst instance, uint32_t eventBitMap[], SDL_ESM_applicationCallback ccmCallback, void *callbackArg)
| There are modules within SDL which will generate ESM errors intentionally in the course of running self-tests. The CCM module is one such module. To allow these modules to get the notification when the ESM error occurs, callback registration APIs are provided. The following APIs allow registration of a callback for specific events. This API is used by other SDL modules and not by the application. More...
int32_t | SDL_ESM_init (SDL_ESM_Inst instance, const SDL_ESM_config *pConfig, SDL_ESM_applicationCallback applicationCallback, void *appArg)
| SDL ESM API to initialize an ESM instance. The API initializes the specified ESM instance with the provided configuration. The configuration will allow the application to specify for each event whether the interrupt is enabled or disabled, the priority of the event, and whether the nErrorPin assertion is enabled or disabled for the event. More...
void | SDL_ESM_hiInterruptHandler (void *arg)
| Esm Hi Interrupt Handler for MCU Esm Instance. More...
void | SDL_ESM_loInterruptHandler (void *arg)
| Esm Lo Interrupt Handler for MCU Esm Instance. More...
void | SDL_ESM_configInterruptHandler (void *arg)
| Esm Config Interrupt Handler for MCU Instance. More...
int32_t | SDL_ESM_getIntNumber (SDL_ESM_Inst esmInstType, SDL_ESM_IntType esmIntType)
| Esm get Interrupt Number corresponding to the input interrupt type. More...
int32_t | SDL_ESM_getWarmResetReason (void)
| Get the warm reset reason if it is generated by ESM. More...
void | SDL_ESM_enableESMWarmReset (void)
| Enable ESM warm reset reason. More...