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