]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Bus/Isa/Ps2MouseDxe/CommPs2.h
code scrub on Ps2MouseDxe module
[mirror_edk2.git] / IntelFrameworkModulePkg / Bus / Isa / Ps2MouseDxe / CommPs2.h
index 594e9b8845df7a7492ecaff895b32d95f3f2fa6d..5eb55de13cc3570436ce251e29d88eb742a2b42b 100644 (file)
@@ -1,4 +1,5 @@
-/*++\r
+/** @file\r
+  PS2 Mouse Communication Interface \r
 \r
 Copyright (c) 2006 - 2007, Intel Corporation\r
 All rights reserved. This program and the accompanying materials\r
@@ -9,28 +10,11 @@ http://opensource.org/licenses/bsd-license.php
 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
 \r
-\r
-Module Name:\r
-\r
-  CommPs2.h\r
-    \r
-Abstract:   \r
-\r
-  PS2 Mouse Communication Interface \r
-\r
-\r
-Revision History\r
-\r
---*/\r
+**/\r
 \r
 #ifndef _COMMPS2_H_\r
 #define _COMMPS2_H_\r
 \r
-//\r
-// Include common header file for this module.\r
-//\r
-#include "CommonHeader.h"\r
-\r
 #define PS2_PACKET_LENGTH       3\r
 #define PS2_SYNC_MASK           0xc\r
 #define PS2_SYNC_BYTE           0x8\r
@@ -91,292 +75,216 @@ Revision History
 //\r
 // Keyboard Controller Status\r
 //\r
-#define KBC_PARE  0x80  // Parity Error\r
-#define KBC_TIM   0x40  // General Time Out\r
-#define KBC_AUXB  0x20  // Output buffer for auxiliary device (PS/2):\r
-//    0 - Holds keyboard data\r
-//    1 - Holds data for auxiliary device\r
-//\r
-#define KBC_KEYL  0x10  // Keyboard lock status:\r
-//    0 - keyboard locked\r
-//    1 - keyboard free\r
-//\r
-#define KBC_CD  0x08  // Command/Data:\r
-//    0 - data byte written via port 60h\r
-//    1 - command byte written via port 64h\r
-//\r
-#define KBC_SYSF  0x04  // System Flag:\r
-//    0 - power-on reset\r
-//    1 - self-test successful\r
-//\r
-#define KBC_INPB  0x02  // Input Buffer Status :\r
-//    0 - input buffer empty\r
-//    1 - CPU data in input buffer\r
-//\r
-#define KBC_OUTB  0x01  // Output Buffer Status :\r
-//    0 - output buffer empty\r
-//    1 - keyboard controller data in output buffer\r
-//\r
+///\r
+/// Parity Error\r
+///\r
+#define KBC_PARE  0x80  \r
+///\r
+/// General Time Out\r
+///\r
+#define KBC_TIM   0x40  \r
+///\r
+/// Output buffer for auxiliary device (PS/2):\r
+///    0 - Holds keyboard data\r
+///    1 - Holds data for auxiliary device\r
+///\r
+#define KBC_AUXB  0x20  \r
+///\r
+/// Keyboard lock status:\r
+///    0 - keyboard locked\r
+///    1 - keyboard free\r
+///\r
+#define KBC_KEYL  0x10 \r
+///\r
+/// Command/Data:\r
+///    0 - data byte written via port 60h\r
+///    1 - command byte written via port 64h\r
+///\r
+#define KBC_CD  0x08\r
+///\r
+/// System Flag:\r
+///    0 - power-on reset\r
+///    1 - self-test successful\r
+///\r
+#define KBC_SYSF  0x04  \r
+///\r
+/// Input Buffer Status :\r
+///    0 - input buffer empty\r
+///    1 - CPU data in input buffer\r
+///\r
+#define KBC_INPB  0x02  \r
+///\r
+/// Output Buffer Status :\r
+///    0 - output buffer empty\r
+///    1 - keyboard controller data in output buffer\r
+///\r
+#define KBC_OUTB  0x01  \r
+\r
+/**\r
+  Issue self test command via IsaIo interface.\r
+  \r
+  @param IsaIo Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  \r
+  @return EFI_SUCCESS  Success to do keyboard self testing.\r
+  @return others       Fail to do keyboard self testing.\r
+**/\r
 EFI_STATUS\r
 KbcSelfTest (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to enable keyboard AUX functionality.\r
+  \r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 KbcEnableAux (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to disable keyboard AUX functionality.\r
+  \r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 KbcDisableAux (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to enable keyboard.\r
+  \r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 KbcEnableKb (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to disable keyboard.\r
+  \r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 KbcDisableKb (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to check keyboard status.\r
+  \r
+  @param IsaIo          Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param KeyboardEnable return whether keyboard is enable.\r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 CheckKbStatus (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   OUT BOOLEAN                             *KeyboardEnable\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo           - GC_TODO: add argument description\r
-  KeyboardEnable  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to reset keyboard.\r
+  \r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseReset (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to set mouse's sample rate\r
+  \r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param SampleRate value of sample rate \r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseSetSampleRate (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN MOUSE_SR                             SampleRate\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo       - GC_TODO: add argument description\r
-  SampleRate  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to set mouse's resolution.\r
+  \r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Resolution value of resolution\r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseSetResolution (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN MOUSE_RE                             Resolution\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo       - GC_TODO: add argument description\r
-  Resolution  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to set mouse's scaling.\r
+  \r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Scaling value of scaling\r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseSetScaling (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN MOUSE_SF                             Scaling\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo   - GC_TODO: add argument description\r
-  Scaling - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Issue command to enable Ps2 mouse.\r
+  \r
+  @param IsaIo  Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  \r
+  @return Status of command issuing.\r
+**/\r
 EFI_STATUS\r
 PS2MouseEnable (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  IsaIo - GC_TODO: add argument description\r
+  );\r
 \r
-Returns:\r
+/**\r
+  Get mouse packet . Only care first 3 bytes\r
 \r
-  GC_TODO: add return values\r
+  @param MouseDev  Pointer of PS2 Mouse Private Data Structure \r
 \r
---*/\r
-;\r
+  @retval EFI_NOT_READY  Mouse Device not ready to input data packet, or some error happened during getting the packet\r
+  @retval EFI_SUCCESS    The data packet is gotten successfully.\r
 \r
+**/\r
 EFI_STATUS\r
 PS2MouseGetPacket (\r
   PS2_MOUSE_DEV     *MouseDev\r
-  )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  MouseDev  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
-;\r
+  );\r
 \r
+/**\r
+  Read data via IsaIo protocol with given number.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Buffer  Buffer receive data of mouse\r
+  @param BufSize The size of buffer\r
+  @param State   Check input or read data\r
+  \r
+  @return status of reading mouse data.\r
+**/\r
 EFI_STATUS\r
 PS2MouseRead (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
@@ -388,24 +296,61 @@ PS2MouseRead (
 //\r
 // 8042 I/O function\r
 //\r
+/**\r
+  I/O work flow of outing 8042 command.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Command I/O command.\r
+  \r
+  @retval EFI_SUCCESS Success to excute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 Out8042Command (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINT8                                Command\r
   );\r
 \r
+/**\r
+  I/O work flow of in 8042 data.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Data    Data value\r
+  \r
+  @retval EFI_SUCCESS Success to excute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 In8042Data (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN OUT UINT8                            *Data\r
   );\r
 \r
+/**\r
+  I/O work flow of outing 8042 data.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Data    Data value\r
+  \r
+  @retval EFI_SUCCESS Success to excute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 Out8042Data (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINT8                                Data\r
   );\r
 \r
+/**\r
+  I/O work flow of outing 8042 Aux command.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\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_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 Out8042AuxCommand (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
@@ -413,33 +358,78 @@ Out8042AuxCommand (
   IN BOOLEAN                              Resend\r
   );\r
 \r
+/**\r
+  I/O work flow of in 8042 Aux data.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Data    Buffer holding return value.\r
+  \r
+  @retval EFI_SUCCESS Success to excute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 In8042AuxData (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN OUT UINT8                            *Data\r
   );\r
 \r
+/**\r
+  I/O work flow of outing 8042 Aux data.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Data    Buffer holding return value\r
+  \r
+  @retval EFI_SUCCESS Success to excute I/O work flow\r
+  @retval EFI_TIMEOUT Keyboard controller time out.\r
+**/\r
 EFI_STATUS\r
 Out8042AuxData (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINT8                                Data\r
   );\r
 \r
+/**\r
+  Check keyboard controller status, if it is output buffer full and for auxiliary device.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  \r
+  @retval EFI_SUCCESS   Keyboard controller is ready\r
+  @retval EFI_NOT_READY Keyboard controller is not ready\r
+**/\r
 EFI_STATUS\r
 CheckForInput (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo\r
   );\r
 \r
+/**\r
+  I/O work flow to wait input buffer empty in given time.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Timeout Wating 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 EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINTN                                Timeout\r
   );\r
 \r
+/**\r
+  I/O work flow to wait output buffer full in given time.\r
+  \r
+  @param IsaIo   Pointer to instance of EFI_ISA_IO_PROTOCOL\r
+  @param Timeout given time\r
+  \r
+  @retval EFI_TIMEOUT  output is not full in given time\r
+  @retval EFI_SUCCESS  output is full in given time.\r
+**/\r
 EFI_STATUS\r
 WaitOutputFull (\r
   IN EFI_ISA_IO_PROTOCOL                  *IsaIo,\r
   IN UINTN                                Timeout\r
   );\r
 \r
-#endif // _COMMPS2_H_\r
+#endif\r
+\r