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
|
//**********************************************************************
//**********************************************************************
//** **
//** (C)Copyright 1985-2005, American Megatrends, Inc. **
//** **
//** All Rights Reserved. **
//** **
//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **
//** **
//** Phone: (770)-246-8600 **
//** **
//**********************************************************************
//**********************************************************************
//**********************************************************************
// $Header: /Alaska/BIN/Core/Include/Protocol/AmiSio.h 4 4/03/06 5:01p Felixp $Revision: $
//
// $Date: 4/03/06 5:01p $
//**********************************************************************
// Revision History
// ----------------
// $Log:
//
//**********************************************************************
//<AMI_FHDR_START>
//
// Name: AmiSio.h
//
// Description: AMI Sio Protocol Definitions.
//
//<AMI_FHDR_END>
//**********************************************************************
#ifndef __SIO_PROTOCOL_H__
#define __SIO_PROTOCOL_H__
#ifdef __cplusplus
extern "C" {
#endif
#include <EFI.h>
// 51E9B4F9-555D-476c-8BB5-BD18D9A68878
#define EFI_AMI_SIO_PROTOCOL_GUID \
{0x51e9b4f9,0x555d,0x476c,0x8b, 0xb5, 0xbd, 0x18, 0xd9, 0xa6, 0x88, 0x78}
GUID_VARIABLE_DECLARATION(gEfiAmiSioProtocolGuid,EFI_AMI_SIO_PROTOCOL_GUID);
#ifndef GUID_VARIABLE_DEFINITION
#include <AmiDxeLib.h>
typedef struct _AMI_SIO_PROTOCOL AMI_SIO_PROTOCOL;
typedef struct _EFI_EISAID {
UINT32 HID;
UINT32 UID;
} EFI_EISAID;
//This list migt be extended if some devices
//not mention here present in SIO
typedef enum {
dsNone=0,
dsFDC,
dsPS2K, //PS2 Keyboard Controller if KBC on separate from MS Logical Device
dsPS2M, //PS2 Mouse Controller if MS on separate from KBC Logical Device
dsPS2CK,//PS2 Keyboard Controller where KBC and MS on same Logical Device
dsPS2CM,//PS2 Mouse Controller where KBC and MS on same Logical Device
dsUART,
dsLPT,
dsGAME,
dsSB16,
dsMPU401,
dsFmSynth,
dsCIR,
dsGPIO,
dsHwMon,
dsPME,
dsACPI,
} SIO_DEV_TYPE;
typedef EFI_STATUS (*SIO_REGISTER) (
IN AMI_SIO_PROTOCOL *This,
IN BOOLEAN Write,
IN BOOLEAN ExitCfgMode,
IN UINT8 Register,
IN OUT UINT8 *Value
);
typedef EFI_STATUS (*SIO_RESOURCES)(
IN AMI_SIO_PROTOCOL *This,
IN BOOLEAN Set,
IN OUT T_ITEM_LIST **Resources
);
//**********************************************************************
//<AMI_SHDR_START>
//
// Name: AMI_SIO_PROTOCOL
//
// Description: Functions to access the SIO.
//
// Fields: Name Type Description
// ------------------------------------------------------------
//
//<AMI_SHDR_END>
//**********************************************************************
typedef struct _AMI_SIO_PROTOCOL {
SIO_REGISTER Access;
SIO_RESOURCES CurrentRes;
SIO_RESOURCES PossibleRes;
} AMI_SIO_PROTOCOL;
/****** DO NOT WRITE BELOW THIS LINE *******/
#endif // #ifndef GUID_VARIABLE_DEFINITION
#ifdef __cplusplus
}
#endif
#endif
//**********************************************************************
//**********************************************************************
//** **
//** (C)Copyright 1985-2005, American Megatrends, Inc. **
//** **
//** All Rights Reserved. **
//** **
//** 6145-F Northbelt Pkwy, Norcross, GA 30071 **
//** **
//** Phone: (770)-246-8600 **
//** **
//**********************************************************************
//**********************************************************************
|