VSF Documented
Data Structures | Macros | Typedefs | Functions
spi.c File Reference
#include "../driver.h"
#include "./i_reg_spi.h"
#include "../vendor/plf/aic8800/src/driver/sysctrl/sysctrl_api.h"
#include "../vendor/plf/aic8800/src/driver/iomux/reg_iomux.h"
#include "../vendor/plf/aic8800/src/driver/dma/dma_api.h"
#include "hal/driver/common/spi/spi_template.inc"

Data Structures

struct  vsf_hw_spi_const_t
 
struct  vsf_hw_spi_t
 

Macros

#define VSF_HW_SPI_CFG_DMA_BYTE_CNT_MAX   65535
 
#define VSF_HW_SPI_CFG_MULTI_CLASS   VSF_SPI_CFG_MULTI_CLASS
 
#define SPI_DATASIZE_TO_BYTE(__S)    (((((__S) & VSF_SPI_DATASIZE_MASK) >> 2) + 7) / 8)
 
#define VSF_SPI_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED
 
#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_const_t vsf_hw_spi_const_t
 
typedef struct vsf_hw_spi_t vsf_hw_spi_t
 

Functions

vsf_err_t vsf_hw_spi_init (vsf_hw_spi_t *hw_spi_ptr, vsf_spi_cfg_t *cfg_ptr)
 
void vsf_hw_spi_fini (vsf_hw_spi_t *hw_spi_ptr)
 
fsm_rt_t vsf_hw_spi_enable (vsf_hw_spi_t *hw_spi_ptr)
 
fsm_rt_t vsf_hw_spi_disable (vsf_hw_spi_t *hw_spi_ptr)
 
void vsf_hw_spi_irq_enable (vsf_hw_spi_t *hw_spi_ptr, vsf_spi_irq_mask_t irq_mask)
 
void vsf_hw_spi_irq_disable (vsf_hw_spi_t *hw_spi_ptr, vsf_spi_irq_mask_t irq_mask)
 
void vsf_hw_spi_fifo_transfer (vsf_hw_spi_t *hw_spi_ptr, void *out_buffer_ptr, uint_fast32_t *out_offset_ptr, void *in_buffer_ptr, uint_fast32_t *in_offset_ptr, uint_fast32_t cnt)
 
vsf_err_t vsf_hw_spi_request_transfer (vsf_hw_spi_t *hw_spi_ptr, void *send_buffer_ptr, void *recv_buffer_ptr, uint_fast32_t count)
 
vsf_err_t vsf_hw_spi_cancel_transfer (vsf_hw_spi_t *hw_spi_ptr)
 
void vsf_hw_spi_cs_active (vsf_hw_spi_t *hw_spi_ptr, uint_fast8_t index)
 
void vsf_hw_spi_cs_inactive (vsf_hw_spi_t *hw_spi_ptr, uint_fast8_t index)
 
vsf_spi_status_t vsf_hw_spi_status (vsf_hw_spi_t *hw_spi_ptr)
 
void vsf_hw_spi_get_transferred_count (vsf_hw_spi_t *hw_spi_ptr, uint_fast32_t *tx_count, uint_fast32_t *rx_count)
 
vsf_spi_capability_t vsf_hw_spi_capability (vsf_hw_spi_t *spi_ptr)
 

Macro Definition Documentation

◆ VSF_HW_SPI_CFG_DMA_BYTE_CNT_MAX

#define VSF_HW_SPI_CFG_DMA_BYTE_CNT_MAX   65535

◆ VSF_HW_SPI_CFG_MULTI_CLASS

#define VSF_HW_SPI_CFG_MULTI_CLASS   VSF_SPI_CFG_MULTI_CLASS

◆ SPI_DATASIZE_TO_BYTE

#define SPI_DATASIZE_TO_BYTE (   __S)     (((((__S) & VSF_SPI_DATASIZE_MASK) >> 2) + 7) / 8)

◆ VSF_SPI_CFG_REIMPLEMENT_API_CAPABILITY

#define VSF_SPI_CFG_REIMPLEMENT_API_CAPABILITY   ENABLED

◆ 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 
)

Typedef Documentation

◆ vsf_hw_spi_const_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 hw_spi_ptr,
vsf_spi_cfg_t cfg_ptr 
)

◆ vsf_hw_spi_fini()

void vsf_hw_spi_fini ( vsf_hw_spi_t hw_spi_ptr)

◆ vsf_hw_spi_enable()

fsm_rt_t vsf_hw_spi_enable ( vsf_hw_spi_t hw_spi_ptr)

◆ vsf_hw_spi_disable()

fsm_rt_t vsf_hw_spi_disable ( vsf_hw_spi_t hw_spi_ptr)

◆ vsf_hw_spi_irq_enable()

void vsf_hw_spi_irq_enable ( vsf_hw_spi_t hw_spi_ptr,
vsf_spi_irq_mask_t  irq_mask 
)

◆ vsf_hw_spi_irq_disable()

void vsf_hw_spi_irq_disable ( vsf_hw_spi_t hw_spi_ptr,
vsf_spi_irq_mask_t  irq_mask 
)

◆ vsf_hw_spi_fifo_transfer()

void vsf_hw_spi_fifo_transfer ( vsf_hw_spi_t hw_spi_ptr,
void *  out_buffer_ptr,
uint_fast32_t out_offset_ptr,
void *  in_buffer_ptr,
uint_fast32_t in_offset_ptr,
uint_fast32_t  cnt 
)

◆ vsf_hw_spi_request_transfer()

vsf_err_t vsf_hw_spi_request_transfer ( vsf_hw_spi_t hw_spi_ptr,
void *  send_buffer_ptr,
void *  recv_buffer_ptr,
uint_fast32_t  count 
)

◆ vsf_hw_spi_cancel_transfer()

vsf_err_t vsf_hw_spi_cancel_transfer ( vsf_hw_spi_t hw_spi_ptr)

◆ vsf_hw_spi_cs_active()

void vsf_hw_spi_cs_active ( vsf_hw_spi_t hw_spi_ptr,
uint_fast8_t  index 
)

◆ vsf_hw_spi_cs_inactive()

void vsf_hw_spi_cs_inactive ( vsf_hw_spi_t hw_spi_ptr,
uint_fast8_t  index 
)

◆ vsf_hw_spi_status()

vsf_spi_status_t vsf_hw_spi_status ( vsf_hw_spi_t hw_spi_ptr)

◆ vsf_hw_spi_get_transferred_count()

void vsf_hw_spi_get_transferred_count ( vsf_hw_spi_t hw_spi_ptr,
uint_fast32_t tx_count,
uint_fast32_t rx_count 
)

◆ vsf_hw_spi_capability()

vsf_spi_capability_t vsf_hw_spi_capability ( vsf_hw_spi_t spi_ptr)