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.
18 PS/2 Mouse driver header file
28 #include <Framework/StatusCode.h>
30 #include <Protocol/SimplePointer.h>
31 #include <Protocol/IsaIo.h>
32 #include <Protocol/DevicePath.h>
34 #include <Library/DebugLib.h>
35 #include <Library/UefiDriverEntryPoint.h>
36 #include <Library/UefiLib.h>
37 #include <Library/BaseMemoryLib.h>
38 #include <Library/MemoryAllocationLib.h>
39 #include <Library/UefiBootServicesTableLib.h>
40 #include <Library/ReportStatusCodeLib.h>
43 // PS/2 mouse sample rate
57 // PS/2 mouse resolution
76 // Driver Private Data
78 #define PS2_MOUSE_DEV_SIGNATURE EFI_SIGNATURE_32 ('p', 's', '2', 'm')
84 EFI_SIMPLE_POINTER_PROTOCOL SimplePointerProtocol
;
85 EFI_SIMPLE_POINTER_STATE State
;
86 EFI_SIMPLE_POINTER_MODE Mode
;
90 // PS2 Mouse device specific information
95 UINT8 DataPackageSize
;
97 EFI_ISA_IO_PROTOCOL
*IsaIo
;
101 EFI_UNICODE_STRING_TABLE
*ControllerNameTable
;
102 EFI_DEVICE_PATH_PROTOCOL
*DevicePath
;
105 #define PS2_MOUSE_DEV_FROM_THIS(a) CR (a, PS2_MOUSE_DEV, SimplePointerProtocol, PS2_MOUSE_DEV_SIGNATURE)
110 extern EFI_DRIVER_BINDING_PROTOCOL gPS2MouseDriver
;
111 extern EFI_COMPONENT_NAME_PROTOCOL gPs2MouseComponentName
;
114 // Function prototypes
118 PS2MouseDriverSupported (
119 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
120 IN EFI_HANDLE Controller
,
121 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
126 PS2MouseDriverStart (
127 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
128 IN EFI_HANDLE Controller
,
129 IN EFI_DEVICE_PATH_PROTOCOL
*RemainingDevicePath
135 IN EFI_DRIVER_BINDING_PROTOCOL
*This
,
136 IN EFI_HANDLE Controller
,
137 IN UINTN NumberOfChildren
,
138 IN EFI_HANDLE
*ChildHandleBuffer
142 // EFI Component Name Functions
146 Ps2MouseComponentNameGetDriverName (
147 IN EFI_COMPONENT_NAME_PROTOCOL
*This
,
149 OUT CHAR16
**DriverName
154 Ps2MouseComponentNameGetControllerName (
155 IN EFI_COMPONENT_NAME_PROTOCOL
*This
,
156 IN EFI_HANDLE ControllerHandle
,
157 IN EFI_HANDLE ChildHandle OPTIONAL
,
159 OUT CHAR16
**ControllerName
165 IN EFI_SIMPLE_POINTER_PROTOCOL
*This
,
166 IN BOOLEAN ExtendedVerification
172 IN EFI_SIMPLE_POINTER_PROTOCOL
*This
,
173 IN OUT EFI_SIMPLE_POINTER_STATE
*State
192 IN EFI_ISA_IO_PROTOCOL
*IsaIo
,
197 IN PS2_MOUSE_DEV
*MouseDev