52 #ifndef ti_dl_dl_spi__include 53 #define ti_dl_dl_spi__include 58 #include <ti/devices/msp/msp.h> 61 #ifdef __MSPM0_HAS_SPI__ 75 #define DL_SPI_CD_MODE_DATA (SPI_CTL1_CDMODE_DATA) 80 #define DL_SPI_CD_MODE_COMMAND (SPI_CTL1_CDMODE_COMMAND) 91 #define DL_SPI_INTERRUPT_DMA_DONE_TX (SPI_CPU_INT_IMASK_DMA_DONE_TX_SET) 96 #define DL_SPI_INTERRUPT_DMA_DONE_RX (SPI_CPU_INT_IMASK_DMA_DONE_RX_SET) 100 #define DL_SPI_INTERRUPT_IDLE (SPI_CPU_INT_IMASK_IDLE_SET) 105 #define DL_SPI_INTERRUPT_TX_EMPTY (SPI_CPU_INT_IMASK_TXEMPTY_SET) 110 #define DL_SPI_INTERRUPT_TX (SPI_CPU_INT_IMASK_TX_SET) 115 #define DL_SPI_INTERRUPT_RX (SPI_CPU_INT_IMASK_RX_SET) 120 #define DL_SPI_INTERRUPT_RX_TIMEOUT (SPI_CPU_INT_IMASK_RTOUT_SET) 125 #define DL_SPI_INTERRUPT_RX_FULL (SPI_CPU_INT_IMASK_RXFULL_SET) 130 #define DL_SPI_INTERRUPT_TX_UNDERFLOW (SPI_CPU_INT_IMASK_TXFIFO_UNF_SET) 135 #define DL_SPI_INTERRUPT_PARITY_ERROR (SPI_CPU_INT_IMASK_PER_SET) 140 #define DL_SPI_INTERRUPT_RX_OVERFLOW (SPI_CPU_INT_IMASK_RXFIFO_OVF_SET) 164 #define DL_SPI_DMA_INTERRUPT_RX (SPI_DMA_TRIG_RX_IMASK_RX_SET) 169 #define DL_SPI_DMA_INTERRUPT_RX_TIMEOUT (SPI_DMA_TRIG_RX_IMASK_RTOUT_SET) 176 #define DL_SPI_DMA_INTERRUPT_TX (SPI_DMA_TRIG_TX_IMASK_TX_SET) 184 (SPI_CTL1_PES_ENABLE | SPI_CTL1_PREN_ENABLE | SPI_CTL1_PTEN_ENABLE),
187 (SPI_CTL1_PES_DISABLE | SPI_CTL1_PREN_ENABLE | SPI_CTL1_PTEN_ENABLE),
196 (SPI_CTL0_SPO_LOW | SPI_CTL0_SPH_FIRST | SPI_CTL0_FRF_MOTOROLA_3WIRE),
199 (SPI_CTL0_SPO_LOW | SPI_CTL0_SPH_SECOND | SPI_CTL0_FRF_MOTOROLA_3WIRE),
202 (SPI_CTL0_SPO_HIGH | SPI_CTL0_SPH_FIRST | SPI_CTL0_FRF_MOTOROLA_3WIRE),
205 (SPI_CTL0_SPO_HIGH | SPI_CTL0_SPH_SECOND |
206 SPI_CTL0_FRF_MOTOROLA_3WIRE),
209 (SPI_CTL0_SPO_LOW | SPI_CTL0_SPH_FIRST | SPI_CTL0_FRF_MOTOROLA_4WIRE),
212 (SPI_CTL0_SPO_LOW | SPI_CTL0_SPH_SECOND | SPI_CTL0_FRF_MOTOROLA_4WIRE),
215 (SPI_CTL0_SPO_HIGH | SPI_CTL0_SPH_FIRST | SPI_CTL0_FRF_MOTOROLA_4WIRE),
218 (SPI_CTL0_SPO_HIGH | SPI_CTL0_SPH_SECOND |
219 SPI_CTL0_FRF_MOTOROLA_4WIRE),
487 spi->GPRCM.PWREN = (SPI_PWREN_KEY_UNLOCK_W | SPI_PWREN_ENABLE_ENABLE);
497 spi->GPRCM.PWREN = (SPI_PWREN_KEY_UNLOCK_W | SPI_PWREN_ENABLE_DISABLE);
511 (spi->GPRCM.PWREN & SPI_PWREN_ENABLE_MASK) == SPI_PWREN_ENABLE_ENABLE);
522 (SPI_RSTCTL_KEY_UNLOCK_W | SPI_RSTCTL_RESETSTKYCLR_CLR |
523 SPI_RSTCTL_RESETASSERT_ASSERT);
537 return ((spi->GPRCM.STAT & SPI_GPRCM_STAT_RESETSTKY_MASK) ==
538 SPI_GPRCM_STAT_RESETSTKY_RESET);
548 spi->CTL1 |= SPI_CTL1_ENABLE_ENABLE;
563 return ((spi->CTL1 & SPI_CTL1_ENABLE_MASK) == SPI_CTL1_ENABLE_ENABLE);
573 spi->CTL1 &= ~(SPI_CTL1_ENABLE_MASK);
608 return ((spi->STAT & SPI_STAT_BUSY_MASK) == SPI_STAT_BUSY_ACTIVE);
623 return ((spi->STAT & SPI_STAT_TFE_MASK) == SPI_STAT_TFE_EMPTY);
638 return ((spi->STAT & SPI_STAT_TNF_MASK) == SPI_STAT_TNF_FULL);
653 return ((spi->STAT & SPI_STAT_RFE_MASK) == SPI_STAT_RFE_EMPTY);
668 return ((spi->STAT & SPI_STAT_RNF_MASK) == SPI_STAT_RNF_FULL);
692 (SPI_CTL1_PREN_MASK | SPI_CTL1_PTEN_MASK | SPI_CTL1_PES_MASK));
706 uint32_t parity = spi->CTL1 & (SPI_CTL1_PES_MASK | SPI_CTL1_PREN_MASK |
724 spi->CTL1 |= SPI_CTL1_PREN_ENABLE;
739 spi->CTL1 &= ~(SPI_CTL1_PREN_MASK);
754 return ((spi->CTL1 & SPI_CTL1_PREN_MASK) == SPI_CTL1_PREN_ENABLE);
769 spi->CTL1 |= SPI_CTL1_PTEN_ENABLE;
784 spi->CTL1 &= ~(SPI_CTL1_PTEN_MASK);
799 return ((spi->CTL1 & SPI_CTL1_PTEN_MASK) == SPI_CTL1_PTEN_ENABLE);
818 (SPI_CTL0_FRF_MASK | SPI_CTL0_SPO_MASK | SPI_CTL0_SPH_MASK));
832 uint32_t frameFormat = spi->CTL0 & (SPI_CTL0_FRF_MASK | SPI_CTL0_SPO_MASK |
864 uint32_t dataSize = spi->CTL0 & SPI_CTL0_DSS_MASK;
893 uint32_t mode = spi->CTL1 & SPI_CTL1_CP_MASK;
924 uint32_t bitOrder = spi->CTL1 & SPI_CTL1_MSB_MASK;
939 spi->CTL1 |= SPI_CTL1_LBM_ENABLE;
952 spi->CTL1 &= ~(SPI_CTL1_LBM_MASK);
967 return ((spi->CTL1 & SPI_CTL1_LBM_MASK) == SPI_CTL1_LBM_ENABLE);
985 SPI_Regs *spi, uint32_t numRepeats)
988 SPI_CTL1_REPEATTX_MASK);
1007 return ((spi->CTL1 & SPI_CTL1_REPEATTX_MASK) >> SPI_CTL1_REPEATTX_OFS);
1025 spi->CTL0 |= SPI_CTL0_CSCLR_ENABLE;
1041 spi->CTL0 &= ~(SPI_CTL0_CSCLR_MASK);
1057 return ((spi->CTL0 & SPI_CTL0_CSCLR_MASK) == SPI_CTL0_CSCLR_ENABLE);
1073 spi->CTL0 |= SPI_CTL0_PACKEN_ENABLED;
1089 spi->CTL0 &= ~(SPI_CTL0_PACKEN_MASK);
1104 return ((spi->CTL0 & SPI_CTL0_PACKEN_MASK) == SPI_CTL0_PACKEN_ENABLED);
1125 &spi->CTL0, (uint32_t) chipSelect, SPI_CTL0_CSSEL_MASK);
1141 uint32_t chipSelect = spi->CTL0 & SPI_CTL0_CSSEL_MASK;
1160 SPI_Regs *spi, uint32_t timeout)
1163 SPI_CTL1_RXTIMEOUT_MASK);
1180 return ((spi->CTL1 & SPI_CTL1_RXTIMEOUT_MASK) >> SPI_CTL1_RXTIMEOUT_OFS);
1206 SPI_Regs *spi, uint32_t config)
1209 &spi->CTL1, config << SPI_CTL1_CDMODE_OFS, SPI_CTL1_CDMODE_MASK);
1230 return ((spi->CTL1 & SPI_CTL1_CDMODE_MASK) >> SPI_CTL1_CDMODE_OFS);
1245 spi->CTL1 |= SPI_CTL1_CDENABLE_ENABLE;
1255 spi->CTL1 &= ~(SPI_CTL1_CDENABLE_MASK);
1270 return ((spi->CTL1 & SPI_CTL1_CDENABLE_MASK) == SPI_CTL1_CDENABLE_ENABLE);
1285 spi->CTL1 &= ~(SPI_CTL1_POD_MASK);
1301 spi->CTL1 |= SPI_CTL1_POD_ENABLE;
1318 return ((spi->CTL1 & SPI_CTL1_POD_MASK) == SPI_CTL1_POD_DISABLE);
1336 SPI_CLKCTL_DSAMPLE_MASK);
1356 return (spi->CLKCTL & SPI_CLKCTL_DSAMPLE_MASK >> SPI_CLKCTL_DSAMPLE_OFS);
1378 DL_SPI_RX_FIFO_LEVEL rxThreshold, DL_SPI_TX_FIFO_LEVEL txThreshold)
1381 (uint32_t) rxThreshold | (uint32_t) txThreshold,
1382 SPI_IFLS_RXIFLSEL_MASK | SPI_IFLS_TXIFLSEL_MASK);
1396 uint32_t txThreshold = spi->IFLS & SPI_IFLS_TXIFLSEL_MASK;
1398 return (DL_SPI_TX_FIFO_LEVEL)(txThreshold);
1412 uint32_t rxThreshold = spi->IFLS & SPI_IFLS_RXIFLSEL_MASK;
1414 return (DL_SPI_RX_FIFO_LEVEL)(rxThreshold);
1434 SPI_Regs *spi, uint32_t SCR)
1450 return (spi->CLKCTL & SPI_CLKCTL_SCR_MASK);
1537 return ((uint8_t)(spi->RXDATA));
1558 return ((uint16_t)(spi->RXDATA));
1597 SPI_Regs *spi, uint32_t interruptMask)
1599 spi->CPU_INT.IMASK |= interruptMask;
1611 SPI_Regs *spi, uint32_t interruptMask)
1613 spi->CPU_INT.IMASK &= ~(interruptMask);
1629 SPI_Regs *spi, uint32_t interruptMask)
1631 return (spi->CPU_INT.IMASK & interruptMask);
1652 SPI_Regs *spi, uint32_t interruptMask)
1654 return (spi->CPU_INT.MIS & interruptMask);
1673 SPI_Regs *spi, uint32_t interruptMask)
1675 return (spi->CPU_INT.RIS & interruptMask);
1692 return ((DL_SPI_IIDX) spi->CPU_INT.IIDX);
1704 SPI_Regs *spi, uint32_t interruptMask)
1706 spi->CPU_INT.ICLR = interruptMask;
1980 SPI_Regs *spi, uint8_t *buffer, uint32_t maxCount);
1992 SPI_Regs *spi, uint16_t *buffer, uint32_t maxCount);
2011 SPI_Regs *spi, uint32_t *buffer, uint32_t maxCount);
2078 SPI_Regs *spi, uint32_t interrupt)
2080 spi->DMA_TRIG_RX.IMASK = interrupt;
2098 spi->DMA_TRIG_TX.IMASK = SPI_DMA_TRIG_TX_IMASK_TX_SET;
2115 SPI_Regs *spi, uint32_t interrupt)
2117 spi->DMA_TRIG_RX.IMASK &= ~(interrupt);
2135 spi->DMA_TRIG_TX.IMASK = SPI_DMA_TRIG_TX_IMASK_TX_CLR;
2156 SPI_Regs *spi, uint32_t interruptMask)
2158 return (spi->DMA_TRIG_RX.IMASK & interruptMask);
2176 return (spi->DMA_TRIG_TX.IMASK & SPI_DMA_TRIG_TX_IMASK_TX_MASK);
2201 SPI_Regs *spi, uint32_t interruptMask)
2203 return (spi->DMA_TRIG_RX.MIS & interruptMask);
2225 return (spi->DMA_TRIG_TX.MIS & SPI_DMA_TRIG_TX_MIS_TX_MASK);
2246 SPI_Regs *spi, uint32_t interruptMask)
2248 return (spi->DMA_TRIG_RX.RIS & interruptMask);
2268 return (spi->DMA_TRIG_TX.RIS & SPI_DMA_TRIG_TX_RIS_TX_MASK);
2290 return (DL_SPI_DMA_IIDX_RX)(spi->DMA_TRIG_RX.IIDX);
2312 return (DL_SPI_DMA_IIDX_TX)(spi->DMA_TRIG_TX.IIDX);
2327 SPI_Regs *spi, uint32_t interruptMask)
2329 spi->DMA_TRIG_RX.ICLR = interruptMask;
2344 spi->DMA_TRIG_TX.ICLR = SPI_DMA_TRIG_TX_ICLR_TX_CLR;
bool DL_SPI_restoreConfiguration(SPI_Regs *spi, DL_SPI_backupConfig *ptr)
Restore SPI configuration after leaving a power loss state.
__STATIC_INLINE DL_SPI_TX_FIFO_LEVEL DL_SPI_getTXFIFOThreshold(SPI_Regs *spi)
Get the TX FIFO interrupt threshold level.
Definition: dl_spi.h:1394
uint32_t controlWord0
Definition: dl_spi.h:428
DL_SPI_RX_FIFO_LEVEL
Definition: dl_spi.h:299
__STATIC_INLINE void DL_Common_updateReg(volatile uint32_t *reg, uint32_t val, uint32_t mask)
Writes value to specified register - retaining bits unaffected by mask.
Definition: dl_common.h:63
__STATIC_INLINE uint32_t DL_SPI_getEnabledDMAReceiveEventStatus(SPI_Regs *spi, uint32_t interruptMask)
Check interrupt flag of enabled SPI interrupt for DMA receive event.
Definition: dl_spi.h:2200
__STATIC_INLINE DL_SPI_DMA_IIDX_RX DL_SPI_getPendingDMAReceiveEvent(SPI_Regs *spi)
Get highest priority pending SPI interrupt for DMA receive event.
Definition: dl_spi.h:2287
__STATIC_INLINE void DL_SPI_setFrameFormat(SPI_Regs *spi, DL_SPI_FRAME_FORMAT frameFormat)
Set the frame format to use.
Definition: dl_spi.h:814
bool DL_SPI_receiveDataCheck16(SPI_Regs *spi, uint16_t *buffer)
Checks the RX FIFO before trying to transmit data.
__STATIC_INLINE uint32_t DL_SPI_getDelayedSampling(SPI_Regs *spi)
Get the delay sampling.
Definition: dl_spi.h:1354
uint32_t DL_SPI_fillTXFIFO16(SPI_Regs *spi, uint16_t *buffer, uint32_t count)
Fill the TX FIFO using 16 bit access.
uint32_t clockControl
Definition: dl_spi.h:438
__STATIC_INLINE void DL_SPI_disableLoopbackMode(SPI_Regs *spi)
Disables loopback mode.
Definition: dl_spi.h:950
__STATIC_INLINE void DL_SPI_setFIFOThreshold(SPI_Regs *spi, DL_SPI_RX_FIFO_LEVEL rxThreshold, DL_SPI_TX_FIFO_LEVEL txThreshold)
Set the RX and TX FIFO interrupt threshold level.
Definition: dl_spi.h:1377
__STATIC_INLINE void DL_SPI_disableInterrupt(SPI_Regs *spi, uint32_t interruptMask)
Disable SPI interrupts.
Definition: dl_spi.h:1610
DL_SPI_DMA_IIDX_RX
Definition: dl_spi.h:145
__STATIC_INLINE void DL_SPI_setRepeatTransmit(SPI_Regs *spi, uint32_t numRepeats)
Set counter for repeated transmit.
Definition: dl_spi.h:984
__STATIC_INLINE void DL_SPI_disableDMAReceiveEvent(SPI_Regs *spi, uint32_t interrupt)
Disables SPI interrupt from triggering the DMA receive event.
Definition: dl_spi.h:2114
__STATIC_INLINE bool DL_SPI_isReset(SPI_Regs *spi)
Returns if spi peripheral was reset.
Definition: dl_spi.h:535
uint32_t DL_SPI_fillTXFIFO8(SPI_Regs *spi, uint8_t *buffer, uint32_t count)
Fill the TX FIFO using 8 bit access.
DL_SPI_BIT_ORDER
Definition: dl_spi.h:233
__STATIC_INLINE void DL_SPI_enableControllerCommandDataMode(SPI_Regs *spi)
Enables command/data mode.
Definition: dl_spi.h:1243
void DL_SPI_setClockConfig(SPI_Regs *spi, DL_SPI_ClockConfig *config)
Configure SPI source clock.
DL_SPI_DMA_IIDX_TX
Definition: dl_spi.h:153
__STATIC_INLINE void DL_SPI_disableReceiveParity(SPI_Regs *spi)
Disables receive parity.
Definition: dl_spi.h:737
__STATIC_INLINE uint32_t DL_SPI_getControllerCommandDataModeConfig(SPI_Regs *spi)
Get the command/data mode configuration.
Definition: dl_spi.h:1227
DL_SPI_CHIP_SELECT chipSelectPin
Definition: dl_spi.h:402
__STATIC_INLINE uint32_t DL_SPI_getEnabledInterruptStatus(SPI_Regs *spi, uint32_t interruptMask)
Check interrupt flag of enabled SPI interrupts.
Definition: dl_spi.h:1651
uint32_t clockSel
Definition: dl_spi.h:441
__STATIC_INLINE void DL_SPI_setBitOrder(SPI_Regs *spi, DL_SPI_BIT_ORDER bitOrder)
Set the bit order used for transfers.
Definition: dl_spi.h:907
__STATIC_INLINE void DL_SPI_clearDMAReceiveEventStatus(SPI_Regs *spi, uint32_t interruptMask)
Clear pending SPI interrupts for DMA receive event.
Definition: dl_spi.h:2326
DL_SPI_IIDX
Definition: dl_spi.h:313
__STATIC_INLINE DL_SPI_IIDX DL_SPI_getPendingInterrupt(SPI_Regs *spi)
Get highest priority pending SPI interrupt.
Definition: dl_spi.h:1690
__STATIC_INLINE void DL_SPI_clearInterruptStatus(SPI_Regs *spi, uint32_t interruptMask)
Clear pending SPI interrupts.
Definition: dl_spi.h:1703
bool DL_SPI_transmitDataCheck32(SPI_Regs *spi, uint32_t data)
Checks the TX FIFO before trying to transmit data.
__STATIC_INLINE void DL_SPI_setControllerCommandDataModeConfig(SPI_Regs *spi, uint32_t config)
Configure the command/data mode.
Definition: dl_spi.h:1205
__STATIC_INLINE uint32_t DL_SPI_getRawInterruptStatus(SPI_Regs *spi, uint32_t interruptMask)
Check interrupt flag of any SPI interrupt.
Definition: dl_spi.h:1672
bool DL_SPI_receiveDataCheck32(SPI_Regs *spi, uint32_t *buffer)
Checks the RX FIFO before trying to transmit data.
Configuration struct for DL_SPI_init.
Definition: dl_spi.h:376
__STATIC_INLINE uint32_t DL_SPI_getRawDMAReceiveEventStatus(SPI_Regs *spi, uint32_t interruptMask)
Check interrupt flag of any SPI interrupt for DMA receive event.
Definition: dl_spi.h:2245
__STATIC_INLINE void DL_SPI_setBitRateSerialClockDivider(SPI_Regs *spi, uint32_t SCR)
Set the SPI bit rate serial clock divider (SCR)
Definition: dl_spi.h:1433
__STATIC_INLINE bool DL_SPI_isEnabled(SPI_Regs *spi)
Checks if the SPI peripheral is enabled.
Definition: dl_spi.h:561
__STATIC_INLINE DL_SPI_PARITY DL_SPI_getParity(SPI_Regs *spi)
Get the current receive and transmit parity configuration.
Definition: dl_spi.h:704
Configuration structure to backup SPI peripheral state before going to STOP/STANDBY mode...
Definition: dl_spi.h:423
void DL_SPI_init(SPI_Regs *spi, DL_SPI_Config *config)
Initialize the SPI peripheral.
__STATIC_INLINE void DL_SPI_disableControllerCommandDataMode(SPI_Regs *spi)
Disables command/data mode.
Definition: dl_spi.h:1253
void DL_SPI_transmitDataBlocking32(SPI_Regs *spi, uint32_t data)
Blocks to ensure transmit is ready before sending data.
__STATIC_INLINE bool DL_SPI_isPeripheralDataOutputEnabled(SPI_Regs *spi)
Checks if peripheral data output is enabled.
Definition: dl_spi.h:1316
DL_SPI_CLOCK_DIVIDE_RATIO divideRatio
Definition: dl_spi.h:414
__STATIC_INLINE void DL_SPI_clearDMATransmitEventStatus(SPI_Regs *spi)
Clear pending SPI interrupt for DMA transmit event.
Definition: dl_spi.h:2342
__STATIC_INLINE void DL_SPI_setPeripheralReceiveTimeout(SPI_Regs *spi, uint32_t timeout)
Set peripheral receive timeout.
Definition: dl_spi.h:1159
__STATIC_INLINE void DL_SPI_setParity(SPI_Regs *spi, DL_SPI_PARITY parity)
Sets the parity configuration used for transactions.
Definition: dl_spi.h:689
__STATIC_INLINE bool DL_SPI_isRXFIFOEmpty(SPI_Regs *spi)
Checks if the RX FIFO is empty.
Definition: dl_spi.h:651
__STATIC_INLINE uint32_t DL_SPI_getEnabledInterrupts(SPI_Regs *spi, uint32_t interruptMask)
Check which SPI interrupts are enabled.
Definition: dl_spi.h:1628
__STATIC_INLINE void DL_SPI_enableTransmitParity(SPI_Regs *spi)
Enables transmit parity.
Definition: dl_spi.h:767
bool DL_SPI_saveConfiguration(SPI_Regs *spi, DL_SPI_backupConfig *ptr)
Save SPI configuration before entering a power loss state.
__STATIC_INLINE bool DL_SPI_isLoopbackModeEnabled(SPI_Regs *spi)
Checks if the loopback mode is enabled.
Definition: dl_spi.h:965
__STATIC_INLINE void DL_SPI_disablePower(SPI_Regs *spi)
Disables power on spi module.
Definition: dl_spi.h:495
__STATIC_INLINE void DL_SPI_enableLoopbackMode(SPI_Regs *spi)
Enables loopback mode.
Definition: dl_spi.h:937
__STATIC_INLINE DL_SPI_DATA_SIZE DL_SPI_getDataSize(SPI_Regs *spi)
Get the configured size for transfers.
Definition: dl_spi.h:862
__STATIC_INLINE void DL_SPI_transmitData16(SPI_Regs *spi, uint16_t data)
Writes 16-bit data into the TX FIFO for transmit.
Definition: dl_spi.h:1488
__STATIC_INLINE bool DL_SPI_isTXFIFOFull(SPI_Regs *spi)
Checks if the TX FIFO is full.
Definition: dl_spi.h:636
__STATIC_INLINE uint32_t DL_SPI_getPeripheralReceiveTimeout(SPI_Regs *spi)
Get peripheral receive timeout.
Definition: dl_spi.h:1178
__STATIC_INLINE uint32_t DL_SPI_receiveData32(SPI_Regs *spi)
Reads 32-bit data from the RX FIFO.
Definition: dl_spi.h:1583
__STATIC_INLINE uint32_t DL_SPI_getRawDMATransmitEventStatus(SPI_Regs *spi)
Check interrupt flag of any SPI interrupt for DMA transmit event.
Definition: dl_spi.h:2266
__STATIC_INLINE uint32_t DL_SPI_getEnabledDMATransmitEvent(SPI_Regs *spi)
Check if SPI interrupt for DMA transmit event is enabled.
Definition: dl_spi.h:2174
bool DL_SPI_transmitDataCheck8(SPI_Regs *spi, uint8_t data)
Checks the TX FIFO before trying to transmit data.
__STATIC_INLINE uint32_t DL_SPI_getRepeatTransmit(SPI_Regs *spi)
Get counter for repeated transmit.
Definition: dl_spi.h:1005
DL_SPI_PARITY
Definition: dl_spi.h:181
__STATIC_INLINE void DL_SPI_enableInterrupt(SPI_Regs *spi, uint32_t interruptMask)
Enable SPI interrupts.
Definition: dl_spi.h:1596
DL_SPI_CHIP_SELECT
Definition: dl_spi.h:271
uint32_t interruptMask1
Definition: dl_spi.h:457
__STATIC_INLINE void DL_SPI_enable(SPI_Regs *spi)
Enable the SPI peripheral.
Definition: dl_spi.h:546
__STATIC_INLINE DL_SPI_RX_FIFO_LEVEL DL_SPI_getRXFIFOThreshold(SPI_Regs *spi)
Get the RX FIFO interrupt threshold level.
Definition: dl_spi.h:1410
uint32_t DL_SPI_drainRXFIFO16(SPI_Regs *spi, uint16_t *buffer, uint32_t maxCount)
Read all available data out of the RX FIFO using 16 bit access.
__STATIC_INLINE void DL_SPI_enablePower(SPI_Regs *spi)
Enables power on SPI module.
Definition: dl_spi.h:485
void DL_SPI_transmitDataBlocking8(SPI_Regs *spi, uint8_t data)
Blocks to ensure transmit is ready before sending data.
__STATIC_INLINE DL_SPI_DMA_IIDX_TX DL_SPI_getPendingDMATransmitEvent(SPI_Regs *spi)
Get highest priority pending SPI interrupt for DMA transmit event.
Definition: dl_spi.h:2309
DL_SPI_CLOCK
Definition: dl_spi.h:364
__STATIC_INLINE uint32_t DL_SPI_getEnabledDMATransmitEventStatus(SPI_Regs *spi)
Check interrupt flag of enabled SPI interrupt for DMA transmit event.
Definition: dl_spi.h:2223
uint32_t DL_SPI_drainRXFIFO8(SPI_Regs *spi, uint8_t *buffer, uint32_t maxCount)
Read all available data out of the RX FIFO using 8 bit access.
Configuration struct for DL_SPI_setClockConfig.
Definition: dl_spi.h:409
__STATIC_INLINE void DL_SPI_setDelayedSampling(SPI_Regs *spi, uint32_t delay)
Set the delay sampling.
Definition: dl_spi.h:1333
uint32_t interruptFifoLevelSelectWord
Definition: dl_spi.h:449
__STATIC_INLINE bool DL_SPI_isBusy(SPI_Regs *spi)
Checks if the SPI is busy transmitting.
Definition: dl_spi.h:606
__STATIC_INLINE bool DL_SPI_isControllerCommandDataModeEnabled(SPI_Regs *spi)
Checks if command/data mode is enabled.
Definition: dl_spi.h:1268
uint32_t interruptMask2
Definition: dl_spi.h:461
__STATIC_INLINE void DL_SPI_enableDMAReceiveEvent(SPI_Regs *spi, uint32_t interrupt)
Enable SPI interrupt for triggering the DMA receive event.
Definition: dl_spi.h:2077
DL_SPI_TX_FIFO_LEVEL
Definition: dl_spi.h:285
DL_SPI_DATA_SIZE
Definition: dl_spi.h:241
__STATIC_INLINE void DL_SPI_enableReceiveParity(SPI_Regs *spi)
Enables receive parity.
Definition: dl_spi.h:722
uint32_t interruptMask0
Definition: dl_spi.h:453
__STATIC_INLINE void DL_SPI_disablePeripheralDataOutput(SPI_Regs *spi)
Disables peripheral data output.
Definition: dl_spi.h:1299
DL_SPI_MODE
Definition: dl_spi.h:225
__STATIC_INLINE void DL_SPI_enableDMATransmitEvent(SPI_Regs *spi)
Enable SPI interrupt for triggering the DMA transmit event.
Definition: dl_spi.h:2096
DL_SPI_CLOCK_DIVIDE_RATIO
Definition: dl_spi.h:344
DL_SPI_DATA_SIZE dataSize
Definition: dl_spi.h:393
bool DL_SPI_transmitDataCheck16(SPI_Regs *spi, uint16_t data)
Checks the TX FIFO before trying to transmit data.
__STATIC_INLINE bool DL_SPI_isReceiveParityEnabled(SPI_Regs *spi)
Checks if receive parity is enabled.
Definition: dl_spi.h:752
__STATIC_INLINE DL_SPI_CHIP_SELECT DL_SPI_getChipSelect(SPI_Regs *spi)
Get chip select used for controller or peripheral mode.
Definition: dl_spi.h:1139
DL_SPI_BIT_ORDER bitOrder
Definition: dl_spi.h:396
__STATIC_INLINE void DL_SPI_disablePacking(SPI_Regs *spi)
Disables packing feature.
Definition: dl_spi.h:1087
__STATIC_INLINE uint8_t DL_SPI_receiveData8(SPI_Regs *spi)
Reads 8-bit data from the RX FIFO.
Definition: dl_spi.h:1535
__STATIC_INLINE void DL_SPI_enablePeripheralDataOutput(SPI_Regs *spi)
Enables peripheral data output.
Definition: dl_spi.h:1283
DL_SPI_FRAME_FORMAT frameFormat
Definition: dl_spi.h:384
bool DL_SPI_receiveDataCheck8(SPI_Regs *spi, uint8_t *buffer)
Checks the RX FIFO before trying to transmit data.
void DL_SPI_getClockConfig(SPI_Regs *spi, DL_SPI_ClockConfig *config)
Get SPI source clock configuration.
void DL_SPI_transmitDataBlocking16(SPI_Regs *spi, uint16_t data)
Blocks to ensure transmit is ready before sending data.
__STATIC_INLINE bool DL_SPI_isPackingEnabled(SPI_Regs *spi)
Checks if packing feature is enabled.
Definition: dl_spi.h:1102
bool backupRdy
Definition: dl_spi.h:465
__STATIC_INLINE void DL_SPI_disableDMATransmitEvent(SPI_Regs *spi)
Disables SPI interrupt from triggering the DMA transmit event.
Definition: dl_spi.h:2133
uint16_t DL_SPI_receiveDataBlocking16(SPI_Regs *spi)
Blocks to ensure receive is ready before reading data.
__STATIC_INLINE void DL_SPI_setDataSize(SPI_Regs *spi, DL_SPI_DATA_SIZE dataSize)
Set the size for transfers.
Definition: dl_spi.h:847
uint32_t DL_SPI_fillTXFIFO32(SPI_Regs *spi, uint32_t *buffer, uint32_t count)
Fill the TX FIFO using 32 bit access.
__STATIC_INLINE DL_SPI_FRAME_FORMAT DL_SPI_getFrameFormat(SPI_Regs *spi)
Get the frame format configuration.
Definition: dl_spi.h:830
uint32_t controlWord1
Definition: dl_spi.h:434
__STATIC_INLINE uint32_t DL_SPI_getBitRateSerialClockDivider(SPI_Regs *spi)
Get the SPI bit rate serial clock divider (SCR)
Definition: dl_spi.h:1448
__STATIC_INLINE bool DL_SPI_isPeripheralAlignDataOnChipSelectEnabled(SPI_Regs *spi)
Checks if data alignment on chip select for peripherals is enabled.
Definition: dl_spi.h:1054
__STATIC_INLINE void DL_SPI_setChipSelect(SPI_Regs *spi, DL_SPI_CHIP_SELECT chipSelect)
Set chip select used for controller or peripheral mode.
Definition: dl_spi.h:1121
__STATIC_INLINE void DL_SPI_transmitData32(SPI_Regs *spi, uint32_t data)
Writes 32-bit data into the TX FIFO for transmit.
Definition: dl_spi.h:1514
__STATIC_INLINE bool DL_SPI_isTransmitParityEnabled(SPI_Regs *spi)
Checks if transmit parity is enabled.
Definition: dl_spi.h:797
uint32_t DL_SPI_drainRXFIFO32(SPI_Regs *spi, uint32_t *buffer, uint32_t maxCount)
Read all available data out of the RX FIFO using 32 bit access.
DL_SPI_FRAME_FORMAT
Definition: dl_spi.h:193
__STATIC_INLINE uint16_t DL_SPI_receiveData16(SPI_Regs *spi)
Reads 16-bit data from the RX FIFO.
Definition: dl_spi.h:1556
__STATIC_INLINE bool DL_SPI_isRXFIFOFull(SPI_Regs *spi)
Checks if the RX FIFO is full.
Definition: dl_spi.h:666
__STATIC_INLINE void DL_SPI_reset(SPI_Regs *spi)
Resets spi peripheral.
Definition: dl_spi.h:519
__STATIC_INLINE bool DL_SPI_isPowerEnabled(SPI_Regs *spi)
Returns if power on spi module.
Definition: dl_spi.h:508
__STATIC_INLINE DL_SPI_MODE DL_SPI_getMode(SPI_Regs *spi)
Get the current mode for the SPI (controller/peripheral)
Definition: dl_spi.h:891
uint8_t DL_SPI_receiveDataBlocking8(SPI_Regs *spi)
Blocks to ensure receive is ready before reading data.
__STATIC_INLINE void DL_SPI_disablePeripheralAlignDataOnChipSelect(SPI_Regs *spi)
Disables data alignment on chip select for peripherals.
Definition: dl_spi.h:1038
__STATIC_INLINE bool DL_SPI_isTXFIFOEmpty(SPI_Regs *spi)
Checks if the TX FIFO is empty.
Definition: dl_spi.h:621
uint32_t DL_SPI_receiveDataBlocking32(SPI_Regs *spi)
Blocks to ensure receive is ready before reading data.
__STATIC_INLINE void DL_SPI_transmitData8(SPI_Regs *spi, uint8_t data)
Writes 8-bit data into the TX FIFO for transmit.
Definition: dl_spi.h:1468
__STATIC_INLINE void DL_SPI_disableTransmitParity(SPI_Regs *spi)
Disables transmit parity.
Definition: dl_spi.h:782
__STATIC_INLINE void DL_SPI_disable(SPI_Regs *spi)
Disable the SPI peripheral.
Definition: dl_spi.h:571
DL_SPI_PARITY parity
Definition: dl_spi.h:390
__STATIC_INLINE void DL_SPI_enablePacking(SPI_Regs *spi)
Enables packing feature.
Definition: dl_spi.h:1071
__STATIC_INLINE DL_SPI_BIT_ORDER DL_SPI_getBitOrder(SPI_Regs *spi)
Get the current bit order used for transfers.
Definition: dl_spi.h:922
DL_SPI_MODE mode
Definition: dl_spi.h:378
__STATIC_INLINE uint32_t DL_SPI_getEnabledDMAReceiveEvent(SPI_Regs *spi, uint32_t interruptMask)
Check which SPI interrupt for DMA receive events is enabled.
Definition: dl_spi.h:2155
DL_SPI_CLOCK clockSel
Definition: dl_spi.h:411
uint32_t divideRatio
Definition: dl_spi.h:444
__STATIC_INLINE void DL_SPI_enablePeripheralAlignDataOnChipSelect(SPI_Regs *spi)
Enables data alignment on chip select for peripherals.
Definition: dl_spi.h:1022
__STATIC_INLINE void DL_SPI_setMode(SPI_Regs *spi, DL_SPI_MODE mode)
Set whether the device should be in controller/peripheral mode.
Definition: dl_spi.h:877