summaryrefslogtreecommitdiff
path: root/Include/PPI/SmBus2.h
blob: c458fc5e905b17d4012a647bf7f3c06899b0f870 (plain)
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
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2011, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093        **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************

//**********************************************************************
// $Header: /Alaska/BIN/Core/Include/PPI/SmBus2.h 1     5/27/11 5:50p Felixp $
//
// $Revision: 1 $
//
// $Date: 5/27/11 5:50p $
//**********************************************************************
// Revision History
// ----------------
// $Log: /Alaska/BIN/Core/Include/PPI/SmBus2.h $
// 
// 1     5/27/11 5:50p Felixp
// 
// 6     1/13/10 2:13p Felixp
// 
//**********************************************************************
//<AMI_FHDR_START>
//
// Name:  SmBus2.h
//
// Description:	SmBus2 PPI definition
//
//<AMI_FHDR_END>
//**********************************************************************
#ifndef __SMBUS2_PPI__H__
#define __SMBUS2_PPI__H__
#ifdef __cplusplus
extern "C" {
#endif

#include <PEI.h>
#include <SmBus.h>

#define	EFI_PEI_SMBUS2_PPI_GUID	\
	{0x9ca93627, 0xb65b, 0x4324, 0xa2, 0x2, 0xc0, 0xb4, 0x61, 0x76,	0x45, 0x43}

GUID_VARIABLE_DECLARATION(gEfiPeiSmbus2PpiGuid, EFI_PEI_SMBUS2_PPI_GUID);

typedef struct _EFI_PEI_SMBUS2_PPI EFI_PEI_SMBUS2_PPI;

//******************************************************* 
// EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION 
//*******************************************************
typedef EFI_STATUS (EFIAPI *EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION) (
	IN CONST EFI_PEI_SMBUS2_PPI     *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_PEI_SMBUS2_PPI_ARP_DEVICE
//*******************************************************
typedef EFI_STATUS (EFIAPI *EFI_PEI_SMBUS2_PPI_ARP_DEVICE) (
	IN CONST EFI_PEI_SMBUS2_PPI           *This,
	IN BOOLEAN                      ArpAll,
	IN EFI_SMBUS_UDID               *SmbusUdid, OPTIONAL
	IN OUT EFI_SMBUS_DEVICE_ADDRESS *SlaveAddress OPTIONAL
	);

//******************************************************* 
// EFI_PEI_SMBUS2_PPI_GET_ARP_MAP
//*******************************************************
typedef EFI_STATUS (EFIAPI *EFI_PEI_SMBUS2_PPI_GET_ARP_MAP) (
	IN CONST EFI_PEI_SMBUS2_PPI *This,
	IN OUT UINTN                *Length,
	IN OUT EFI_SMBUS_DEVICE_MAP **SmbusDeviceMap
	);

//******************************************************* 
// EFI_SMBUS_NOTIFY2_FUNCTION 
//*******************************************************
typedef
EFI_STATUS
(EFIAPI *EFI_PEI_SMBUS_NOTIFY2_FUNCTION) (
	IN CONST EFI_PEI_SMBUS2_PPI      *This,
	IN EFI_SMBUS_DEVICE_ADDRESS     SlaveAddress,
	IN UINTN                        Data
);

//******************************************************* 
// EFI_PEI_SMBUS_PPI_NOTIFY
//*******************************************************
typedef EFI_STATUS (EFIAPI *EFI_PEI_SMBUS2_PPI_NOTIFY) (
	IN EFI_PEI_SMBUS2_PPI               *This,
	IN EFI_SMBUS_DEVICE_ADDRESS         SlaveAddress,
	IN UINTN                            Data,
	IN EFI_PEI_SMBUS_NOTIFY2_FUNCTION    NotifyFunction
	);

//******************************************************* 
// EFI_PEI_SMBUS2_PPI
//*******************************************************
typedef struct _EFI_PEI_SMBUS2_PPI {
	EFI_PEI_SMBUS2_PPI_EXECUTE_OPERATION    Execute;
	EFI_PEI_SMBUS2_PPI_ARP_DEVICE           ArpDevice;
	EFI_PEI_SMBUS2_PPI_GET_ARP_MAP          GetArpMap;
	EFI_PEI_SMBUS2_PPI_NOTIFY               Notify;
    EFI_GUID                                Identifier;
} EFI_PEI_SMBUS2_PPI;

/****** DO NOT WRITE BELOW THIS LINE *******/
#ifdef __cplusplus
}
#endif
#endif
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2011, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**      5555 Oakbrook Parkway, Suite 200, Norcross, GA 30093        **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************