|
struct | M2MB_SPI_CFG_T |
|
#define | M2MB_SPI_CLKPOL_IDLE_LOW 0 |
|
#define | M2MB_SPI_CLKPOL_IDLE_HIGH 1 |
|
#define | M2MB_SPI_CLKPHASE_RISING_EDGE 0 |
|
#define | M2MB_SPI_CLKPHASE_FALLING_EDGE 1 |
|
#define | M2MB_SPI_BITS_PER_WORD_8 8 |
|
#define | M2MB_SPI_BAUD_RATE_10MHZ 10000000 |
|
enum | M2MB_SPI_IOCTL_REQUEST {
M2MB_SPI_IOCTL_SET_CFG = 0,
M2MB_SPI_IOCTL_GET_CFG,
M2MB_SPI_IOCTL_SET_SHIFT_MODE,
M2MB_SPI_IOCTL_GET_SHIFT_MODE,
M2MB_SPI_IOCTL_SET_CS_POLARITY,
M2MB_SPI_IOCTL_GET_CS_POLARITY,
M2MB_SPI_IOCTL_SET_CS_MODE,
M2MB_SPI_IOCTL_GET_CS_MODE,
M2MB_SPI_IOCTL_SET_BYTE_ORDER,
M2MB_SPI_IOCTL_GET_BYTE_ORDER,
M2MB_SPI_IOCTL_SET_CALLBACK_FN,
M2MB_SPI_IOCTL_GET_CALLBACK_FN,
M2MB_SPI_IOCTL_SET_CALLBACK_CTXT,
M2MB_SPI_IOCTL_GET_CALLBACK_CTXT,
M2MB_SPI_IOCTL_SET_CLK_FREQ_HZ,
M2MB_SPI_IOCTL_GET_CLK_FREQ_HZ,
M2MB_SPI_IOCTL_SET_BITS_PER_WORD,
M2MB_SPI_IOCTL_GET_BITS_PER_WORD,
M2MB_SPI_IOCTL_SET_CS_CLK_DELAY_CYCLES,
M2MB_SPI_IOCTL_GET_CS_CLK_DELAY_CYCLES,
M2MB_SPI_IOCTL_SET_INTER_WORD_DELAY_CYCLES,
M2MB_SPI_IOCTL_GET_INTER_WORD_DELAY_CYCLES,
M2MB_SPI_IOCTL_SET_LOOPBACK_MODE,
M2MB_SPI_IOCTL_GET_LOOPBACK_MODE,
M2MB_SPI_IOCTL_GET_WEITE_COMPLETE,
M2MB_SPI_IOCTL_NOF_REQ,
M2MB_SPI_IOCTL_SET_CFG = 0,
M2MB_SPI_IOCTL_GET_CFG,
M2MB_SPI_IOCTL_SET_SHIFT_MODE,
M2MB_SPI_IOCTL_GET_SHIFT_MODE,
M2MB_SPI_IOCTL_SET_CS_POLARITY,
M2MB_SPI_IOCTL_GET_CS_POLARITY,
M2MB_SPI_IOCTL_SET_CS_MODE,
M2MB_SPI_IOCTL_GET_CS_MODE,
M2MB_SPI_IOCTL_SET_BYTE_ORDER,
M2MB_SPI_IOCTL_GET_BYTE_ORDER,
M2MB_SPI_IOCTL_SET_CALLBACK_FN,
M2MB_SPI_IOCTL_GET_CALLBACK_FN,
M2MB_SPI_IOCTL_SET_CALLBACK_CTXT,
M2MB_SPI_IOCTL_GET_CALLBACK_CTXT,
M2MB_SPI_IOCTL_SET_CLK_FREQ_HZ,
M2MB_SPI_IOCTL_GET_CLK_FREQ_HZ,
M2MB_SPI_IOCTL_SET_BITS_PER_WORD,
M2MB_SPI_IOCTL_GET_BITS_PER_WORD,
M2MB_SPI_IOCTL_SET_CS_CLK_DELAY_CYCLES,
M2MB_SPI_IOCTL_GET_CS_CLK_DELAY_CYCLES,
M2MB_SPI_IOCTL_SET_INTER_WORD_DELAY_CYCLES,
M2MB_SPI_IOCTL_GET_INTER_WORD_DELAY_CYCLES,
M2MB_SPI_IOCTL_SET_LOOPBACK_MODE,
M2MB_SPI_IOCTL_GET_LOOPBACK_MODE,
M2MB_SPI_IOCTL_NOF_REQ,
M2MB_SPI_IOCTL_SET_CFG = 0,
M2MB_SPI_IOCTL_GET_CFG,
M2MB_SPI_IOCTL_SET_SHIFT_MODE,
M2MB_SPI_IOCTL_GET_SHIFT_MODE,
M2MB_SPI_IOCTL_SET_CS_POLARITY,
M2MB_SPI_IOCTL_GET_CS_POLARITY,
M2MB_SPI_IOCTL_SET_CS_MODE,
M2MB_SPI_IOCTL_GET_CS_MODE,
M2MB_SPI_IOCTL_SET_BYTE_ORDER,
M2MB_SPI_IOCTL_GET_BYTE_ORDER,
M2MB_SPI_IOCTL_SET_CALLBACK_FN,
M2MB_SPI_IOCTL_GET_CALLBACK_FN,
M2MB_SPI_IOCTL_SET_CALLBACK_CTXT,
M2MB_SPI_IOCTL_GET_CALLBACK_CTXT,
M2MB_SPI_IOCTL_SET_CLK_FREQ_HZ,
M2MB_SPI_IOCTL_GET_CLK_FREQ_HZ,
M2MB_SPI_IOCTL_SET_BITS_PER_WORD,
M2MB_SPI_IOCTL_GET_BITS_PER_WORD,
M2MB_SPI_IOCTL_SET_CS_CLK_DELAY_CYCLES,
M2MB_SPI_IOCTL_GET_CS_CLK_DELAY_CYCLES,
M2MB_SPI_IOCTL_SET_INTER_WORD_DELAY_CYCLES,
M2MB_SPI_IOCTL_GET_INTER_WORD_DELAY_CYCLES,
M2MB_SPI_IOCTL_SET_LOOPBACK_MODE,
M2MB_SPI_IOCTL_GET_LOOPBACK_MODE,
M2MB_SPI_IOCTL_NOF_REQ
} |
|
enum | M2MB_SPI_SHIFT_MODE_T {
M2MB_SPI_MODE_0,
M2MB_SPI_MODE_1,
M2MB_SPI_MODE_2,
M2MB_SPI_MODE_3,
M2MB_SPI_MODE_INVALID = 0x7FFFFFFF,
M2MB_SPI_MODE_0,
M2MB_SPI_MODE_1,
M2MB_SPI_MODE_2,
M2MB_SPI_MODE_3,
M2MB_SPI_MODE_INVALID = 0x7FFFFFFF,
M2MB_SPI_MODE_0,
M2MB_SPI_MODE_1,
M2MB_SPI_MODE_2,
M2MB_SPI_MODE_3,
M2MB_SPI_MODE_INVALID = 0x7FFFFFFF
} |
|
enum | M2MB_SPI_CS_POLARITY_T {
M2MB_SPI_CS_ACTIVE_LOW,
M2MB_SPI_CS_ACTIVE_HIGH,
M2MB_SPI_CS_ACTIVE_INVALID = 0x7FFFFFFF,
M2MB_SPI_CS_ACTIVE_LOW,
M2MB_SPI_CS_ACTIVE_HIGH,
M2MB_SPI_CS_ACTIVE_INVALID = 0x7FFFFFFF,
M2MB_SPI_CS_ACTIVE_LOW,
M2MB_SPI_CS_ACTIVE_HIGH,
M2MB_SPI_CS_ACTIVE_INVALID = 0x7FFFFFFF
} |
|
enum | M2MB_SPI_CLK_MODE_T {
M2MB_SPI_CLK_NORMAL,
M2MB_SPI_CLK_ALLWAYS_ON,
M2MB_SPI_CLK_INVALID = 0x7FFFFFFF
} |
|
enum | M2MB_SPI_CS_MODE_T {
M2MB_SPI_CS_DEASSERT,
M2MB_SPI_CS_KEEP_ASSERTED,
M2MB_SPI_CS_MODE_INVALID = 0x7FFFFFFF,
M2MB_SPI_CS_DEASSERT,
M2MB_SPI_CS_KEEP_ASSERTED,
M2MB_SPI_CS_MODE_INVALID = 0x7FFFFFFF,
M2MB_SPI_CS_DEASSERT,
M2MB_SPI_CS_KEEP_ASSERTED,
M2MB_SPI_CS_MODE_INVALID = 0x7FFFFFFF
} |
|
enum | M2MB_SPI_BYTE_ORDER_T {
M2MB_SPI_NATIVE = 0,
M2MB_SPI_LITTLE_ENDIAN = 0,
M2MB_SPI_BIG_ENDIAN,
M2MB_SPI_NATIVE = 0,
M2MB_SPI_LITTLE_ENDIAN = 0,
M2MB_SPI_BIG_ENDIAN,
M2MB_SPI_BYTE_ORDER_INVALID = 0x7FFFFFFF,
M2MB_SPI_NATIVE = 0,
M2MB_SPI_LITTLE_ENDIAN = 0,
M2MB_SPI_BIG_ENDIAN
} |
|
typedef enum M2MB_SPI_IOCTL_REQUEST | M2MB_SPI_IOCTL_REQUEST_T |
|
typedef void(* | M2MB_SPI_CALLBACK_FN_T) (UINT32 status, void *callback_ctxt) |
|
typedef void * | M2MB_SPI_ID_t |
|
INT32 | m2mb_spi_open (const CHAR *path, INT32 flags,...) |
| open a SPI device More...
|
|
INT32 | m2mb_spi_close (INT32 fd) |
| close a SPI device More...
|
|
INT32 | m2mb_spi_ioctl (INT32 fd, M2MB_SPI_IOCTL_REQUEST_T request,...) |
| configure a SPI device More...
|
|
SSIZE_T | m2mb_spi_read (INT32 fd, void *buf, SIZE_T nbyte) |
| read nbyte Bytes from a SPI device into the array pointed by buf More...
|
|
SSIZE_T | m2mb_spi_write (INT32 fd, const void *buf, SIZE_T nbyte) |
| write nbyte Bytes from the array pointed by buf to a SPI device More...
|
|
SSIZE_T | m2mb_spi_write_read (INT32 fd, const void *bufwr, void *bufWr, SIZE_T nbyte) |
| perform a bi-directional (full duplex) transfer. More...
|
|
SPI library implementation.
we866e4/epl/inc/driver/m2mb_spi_master.h
The following functions are implemented: m2mb_spi_ioctl m2mb_spi_open m2mb_spi_read m2mb_spi_write m2mb_spi_close
- Note
- Dependencies: m2m/m2m_generic/common/m2mb_inc/m2mb_types.h
- Author
- Morgan Deidda
- Date
- 16/10/2017
Definition in file m2mb_spi_master.h.