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
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
|
TOKEN
Name = "UsbRecov_SUPPORT"
Value = "1"
Help = "Main switch to enable UsbRecovery support in Project"
TokenType = Boolean
TargetEQU = Yes
TargetMAK = Yes
Master = Yes
End
TOKEN
Name = "PEI_UHCI_SUPPORT"
Value = "1"
Help = "Main switch to enable UHCI Controller support for USB recovery"
TokenType = Boolean
TargetEQU = Yes
TargetMAK = Yes
TargetH = Yes
End
TOKEN
Name = "PEI_OHCI_SUPPORT"
Value = "0"
Help = "Main switch to enable OhciPei support in Project"
TokenType = Boolean
TargetEQU = Yes
TargetMAK = Yes
TargetH = Yes
End
TOKEN
Name = "PEI_EHCI_SUPPORT"
Value = "0"
Help = "Main switch to enable EhciPei support in Project"
TokenType = Boolean
TargetEQU = Yes
TargetMAK = Yes
TargetH = Yes
End
TOKEN
Name = "PEI_XHCI_SUPPORT"
Value = "0"
Help = "Main switch to enable XhciPei support in Project"
TokenType = Boolean
TargetEQU = Yes
TargetMAK = Yes
TargetH = Yes
End
TOKEN
Name = "PEI_UHCI_IOBASE"
Value = "0x4000"
Help = "IO Base Address for UHCI Controller during PEI phase"
TokenType = Integer
TargetH = Yes
End
TOKEN
Name = "PEI_UHCI_PCI_DEVICES"
Value = "{0x1D0000, 0x1D0100, 0x1D0200, 0x1D0300, 0x1A0000, 0x1A0100}"
Help = "List of supported UHCI controllers in the following format: {devfunc1, devfunc2,...,devfuncN}\devfunc represents the location of UHCI controller on PCI bus: dev = Bus << 24 + Dev << 16 + Func << 8. Value followed by dev is the PCI device interface, for UHCI it must be 0.\Note: number of entries {devfunc} must not be less than a number of supported UHCI controllers specified in USB_UHCI token."
TokenType = Expression
TargetH = Yes
Token = "PEI_UHCI_SUPPORT" "=" "1"
End
TOKEN
Name = "PEI_UHCI_PCI_DEVICES"
Value = "{0}"
Help = "Default value if not using UHCI controller"
TokenType = Expression
TargetH = Yes
Token = "PEI_UHCI_SUPPORT" "=" "0"
End
TOKEN
Name = "PEI_EHCI_PCI_BDFS"
Value = "{0x1A0700, 0x1D0700}"
Help = "List of supported EHCI controllers in the following format: {devfunc1, devfunc2,...,devfuncN}\devfunc represents the location of EHCI controller on PCI bus: dev = Bus << 24 + Dev << 16 + Func << 8. Value followed by dev is the PCI device interface, for EHCI it must be 0.\Note: number of entries {devfunc} must not be less than a number of supported EHCI controllers specified in PEI_NUM_EHCI token."
TokenType = Expression
TargetH = Yes
End
TOKEN
Name = "PEI_EHCI_MEM_BASE_ADDRESSES"
Value = "{0xDFFFF000, 0xDFFFFC00}"
Help = "List of base addresses for the respective EHCI controllers specified by PEI_EHCI_PCI_BDFS"
TokenType = Expression
TargetH = Yes
End
TOKEN
Name = "PEI_OHCI_IOBASE"
Value = "0xFC087000"
Help = "Memory Mapped IO Base Address for first Recovery module OHCI Controller during PEI phase"
TokenType = Integer
TargetH = Yes
End
TOKEN
Name = "PEI_XHCI_MMIOBASE"
Value = "0xFE400000"
Help = "MMIO Base Address for first XHCI Controller during PEI phase"
TokenType = Integer
TargetH = Yes
End
TOKEN
Name = "PEI_XHCI_CONTROLLER_PCI_ADDRESS"
Value = "{0x1, 0x0, 0x0},"
Help = "Default value if XHCI controllers are not supported"
Token = "PEI_XHCI_SUPPORT" "=" "1"
TokenType = Expression
TargetH = Yes
End
TOKEN
Name = "PEI_XHCI_CONTROLLER_PCI_REGISTER_VALUES"
Value = "{0,0x1c,0,0x19,8,1,0},{0,0x1c,0,0x1a,8,1,0},{0,0x1c,0,0x20,16,0xfe40,0},{0,0x1c,0,0x22,16,0xfe40,0},{0,0x1c,0,4,8,6,0},"
Help = "Enable PCIe slot by programming bridge with the secondary/subordinate bus number and memory window.\Information format (AccessWidth is decimal), with a comma at the end:\ {Bus, Device, Function, Register, AccessWidth, BitsToSet, BitsToClear},"
Token = "PEI_XHCI_SUPPORT" "=" "1"
TokenType = Expression
TargetH = Yes
End
TOKEN
Name = "FORCE_RECOVERY"
Value = "0"
Help = "Force recovery execution by forcing BootMode = BOOT_IN_RECOVERY_MODE in SbPei.c"
TokenType = Boolean
TargetH = Yes
End
ELINK
Name = "USBR_OHCI_CONTROLLER_PCI_ADDRESS"
Help = "Specifies the location of supported OHCI controllers on the PCI bus. Use the following format with hexadecimal values, with a comma at the end: \ {bus, device, function},"
InvokeOrder = ReplaceParent
End
ELINK
Name = "{0x0, 0x0, 0x0},"
Parent = "USBR_OHCI_CONTROLLER_PCI_ADDRESS"
InvokeOrder = AfterParent
Help = "Default value if OHCI controllers are not supported"
Token = "PEI_OHCI_SUPPORT" "=" "0"
End
ELINK
Name = "USBR_OHCI_CONTROLLER_PCI_REGISTER_VALUE"
Help = "Specifies the PCI register values to be programmed for each of the supported OHCI controllers specified by OHCI_CONTROLLER_PCI_ADDRESS. Use the following format with hexadecimal values (AccessWidth is decimal), with a comma at the end:\ {AccessWidth, Register, BitsToSet, BitsToClear},"
InvokeOrder = ReplaceParent
End
ELINK
Name = "{ 0, 0, 0, 0 },"
Parent = "USBR_OHCI_CONTROLLER_PCI_REGISTER_VALUE"
InvokeOrder = AfterParent
Help = "Default value if OHCI controllers are not supported"
Token = "PEI_OHCI_SUPPORT" "=" "0"
End
ELINK
Name = "{ 32, 0x4, 0x6, 0x0 },"
Parent = "USBR_OHCI_CONTROLLER_PCI_REGISTER_VALUE"
Help = "Enable bus mastering and MMIO space (this register is typically programmed for all chipsets. Priority is set to a large number to ensure it gets updated last.)"
InvokeOrder = AfterParent
Priority = 255
Token = "PEI_OHCI_SUPPORT" "=" "1"
End
PATH
Name = "UsbRecovery_DIR"
End
PATH
Name = "UHCIPEIUSB"
Path = "$(UsbRecovery_DIR)\UhciPeiUsb"
End
PATH
Name = "UhcipeiUsb_DIR"
Path = "$(UsbRecovery_DIR)\UhciPeiUsb"
End
PATH
Name = "OHCIPEI"
Path = "$(UsbRecovery_DIR)\OhciPei"
End
PATH
Name = "OhciPei_DIR"
Path = "$(UsbRecovery_DIR)\OhciPei"
End
PATH
Name = "EHCIPEI_DIR"
Path = "$(UsbRecovery_DIR)\EhciPei"
End
PATH
Name = "XHCIPEI_DIR"
Path = "$(UsbRecovery_DIR)\XhciPei"
End
PATH
Name = "UhcPeimSrc_DIR"
Path = "$(UsbRecovery_DIR)\UhcPeimSrc"
End
PATH
Name = "UsbPeimSrc_DIR"
Path = "$(UsbRecovery_DIR)\UsbPeimSrc"
End
PATH
Name = "UsbBotPeimSrc_DIR"
Path = "$(UsbRecovery_DIR)\UsbBotPeimSrc"
Help = "UsbBotPeimSrc file source directory"
End
MODULE
Help = "Includes UsbRecov.mak to Project"
File = "UsbRecov.mak"
End
ELINK
Name = "$(BUILD_DIR)\UsbBotPeim.ffs"
Parent = "FV_BB"
InvokeOrder = AfterParent
Token = "UsbRecov_SUPPORT" "=" "1"
End
|