• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*++
2 
3 Copyright (c) 2006 - 2007, Intel Corporation. All rights reserved.<BR>
4 This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution.  The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
8 
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
11 
12 Module Name:
13 
14   EfiSmbus.h
15 
16 Abstract:
17 
18 
19 
20 --*/
21 
22 #ifndef _EFI_SMBUS_DEFINITION_H_
23 #define _EFI_SMBUS_DEFINITION_H_
24 
25 //
26 // EFI Smbus Device Address, Smbus Device Command, Smbus Operation
27 //
28 typedef struct {
29   UINTN SmbusDeviceAddress : 7;
30 } EFI_SMBUS_DEVICE_ADDRESS;
31 
32 typedef UINTN EFI_SMBUS_DEVICE_COMMAND;
33 
34 typedef enum _EFI_SMBUS_OPERATION
35 {
36   EfiSmbusQuickRead,
37   EfiSmbusQuickWrite,
38   EfiSmbusReceiveByte,
39   EfiSmbusSendByte,
40   EfiSmbusReadByte,
41   EfiSmbusWriteByte,
42   EfiSmbusReadWord,
43   EfiSmbusWriteWord,
44   EfiSmbusReadBlock,
45   EfiSmbusWriteBlock,
46   EfiSmbusProcessCall,
47   EfiSmbusBWBRProcessCall
48 } EFI_SMBUS_OPERATION;
49 
50 typedef struct {
51   UINT32  VendorSpecificId;
52   UINT16  SubsystemDeviceId;
53   UINT16  SubsystemVendorId;
54   UINT16  Interface;
55   UINT16  DeviceId;
56   UINT16  VendorId;
57   UINT8   VendorRevision;
58   UINT8   DeviceCapabilities;
59 } EFI_SMBUS_UDID;
60 
61 
62 typedef struct {
63   EFI_SMBUS_DEVICE_ADDRESS  SmbusDeviceAddress;
64   EFI_SMBUS_UDID            SmbusDeviceUdid;
65 } EFI_SMBUS_DEVICE_MAP;
66 
67 
68 
69 #endif
70