Bouffalo SDK  1.0
Bouffalolab Software Development Kit
SPI
Collaboration diagram for SPI:

Modules

 spi role definition
 
 spi mode definition
 
 spi data width definition
 
 spi bit order definition
 
 spi byte order definition
 
 dbi interrupt status definition
 
 spi interrupt clear definition
 
 spi feature control cmd definition
 

Data Structures

struct  bflb_spi_config_s
 SPI configuration structure. More...
 

Functions

void bflb_spi_init (struct bflb_device_s *dev, const struct bflb_spi_config_s *config)
 Initialize spi. More...
 
void bflb_spi_deinit (struct bflb_device_s *dev)
 Deinitialize spi. More...
 
void bflb_spi_link_txdma (struct bflb_device_s *dev, bool enable)
 Enable spi tx dma. More...
 
void bflb_spi_link_rxdma (struct bflb_device_s *dev, bool enable)
 Enable spi rx dma. More...
 
uint32_t bflb_spi_poll_send (struct bflb_device_s *dev, uint32_t data)
 Send and receive one data on spi. More...
 
int bflb_spi_poll_exchange (struct bflb_device_s *dev, const void *txbuffer, void *rxbuffer, size_t nbytes)
 Send and receive a block of data on spi. More...
 
bool bflb_spi_isbusy (struct bflb_device_s *dev)
 Check if spi is busy. More...
 
void bflb_spi_txint_mask (struct bflb_device_s *dev, bool mask)
 Enable or disable spi rx fifo threhold interrupt. More...
 
void bflb_spi_rxint_mask (struct bflb_device_s *dev, bool mask)
 Enable or disable spi rx fifo threhold interrupt. More...
 
void bflb_spi_tcint_mask (struct bflb_device_s *dev, bool mask)
 Enable or disable spi transfer done interrupt. More...
 
void bflb_spi_errint_mask (struct bflb_device_s *dev, bool mask)
 Enable or disable spi error interrupt. More...
 
uint32_t bflb_spi_get_intstatus (struct bflb_device_s *dev)
 Get spi interrupt status. More...
 
void bflb_spi_int_clear (struct bflb_device_s *dev, uint32_t int_clear)
 Clear spi interrupt status. More...
 
int bflb_spi_feature_control (struct bflb_device_s *dev, int cmd, size_t arg)
 Control spi feature. More...
 

Detailed Description

Function Documentation

◆ bflb_spi_deinit()

void bflb_spi_deinit ( struct bflb_device_s dev)

Deinitialize spi.

Parameters
[in]devdevice handle

◆ bflb_spi_errint_mask()

void bflb_spi_errint_mask ( struct bflb_device_s dev,
bool  mask 
)

Enable or disable spi error interrupt.

Parameters
[in]devdevice handle
[in]masktrue means disable, false means enable

◆ bflb_spi_feature_control()

int bflb_spi_feature_control ( struct bflb_device_s dev,
int  cmd,
size_t  arg 
)

Control spi feature.

Parameters
[in]devdevice handle
[in]cmdfeature command, use spi feature control cmd definition
[in]arguser data
Returns
A negated errno value on failure.

◆ bflb_spi_get_intstatus()

uint32_t bflb_spi_get_intstatus ( struct bflb_device_s dev)

Get spi interrupt status.

Parameters
[in]devdevice handle
Returns
interrupt status, use dbi interrupt status definition

◆ bflb_spi_init()

void bflb_spi_init ( struct bflb_device_s dev,
const struct bflb_spi_config_s config 
)

Initialize spi.

Parameters
[in]devdevice handle
[in]configpointer to save spi config

◆ bflb_spi_int_clear()

void bflb_spi_int_clear ( struct bflb_device_s dev,
uint32_t  int_clear 
)

Clear spi interrupt status.

Parameters
[in]devdevice handle
[in]int_clearclear value, use spi interrupt clear definition

◆ bflb_spi_isbusy()

bool bflb_spi_isbusy ( struct bflb_device_s dev)

Check if spi is busy.

Parameters
[in]devdevice handle
Returns
true means busy, otherwise not.

◆ bflb_spi_link_rxdma()

void bflb_spi_link_rxdma ( struct bflb_device_s dev,
bool  enable 
)

Enable spi rx dma.

Parameters
[in]devdevice handle
[in]enabletrue means enable, otherwise disable.

◆ bflb_spi_link_txdma()

void bflb_spi_link_txdma ( struct bflb_device_s dev,
bool  enable 
)

Enable spi tx dma.

Parameters
[in]devdevice handle
[in]enabletrue means enable, otherwise disable.

◆ bflb_spi_poll_exchange()

int bflb_spi_poll_exchange ( struct bflb_device_s dev,
const void *  txbuffer,
void *  rxbuffer,
size_t  nbytes 
)

Send and receive a block of data on spi.

Parameters
[in]devdevice handle
[in]txbufferpointer to send buffer
[in]rxbufferpointer to receive buffer
[in]nbytesbytes to send
Returns
A negated errno value on failure.

◆ bflb_spi_poll_send()

uint32_t bflb_spi_poll_send ( struct bflb_device_s dev,
uint32_t  data 
)

Send and receive one data on spi.

Parameters
[in]devdevice handle
[in]datadata to send
Returns
receive data

◆ bflb_spi_rxint_mask()

void bflb_spi_rxint_mask ( struct bflb_device_s dev,
bool  mask 
)

Enable or disable spi rx fifo threhold interrupt.

Parameters
[in]devdevice handle
[in]masktrue means disable, false means enable

◆ bflb_spi_tcint_mask()

void bflb_spi_tcint_mask ( struct bflb_device_s dev,
bool  mask 
)

Enable or disable spi transfer done interrupt.

Parameters
[in]devdevice handle
[in]masktrue means disable, false means enable

◆ bflb_spi_txint_mask()

void bflb_spi_txint_mask ( struct bflb_device_s dev,
bool  mask 
)

Enable or disable spi rx fifo threhold interrupt.

Parameters
[in]devdevice handle
[in]masktrue means disable, false means enable