![Logo](ti_logo.svg) |
AM273x MCU+ SDK
08.02.00
|
|
Go to the documentation of this file.
61 #include <drivers/hw_include/csl_types.h>
62 #include <drivers/hw_include/cslr_soc.h>
63 #include <drivers/hw_include/cslr_mibspi.h>
64 #include <drivers/hw_include/cslr.h>
66 #include <drivers/mibspi/v0/soc/mibspi_soc.h>
80 #define MIBSPI_RAM_BUFFER_MODE (7U)
83 #define MIBSPI_SLAVEMODE_TRANS_GROUP (0U)
86 #define MIBSPI_INT_LEVEL (1U)
96 #define MIBSPI_FEATURE_PARALLEL_MODE_ENA (0x1U << 0)
98 #define MIBSPI_FEATURE_PARALLEL_MODE_DIS (0U)
100 #define MIBSPI_FEATURE_MODULO_MODE_ENA (0x1U << 1)
102 #define MIBSPI_FEATURE_MODULO_MODE_DIS (0U)
104 #define MIBSPI_FEATURE_SPIENA_PIN_ENA (0x1U << 2)
106 #define MIBSPI_FEATURE_SPIENA_PIN_DIS (0U)
114 #define MIBSPI_RAM_MAX_ELEM (128U)
117 #define MIBSPI_SLAVE_MAX (3U)
120 #define MIBSPI_DMA_REQLINE_MAX (3U)
123 #define MIBSPI_MAX_CS (MIBSPI_SLAVE_MAX)
126 #define MIBSPI_NUM_TRANS_GROUP (8U)
129 #define MIBSPI_NUM_DMA_GROUP (8U)
132 #define MIBSPI_CS_NONE (0xFFU)
810 if (openPrms != NULL)
822 openPrms->
csHold = (uint8_t)0U;
uint32_t isOpen
Definition: mibspi/v0/mibspi.h:588
MIBSPI Driver DMA module Address info definition.
Definition: mibspi/v0/mibspi.h:337
uint32_t bitRate
Definition: mibspi/v0/mibspi.h:435
uint8_t chipSelect
Definition: mibspi/v0/mibspi.h:281
static void MIBSPI_Params_init(MIBSPI_OpenParams *openPrms)
Function to initialize the MIBSPI_OpenParams struct to its defaults.
Definition: mibspi/v0/mibspi.h:808
MIBSPI Driver DMA request line tie up for the SoC.
Definition: mibspi/v0/mibspi.h:322
MIBSPI master Parameters.
Definition: mibspi/v0/mibspi.h:434
MIBSPI_Transaction data structure is used with MIBSPI_transfer(). It indicates how many MIBSPI_FrameF...
Definition: mibspi/v0/mibspi.h:381
void MIBSPI_transferCancel(MIBSPI_Handle handle)
Function to cancel MIBSPI transactions on instance of a MIBSPI peripheral specified by the MIBSPI han...
uint32_t desync
Number of De-synchronization of slave device interrupts.
Definition: mibspi/v0/mibspi.h:249
uint32_t timeout
Number of timeout interrupts.
Definition: mibspi/v0/mibspi.h:245
SPI Driver Object.
Definition: mibspi/v0/mibspi.h:561
@ MIBSPI_TRANSFER_CSN_DEASSERT
Definition: mibspi/v0/mibspi.h:163
void MIBSPI_deinit(void)
This function de-initializes the MIBSPI module.
Edma_IntrObject intrRxObj
EDMA RX intr object.
Definition: mibspi/v0/mibspi.h:615
MIBSPI_SlaveProfile slaveProf[MIBSPI_SLAVE_MAX]
Definition: mibspi/v0/mibspi.h:440
@ MIBSPI_TRANSFER_TIMEOUT
Definition: mibspi/v0/mibspi.h:164
uint32_t bitErr
Definition: mibspi/v0/mibspi.h:269
MIBSPI_TransferMode
MIBSPI transfer mode determines the whether the MIBSPI controller operates synchronously or asynchron...
Definition: mibspi/v0/mibspi.h:210
volatile uint16_t dataSizeInBytes
Definition: mibspi/v0/mibspi.h:408
void * rxBuf
Definition: mibspi/v0/mibspi.h:385
#define MIBSPI_SLAVE_MAX
Max number of slaves supported when MibSPI is configured as master.
Definition: mibspi/v0/mibspi.h:117
uint32_t rxFull
Number of RX Full Interrupts.
Definition: mibspi/v0/mibspi.h:255
int32_t MIBSPI_getDrvStats(MIBSPI_Handle handle, MIBSPI_Stats *ptrStats)
Get SPI driver internal stats.
int32_t MIBSPI_transfer(MIBSPI_Handle handle, MIBSPI_Transaction *transaction)
Function to perform MIBSPI transactions on a instance of a MIBSPI peripheral specified by the MIBSPI ...
uint8_t numSlaves
Definition: mibspi/v0/mibspi.h:436
MIBSPI_Config gMibspiConfig[]
Externally defined driver configuration array.
uint32_t edmaBaseAddr
EDMA Base address used for MIBSPI transfer.
Definition: mibspi/v0/mibspi.h:605
MIBSPI_DataShiftFmt shiftFormat
Definition: mibspi/v0/mibspi.h:487
uint8_t rxDmaReqLine
RX DMA Request Line number
Definition: mibspi/v0/mibspi.h:326
@ MIBSPI_LOOPBK_NONE
Definition: mibspi/v0/mibspi.h:183
@ MIBSPI_POL0_PHA0
Definition: mibspi/v0/mibspi.h:194
@ MIBSPI_POL1_PHA0
Definition: mibspi/v0/mibspi.h:196
EDMA interrupt configuration object. The object is passed to the EDMA_registerIntr() function....
Definition: edma/v0/edma.h:449
Bool compatibilityMode
Definition: mibspi/v0/mibspi.h:499
uint8_t txDmaReqLine
TX DMA Request Line number.
Definition: mibspi/v0/mibspi.h:324
void MIBSPI_init(void)
This function initializes the MIBSPI module.
uintptr_t saddr
Definition: mibspi/v0/mibspi.h:338
MIBSPI Driver HW configuration.
Definition: mibspi/v0/mibspi.h:516
uint32_t numParallelModePins
Number of parallel mode pins supported for this MIBSPI instance.
Definition: mibspi/v0/mibspi.h:539
uint32_t desync
Definition: mibspi/v0/mibspi.h:268
uint8_t dmaEnable
Definition: mibspi/v0/mibspi.h:489
int32_t MIBSPI_setClockPhasePolarity(MIBSPI_Handle handle, uint8_t clockFmt)
This function sets the Polarity and phase for MibSpi as requested.
uint8_t ramBufLen
Definition: mibspi/v0/mibspi.h:282
CSL_mibspiRam * ptrMibSpiRam
Base address of the MibSpi ram address space to be used.
Definition: mibspi/v0/mibspi.h:522
Bool iCountSupport
Definition: mibspi/v0/mibspi.h:471
MIBSPI_HW_Stats hwStats
MibSpi driver stats.
Definition: mibspi/v0/mibspi.h:601
uint32_t edmaTcc
Definition: mibspi/v0/mibspi.h:451
uint16_t edmaLinkParamId
EDMA link channel id Needs to be set only if compatibility mode is TRUE The MIBSPI requries an additi...
Definition: mibspi/v0/mibspi.h:501
HwiP_Object hwiObj
Definition: mibspi/v0/mibspi.h:597
@ MIBSPI_DMACTRL_CH_RX
Definition: mibspi/v0/mibspi.h:226
uint32_t bitErr
Number of mismatch of internal transmit data and transmittted data error interrupts.
Definition: mibspi/v0/mibspi.h:251
MIBSPI_Status
Status codes that are set by the SPI driver.
Definition: mibspi/v0/mibspi.h:158
uint32_t dmaReqLine
Definition: mibspi/v0/mibspi.h:283
void * MIBSPI_Handle
A handle that is returned from a MIBSPI_open() call.
Definition: mibspi/v0/mibspi.h:77
MIBSPI_Handle mibspiHandle
SPI driver handle.
Definition: mibspi/v0/mibspi.h:563
MIBSPI_FrameFormat
Definitions for various SPI data frame formats.
Definition: mibspi/v0/mibspi.h:193
@ MIBSPI_TRANSFER_FAILED
Definition: mibspi/v0/mibspi.h:162
#define MIBSPI_RAM_MAX_ELEM
Maximum element in MibSPI RAM. For 8bit data size, the maximum transfer size is 64 bytes For 16bit da...
Definition: mibspi/v0/mibspi.h:114
MIBSPI_DMAXferAddrInfo tx
Definition: mibspi/v0/mibspi.h:368
MIBSPI_OpenParams params
MibSpi driver parameters.
Definition: mibspi/v0/mibspi.h:567
@ MIBSPI_TX_EDMA_CALLBACK_OCCURED
Definition: mibspi/v0/mibspi.h:143
#define MIBSPI_DMA_REQLINE_MAX
Max number of DMA REQ lines supported by MIBSPI.
Definition: mibspi/v0/mibspi.h:120
uint32_t interrupt1Num
Interrupt Number for INT1.
Definition: mibspi/v0/mibspi.h:528
MIBSPI_XferErr_e
SPI_v3 transfer error code.
Definition: mibspi/v0/mibspi.h:150
MIBSPI_Transaction * transaction
Definition: mibspi/v0/mibspi.h:404
MIBSPI_SlaveModeParams slaveParams
Definition: mibspi/v0/mibspi.h:481
@ MIBSPI_TRANSFER_CANCELED
Definition: mibspi/v0/mibspi.h:161
uint32_t parErr
Definition: mibspi/v0/mibspi.h:267
CSL_mss_spiRegs * ptrSpiRegBase
Base address of the MibSpi register address space to be used.
Definition: mibspi/v0/mibspi.h:520
uint8_t eccEnable
Definition: mibspi/v0/mibspi.h:494
MIBSPI slave mode Parameters.
Definition: mibspi/v0/mibspi.h:295
void(* MIBSPI_CallbackFxn)(MIBSPI_Handle handle, MIBSPI_Transaction *transaction)
The definition of a callback function used by the SPI driver when used in MIBSPI_MODE_CALLBACK.
Definition: mibspi/v0/mibspi.h:418
@ MIBSPI_TRANSFER_COMPLETED
Definition: mibspi/v0/mibspi.h:159
int32_t MIBSPI_disableLoopback(MIBSPI_Handle handle)
This function disable the Loopback mode.
@ MIBSPI_LOOPBK_ANALOG
Definition: mibspi/v0/mibspi.h:182
void * transferSem
Definition: mibspi/v0/mibspi.h:590
uint32_t parErr
Number of Parity Error interrupts.
Definition: mibspi/v0/mibspi.h:247
uint8_t csHold
Definition: mibspi/v0/mibspi.h:495
uint32_t numDmaReqLines
Number of independent DMA request lines supported by MIBSPI.
Definition: mibspi/v0/mibspi.h:548
MIBSPI_EdmaCBFlag_e
Enum used to track status of EDMA callbacks internally in driver.
Definition: mibspi/v0/mibspi.h:140
MIBSPI_MasterModeParams masterParams
Definition: mibspi/v0/mibspi.h:479
@ MIBSPI_MASTER
Definition: mibspi/v0/mibspi.h:188
uint16_t txDummyValue
Definition: mibspi/v0/mibspi.h:496
MIBSPI_Handle MIBSPI_open(uint32_t index, MIBSPI_OpenParams *params)
This function opens a given instance of the MIBSPI peripheral.
void * txBuf
Definition: mibspi/v0/mibspi.h:384
union MIBSPI_OpenParams::@0 u
uint32_t dlenErr
Definition: mibspi/v0/mibspi.h:265
uint32_t rxDmaIntCnt
Number of DMA Recieve Interrupts.
Definition: mibspi/v0/mibspi.h:310
MIBSPI_FrameFormat frameFormat
Definition: mibspi/v0/mibspi.h:476
uint16_t elemCnt
Definition: mibspi/v0/mibspi.h:355
void * hwiHandle
Definition: mibspi/v0/mibspi.h:595
uint32_t transferTimeout
Definition: mibspi/v0/mibspi.h:497
@ MIBSPI_MODE_BLOCKING
Definition: mibspi/v0/mibspi.h:215
MIBSPI_Mode mode
Definition: mibspi/v0/mibspi.h:469
uint32_t clockSrcFreq
MIBSPI clock source frequency in Hz, It will be used to calculate prescaler for Master mode.
Definition: mibspi/v0/mibspi.h:524
void MIBSPI_close(MIBSPI_Handle handle)
Function to close a instance of a MIBSPI peripheral specified by the MIBSPI handle.
uint32_t mibspiInstId
mibspi instance ID
Definition: mibspi/v0/mibspi.h:518
uint8_t chipSelect
Definition: mibspi/v0/mibspi.h:297
uint32_t numTransferGroups
Number of transfer groups for this MIBSPI instance
Definition: mibspi/v0/mibspi.h:532
volatile uint16_t dataLength
Definition: mibspi/v0/mibspi.h:407
SemaphoreP_Object transferSemObj
Definition: mibspi/v0/mibspi.h:593
@ MIBSPI_PINMODE_3PIN
Definition: mibspi/v0/mibspi.h:169
@ MIBSPI_DMACTRL_CH_TX
Definition: mibspi/v0/mibspi.h:225
uint32_t dataSize
Definition: mibspi/v0/mibspi.h:475
MIBSPI_Mode
Definitions for various SPI modes of operation.
Definition: mibspi/v0/mibspi.h:187
int32_t MIBSPI_enableLoopback(MIBSPI_Handle handle, MIBSPI_LoopBackType loopbacktype)
This function enables the Loopback mode for self test. Loopback is SPI master only feature.
@ MIBSPI_POL1_PHA1
Definition: mibspi/v0/mibspi.h:197
uint32_t edmaRegionId
EDMA Region used for MIBSPI transfer.
Definition: mibspi/v0/mibspi.h:607
uint8_t wDelay
Definition: mibspi/v0/mibspi.h:439
uint32_t gMibspiConfigNum
Externally defined driver configuration array size.
@ MIBSPI_SLAVE
Definition: mibspi/v0/mibspi.h:189
uint32_t timeout
Definition: mibspi/v0/mibspi.h:266
@ MIBSPI_XFER_ERR_TIMEOUT
Definition: mibspi/v0/mibspi.h:154
MIBSPI Instance configuration.
Definition: mibspi/v0/mibspi.h:628
MIBSPI Driver DMA module Transfer Info definition.
Definition: mibspi/v0/mibspi.h:367
#define MIBSPI_NUM_TRANS_GROUP
Max number of transport group.
Definition: mibspi/v0/mibspi.h:126
uint32_t edmaParam
Definition: mibspi/v0/mibspi.h:455
MIBSPI_DataShiftFmt
Definitions for MIBSPI Data shift format.
Definition: mibspi/v0/mibspi.h:174
uint32_t edmaChId
Definition: mibspi/v0/mibspi.h:453
Opaque Hwi object used with the Hwi APIs.
Definition: HwiP.h:91
SPI Driver Statistics.
Definition: mibspi/v0/mibspi.h:241
@ MIBSPI_PINMODE_4PIN_CS
Definition: mibspi/v0/mibspi.h:170
int32_t edmaInst
Definition: mibspi/v0/mibspi.h:492
MIBSPI Driver DMA module Tranaction state definition.
Definition: mibspi/v0/mibspi.h:400
@ MIBSPI_LOOPBK_DIGITAL
Definition: mibspi/v0/mibspi.h:181
Edma_IntrObject intrDummyObj
EDMA Dummy intr object.
Definition: mibspi/v0/mibspi.h:617
const MIBSPI_Attrs * ptrHwCfg
Pointer to MibSpi driver Hardware Configuration.
Definition: mibspi/v0/mibspi.h:565
uint8_t t2cDelay
Definition: mibspi/v0/mibspi.h:437
@ MIBSPI_DMACTRL_CH_BOTH
Definition: mibspi/v0/mibspi.h:227
uint32_t dmaReqLine
Definition: mibspi/v0/mibspi.h:371
uint32_t mibspiRamSize
Size of MIBSPI RAM in this SoC for this MIBSPI instance
Definition: mibspi/v0/mibspi.h:530
uint16_t rxScratchBuffer
Rx Scratch buffer, used as scratch buffer to dump received data from SPI transfer when application do...
Definition: mibspi/v0/mibspi.h:579
MIBSPI_TransferMode transferMode
Definition: mibspi/v0/mibspi.h:470
MIBSPI_PinMode pinMode
Definition: mibspi/v0/mibspi.h:485
MIBSPI_DMAXferSizeInfo size
Definition: mibspi/v0/mibspi.h:370
uint16_t txScratchBuffer
Tx Scratch buffer, used when TX data is not provided for SPI_transfer() The driver transmits txDummyV...
Definition: mibspi/v0/mibspi.h:584
uint32_t txEmpty
Number of TX Empty Interrupts.
Definition: mibspi/v0/mibspi.h:257
uint32_t interrupt0Num
Interrupt Number for INT0.
Definition: mibspi/v0/mibspi.h:526
uint32_t featureBitMap
Optional feature that are supported for this MIBSPI instance This is a bitmap comprising of defines M...
Definition: mibspi/v0/mibspi.h:546
uint16_t elemSize
Definition: mibspi/v0/mibspi.h:354
MIBSPI Parameters.
Definition: mibspi/v0/mibspi.h:468
@ MIBSPI_LSB_FIRST
Definition: mibspi/v0/mibspi.h:176
void * arg
Definition: mibspi/v0/mibspi.h:386
Opaque semaphore object used with the semaphore APIs.
Definition: SemaphoreP.h:59
MIBSPI_CallbackFxn transferCallbackFxn
Definition: mibspi/v0/mibspi.h:474
void MIBSPI_dmaDoneCb(MIBSPI_Handle mibspiHandle)
Function invoked by the SoC DMA implementation to the driver on DMA transfer completion.
@ MIBSPI_XFER_ERR_BE
Definition: mibspi/v0/mibspi.h:153
uint32_t rxOvrnErr
Definition: mibspi/v0/mibspi.h:270
uint8_t c2tDelay
Definition: mibspi/v0/mibspi.h:438
MIBSPI_Status status
Definition: mibspi/v0/mibspi.h:388
@ MIBSPI_NONE_EDMA_CALLBACK_OCCURED
Definition: mibspi/v0/mibspi.h:141
MIBSPI_PinMode
Definitions for MIBSPI Pins Operation Mode.
Definition: mibspi/v0/mibspi.h:168
MIBSPI slave profile Parameters.
Definition: mibspi/v0/mibspi.h:280
MIBSPI_LoopBackType
Definitions for MIBSPI loopback modes.
Definition: mibspi/v0/mibspi.h:180
Edma_IntrObject intrTxObj
EDMA TX intr object.
Definition: mibspi/v0/mibspi.h:613
SPI Driver Info for Master.
Definition: mibspi/v0/mibspi.h:308
@ MIBSPI_XFER_ERR_NONE
Definition: mibspi/v0/mibspi.h:151
uint32_t dlenErr
Number of data length error interrupts.
Definition: mibspi/v0/mibspi.h:243
MIBSPI_DmaCtrlChType
Definitions for DMA controller channel type.
Definition: mibspi/v0/mibspi.h:224
uint32_t txDmaIntCnt
Number of DMA Transmit Interrupts.
Definition: mibspi/v0/mibspi.h:312
void * dmaHandle
Definition: mibspi/v0/mibspi.h:493
@ MIBSPI_XFER_ERR_RXOR
Definition: mibspi/v0/mibspi.h:152
MIBSPI EDMA Parameters.
Definition: mibspi/v0/mibspi.h:450
@ MIBSPI_RX_EDMA_CALLBACK_OCCURED
Definition: mibspi/v0/mibspi.h:145
uint32_t count
Definition: mibspi/v0/mibspi.h:383
@ MIBSPI_POL0_PHA1
Definition: mibspi/v0/mibspi.h:195
volatile uint16_t remainSize
Definition: mibspi/v0/mibspi.h:406
MIBSPI_TransactionState transactionState
State info on current transaction.
Definition: mibspi/v0/mibspi.h:603
uint16_t frameCnt
Definition: mibspi/v0/mibspi.h:356
@ MIBSPI_MODE_CALLBACK
Definition: mibspi/v0/mibspi.h:220
uint32_t rxOvrnErr
Number of RX Overrun Error Interrupts.
Definition: mibspi/v0/mibspi.h:253
MIBSPI Driver DMA module Transfer size definition.
Definition: mibspi/v0/mibspi.h:353
@ MIBSPI_MSB_FIRST
Definition: mibspi/v0/mibspi.h:175
uintptr_t daddr
Definition: mibspi/v0/mibspi.h:339
const MIBSPI_Attrs * attrs
Definition: mibspi/v0/mibspi.h:629
uint32_t dmaReqLine
Definition: mibspi/v0/mibspi.h:296
@ MIBSPI_TRANSFER_STARTED
Definition: mibspi/v0/mibspi.h:160
MIBSPI_Stats data structure is used with SPI_getStats() to get driver statistics.
Definition: mibspi/v0/mibspi.h:264
MIBSPI_Object * object
Definition: mibspi/v0/mibspi.h:631
MIBSPI_DMAXferAddrInfo rx
Definition: mibspi/v0/mibspi.h:369