1 /*
2  * This file is auto-generated. Modifications will be lost.
3  *
4  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5  * for more information.
6  */
7 #ifndef SPIDEV_H
8 #define SPIDEV_H
9 #include <linux/types.h>
10 #include <linux/ioctl.h>
11 #include <linux/spi/spi.h>
12 #define SPI_IOC_MAGIC 'k'
13 struct spi_ioc_transfer {
14   __u64 tx_buf;
15   __u64 rx_buf;
16   __u32 len;
17   __u32 speed_hz;
18   __u16 delay_usecs;
19   __u8 bits_per_word;
20   __u8 cs_change;
21   __u8 tx_nbits;
22   __u8 rx_nbits;
23   __u8 word_delay_usecs;
24   __u8 pad;
25 };
26 #define SPI_MSGSIZE(N) ((((N) * (sizeof(struct spi_ioc_transfer))) < (1 << _IOC_SIZEBITS)) ? ((N) * (sizeof(struct spi_ioc_transfer))) : 0)
27 #define SPI_IOC_MESSAGE(N) _IOW(SPI_IOC_MAGIC, 0, char[SPI_MSGSIZE(N)])
28 #define SPI_IOC_RD_MODE _IOR(SPI_IOC_MAGIC, 1, __u8)
29 #define SPI_IOC_WR_MODE _IOW(SPI_IOC_MAGIC, 1, __u8)
30 #define SPI_IOC_RD_LSB_FIRST _IOR(SPI_IOC_MAGIC, 2, __u8)
31 #define SPI_IOC_WR_LSB_FIRST _IOW(SPI_IOC_MAGIC, 2, __u8)
32 #define SPI_IOC_RD_BITS_PER_WORD _IOR(SPI_IOC_MAGIC, 3, __u8)
33 #define SPI_IOC_WR_BITS_PER_WORD _IOW(SPI_IOC_MAGIC, 3, __u8)
34 #define SPI_IOC_RD_MAX_SPEED_HZ _IOR(SPI_IOC_MAGIC, 4, __u32)
35 #define SPI_IOC_WR_MAX_SPEED_HZ _IOW(SPI_IOC_MAGIC, 4, __u32)
36 #define SPI_IOC_RD_MODE32 _IOR(SPI_IOC_MAGIC, 5, __u32)
37 #define SPI_IOC_WR_MODE32 _IOW(SPI_IOC_MAGIC, 5, __u32)
38 #endif
39