diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/skylake/chip.c | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/src/soc/intel/skylake/chip.c b/src/soc/intel/skylake/chip.c index 8bd62b4d13..2c498838b5 100644 --- a/src/soc/intel/skylake/chip.c +++ b/src/soc/intel/skylake/chip.c @@ -26,6 +26,7 @@ #include <fsp_util.h> #include <soc/pci_devs.h> #include <soc/ramstage.h> +#include <string.h> static void pci_domain_set_resources(device_t dev) { @@ -69,18 +70,15 @@ struct chip_operations soc_intel_skylake_ops = { /* UPD parameters to be initialized before SiliconInit */ void soc_silicon_init_params(SILICON_INIT_UPD *params) { - const struct device *dev; - const struct soc_intel_skylake_config *config; - int i; + const struct device *dev = dev_find_slot(0, PCH_DEVFN_LPC); + const struct soc_intel_skylake_config *config = dev->chip_info; - /* Set the parameters for SiliconInit */ - dev = dev_find_slot(0, PCI_DEVFN(PCH_DEV_SLOT_LPC, 0)); - if (!dev || !dev->chip_info) - return; - config = dev->chip_info; - - for (i = 0; i < PchSerialIoIndexMax; i++) - params->SerialIoDevMode[i] = config->SerialIoDevMode[i]; + memcpy(params->SerialIoDevMode, config->SerialIoDevMode, + sizeof(params->SerialIoDevMode)); + memcpy(params->PortUsb20Enable, config->PortUsb20Enable, + sizeof(params->PortUsb20Enable)); + memcpy(params->PortUsb30Enable, config->PortUsb30Enable, + sizeof(params->PortUsb30Enable)); params->SataSalpSupport = config->SataSalpSupport; params->SataPortsEnable[0] = config->SataPortsEnable[0]; |