coreboot/src/soc/intel
Filip Lewiński 51e99de558 soc/intel/common/block/rtc/rtc.c: control Top Swap via CMOS option
Toggle the RTC BUC control bit for Top Swap bootblock selection based on
the "attempt_slot_b" flag CMOS option, allowing to select which of the
BOOTBLOCK or TOP_SWAP regions to boot from.

This means that after an update, the CMOS option can be set to boot from
the newer TOP_SWAP bootblock. In case of failure, CMOS can be cleared to
revert to the known-good base BOOTBLOCK.

This is part of ongoing implementation of a redundancy feature proposed
on the mailing list:
https://mail.coreboot.org/archives/list/coreboot@coreboot.org/thread/C6JN2PB7K7D67EG7OIKB6BBERZU5YV35/

Switching between identical bootblocks doesn't impact further boot flow,
i.e. selecting which FMAP region to load consecutive stages from.
That is to be enabled in following patches.

So far tested and enabled for the Alder Lake SoC.

TEST=Boot VP6650, setting the attempt_slot_b flag to different values,
observing that it resets/continues booting correctly.

Change-Id: Ib183a1f72ee8585b2c4ad4376344de33ff54cbb9
Signed-off-by: Filip Lewiński <filip.lewinski@3mdeb.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90042
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Sergii Dmytruk <sergii.dmytruk@3mdeb.com>
2025-11-25 16:47:10 +00:00
..
alderlake soc/intel/common/block/rtc/rtc.c: control Top Swap via CMOS option 2025-11-25 16:47:10 +00:00
apollolake soc/intel/*: Select 'DRAM_SUPPORT_DDRx' as appropriate 2025-08-02 01:46:21 +00:00
baytrail tree: Use boolean for s3resume 2025-10-23 13:34:15 +00:00
braswell soc/intel/braswell/acpi: Add missing MMIO window below 4GB 2025-10-17 22:19:06 +00:00
broadwell tree: Use boolean for s3resume 2025-10-23 13:34:15 +00:00
cannonlake soc/intel/*: Select 'DRAM_SUPPORT_DDRx' as appropriate 2025-08-02 01:46:21 +00:00
common soc/intel/common/block/rtc/rtc.c: control Top Swap via CMOS option 2025-11-25 16:47:10 +00:00
denverton_ns soc/intel/*: Select 'DRAM_SUPPORT_DDRx' as appropriate 2025-08-02 01:46:21 +00:00
elkhartlake soc/intel/*: Select 'DRAM_SUPPORT_DDRx' as appropriate 2025-08-02 01:46:21 +00:00
jasperlake soc/intel/*: Select 'DRAM_SUPPORT_DDRx' as appropriate 2025-08-02 01:46:21 +00:00
meteorlake treewide: Fix include guards 2025-11-13 14:58:40 +00:00
pantherlake soc/intel/pantherlake/romstage: Configure VGA mode 12 monochrome buffer 2025-11-19 13:56:41 +00:00
skylake soc/intel/skylake: Allow generating USB ACPI code 2025-08-28 16:22:58 +00:00
snowridge device/dram: Rename 'USE_DDRx' config options 2025-07-25 17:03:02 +00:00
tigerlake soc/intel/*: Select 'DRAM_SUPPORT_DDRx' as appropriate 2025-08-02 01:46:21 +00:00
xeon_sp soc/intel/xeon_sp: Use common smm_relocate 2025-11-11 15:46:47 +00:00
Makefile.mk