coreboot/src/include
Subrata Banik ae0adb7c16 lib: Introduce early power off support Kconfig option
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>
2025-02-15 18:59:11 +00:00
..
acpi acpi/acpigen: generate Create*Field() from name string directly 2024-12-10 02:58:29 +00:00
arch-generic arch/io.h: Add port I/O functions to other architectures 2024-06-06 22:05:14 +00:00
boot drivers/option: Add forms in cbtables 2024-12-18 18:16:51 +00:00
console include/console/system76_ec.h: Remove unused <stddef.h> 2024-09-10 03:12:10 +00:00
cpu cpu/x86/topology: Simplify CPU topology initialization 2024-12-17 17:24:15 +00:00
device soc/intel/common: Add Panther Lake DTT support 2025-01-26 16:57:49 +00:00
efi efi: Set EFIAPI to 32-bit ABI for FSP1_1 2024-09-20 23:25:30 +00:00
mipi drivers/soundwire: Support Realtek ALC721 codec 2024-10-07 20:40:20 +00:00
pc80 drivers/pc80/pc/keyboard.c: Add function to change a command byte bit 2025-01-22 20:45:37 +00:00
smp include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
superio
sys include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
adainit.h Add option to use Ada code in romstage 2022-12-17 20:48:06 +00:00
asan.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
assert.h treewide: Remove 'extern' from functions declaration 2023-05-26 13:45:24 +00:00
b64_decode.h
base3.h
boardid.h
boot_device.h drivers/ipmi to lib: Fix misspellings & capitalization issues 2023-12-13 10:42:30 +00:00
bootblock_common.h decompressor: Add CBFS_VERIFICATION support 2021-04-06 07:49:15 +00:00
bootmem.h include/bootmem.h: Add comment 2024-01-18 15:30:35 +00:00
bootmode.h mb/google,samsung: Drop init_bootmode_straps() 2022-04-09 02:50:01 +00:00
bootsplash.h lib: Refactor bmp_load_logo() implementation 2024-04-06 04:31:50 +00:00
bootstate.h tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
cbfs.h commonlib/bsd: Remove cb_err_t 2022-03-09 02:18:21 +00:00
cbfs_glue.h vboot: Add VBOOT_CBFS_INTEGRATION support 2022-11-08 23:03:49 +00:00
cbmem.h cbmem.h: Change return type of cbmem_get_region 2024-08-29 13:58:21 +00:00
cper.h include/cper.h: Add CPER Memory Error Section definitions 2022-12-09 03:46:33 +00:00
crc_byte.h lib/crc_byte: Parenthesize buffer address in CRC macro 2025-01-23 23:00:53 +00:00
ctype.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
delay.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
dimm_info_util.h arch/x86: Refactor the SMBIOS type 17 write function 2021-11-11 09:10:10 +00:00
dp_aux.h google/trogdor: Add backlight support for Parade ps8640 2021-11-02 08:17:21 +00:00
edid.h include/edid.h: Remove repeated word 2021-01-18 07:37:04 +00:00
elog.h treewide: Remove 'extern' from functions declaration 2023-05-26 13:45:24 +00:00
endian.h
espi.h include/espi.h: Switch to types.h 2022-03-27 15:13:31 +00:00
fallback.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
fit.h treewide: Move device_tree to commonlib 2024-06-22 04:02:04 +00:00
fmap.h
framebuffer_info.h drivers/intel/gma: Fix mismatching types for fb_add_framebuffer_info 2024-09-02 09:33:59 +00:00
fw_config.h lib/fw_config: Make fw_config_is_provisioned() always available 2023-06-17 02:40:57 +00:00
gpio.h soc/intel/common/gpio: Add function to read GPIO TX value 2023-01-25 14:33:06 +00:00
halt.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
identity.h lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
imd.h
imd_private.h include/imd_private.h: Use C99 flexible arrays 2023-07-30 09:58:12 +00:00
input-event-codes.h include/input-event-codes.h: Update to latest HID tree 2024-06-21 16:46:04 +00:00
inttypes.h
kconfig.h
lib.h lib: Add __fls() (Find Last Set) 2021-12-13 02:57:07 +00:00
limits.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
main_decl.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
memlayout.h Allow to build romstage sources inside the bootblock 2023-11-09 13:20:18 +00:00
memory_info.h memory_info: Bump to 64 DIMMs 2023-07-18 15:06:05 +00:00
memrange.h include/memrange.h: Remove trailing semicolon 2022-09-28 16:12:04 +00:00
metadata_hash.h src: Drop "This file is part of the coreboot project" lines 2021-05-10 15:07:33 +00:00
mrc_cache.h drivers/intel/fsp2_0: Introduce MRC cache store after FSP-M/S APIs 2023-09-05 09:36:17 +00:00
mtcl.h drivers/wifi: Add MTCL function to ACPI SSDT 2024-02-06 03:37:19 +00:00
nhlt.h drivers/ipmi to lib: Fix misspellings & capitalization issues 2023-12-13 10:42:30 +00:00
option.h drivers/option: Add CBFS file based option backend 2025-01-22 03:25:40 +00:00
post.h
program_loading.h lib/program_loaders.c: Mark run_ramstage with __noreturn 2022-07-14 23:10:17 +00:00
ramdetect.h
random.h arch/x86: Use 'enum cb_err' 2022-12-25 15:09:16 +00:00
reg_script.h tree: Drop duplicated <device/{path,resource}.h> 2024-04-12 04:24:20 +00:00
region_file.h
reset.h lib: Introduce early power off support Kconfig option 2025-02-15 18:59:11 +00:00
rmodule.h tree: Remove unused <string.h> 2024-05-29 10:34:08 +00:00
romstage_common.h arch/x86: Add a common romstage entry 2022-06-07 12:54:39 +00:00
romstage_handoff.h
rtc.h lib/rtc: Add sanity check for time and date 2021-05-30 20:24:13 +00:00
rules.h lib: Remove heap from rmodules 2024-02-26 10:10:07 +00:00
sar.h drivers/wifi: Update Drive Strength BRI Rsp Table revision 2024-12-17 17:27:54 +00:00
sdram_mode.h
smbios.h smbios: Add slot types 2024-10-16 15:27:31 +00:00
smmstore.h smmstorev2: Load the communication buffer at SMM setup 2024-04-05 07:10:17 +00:00
spd.h include/spd.h: Add SPD_MEMORY_TYPE_LPDDR3_INTEL into spd_memory_type 2024-05-09 11:24:40 +00:00
spd_bin.h include/spd_bin.h: Add SPD IO layer 2024-11-09 10:19:38 +00:00
spd_cache.h src/lib: Add Kconfig option for SPD cache in FMAP 2020-12-14 08:23:41 +00:00
spi-generic.h drivers/spi: add Numonyx and Micron names to STMicro case 2024-10-09 18:09:42 +00:00
spi_bitbang.h
spi_flash.h drivers/spi: add RPMC support 2024-12-03 17:40:39 +00:00
spi_sdcard.h
stage_cache.h stage_cache: Add resume_from_stage_cache() 2021-01-29 10:53:33 +00:00
stdarg.h tree: Remove unused <stdarg.h> 2024-05-28 03:22:34 +00:00
stdbool.h include/stdbool: Don't unconditionally typedef bool 2024-09-25 01:05:32 +00:00
stddef.h stddef.h: Introduce nullptr constant 2024-10-03 02:05:44 +00:00
stdint.h
stdio.h tree: Use <stdio.h> for snprintf 2024-05-29 10:33:54 +00:00
stdlib.h treewide: Move stdlib.h to commonlib 2024-03-15 10:09:43 +00:00
string.h commonlib/bsd: Add strlen() and strnlen() functions 2024-08-14 03:09:03 +00:00
swab.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
symbols.h arch/x86: Add breakpoint to stack canary 2024-12-10 08:47:52 +00:00
thread.h rules.h: Use more consistent naming 2022-05-16 21:52:22 +00:00
timer.h timer: Change timer util functions to 64-bit 2022-09-14 11:55:39 +00:00
timestamp.h include: Add 'IWYU pragma: export' comment 2024-04-15 05:30:24 +00:00
types.h src/include: Introduce a new BIT_FLAG_32(x) macro 2024-09-04 18:31:25 +00:00
uuid.h
ux_locales.h lib: Add low battery UX locale message 2025-02-15 18:58:48 +00:00
vbe.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
version.h lib/version: Move board identification strings 2023-04-22 16:20:49 +00:00
watchdog.h include: Add SPDX-License-Identifiers to files missing them 2022-08-01 13:59:11 +00:00
wrdd.h
xxhash.h lib/xxhash.c: Add new hash functions 2022-09-07 22:24:51 +00:00