 |
AM64x MCU+ SDK
12.01.00
|
|
Go to the documentation of this file.
58 #include <drivers/hw_include/csl_types.h>
59 #include <drivers/hw_include/cslr_mcspi.h>
60 #include <drivers/hw_include/cslr.h>
61 #include <drivers/mcspi/v0/lld/dma/mcspi_dma.h>
82 #define MCSPI_STATUS_SUCCESS ((int32_t)0)
87 #define MCSPI_STATUS_FAILURE ((int32_t)-1)
92 #define MCSPI_TIMEOUT ((int32_t)-2)
97 #define MCSPI_INVALID_PARAM ((int32_t)-3)
102 #define MCSPI_STATUS_BUSY ((int32_t)-4)
107 #define MCSPI_INVALID_STATE ((int32_t)-5)
117 #define MCSPI_NO_WAIT ((uint32_t)0)
122 #define MCSPI_WAIT_FOREVER ((uint32_t)-1)
131 #define MCSPI_STATE_RESET ((uint32_t)0U)
136 #define MCSPI_STATE_READY ((uint32_t)1U)
141 #define MCSPI_STATE_BUSY ((uint32_t)2U)
146 #define MCSPI_STATE_ERROR ((uint32_t)3U)
158 #define MCSPI_CHANNEL_0 (0U)
159 #define MCSPI_CHANNEL_1 (1U)
160 #define MCSPI_CHANNEL_2 (2U)
161 #define MCSPI_CHANNEL_3 (3U)
172 #define MCSPI_OPER_MODE_POLLED (0U)
173 #define MCSPI_OPER_MODE_INTERRUPT (1U)
174 #define MCSPI_OPER_MODE_DMA (2U)
178 #define MCSPI_MAX_NUM_CHANNELS (4U)
188 #define MCSPI_TRANSFER_COMPLETED ((int32_t)0U)
189 #define MCSPI_TRANSFER_STARTED ((int32_t)1U)
190 #define MCSPI_TRANSFER_CANCELLED ((int32_t)2U)
191 #define MCSPI_TRANSFER_FAILED ((int32_t)3U)
192 #define MCSPI_TRANSFER_CSN_DEASSERT ((int32_t)4U)
193 #define MCSPI_TRANSFER_TIMEOUT ((int32_t)5U)
212 #define MCSPI_MS_MODE_CONTROLLER (CSL_MCSPI_MODULCTRL_MS_MASTER)
214 #define MCSPI_MS_MODE_PERIPHERAL (CSL_MCSPI_MODULCTRL_MS_SLAVE)
231 #define MCSPI_FF_POL0_PHA0 (0U)
232 #define MCSPI_FF_POL0_PHA1 (1U)
233 #define MCSPI_FF_POL1_PHA0 (2U)
234 #define MCSPI_FF_POL1_PHA1 (3U)
246 #define MCSPI_CS_POL_HIGH (CSL_MCSPI_CH0CONF_EPOL_ACTIVEHIGH)
248 #define MCSPI_CS_POL_LOW (CSL_MCSPI_CH0CONF_EPOL_ACTIVELOW)
257 #define MCSPI_TR_MODE_TX_RX (CSL_MCSPI_CH0CONF_TRM_TRANSRECEI)
258 #define MCSPI_TR_MODE_RX_ONLY (CSL_MCSPI_CH0CONF_TRM_RECEIVONLY)
259 #define MCSPI_TR_MODE_TX_ONLY (CSL_MCSPI_CH0CONF_TRM_TRANSONLY)
269 #define MCSPI_IS_D0 (CSL_MCSPI_CH0CONF_IS_LINE0)
271 #define MCSPI_IS_D1 (CSL_MCSPI_CH0CONF_IS_LINE1)
281 #define MCSPI_DPE_ENABLE (CSL_MCSPI_CH0CONF_DPE0_ENABLED)
283 #define MCSPI_DPE_DISABLE (CSL_MCSPI_CH0CONF_DPE0_DISABLED)
292 #define MCSPI_SLV_CS_SELECT_0 (CSL_MCSPI_CH0CONF_SPIENSLV_SPIEN0)
293 #define MCSPI_SLV_CS_SELECT_1 (CSL_MCSPI_CH0CONF_SPIENSLV_SPIEN1)
294 #define MCSPI_SLV_CS_SELECT_2 (CSL_MCSPI_CH0CONF_SPIENSLV_SPIEN2)
295 #define MCSPI_SLV_CS_SELECT_3 (CSL_MCSPI_CH0CONF_SPIENSLV_SPIEN3)
305 #define MCSPI_SB_POL_HIGH (CSL_MCSPI_CH0CONF_SBPOL_HIGHLEVEL)
307 #define MCSPI_SB_POL_LOW (CSL_MCSPI_CH0CONF_SBPOL_LOWLEVEL)
319 #define MCSPI_TCS0_0_CLK (CSL_MCSPI_CH0CONF_TCS0_ZEROCYCLEDLY)
321 #define MCSPI_TCS0_1_CLK (CSL_MCSPI_CH0CONF_TCS0_ONECYCLEDLY)
323 #define MCSPI_TCS0_2_CLK (CSL_MCSPI_CH0CONF_TCS0_TWOCYCLEDLY)
325 #define MCSPI_TCS0_3_CLK (CSL_MCSPI_CH0CONF_TCS0_THREECYCLEDLY)
338 #define MCSPI_CH_MODE_SINGLE (CSL_MCSPI_MODULCTRL_SINGLE_SINGLE)
340 #define MCSPI_CH_MODE_MULTI (CSL_MCSPI_MODULCTRL_SINGLE_MULTI)
353 #define MCSPI_PINMODE_3PIN (CSL_MCSPI_MODULCTRL_PIN34_3PINMODE)
354 #define MCSPI_PINMODE_4PIN (CSL_MCSPI_MODULCTRL_PIN34_4PINMODE)
366 #define MCSPI_INITDLY_0 (CSL_MCSPI_MODULCTRL_INITDLY_NODELAY)
368 #define MCSPI_INITDLY_4 (CSL_MCSPI_MODULCTRL_INITDLY_4CLKDLY)
370 #define MCSPI_INITDLY_8 (CSL_MCSPI_MODULCTRL_INITDLY_8CLKDLY)
372 #define MCSPI_INITDLY_16 (CSL_MCSPI_MODULCTRL_INITDLY_16CLKDLY)
374 #define MCSPI_INITDLY_32 (CSL_MCSPI_MODULCTRL_INITDLY_32CLKDLY)
378 #define MCSPI_ERROR_TX_UNDERFLOW (0x00000001U)
379 #define MCSPI_ERROR_RX_OVERFLOW (0x00000002U)
382 #define MCSPI_MAX_CLK_DIVIDER_SUPPORTED (4096U)
404 #define MCSPI_DMA_MAX_TRANSFER_BYTES (4095U)
411 #define MCSPI_FIFO_LENGTH (64U)
415 #define MCSPI_RX_FIFO_ENABLE ((uint32_t) CSL_MCSPI_CH0CONF_FFER_FFENABLED \
417 CSL_MCSPI_CH0CONF_FFER_SHIFT)
422 #define MCSPI_RX_FIFO_DISABLE ((uint32_t) CSL_MCSPI_CH0CONF_FFER_FFDISABLED \
423 << CSL_MCSPI_CH0CONF_FFER_SHIFT)
428 #define MCSPI_TX_FIFO_ENABLE ((uint32_t) CSL_MCSPI_CH0CONF_FFEW_FFENABLED \
429 << CSL_MCSPI_CH0CONF_FFEW_SHIFT)
434 #define MCSPI_TX_FIFO_DISABLE ((uint32_t) CSL_MCSPI_CH0CONF_FFEW_FFDISABLED \
435 << CSL_MCSPI_CH0CONF_FFEW_SHIFT)
440 #define MCSPI_REG_OFFSET (0x14U)
442 #define MCSPI_CHCONF(x) ((uint32_t) CSL_MCSPI_CH0CONF + \
443 (uint32_t) ((uint32_t) MCSPI_REG_OFFSET * \
446 #define MCSPI_CHSTAT(x) ((uint32_t) CSL_MCSPI_CH0STAT + \
447 (uint32_t) ((uint32_t) MCSPI_REG_OFFSET * \
450 #define MCSPI_CHCTRL(x) ((uint32_t) CSL_MCSPI_CH0CTRL + \
451 (uint32_t) ((uint32_t) MCSPI_REG_OFFSET * \
454 #define MCSPI_CHTX(x) ((uint32_t) CSL_MCSPI_TX0 + \
455 (uint32_t) ((uint32_t) MCSPI_REG_OFFSET * \
458 #define MCSPI_CHRX(x) ((uint32_t) CSL_MCSPI_RX0 + \
459 (uint32_t) ((uint32_t) MCSPI_REG_OFFSET * \
462 #define MCSPI_CLKD_MASK (0x0FU)
465 #define MCSPI_IRQSTATUS_CLEAR_ALL (CSL_MCSPI_IRQSTATUS_EOW_MASK | \
466 CSL_MCSPI_IRQSTATUS_WKS_MASK | \
467 CSL_MCSPI_IRQSTATUS_RX3_FULL_MASK | \
468 CSL_MCSPI_IRQSTATUS_TX3_UNDERFLOW_MASK | \
469 CSL_MCSPI_IRQSTATUS_TX3_EMPTY_MASK | \
470 CSL_MCSPI_IRQSTATUS_RX2_FULL_MASK | \
471 CSL_MCSPI_IRQSTATUS_TX2_UNDERFLOW_MASK | \
472 CSL_MCSPI_IRQSTATUS_TX2_EMPTY_MASK | \
473 CSL_MCSPI_IRQSTATUS_RX1_FULL_MASK | \
474 CSL_MCSPI_IRQSTATUS_TX1_UNDERFLOW_MASK | \
475 CSL_MCSPI_IRQSTATUS_TX1_EMPTY_MASK | \
476 CSL_MCSPI_IRQSTATUS_RX0_OVERFLOW_MASK | \
477 CSL_MCSPI_IRQSTATUS_RX0_FULL_MASK | \
478 CSL_MCSPI_IRQSTATUS_TX0_UNDERFLOW_MASK | \
479 CSL_MCSPI_IRQSTATUS_TX0_EMPTY_MASK)
553 typedef struct MCSPI_ExtendedParams_s
797 uint32_t dataSize, uint32_t csDisable);
800 uint32_t baseAddr, uint32_t intFlags)
803 CSL_REG32_WR(baseAddr + CSL_MCSPI_SYST, chObj->
systRegVal);
805 CSL_REG32_WR(baseAddr + CSL_MCSPI_IRQSTATUS, intFlags);
1120 uint32_t numWordsRxTx);
1211 static inline uint32_t
MCSPI_readChConf(uint32_t baseAddr, uint32_t chNum);
1265 uint32_t enableFlag);
1287 uint32_t enableFlag);
1324 uint32_t dataWidth);
1406 if(chConfig != NULL)
1432 trans->
txBuf = NULL;
1433 trans->
rxBuf = NULL;
1441 uint8_t bufWidthShift = 0U;
1447 else if(dataSize <= 16U)
1456 return bufWidthShift;
1492 CSL_REG32_WR(baseAddr +
MCSPI_CHTX(chNum), txData);
1497 uint32_t enableFlag)
1503 enableFlag >> CSL_MCSPI_CH0CONF_FFEW_SHIFT);
1508 uint32_t enableFlag)
1514 enableFlag >> CSL_MCSPI_CH0CONF_FFER_SHIFT);
1520 return (CSL_REG32_RD(baseAddr +
MCSPI_CHRX(chNum)));
1529 CSL_FINS(regVal, MCSPI_CH0CONF_WL, (dataWidth - 1U));
int32_t MCSPI_lld_readWriteDmaCancel(MCSPILLD_Handle hMcspi)
This API cancels current McSPI transfer in DMA mode.
uint32_t pinMode
Definition: mcspi_lld.h:731
static uint8_t MCSPI_getBufWidthShift(uint32_t dataSize)
This API will return the buffer width in bytes based on dataSize.
Definition: mcspi_lld.h:1439
int32_t MCSPI_lld_dmaDeInit(MCSPILLD_Handle hMcspi, const MCSPI_ChConfig *chCfg, uint32_t chCnt)
API to close an MCSPI DMA channel.
uint32_t(* MCSPI_clockGet)(void)
Definition: mcspi_lld.h:73
uint8_t * curTxBufPtr
Definition: mcspi_lld.h:679
MCSPI driver initialization object.
Definition: mcspi_lld.h:720
MCSPI channel object.
Definition: mcspi_lld.h:661
uint32_t count
Definition: mcspi_lld.h:515
uint32_t txFifoTrigLvl
Definition: mcspi_lld.h:625
#define MCSPI_CHTX(x)
Base address of McSPI_CHTX(x)
Definition: mcspi_lld.h:454
#define MCSPI_FF_POL0_PHA0
Definition: mcspi_lld.h:231
uint32_t rxFifoTrigLvl
Definition: mcspi_lld.h:627
uint32_t intrNum
Definition: mcspi_lld.h:723
int32_t MCSPI_lld_readWriteCancel(MCSPILLD_Handle hMcspi)
This API cancels current McSPI transfer.
#define MCSPI_DPE_DISABLE
No transmission on Data Line.
Definition: mcspi_lld.h:283
uint32_t status
Definition: mcspi_lld.h:540
Data structure used with MCSPI_transfer()
Definition: mcspi_lld.h:494
uint32_t effTxFifoDepth
Definition: mcspi_lld.h:701
#define MCSPI_TCS0_0_CLK
0.5 clock cycles delay
Definition: mcspi_lld.h:319
static void MCSPI_writeTxDataReg(uint32_t baseAddr, uint32_t txData, uint32_t chNum)
This API will put the data on to the McSPI Channel transmit register.
Definition: mcspi_lld.h:1487
uint32_t transferDataSize
Definition: mcspi_lld.h:780
uint32_t MCSPI_lld_getBaseAddr(MCSPILLD_Handle handle)
Function to get base address of MCSPI instance of a particular handle.
uint32_t intrMask
Definition: mcspi_lld.h:705
MCSPI_clockGet clockP_get
Definition: mcspi_lld.h:745
#define MCSPI_WAIT_FOREVER
Value to use when needing a timeout of infinity or wait forver until resource is available.
Definition: mcspi_lld.h:122
uint32_t chConfRegVal
Definition: mcspi_lld.h:709
struct MCSPI_DmaChConfig_s * MCSPI_DmaChConfig
Definition: mcspi_dma_udma.h:94
static void MCSPI_enableTxFIFO(uint32_t baseAddr, uint32_t chNum, uint32_t enableFlag)
This API will enable/disable the Tx FIFOs of McSPI peripheral.
Definition: mcspi_lld.h:1495
int32_t MCSPI_lld_transferCancel(MCSPILLD_Handle hMcspi)
This API cancels current McSPI transfer.
uint32_t errorFlag
Definition: mcspi_lld.h:770
#define MCSPI_SLV_CS_SELECT_0
Definition: mcspi_lld.h:292
uint8_t intrPriority
Definition: mcspi_lld.h:727
void(* MCSPI_errorCallbackFxn)(void *args, uint32_t transferStatus)
The definition of a error callback function used by the SPI driver when used in MCSPI_TRANSFER_MODE_C...
Definition: mcspi_lld.h:651
uint32_t dmaChConfigNum
Definition: mcspi_lld.h:667
#define MCSPI_CHCONF(x)
Base address of McSPI_CHCONF(x)
Definition: mcspi_lld.h:442
void MCSPI_lld_controllerIsr(void *args)
This is the McSPI Controller ISR and can be used as IRQ handler in Controller mode.
int32_t MCSPI_lld_readWriteIntr(MCSPILLD_Handle hMcspi, void *txBuf, void *rxBuf, uint32_t count, uint32_t timeout, const MCSPI_ExtendedParams *extendedParams)
This API reads writes data from the McSPI instance in Interrupt mode.
uint32_t bitRate
Definition: mcspi_lld.h:596
int32_t MCSPI_lld_dmaTransfer(MCSPILLD_Handle hMcspi, MCSPI_ChObject *chObj, const MCSPI_Transaction *transaction)
API to do a DMA transfer using a specific DMA driver - UDMA, EDMA etc.
void * args
Definition: mcspi_lld.h:575
MCSPI_transferCallbackFxn transferCallbackFxn
Definition: mcspi_lld.h:747
int32_t MCSPI_lld_read(MCSPILLD_Handle hMcspi, void *rxBuf, uint32_t count, uint32_t timeout, const MCSPI_ExtendedParams *extendedParams)
This API reads data from the McSPI instance in Polling mode.
static void MCSPI_lld_Transaction_init(MCSPI_Transaction *trans)
Function to initialize the MCSPI_Transaction struct to its defaults.
Definition: mcspi_lld.h:1424
MCSPI driver object.
Definition: mcspi_lld.h:757
#define MCSPI_SB_POL_LOW
Start-bit polarity is held to 0 during MCSPI transfer.
Definition: mcspi_lld.h:307
uint32_t timeout
Definition: mcspi_lld.h:538
static uint32_t MCSPI_readRxDataReg(uint32_t baseAddr, uint32_t chNum)
This API will return the data present in the MCSPI_RX register.
Definition: mcspi_lld.h:1517
#define MCSPI_DPE_ENABLE
Data line selected for transmission.
Definition: mcspi_lld.h:281
uint32_t csDisable
Definition: mcspi_lld.h:498
#define MCSPI_IS_D1
Data line 1 (SPIDAT[1]) selected for reception.
Definition: mcspi_lld.h:271
uint32_t chCtrlRegVal
Definition: mcspi_lld.h:711
struct MCSPILLD_InitObject * MCSPILLD_InitHandle
void MCSPI_lld_peripheralIsr(void *args)
This is the McSPI Peripheral ISR and can be used as IRQ handler in Peripheral mode.
#define MCSPI_CHRX(x)
Base address of McSPI_CHRX(x)
Definition: mcspi_lld.h:458
int32_t MCSPI_lld_writeDma(MCSPILLD_Handle hMcspi, void *txBuf, uint32_t count, uint32_t timeout, const MCSPI_ExtendedParams *extendedParams)
This API writes data to the McSPI instance in DMA mode.
uint32_t trMode
Definition: mcspi_lld.h:600
void(* MCSPI_transferCallbackFxn)(void *args, uint32_t transferStatus)
The definition of a transfer completion callback function used by the SPI driver when used in MCSPI_T...
Definition: mcspi_lld.h:642
MCSPILLD_InitHandle hMcspiInit
Definition: mcspi_lld.h:768
#define MCSPI_TR_MODE_TX_RX
Definition: mcspi_lld.h:257
#define MCSPI_CHSTAT(x)
Base address of McSPI_CHSTAT(x)
Definition: mcspi_lld.h:446
#define MCSPI_CHANNEL_0
Definition: mcspi_lld.h:158
uint32_t transferChannel
Definition: mcspi_lld.h:776
static void MCSPI_lld_ChConfig_init(MCSPI_ChConfig *chConfig)
Function to initialize the MCSPI_ChConfig struct to its defaults.
Definition: mcspi_lld.h:1404
uint32_t isOpen
Definition: mcspi_lld.h:673
static uint32_t MCSPI_readChCtrlReg(uint32_t baseAddr, uint32_t chNum)
This API returns Channel control register value.
Definition: mcspi_lld.h:1465
uint32_t state
Definition: mcspi_lld.h:764
int32_t MCSPI_lld_initDma(MCSPILLD_Handle hMcspi)
This API Initializes the McSPI instance in DMA Mode.
int32_t MCSPI_lld_deInitDma(MCSPILLD_Handle hMcspi)
This API De-Initializes the McSPI instance in DMA mode.
int32_t MCSPI_lld_dmaChInit(MCSPILLD_Handle hMcspi, uint32_t chCnt)
API to init a DMA Channel opened.
int32_t MCSPI_lld_transfer(MCSPILLD_Handle hMcspi, MCSPI_Transaction *transaction)
This API transfers data from the McSPI instance in Polling mode.
void MCSPI_initiateLastChunkTransfer(MCSPILLD_Handle hMcspi, MCSPI_ChObject *chObj, const MCSPI_Transaction *transaction)
This API will initiate the last chuncks when FIFO is enabled. The byte thats are non-multiple of FIFO...
uint32_t curRxWords
Definition: mcspi_lld.h:687
uint16_t count
Definition: tisci_pm_device.h:1
int32_t MCSPI_lld_transferDmaCancel(MCSPILLD_Handle hMcspi)
This API cancels current McSPI transfer in DMA mode.
int32_t MCSPI_lld_init(MCSPILLD_Handle hMcspi)
This API Initializes the McSPI instance.
void MCSPI_clearAllIrqStatus(uint32_t baseAddr)
int32_t MCSPI_lld_transferDma(MCSPILLD_Handle hMcspi, MCSPI_Transaction *transaction)
This API reads data from the McSPI instance in DMA mode.
static void MCSPI_enableRxFIFO(uint32_t baseAddr, uint32_t chNum, uint32_t enableFlag)
This API will enable/disable the Rx FIFOs of McSPI peripheral.
Definition: mcspi_lld.h:1506
static void MCSPI_intrStatusClear(const MCSPI_ChObject *chObj, uint32_t baseAddr, uint32_t intFlags)
Definition: mcspi_lld.h:799
uint32_t csPolarity
Definition: mcspi_lld.h:598
uint32_t startBitPolarity
Definition: mcspi_lld.h:614
uint32_t turboEnable
Definition: mcspi_lld.h:617
uint32_t channel
Definition: mcspi_lld.h:555
void * transferMutex
Definition: mcspi_lld.h:766
uint32_t multiWordAccess
Definition: mcspi_lld.h:735
int32_t MCSPI_lld_dmaInit(MCSPI_DmaHandle mcspiDmaHandle)
API to open an MCSPI DMA channel.
void MCSPI_reset(uint32_t baseAddr)
void MCSPI_lld_dmaStop(MCSPILLD_Handle hMcspi, MCSPI_ChObject *chObj, uint32_t chNum)
API to Stop DMA using a specific DMA driver - UDMA, EDMA etc.
int32_t MCSPI_lld_writeIntr(MCSPILLD_Handle hMcspi, void *txBuf, uint32_t count, uint32_t timeout, const MCSPI_ExtendedParams *extendedParams)
This API writes data to the McSPI instance in Interrupt mode.
uint32_t csDisable
Definition: mcspi_lld.h:675
void * args
Definition: mcspi_lld.h:536
uint32_t dataWidthBitMask
Definition: mcspi_lld.h:699
Data structure used with MCSPI_lld_read(), MCSPI_lld_readIntr(), MCSPI_lld_readDma(),...
Definition: mcspi_lld.h:554
uint32_t dataSize
Definition: mcspi_lld.h:564
uint32_t startBitEnable
Definition: mcspi_lld.h:611
void * txBuf
Definition: mcspi_lld.h:518
#define MCSPI_CHCTRL(x)
Base address of McSPI_CHCTRL(x)
Definition: mcspi_lld.h:450
uint32_t chMode
Definition: mcspi_lld.h:729
int32_t MCSPI_lld_reConfigFifo(MCSPILLD_Handle handle, uint32_t chNum, uint32_t numWordsRxTx)
Function to re-configure Effective FIFO Words.
void * rxBuf
Definition: mcspi_lld.h:529
uint32_t systRegVal
Definition: mcspi_lld.h:713
uint32_t effRxFifoDepth
Definition: mcspi_lld.h:703
#define MCSPI_MAX_NUM_CHANNELS
Max number of channels/Chip Select (CS) supported.
Definition: mcspi_lld.h:178
uint32_t dataSize
Definition: mcspi_lld.h:504
int32_t MCSPI_lld_write(MCSPILLD_Handle hMcspi, void *txBuf, uint32_t count, uint32_t timeout, const MCSPI_ExtendedParams *extendedParams)
This API writes data to the McSPI instance in Polling mode.
uint32_t curTxWords
Definition: mcspi_lld.h:683
MCSPI_DmaHandle mcspiDmaHandle
Definition: mcspi_lld.h:743
uint32_t slvCsSelect
Definition: mcspi_lld.h:608
int32_t MCSPI_lld_deInit(MCSPILLD_Handle hMcspi)
This API De-Initializes the McSPI instance.
static uint32_t MCSPI_readChStatusReg(uint32_t baseAddr, uint32_t chNum)
This API will return the status of the McSPI channel currently in use.
Definition: mcspi_lld.h:1459
void MCSPI_stop(MCSPILLD_Handle hMcspi, MCSPI_ChObject *chObj, uint32_t chNum)
uint8_t bufWidthShift
Definition: mcspi_lld.h:693
MCSPI_Transaction transaction
Definition: mcspi_lld.h:782
struct MCSPILLD_Object * MCSPILLD_Handle
int32_t MCSPI_lld_readWriteDma(MCSPILLD_Handle hMcspi, void *txBuf, void *rxBuf, uint32_t count, uint32_t timeout, const MCSPI_ExtendedParams *extendedParams)
This API reads writes data from the McSPI instance in DMA mode.
uint32_t csDisable
Definition: mcspi_lld.h:558
uint8_t * curRxBufPtr
Definition: mcspi_lld.h:681
int32_t MCSPI_lld_readIntr(MCSPILLD_Handle hMcspi, void *rxBuf, uint32_t count, uint32_t timeout, const MCSPI_ExtendedParams *extendedParams)
This API reads data from the McSPI instance in Interrupt mode.
#define MCSPI_CS_POL_LOW
SPIEN (CS) is held low during the ACTIVE state.
Definition: mcspi_lld.h:248
void * args
Definition: mcspi_lld.h:784
int32_t MCSPI_lld_readWrite(MCSPILLD_Handle hMcspi, void *txBuf, void *rxBuf, uint32_t count, uint32_t timeout, const MCSPI_ExtendedParams *extendedParams)
This API reads writes data from the McSPI instance in polling mode.
uint32_t defaultTxData
Definition: mcspi_lld.h:622
uint32_t dpe1
Definition: mcspi_lld.h:606
struct Udma_DrvObjectInt_t * MCSPI_DmaHandle
Definition: mcspi_dma_udma.h:96
uint32_t msMode
Definition: mcspi_lld.h:737
uint32_t csEnable
Definition: mcspi_lld.h:677
uint32_t operMode
Definition: mcspi_lld.h:725
static void MCSPI_writeChCtrlReg(uint32_t baseAddr, uint32_t chNum, uint32_t regVal)
This API sets Channel control register value.
Definition: mcspi_lld.h:1470
MCSPI_ChConfig * chCfg
Definition: mcspi_lld.h:665
static uint32_t MCSPI_readChConf(uint32_t baseAddr, uint32_t chNum)
This API returns Channel Config register value.
Definition: mcspi_lld.h:1476
MCSPI_DmaChConfig dmaChCfg
Definition: mcspi_lld.h:707
uint32_t channel
Definition: mcspi_lld.h:495
int32_t MCSPI_lld_readDma(MCSPILLD_Handle hMcspi, void *rxBuf, uint32_t count, uint32_t timeout, const MCSPI_ExtendedParams *extendedParams)
This API reads data from the McSPI instance in DMA mode.
int32_t MCSPI_lld_transferIntr(MCSPILLD_Handle hMcspi, MCSPI_Transaction *transaction)
This API reads data from the McSPI instance in Interrupt mode.
uint32_t inputSelect
Definition: mcspi_lld.h:602
uint32_t baseAddr
Definition: mcspi_lld.h:758
uint32_t dpe0
Definition: mcspi_lld.h:604
void MCSPI_setChDataSize(uint32_t baseAddr, MCSPI_ChObject *chObj, uint32_t dataSize, uint32_t csDisable)
int32_t MCSPI_lld_getState(MCSPILLD_Handle hMcspi)
This API returns the driver state.
MCSPI configuration parameters for the channel.
Definition: mcspi_lld.h:591
static void MCSPI_writeChConfReg(uint32_t baseAddr, uint32_t chNum, uint32_t regVal)
This API sets Channel Config register value.
Definition: mcspi_lld.h:1481
MCSPI_errorCallbackFxn errorCallbackFxn
Definition: mcspi_lld.h:749
uint32_t transferCsDisable
Definition: mcspi_lld.h:778
uint32_t initDelay
Definition: mcspi_lld.h:733
static void MCSPI_setDataWidth(uint32_t baseAddr, uint32_t chNum, uint32_t dataWidth)
This API will set the data width in the channel config register.
Definition: mcspi_lld.h:1523
uint32_t inputClkFreq
Definition: mcspi_lld.h:721
uint32_t frameFormat
Definition: mcspi_lld.h:594
uint32_t csIdleTime
Definition: mcspi_lld.h:619
uint32_t chNum
Definition: mcspi_lld.h:592