1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
|
//**********************************************************************//
//**********************************************************************//
//** **//
//** (C)Copyright 1985-2009, American Megatrends, Inc. **//
//** **//
//** All Rights Reserved. **//
//** **//
//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **//
//** **//
//** Phone: (770)-246-8600 **//
//** **//
//**********************************************************************//
//**********************************************************************//
//**********************************************************************//
// $Header: /Alaska/BIN/Core/Include/Protocol/SmBus.h 3 1/16/09 9:51a Felixp $
//
// $Revision: 3 $
//
// $Date: 1/16/09 9:51a $
//*****************************************************************************
// Revision History
// ----------------
// $Log: /Alaska/BIN/Core/Include/Protocol/SmBus.h $
//
// 3 1/16/09 9:51a Felixp
// SM Bus Protocol and PPI headers are updated. Common code moved into
// newly created header file (Include\SmBus.h).
//
// 1 11/07/05 3:40p Sivagarn
// Initial Checkin
//
//*****************************************************************************
//<AMI_FHDR_START>
//----------------------------------------------------------------------------
// Name: SmBus.h
//
// Description: This file contains the protocol definitions for Smbus protocol
//
//----------------------------------------------------------------------------
//<AMI_FHDR_END>
#ifndef __SMBUS_HC_PROTOCOL_H__
#define __SMBUS_HC_PROTOCOL_H__
#include <EFI.h>
#include <SmBus.h>
#ifdef __cplusplus
extern "C" {
#endif
#define EFI_SMBUS_HC_PROTOCOL_GUID \
{0xe49d33ed, 0x513d, 0x4634, 0xb6, 0x98, 0x6f, 0x55, 0xaa, 0x75, 0x1c, 0x1b}
GUID_VARIABLE_DECLARATION(gEfiSmbusProtocolGuid,EFI_SMBUS_HC_PROTOCOL_GUID);
typedef struct _EFI_SMBUS_HC_PROTOCOL EFI_SMBUS_HC_PROTOCOL;
typedef struct _EFI_SMBUS_DATA_STRUC SMBUS_DATA_STRUC;
//*******************************************************
// EFI_SMBUS_NOTIFY_FUNCTION
//*******************************************************
typedef
EFI_STATUS
(EFIAPI *EFI_SMBUS_NOTIFY_FUNCTION) (
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
IN UINTN Data
);
//*******************************************************
// EFI_SMBUS_HC_EXECUTE_OPERATION
//*******************************************************
typedef
EFI_STATUS
(EFIAPI *EFI_SMBUS_HC_EXECUTE_OPERATION) (
IN EFI_SMBUS_HC_PROTOCOL *This,
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
IN EFI_SMBUS_DEVICE_COMMAND Command,
IN EFI_SMBUS_OPERATION Operation,
IN BOOLEAN PecCheck,
IN OUT UINTN *Length,
IN OUT VOID *Buffer
);
//*******************************************************
// EFI_SMBUS_HC_PROTOCOL_ARP_DEVICE
//*******************************************************
typedef
EFI_STATUS
(EFIAPI *EFI_SMBUS_HC_PROTOCOL_ARP_DEVICE) (
IN EFI_SMBUS_HC_PROTOCOL *This,
IN BOOLEAN ArpAll,
IN EFI_SMBUS_UDID *SmbusUdid, OPTIONAL
IN OUT EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL
);
//*******************************************************
// EFI_SMBUS_HC_PROTOCOL_GET_ARP_MAP
//*******************************************************
typedef
EFI_STATUS
(EFIAPI *EFI_SMBUS_HC_PROTOCOL_GET_ARP_MAP) (
IN EFI_SMBUS_HC_PROTOCOL *This,
IN OUT UINTN *Length,
IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap
);
//*******************************************************
// EFI_SMBUS_HC_PROTOCOL_NOTIFY
//*******************************************************
typedef
EFI_STATUS
(EFIAPI *EFI_SMBUS_HC_PROTOCOL_NOTIFY) (
IN EFI_SMBUS_HC_PROTOCOL *This,
IN EFI_SMBUS_DEVICE_ADDRESS SlaveAddress,
IN UINTN Data,
IN EFI_SMBUS_NOTIFY_FUNCTION NotifyFunction
);
//*******************************************************
// EFI_SMBUS_HC_PROTOCOL
//*******************************************************
typedef struct _EFI_SMBUS_HC_PROTOCOL {
EFI_SMBUS_HC_EXECUTE_OPERATION Execute;
EFI_SMBUS_HC_PROTOCOL_ARP_DEVICE ArpDevice;
EFI_SMBUS_HC_PROTOCOL_GET_ARP_MAP GetArpMap;
EFI_SMBUS_HC_PROTOCOL_NOTIFY Notify;
};
#ifdef __cplusplus
}
#endif
#endif // __SMBUS_CTRL_H__
//**********************************************************************//
//**********************************************************************//
//** **//
//** (C)Copyright 1985-2009, American Megatrends, Inc. **//
//** **//
//** All Rights Reserved. **//
//** **//
//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **//
//** **//
//** Phone: (770)-246-8600 **//
//** **//
//**********************************************************************//
//**********************************************************************//
|