/** @file\r
- This file declares Smbus PPI.\r
+ This file declares Smbus PPI which provides the basic I/O interfaces that a PEIM \r
+ uses to access its SMBus controller and the slave devices attached to it.\r
\r
- Copyright (c) 2007, Intel Corporation\r
+ Copyright (c) 2007 - 2009, 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
\r
**/\r
\r
-#ifndef _PEI_SMBUS_PPI_H\r
-#define _PEI_SMBUS_PPI_H\r
+#ifndef _PEI_SMBUS_PPI_H_\r
+#define _PEI_SMBUS_PPI_H_\r
\r
-#include <IndustryStandard/SmBus.h>\r
+#include <PiPei.h>\r
+#include <Ppi/Smbus2.h>\r
\r
#define EFI_PEI_SMBUS_PPI_GUID \\r
{ \\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PEI_SMBUS_PPI_EXECUTE_OPERATION) (\r
+(EFIAPI *EFI_PEI_SMBUS_PPI_EXECUTE_OPERATION)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *This,\r
+ IN EFI_PEI_SMBUS_PPI *This,\r
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,\r
IN EFI_SMBUS_DEVICE_COMMAND Command,\r
IN EFI_SMBUS_OPERATION Operation,\r
IN OUT VOID *Buffer\r
);\r
\r
-typedef struct {\r
- UINT32 VendorSpecificId;\r
- UINT16 SubsystemDeviceId;\r
- UINT16 SubsystemVendorId;\r
- UINT16 Interface;\r
- UINT16 DeviceId;\r
- UINT16 VendorId;\r
- UINT8 VendorRevision;\r
- UINT8 DeviceCapabilities;\r
-} EFI_SMBUS_UDID;\r
-\r
/**\r
CallBack function can be registered in EFI_PEI_SMBUS_PPI_NOTIFY.\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PEI_SMBUS_NOTIFY_FUNCTION) (\r
+(EFIAPI *EFI_PEI_SMBUS_NOTIFY_FUNCTION)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *SmbusPpi,\r
+ IN EFI_PEI_SMBUS_PPI *SmbusPpi,\r
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,\r
IN UINTN Data\r
);\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PEI_SMBUS_PPI_ARP_DEVICE) (\r
+(EFIAPI *EFI_PEI_SMBUS_PPI_ARP_DEVICE)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *This,\r
+ IN EFI_PEI_SMBUS_PPI *This,\r
IN BOOLEAN ArpAll,\r
IN EFI_SMBUS_UDID *SmbusUdid, OPTIONAL\r
IN OUT EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL\r
);\r
\r
-typedef struct {\r
- EFI_SMBUS_DEVICE_ADDRESS SmbusDeviceAddress;\r
- EFI_SMBUS_UDID SmbusDeviceUdid;\r
-} EFI_SMBUS_DEVICE_MAP;\r
-\r
/**\r
The GetArpMap() function returns the mapping of all the SMBus devices\r
that are enumerated by the SMBus host driver.\r
@param SmbusDeviceMap The pointer to the device map as enumerated\r
by the SMBus controller driver.\r
\r
- @retval EFI_SUCCESS The device map was returned correctly in the buffer.\r
+ @retval EFI_SUCCESS The device map was returned correctly in the buffer.\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PEI_SMBUS_PPI_GET_ARP_MAP) (\r
+(EFIAPI *EFI_PEI_SMBUS_PPI_GET_ARP_MAP)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *This,\r
+ IN EFI_PEI_SMBUS_PPI *This,\r
IN OUT UINTN *Length,\r
IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap\r
);\r
@param NotifyFunction The function to call when the bus driver\r
detects the SlaveAddress and Data pair.\r
\r
- @retval EFI_SUCCESS NotifyFunction has been registered.\r
+ @retval EFI_SUCCESS NotifyFunction has been registered.\r
\r
**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_PEI_SMBUS_PPI_NOTIFY) (\r
+(EFIAPI *EFI_PEI_SMBUS_PPI_NOTIFY)(\r
IN EFI_PEI_SERVICES **PeiServices,\r
- IN EFI_PEI_SMBUS_PPI *This,\r
+ IN EFI_PEI_SMBUS_PPI *This,\r
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,\r
IN UINTN Data,\r
- IN EFI_PEI_SMBUS_NOTIFY_FUNCTION NotifyFunction\r
+ IN EFI_PEI_SMBUS_NOTIFY_FUNCTION NotifyFunction\r
);\r
\r
/**\r
- @par Ppi Description:\r
Provides the basic I/O interfaces that a PEIM uses to access\r
its SMBus controller and the slave devices attached to it.\r
-\r
- @param Execute\r
- Executes the SMBus operation to an SMBus slave device.\r
-\r
- @param ArpDevice\r
- Allows an SMBus 2.0 device(s) to be Address Resolution Protocol (ARP)\r
-\r
- @param GetArpMap\r
- Allows a PEIM to retrieve the address that was allocated by the SMBus\r
- host controller during enumeration/ARP.\r
-\r
- @param Notify\r
- Allows a driver to register for a callback to the SMBus host\r
- controller driver when the bus issues a notification to the bus controller PEIM.\r
-\r
**/\r
struct _EFI_PEI_SMBUS_PPI {\r
+ ///\r
+ /// Executes the SMBus operation to an SMBus slave device.\r
+ ///\r
EFI_PEI_SMBUS_PPI_EXECUTE_OPERATION Execute;\r
+ \r
+ ///\r
+ /// Allows an SMBus 2.0 device(s) to be Address Resolution Protocol (ARP)\r
+ ///\r
EFI_PEI_SMBUS_PPI_ARP_DEVICE ArpDevice;\r
+ \r
+ ///\r
+ /// Allows a PEIM to retrieve the address that was allocated by the SMBus\r
+ /// host controller during enumeration/ARP. \r
+ ///\r
EFI_PEI_SMBUS_PPI_GET_ARP_MAP GetArpMap;\r
+ \r
+ ///\r
+ /// Allows a driver to register for a callback to the SMBus host\r
+ /// controller driver when the bus issues a notification to the bus controller PEIM. \r
+ ///\r
EFI_PEI_SMBUS_PPI_NOTIFY Notify;\r
};\r
\r