soc/intel/skylake: Add ability to set root port ASPM

The default setting of the root port ASPM configuration can be
overridden from the device tree by using a non zero value.

BUG=N/A
TEST=tested on facebook monolith

Change-Id: I85c545d5eacb10f43b94228f1caf1163028645e0
Signed-off-by: Wim Vervoorn <wvervoorn@eltan.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/41171
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Frans Hendriks <fhendriks@eltan.com>
This commit is contained in:
Wim Vervoorn 2020-05-07 13:16:32 +02:00 committed by Patrick Georgi
parent 79412ed364
commit 5819eab5a6
2 changed files with 14 additions and 1 deletions

View File

@ -182,8 +182,11 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd)
sizeof(params->PcieRpLtrEnable)); sizeof(params->PcieRpLtrEnable));
memcpy(params->PcieRpHotPlug, config->PcieRpHotPlug, memcpy(params->PcieRpHotPlug, config->PcieRpHotPlug,
sizeof(params->PcieRpHotPlug)); sizeof(params->PcieRpHotPlug));
for (i = 0; i < CONFIG_MAX_ROOT_PORTS; i++) for (i = 0; i < CONFIG_MAX_ROOT_PORTS; i++) {
params->PcieRpMaxPayload[i] = config->PcieRpMaxPayload[i]; params->PcieRpMaxPayload[i] = config->PcieRpMaxPayload[i];
if (config->PcieRpAspm[i])
params->PcieRpAspm[i] = config->PcieRpAspm[i] - 1;
}
/* /*
* PcieRpClkSrcNumber UPD is set to clock source number(0-6) for * PcieRpClkSrcNumber UPD is set to clock source number(0-6) for

View File

@ -289,6 +289,16 @@ struct soc_intel_skylake_config {
RpMaxPayload_256, RpMaxPayload_256,
} PcieRpMaxPayload[CONFIG_MAX_ROOT_PORTS]; } PcieRpMaxPayload[CONFIG_MAX_ROOT_PORTS];
/* PCIE RP ASPM, ASPM support for the root port */
enum {
AspmDefault,
AspmDisabled,
AspmL0s,
AspmL1,
AspmL0sL1,
AspmAutoConfig,
} PcieRpAspm[CONFIG_MAX_ROOT_PORTS];
/* USB related */ /* USB related */
struct usb2_port_config usb2_ports[16]; struct usb2_port_config usb2_ports[16];
struct usb3_port_config usb3_ports[10]; struct usb3_port_config usb3_ports[10];