]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Include/Library/SmbusLib.h
Update the text to use "x64" instead of "X64" in MdePkg.
[mirror_edk2.git] / MdePkg / Include / Library / SmbusLib.h
index 0520523bf1cde7ebb145183af53419d07aef9216..64ea42b445f498ae1061c0ef9865023dc80d8b6d 100644 (file)
@@ -1,27 +1,21 @@
 /** @file\r
-  SMBUS Functions\r
+  Provides library functions to access SMBUS devices. Libraries of this class\r
+  must be ported to a specific SMBUS controller.\r
 \r
-  Copyright (c) 2006, Intel Corporation\r
-  All rights reserved. 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
+Copyright (c) 2006 - 2008, Intel Corporation\r
+All rights reserved. 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
-\r
-  Module Name:  SmbusLib.h\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
 \r
 **/\r
 \r
 #ifndef __SMBUS_LIB__\r
 #define __SMBUS_LIB__\r
 \r
-//\r
-// PEC BIT is bit 22 in SMBUS address\r
-//\r
-#define SMBUS_LIB_PEC_BIT   (1 << 22)\r
-\r
 /**\r
   Macro that converts SMBUS slave address, SMBUS command, SMBUS data length,\r
   and PEC to a value that can be passed to the SMBUS Library functions.\r
 \r
 **/\r
 #define SMBUS_LIB_ADDRESS(SlaveAddress,Command,Length,Pec)  \\r
-  ( ((Pec) ? SMBUS_LIB_PEC_BIT: 0)      | \\r
+  ( ((Pec) ? BIT22: 0)                  | \\r
     (((SlaveAddress) & 0x7f) << 1)      | \\r
     (((Command)      & 0xff) << 8)      | \\r
     (((Length)       & 0x3f) << 16)       \\r
   )\r
 \r
+/**\r
+  Macro that returns the SMBUS Slave Address value from an SmBusAddress Parameter value.\r
+  \r
+  @param SmBusAddress   Address that encodes the SMBUS Slave Address, SMBUS Command, SMBUS Data Length, and PEC \r
+**/\r
+#define SMBUS_LIB_SLAVE_ADDRESS(SmBusAddress)      (((SmBusAddress) >> 1)  & 0x7f)\r
+\r
+/**\r
+  Macro that returns the SMBUS Command value from an SmBusAddress Parameter value.\r
+  \r
+  @param SmBusAddress   Address that encodes the SMBUS Slave Address, SMBUS Command, SMBUS Data Length, and PEC\r
+**/\r
+#define SMBUS_LIB_COMMAND(SmBusAddress)            (((SmBusAddress) >> 8)  & 0xff)\r
+\r
+/**\r
+  Macro that returns the SMBUS Data Length value from an SmBusAddress Parameter value.\r
+  \r
+  @param SmBusAddress Address that encodes the SMBUS Slave Address, SMBUS Command, SMBUS Data Length, and PEC \r
+**/\r
+#define SMBUS_LIB_LENGTH(SmBusAddress)             (((SmBusAddress) >> 16) & 0x3f)\r
+\r
+/**\r
+  Macro that returns the SMBUS PEC value from an SmBusAddress Parameter value.\r
+  \r
+  @param SmBusAddress Address that encodes the SMBUS Slave Address, SMBUS Command, SMBUS Data Length, and PEC   \r
+**/\r
+#define SMBUS_LIB_PEC(SmBusAddress)                ((BOOLEAN) (((SmBusAddress) & BIT22) != 0))\r
+\r
+/**\r
+  Macro that returns the set of reserved bits from an SmBusAddress Parameter value.\r
+  \r
+  @param SmBusAddress Address that encodes the SMBUS Slave Address, SMBUS Command, SMBUS Data Length, and PEC   \r
+**/\r
+#define SMBUS_LIB_RESERVED(SmBusAddress)           ((SmBusAddress) & ~(BIT23 - 2))\r
+\r
 /**\r
   Executes an SMBUS quick read command.\r
 \r
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS  The SMBUS command was executed.\r
+                        RETURN_TIMEOUT  A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
 **/\r
 VOID\r
@@ -65,8 +101,7 @@ EFIAPI
 SmBusQuickRead (\r
   IN  UINTN                     SmBusAddress,\r
   OUT RETURN_STATUS             *Status       OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS quick write command.\r
@@ -79,10 +114,17 @@ SmBusQuickRead (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
 **/\r
 VOID\r
@@ -90,8 +132,7 @@ EFIAPI
 SmBusQuickWrite (\r
   IN  UINTN                     SmBusAddress,\r
   OUT RETURN_STATUS             *Status       OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS receive byte command.\r
@@ -104,10 +145,18 @@ SmBusQuickWrite (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The byte received from the SMBUS.\r
 \r
@@ -117,8 +166,7 @@ EFIAPI
 SmBusReceiveByte (\r
   IN  UINTN          SmBusAddress,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS send byte command.\r
@@ -131,11 +179,19 @@ SmBusReceiveByte (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 8-bit value to send.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 8-bit value to send.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The parameter of Value.\r
 \r
@@ -146,8 +202,7 @@ SmBusSendByte (
   IN  UINTN          SmBusAddress,\r
   IN  UINT8          Value,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS read data byte command.\r
@@ -161,8 +216,16 @@ SmBusSendByte (
 \r
   @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
                           SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The byte read from the SMBUS.\r
 \r
@@ -172,8 +235,7 @@ EFIAPI
 SmBusReadDataByte (\r
   IN  UINTN          SmBusAddress,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS write data byte command.\r
@@ -186,11 +248,19 @@ SmBusReadDataByte (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 8-bit value to write.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 8-bit value to write.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The parameter of Value.\r
 \r
@@ -201,8 +271,7 @@ SmBusWriteDataByte (
   IN  UINTN          SmBusAddress,\r
   IN  UINT8          Value,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS read data word command.\r
@@ -214,10 +283,18 @@ SmBusWriteDataByte (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
   \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The byte read from the SMBUS.\r
 \r
@@ -227,8 +304,7 @@ EFIAPI
 SmBusReadDataWord (\r
   IN  UINTN          SmBusAddress,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS write data word command.\r
@@ -241,11 +317,19 @@ SmBusReadDataWord (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 16-bit value to write.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 16-bit value to write.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The parameter of Value.\r
 \r
@@ -256,8 +340,7 @@ SmBusWriteDataWord (
   IN  UINTN          SmBusAddress,\r
   IN  UINT16         Value,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS process call command.\r
@@ -270,11 +353,19 @@ SmBusWriteDataWord (
   If Length in SmBusAddress is not zero, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Value           The 16-bit value to write.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Value         The 16-bit value to write.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The 16-bit value returned by the process call command.\r
 \r
@@ -285,8 +376,7 @@ SmBusProcessCall (
   IN  UINTN          SmBusAddress,\r
   IN  UINT16         Value,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS read block command.\r
@@ -302,11 +392,19 @@ SmBusProcessCall (
   If Buffer is NULL, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Buffer          Pointer to the buffer to store the bytes read from the SMBUS.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Buffer        Pointer to the buffer to store the bytes read from the SMBUS.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_SUCCESS The SMBUS command was executed.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The number of bytes read.\r
 \r
@@ -317,8 +415,7 @@ SmBusReadBlock (
   IN  UINTN          SmBusAddress,\r
   OUT VOID           *Buffer,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS write block command.\r
@@ -332,11 +429,18 @@ SmBusReadBlock (
   If Buffer is NULL, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  Buffer          Pointer to the buffer to store the bytes read from the SMBUS.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        MBUS Command, SMBUS Data Length, and PEC.\r
+  @param  Buffer        Pointer to the buffer to store the bytes read from the SMBUS.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The number of bytes written.\r
 \r
@@ -347,8 +451,7 @@ SmBusWriteBlock (
   IN  UINTN          SmBusAddress,\r
   OUT VOID           *Buffer,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 /**\r
   Executes an SMBUS block process call command.\r
@@ -364,12 +467,19 @@ SmBusWriteBlock (
   If ReadBuffer is NULL, then ASSERT().\r
   If any reserved bits of SmBusAddress are set, then ASSERT().\r
 \r
-  @param  SmBusAddress    Address that encodes the SMBUS Slave Address,\r
-                          SMBUS Command, SMBUS Data Length, and PEC.\r
-  @param  WriteBuffer     Pointer to the buffer of bytes to write to the SMBUS.\r
-  @param  ReadBuffer      Pointer to the buffer of bytes to read from the SMBUS.\r
-  @param  Status          Return status for the executed command.\r
-                          This is an optional parameter and may be NULL.\r
+  @param  SmBusAddress  Address that encodes the SMBUS Slave Address,\r
+                        SMBUS Command, SMBUS Data Length, and PEC.\r
+  @param  WriteBuffer   Pointer to the buffer of bytes to write to the SMBUS.\r
+  @param  ReadBuffer    Pointer to the buffer of bytes to read from the SMBUS.\r
+  @param  Status        Return status for the executed command.\r
+                        This is an optional parameter and may be NULL.\r
+                        RETURN_TIMEOUT A timeout occurred while executing the SMBUS command.\r
+                        RETURN_DEVICE_ERROR  The request was not completed because a failure\r
+                        reflected in the Host Status Register bit.  Device errors are a result\r
+                        of a transaction collision, illegal command field, unclaimed cycle\r
+                        (host initiated), or bus errors (collisions).\r
+                        RETURN_CRC_ERROR  The checksum is not correct (PEC is incorrect)\r
+                        RETURN_UNSUPPORTED  The SMBus operation is not supported.\r
 \r
   @return The number of bytes written.\r
 \r
@@ -381,8 +491,7 @@ SmBusBlockProcessCall (
   IN  VOID           *WriteBuffer,\r
   OUT VOID           *ReadBuffer,\r
   OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-;\r
+  );\r
 \r
 \r
 #endif\r