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
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
|
## SPDX-License-Identifier: GPL-2.0-only
config MISSING_BOARD_RESET
bool
help
Selected by boards that don't provide a do_board_reset()
implementation. This activates a stub that logs the missing
board reset and halts execution.
config ROMSTAGE_ADA
bool
help
Selected by features that use Ada code in romstage.
config RAMSTAGE_ADA
bool
help
Selected by features that use Ada code in ramstage.
config RAMSTAGE_LIBHWBASE
bool
select RAMSTAGE_ADA
help
Selected by features that require `libhwbase` in ramstage.
config ROMSTAGE_LIBHWBASE
bool
select ROMSTAGE_ADA
help
Selected by features that require `libhwbase` in romstage.
config FLATTENED_DEVICE_TREE
bool
help
Selected by features that require to parse and manipulate a flattened
devicetree in ramstage.
config HAVE_SPD_IN_CBFS
bool
help
If enabled, add support for adding spd.hex files in cbfs as spd.bin
and locating it runtime to load SPD.
config DIMM_MAX
int
default 4
help
Total number of memory DIMM slots available on motherboard.
It is multiplication of number of channel to number of DIMMs per
channel
config MAX_SOCKET
int
default 1
config DIMM_SPD_SIZE
int
default 256
help
Total SPD size that will be used for DIMM.
Ex: DDR3 256, DDR4 512.
config SPD_READ_BY_WORD
bool
config SPD_CACHE_IN_FMAP
bool
default n
help
Enables capability to cache DIMM SPDs in a dedicated FMAP region
to speed loading of SPD data. Currently requires board-level
romstage implementation to read/write/utilize cached SPD data.
When the default FMAP is used, will create a region named RW_SPD_CACHE
to store the cached SPD data.
config SPD_CACHE_FMAP_NAME
string
depends on SPD_CACHE_IN_FMAP
default "RW_SPD_CACHE"
help
Name of the FMAP region created in the default FMAP to cache SPD data.
if RAMSTAGE_LIBHWBASE && !ROMSTAGE_LIBHWBASE
config HWBASE_DYNAMIC_MMIO
def_bool y
endif
if ROMSTAGE_LIBHWBASE
config HWBASE_STATIC_MMIO
def_bool y
endif
if RAMSTAGE_LIBHWBASE || ROMSTAGE_LIBHWBASE
config HWBASE_DEFAULT_MMCONF
hex
default ECAM_MMCONF_BASE_ADDRESS
config HWBASE_DIRECT_PCIDEV
def_bool y
endif
config NO_FMAP_CACHE
bool
help
If your platform really doesn't want to use an FMAP cache (e.g. due to
space constraints), you can select this to disable warnings and save
a bit more code.
config ESPI_DEBUG
bool
help
This option enables eSPI library helper functions for displaying debug
information.
config NO_CBFS_MCACHE
bool
help
Disables the CBFS metadata cache. This means that your platform does
not need to provide a CBFS_MCACHE section in memlayout and can save
the associated CAR/SRAM size. In that case every single CBFS file
lookup must re-read the same CBFS directory entries from flash to find
the respective file.
config CBFS_CACHE_ALIGN
int
default 8
help
Sets the alignment of the buffers returned by the cbfs_cache.
config CBFS_PRELOAD
bool
depends on COOP_MULTITASKING
help
When enabled it will be possible to preload CBFS files into the
cbfs_cache. This helps reduce boot time by loading the files
in the background before they are actually required. This feature
depends on the read-only boot_device having a DMA controller to
perform the background transfer.
config DECOMPRESS_OFAST
bool
depends on COMPILER_GCC
default y
help
Compile the decompressing function in -Ofast instead of standard -Os
config PROBE_RAM
def_bool y if VENDOR_EMULATION
help
When enabled it will be possible to detect usable RAM using probe_ram
function.
menu "Boot Logo Configuration"
config BMP_LOGO
bool "Enable logo"
default n
help
Uses the FSP to display the boot logo. This method supports a
BMP file only. The uncompressed size can be up to 1 MB. The logo can
be compressed based on either `BMP_LOGO_COMPRESS_*` configs (default LZMA).
config HAVE_CUSTOM_BMP_LOGO
def_bool n
depends on BMP_LOGO
config HAVE_BMP_LOGO_COMPRESS_LZMA
bool
depends on BMP_LOGO
default y
choice
prompt "BMP Logo compression"
depends on BMP_LOGO
default BMP_LOGO_COMPRESS_LZMA if HAVE_BMP_LOGO_COMPRESS_LZMA
default BMP_LOGO_COMPRESS_LZ4
config BMP_LOGO_COMPRESS_LZMA
bool "Use LZMA compression for BMP logo"
help
This option enables the use of LZMA compression for the BMP logo.
LZMA is a lossless compression algorithm that can significantly reduce
the size of the logo, without sacrificing quality.
If this option is not enabled, the BMP logo will be uncompressed.
config BMP_LOGO_COMPRESS_LZ4
bool "Compress BMP logo using LZ4"
help
This option enables compression of the BMP logo using the LZ4 algorithm.
Although the size reduction is not as efficient as LZMA compression, however,
it can also make the boot process slightly faster compared to the LZMA.
endchoice
config BMP_LOGO_FILE_NAME
string "Logo file"
depends on BMP_LOGO
default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/logo.bmp"
config HAVE_ESOL_SUPPORT_FOR_LOW_BATTERY_INDICATOR
bool
depends on FSP_UGOP_EARLY_SIGN_OF_LIFE || MAINBOARD_HAS_EARLY_LIBGFXINIT
help
Enable low-battery indicator support in eSOL.
This option should be selected if the eSOL feature (using either libgfxinit or FSP uGOP)
supports displaying a low-battery indicator.
Platforms selecting `MAINBOARD_HAS_EARLY_LIBGFXINIT` can default enable this option.
For platforms using FSP uGOP, this option should only be enabled if uGOP has implemented
the necessary low-battery handling. This allows platforms to control low-battery
indicator support based on uGOP readiness.
config PLATFORM_HAS_LOW_BATTERY_INDICATOR
bool "Display low battery indicator"
depends on BMP_LOGO
help
If enabled, this option displays a low battery indicator screen. This screen can be
used to warn the user that the battery is low and that they should plug in the device.
This option requires that the system have a display and that the BMP_LOGO option is
enabled.
if PLATFORM_HAS_LOW_BATTERY_INDICATOR
config PLATFORM_LOW_BATTERY_SHUTDOWN_DELAY_SEC
int
default 5
help
Delay, in seconds, before system shutdown due to low battery.
This delay allows the user to observe the low-battery indicator.
The default value of 5 seconds aligns with standard user experience (UX) practices.
Platforms may override this value based on specific product requirements.
config PLATFORM_HAS_EARLY_LOW_BATTERY_INDICATOR
bool "Display low battery indicator in romstage"
depends on HAVE_ESOL_SUPPORT_FOR_LOW_BATTERY_INDICATOR
help
If enabled, this option displays a low battery indicator during romstage (before memory
is available) in text mode in the firmware and defer the firmware update. This screen
can be used to warn the user that the battery is low and that they should plug in the
device.
config PLATFORM_LOW_BATTERY_INDICATOR_LOGO_PATH
string "Path to low battery logo file"
default "3rdparty/blobs/mainboard/\$(MAINBOARDDIR)/low_battery.bmp"
endif
endmenu
config HAVE_EARLY_POWEROFF_SUPPORT
bool
help
Enable platform-specific early power off support.
This option should be selected if the platform requires special handling
to power off the system before memory initialization. This is often
necessary on Intel platforms, as directly powering off before memory
initialization is typically not supported by the chipset.
Selecting this option indicates that the platform implements the
`platform_do_early_poweroff()` function, which performs the
necessary hardware operations to initiate an early power off sequence.
This might involve configuring hardware registers, sending commands to
power management controllers, or other platform-specific operations.
|