]> git.proxmox.com Git - mirror_edk2.git/blobdiff - OldMdePkg/Library/PeiSmbusLib/SmbusLib.c
Retiring the ANT/JAVA build and removing the older EDK II packages that required...
[mirror_edk2.git] / OldMdePkg / Library / PeiSmbusLib / SmbusLib.c
diff --git a/OldMdePkg/Library/PeiSmbusLib/SmbusLib.c b/OldMdePkg/Library/PeiSmbusLib/SmbusLib.c
deleted file mode 100644 (file)
index 93fadb6..0000000
+++ /dev/null
@@ -1,470 +0,0 @@
-/** @file\r
-Implementation of SmBusLib class library for PEI phase.\r
-\r
-Copyright (c) 2006, Intel Corporation<BR>\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
-\r
-Module Name: SmbusLib.c\r
-\r
-**/\r
-\r
-#include "InternalSmbusLib.h"\r
-\r
-/**\r
-  Executes an SMBUS quick read command.\r
-\r
-  Executes an SMBUS quick read command on the SMBUS device specified by SmBusAddress.\r
-  Only the SMBUS slave address field of SmBusAddress is required.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\r
-  If PEC is set in SmBusAddress, then ASSERT().\r
-  If Command in SmBusAddress is not zero, then ASSERT().\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
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SmBusQuickRead (\r
-  IN  UINTN                     SmBusAddress,\r
-  OUT RETURN_STATUS             *Status       OPTIONAL\r
-  )\r
-{\r
-  ASSERT (!SMBUS_LIB_PEC (SmBusAddress));\r
-  ASSERT (SMBUS_LIB_COMMAND (SmBusAddress)   == 0);\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)    == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  InternalSmBusExec (EfiSmbusQuickRead, SmBusAddress, 0, NULL, Status);\r
-}\r
-\r
-/**\r
-  Executes an SMBUS quick write command.\r
-\r
-  Executes an SMBUS quick write command on the SMBUS device specified by SmBusAddress.\r
-  Only the SMBUS slave address field of SmBusAddress is required.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\r
-  If PEC is set in SmBusAddress, then ASSERT().\r
-  If Command in SmBusAddress is not zero, then ASSERT().\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
-\r
-**/\r
-VOID\r
-EFIAPI\r
-SmBusQuickWrite (\r
-  IN  UINTN                     SmBusAddress,\r
-  OUT RETURN_STATUS             *Status       OPTIONAL\r
-  )\r
-{\r
-  ASSERT (!SMBUS_LIB_PEC (SmBusAddress));\r
-  ASSERT (SMBUS_LIB_COMMAND (SmBusAddress)   == 0);\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)    == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  InternalSmBusExec (EfiSmbusQuickWrite, SmBusAddress, 0, NULL, Status);\r
-}\r
-\r
-/**\r
-  Executes an SMBUS receive byte command.\r
-\r
-  Executes an SMBUS receive byte command on the SMBUS device specified by SmBusAddress.\r
-  Only the SMBUS slave address field of SmBusAddress is required.\r
-  The byte received from the SMBUS is returned.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\r
-  If Command in SmBusAddress is not zero, then ASSERT().\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
-\r
-  @return The byte received from the SMBUS.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-SmBusReceiveByte (\r
-  IN  UINTN          SmBusAddress,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  UINT8   Byte;\r
-\r
-  ASSERT (SMBUS_LIB_COMMAND (SmBusAddress) == 0);\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)  == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  InternalSmBusExec (EfiSmbusReceiveByte, SmBusAddress, 1, &Byte, Status);\r
-\r
-  return Byte;\r
-}\r
-\r
-/**\r
-  Executes an SMBUS send byte command.\r
-\r
-  Executes an SMBUS send byte command on the SMBUS device specified by SmBusAddress.\r
-  The byte specified by Value is sent.\r
-  Only the SMBUS slave address field of SmBusAddress is required.  Value is returned.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\r
-  If Command in SmBusAddress is not zero, then ASSERT().\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  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
-\r
-  @return The parameter of Value.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-SmBusSendByte (\r
-  IN  UINTN          SmBusAddress,\r
-  IN  UINT8          Value,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  UINT8   Byte;\r
-\r
-  ASSERT (SMBUS_LIB_COMMAND (SmBusAddress)   == 0);\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)    == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  Byte   = Value;\r
-  InternalSmBusExec (EfiSmbusSendByte, SmBusAddress, 1, &Byte, Status);\r
-\r
-  return Value;\r
-}\r
-\r
-/**\r
-  Executes an SMBUS read data byte command.\r
-\r
-  Executes an SMBUS read data byte command on the SMBUS device specified by SmBusAddress.\r
-  Only the SMBUS slave address and SMBUS command fields of SmBusAddress are required.\r
-  The 8-bit value read from the SMBUS is returned.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\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
-\r
-  @return The byte read from the SMBUS.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-SmBusReadDataByte (\r
-  IN  UINTN          SmBusAddress,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  UINT8   Byte;\r
-\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)    == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  InternalSmBusExec (EfiSmbusReadByte, SmBusAddress, 1, &Byte, Status);\r
-  \r
-  return Byte;\r
-}\r
-\r
-/**\r
-  Executes an SMBUS write data byte command.\r
-\r
-  Executes an SMBUS write data byte command on the SMBUS device specified by SmBusAddress.\r
-  The 8-bit value specified by Value is written.\r
-  Only the SMBUS slave address and SMBUS command fields of SmBusAddress are required.\r
-  Value is returned.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\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  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
-\r
-  @return The parameter of Value.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-SmBusWriteDataByte (\r
-  IN  UINTN          SmBusAddress,\r
-  IN  UINT8          Value,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  UINT8   Byte;\r
-\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)    == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  Byte = Value;\r
-  InternalSmBusExec (EfiSmbusWriteByte, SmBusAddress, 1, &Byte, Status);\r
-  \r
-  return Value;\r
-}\r
-\r
-/**\r
-  Executes an SMBUS read data word command.\r
-\r
-  Executes an SMBUS read data word command on the SMBUS device specified by SmBusAddress.\r
-  Only the SMBUS slave address and SMBUS command fields of SmBusAddress are required.\r
-  The 16-bit value read from the SMBUS is returned.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\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
-\r
-  @return The byte read from the SMBUS.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-SmBusReadDataWord (\r
-  IN  UINTN          SmBusAddress,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  UINT16  Word;\r
-\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)    == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  InternalSmBusExec (EfiSmbusReadWord, SmBusAddress, 2, &Word, Status);\r
-  \r
-  return Word;\r
-}\r
-\r
-/**\r
-  Executes an SMBUS write data word command.\r
-\r
-  Executes an SMBUS write data word command on the SMBUS device specified by SmBusAddress.\r
-  The 16-bit value specified by Value is written.\r
-  Only the SMBUS slave address and SMBUS command fields of SmBusAddress are required.\r
-  Value is returned.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\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  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
-\r
-  @return The parameter of Value.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-SmBusWriteDataWord (\r
-  IN  UINTN          SmBusAddress,\r
-  IN  UINT16         Value,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  UINT16  Word;\r
-\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)    == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  Word = Value;\r
-  InternalSmBusExec (EfiSmbusWriteWord, SmBusAddress, 2, &Word, Status);\r
-\r
-  return Value;\r
-}\r
-\r
-/**\r
-  Executes an SMBUS process call command.\r
-\r
-  Executes an SMBUS process call command on the SMBUS device specified by SmBusAddress.\r
-  The 16-bit value specified by Value is written.\r
-  Only the SMBUS slave address and SMBUS command fields of SmBusAddress are required.\r
-  The 16-bit value returned by the process call command is returned.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\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  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
-\r
-  @return The 16-bit value returned by the process call command.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-SmBusProcessCall (\r
-  IN  UINTN          SmBusAddress,\r
-  IN  UINT16         Value,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)    == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  InternalSmBusExec (EfiSmbusProcessCall, SmBusAddress, 2, &Value, Status);\r
-  \r
-  return Value;\r
-}\r
-\r
-/**\r
-  Executes an SMBUS read block command.\r
-\r
-  Executes an SMBUS read block command on the SMBUS device specified by SmBusAddress.\r
-  Only the SMBUS slave address and SMBUS command fields of SmBusAddress are required.\r
-  Bytes are read from the SMBUS and stored in Buffer.\r
-  The number of bytes read is returned, and will never return a value larger than 32-bytes.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\r
-  It is the caller's responsibility to make sure Buffer is large enough for the total number of bytes read.\r
-  SMBUS supports a maximum transfer size of 32 bytes, so Buffer does not need to be any larger than 32 bytes.\r
-  If Length in SmBusAddress is not zero, then ASSERT().\r
-  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
-\r
-  @return The number of bytes read.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-SmBusReadBlock (\r
-  IN  UINTN          SmBusAddress,\r
-  OUT VOID           *Buffer,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  ASSERT (Buffer != NULL);\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress)    == 0);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  return InternalSmBusExec (EfiSmbusReadBlock, SmBusAddress, 0x20, Buffer, Status);\r
-}\r
-\r
-/**\r
-  Executes an SMBUS write block command.\r
-\r
-  Executes an SMBUS write block command on the SMBUS device specified by SmBusAddress.\r
-  The SMBUS slave address, SMBUS command, and SMBUS length fields of SmBusAddress are required.\r
-  Bytes are written to the SMBUS from Buffer.\r
-  The number of bytes written is returned, and will never return a value larger than 32-bytes.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.  \r
-  If Length in SmBusAddress is zero or greater than 32, then ASSERT().\r
-  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
-\r
-  @return The number of bytes written.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-SmBusWriteBlock (\r
-  IN  UINTN          SmBusAddress,\r
-  OUT VOID           *Buffer,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  UINTN  Length;\r
-\r
-  ASSERT (Buffer != NULL);\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress) >= 1);\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress) <= 32);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  Length = SMBUS_LIB_LENGTH (SmBusAddress);\r
-  return InternalSmBusExec (EfiSmbusWriteBlock, SmBusAddress, Length, Buffer, Status);\r
-}\r
-\r
-/**\r
-  Executes an SMBUS block process call command.\r
-\r
-  Executes an SMBUS block process call command on the SMBUS device specified by SmBusAddress.\r
-  The SMBUS slave address, SMBUS command, and SMBUS length fields of SmBusAddress are required.\r
-  Bytes are written to the SMBUS from WriteBuffer.  Bytes are then read from the SMBUS into ReadBuffer.\r
-  If Status is not NULL, then the status of the executed command is returned in Status.\r
-  It is the caller's responsibility to make sure ReadBuffer is large enough for the total number of bytes read.\r
-  SMBUS supports a maximum transfer size of 32 bytes, so Buffer does not need to be any larger than 32 bytes.\r
-  If Length in SmBusAddress is zero or greater than 32, then ASSERT().\r
-  If WriteBuffer is NULL, then ASSERT().\r
-  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
-\r
-  @return The number of bytes written.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-SmBusBlockProcessCall (\r
-  IN  UINTN          SmBusAddress,\r
-  IN  VOID           *WriteBuffer,\r
-  OUT VOID           *ReadBuffer,\r
-  OUT RETURN_STATUS  *Status        OPTIONAL\r
-  )\r
-{\r
-  UINTN   Length;\r
-\r
-  ASSERT (WriteBuffer != NULL);\r
-  ASSERT (ReadBuffer  != NULL);\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress) >= 1);\r
-  ASSERT (SMBUS_LIB_LENGTH (SmBusAddress) <= 32);\r
-  ASSERT (SMBUS_LIB_RESEARVED (SmBusAddress) == 0);\r
-\r
-  Length = SMBUS_LIB_LENGTH (SmBusAddress);\r
-  //\r
-  // Assuming that ReadBuffer is large enough to save another memory copy.\r
-  //\r
-  ReadBuffer = CopyMem (ReadBuffer, WriteBuffer, Length);\r
-  return InternalSmBusExec (EfiSmbusBWBRProcessCall, SmBusAddress, Length, ReadBuffer, Status);\r
-}\r