VSF Documented
spi.c File Reference

Data Structures

struct  vsf_hw_spi_dma_t
 
struct  vsf_hw_spi_t
 

Macros

#define SPI_CTL_MODE_MASK
 
#define SPI_SSCTL_MASK
 
#define VSF_SPI_CFG_IMP_PREFIX   vsf_hw
 
#define VSF_SPI_CFG_IMP_UPCASE_PREFIX   VSF_HW
 
#define VSF_SPI_CFG_IMP_LV0(__IDX, __HAL_OP)
 

Typedefs

typedef struct vsf_hw_spi_dma_t vsf_hw_spi_dma_t
 
typedef struct vsf_hw_spi_t vsf_hw_spi_t
 

Functions

vsf_err_t vsf_hw_spi_init (vsf_hw_spi_t *spi_ptr, vsf_spi_cfg_t *cfg_ptr)
 
fsm_rt_t vsf_hw_spi_enable (vsf_hw_spi_t *spi_ptr)
 
fsm_rt_t vsf_hw_spi_disable (vsf_hw_spi_t *spi_ptr)
 
void vsf_hw_spi_irq_enable (vsf_hw_spi_t *spi_ptr, vsf_spi_irq_mask_t irq_mask)
 
void vsf_hw_spi_irq_disable (vsf_hw_spi_t *spi_ptr, vsf_spi_irq_mask_t irq_mask)
 
vsf_spi_status_t vsf_hw_spi_status (vsf_hw_spi_t *spi_ptr)
 
void vsf_hw_spi_fifo_transfer (vsf_hw_spi_t *spi_ptr, void *out_buffer_ptr, uint_fast32_t out_cnt, uint_fast32_t *out_offset_ptr, void *in_buffer_ptr, uint_fast32_t in_cnt, uint_fast32_t *in_offset_ptr)
 
void vsf_hw_spi_cs_active (vsf_hw_spi_t *spi_ptr, uint_fast8_t index)
 
void vsf_hw_spi_cs_inactive (vsf_hw_spi_t *spi_ptr, uint_fast8_t index)
 
vsf_err_t vsf_hw_spi_request_transfer (vsf_hw_spi_t *spi_ptr, void *out_buffer_ptr, void *in_buffer_ptr, uint_fast32_t count)
 
vsf_err_t vsf_hw_spi_cancel_transfer (vsf_hw_spi_t *spi_ptr)
 
int_fast32_t vsf_hw_spi_get_transferred_count (vsf_hw_spi_t *spi_ptr)
 

Macro Definition Documentation

◆ SPI_CTL_MODE_MASK

#define SPI_CTL_MODE_MASK
Value:
( SPI_CTL_SLAVE_Msk | SPI_CTL_CLKPOL_Msk \
| SPI_CTL_TXNEG_Msk | SPI_CTL_RXNEG_Msk \
| SPI_CTL_DWIDTH_Msk | SPI_CTL_HALFDPX_Msk \
| SPI_CTL_DATDIR_Msk | SPI_CTL_RXONLY_Msk )

◆ SPI_SSCTL_MASK

#define SPI_SSCTL_MASK
Value:
@ VSF_SPI_SLAVE_SELECTION_ACTIVE_HIGH
Definition spi.h:110
@ SPI_AUTO_SLAVE_SELECTION_ENABLE
Definition spi.h:106

◆ VSF_SPI_CFG_IMP_PREFIX

#define VSF_SPI_CFG_IMP_PREFIX   vsf_hw

◆ VSF_SPI_CFG_IMP_UPCASE_PREFIX

#define VSF_SPI_CFG_IMP_UPCASE_PREFIX   VSF_HW

◆ VSF_SPI_CFG_IMP_LV0

#define VSF_SPI_CFG_IMP_LV0 ( __IDX,
__HAL_OP )
Value:
vsf_hw_spi_t vsf_hw_spi ## __IDX = { \
.reg = SPI ## __IDX, \
.irq = SPI ## __IDX ## _IRQn, \
.tx_dma = { \
.per_index = M484_DMA_SPI ## __IDX ## _TX, \
.channel = VSF_HW_SPI ## __IDX ## _DMA_TX_CHANNEL, \
}, \
.rx_dma = { \
.per_index = M484_DMA_SPI ## __IDX ## _RX, \
.channel = VSF_HW_SPI ## __IDX ## _DMA_RX_CHANNEL, \
}, \
__HAL_OP \
};
Definition spi.c:69

Typedef Documentation

◆ vsf_hw_spi_dma_t

typedef struct vsf_hw_spi_dma_t vsf_hw_spi_dma_t

◆ vsf_hw_spi_t

typedef struct vsf_hw_spi_t vsf_hw_spi_t

Function Documentation

◆ vsf_hw_spi_init()

vsf_err_t vsf_hw_spi_init ( vsf_hw_spi_t * spi_ptr,
vsf_spi_cfg_t * cfg_ptr )

◆ vsf_hw_spi_enable()

fsm_rt_t vsf_hw_spi_enable ( vsf_hw_spi_t * spi_ptr)

◆ vsf_hw_spi_disable()

fsm_rt_t vsf_hw_spi_disable ( vsf_hw_spi_t * spi_ptr)

◆ vsf_hw_spi_irq_enable()

void vsf_hw_spi_irq_enable ( vsf_hw_spi_t * spi_ptr,
vsf_spi_irq_mask_t irq_mask )

◆ vsf_hw_spi_irq_disable()

void vsf_hw_spi_irq_disable ( vsf_hw_spi_t * spi_ptr,
vsf_spi_irq_mask_t irq_mask )

◆ vsf_hw_spi_status()

vsf_spi_status_t vsf_hw_spi_status ( vsf_hw_spi_t * spi_ptr)

◆ vsf_hw_spi_fifo_transfer()

void vsf_hw_spi_fifo_transfer ( vsf_hw_spi_t * spi_ptr,
void * out_buffer_ptr,
uint_fast32_t out_cnt,
uint_fast32_t * out_offset_ptr,
void * in_buffer_ptr,
uint_fast32_t in_cnt,
uint_fast32_t * in_offset_ptr )

◆ vsf_hw_spi_cs_active()

void vsf_hw_spi_cs_active ( vsf_hw_spi_t * spi_ptr,
uint_fast8_t index )

◆ vsf_hw_spi_cs_inactive()

void vsf_hw_spi_cs_inactive ( vsf_hw_spi_t * spi_ptr,
uint_fast8_t index )

◆ vsf_hw_spi_request_transfer()

vsf_err_t vsf_hw_spi_request_transfer ( vsf_hw_spi_t * spi_ptr,
void * out_buffer_ptr,
void * in_buffer_ptr,
uint_fast32_t count )

◆ vsf_hw_spi_cancel_transfer()

vsf_err_t vsf_hw_spi_cancel_transfer ( vsf_hw_spi_t * spi_ptr)

◆ vsf_hw_spi_get_transferred_count()

int_fast32_t vsf_hw_spi_get_transferred_count ( vsf_hw_spi_t * spi_ptr)
Generated from commit: vsfteam/vsf@ceb53fd