source: rtems/c/src/lib/libbsp/powerpc/ppcn_60x/console/i8042_p.h @ eba2e4f

4.104.114.84.95
Last change on this file since eba2e4f was 0c04c377, checked in by Joel Sherrill <joel.sherrill@…>, on 02/18/99 at 16:48:14

./clock/Makefile.in,v
./clock/clock.c,v
./console/Makefile.in,v
./console/config.c,v
./console/console.c,v
./console/console.h,v
./console/debugio.c,v
./console/i8042.c,v
./console/i8042_p.h,v
./console/i8042vga.c,v
./console/i8042vga.h,v
./console/ns16550.c,v
./console/ns16550.h,v
./console/ns16550_p.h,v
./console/ns16550cfg.c,v
./console/ns16550cfg.h,v
./console/vga.c,v
./console/vga_p.h,v
./console/z85c30.c,v
./console/z85c30.h,v
./console/z85c30_p.h,v
./console/z85c30cfg.c,v
./console/z85c30cfg.h,v
./include/Makefile.in,v
./include/bsp.h,v
./include/chain.h,v
./include/coverhd.h,v
./include/extisrdrv.h,v
./include/nvram.h,v
./include/pci.h,v
./include/tod.h,v
./network/Makefile.in,v
./network/amd79c970.c,v
./network/amd79c970.h,v
./nvram/Makefile.in,v
./nvram/ds1385.h,v
./nvram/mk48t18.h,v
./nvram/nvram.c,v
./nvram/prepnvr.h,v
./nvram/stk11c68.h,v
./pci/Makefile.in,v
./pci/pci.c,v
./start/Makefile.in,v
./start/start.s,v
./startup/Makefile.in,v
./startup/bspclean.c,v
./startup/bspstart.c,v
./startup/bsptrap.s,v
./startup/device-tree,v
./startup/genpvec.c,v
./startup/linkcmds,v
./startup/rtems-ctor.cc,v
./startup/sbrk.c,v
./startup/setvec.c,v
./startup/spurious.c,v
./startup/swap.c,v
./timer/Makefile.in,v
./timer/timer.c,v
./tod/Makefile.in,v
./tod/cmos.h,v
./tod/tod.c,v
./universe/Makefile.in,v
./universe/universe.c,v
./vectors/Makefile.in,v
./vectors/README,v
./vectors/align_h.s,v
./vectors/vectors.s,v
./wrapup/Makefile.in,v
./Makefile.in,v
./README,v
./STATUS,v
./bsp_specs,v

  • Property mode set to 100644
File size: 5.8 KB
Line 
1/*
2 *  COPYRIGHT (c) 1998 by Radstone Technology
3 *
4 *
5 * THIS FILE IS PROVIDED TO YOU, THE USER, "AS IS", WITHOUT WARRANTY OF ANY
6 * KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
7 * IMPLIED WARRANTY OF FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK
8 * AS TO THE QUALITY AND PERFORMANCE OF ALL CODE IN THIS FILE IS WITH YOU.
9 *
10 * You are hereby granted permission to use, copy, modify, and distribute
11 * this file, provided that this notice, plus the above copyright notice
12 * and disclaimer, appears in all copies. Radstone Technology will provide
13 * no support for this code.
14 *
15 */
16
17#ifndef _I8042_P_H_
18#define _I8042_P_H_
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24#define KBD_CTR_WRITE_COMMAND   0x60
25#define KBD_CTR_READ_COMMAND    0x20
26#define KBD_CTR_TEST_PASSWORD   0xA4
27#define KBD_CTR_LOAD_PASSWORD   0xA5
28#define KBD_CTR_ENABLE_PASSWORD 0xA6
29#define KBD_CTR_DISABLE_AUX     0xA7
30#define KBD_CTR_ENABLE_AUX      0xA8
31#define KBD_CTR_AUXLINES_TEST   0xA9
32#define KBD_CTR_SELFTEST        0xAA
33#define KBD_CTR_KBDLINES_TEST   0xAB
34#define KBD_CTR_DISABLE_KBD     0xAD
35#define KBD_CTR_ENABLE_KBD      0xAE
36#define KBD_CTR_WRITE_AUX       0xD4
37#define KBD_CTR_READ_REV        0xD5
38#define KBD_CTR_READ_VER        0xD6
39#define KBD_CTR_READ_MODEL      0xD7
40
41/* Keyboard Controller Data */
42#define KBD_CTR_SELFTEST_PASSED 0x55
43#define KBD_CTR_PASSWORD_INSTALLED 0xFA
44#define KBD_CTR_PASSWORD_NOT_INSTALLED 0xF1
45
46/* Controller Command Byte bit definitions. */
47#define KBD_CMD_BYTE_DISABLE_AUX 0x20
48#define KBD_CMD_BYTE_DISABLE_KBD 0x10
49#define KBD_CMD_ENABLE_AUX_INT   0x02
50#define KBD_CMD_ENABLE_KBD_INT   0x01
51
52/* Keyboard Controller Status byte masks */
53#define KBD_OBF_MASK        0x1         /* Output buffer full */
54#define KBD_IBF_MASK        0x2         /* Input buffer full */
55#define KBD_FROM_AUX_MASK   0x20        /* Byte from Aux Port. */
56
57/* Interface Test Results */
58#define INTERFACE_NO_ERROR  0x00
59#define CLOCK_STUCK_LOW     0x01
60#define CLOCK_STUCK_HIGH    0x02
61#define DATA_STUCK_LOW      0x03
62#define DATA_STUCK_HIGH     0x04
63
64/* Timeout */
65#define KBD_TIMEOUT         500000      /* Effectively ISA read access times */
66
67/* Keyboard Commands */
68#define KBD_CMD_SET_LEDS        0xed    /* Set/Reset LEDs */
69#define KBD_CMD_ECHO            0xee    /* request keyboard echo resp. "EE" */
70#define KBD_CMD_SEL_SCAN_CODE   0xf0    /* Scan codes 1,2,3 or 0 = rquest current. */
71#define KBD_CMD_READ_ID         0xf2    /* Request for two byte response */
72#define KBD_CMD_SET_RATE        0xf3    /* Set tellematic Rate */
73#define KBD_CMD_ENABLE          0xf4    /* Clears Buffer and Starts Scanning. */
74#define KBD_CMD_DISABLE         0xf5    /* reset to power up */
75
76#define KBD_CMD_SET_DEFAULT     0xf6   
77#define KBD_CMD_SET_ALL_TLMTIC  0xf7    /* Set all keys telematic */
78#define KBD_CMD_SET_ALL_MKBR    0xf8    /* Set all keys Make /Break */
79#define KBD_CMD_SET_ALL_MAKE    0xf9    /* Set all keys Make only */
80#define KBD_CMD_SET_KEY_TLMTIC  0xfb    /* Set individual key telemativ */
81#define KBD_CMD_SET_KEY_MKBR    0xfc    /* set individual key make/break */
82#define KBD_CMD_SET_KEY_MK      0xfd    /* set individual key make only */
83#define KBD_CMD_RESEND          0xfe    /* request to resend last transfer */
84#define KBD_CMD_RESET           0xff    /* request to start a program reset */
85#define KBD_CMD_ACK             0xfa    /* keyboard ack after reset */
86#define KBD_CMD_BAT             0xaa    /* Keyboard Bat completion Response */
87
88/*
89 * Define LED encodings for use with the KbdSetLEDs command
90 */
91#define KBD_LED_CAPS            0x04
92#define KBD_LED_NUM             0x02
93#define KBD_LED_SCROLL          0x01
94
95/*
96 * Define two code scan codes in keycode order
97 */
98#define KEY_TWO_KEY       0xe0
99#define KEY_ALT           0x38
100#define KEY_CONTROL       0x1d
101#define KEY_INSERT        0x52
102#define KEY_DELETE        0x53
103#define KEY_LEFT_ARROW    0x4b
104#define KEY_HOME          0x47
105#define KEY_END           0x4F
106#define KEY_UP_ARROW      0x48
107#define KEY_DOWN_ARROW    0x50
108#define KEY_PAGE_UP       0x49
109#define KEY_PAGE_DOWN     0x51
110#define KEY_RIGHT_ARROW   0x4d
111#define KEY_KEYPAD_SLASH  0x35
112#define KEY_KEYPAD_ENTER  0x1c
113#define KEY_SYS_REQUEST   0x2a
114#define KEY_PRINT_SCREEN  0x37
115
116#define KEY_LEFT_SHIFT    0x2a
117#define KEY_RIGHT_SHIFT   0x36
118#define KEY_TAB           0x0f
119#define KEY_CAPS_LOCK     0x3a
120#define KEY_NUM_LOCK      0x45
121#define KEY_SCROLL_LOCK   0x46
122#define KEY_ESC           0x01
123#define KEY_F1            0x3b
124#define KEY_F2            0x3c
125#define KEY_F3            0x3d
126#define KEY_F4            0x3e
127#define KEY_F5            0x3f
128#define KEY_F6            0x40
129#define KEY_F7            0x41
130#define KEY_F8            0x42
131#define KEY_F9            0x43
132#define KEY_F10           0x44
133#define KEY_F11           0x57
134#define KEY_F12           0x58
135
136/*
137 * ASCII control codes
138 */
139#define ASCII_NUL 0x00
140#define ASCII_SOH 0x01
141#define ASCII_STX 0x02
142#define ASCII_ETX 0x03
143#define ASCII_EOT 0x04
144#define ASCII_ENQ 0x05
145#define ASCII_ACK 0x06
146#define ASCII_BEL 0x07
147#define ASCII_BS  0x08
148#define ASCII_HT  0x09
149#define ASCII_LF  0x0a
150#define ASCII_VT  0x0b
151#define ASCII_FF  0x0c
152#define ASCII_CR  0x0d
153#define ASCII_SO  0x0e
154#define ASCII_SI  0x0f
155#define ASCII_DLE 0x10
156#define ASCII_XON 0x11
157#define ASCII_DC1 0x11
158#define ASCII_DC2 0x12
159#define ASCII_XOFF 0x13
160#define ASCII_DC3 0x13
161#define ASCII_DC4 0x14
162#define ASCII_NAK 0x15
163#define ASCII_SYN 0x16
164#define ASCII_ETB 0x17
165#define ASCII_CAN 0x18
166#define ASCII_EM  0x19
167#define ASCII_SUB 0x1a
168#define ASCII_ESC 0x1b
169#define ASCII_FS  0x1c
170#define ASCII_GS  0x1d
171#define ASCII_RS  0x1e
172#define ASCII_US  0x1f
173#define ASCII_DEL 0x7f
174#define ASCII_SYSRQ 0x80
175#define ASCII_CSI 0x9b
176
177/*
178 * Exported functions
179 */
180extern boolean i8042_probe(int minor);
181
182extern void i8042_init(int minor);
183#if CONSOLE_USE_INTERRUPTS
184extern void i8042_initialize_interrupts(int minor);
185
186#else
187extern int i8042_inbyte_nonblocking_polled(
188        int minor
189);
190#endif /* CONSOLE_USE_INTERRUPTS */
191
192#ifdef __cplusplus
193}
194#endif
195
196#endif /* _I8042_P_H_ */
Note: See TracBrowser for help on using the repository browser.