]> git.proxmox.com Git - mirror_edk2.git/blob - MdePkg/Include/IndustryStandard/SmBus.h
Import Pal.h and Sal.h.
[mirror_edk2.git] / MdePkg / Include / IndustryStandard / SmBus.h
1 /** @file
2 This file declares the SMBus definitions defined in SmBus Specifciation
3 V2.0.
4
5 Copyright (c) 2007, 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 @par Revision Reference:
15 These definitions are defined in System Management Bus (SmBus) Specification V2.0.
16
17 **/
18
19 #ifndef _SMBUS_H_
20 #define _SMBUS_H_
21
22
23 //
24 // UDID of SMBUS device.
25 //
26 typedef struct {
27 UINT32 VendorSpecificId;
28 UINT16 SubsystemDeviceId;
29 UINT16 SubsystemVendorId;
30 UINT16 Interface;
31 UINT16 DeviceId;
32 UINT16 VendorId;
33 UINT8 VendorRevision;
34 UINT8 DeviceCapabilities;
35 } EFI_SMBUS_UDID;
36
37 //
38 // Smbus Device Address, Smbus Device Command, Smbus Operations
39 //
40 typedef struct {
41 UINTN SmbusDeviceAddress : 7;
42 } EFI_SMBUS_DEVICE_ADDRESS;
43
44 typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
45
46 typedef enum _EFI_SMBUS_OPERATION
47 {
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 #endif
63