12#include "fsl_common.h"
26#define FSL_XECC_DRIVER_VERSION (MAKE_VERSION(2U, 0U, 0U))
40 XECC_ERR_SIG_EN_SINGLE_ERR_SIG_EN_MASK | XECC_ERR_SIG_EN_MULTI_ERR_SIG_EN_MASK,
51 XECC_ERR_STAT_EN_SINGLE_ERR_STAT_EN_MASK,
53 XECC_ERR_STAT_EN_MULIT_ERR_STAT_EN_MASK,
56 XECC_ERR_STAT_EN_MULIT_ERR_STAT_EN_MASK,
67 XECC_ERR_STATUS_SINGLE_ERR_MASK,
69 XECC_ERR_STATUS_MULTI_ERR_MASK,
72 XECC_ERR_STATUS_SINGLE_ERR_MASK | XECC_ERR_STATUS_MULTI_ERR_MASK,
119#if defined(__cplusplus)
162static inline uint32_t XECC_GetStatusFlags(
XECC_Type *base)
173static inline void XECC_ClearStatusFlags(
XECC_Type *base, uint32_t mask)
175 base->ERR_STATUS = mask;
184static inline void XECC_EnableInterruptStatus(
XECC_Type *base, uint32_t mask)
186 base->ERR_STAT_EN |= mask;
195static inline void XECC_DisableInterruptStatus(
XECC_Type *base, uint32_t mask)
197 base->ERR_STAT_EN &= ~mask;
213static inline void XECC_EnableInterrupts(
XECC_Type *base, uint32_t mask)
215 base->ERR_SIG_EN |= mask;
224static inline void XECC_DisableInterrupts(
XECC_Type *base, uint32_t mask)
226 base->ERR_SIG_EN &= ~mask;
240static inline void XECC_WriteECCEnable(
XECC_Type *base,
bool enable)
258static inline void XECC_ReadECCEnable(
XECC_Type *base,
bool enable)
276static inline void XECC_SwapECCEnable(
XECC_Type *base,
bool enable)
316#if defined(__cplusplus)
#define XECC_ECC_CTRL_SWAP_EN(x)
Definition: MIMXRT1166_cm4.h:92866
#define XECC_ECC_CTRL_RECC_EN(x)
Definition: MIMXRT1166_cm4.h:92858
#define XECC_ECC_CTRL_WECC_EN(x)
Definition: MIMXRT1166_cm4.h:92850
int32_t status_t
Type used for all status and error return values.
Definition: fsl_common.h:225
void XECC_Deinit(XECC_Type *base)
Deinitializes the XECC.
Definition: fsl_xecc.c:67
struct _xecc_config xecc_config_t
XECC user configuration.
void XECC_GetMultiErrorInfo(XECC_Type *base, xecc_multi_error_info_t *info)
XECC module get multiple error information.
Definition: fsl_xecc.c:140
void XECC_GetSingleErrorInfo(XECC_Type *base, xecc_single_error_info_t *info)
XECC module get single error information.
Definition: fsl_xecc.c:129
void XECC_Init(XECC_Type *base, const xecc_config_t *config)
XECC module initialization function.
Definition: fsl_xecc.c:34
struct _xecc_multi_error_info xecc_multi_error_info_t
XECC multiple error information, including multiple error address, ECC code, error data and error bit...
status_t XECC_ErrorInjection(XECC_Type *base, uint32_t errordata, uint8_t erroreccdata)
XECC module error injection.
Definition: fsl_xecc.c:108
void XECC_GetDefaultConfig(xecc_config_t *config)
Sets the XECC configuration structure to default values.
Definition: fsl_xecc.c:73
struct _xecc_single_error_info xecc_single_error_info_t
XECC single error information, including single error address, ECC code, error data,...
@ kXECC_MultiErrorInterruptFlag
Definition: fsl_xecc.h:68
@ kXECC_AllInterruptsFlag
Definition: fsl_xecc.h:71
@ kXECC_SingleErrorInterruptFlag
Definition: fsl_xecc.h:66
@ kXECC_MultiErrorInterruptEnable
Definition: fsl_xecc.h:37
@ kXECC_SingleErrorInterruptEnable
Definition: fsl_xecc.h:36
@ kXECC_AllInterruptsEnable
Definition: fsl_xecc.h:39
@ kXECC_SingleErrorInterruptStatusEnable
Definition: fsl_xecc.h:50
@ kXECC_MultiErrorInterruptStatusEnable
Definition: fsl_xecc.h:52
@ kXECC_AllInterruptsStatusEnable
Definition: fsl_xecc.h:55
Definition: MIMXRT1166_cm4.h:92798
XECC user configuration.
Definition: fsl_xecc.h:77
uint32_t Region0BaseAddress
Definition: fsl_xecc.h:84
uint32_t Region2BaseAddress
Definition: fsl_xecc.h:88
bool enableXECC
Definition: fsl_xecc.h:78
uint32_t Region1EndAddress
Definition: fsl_xecc.h:87
uint32_t Region2EndAddress
Definition: fsl_xecc.h:89
bool enableWriteECC
Definition: fsl_xecc.h:79
uint32_t Region1BaseAddress
Definition: fsl_xecc.h:86
uint32_t Region3EndAddress
Definition: fsl_xecc.h:91
uint32_t Region3BaseAddress
Definition: fsl_xecc.h:90
bool enableReadECC
Definition: fsl_xecc.h:80
bool enableSwap
Definition: fsl_xecc.h:81
uint32_t Region0EndAddress
Definition: fsl_xecc.h:85
XECC multiple error information, including multiple error address, ECC code, error data and error bit...
Definition: fsl_xecc.h:108
uint32_t multiErrorEccCode
Definition: fsl_xecc.h:111
uint32_t multiErrorData
Definition: fsl_xecc.h:110
uint32_t multiErrorBitField
Definition: fsl_xecc.h:112
uint32_t multiErrorAddress
Definition: fsl_xecc.h:109
XECC single error information, including single error address, ECC code, error data,...
Definition: fsl_xecc.h:97
uint32_t singleErrorData
Definition: fsl_xecc.h:99
uint32_t singleErrorEccCode
Definition: fsl_xecc.h:100
uint32_t singleErrorBitPos
Definition: fsl_xecc.h:101
uint32_t singleErrorAddress
Definition: fsl_xecc.h:98
uint32_t singleErrorBitField
Definition: fsl_xecc.h:102
Definition: deflate.c:114