coreboot-kgpe-d16/src
Sridhar Siricilla f87ff33a89 soc/intel/common/block/cse: Add boot partition related APIs
In CSE Firmware Custom SKU, CSE region is logically divided into
2 boot partitions. These boot partitions are represented by BP1(RO),
BP2(RW). With CSE Firmware Custom SKU, CSE can boot from either
RO(BP1) or RW(BP2).
The CSE Firmware Custom SKU layout appears as below:
    -------------    --------------------    ---------------------
    |CSE REGION | => | RO |  RW  | DATA | => | BP1 | BP2  | DATA |
    -------------    --------------------    ---------------------

In order to support CSE FW update to RW region, below APIs help coreboot
to get info about the boot partitions, and allows coreboot to set CSE
to boot from required boot partition (either RO(BP1) or RW(BP2)).

GET_BOOT_PARTITION_INFO - Provides info on available partitions in the CSE
region. The API provides info on boot partitions like start/end offsets
of a partition within CSE region, and their version and partition status.

SET_BOOT_PARTITION_INFO - Sets CSE's next boot partition to boot from.
With the HECI API, firmware can notify CSE to boot from RO(BP1) or RW(BP2)
on next boot.

As system having CSE Firmware Custom SKU, boots from RO(BP1) after G3,
so coreboot sets CSE to boot from RW(BP2) in normal mode and further,
coreboot ensure CSE to boot from whichever is selected boot partition
if system is in recovery mode.

BUG=b:145809764
TEST=Verified on hatch

Change-Id: Iaa62409c0616d5913d21374a8a6804f82258eb4f
Signed-off-by: Sridhar Siricilla <sridhar.siricilla@intel.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/35402
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Furquan Shaikh <furquan@google.com>
2020-05-04 09:47:29 +00:00
..
acpi acpi: Update sata files to be more aligned with rest of acpi files 2020-05-02 20:41:39 +00:00
arch acpi: Reorganize ACPI configs 2020-05-02 20:41:21 +00:00
commonlib rules.h: Rename ENV_VERSTAGE to ENV_SEPARATE_VERSTAGE 2020-04-23 01:21:56 +00:00
console drivers/pc80/rtc: Drop CMOS_POST_EXTRA option 2020-04-20 06:13:39 +00:00
cpu acpi: Move ACPI table support out of arch/x86 (3/5) 2020-05-02 18:45:16 +00:00
device acpi: Move ACPI table support out of arch/x86 (3/5) 2020-05-02 18:45:16 +00:00
drivers acpi: Move ACPI table support out of arch/x86 (3/5) 2020-05-02 18:45:16 +00:00
ec treewide: Drop ACPI_VIDEO_DEVICE macro 2020-05-04 09:41:20 +00:00
include acpi: Update sata files to be more aligned with rest of acpi files 2020-05-02 20:41:39 +00:00
lib acpi: Move ACPI table support out of arch/x86 (3/5) 2020-05-02 18:45:16 +00:00
mainboard mb/google/dedede: Read DRAM part number from CBI 2020-05-04 09:44:42 +00:00
northbridge nb/intel/i945/memmap: Convert to 96 characters line length 2020-05-04 09:40:56 +00:00
security security/vboot: Limit vboot verification code access to only verstage 2020-05-04 09:46:58 +00:00
soc soc/intel/common/block/cse: Add boot partition related APIs 2020-05-04 09:47:29 +00:00
southbridge sb/intel/i82371eb: Move wakeup code to romstage 2020-05-04 09:39:06 +00:00
superio acpi: Move ACPI table support out of arch/x86 (3/5) 2020-05-02 18:45:16 +00:00
vendorcode acpi: Move ACPI table support out of arch/x86 (3/5) 2020-05-02 18:45:16 +00:00
Kconfig acpi: Reorganize ACPI configs 2020-05-02 20:41:21 +00:00