19.5.1. 函数列表

19.5.1.1. Function gx_spi_check_capability


bool gx_spi_check_capability(struct spi_device *spi, SPI_CAPABILITY_T cap)

SPI 可以支持的模式或功能 param spi 从机设备 param cap 要检查的模式或功能

19.5.1.2. Function gx_spi_master_init


int gx_spi_master_init(struct sflash_master *spi_master)

SPI master模式初始化 param sflash_master spi 的从机设备

return int

Returns 0

初始化成功

Returns -1

初始化失败

19.5.1.3. Function gx_spi_master_tx_and_rx


int gx_spi_master_tx_and_rx(struct spi_device *spi, uint8_t *rx_buf, uint32_t rx_len, uint8_t *tx_buf, uint32_t tx_len)

SPI 单线模式下,同步发送和接收数据

参数
  • spi -- 从机设备

  • rx_buf -- 接收数据内存地址

  • rx_len -- 接收数据长度

  • tx_buf -- 发送数据内存地址

  • tx_len -- 发送数据长度

Returns 0

执行成功

Returns -22

参数无效

返回

int

19.5.1.4. Function gx_spi_master_tx_then_rx


int gx_spi_master_tx_then_rx(struct spi_device *spi, uint8_t *tx_buf, uint32_t tx_len, uint8_t *rx_buf, uint32_t rx_len)

SPI master 单线模式下,在一个transfer中先发送指令或地址后,再接收数据,不支持dma传输,适用于小数据量传输

参数
  • spi -- 从机设备

  • tx_buf -- 发送数据内存地址

  • tx_len -- 发送数据长度

  • rx_buf -- 接收数据内存地址

  • rx_len -- 接收数据长度

Returns 0

执行成功

Returns -22

参数无效

返回

int

19.5.1.5. Function gx_spi_read


警告

doxygenfunction: Unable to resolve function "gx_spi_read" with arguments (struct spi_device*, uint8_t*, uint32_t, uint8_t*, uint32_t, uint8_t, uint8_t, uint8_t, void (*)(void*, uint8_t), void*) in doxygen xml output for project "Fornax 使用文档" from directory: ./doxyoutput/XML. Potential matches:

- int gx_spi_read(struct spi_device *spi, uint8_t *cmd, uint32_t cmd_len, uint8_t *data, uint32_t data_len, uint8_t data_trans_lines, uint8_t data_bits_per_word, uint8_t dma_mode, void (*complete_cb)(void*, uint8_t), void *cb_param)

19.5.1.6. Function gx_spi_rx


警告

doxygenfunction: Unable to resolve function "gx_spi_rx" with arguments (struct spi_device*, uint8_t*, uint32_t, uint8_t, uint8_t, uint8_t, void (*)(void*, uint8_t), void*) in doxygen xml output for project "Fornax 使用文档" from directory: ./doxyoutput/XML. Potential matches:

- int gx_spi_rx(struct spi_device *spi, uint8_t *buf, uint32_t len, uint8_t trans_lines, uint8_t bits_per_word, uint8_t dma_mode, void (*complete_cb)(void*, uint8_t), void *cb_param)

19.5.1.7. Function gx_spi_set_div_and_sample_delay


void gx_spi_set_div_and_sample_delay(struct spi_device *spi, unsigned int div, unsigned int sample_delay)

SPI 设置spi 控制器的分频比和sample 采样延时,测试时使用 param spi 从机设备 param div 分频比 param sample_delay 采样延时

19.5.1.8. Function gx_spi_sync


static inline int gx_spi_sync(struct spi_device *spi, struct spi_message *message)

传输数据

参数
  • spi -- 从机设备

  • message -- 传输的消息

Returns 0

执行成功

Returns -22

参数无效

返回

int

19.5.1.9. Function gx_spi_tx


警告

doxygenfunction: Unable to resolve function "gx_spi_tx" with arguments (struct spi_device*, uint8_t*, uint32_t, uint8_t, uint8_t, uint8_t, void (*)(void*, uint8_t), void*) in doxygen xml output for project "Fornax 使用文档" from directory: ./doxyoutput/XML. Potential matches:

- int gx_spi_tx(struct spi_device *spi, uint8_t *buf, uint32_t len, uint8_t trans_lines, uint8_t bits_per_word, uint8_t dma_mode, void (*complete_cb)(void*, uint8_t), void *cb_param)

19.5.1.10. Function gx_spi_write


警告

doxygenfunction: Unable to resolve function "gx_spi_write" with arguments (struct spi_device*, uint8_t*, uint32_t, uint8_t*, uint32_t, uint8_t, uint8_t, uint8_t, void (*)(void*, uint8_t), void*) in doxygen xml output for project "Fornax 使用文档" from directory: ./doxyoutput/XML. Potential matches:

- int gx_spi_write(struct spi_device *spi, uint8_t *cmd, uint32_t cmd_len, uint8_t *data, uint32_t data_len, uint8_t data_trans_lines, uint8_t data_bits_per_word, uint8_t dma_mode, void (*complete_cb)(void*, uint8_t), void *cb_param)

19.5.1.11. Function spi_cleanup


static inline void spi_cleanup(struct spi_device *spi)

关闭控制器

参数

spi -- 从机配置

19.5.1.12. Function spi_message_add_tail


static inline void spi_message_add_tail(struct spi_transfer *t, struct spi_message *m)

添加传输单元

参数
  • t -- 传输单元

  • m -- 消息

19.5.1.13. Function spi_message_init


static inline void spi_message_init(struct spi_message *m)

初始化消息

参数

m -- 消息体指针

19.5.1.14. Function spi_setup


static inline int spi_setup(struct spi_device *spi)

配置控制器

参数

spi -- 从机配置

Returns 0

执行成功

Returns -12

内存不足

返回

int

19.5.1.15. Function spi_transfer_del


static inline void spi_transfer_del(struct spi_transfer *t)

删除传输单元

参数

t -- 传输单元

19.5.1.16. Function gx_spi_slave_init


int gx_spi_slave_init(struct spi_device *spi)

初始化SPI slave 模块

参数

spi -- slave设备, 详细说明请参考 spi_device

Returns 0

成功

Returns -1

失败

返回

int 初始化是否成功

19.5.1.17. Function gx_spi_slave_rx


int gx_spi_slave_rx(struct spi_device *spi, void *buffer, uint32_t len, uint8_t dma_mode, completion_cb slave_completetion_cb, void *cb_param)

SPI slave 接收数据

参数
  • spi -- slave设备, 详细说明请参考 spi_device

  • buffer -- 发送数据地址

  • len -- 发送数据长度, byte为单位

  • dma_mode -- dma模式, 0:表示不使用dma,1:表示使用dma同步模式,2:表示使用dma异步模式

  • slave_completetion_cb -- 发送完成回调接口,如果为NULL, 则使用阻塞模式发送; 回调函数在中断中执行;

  • cb_param -- 回调函数参数

Returns 0

成功

Returns -1

失败

返回

int 发送是否成功

19.5.1.18. Function gx_spi_slave_tx


int gx_spi_slave_tx(struct spi_device *spi, const void *buffer, uint32_t len, uint8_t dma_mode, completion_cb slave_completetion_cb, void *cb_param)

SPI slave 发送数据

参数
  • spi -- slave设备, 详细说明请参考 spi_device

  • buffer -- 接收数据地址

  • len -- 接收数据长度, byte为单位 如果使用异步 dma 发送模式,len 长度应大于 16 字节 (8bit 位宽) 或 64 字节 (32bit 位宽)

  • dma_mode -- dma模式, 0:表示不使用dma,1:表示使用dma同步模式,2:表示使用dma异步模式

  • slave_completetion_cb -- 接收完成回调接口,如果为NULL, 则使用阻塞模式接收; 回调函数在中断中执行;

  • cb_param -- 回调函数参数

Returns 0

成功

Returns -1

失败

返回

int 接收是否成功