OSDN Git Service

Check in released NDK version r4.
[android-x86/prebuilt.git] / ndk / android-ndk-r4 / darwin / platforms / android-5 / arch-x86 / usr / include / linux / hil.h
1 /****************************************************************************
2  ****************************************************************************
3  ***
4  ***   This header was automatically generated from a Linux kernel header
5  ***   of the same name, to make information necessary for userspace to
6  ***   call into the kernel available to libc.  It contains only constants,
7  ***   structures, and macros generated from the original header, and thus,
8  ***   contains no copyrightable information.
9  ***
10  ****************************************************************************
11  ****************************************************************************/
12 #ifndef _HIL_H_
13 #define _HIL_H_
14
15 #include <asm/types.h>
16
17 #define HIL_CLOCK 8MHZ
18 #define HIL_EK1_CLOCK 30HZ
19 #define HIL_EK2_CLOCK 60HZ
20
21 #define HIL_TIMEOUT_DEV 5  
22 #define HIL_TIMEOUT_DEVS 10  
23 #define HIL_TIMEOUT_NORESP 10  
24 #define HIL_TIMEOUT_DEVS_DATA 16  
25 #define HIL_TIMEOUT_SELFTEST 200  
26
27 #define HIL_WIRE_PACKET_LEN 15
28 enum hil_wire_bitpos {
29  HIL_WIRE_START = 0,
30  HIL_WIRE_ADDR2,
31  HIL_WIRE_ADDR1,
32  HIL_WIRE_ADDR0,
33  HIL_WIRE_COMMAND,
34  HIL_WIRE_DATA7,
35  HIL_WIRE_DATA6,
36  HIL_WIRE_DATA5,
37  HIL_WIRE_DATA4,
38  HIL_WIRE_DATA3,
39  HIL_WIRE_DATA2,
40  HIL_WIRE_DATA1,
41  HIL_WIRE_DATA0,
42  HIL_WIRE_PARITY,
43  HIL_WIRE_STOP
44 };
45
46 enum hil_pkt_bitpos {
47  HIL_PKT_CMD = 0x00000800,
48  HIL_PKT_ADDR2 = 0x00000400,
49  HIL_PKT_ADDR1 = 0x00000200,
50  HIL_PKT_ADDR0 = 0x00000100,
51  HIL_PKT_ADDR_MASK = 0x00000700,
52  HIL_PKT_ADDR_SHIFT = 8,
53  HIL_PKT_DATA7 = 0x00000080,
54  HIL_PKT_DATA6 = 0x00000040,
55  HIL_PKT_DATA5 = 0x00000020,
56  HIL_PKT_DATA4 = 0x00000010,
57  HIL_PKT_DATA3 = 0x00000008,
58  HIL_PKT_DATA2 = 0x00000004,
59  HIL_PKT_DATA1 = 0x00000002,
60  HIL_PKT_DATA0 = 0x00000001,
61  HIL_PKT_DATA_MASK = 0x000000FF,
62  HIL_PKT_DATA_SHIFT = 0
63 };
64
65 enum hil_error_bitpos {
66  HIL_ERR_OB = 0x00000800,
67  HIL_ERR_INT = 0x00010000,
68  HIL_ERR_NMI = 0x00020000,
69  HIL_ERR_LERR = 0x00040000,
70  HIL_ERR_PERR = 0x01000000,
71  HIL_ERR_FERR = 0x02000000,
72  HIL_ERR_FOF = 0x04000000
73 };
74
75 enum hil_control_bitpos {
76  HIL_CTRL_TEST = 0x00010000,
77  HIL_CTRL_IPF = 0x00040000,
78  HIL_CTRL_APE = 0x02000000
79 };
80
81 #define HIL_DO_ALTER_CTRL 0x40000000  
82 #define HIL_CTRL_ONLY 0xc0000000  
83
84 typedef u32 hil_packet;
85
86 enum hil_command {
87  HIL_CMD_IFC = 0x00,
88  HIL_CMD_EPT = 0x01,
89  HIL_CMD_ELB = 0x02,
90  HIL_CMD_IDD = 0x03,
91  HIL_CMD_DSR = 0x04,
92  HIL_CMD_PST = 0x05,
93  HIL_CMD_RRG = 0x06,
94  HIL_CMD_WRG = 0x07,
95  HIL_CMD_ACF = 0x08,
96  HIL_CMDID_ACF = 0x07,
97  HIL_CMD_POL = 0x10,
98  HIL_CMDCT_POL = 0x0f,
99  HIL_CMD_RPL = 0x20,
100  HIL_CMDCT_RPL = 0x0f,
101  HIL_CMD_RNM = 0x30,
102  HIL_CMD_RST = 0x31,
103  HIL_CMD_EXD = 0x32,
104  HIL_CMD_RSC = 0x33,
105
106  HIL_CMD_DKA = 0x3d,
107  HIL_CMD_EK1 = 0x3e,
108  HIL_CMD_EK2 = 0x3f,
109  HIL_CMD_PR1 = 0x40,
110  HIL_CMD_PR2 = 0x41,
111  HIL_CMD_PR3 = 0x42,
112  HIL_CMD_PR4 = 0x43,
113  HIL_CMD_PR5 = 0x44,
114  HIL_CMD_PR6 = 0x45,
115  HIL_CMD_PR7 = 0x46,
116  HIL_CMD_PRM = 0x47,
117  HIL_CMD_AK1 = 0x48,
118  HIL_CMD_AK2 = 0x49,
119  HIL_CMD_AK3 = 0x4a,
120  HIL_CMD_AK4 = 0x4b,
121  HIL_CMD_AK5 = 0x4c,
122  HIL_CMD_AK6 = 0x4d,
123  HIL_CMD_AK7 = 0x4e,
124  HIL_CMD_ACK = 0x4f,
125
126  HIL_CMD_RIO = 0xfa,
127  HIL_CMD_SHR = 0xfb,
128  HIL_CMD_TER = 0xfc,
129  HIL_CMD_CAE = 0xfd,
130  HIL_CMD_DHR = 0xfe,
131
132 };
133
134 #define HIL_IDD_DID_TYPE_MASK 0xe0  
135 #define HIL_IDD_DID_TYPE_KB_INTEGRAL 0xa0  
136 #define HIL_IDD_DID_TYPE_KB_ITF 0xc0  
137 #define HIL_IDD_DID_TYPE_KB_RSVD 0xe0  
138 #define HIL_IDD_DID_TYPE_KB_LANG_MASK 0x1f  
139 #define HIL_IDD_DID_KBLANG_USE_ESD 0x00  
140 #define HIL_IDD_DID_TYPE_ABS 0x80  
141 #define HIL_IDD_DID_ABS_RSVD1_MASK 0xf8  
142 #define HIL_IDD_DID_ABS_RSVD1 0x98
143 #define HIL_IDD_DID_ABS_TABLET_MASK 0xf8  
144 #define HIL_IDD_DID_ABS_TABLET 0x90
145 #define HIL_IDD_DID_ABS_TSCREEN_MASK 0xfc  
146 #define HIL_IDD_DID_ABS_TSCREEN 0x8c
147 #define HIL_IDD_DID_ABS_RSVD2_MASK 0xfc  
148 #define HIL_IDD_DID_ABS_RSVD2 0x88
149 #define HIL_IDD_DID_ABS_RSVD3_MASK 0xfc  
150 #define HIL_IDD_DID_ABS_RSVD3 0x80
151 #define HIL_IDD_DID_TYPE_REL 0x60  
152 #define HIL_IDD_DID_REL_RSVD1_MASK 0xf0  
153 #define HIL_IDD_DID_REL_RSVD1 0x70
154 #define HIL_IDD_DID_REL_RSVD2_MASK 0xfc  
155 #define HIL_IDD_DID_REL_RSVD2 0x6c
156 #define HIL_IDD_DID_REL_MOUSE_MASK 0xfc  
157 #define HIL_IDD_DID_REL_MOUSE 0x68
158 #define HIL_IDD_DID_REL_QUAD_MASK 0xf8  
159 #define HIL_IDD_DID_REL_QUAD 0x60
160 #define HIL_IDD_DID_TYPE_CHAR 0x40  
161 #define HIL_IDD_DID_CHAR_BARCODE_MASK 0xfc  
162 #define HIL_IDD_DID_CHAR_BARCODE 0x5c
163 #define HIL_IDD_DID_CHAR_RSVD1_MASK 0xfc  
164 #define HIL_IDD_DID_CHAR_RSVD1 0x58
165 #define HIL_IDD_DID_CHAR_RSVD2_MASK 0xf8  
166 #define HIL_IDD_DID_CHAR_RSVD2 0x50
167 #define HIL_IDD_DID_CHAR_RSVD3_MASK 0xf0  
168 #define HIL_IDD_DID_CHAR_RSVD3 0x40
169 #define HIL_IDD_DID_TYPE_OTHER 0x20  
170 #define HIL_IDD_DID_OTHER_RSVD1_MASK 0xf0  
171 #define HIL_IDD_DID_OTHER_RSVD1 0x30
172 #define HIL_IDD_DID_OTHER_BARCODE_MASK 0xfc  
173 #define HIL_IDD_DID_OTHER_BARCODE 0x2c
174 #define HIL_IDD_DID_OTHER_RSVD2_MASK 0xfc  
175 #define HIL_IDD_DID_OTHER_RSVD2 0x28
176 #define HIL_IDD_DID_OTHER_RSVD3_MASK 0xf8  
177 #define HIL_IDD_DID_OTHER_RSVD3 0x20
178 #define HIL_IDD_DID_TYPE_KEYPAD 0x00  
179
180 #define HIL_IDD_HEADER_AXSET_MASK 0x03  
181 #define HIL_IDD_HEADER_RSC 0x04  
182 #define HIL_IDD_HEADER_EXD 0x08  
183 #define HIL_IDD_HEADER_IOD 0x10  
184 #define HIL_IDD_HEADER_16BIT 0x20  
185 #define HIL_IDD_HEADER_ABS 0x40  
186 #define HIL_IDD_HEADER_2X_AXIS 0x80  
187
188 #define HIL_IDD_IOD_NBUTTON_MASK 0x07  
189 #define HIL_IDD_IOD_PROXIMITY 0x08  
190 #define HIL_IDD_IOD_PROMPT_MASK 0x70  
191 #define HIL_IDD_IOD_PROMPT_SHIFT 4
192 #define HIL_IDD_IOD_PROMPT 0x80  
193
194 #define HIL_IDD_NUM_AXES_PER_SET(header_packet)  ((header_packet) & HIL_IDD_HEADER_AXSET_MASK)
195
196 #define HIL_IDD_NUM_AXSETS(header_packet)  (2 - !((header_packet) & HIL_IDD_HEADER_2X_AXIS))
197
198 #define HIL_IDD_LEN(header_packet)  ((4 - !(header_packet & HIL_IDD_HEADER_IOD) -   2 * !(HIL_IDD_NUM_AXES_PER_SET(header_packet))) +   2 * HIL_IDD_NUM_AXES_PER_SET(header_packet) *   !!((header_packet) & HIL_IDD_HEADER_ABS))
199
200 #define HIL_IDD_AXIS_COUNTS_PER_M(header_ptr)  (!(HIL_IDD_NUM_AXSETS(*(header_ptr))) ? -1 :  (((*(header_ptr + 1) & HIL_PKT_DATA_MASK) +   ((*(header_ptr + 2) & HIL_PKT_DATA_MASK)) << 8)  * ((*(header_ptr) & HIL_IDD_HEADER_16BIT) ? 100 : 1)))
201
202 #define HIL_IDD_AXIS_MAX(header_ptr, __axnum)  ((!(*(header_ptr) & HIL_IDD_HEADER_ABS) ||   (HIL_IDD_NUM_AXES_PER_SET(*(header_ptr)) <= __axnum)) ? 0 :   ((HIL_PKT_DATA_MASK & *((header_ptr) + 3 + 2 * __axnum)) +   ((HIL_PKT_DATA_MASK & *((header_ptr) + 4 + 2 * __axnum)) << 8)))
203
204 #define HIL_IDD_IOD(header_ptr)  (*(header_ptr + HIL_IDD_LEN((*header_ptr)) - 1))
205
206 #define HIL_IDD_HAS_GEN_PROMPT(header_ptr)  ((*header_ptr & HIL_IDD_HEADER_IOD) &&   (HIL_IDD_IOD(header_ptr) & HIL_IDD_IOD_PROMPT))
207
208 #define HIL_IDD_HAS_GEN_PROXIMITY(header_ptr)  ((*header_ptr & HIL_IDD_HEADER_IOD) &&   (HIL_IDD_IOD(header_ptr) & HIL_IDD_IOD_PROXIMITY))
209
210 #define HIL_IDD_NUM_BUTTONS(header_ptr)  ((*header_ptr & HIL_IDD_HEADER_IOD) ?   (HIL_IDD_IOD(header_ptr) & HIL_IDD_IOD_NBUTTON_MASK) : 0)
211
212 #define HIL_IDD_NUM_PROMPTS(header_ptr)  ((*header_ptr & HIL_IDD_HEADER_IOD) ?   ((HIL_IDD_IOD(header_ptr) & HIL_IDD_IOD_NPROMPT_MASK)   >> HIL_IDD_IOD_PROMPT_SHIFT) : 0)
213
214 #define HIL_EXD_HEADER_WRG 0x03  
215 #define HIL_EXD_HEADER_WRG_TYPE1 0x01  
216 #define HIL_EXD_HEADER_WRG_TYPE2 0x02  
217 #define HIL_EXD_HEADER_RRG 0x04  
218 #define HIL_EXD_HEADER_RNM 0x10  
219 #define HIL_EXD_HEADER_RST 0x20  
220 #define HIL_EXD_HEADER_LOCALE 0x40  
221
222 #define HIL_EXD_NUM_RRG(header_ptr)  ((*header_ptr & HIL_EXD_HEADER_RRG) ?   (*(header_ptr + 1) & HIL_PKT_DATA_MASK) : 0)
223
224 #define HIL_EXD_NUM_WWG(header_ptr)  ((*header_ptr & HIL_EXD_HEADER_WRG) ?   (*(header_ptr + 2 - !(*header_ptr & HIL_EXD_HEADER_RRG)) &   HIL_PKT_DATA_MASK) : 0)
225
226 #define HIL_EXD_LEN(header_ptr)  (!!(*header_ptr & HIL_EXD_HEADER_RRG) +   !!(*header_ptr & HIL_EXD_HEADER_WRG) +   !!(*header_ptr & HIL_EXD_HEADER_LOCALE) +   2 * !!(*header_ptr & HIL_EXD_HEADER_WRG_TYPE2) + 1)
227
228 #define HIL_EXD_LOCALE(header_ptr)  (!(*header_ptr & HIL_EXD_HEADER_LOCALE) ? -1 :   (*(header_ptr + HIL_EXD_LEN(header_ptr) - 1) & HIL_PKT_DATA_MASK))
229
230 #define HIL_EXD_WRG_TYPE2_LEN(header_ptr)  (!(*header_ptr & HIL_EXD_HEADER_WRG_TYPE2) ? -1 :   (*(header_ptr + HIL_EXD_LEN(header_ptr) - 2 -   !!(*header_ptr & HIL_EXD_HEADER_LOCALE)) & HIL_PKT_DATA_MASK) +   ((*(header_ptr + HIL_EXD_LEN(header_ptr) - 1 -   !!(*header_ptr & HIL_EXD_HEADER_LOCALE)) & HIL_PKT_DATA_MASK) << 8))
231
232 #define HIL_LOCALE_MAX 0x1f
233
234 #define HIL_LOCALE_MAP  "",    "",    "",    "swiss.french",    "portuguese",    "arabic",    "hebrew",    "english.canadian",    "turkish",    "greek",    "thai",    "italian",    "korean",    "dutch",    "swedish",    "german",    "chinese",    "chinese",    "swiss.french",    "spanish",    "swiss.german",    "flemish",    "finnish",    "english.uk",    "french.canadian",    "swiss.german",    "norwegian",    "french",    "danish",    "japanese",    "spanish",   "english.us"    
235
236 #define HIL_KEYCODES_SET1_TBLSIZE 128
237 #define HIL_KEYCODES_SET1   KEY_5, KEY_RESERVED, KEY_RIGHTALT, KEY_LEFTALT,   KEY_RIGHTSHIFT, KEY_LEFTSHIFT, KEY_LEFTCTRL, KEY_SYSRQ,   KEY_KP4, KEY_KP8, KEY_KP5, KEY_KP9,   KEY_KP6, KEY_KP7, KEY_KPCOMMA, KEY_KPENTER,   KEY_KP1, KEY_KPSLASH, KEY_KP2, KEY_KPPLUS,   KEY_KP3, KEY_KPASTERISK, KEY_KP0, KEY_KPMINUS,   KEY_B, KEY_V, KEY_C, KEY_X,   KEY_Z, KEY_RESERVED, KEY_RESERVED, KEY_ESC,   KEY_6, KEY_F10, KEY_3, KEY_F11,   KEY_KPDOT, KEY_F9, KEY_TAB  , KEY_F12,   KEY_H, KEY_G, KEY_F, KEY_D,   KEY_S, KEY_A, KEY_RESERVED, KEY_CAPSLOCK,   KEY_U, KEY_Y, KEY_T, KEY_R,   KEY_E, KEY_W, KEY_Q, KEY_TAB,   KEY_7, KEY_6, KEY_5, KEY_4,   KEY_3, KEY_2, KEY_1, KEY_GRAVE,   KEY_F13, KEY_F14, KEY_F15, KEY_F16,   KEY_F17, KEY_F18, KEY_F19, KEY_F20,   KEY_MENU, KEY_F4, KEY_F3, KEY_F2,   KEY_F1, KEY_VOLUMEUP, KEY_STOP, KEY_SENDFILE,   KEY_SYSRQ, KEY_F5, KEY_F6, KEY_F7,   KEY_F8, KEY_VOLUMEDOWN, KEY_DEL_EOL, KEY_DEL_EOS,   KEY_8, KEY_9, KEY_0, KEY_MINUS,   KEY_EQUAL, KEY_BACKSPACE, KEY_INS_LINE, KEY_DEL_LINE,   KEY_I, KEY_O, KEY_P, KEY_LEFTBRACE,   KEY_RIGHTBRACE, KEY_BACKSLASH, KEY_INSERT, KEY_DELETE,   KEY_J, KEY_K, KEY_L, KEY_SEMICOLON,   KEY_APOSTROPHE, KEY_ENTER, KEY_HOME, KEY_PAGEUP,   KEY_M, KEY_COMMA, KEY_DOT, KEY_SLASH,   KEY_BACKSLASH, KEY_SELECT, KEY_102ND, KEY_PAGEDOWN,   KEY_N, KEY_SPACE, KEY_NEXT, KEY_RESERVED,   KEY_LEFT, KEY_DOWN, KEY_UP, KEY_RIGHT
238
239 #define HIL_KEYCODES_SET3_TBLSIZE 128
240 #define HIL_KEYCODES_SET3   KEY_RESERVED, KEY_ESC, KEY_1, KEY_2,   KEY_3, KEY_4, KEY_5, KEY_6,   KEY_7, KEY_8, KEY_9, KEY_0,   KEY_MINUS, KEY_EQUAL, KEY_BACKSPACE, KEY_TAB,   KEY_Q, KEY_W, KEY_E, KEY_R,   KEY_T, KEY_Y, KEY_U, KEY_I,   KEY_O, KEY_P, KEY_LEFTBRACE, KEY_RIGHTBRACE,   KEY_ENTER, KEY_LEFTCTRL, KEY_A, KEY_S,   KEY_D, KEY_F, KEY_G, KEY_H,   KEY_J, KEY_K, KEY_L, KEY_SEMICOLON,   KEY_APOSTROPHE,KEY_GRAVE, KEY_LEFTSHIFT, KEY_BACKSLASH,   KEY_Z, KEY_X, KEY_C, KEY_V,   KEY_B, KEY_N, KEY_M, KEY_COMMA,   KEY_DOT, KEY_SLASH, KEY_RIGHTSHIFT, KEY_KPASTERISK,   KEY_LEFTALT, KEY_SPACE, KEY_CAPSLOCK, KEY_F1,   KEY_F2, KEY_F3, KEY_F4, KEY_F5,   KEY_F6, KEY_F7, KEY_F8, KEY_F9,   KEY_F10, KEY_NUMLOCK, KEY_SCROLLLOCK, KEY_KP7,   KEY_KP8, KEY_KP9, KEY_KPMINUS, KEY_KP4,   KEY_KP5, KEY_KP6, KEY_KPPLUS, KEY_KP1,   KEY_KP2, KEY_KP3, KEY_KP0, KEY_KPDOT,   KEY_SYSRQ, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,   KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,   KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,   KEY_UP, KEY_LEFT, KEY_DOWN, KEY_RIGHT,   KEY_HOME, KEY_PAGEUP, KEY_END, KEY_PAGEDOWN,   KEY_INSERT, KEY_DELETE, KEY_102ND, KEY_RESERVED,   KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,   KEY_F1, KEY_F2, KEY_F3, KEY_F4,   KEY_F5, KEY_F6, KEY_F7, KEY_F8,   KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED,   KEY_RESERVED, KEY_RESERVED, KEY_RESERVED, KEY_RESERVED
241
242 #define HIL_POL_NUM_AXES_MASK 0x03  
243 #define HIL_POL_CTS 0x04  
244 #define HIL_POL_STATUS_PENDING 0x08  
245 #define HIL_POL_CHARTYPE_MASK 0x70  
246 #define HIL_POL_CHARTYPE_NONE 0x00  
247 #define HIL_POL_CHARTYPE_RSVD1 0x10  
248 #define HIL_POL_CHARTYPE_ASCII 0x20  
249 #define HIL_POL_CHARTYPE_BINARY 0x30  
250 #define HIL_POL_CHARTYPE_SET1 0x40  
251 #define HIL_POL_CHARTYPE_RSVD2 0x50  
252 #define HIL_POL_CHARTYPE_SET2 0x60  
253 #define HIL_POL_CHARTYPE_SET3 0x70  
254 #define HIL_POL_AXIS_ALT 0x80  
255
256 #endif