MOXA linux-2.6.x / linux-2.6.9-uc0 from sdlinux-moxaart.tgz
[linux-2.6.9-moxart.git] / include / asm-arm / arch-moxacpu / cpe / kmi.h
blob3960ae0631eecdad55b8a4269b70ace533736c59
2 #ifndef _KMI_H
3 #define _KMI_H
5 #define MOUSE_ENABLE 0xF4
7 #define KEYPAD_INT 0x04
8 #define KEYBOARD_TXINT 0x02
9 #define KEYBOARD_RXINT 0x01
12 /* register */
14 #define KMI_Control 0x0
15 #define KMI_SampleRate 0x4
16 #define KMI_RequestToSend 0x8
17 #define KMI_Status 0xC
18 #define KMI_IntStatus 0x10
19 #define KMI_Receive 0x14
20 #define KMI_Transmit 0x18
21 #define KMI_Keypad_X 0x30
22 #define KMI_Keypad_Y 0x34
23 #define KMI_AutoscanPeriod 0x38
25 /* control register */
27 #define Autoscan_two_key 0x800
28 #define Clear_PADINT 0x400
29 #define Enable_Autoscan 0x200
30 #define EnableKeypad 0x100
31 #define Clear_RX_INT 0x80
32 #define Clear_TX_INT 0x40
33 #define Line_Control 0x0
34 #define No_Line_Control 0x20
35 #define Enable_RX_INT 0x10
36 #define Enable_TX_INT 0x8
37 #define Enable_KMI 0x4
38 #define Force_data_line_low 0x2
39 #define Force_clock_line_low 0x1
41 /* Status register */
43 #define RX_Busy 0x2
44 #define TX_Busy 0x8
45 #define RX_Full 0x4
46 #define TX_Empty 0x10
49 /* -------------------------------------------------------------------------------
50 * API
51 * -------------------------------------------------------------------------------
53 #ifdef not_complete_yet
54 extern void fLib_Keyboard_Init(int level_edge);
55 extern void fLib_Keyboard_Get(unsigned* input);
56 extern void fLib_Keyboard_Put(unsigned output);
58 extern void fLib_Keypad_Init(int level_edge);
59 extern void fLib_Keypad_AutoScan(unsigned enable);
60 extern void fLib_Keypad_SetScanPeriod(unsigned data);
62 extern void fLib_Keypad_GetX(unsigned* ch);
63 extern void fLib_Keypad_GetY(unsigned* ch);
64 extern void fLib_Keypad_PutX(unsigned ch);
66 extern void fLib_Keypad_TwoKeyPush(unsigned enable);
67 extern void fLib_Keyboard_ClearIntStatus(void);
69 extern BOOL fLib_KMI_IsReceiveBusy(void);
70 extern BOOL fLib_KMI_IsSendBusy(void);
71 extern BOOL fLib_KMI_IsReceiveBufferFull(void);
72 extern BOOL fLib_KMI_IsSendBufferEmpty(void);
74 extern UINT32 fLib_KMI_GetIntStatus(void);
76 extern void Keyboard_ForceDataLow(unsigned enable);
77 extern void Keyboard_ForceClockLow(unsigned enable);
79 extern void fLib_Mouse_Init(int level_edge);
80 extern UINT32 fLib_Mouse_Get(void);
81 extern void fLib_Mouse_Put(unsigned output);
82 extern void fLib_Mouse_ClearInt(void);
83 #endif /* end_of_not */
85 #endif // _KMI_H