PS2 Mouse Communication Interface\r
\r
Copyright (c) 2006 - 2016, Intel Corporation. All rights reserved.<BR>\r
-This program and the accompanying materials\r
-are licensed and made available under the terms and conditions of the BSD License\r
-which accompanies this distribution. The full text of the license may be found at\r
-http://opensource.org/licenses/bsd-license.php\r
-\r
-THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+SPDX-License-Identifier: BSD-2-Clause-Patent\r
\r
**/\r
\r
\r
#include "Ps2Mouse.h"\r
\r
-#define PS2_PACKET_LENGTH 3\r
-#define PS2_SYNC_MASK 0xc\r
-#define PS2_SYNC_BYTE 0x8\r
+#define PS2_PACKET_LENGTH 3\r
+#define PS2_SYNC_MASK 0xc\r
+#define PS2_SYNC_BYTE 0x8\r
\r
#define IS_PS2_SYNC_BYTE(byte) ((byte & PS2_SYNC_MASK) == PS2_SYNC_BYTE)\r
\r
-#define PS2_READ_BYTE_ONE 0\r
-#define PS2_READ_DATA_BYTE 1\r
-#define PS2_PROCESS_PACKET 2\r
+#define PS2_READ_BYTE_ONE 0\r
+#define PS2_READ_DATA_BYTE 1\r
+#define PS2_PROCESS_PACKET 2\r
\r
-#define TIMEOUT 50000\r
-#define BAT_TIMEOUT 500000\r
+#define TIMEOUT 50000\r
+#define BAT_TIMEOUT 500000\r
\r
//\r
// 8042 I/O Port\r
#define ENABLE_KB 0xae\r
#define WRITE_AUX_DEV 0xd4\r
\r
-#define CMD_SYS_FLAG 0x04\r
-#define CMD_KB_STS 0x10\r
-#define CMD_KB_DIS 0x10\r
-#define CMD_KB_EN 0x0\r
+#define CMD_SYS_FLAG 0x04\r
+#define CMD_KB_STS 0x10\r
+#define CMD_KB_DIS 0x10\r
+#define CMD_KB_EN 0x0\r
\r
//\r
// 8042 Auxiliary Device Command\r
//\r
-#define SETSF1_CMD 0xe6\r
-#define SETSF2_CMD 0xe7\r
-#define SETRE_CMD 0xe8\r
-#define READ_CMD 0xeb\r
-#define SETRM_CMD 0xf0\r
-#define SETSR_CMD 0xf3\r
-#define ENABLE_CMD 0xf4\r
-#define DISABLE_CMD 0xf5\r
-#define RESET_CMD 0xff\r
+#define SETSF1_CMD 0xe6\r
+#define SETSF2_CMD 0xe7\r
+#define SETRE_CMD 0xe8\r
+#define READ_CMD 0xeb\r
+#define SETRM_CMD 0xf0\r
+#define SETSR_CMD 0xf3\r
+#define ENABLE_CMD 0xf4\r
+#define DISABLE_CMD 0xf5\r
+#define RESET_CMD 0xff\r
\r
//\r
// return code\r
//\r
-#define PS2_ACK 0xfa\r
-#define PS2_RESEND 0xfe\r
-#define PS2MOUSE_BAT1 0xaa\r
-#define PS2MOUSE_BAT2 0x0\r
+#define PS2_ACK 0xfa\r
+#define PS2_RESEND 0xfe\r
+#define PS2MOUSE_BAT1 0xaa\r
+#define PS2MOUSE_BAT2 0x0\r
\r
//\r
// Keyboard Controller Status\r
///\r
/// General Time Out\r
///\r
-#define KBC_TIM 0x40\r
+#define KBC_TIM 0x40\r
///\r
/// Output buffer for auxiliary device (PS/2):\r
/// 0 - Holds keyboard data\r
**/\r
EFI_STATUS\r
CheckKbStatus (\r
- OUT BOOLEAN *KeyboardEnable\r
+ OUT BOOLEAN *KeyboardEnable\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
PS2MouseSetSampleRate (\r
- IN MOUSE_SR SampleRate\r
+ IN MOUSE_SR SampleRate\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
PS2MouseSetResolution (\r
- IN MOUSE_RE Resolution\r
+ IN MOUSE_RE Resolution\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
PS2MouseSetScaling (\r
- IN MOUSE_SF Scaling\r
+ IN MOUSE_SF Scaling\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
PS2MouseGetPacket (\r
- PS2_MOUSE_DEV *MouseDev\r
+ PS2_MOUSE_DEV *MouseDev\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
PS2MouseRead (\r
- OUT VOID *Buffer,\r
- IN OUT UINTN *BufSize,\r
- IN UINTN State\r
+ OUT UINT8 *Buffer,\r
+ IN OUT UINTN *BufSize,\r
+ IN UINTN State\r
);\r
\r
//\r
// 8042 I/O function\r
//\r
+\r
/**\r
I/O work flow of outing 8042 command.\r
\r
@param Command I/O command.\r
\r
- @retval EFI_SUCCESS Success to excute I/O work flow\r
+ @retval EFI_SUCCESS Success to execute I/O work flow\r
@retval EFI_TIMEOUT Keyboard controller time out.\r
**/\r
EFI_STATUS\r
Out8042Command (\r
- IN UINT8 Command\r
+ IN UINT8 Command\r
);\r
\r
/**\r
\r
@param Data Data value\r
\r
- @retval EFI_SUCCESS Success to excute I/O work flow\r
+ @retval EFI_SUCCESS Success to execute I/O work flow\r
@retval EFI_TIMEOUT Keyboard controller time out.\r
**/\r
EFI_STATUS\r
In8042Data (\r
- IN OUT UINT8 *Data\r
+ IN OUT UINT8 *Data\r
);\r
\r
/**\r
\r
@param Data Data value\r
\r
- @retval EFI_SUCCESS Success to excute I/O work flow\r
+ @retval EFI_SUCCESS Success to execute I/O work flow\r
@retval EFI_TIMEOUT Keyboard controller time out.\r
**/\r
EFI_STATUS\r
Out8042Data (\r
- IN UINT8 Data\r
+ IN UINT8 Data\r
);\r
\r
/**\r
@param Command Aux I/O command\r
@param Resend Whether need resend the Aux command.\r
\r
- @retval EFI_SUCCESS Success to excute I/O work flow\r
+ @retval EFI_SUCCESS Success to execute I/O work flow\r
@retval EFI_TIMEOUT Keyboard controller time out.\r
**/\r
EFI_STATUS\r
Out8042AuxCommand (\r
- IN UINT8 Command,\r
- IN BOOLEAN Resend\r
+ IN UINT8 Command,\r
+ IN BOOLEAN Resend\r
);\r
\r
/**\r
\r
@param Data Buffer holding return value.\r
\r
- @retval EFI_SUCCESS Success to excute I/O work flow\r
+ @retval EFI_SUCCESS Success to execute I/O work flow\r
@retval EFI_TIMEOUT Keyboard controller time out.\r
**/\r
EFI_STATUS\r
In8042AuxData (\r
- IN OUT UINT8 *Data\r
+ IN OUT UINT8 *Data\r
);\r
\r
/**\r
\r
@param Data Buffer holding return value\r
\r
- @retval EFI_SUCCESS Success to excute I/O work flow\r
+ @retval EFI_SUCCESS Success to execute I/O work flow\r
@retval EFI_TIMEOUT Keyboard controller time out.\r
**/\r
EFI_STATUS\r
Out8042AuxData (\r
- IN UINT8 Data\r
+ IN UINT8 Data\r
);\r
\r
/**\r
/**\r
I/O work flow to wait input buffer empty in given time.\r
\r
- @param Timeout Wating time.\r
+ @param Timeout Waiting time.\r
\r
@retval EFI_TIMEOUT if input is still not empty in given time.\r
@retval EFI_SUCCESS input is empty.\r
**/\r
EFI_STATUS\r
WaitInputEmpty (\r
- IN UINTN Timeout\r
+ IN UINTN Timeout\r
);\r
\r
/**\r
**/\r
EFI_STATUS\r
WaitOutputFull (\r
- IN UINTN Timeout\r
+ IN UINTN Timeout\r
);\r
\r
#endif\r
-\r