summaryrefslogtreecommitdiff
path: root/Include/Protocol/AmiSio.h
blob: f807300a118c78b2a82e56a113754d22df23f2d5 (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
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (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                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************