soc/intel/cnl: Enable CSE FW sync for CSE LITE SKU

Boards based on google/puff baseboard (hatch variant) use CSE LITE,
which utilizes RO and RW firmware. If the CSE does not switch to the
RW firmware, the HECI1 interface is disabled, and dependent drivers
(like SOF audio firmware) fail to load. Use the same logic as other
platforms utilizing CSE LITE (eg, TGL/JSL) to check if an ME RW
firmware update is available, and if not jump to the onboard RW
firmware.

Test: built/boot Manjaro 21.x on google/wyvern, verify CSE RW firmware
loaded via cbmem console, HECI1 interface is present vis lspci, and
the SOF DSP firmware is correctly loaded via dmesg.

Change-Id: I0ae21adde4a64bbcc5fa4fb144436a0430e92280
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/61909
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
This commit is contained in:
Matt DeVillier 2022-02-13 18:23:37 -06:00 committed by Felix Held
parent 81d3cdeab2
commit 7c2f57a4c7
1 changed files with 11 additions and 1 deletions

View File

@ -130,6 +130,16 @@ void mainboard_romstage_entry(void)
s3wake = pmc_fill_power_state(ps) == ACPI_S3; s3wake = pmc_fill_power_state(ps) == ACPI_S3;
fsp_memory_init(s3wake); fsp_memory_init(s3wake);
pmc_set_disb(); pmc_set_disb();
if (!s3wake) if (!s3wake) {
/*
* cse_fw_sync() must be called after DRAM initialization as
* HMRFPO_ENABLE HECI command (which is used by cse_fw_sync())
* is expected to be executed after DRAM initialization.
*/
if (CONFIG(SOC_INTEL_CSE_LITE_SKU))
cse_fw_sync();
save_dimm_info(); save_dimm_info();
} }
}