1555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot/****************************************************************************
2555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ****************************************************************************
3555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ***
4555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ***   This header was automatically generated from a Linux kernel header
5555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ***   of the same name, to make information necessary for userspace to
6555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ***   call into the kernel available to libc.  It contains only constants,
7555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ***   structures, and macros generated from the original header, and thus,
8555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ***   contains no copyrightable information.
9555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ***
10555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ****************************************************************************
11555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot ****************************************************************************/
12555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#ifndef _LINUX_I2C_H
13555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define _LINUX_I2C_H
14555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
15555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#include <linux/types.h>
16555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
17555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotstruct i2c_msg {
18555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot __u16 addr;
19555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot __u16 flags;
20555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_M_TEN 0x10
21555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_M_RD 0x01
22555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_M_NOSTART 0x4000
23555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_M_REV_DIR_ADDR 0x2000
24555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_M_IGNORE_NAK 0x1000
25555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_M_NO_RD_ACK 0x0800
26555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot __u16 len;
27555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot __u8 *buf;
28555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot};
29555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
30555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_I2C 0x00000001
31555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_10BIT_ADDR 0x00000002
32555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_PROTOCOL_MANGLING 0x00000004
33555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_HWPEC_CALC 0x00000008
34555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_BLOCK_PROC_CALL 0x00008000
35555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_QUICK 0x00010000
36555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_READ_BYTE 0x00020000
37555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_WRITE_BYTE 0x00040000
38555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_READ_BYTE_DATA 0x00080000
39555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_WRITE_BYTE_DATA 0x00100000
40555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_READ_WORD_DATA 0x00200000
41555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_WRITE_WORD_DATA 0x00400000
42555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_PROC_CALL 0x00800000
43555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_READ_BLOCK_DATA 0x01000000
44555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_WRITE_BLOCK_DATA 0x02000000
45555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_READ_I2C_BLOCK 0x04000000
46555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK 0x08000000
47555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_READ_I2C_BLOCK_2 0x10000000
48555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_WRITE_I2C_BLOCK_2 0x20000000
49555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
50555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_BYTE (I2C_FUNC_SMBUS_READ_BYTE |   I2C_FUNC_SMBUS_WRITE_BYTE)
51555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_BYTE_DATA (I2C_FUNC_SMBUS_READ_BYTE_DATA |   I2C_FUNC_SMBUS_WRITE_BYTE_DATA)
52555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_WORD_DATA (I2C_FUNC_SMBUS_READ_WORD_DATA |   I2C_FUNC_SMBUS_WRITE_WORD_DATA)
53555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_BLOCK_DATA (I2C_FUNC_SMBUS_READ_BLOCK_DATA |   I2C_FUNC_SMBUS_WRITE_BLOCK_DATA)
54555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_I2C_BLOCK (I2C_FUNC_SMBUS_READ_I2C_BLOCK |   I2C_FUNC_SMBUS_WRITE_I2C_BLOCK)
55555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNC_SMBUS_I2C_BLOCK_2 (I2C_FUNC_SMBUS_READ_I2C_BLOCK_2 |   I2C_FUNC_SMBUS_WRITE_I2C_BLOCK_2)
56555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
57555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#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)
58555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
59555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_BLOCK_MAX 32
60555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robotunion i2c_smbus_data {
61555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot __u8 byte;
62555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot __u16 word;
63555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot __u8 block[I2C_SMBUS_BLOCK_MAX + 2];
64555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
65555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot};
66555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
67555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_READ 1
68555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_WRITE 0
69555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
70555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_QUICK 0
71555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_BYTE 1
72555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_BYTE_DATA 2
73555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_WORD_DATA 3
74555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_PROC_CALL 4
75555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_BLOCK_DATA 5
76555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_I2C_BLOCK_DATA 6
77555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS_BLOCK_PROC_CALL 7
78555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
79555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_RETRIES 0x0701
80555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
81555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_TIMEOUT 0x0702
82555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
83555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SLAVE 0x0703
84555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
85555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SLAVE_FORCE 0x0706
86555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
87555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_TENBIT 0x0704
88555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
89555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_FUNCS 0x0705
90555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_RDWR 0x0707
91555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_PEC 0x0708
92555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
93555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#define I2C_SMBUS 0x0720
94555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot
95555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot#endif
96555d6a58708babe6bb79b5824ef24eb1f37f708android-build-team Robot