]>
git.proxmox.com Git - mirror_edk2.git/blob - IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/CommPs2.h
3 Copyright (c) 2006 - 2007, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
19 PS2 Mouse Communication Interface
29 #define PS2_PACKET_LENGTH 3
30 #define PS2_SYNC_MASK 0xc
31 #define PS2_SYNC_BYTE 0x8
33 #define IS_PS2_SYNC_BYTE(byte) ((byte & PS2_SYNC_MASK) == PS2_SYNC_BYTE)
35 #define PS2_READ_BYTE_ONE 0
36 #define PS2_READ_DATA_BYTE 1
37 #define PS2_PROCESS_PACKET 2
40 #define BAT_TIMEOUT 500000
45 #define KBC_DATA_PORT 0x60
46 #define KBC_CMD_STS_PORT 0x64
51 #define READ_CMD_BYTE 0x20
52 #define WRITE_CMD_BYTE 0x60
53 #define DISABLE_AUX 0xa7
54 #define ENABLE_AUX 0xa8
55 #define SELF_TEST 0xaa
56 #define DISABLE_KB 0xad
57 #define ENABLE_KB 0xae
58 #define WRITE_AUX_DEV 0xd4
60 #define CMD_SYS_FLAG 0x04
61 #define CMD_KB_STS 0x10
62 #define CMD_KB_DIS 0x10
66 // 8042 Auxiliary Device Command
68 #define SETSF1_CMD 0xe6
69 #define SETSF2_CMD 0xe7
70 #define SETRE_CMD 0xe8
72 #define SETRM_CMD 0xf0
73 #define SETSR_CMD 0xf3
74 #define ENABLE_CMD 0xf4
75 #define DISABLE_CMD 0xf5
76 #define RESET_CMD 0xff
82 #define PS2_RESEND 0xfe
83 #define PS2MOUSE_BAT1 0xaa
84 #define PS2MOUSE_BAT2 0x0
87 // Keyboard Controller Status
89 #define KBC_PARE 0x80 // Parity Error
90 #define KBC_TIM 0x40 // General Time Out
91 #define KBC_AUXB 0x20 // Output buffer for auxiliary device (PS/2):
92 // 0 - Holds keyboard data
93 // 1 - Holds data for auxiliary device
95 #define KBC_KEYL 0x10 // Keyboard lock status:
96 // 0 - keyboard locked
99 #define KBC_CD 0x08 // Command/Data:
100 // 0 - data byte written via port 60h
101 // 1 - command byte written via port 64h
103 #define KBC_SYSF 0x04 // System Flag:
104 // 0 - power-on reset
105 // 1 - self-test successful
107 #define KBC_INPB 0x02 // Input Buffer Status :
108 // 0 - input buffer empty
109 // 1 - CPU data in input buffer
111 #define KBC_OUTB 0x01 // Output Buffer Status :
112 // 0 - output buffer empty
113 // 1 - keyboard controller data in output buffer
117 IN EFI_ISA_IO_PROTOCOL
*IsaIo
123 GC_TODO: Add function description
127 IsaIo - GC_TODO: add argument description
131 GC_TODO: add return values
138 IN EFI_ISA_IO_PROTOCOL
*IsaIo
144 GC_TODO: Add function description
148 IsaIo - GC_TODO: add argument description
152 GC_TODO: add return values
159 IN EFI_ISA_IO_PROTOCOL
*IsaIo
165 GC_TODO: Add function description
169 IsaIo - GC_TODO: add argument description
173 GC_TODO: add return values
180 IN EFI_ISA_IO_PROTOCOL
*IsaIo
186 GC_TODO: Add function description
190 IsaIo - GC_TODO: add argument description
194 GC_TODO: add return values
201 IN EFI_ISA_IO_PROTOCOL
*IsaIo
207 GC_TODO: Add function description
211 IsaIo - GC_TODO: add argument description
215 GC_TODO: add return values
222 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
223 OUT BOOLEAN
*KeyboardEnable
229 GC_TODO: Add function description
233 IsaIo - GC_TODO: add argument description
234 KeyboardEnable - GC_TODO: add argument description
238 GC_TODO: add return values
245 IN EFI_ISA_IO_PROTOCOL
*IsaIo
251 GC_TODO: Add function description
255 IsaIo - GC_TODO: add argument description
259 GC_TODO: add return values
265 PS2MouseSetSampleRate (
266 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
267 IN MOUSE_SR SampleRate
273 GC_TODO: Add function description
277 IsaIo - GC_TODO: add argument description
278 SampleRate - GC_TODO: add argument description
282 GC_TODO: add return values
288 PS2MouseSetResolution (
289 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
290 IN MOUSE_RE Resolution
296 GC_TODO: Add function description
300 IsaIo - GC_TODO: add argument description
301 Resolution - GC_TODO: add argument description
305 GC_TODO: add return values
312 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
319 GC_TODO: Add function description
323 IsaIo - GC_TODO: add argument description
324 Scaling - GC_TODO: add argument description
328 GC_TODO: add return values
335 IN EFI_ISA_IO_PROTOCOL
*IsaIo
341 GC_TODO: Add function description
345 IsaIo - GC_TODO: add argument description
349 GC_TODO: add return values
356 PS2_MOUSE_DEV
*MouseDev
362 GC_TODO: Add function description
366 MouseDev - GC_TODO: add argument description
370 GC_TODO: add return values
377 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
379 IN OUT UINTN
*BufSize
,
388 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
394 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
400 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
406 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
413 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
419 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
425 IN EFI_ISA_IO_PROTOCOL
*IsaIo
430 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
436 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
440 #endif // _COMMPS2_H_