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