13 #ifndef ADI_FLASH_DEF_H 14 #define ADI_FLASH_DEF_H 18 #include <drivers/dma/adi_dma.h> 19 #include <adi_flash_config.h> 21 #include <drivers/flash/adi_flash.h> 24 #define ADI_FEE_NUM_INSTANCES (1u) 26 #if defined (__ADUCM4x50__) 28 #define ADI_FEE_STATUS_ERROR_MASK ( BITM_FLCC_STAT_ACCESS_MODE \ 29 | BITM_FLCC_STAT_CACHESRAMPERR \ 30 | BITM_FLCC_STAT_ECCDCODE \ 31 | BITM_FLCC_STAT_ECCINFOSIGN \ 32 | BITM_FLCC_STAT_SIGNERR \ 33 | BITM_FLCC_STAT_OVERLAP \ 34 | BITM_FLCC_STAT_ECCRDERR \ 35 | BITM_FLCC_STAT_ECCERRCMD \ 36 | BITM_FLCC_STAT_SLEEPING \ 37 | BITM_FLCC_STAT_CMDFAIL) 38 #elif defined (__ADUCM302x__) 39 #define ADI_FEE_STATUS_ERROR_MASK ( BITM_FLCC_STAT_CACHESRAMPERR \ 40 | BITM_FLCC_STAT_ECCDCODE \ 41 | BITM_FLCC_STAT_ECCINFOSIGN \ 42 | BITM_FLCC_STAT_SIGNERR \ 43 | BITM_FLCC_STAT_OVERLAP \ 44 | BITM_FLCC_STAT_ECCRDERR \ 45 | BITM_FLCC_STAT_ECCERRCMD \ 46 | BITM_FLCC_STAT_SLEEPING \ 47 | BITM_FLCC_STAT_CMDFAIL) 52 #define ALIGN4 _Pragma("align(4)") 53 #elif defined(__ICCARM__) 54 #define ALIGN _Pragma("pack()") 55 #define ALIGN4 _Pragma("pack(4)") 56 #elif defined (__GNUC__) 57 #define ALIGN _Pragma("pack()") 58 #define ALIGN4 _Pragma("pack(4)") 61 #if (ADI_FEE_CFG_ECC_START_PAGE >= FEE_MAX_NUM_PAGES) 62 #error "ADI_FEE_CFG_ECC_START_PAGE range is invalid" 81 void Flash0_Int_Handler(
void);
82 void DMA_FLASH0_Int_Handler (
void);
90 typedef struct __ADI_FEE_CONFIG {
91 uint32_t eccIrqEnables;
94 uint32_t abortEnableLo;
95 uint32_t abortEnableHi;
101 typedef struct __ADI_FEE_DEVICE_INFO {
103 ADI_FLCC_TypeDef *pDev;
106 DMA_CHANn_TypeDef dmaChanNum;
107 ADI_FEE_CONFIG *pConfig;
110 } ADI_FEE_DEVICE_INFO;
114 typedef struct __ADI_FEE_DEV_DATA_TYPE {
121 ADI_FLCC_TypeDef *pDev;
122 ADI_FEE_DEVICE_INFO *pDevInfo;
125 ADI_CALLBACK pfCallback;
131 volatile uint32_t FlashStatusCopy;
132 volatile uint32_t feeError;
134 volatile bool bTransferInProgress;
137 volatile uint32_t *pNextWriteAddress;
138 volatile uint32_t *pNextReadAddress;
139 volatile uint32_t nRemainingBytes;
143 } ADI_FEE_DEV_DATA_TYPE;
struct __ADI_FEE_DEV_DATA_TYPE * ADI_FEE_HANDLE