]> git.kernelconcepts.de Git - karo-tx-uboot.git/blob - board/cogent/kbm.h
board/sandburst/common/flash.c: Fix GCC 4.6 build warning
[karo-tx-uboot.git] / board / cogent / kbm.h
1 /* keyboard/mouse not implemented yet */
2
3 extern int cma_kbm_not_implemented;
4
5 /**************** DEFINES for H8542B Keyboard/Mouse Controller ***************/
6
7 /*
8  * note the auxillary port is used to control the mouse
9  */
10
11 /* 8542B Commands (Sent to the Command Port) */
12 #define HT8542_CMD_SET_BYTE     0x60    /* Set the command byte */
13 #define HT8542_CMD_GET_BYTE     0x20    /* Get the command byte */
14 #define HT8542_CMD_KBD_OBUFF    0xD2    /* Write to HT8542 Kbd Output Buffer */
15 #define HT8542_CMD_AUX_OBUFF    0xD3    /* Write to HT8542 Mse Output Buffer */
16 #define HT8542_CMD_AUX_WRITE    0xD4    /* Write to Mouse Port */
17 #define HT8542_CMD_AUX_OFF      0xA7    /* Disable Mouse Port */
18 #define HT8542_CMD_AUX_ON       0xA8    /* Re-Enable Mouse Port */
19 #define HT8542_CMD_AUX_TEST     0xA9    /* Test for the presence of a Mouse */
20 #define HT8542_CMD_DIAG         0xAA    /* Start Diagnostics */
21 #define HT8542_CMD_KBD_TEST     0xAB    /* Test for presence of a keyboard */
22 #define HT8542_CMD_KBD_OFF      0xAD    /* Disable Kbd Port (use KBD_DAT_ON) */
23 #define HT8542_CMD_KBD_ON       0xAE    /* Enable Kbd Port (use KBD_DAT_OFF) */
24
25 /* HT8542B cmd byte set by KBD_CMD_SET_BYTE and retrieved by KBD_CMD_GET_BYTE */
26 #define HT8542_CMD_BYTE_TRANS   0x40
27 #define HT8542_CMD_BYTE_AUX_OFF 0x20    /* 1 = mse port disabled, 0 = enabled */
28 #define HT8542_CMD_BYTE_KBD_OFF 0x10    /* 1 = kbd port disabled, 0 = enabled */
29 #define HT8542_CMD_BYTE_OVER    0x08    /* 1 = override keyboard lock */
30 #define HT8542_CMD_BYTE_RES     0x04    /* reserved */
31 #define HT8542_CMD_BYTE_AUX_INT 0x02    /* 1 = enable mouse interrupt */
32 #define HT8542_CMD_BYTE_KBD_INT 0x01    /* 1 = enable keyboard interrupt */
33
34 /* Keyboard Commands (Sent to the Data Port) */
35 #define KBD_CMD_LED             0xED    /* Set Keyboard LEDS with next byte */
36 #define KBD_CMD_ECHO            0xEE    /* Echo - we get 0xFA, 0xEE back */
37 #define KBD_CMD_MODE            0xF0    /* set scan code mode with next byte */
38 #define KBD_CMD_ID              0xF2    /* get keyboard/mouse ID */
39 #define KBD_CMD_RPT             0xF3    /* Set Repeat Rate and Delay 2nd Byte */
40 #define KBD_CMD_ON              0xF4    /* Enable keyboard */
41 #define KBD_CMD_OFF             0xF5    /* Disables Scanning, Resets to Def */
42 #define KBD_CMD_DEF             0xF6    /* Reverts kbd to default settings */
43 #define KBD_CMD_RST             0xFF    /* Reset - should get 0xFA, 0xAA back */
44
45 /* Set LED second bit defines */
46 #define KBD_CMD_LED_SCROLL      0x01    /* Set SCROLL LOCK LED on */
47 #define KBD_CMD_LED_NUM         0x02    /* Set NUM LOCK LED on */
48 #define KBD_CMD_LED_CAPS        0x04    /* Set CAPS LOCK LED on */
49
50 /* Set Mode second byte defines */
51 #define KBD_CMD_MODE_STAT       0x00    /* get current scan code mode */
52 #define KBD_CMD_MODE_SCAN1      0x01    /* set mode to scan code 1 */
53 #define KBD_CMD_MODE_SCAN2      0x02    /* set mode to scan code 2 */
54 #define KBD_CMD_MODE_SCAN3      0x03    /* set mode to scan code 3 */
55
56 /* Keyboard/Mouse ID Codes */
57 #define KBD_CMD_ID_1ST          0xAB    /* 1st byte is 0xAB, 2nd is actual ID */
58 #define KBD_CMD_ID_KBD          0x83    /* Keyboard */
59 #define KBD_CMD_ID_MOUSE        0x00    /* Mouse */
60
61 /* Keyboard Data Return Defines */
62 #define KBD_STAT_OVER           0x00    /* Buffer Overrun */
63 #define KBD_STAT_DIAG_OK        0x55    /* Internal Self Test OK */
64 #define KBD_STAT_RST_OK         0xAA    /* Reset Complete */
65 #define KBD_STAT_ECHO           0xEE    /* Echo Command Return */
66 #define KBD_STAT_BRK            0xF0    /* Prefix for Break Key Code */
67 #define KBD_STAT_ACK            0xFA    /* Received after all commands */
68 #define KBD_STAT_DIAG_FAIL      0xFD    /* Internal Self Test Failed */
69 #define KBD_STAT_RESEND         0xFE    /* Resend Last Command */
70
71 /* HT8542B Status Register Bit Defines */
72 #define HT8542_STAT_OBF         0x01    /* 1 = output buffer is full */
73 #define HT8542_STAT_IBF         0x02    /* 1 = input buffer is full */
74 #define HT8542_STAT_SYS         0x04    /* system flag - unused */
75 #define HT8542_STAT_CMD         0x08    /* 1 = cmd in input buffer, 0 = data */
76 #define HT8542_STAT_INH         0x10    /* 1 = Inhibit - unused */
77 #define HT8542_STAT_TX          0x20    /* 1 = Transmit Timeout has occured */
78 #define HT8542_STAT_RX          0x40    /* 1 = Receive Timeout has occured */
79 #define HT8542_STAT_PERR        0x80    /* 1 = Parity Error from Keyboard */