VSF Documented
spidev.h
Go to the documentation of this file.
1#ifndef __VSF_LINUX_SPI_H__
2#define __VSF_LINUX_SPI_H__
3
4#include <stdint.h>
5
6#ifdef __cplusplus
7extern "C" {
8#endif
9
10#define SPI_CPHA 0x01
11#define SPI_CPOL 0x02
12
13#define SPI_MODE_0 (0 | 0)
14#define SPI_MODE_1 (0 | SPI_CPHA)
15#define SPI_MODE_2 (SPI_CPOL | 0)
16#define SPI_MODE_3 (SPI_CPOL | SPI_CPHA)
17
18#define SPI_CS_HIGH 0x04
19#define SPI_LSB_FIRST 0x08
20#define SPI_NO_CS 0x40
21#define SPI_READY 0x80
22
23// IOCTL
24#define SPI_IOC_MAGIC 'k'
25
26#define SPI_IOC_MESSAGE(__N) _IOC(_IOC_WRITE, SPI_IOC_MAGIC, 0, __N)
27
28#define SPI_IOC_RD_MODE _IOR(SPI_IOC_MAGIC, 1, uint8_t)
29#define SPI_IOC_WR_MODE _IOW(SPI_IOC_MAGIC, 1, uint8_t)
30
31#define SPI_IOC_RD_LSB_FIRST _IOR(SPI_IOC_MAGIC, 2, uint8_t)
32#define SPI_IOC_WR_LSB_FIRST _IOW(SPI_IOC_MAGIC, 2, uint8_t)
33
34#define SPI_IOC_RD_BITS_PER_WORD _IOR(SPI_IOC_MAGIC, 3, uint8_t)
35#define SPI_IOC_WR_BITS_PER_WORD _IOW(SPI_IOC_MAGIC, 3, uint8_t)
36
37#define SPI_IOC_RD_MAX_SPEED_HZ _IOR(SPI_IOC_MAGIC, 4, uint32_t)
38#define SPI_IOC_WR_MAX_SPEED_HZ _IOW(SPI_IOC_MAGIC, 4, uint32_t)
39
40#define SPI_IOC_RD_MODE32 _IOR(SPI_IOC_MAGIC, 5, uint32_t)
41#define SPI_IOC_WR_MODE32 _IOW(SPI_IOC_MAGIC, 5, uint32_t)
42
51};
52
53#ifdef __cplusplus
54}
55#endif
56
57#endif
uint32_t uintptr_t
Definition stdint.h:38
unsigned short uint16_t
Definition stdint.h:7
unsigned uint32_t
Definition stdint.h:9
unsigned char uint8_t
Definition stdint.h:5
Definition spidev.h:43
uintptr_t tx_buf
Definition spidev.h:44
uintptr_t rx_buf
Definition spidev.h:45
uint8_t cs_change
Definition spidev.h:50
uint32_t speed_hz
Definition spidev.h:47
uint8_t bits_per_word
Definition spidev.h:49
uint32_t len
Definition spidev.h:46
uint16_t delay_usecs
Definition spidev.h:48