This commit introduces the `HAVE_EARLY_POWEROFF_SUPPORT` Kconfig option and the `platform_do_early_poweroff()` API. The Kconfig option enables platform-specific early power off support, which is often required on Intel platforms. The corresponding API allows platforms to implement the necessary hardware operations for early power off, typically before memory initialization. BUG=b:339673254 TEST=Able to build and boot google/brox. Change-Id: I05b9882e100825a4fb733163a65f820c8c943361 Signed-off-by: Subrata Banik <subratabanik@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/86417 Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
177 lines
4.3 KiB
Text
177 lines
4.3 KiB
Text
## 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.
|
|
|
|
config HAVE_CUSTOM_BMP_LOGO
|
|
def_bool n
|
|
depends on BMP_LOGO
|
|
|
|
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.
|