|
AM273x MCU+ SDK
08.06.00
|
|
Go to the documentation of this file.
69 #include <sdl/include/hw_types.h>
81 #define BITS_PER_WORD (32u)
82 #define ESM_INTR_GRP_NUM (32U)
83 #define GROUP_NUMBER_BIT_SHIFT (5u)
84 #define NO_EVENT_VALUE (0xffffu)
85 #define SDL_ESM_EN_KEY_ENBALE_VAL (0xFU)
86 #define INVALID_BIT (0u)
90 #define ESM_NUM_INTR_PER_GRP (32U)
91 #define ESM_MAX_NUM_INTRS (1024U)
92 #define ESM_ESM_PIN_CTRL_KEY_RESET_VAL (0x5U)
93 #define ESM_SFT_RST_KEY_RESET_VAL (0xFU)
94 #define ESM_EN_KEY_MASK (0xFU)
95 #define ESM_EN_KEY_ENBALE_VAL (0xFU)
96 #define ESM_EN_KEY_DISABLE_VAL (0x0U)
100 #define SDL_ESM_ESMIEPSR(m) ((uint32_t) ESM_ESMIEPSR1 + \
101 (((m) / 32U) * 0x40U))
103 #define SDL_ESM_ESMIEPCR(m) ((uint32_t) ESM_ESMIEPCR1 + \
104 (((m) / 32U) * 0x40U))
106 #define SDL_ESM_ESMIESR(m) ((uint32_t) ESM_ESMIESR1 + \
107 (((m) / 32U) * 0x40U))
109 #define SDL_ESM_ESMIECR(m) ((uint32_t) ESM_ESMIECR1 + \
110 (((m) / 32U) * 0x40U))
112 #define SDL_ESM_ESMILSR(m) ((uint32_t) ESM_ESMILSR1 + \
113 (((m) / 32U) * 0x40U))
115 #define SDL_ESM_ESMILCR(m) ((uint32_t) ESM_ESMILCR1 + \
116 (((m) / 32U) * 0x40U))
118 #define SDL_ESM_ESMSR(m) ((uint32_t) ESM_ESMSR1 + \
119 (((m) / 32U) * 0x40U))
122 #define SDL_ESM_ESMSR_NUM_ELEMS (4U)
125 #define ESM_GATING_MASK (0xFU)
127 #define ESM_GATING_SHIFT (0x4U)
129 #define ESM_NUM_EVTS_PER_GATING_REG (0x8U)
131 #define ESM_GATING_GROUP (0x4U)
133 #define BITS_PER_WORD (32u)
139 #define ESM_NUMBER_OF_GROUP_REGS (32u)
144 #define SDL_ESM_NUM_GROUP_MAX (3U)
145 #define SDL_ESM_NUM_INTR_PER_GROUP (128U)
158 #define SDL_ESM_OPERATION_MODE_NORMAL 0x0U
160 #define SDL_ESM_OPERATION_MODE_ERROR_FORCE 0xAu
172 #define SDL_ESM_INTR_TYPE_LOW_PRIO_ERROR (0x1u)
174 #define SDL_ESM_INTR_TYPE_HIGH_PRIO_ERROR (0x2u)
186 #define SDL_ESM_INTR_PRIORITY_LEVEL_LOW (0x0u)
188 #define SDL_ESM_INTR_PRIORITY_LEVEL_HIGH (0x1u)
374 uint32_t *pInfluence);
void * SDL_ESM_Handle
A handle that is returned from a ESM_Init() call.
Definition: sdl/esm/v1/esm.h:193
int32_t SDL_ESM_setInfluenceOnErrPin(uint32_t baseAddr, uint32_t intrSrc, bool enable)
This API is used to set the influence of interrupt on nERROR pin.
int32_t SDL_ESM_setIntrPriorityLvl(uint32_t baseAddr, uint32_t intrSrc, esmIntrPriorityLvl_t intrPriorityLvl)
This API is used to set interrupt level.
volatile uint32_t ESMSR1
Definition: sdl/esm/v1/esm.h:219
volatile uint32_t ESMIECR1
Definition: sdl/esm/v1/esm.h:216
volatile uint32_t ESMILCR1
Definition: sdl/esm/v1/esm.h:218
volatile uint32_t ESMEKR
Definition: sdl/esm/v1/esm.h:227
int32_t SDL_ESM_getErrPinLowTimePreload(uint32_t baseAddr, uint32_t *pLowTime)
This API is used to read the low time counter pre-load value.
int32_t SDL_ESM_getInfluenceOnErrPin(uint32_t baseAddr, uint32_t intrSrc, uint32_t *pInfluence)
This API is used to get the influence of interrupt on nERROR pin.
ESM static registers list.
Definition: sdl/esm/v1/esm.h:212
int32_t SDL_ESM_getHighPriorityLvlIntrStatus(uint32_t baseAddr, uint32_t *pstatus)
This API is used to get the High priority level interrupt status.
int32_t SDL_ESM_getIntrStatus(uint32_t baseAddr, uint32_t intrSrc, uint32_t *pStaus)
This API is used to get the interrupt status.
uint32_t esmOperationMode_t
ESM Operation Mode type.
Definition: sdl/esm/v1/esm.h:156
volatile uint32_t ESMSSR2
Definition: sdl/esm/v1/esm.h:228
int32_t SDL_ESM_getPinMode(uint32_t baseAddr, esmOperationMode_t *pMode)
This API is used to read operation mode of ESM module.
int32_t SDL_ESM_getGroupIntrStatus(uint32_t baseAddr, esmIntrPriorityLvl_t intrPrioType, SDL_ESM_GroupIntrStatus *pIntrstatus)
This API is used to get the interrupt/error status for a group. This will also return highest pending...
Structure to access the status of interrupts belonging to a High or Low priority interrupt.
Definition: sdl/esm/v1/esm.h:204
volatile uint32_t ESMSR3
Definition: sdl/esm/v1/esm.h:221
#define SDL_ESM_NUM_INTR_PER_GROUP
Definition: sdl/esm/v1/esm.h:145
volatile uint32_t ESMSR2
Definition: sdl/esm/v1/esm.h:220
uint32_t esmIntrType_t
Definition: sdl/esm/v1/esm.h:170
volatile uint32_t ESMIOFFLR
Definition: sdl/esm/v1/esm.h:224
int32_t SDL_ESM_getErrPinStatus(uint32_t baseAddr, uint32_t *pStatus)
This API is used to get the current status of nERROR pin.
int32_t SDL_ESM_getIntrPriorityLvl(uint32_t baseAddr, uint32_t intrSrc, esmIntrPriorityLvl_t *pIntrPriorityLvl)
This API is used to get interrupt level.
volatile uint32_t ESMLTCR
Definition: sdl/esm/v1/esm.h:225
int32_t SDL_ESM_isEnableIntr(uint32_t baseAddr, uint32_t intrSrc, uint32_t *pEnStatus)
This API is used check if interrupt is enabled/disabled.
int32_t SDL_ESM_setErrPinLowTimePreload(uint32_t baseAddr, uint32_t lowTime)
This API is used to configure the low time counter pre-load value.
int32_t SDL_ESM_getCurrErrPinLowTimeCnt(uint32_t baseAddr, uint32_t *pPinCntrPre)
This API is used to get the current value of low time counter.
volatile uint32_t ESMIEPSR1
Definition: sdl/esm/v1/esm.h:213
uint32_t esmIntrPriorityLvl_t
Definition: sdl/esm/v1/esm.h:184
volatile uint32_t ESMIEPCR1
Definition: sdl/esm/v1/esm.h:214
volatile uint32_t ESMIOFFHR
Definition: sdl/esm/v1/esm.h:223
#define ESM_NUM_INTR_PER_GRP
Definition: sdl/esm/v1/esm.h:90
int32_t SDL_ESM_disableIntr(uint32_t baseAddr, uint32_t intrNum)
This API is used to disable interrupt.
volatile uint32_t ESMILSR1
Definition: sdl/esm/v1/esm.h:217
int32_t SDL_ESM_enableIntr(uint32_t baseAddr, uint32_t intrNum)
This API is used to enable interrupt.
volatile uint32_t ESMLTCPR
Definition: sdl/esm/v1/esm.h:226
int32_t SDL_ESM_clearGroupIntrStatus(uint32_t baseAddr, uint32_t grpNum)
This API is used to clear the interrupt/error status for a group. This will also return highest pendi...
int32_t SDL_ESM_setMode(uint32_t baseAddr, esmOperationMode_t mode)
This API is used to configure operation mode of ESM module.
volatile uint32_t ESMEPSR
Definition: sdl/esm/v1/esm.h:222
int32_t SDL_ESM_clearIntrStatus(uint32_t baseAddr, uint32_t intrSrc)
This API is used to clear the interrupt status.
int32_t SDL_ESM_getLowPriorityLvlIntrStatus(uint32_t baseAddr, uint32_t *pstatus)
This API is used to get the low priority level interrupt status.
int32_t SDL_ESM_resetErrPin(uint32_t baseAddr)
This API is used to reset the nERROR pin.
volatile uint32_t ESMIESR1
Definition: sdl/esm/v1/esm.h:215