25#ifndef HAL_SPI_V2_LLD_H
26#define HAL_SPI_V2_LLD_H
28#if HAL_USE_SPI || defined(__DOXYGEN__)
37#define SPI_SUPPORTS_CIRCULAR TRUE
42#define SPI_SUPPORTS_SLAVE_MODE TRUE
57#if !defined(PLATFORM_SPI_USE_SPI1) || defined(__DOXYGEN__)
58#define PLATFORM_SPI_USE_SPI1 FALSE
77#define spi_lld_driver_fields \
84#define spi_lld_config_fields \
92#if (PLATFORM_SPI_USE_SPI1 == TRUE) && !defined(__DOXYGEN__)
102#if (SPI_SELECT_MODE == SPI_SELECT_MODE_LLD) || defined(__DOXYGEN__)
108 const void *txbuf,
void *rxbuf);
int32_t msg_t
Type of a message.
void spi_lld_ignore(SPIDriver *spip, size_t n)
Ignores data on the SPI bus.
SPIDriver SPID1
SPI1 driver identifier.
void spi_lld_select(SPIDriver *spip)
Asserts the slave select signal and prepares for transfers.
void spi_lld_receive(SPIDriver *spip, size_t n, void *rxbuf)
Receives data from the SPI bus.
void spi_lld_init(void)
Low level SPI driver initialization.
void spi_lld_exchange(SPIDriver *spip, size_t n, const void *txbuf, void *rxbuf)
Exchanges data on the SPI bus.
void spi_lld_stop(SPIDriver *spip)
Deactivates the SPI peripheral.
void spi_lld_send(SPIDriver *spip, size_t n, const void *txbuf)
Sends data over the SPI bus.
struct hal_spi_driver SPIDriver
Type of a structure representing an SPI driver.
uint16_t spi_lld_polled_exchange(SPIDriver *spip, uint16_t frame)
Exchanges one frame using a polled wait.
void spi_lld_start(SPIDriver *spip)
Configures and activates the SPI peripheral.
void spi_lld_unselect(SPIDriver *spip)
Deasserts the slave select signal.
msg_t spi_lld_stop_transfer(SPIDriver *spip, size_t *sizep)
Aborts the ongoing SPI operation, if any.