Imported more library files
Not compiling currently
This commit is contained in:
185
Libs/platform/emdrv/dmadrv/inc/dmadrv.h
Normal file
185
Libs/platform/emdrv/dmadrv/inc/dmadrv.h
Normal file
@@ -0,0 +1,185 @@
|
||||
/***************************************************************************//**
|
||||
* @file
|
||||
* @brief DMADRV API definition.
|
||||
*******************************************************************************
|
||||
* # License
|
||||
* <b>Copyright 2018 Silicon Laboratories Inc. www.silabs.com</b>
|
||||
*******************************************************************************
|
||||
*
|
||||
* SPDX-License-Identifier: Zlib
|
||||
*
|
||||
* The licensor of this software is Silicon Laboratories Inc.
|
||||
*
|
||||
* This software is provided 'as-is', without any express or implied
|
||||
* warranty. In no event will the authors be held liable for any damages
|
||||
* arising from the use of this software.
|
||||
*
|
||||
* Permission is granted to anyone to use this software for any purpose,
|
||||
* including commercial applications, and to alter it and redistribute it
|
||||
* freely, subject to the following restrictions:
|
||||
*
|
||||
* 1. The origin of this software must not be misrepresented; you must not
|
||||
* claim that you wrote the original software. If you use this software
|
||||
* in a product, an acknowledgment in the product documentation would be
|
||||
* appreciated but is not required.
|
||||
* 2. Altered source versions must be plainly marked as such, and must not be
|
||||
* misrepresented as being the original software.
|
||||
* 3. This notice may not be removed or altered from any source distribution.
|
||||
*
|
||||
******************************************************************************/
|
||||
|
||||
#ifndef __SILICON_LABS_DMADRV_H__
|
||||
#define __SILICON_LABS_DMADRV_H__
|
||||
|
||||
#include "em_device.h"
|
||||
|
||||
#include "ecode.h"
|
||||
|
||||
#include "dmadrv_signals.h"
|
||||
|
||||
#if defined(LDMA_PRESENT) && (LDMA_COUNT == 1)
|
||||
#if (_SILICON_LABS_32B_SERIES > 2)
|
||||
#define EMDRV_DMADRV_LDMA_S3
|
||||
#else
|
||||
#define EMDRV_DMADRV_DMA_PRESENT
|
||||
#define EMDRV_DMADRV_LDMA
|
||||
#endif
|
||||
#else
|
||||
#error "No valid DMA engine defined."
|
||||
#endif
|
||||
|
||||
#include "dmadrv_config.h"
|
||||
#include "sl_code_classification.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/***************************************************************************//**
|
||||
* @addtogroup dmadrv
|
||||
* @{
|
||||
******************************************************************************/
|
||||
|
||||
/***************************************************************************//**
|
||||
* @addtogroup dmadrv_error_codes Error Codes
|
||||
* @{
|
||||
******************************************************************************/
|
||||
|
||||
#define ECODE_EMDRV_DMADRV_OK (ECODE_OK) ///< A successful return value.
|
||||
#define ECODE_EMDRV_DMADRV_PARAM_ERROR (ECODE_EMDRV_DMADRV_BASE | 0x00000001) ///< An illegal input parameter.
|
||||
#define ECODE_EMDRV_DMADRV_NOT_INITIALIZED (ECODE_EMDRV_DMADRV_BASE | 0x00000002) ///< DMA is not initialized.
|
||||
#define ECODE_EMDRV_DMADRV_ALREADY_INITIALIZED (ECODE_EMDRV_DMADRV_BASE | 0x00000003) ///< DMA has already been initialized.
|
||||
#define ECODE_EMDRV_DMADRV_CHANNELS_EXHAUSTED (ECODE_EMDRV_DMADRV_BASE | 0x00000004) ///< No DMA channels available.
|
||||
#define ECODE_EMDRV_DMADRV_IN_USE (ECODE_EMDRV_DMADRV_BASE | 0x00000005) ///< DMA is in use.
|
||||
#define ECODE_EMDRV_DMADRV_ALREADY_FREED (ECODE_EMDRV_DMADRV_BASE | 0x00000006) ///< A DMA channel was free.
|
||||
#define ECODE_EMDRV_DMADRV_CH_NOT_ALLOCATED (ECODE_EMDRV_DMADRV_BASE | 0x00000007) ///< A channel is not reserved.
|
||||
|
||||
/** @} (end addtogroup error codes) */
|
||||
/***************************************************************************//**
|
||||
* @brief
|
||||
* DMADRV transfer completion callback function.
|
||||
*
|
||||
* @details
|
||||
* The callback function is called when a transfer is complete.
|
||||
*
|
||||
* @param[in] channel
|
||||
* The DMA channel number.
|
||||
*
|
||||
* @param[in] sequenceNo
|
||||
* The number of times the callback was called. Useful on long chains of
|
||||
* linked transfers or on endless ping-pong type transfers.
|
||||
*
|
||||
* @param[in] userParam
|
||||
* Optional user parameter supplied on DMA invocation.
|
||||
*
|
||||
* @return
|
||||
* When doing ping-pong transfers, return true to continue or false to
|
||||
* stop transfers.
|
||||
******************************************************************************/
|
||||
typedef bool (*DMADRV_Callback_t)(unsigned int channel,
|
||||
unsigned int sequenceNo,
|
||||
void *userParam);
|
||||
|
||||
Ecode_t DMADRV_AllocateChannel(unsigned int *channelId,
|
||||
void *capabilities);
|
||||
Ecode_t DMADRV_DeInit(void);
|
||||
Ecode_t DMADRV_FreeChannel(unsigned int channelId);
|
||||
Ecode_t DMADRV_Init(void);
|
||||
|
||||
Ecode_t DMADRV_MemoryPeripheral(unsigned int channelId,
|
||||
DMADRV_PeripheralSignal_t peripheralSignal,
|
||||
void *dst,
|
||||
void *src,
|
||||
bool srcInc,
|
||||
int len,
|
||||
DMADRV_DataSize_t size,
|
||||
DMADRV_Callback_t callback,
|
||||
void *cbUserParam);
|
||||
Ecode_t DMADRV_PeripheralMemory(unsigned int channelId,
|
||||
DMADRV_PeripheralSignal_t peripheralSignal,
|
||||
void *dst,
|
||||
void *src,
|
||||
bool dstInc,
|
||||
int len,
|
||||
DMADRV_DataSize_t size,
|
||||
DMADRV_Callback_t callback,
|
||||
void *cbUserParam);
|
||||
Ecode_t DMADRV_MemoryPeripheralPingPong(unsigned int channelId,
|
||||
DMADRV_PeripheralSignal_t peripheralSignal,
|
||||
void *dst,
|
||||
void *src0,
|
||||
void *src1,
|
||||
bool srcInc,
|
||||
int len,
|
||||
DMADRV_DataSize_t size,
|
||||
DMADRV_Callback_t callback,
|
||||
void *cbUserParam);
|
||||
Ecode_t DMADRV_PeripheralMemoryPingPong(unsigned int channelId,
|
||||
DMADRV_PeripheralSignal_t peripheralSignal,
|
||||
void *dst0,
|
||||
void *dst1,
|
||||
void *src,
|
||||
bool dstInc,
|
||||
int len,
|
||||
DMADRV_DataSize_t size,
|
||||
DMADRV_Callback_t callback,
|
||||
void *cbUserParam);
|
||||
|
||||
#if defined(EMDRV_DMADRV_LDMA)
|
||||
Ecode_t DMADRV_LdmaStartTransfer(int channelId,
|
||||
LDMA_TransferCfg_t *transfer,
|
||||
LDMA_Descriptor_t *descriptor,
|
||||
DMADRV_Callback_t callback,
|
||||
void *cbUserParam);
|
||||
#elif defined(EMDRV_DMADRV_LDMA_S3)
|
||||
Ecode_t DMADRV_LdmaStartTransfer(int channelId,
|
||||
sl_hal_ldma_transfer_config_t *transfer,
|
||||
sl_hal_ldma_descriptor_t *descriptor,
|
||||
DMADRV_Callback_t callback,
|
||||
void *cbUserParam);
|
||||
#endif
|
||||
|
||||
Ecode_t DMADRV_PauseTransfer(unsigned int channelId);
|
||||
Ecode_t DMADRV_ResumeTransfer(unsigned int channelId);
|
||||
SL_CODE_CLASSIFY(SL_CODE_COMPONENT_DMADRV, SL_CODE_CLASS_TIME_CRITICAL)
|
||||
Ecode_t DMADRV_StopTransfer(unsigned int channelId);
|
||||
SL_CODE_CLASSIFY(SL_CODE_COMPONENT_DMADRV, SL_CODE_CLASS_TIME_CRITICAL)
|
||||
Ecode_t DMADRV_TransferActive(unsigned int channelId,
|
||||
bool *active);
|
||||
SL_CODE_CLASSIFY(SL_CODE_COMPONENT_DMADRV, SL_CODE_CLASS_TIME_CRITICAL)
|
||||
Ecode_t DMADRV_TransferCompletePending(unsigned int channelId,
|
||||
bool *pending);
|
||||
SL_CODE_CLASSIFY(SL_CODE_COMPONENT_DMADRV, SL_CODE_CLASS_TIME_CRITICAL)
|
||||
Ecode_t DMADRV_TransferDone(unsigned int channelId,
|
||||
bool *done);
|
||||
SL_CODE_CLASSIFY(SL_CODE_COMPONENT_DMADRV, SL_CODE_CLASS_TIME_CRITICAL)
|
||||
Ecode_t DMADRV_TransferRemainingCount(unsigned int channelId,
|
||||
int *remaining);
|
||||
|
||||
/** @} (end addtogroup dmadrv) */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SILICON_LABS_DMADRV_H__ */
|
||||
223
Libs/platform/emdrv/dmadrv/inc/s2_signals/dmadrv_signals.h
Normal file
223
Libs/platform/emdrv/dmadrv/inc/s2_signals/dmadrv_signals.h
Normal file
@@ -0,0 +1,223 @@
|
||||
#ifndef __SILICON_LABS_DMADRV_SIGNALS_S2_H__
|
||||
#define __SILICON_LABS_DMADRV_SIGNALS_S2_H__
|
||||
|
||||
#include "em_device.h"
|
||||
#include "ecode.h"
|
||||
#include "sl_enum.h"
|
||||
#include "em_ldma.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/***************************************************************************//**
|
||||
* @addtogroup dmadrv
|
||||
* @{
|
||||
******************************************************************************/
|
||||
|
||||
#if defined(LDMAXBAR_COUNT) && (LDMAXBAR_COUNT > 0)
|
||||
|
||||
/// Maximum length of one DMA transfer.
|
||||
#define DMADRV_MAX_XFER_COUNT ((int)((_LDMA_CH_CTRL_XFERCNT_MASK >> _LDMA_CH_CTRL_XFERCNT_SHIFT) + 1))
|
||||
|
||||
/// Peripherals that can trigger LDMA transfers.
|
||||
SL_ENUM_GENERIC(DMADRV_PeripheralSignal_t, uint32_t) {
|
||||
dmadrvPeripheralSignal_NONE = LDMAXBAR_CH_REQSEL_SOURCESEL_NONE, ///< No peripheral selected for DMA triggering.
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER0CC0
|
||||
dmadrvPeripheralSignal_TIMER0_CC0 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER0CC0 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER0CC1
|
||||
dmadrvPeripheralSignal_TIMER0_CC1 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER0CC1 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER0CC2
|
||||
dmadrvPeripheralSignal_TIMER0_CC2 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER0CC2 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER0UFOF
|
||||
dmadrvPeripheralSignal_TIMER0_UFOF = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER0UFOF | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER1CC0
|
||||
dmadrvPeripheralSignal_TIMER1_CC0 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER1CC0 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER1CC1
|
||||
dmadrvPeripheralSignal_TIMER1_CC1 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER1CC1 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER1CC2
|
||||
dmadrvPeripheralSignal_TIMER1_CC2 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER1CC2 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER1UFOF
|
||||
dmadrvPeripheralSignal_TIMER1_UFOF = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER1UFOF | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART0RXDATAV
|
||||
dmadrvPeripheralSignal_USART0_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_USART0RXDATAV | LDMAXBAR_CH_REQSEL_SOURCESEL_USART0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART0RXDATAVRIGHT
|
||||
dmadrvPeripheralSignal_USART0_RXDATAVRIGHT = LDMAXBAR_CH_REQSEL_SIGSEL_USART0RXDATAVRIGHT | LDMAXBAR_CH_REQSEL_SOURCESEL_USART0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART0TXBL
|
||||
dmadrvPeripheralSignal_USART0_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_USART0TXBL | LDMAXBAR_CH_REQSEL_SOURCESEL_USART0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART0TXBLRIGHT
|
||||
dmadrvPeripheralSignal_USART0_TXBLRIGHT = LDMAXBAR_CH_REQSEL_SIGSEL_USART0TXBLRIGHT | LDMAXBAR_CH_REQSEL_SOURCESEL_USART0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART0TXEMPTY
|
||||
dmadrvPeripheralSignal_USART0_TXEMPTY = LDMAXBAR_CH_REQSEL_SIGSEL_USART0TXEMPTY | LDMAXBAR_CH_REQSEL_SOURCESEL_USART0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART1RXDATAV
|
||||
dmadrvPeripheralSignal_USART1_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_USART1RXDATAV | LDMAXBAR_CH_REQSEL_SOURCESEL_USART1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART1RXDATAVRIGHT
|
||||
dmadrvPeripheralSignal_USART1_RXDATAVRIGHT = LDMAXBAR_CH_REQSEL_SIGSEL_USART1RXDATAVRIGHT | LDMAXBAR_CH_REQSEL_SOURCESEL_USART1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART1TXBL
|
||||
dmadrvPeripheralSignal_USART1_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_USART1TXBL | LDMAXBAR_CH_REQSEL_SOURCESEL_USART1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART1TXBLRIGHT
|
||||
dmadrvPeripheralSignal_USART1_TXBLRIGHT = LDMAXBAR_CH_REQSEL_SIGSEL_USART1TXBLRIGHT | LDMAXBAR_CH_REQSEL_SOURCESEL_USART1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART1TXEMPTY
|
||||
dmadrvPeripheralSignal_USART1_TXEMPTY = LDMAXBAR_CH_REQSEL_SIGSEL_USART1TXEMPTY | LDMAXBAR_CH_REQSEL_SOURCESEL_USART1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART2RXDATAV
|
||||
dmadrvPeripheralSignal_USART2_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_USART2RXDATAV | LDMAXBAR_CH_REQSEL_SOURCESEL_USART2,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART2RXDATAVRIGHT
|
||||
dmadrvPeripheralSignal_USART2_RXDATAVRIGHT = LDMAXBAR_CH_REQSEL_SIGSEL_USART2RXDATAVRIGHT | LDMAXBAR_CH_REQSEL_SOURCESEL_USART2,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART2TXBL
|
||||
dmadrvPeripheralSignal_USART2_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_USART2TXBL | LDMAXBAR_CH_REQSEL_SOURCESEL_USART2,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART2TXBLRIGHT
|
||||
dmadrvPeripheralSignal_USART2_TXBLRIGHT = LDMAXBAR_CH_REQSEL_SIGSEL_USART2TXBLRIGHT | LDMAXBAR_CH_REQSEL_SOURCESEL_USART2,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_USART2TXEMPTY
|
||||
dmadrvPeripheralSignal_USART2_TXEMPTY = LDMAXBAR_CH_REQSEL_SIGSEL_USART2TXEMPTY | LDMAXBAR_CH_REQSEL_SOURCESEL_USART2,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_I2C0RXDATAV
|
||||
dmadrvPeripheralSignal_I2C0_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_I2C0RXDATAV | LDMAXBAR_CH_REQSEL_SOURCESEL_I2C0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_I2C0TXBL
|
||||
dmadrvPeripheralSignal_I2C0_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_I2C0TXBL | LDMAXBAR_CH_REQSEL_SOURCESEL_I2C0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_I2C1RXDATAV
|
||||
dmadrvPeripheralSignal_I2C1_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_I2C1RXDATAV | LDMAXBAR_CH_REQSEL_SOURCESEL_I2C1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_I2C1TXBL
|
||||
dmadrvPeripheralSignal_I2C1_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_I2C1TXBL | LDMAXBAR_CH_REQSEL_SOURCESEL_I2C1,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_AGCRSSI
|
||||
dmadrvPeripheralSignal_AGC_RSSI = LDMAXBAR_CH_REQSEL_SIGSEL_AGCRSSI | LDMAXBAR_CH_REQSEL_SOURCESEL_AGC,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERBOF
|
||||
dmadrvPeripheralSignal_PROTIMER_BOF = LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERBOF | LDMAXBAR_CH_REQSEL_SOURCESEL_PROTIMER,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC0
|
||||
dmadrvPeripheralSignal_PROTIMER_CC0 = LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC0 | LDMAXBAR_CH_REQSEL_SOURCESEL_PROTIMER,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC1
|
||||
dmadrvPeripheralSignal_PROTIMER_CC1 = LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC1 | LDMAXBAR_CH_REQSEL_SOURCESEL_PROTIMER,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC2
|
||||
dmadrvPeripheralSignal_PROTIMER_CC2 = LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC2 | LDMAXBAR_CH_REQSEL_SOURCESEL_PROTIMER,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC3
|
||||
dmadrvPeripheralSignal_PROTIMER_CC3 = LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC3 | LDMAXBAR_CH_REQSEL_SOURCESEL_PROTIMER,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC4
|
||||
dmadrvPeripheralSignal_PROTIMER_CC4 = LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERCC4 | LDMAXBAR_CH_REQSEL_SOURCESEL_PROTIMER,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERPOF
|
||||
dmadrvPeripheralSignal_PROTIMER_POF = LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERPOF | LDMAXBAR_CH_REQSEL_SOURCESEL_PROTIMER,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERWOF
|
||||
dmadrvPeripheralSignal_PROTIMER_WOF = LDMAXBAR_CH_REQSEL_SIGSEL_PROTIMERWOF | LDMAXBAR_CH_REQSEL_SOURCESEL_PROTIMER,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_MODEMDEBUG
|
||||
dmadrvPeripheralSignal_MODEM_DEBUG = LDMAXBAR_CH_REQSEL_SIGSEL_MODEMDEBUG | LDMAXBAR_CH_REQSEL_SOURCESEL_MODEM,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_IADC0IADC_SCAN
|
||||
dmadrvPeripheralSignal_IADC0_IADC_SCAN = LDMAXBAR_CH_REQSEL_SIGSEL_IADC0IADC_SCAN | LDMAXBAR_CH_REQSEL_SOURCESEL_IADC0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_IADC0IADC_SINGLE
|
||||
dmadrvPeripheralSignal_IADC0_IADC_SINGLE = LDMAXBAR_CH_REQSEL_SIGSEL_IADC0IADC_SINGLE | LDMAXBAR_CH_REQSEL_SOURCESEL_IADC0,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_IMEMWDATA
|
||||
dmadrvPeripheralSignal_IMEM_WDATA = LDMAXBAR_CH_REQSEL_SIGSEL_IMEMWDATA | LDMAXBAR_CH_REQSEL_SOURCESEL_IMEM,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER2CC0
|
||||
dmadrvPeripheralSignal_TIMER2_CC0 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER2CC0 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER2,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER2CC1
|
||||
dmadrvPeripheralSignal_TIMER2_CC1 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER2CC1 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER2,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER2CC2
|
||||
dmadrvPeripheralSignal_TIMER2_CC2 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER2CC2 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER2,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER2UFOF
|
||||
dmadrvPeripheralSignal_TIMER2_UFOF = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER2UFOF | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER2,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER3CC0
|
||||
dmadrvPeripheralSignal_TIMER3_CC0 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER3CC0 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER3,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER3CC1
|
||||
dmadrvPeripheralSignal_TIMER3_CC1 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER3CC1 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER3,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER3CC2
|
||||
dmadrvPeripheralSignal_TIMER3_CC2 = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER3CC2 | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER3,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_TIMER3UFOF
|
||||
dmadrvPeripheralSignal_TIMER3_UFOF = LDMAXBAR_CH_REQSEL_SIGSEL_TIMER3UFOF | LDMAXBAR_CH_REQSEL_SOURCESEL_TIMER3,
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUART0TXFL
|
||||
dmadrvPeripheralSignal_EUART0_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_EUART0TXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUART0, ///< Trig on EUART0_TXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUART0RXFL
|
||||
dmadrvPeripheralSignal_EUART0_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_EUART0RXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUART0, ///< Trig on EUART0_RXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART0TXFL
|
||||
dmadrvPeripheralSignal_EUSART0_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART0TXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART0, ///< Trig on EUART0_TXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART0RXFL
|
||||
dmadrvPeripheralSignal_EUSART0_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART0RXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART0, ///< Trig on EUART0_RXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART1TXFL
|
||||
dmadrvPeripheralSignal_EUSART1_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART1TXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART1, ///< Trig on EUART1_TXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART1RXFL
|
||||
dmadrvPeripheralSignal_EUSART1_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART1RXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART1, ///< Trig on EUART1_RXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART2TXFL
|
||||
dmadrvPeripheralSignal_EUSART2_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART2TXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART2, ///< Trig on EUART2_TXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART2RXFL
|
||||
dmadrvPeripheralSignal_EUSART2_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART2RXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART2, ///< Trig on EUART2_RXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART3TXFL
|
||||
dmadrvPeripheralSignal_EUSART3_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART3TXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART3, ///< Trig on EUART2_TXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART3RXFL
|
||||
dmadrvPeripheralSignal_EUSART3_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART3RXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART3, ///< Trig on EUART3_RXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART4TXFL
|
||||
dmadrvPeripheralSignal_EUSART4_TXBL = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART4TXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART4, ///< Trig on EUART4_TXBL.
|
||||
#endif
|
||||
#if defined LDMAXBAR_CH_REQSEL_SIGSEL_EUSART4RXFL
|
||||
dmadrvPeripheralSignal_EUSART4_RXDATAV = LDMAXBAR_CH_REQSEL_SIGSEL_EUSART4RXFL | LDMAXBAR_CH_REQSEL_SOURCESEL_EUSART4, ///< Trig on EUART4_RXBL.
|
||||
#endif
|
||||
};
|
||||
|
||||
/// Data size of one LDMA transfer item.
|
||||
SL_ENUM(DMADRV_DataSize_t) {
|
||||
dmadrvDataSize1 = ldmaCtrlSizeByte, ///< Byte
|
||||
dmadrvDataSize2 = ldmaCtrlSizeHalf, ///< Halfword
|
||||
dmadrvDataSize4 = ldmaCtrlSizeWord ///< Word
|
||||
};
|
||||
|
||||
#endif /* defined( LDMAXBAR_COUNT ) && ( LDMAXBAR_COUNT == 1 ) */
|
||||
|
||||
/** @} (end addtogroup dmadrv) */
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* __SILICON_LABS_DMADRV_SIGNALS_S2_H__ */
|
||||
1707
Libs/platform/emdrv/dmadrv/src/dmadrv.c
Normal file
1707
Libs/platform/emdrv/dmadrv/src/dmadrv.c
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user