]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/SmBus.h
Add the detailed descriptions for the structure data member in these protocol.
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / SmBus.h
1 /** @file
2 This file declares the SMBus definitions defined in SmBus Specifciation V2.0
3 and defined in PI1.0 specification volume 5.
4
5 Copyright (c) 2007 - 2008, Intel Corporation
6 All rights reserved. This program and the accompanying materials
7 are licensed and made available under the terms and conditions of the BSD License
8 which accompanies this distribution. The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php
10
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13
14 **/
15
16 #ifndef _SMBUS_H_
17 #define _SMBUS_H_
18
19
20 ///
21 /// UDID of SMBUS device.
22 ///
23 typedef struct {
24 UINT32 VendorSpecificId;
25 UINT16 SubsystemDeviceId;
26 UINT16 SubsystemVendorId;
27 UINT16 Interface;
28 UINT16 DeviceId;
29 UINT16 VendorId;
30 UINT8 VendorRevision;
31 UINT8 DeviceCapabilities;
32 } EFI_SMBUS_UDID;
33
34 ///
35 /// Smbus Device Address
36 ///
37 typedef struct {
38 ///
39 /// The SMBUS hardware address to which the SMBUS device is preassigned or allocated.
40 ///
41 UINTN SmbusDeviceAddress : 7;
42 } EFI_SMBUS_DEVICE_ADDRESS;
43
44 ///
45 /// Smbus Operations
46 ///
47 typedef enum _EFI_SMBUS_OPERATION {
48 EfiSmbusQuickRead,
49 EfiSmbusQuickWrite,
50 EfiSmbusReceiveByte,
51 EfiSmbusSendByte,
52 EfiSmbusReadByte,
53 EfiSmbusWriteByte,
54 EfiSmbusReadWord,
55 EfiSmbusWriteWord,
56 EfiSmbusReadBlock,
57 EfiSmbusWriteBlock,
58 EfiSmbusProcessCall,
59 EfiSmbusBWBRProcessCall
60 } EFI_SMBUS_OPERATION;
61
62 ///
63 /// EFI_SMBUS_DEVICE_COMMAND
64 ///
65 typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
66
67 #endif
68