summaryrefslogtreecommitdiff
path: root/Core/EM/PCI/PciSetup.h
blob: 90d6cb80f2332cc519ee53bcb6f86699f4d8ff74 (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
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2007, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**             6145-F Northbelt Pkwy, Norcross, GA 30071            **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************

//**********************************************************************
// $Header: /Alaska/BIN/Core/Modules/PciBus/PciSetup.h 6     9/10/12 12:54p Yakovlevs $
//
// $Revision: 6 $
//
// $Date: 9/10/12 12:54p $
//**********************************************************************
// Revision History
// ----------------
// $Log: /Alaska/BIN/Core/Modules/PciBus/PciSetup.h $
// 
// 6     9/10/12 12:54p Yakovlevs
// [TAG]  		EIP93341
// [Category]  	Improvement
// [Description]  	Preserve PCI DEV/LNK/SLT control register in S3 resume
// path.
// [Files]  		PciBus.c  PciBus.sd PciBus.uni PciSetup.h PciPort.c
// 
// 5     11/09/11 1:55p Yakovlevs
// [TAG]  		EIP71380
// [Category]  	New Feature
// [Description]  	Core support for CSM opt-out feature
// [Files]  		PciBus.c; PciPort.c; PciBus.sd; PciBus.uni; PciSetup.h;
// PciBusSetup.c; 
// 
// 4     12/08/10 3:22p Yakovlevs
// Removed Setup Option "Selectable DeEmphasis" since it is HwInit Bit.
// 
// 3     3/01/10 6:12p Yakovlevs
// Pci Express V2.1 Support Added.
// 
// 2     3/23/09 4:57p Yakovlevs
// Added generic support for PCI Express Hot-Plug.
// 
// 1     9/25/08 11:35a Yakovlevs
// 
// 1     6/05/08 7:14p Yakovlevs
// 
// 1     6/05/08 7:06p Yakovlevs
// 
// 1     6/05/08 6:46p Yakovlevs
// 
// 1     3/18/07 5:23p Felixp
// 
//**********************************************************************
//<AMI_FHDR_START>
//
// Name:	PciSetup.h
//
// Description:	
//
//<AMI_FHDR_END>
//**********************************************************************
#ifndef __PCI_SETUP__H__
#define __PCI_SETUP__H__
#ifdef __cplusplus
extern "C" {
#endif

#pragma pack(push)
//---------------------------------------------------------------------------------
//Structure Defines PCI Releated data stored in GLOBAL SETUP_DATA NVRAM variable
typedef struct _PCI_SETUP_DATA {
	//General PCI Settings: [] - default
	UINT8   PciLatency;				//[32]\ 64 \ 96 \ 128 \ 160 \ 192 \ 224 \ 248
	UINT8   PciXLatency;			// 32 \[64]\ 96 \ 128 \ 160 \ 192 \ 224 \ 248
	//PCI Express Device Settings: [] - default
	UINT8	RelaxedOrdering; 		//[Disable]\ Enable 
	UINT8	ExtTagField; 			//[Disable]\ Enable 
	UINT8	NoSnoop;				// Disable \[Enable]
	UINT8	MaxPayload;				//[Auto]\ 128 \ 256 \ 512 \ 1024 \ 2048 \ 4096 (in bytes)
	UINT8   MaxReadRequest;			//[Auto]\ 128 \ 256 \ 512 \ 1024 \ 2048 \ 4096 (in bytes)
	//PCI Express Link settings: [] - default
	UINT8   AspmMode; 				//[Disable]\ Auto \ Force L0
	UINT8   ExtendedSynch;			//[Disable]\ Enable 
    //Acpi related questions
    UINT8   S3ResumeVideoRepost;
//new stuff added in PCI BUS 2.2.0
    UINT8   Above4gDecode;          //[Disable]\ Enable 
	//General PCI Settings: [] - default
    UINT8   VgaPallete;             //[Disable]\ Enable 
    UINT8   PerrEnable;             //[Disable]\ Enable 
    UINT8   SerrEnable;             //[Disable]\ Enable 
    //Hotlpug Related Settings visible if PCI_HOTPLUG_SUPPORT == 1 && PCI_EXPRESS_SUPPORT == 1
    UINT8   HotPlug;                // Disable \[Enable]
    UINT8   BusPadd;                // Disable \[1]\ 2 \ 3 \ 4 \ 5
    UINT64  IoPadd;                 // Disable \[ 4K]\ 8K \ 16K \ 32K  
    UINT64  Mmio32Padd;             // Disable \  1M \ 4M \  8M \[16M]\ 32M \ 64M \ 128M  
    UINT64  Mmio32PfPadd;           // Disable \  1M \ 4M \  8M \[16M]\ 32M \ 64M \ 128M  
    UINT64  Mmio64Padd;             //[Disable]\  1M \ 4M \  8M \ 16M \ 32M \ 64M \ 128M \ 256M \ 512M \ 1G
    UINT64  Mmio64PfPadd;           //[Disable]\  1M \ 4M \  8M \ 16M \ 32M \ 64M \ 128M \ 256M \ 512M \ 1G

    UINT8   LnkTrRetry;             //[Disable]\ 2 \ 3 \ 5
    UINT16  LnkTrTimeout;           //[1...1000] (Microseconds uS) 
    UINT8   LnkDisable;             //[Keep ON == 0] / Disable ==1  

    UINT8   S3PciExpressScripts;    //[Disable]\ Enable

//PCI_EXPRESS_GEN2_SUPPORT
    //Gen2 Device Settings
    UINT8   ComplTimeOut;           //[Disable]\ Default \ 50 - 100 us \ 1ms - 10ms \ 16...
    UINT8   AriFwd;                 //[Disable]\ Enable
    UINT8   AtomOpReq;              //[Disable]\ Enable
    UINT8   AtomOpEgressBlk;        //[Disable]\ Enable
    UINT8   IDOReq;                 //[Disable]\ Enable
    UINT8   IDOCompl;               //[Disable]\ Enable
    UINT8   LtrReport;              //[Disable]\ Enable
    UINT8   E2ETlpPrBlk;            //[Disable]\ Enable

    //Gen2 Link Settings
    UINT8   LnkSpeed;               //[Auto]\ 5.0 GHz \ 2.5 GHz
    UINT8   ClockPm;                //[Disable]\ Enable
    UINT8   ComplSos;               //[Disable]\ Enable
    UINT8   HwAutoWidth;            //[Enable]\ Disable    //LNK_CNT_REG #1
    UINT8   HwAutoSpeed;            //[Enable]\ Disable

} PCI_SETUP_DATA;

#pragma pack(pop)

//Function Prototypes
VOID BrdGetPciSetupData(PCI_SETUP_DATA *PciSetupData);

/****** DO NOT WRITE BELOW THIS LINE *******/
#ifdef __cplusplus
}
#endif
#endif
//**********************************************************************
//**********************************************************************
//**                                                                  **
//**        (C)Copyright 1985-2007, American Megatrends, Inc.         **
//**                                                                  **
//**                       All Rights Reserved.                       **
//**                                                                  **
//**             6145-F Northbelt Pkwy, Norcross, GA 30071            **
//**                                                                  **
//**                       Phone: (770)-246-8600                      **
//**                                                                  **
//**********************************************************************
//**********************************************************************