/** @file | |
This file declares the SMBus definitions defined in SmBus Specifciation | |
V2.0. | |
Copyright (c) 2007, Intel Corporation | |
All rights reserved. This program and the accompanying materials | |
are licensed and made available under the terms and conditions of the BSD License | |
which accompanies this distribution. The full text of the license may be found at | |
http://opensource.org/licenses/bsd-license.php | |
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
@par Revision Reference: | |
These definitions are defined in System Management Bus (SmBus) Specification V2.0. | |
**/ | |
#ifndef _SMBUS_H_ | |
#define _SMBUS_H_ | |
// | |
// UDID of SMBUS device. | |
// | |
typedef struct { | |
UINT32 VendorSpecificId; | |
UINT16 SubsystemDeviceId; | |
UINT16 SubsystemVendorId; | |
UINT16 Interface; | |
UINT16 DeviceId; | |
UINT16 VendorId; | |
UINT8 VendorRevision; | |
UINT8 DeviceCapabilities; | |
} EFI_SMBUS_UDID; | |
// | |
// Smbus Device Address, Smbus Device Command, Smbus Operations | |
// | |
typedef struct { | |
UINTN SmbusDeviceAddress : 7; | |
} EFI_SMBUS_DEVICE_ADDRESS; | |
typedef enum _EFI_SMBUS_OPERATION | |
{ | |
EfiSmbusQuickRead, | |
EfiSmbusQuickWrite, | |
EfiSmbusReceiveByte, | |
EfiSmbusSendByte, | |
EfiSmbusReadByte, | |
EfiSmbusWriteByte, | |
EfiSmbusReadWord, | |
EfiSmbusWriteWord, | |
EfiSmbusReadBlock, | |
EfiSmbusWriteBlock, | |
EfiSmbusProcessCall, | |
EfiSmbusBWBRProcessCall | |
} EFI_SMBUS_OPERATION; | |
#endif | |