123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666 |
-
- (DMA_IP_AR_RELEASE_MINOR_VERSION_H != DMA_IP_CFG_AR_RELEASE_MINOR_VERSION_H) || \
- (DMA_IP_AR_RELEASE_REVISION_VERSION_H != DMA_IP_CFG_AR_RELEASE_REVISION_VERSION_H) \
- )
-
- (DMA_IP_SW_MINOR_VERSION_H != DMA_IP_CFG_SW_MINOR_VERSION_H) || \
- (DMA_IP_SW_PATCH_VERSION_H != DMA_IP_CFG_SW_PATCH_VERSION_H) \
- )
-
- typedef enum{
- DMA_IP_INST_CANCEL_TRANSFER = 0U,
- DMA_IP_INST_CANCEL_TRANSFER_WITH_ERROR = 1U,
- DMA_IP_INST_HALT = 2U,
- DMA_IP_INST_RESUME = 3U,
- }Dma_Ip_LogicInstanceCmdType;
- typedef enum{
- DMA_IP_CH_SET_HARDWARE_REQUEST = 0U,
- DMA_IP_CH_CLEAR_HARDWARE_REQUEST = 1U,
- DMA_IP_CH_SET_SOFTWARE_REQUEST = 2U,
- DMA_IP_CH_CLEAR_DONE = 3U,
- DMA_IP_CH_CLEAR_ERROR = 4U,
- }Dma_Ip_LogicChannelCmdType;
- typedef enum{
- DMA_IP_CH_SET_EN_MASTER_ID_REPLICATION = 0U,
- DMA_IP_CH_SET_EN_BUFFERED_WRITES = 1U,
- DMA_IP_CH_SET_EN_MUX_SOURCE_REQ = 2U,
- DMA_IP_CH_SET_MUX_SOURCE_REQ = 3U,
- DMA_IP_CH_SET_EN_MUX_TRIGGER = 4U,
- DMA_IP_CH_SET_EN_HARDWARE_REQ = 5U,
- DMA_IP_CH_SET_EN_ERROR_INTERRUPT = 6U,
- DMA_IP_CH_SET_GROUP_PRIORITY = 7U,
- DMA_IP_CH_SET_LEVEL_PRIORITY = 8U,
- DMA_IP_CH_SET_EN_PREEMPTION_PRIORITY = 9U,
- DMA_IP_CH_SET_DIS_PREEMPT_PRIORITY = 10U,
- }Dma_Ip_LogicChannelGlobalParamType;
- typedef enum{
- DMA_IP_CH_SET_SOURCE_ADDRESS = 0U,
- DMA_IP_CH_SET_SOURCE_SIGNED_OFFSET = 1U,
- DMA_IP_CH_SET_SOURCE_SIGNED_LAST_ADDR_ADJ = 2U,
- DMA_IP_CH_SET_SOURCE_TRANSFER_SIZE = 3U,
- DMA_IP_CH_SET_SOURCE_MODULO = 4U,
- DMA_IP_CH_SET_DESTINATION_ADDRESS = 5U,
- DMA_IP_CH_SET_DESTINATION_SIGNED_OFFSET = 6U,
- DMA_IP_CH_SET_DESTINATION_SIGNED_LAST_ADDR_ADJ = 7U,
- DMA_IP_CH_SET_DESTINATION_TRANSFER_SIZE = 8U,
- DMA_IP_CH_SET_DESTINATION_MODULO = 9U,
- DMA_IP_CH_SET_MINORLOOP_EN_SRC_OFFSET = 10U,
- DMA_IP_CH_SET_MINORLOOP_EN_DST_OFFSET = 11U,
- DMA_IP_CH_SET_MINORLOOP_SIGNED_OFFSET = 12U,
- DMA_IP_CH_SET_MINORLOOP_EN_LINK = 13U,
- DMA_IP_CH_SET_MINORLOOP_LOGIC_LINK_CH = 14U,
- DMA_IP_CH_SET_MINORLOOP_SIZE = 15U,
- DMA_IP_CH_SET_MAJORLOOP_EN_LINK = 16U,
- DMA_IP_CH_SET_MAJORLOOP_LOGIC_LINK_CH = 17U,
- DMA_IP_CH_SET_MAJORLOOP_COUNT = 18U,
- DMA_IP_CH_SET_CONTROL_STORE_DST_ADDR = 19U,
- DMA_IP_CH_SET_CONTROL_SOFTWARE_REQUEST = 20U,
- DMA_IP_CH_SET_CONTROL_EN_MAJOR_INTERRUPT = 21U,
- DMA_IP_CH_SET_CONTROL_EN_HALF_MAJOR_INTERRUPT = 22U,
- DMA_IP_CH_SET_CONTROL_DIS_AUTO_REQUEST = 23U,
- DMA_IP_CH_SET_CONTROL_EN_END_OF_PACKET_SIGNAL = 24U,
- DMA_IP_CH_SET_CONTROL_BANDWIDTH = 25U,
- }Dma_Ip_LogicChannelTransferParamType;
- typedef enum{
- DMA_IP_CH_SET_CRC_MODE = 0U,
- DMA_IP_CH_SET_CRC_POLYNOMIAL = 1U,
- DMA_IP_CH_SET_CRC_EN_INITIAL_VALUE = 2U,
- DMA_IP_CH_SET_CRC_INITIAL_VALUE = 3U,
- DMA_IP_CH_SET_CRC_EN_LOGIC = 4U,
- }Dma_Ip_LogicChannelCrcParamType;
- typedef enum{
- DMA_IP_CH_GET_SOURCE_ADDRESS = 0U,
- DMA_IP_CH_GET_DESTINATION_ADDRESS = 1U,
- DMA_IP_CH_GET_BEGIN_ITER_COUNT = 2U,
- DMA_IP_CH_GET_CURRENT_ITER_COUNT = 3U,
- DMA_IP_CH_GET_STORE_DST_ADDR = 4U,
- DMA_IP_CH_GET_MASTER_ID = 5U,
- DMA_IP_CH_GET_MAJOR_INTERRUPT = 6U,
- DMA_IP_CH_GET_HALF_MAJOR_INTERRUPT = 7U,
- DMA_IP_CH_GET_FINAL_CRC = 8U,
- }Dma_Ip_LogicChannelInfoParamType;
- typedef struct{
- Dma_Ip_LogicChannelGlobalParamType Param;
- uint32 Value;
- }Dma_Ip_LogicChannelGlobalListType;
- typedef struct{
- Dma_Ip_LogicChannelTransferParamType Param;
- uint32 Value;
- }Dma_Ip_LogicChannelTransferListType, Dma_Ip_LogicChannelScatterGatherListType;
- typedef struct{
- Dma_Ip_LogicChannelCrcParamType Param;
- uint32 Value;
- }Dma_Ip_LogicChannelCrcListType;
- typedef struct{
- uint32 Errors;
- uint8 ActiveId;
- boolean Active;
- }Dma_Ip_LogicInstanceStatusType;
- typedef struct{
- Dma_Ip_HwChannelStateValueType ChStateValue;
-
- uint32 Errors;
- boolean Active;
- boolean Done;
- }Dma_Ip_LogicChannelStatusType;
- Dma_Ip_ReturnType Dma_Ip_Init(const Dma_Ip_InitType * const pxDmaInit);
- Dma_Ip_ReturnType Dma_Ip_Deinit(void);
- Dma_Ip_ReturnType Dma_Ip_SetLogicInstanceCommand(const uint32 LogicInst, const Dma_Ip_LogicInstanceCmdType Command);
- Dma_Ip_ReturnType Dma_Ip_GetLogicInstanceStatus(const uint32 LogicInst, Dma_Ip_LogicInstanceStatusType * const Status);
- Dma_Ip_ReturnType Dma_Ip_LogicChannelInit(const uint32 LogicCh);
- Dma_Ip_ReturnType Dma_Ip_LogicChannelDeinit(const uint32 LogicCh);
- Dma_Ip_ReturnType Dma_Ip_SetLogicChannelCommand(const uint32 LogicCh, const Dma_Ip_LogicChannelCmdType Command);
- Dma_Ip_ReturnType Dma_Ip_GetLogicChannelStatus(const uint32 LogicCh, Dma_Ip_LogicChannelStatusType * const ChStatus);
- Dma_Ip_ReturnType Dma_Ip_SetLogicChannelGlobalList(const uint32 LogicCh, const Dma_Ip_LogicChannelGlobalListType List[], const uint32 ListDimension);
- Dma_Ip_ReturnType Dma_Ip_SetLogicChannelTransferList(const uint32 LogicCh, const Dma_Ip_LogicChannelTransferListType List[], const uint32 ListDimension);
- Dma_Ip_ReturnType Dma_Ip_SetLogicChannelScatterGatherList(const uint32 LogicCh, const uint32 Element, const Dma_Ip_LogicChannelScatterGatherListType List[], const uint32 ListDimension);
- Dma_Ip_ReturnType Dma_Ip_SetLogicChannelCrcList(const uint32 LogicCh, Dma_Ip_LogicChannelCrcListType List[], const uint32 ListDimension);
- Dma_Ip_ReturnType Dma_Ip_GetLogicChannelParam(const uint32 LogicCh, const Dma_Ip_LogicChannelInfoParamType Param, uint32 * const Value);
- Dma_Ip_ReturnType Dma_Ip_SetLogicChannelScatterGatherConfig(const uint32 LogicCh, const uint32 Element);
|