xref: /aosp_15_r20/prebuilts/build-tools/sysroots/i686-unknown-linux-musl/include/linux/i2c.h (revision cda5da8d549138a6648c5ee6d7a49cf8f4a657be)
1*cda5da8dSAndroid Build Coastguard Worker /*
2*cda5da8dSAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*cda5da8dSAndroid Build Coastguard Worker  *
4*cda5da8dSAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*cda5da8dSAndroid Build Coastguard Worker  * for more information.
6*cda5da8dSAndroid Build Coastguard Worker  */
7*cda5da8dSAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_I2C_H
8*cda5da8dSAndroid Build Coastguard Worker #define _UAPI_LINUX_I2C_H
9*cda5da8dSAndroid Build Coastguard Worker #include <linux/types.h>
10*cda5da8dSAndroid Build Coastguard Worker struct i2c_msg {
11*cda5da8dSAndroid Build Coastguard Worker   __u16 addr;
12*cda5da8dSAndroid Build Coastguard Worker   __u16 flags;
13*cda5da8dSAndroid Build Coastguard Worker #define I2C_M_RD 0x0001
14*cda5da8dSAndroid Build Coastguard Worker #define I2C_M_TEN 0x0010
15*cda5da8dSAndroid Build Coastguard Worker #define I2C_M_DMA_SAFE 0x0200
16*cda5da8dSAndroid Build Coastguard Worker #define I2C_M_RECV_LEN 0x0400
17*cda5da8dSAndroid Build Coastguard Worker #define I2C_M_NO_RD_ACK 0x0800
18*cda5da8dSAndroid Build Coastguard Worker #define I2C_M_IGNORE_NAK 0x1000
19*cda5da8dSAndroid Build Coastguard Worker #define I2C_M_REV_DIR_ADDR 0x2000
20*cda5da8dSAndroid Build Coastguard Worker #define I2C_M_NOSTART 0x4000
21*cda5da8dSAndroid Build Coastguard Worker #define I2C_M_STOP 0x8000
22*cda5da8dSAndroid Build Coastguard Worker   __u16 len;
23*cda5da8dSAndroid Build Coastguard Worker   __u8 * buf;
24*cda5da8dSAndroid Build Coastguard Worker };
25*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_I2C 0x00000001
26*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_10BIT_ADDR 0x00000002
27*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_PROTOCOL_MANGLING 0x00000004
28*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_PEC 0x00000008
29*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_NOSTART 0x00000010
30*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SLAVE 0x00000020
31*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 0x00008000
32*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_QUICK 0x00010000
33*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_READ_BYTE 0x00020000
34*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_WRITE_BYTE 0x00040000
35*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000
36*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000
37*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_READ_WORD_DATA 0x00200000
38*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_WRITE_WORD_DATA 0x00400000
39*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_PROC_CALL 0x00800000
40*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0x01000000
41*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000
42*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000
43*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000
44*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_HOST_NOTIFY 0x10000000
45*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_BYTE (I2C_FUNC_SMBUS_READ_BYTE | I2C_FUNC_SMBUS_WRITE_BYTE)
46*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_BYTE_DATA (I2C_FUNC_SMBUS_READ_BYTE_DATA | I2C_FUNC_SMBUS_WRITE_BYTE_DATA)
47*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_WORD_DATA (I2C_FUNC_SMBUS_READ_WORD_DATA | I2C_FUNC_SMBUS_WRITE_WORD_DATA)
48*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_BLOCK_DATA (I2C_FUNC_SMBUS_READ_BLOCK_DATA | I2C_FUNC_SMBUS_WRITE_BLOCK_DATA)
49*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_I2C_BLOCK (I2C_FUNC_SMBUS_READ_I2C_BLOCK | I2C_FUNC_SMBUS_WRITE_I2C_BLOCK)
50*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_EMUL (I2C_FUNC_SMBUS_QUICK | I2C_FUNC_SMBUS_BYTE | I2C_FUNC_SMBUS_BYTE_DATA | I2C_FUNC_SMBUS_WORD_DATA | I2C_FUNC_SMBUS_PROC_CALL | I2C_FUNC_SMBUS_WRITE_BLOCK_DATA | I2C_FUNC_SMBUS_I2C_BLOCK | I2C_FUNC_SMBUS_PEC)
51*cda5da8dSAndroid Build Coastguard Worker #define I2C_FUNC_SMBUS_EMUL_ALL (I2C_FUNC_SMBUS_EMUL | I2C_FUNC_SMBUS_READ_BLOCK_DATA | I2C_FUNC_SMBUS_BLOCK_PROC_CALL)
52*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_BLOCK_MAX 32
53*cda5da8dSAndroid Build Coastguard Worker union i2c_smbus_data {
54*cda5da8dSAndroid Build Coastguard Worker   __u8 byte;
55*cda5da8dSAndroid Build Coastguard Worker   __u16 word;
56*cda5da8dSAndroid Build Coastguard Worker   __u8 block[I2C_SMBUS_BLOCK_MAX + 2];
57*cda5da8dSAndroid Build Coastguard Worker };
58*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_READ 1
59*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_WRITE 0
60*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_QUICK 0
61*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_BYTE 1
62*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_BYTE_DATA 2
63*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_WORD_DATA 3
64*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_PROC_CALL 4
65*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_BLOCK_DATA 5
66*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_I2C_BLOCK_BROKEN 6
67*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_BLOCK_PROC_CALL 7
68*cda5da8dSAndroid Build Coastguard Worker #define I2C_SMBUS_I2C_BLOCK_DATA 8
69*cda5da8dSAndroid Build Coastguard Worker #endif
70