| /** @file | |
| This file declares the SMBus definitions defined in SmBus Specification V2.0 | |
| and defined in PI1.0 specification volume 5. | |
| Copyright (c) 2007 - 2018, Intel Corporation. All rights reserved.<BR> | |
| SPDX-License-Identifier: BSD-2-Clause-Patent | |
| **/ | |
| #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 | |
| /// | |
| typedef struct { | |
| /// | |
| /// The SMBUS hardware address to which the SMBUS device is preassigned or allocated. | |
| /// | |
| UINTN SmbusDeviceAddress : 7; | |
| } EFI_SMBUS_DEVICE_ADDRESS; | |
| typedef struct { | |
| /// | |
| /// The SMBUS hardware address to which the SMBUS device is preassigned or | |
| /// allocated. Type EFI_SMBUS_DEVICE_ADDRESS is defined in EFI_PEI_SMBUS2_PPI.Execute(). | |
| /// | |
| EFI_SMBUS_DEVICE_ADDRESS SmbusDeviceAddress; | |
| /// | |
| /// The SMBUS Unique Device Identifier (UDID) as defined in EFI_SMBUS_UDID. | |
| /// Type EFI_SMBUS_UDID is defined in EFI_PEI_SMBUS2_PPI.ArpDevice(). | |
| /// | |
| EFI_SMBUS_UDID SmbusDeviceUdid; | |
| } EFI_SMBUS_DEVICE_MAP; | |
| /// | |
| /// Smbus Operations | |
| /// | |
| typedef enum _EFI_SMBUS_OPERATION { | |
| EfiSmbusQuickRead, | |
| EfiSmbusQuickWrite, | |
| EfiSmbusReceiveByte, | |
| EfiSmbusSendByte, | |
| EfiSmbusReadByte, | |
| EfiSmbusWriteByte, | |
| EfiSmbusReadWord, | |
| EfiSmbusWriteWord, | |
| EfiSmbusReadBlock, | |
| EfiSmbusWriteBlock, | |
| EfiSmbusProcessCall, | |
| EfiSmbusBWBRProcessCall | |
| } EFI_SMBUS_OPERATION; | |
| /// | |
| /// EFI_SMBUS_DEVICE_COMMAND | |
| /// | |
| typedef UINTN EFI_SMBUS_DEVICE_COMMAND; | |
| #endif |