coreboot-kgpe-d16/src
Jamie Ryu 02a1b338f8 soc/intel/tigerlake: Disable hybrid storage mode in CSE Lite RO boot
A UPD HybridStorageMode allows a platform to dynamically configure the
PCIe strap configuration required if an Optane device is connected.
The strap configuration is done by HECI commands between FSP and CSE to
override the default PCIe strap value, and the updated strap value is
stored in SPI RW data to be used on the next boot.

CSE Lite supports the strap override when running on CSE RW partition,
while CSE RO partition does not support it because CSE RO is not allowed
to access SPI RW data. The strap override failure on CSE RO causes FSP
not initializing PCH Clkreq and PCIe port mapping and this results NVMe
and Optane initialization failure.

By disabling HybridStorageMode in case of CSE RO boot, NVMe detection is
done by the default PCIe configuration and Optane is detected as a
single NVMe storage device on CSE RO boot in recovery mode. Both NVMe
and Optane devices detection as well as OS installation to these storage
devices are verified on CSE RO boot in recovery mode.

BUG=b:158643194
TEST=boot and verified with tglrvp and volteer in recovery mode
Cq-Depend: chrome-internal:3100721

Signed-off-by: Jamie Ryu <jamie.m.ryu@intel.com>
Change-Id: I5397cfc007069debe3701bf1e38e81bd17a29f0c
Reviewed-on: https://review.coreboot.org/c/coreboot/+/42282
Reviewed-by: Nick Vaccaro <nvaccaro@google.com>
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
2020-07-03 23:56:34 +00:00
..
acpi acpi_device: Replace polarity with active_low in acpi_gpio for GpioIo 2020-07-02 19:12:46 +00:00
arch src/arch/x86: Ensure $(objgenerated) exists before it's used 2020-06-30 22:27:21 +00:00
commonlib cbmem: Remove IDs for TSEG and BERT 2020-06-22 22:57:13 +00:00
console console: Update for vboot before bootblock 2020-06-15 22:07:12 +00:00
cpu ACPI GNVS: Replace uses of smm_get_gnvs() 2020-07-01 05:14:24 +00:00
device Kconfig: Escape variable to accommodate new Kconfig versions 2020-06-19 15:29:04 +00:00
drivers drivers/intel/pmx_mux: Remove redundant declaration 2020-07-03 08:28:20 +00:00
ec ec/google/wilco: Suppress UCSI events in S0ix 2020-06-17 19:46:36 +00:00
include acpi_device: Replace polarity with active_low in acpi_gpio for GpioIo 2020-07-02 19:12:46 +00:00
lib lib/hardwaremain: Drop HAVE_ACPI_RESUME guards 2020-06-18 13:01:08 +00:00
mainboard mb/google/zork: adjust eSPI virtual irq settings 2020-07-03 15:36:30 +00:00
northbridge nb/intel/ironlake: Clean up code style (except raminit) 2020-07-02 19:29:10 +00:00
security lockdown: Add hint for how to check for lockdown support in boot log 2020-06-22 12:27:18 +00:00
soc soc/intel/tigerlake: Disable hybrid storage mode in CSE Lite RO boot 2020-07-03 23:56:34 +00:00
southbridge ACPI GNVS: Replace uses of smm_get_gnvs() 2020-07-01 05:14:24 +00:00
superio superio/winbond/w83977tf: Add suspend related fields 2020-06-16 20:17:26 +00:00
vendorcode ACPI: Drop typedef global_nvs_t 2020-06-30 09:19:10 +00:00
Kconfig Kconfig: Fix warning 2020-07-01 05:15:59 +00:00