WL865E4-P  36.07.001
m2mb_spi_slave.h File Reference

SPI slave support. More...

Go to the source code of this file.

Data Structures

struct  M2MB_SLAVE_SPI_WRITE_REQUEST_S
 
struct  M2MB_SLAVE_MBOX_MSG_S
 
struct  M2M_SLAVE_SPI_BUFFER_S
 
struct  M2MB_SLAVE_SPI_S
 
#define M2MB_SLAVE_WRITE_DONE_EVT   (0x00000001)
 
#define M2MB_SLAVE_INIT_DONE_EVT   (0x00000002)
 
#define M2MB_SPI_SLAVE_RECEIVE_BUFFER_COUNT   (12)
 
#define M2MB_SPI_SLAVE_RECEIVE_BUFFER_SIZE   (1536)
 
#define M2MB_NUM_BUFFERS_PER_MBOX   (12)
 
#define M2MB_SPI_SLAVE_WRITE_BUFFER_SIZE   (2048)
 
#define M2MB_MBOX_BLOCK_SIZE   256
 
#define M2MB_MBOX_MSG_HDR_SIZE   (2)
 
#define M2MB_MBOX_PAYLOAD_MAX_SIZE   (M2MB_SPI_SLAVE_RECEIVE_BUFFER_SIZE-M2MB_MBOX_MSG_HDR_SIZE)
 
#define M2MB_SPI_SLAVE_WRITE_BUFFER_MAX   (1)
 
#define M2MB_MBOX_MAX_TX_SIZE   M2MB_MBOX_BLOCK_SIZE
 
#define M2MB_SPI_SLAVE_FLOW_CTRL_LOW_THRESHOLD   3
 
#define M2MB_SPI_SLAVE_FLOW_CTRL_HIGH_THRESHOLD   6
 
#define M2MB_SPI_SLAVE_MBOX_ID   (0)
 
enum  qapi_HTC_Instance_id_t {
  M2MB_SDIO_SLAVE_INSTANCE_ID = 0,
  M2MB_SPI_SLAVE_INSTANCE_ID,
  M2MB_MAX_INSTANCES,
  M2MB_SDIO_SLAVE_INSTANCE_ID = 0,
  M2MB_SPI_SLAVE_INSTANCE_ID,
  M2MB_MAX_INSTANCES
}
 
typedef struct M2MB_SLAVE_SPI_WRITE_REQUEST_S M2MB_SLAVE_SPI_WRITE_REQUEST_T
 
typedef struct M2MB_SLAVE_MBOX_MSG_S M2MB_SLAVE_MBOX_MSG_T
 
typedef struct M2M_SLAVE_SPI_BUFFER_S M2MB_SLAVE_SPI_BUFFER_T
 
typedef struct M2MB_SLAVE_SPI_S M2MB_SLAVE_SPI_T
 
INT32 m2mb_slave_spi_send_buflist_enqueue (INT32 instance_id, INT32 mbox, M2MB_SLAVE_SPI_BUFFER_T *bufinfo)
 enques tx buffer. More...
 
INT32 m2mb_slave_spi_send_buflist_dequeue (INT32 instance_id, INT32 mbox, M2MB_SLAVE_SPI_BUFFER_T **pbufinfo)
 deques a list of completed send buffers. More...
 
INT32 m2mb_slave_spi_recv_buflist_enqueue (INT32 instance_id, INT32 mbox, M2MB_SLAVE_SPI_BUFFER_T *bufinfo)
 enques recieve buffer. More...
 
INT32 m2mb_slave_spi_recv_buflist_dequeue (INT32 instance_id, INT32 mbox, M2MB_SLAVE_SPI_BUFFER_T **pbufinfo)
 deques a list of completed receive buffers. More...
 
void m2mb_slave_spi_resume_recv (INT32 instance_id, INT32 mbox)
 sends rx resume indication to host More...
 
void m2mb_slave_spi_pause_recv (INT32 instance_id, INT32 mbox)
 sends rx pause indication to host More...
 
void m2mb_slave_spi_tx_credit_inc (INT32 instance_id, INT32 mbox)
 Increments the Host Tx credit counter registers. More...
 
void m2mb_slave_spi_deinit (int instance_id, int mbox)
 stops mbox h/w and deallocates dma resources More...
 
void m2mb_slave_spi_post_init (UINT32 instance_id, INT32 mbox, UINT32 block_size, UINT32 rxmsg_size, void *pResetCb)
 additional initialisation needed for mbox More...
 
INT32 m2mb_slave_spi_pre_init (UINT32 instance_id, INT32 mbox, UINT32 rx_buf_size, void *pInitCb, void *pSendCb, void *pRecvCb, void *pContext)
 mobox initialisation More...
 

Detailed Description

SPI slave support.

we866e4/epl/inc/driver/m2mb_spi_slave.h

library for slave SPI. The following functions are implemented. m2mb_slave_spi_open m2mb_slave_spi_close m2mb_slave_spi_read m2mb_slave_spi_write

Note
Dependencies:
"#include <m2mb_types.h>"
"#include <m2mb_status.h>"
Author
Prasad Reddy
Date
19/04/2018

Definition in file m2mb_spi_slave.h.