soc/intel/skylake: Do not let FSP set the subsystem IDs

The subsystem ID registers are read/write-once. Writes by coreboot will
not take effect if FSP sets them.

Note that FSP sets one device ID for the SA devices and another for PCH
devices. coreboot will copy individual vendor and device IDs if
subsystem is not provided.

Change-Id: I9157fb69f2a49dfc08f049da4b39fbf86614ace3
Signed-off-by: Benjamin Doron <benjamin.doron00@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/45006
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Nico Huber <nico.h@gmx.de>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:
Benjamin Doron 2020-10-16 18:07:13 +00:00 committed by Patrick Georgi
parent 33f234e356
commit dc667980f8
1 changed files with 5 additions and 10 deletions

View File

@ -320,16 +320,11 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
*/
params->SpiFlashCfgLockDown = 0;
}
/* only replacing preexisting subsys ID defaults when non-zero */
if (CONFIG_SUBSYSTEM_VENDOR_ID != 0) {
params->DefaultSvid = CONFIG_SUBSYSTEM_VENDOR_ID;
params->PchSubSystemVendorId = CONFIG_SUBSYSTEM_VENDOR_ID;
}
if (CONFIG_SUBSYSTEM_DEVICE_ID != 0) {
params->DefaultSid = CONFIG_SUBSYSTEM_DEVICE_ID;
params->PchSubSystemId = CONFIG_SUBSYSTEM_DEVICE_ID;
}
/* FSP should let coreboot set subsystem IDs, which are read/write-once */
params->DefaultSvid = 0;
params->PchSubSystemVendorId = 0;
params->DefaultSid = 0;
params->PchSubSystemId = 0;
params->PchPmWolEnableOverride = config->WakeConfigWolEnableOverride;
params->PchPmPcieWakeFromDeepSx = config->WakeConfigPcieWakeFromDeepSx;