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