diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/skylake/chip.c | 9 | ||||
-rw-r--r-- | src/soc/intel/skylake/chip_fsp20.c | 9 |
2 files changed, 16 insertions, 2 deletions
diff --git a/src/soc/intel/skylake/chip.c b/src/soc/intel/skylake/chip.c index 6927831100..92c3addf8a 100644 --- a/src/soc/intel/skylake/chip.c +++ b/src/soc/intel/skylake/chip.c @@ -138,7 +138,14 @@ void soc_silicon_init_params(SILICON_INIT_UPD *params) params->ScsEmmcEnabled = config->ScsEmmcEnabled; params->ScsEmmcHs400Enabled = config->ScsEmmcHs400Enabled; params->ScsSdCardEnabled = config->ScsSdCardEnabled; - params->IshEnable = 0; + + /* Enable ISH if device is on */ + dev = dev_find_slot(0, PCH_DEVFN_ISH); + if (dev) + params->IshEnable = dev->enabled; + else + params->IshEnable = 0; + params->EnableAzalia = config->EnableAzalia; params->IoBufferOwnership = config->IoBufferOwnership; params->DspEnable = config->DspEnable; diff --git a/src/soc/intel/skylake/chip_fsp20.c b/src/soc/intel/skylake/chip_fsp20.c index a2bd16bd53..f51559f2fb 100644 --- a/src/soc/intel/skylake/chip_fsp20.c +++ b/src/soc/intel/skylake/chip_fsp20.c @@ -335,7 +335,14 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd) params->ScsEmmcEnabled = config->ScsEmmcEnabled; params->ScsEmmcHs400Enabled = config->ScsEmmcHs400Enabled; params->ScsSdCardEnabled = config->ScsSdCardEnabled; - params->PchIshEnable = config->IshEnable; + + /* If ISH is enabled, enable ISH elements */ + dev = dev_find_slot(0, PCH_DEVFN_ISH); + if (dev) + params->PchIshEnable = dev->enabled; + else + params->PchIshEnable = 0; + params->PchHdaEnable = config->EnableAzalia; params->PchHdaIoBufferOwnership = config->IoBufferOwnership; params->PchHdaDspEnable = config->DspEnable; |