diff options
Diffstat (limited to 'src/soc')
-rw-r--r-- | src/soc/intel/apollolake/chip.c | 1 | ||||
-rw-r--r-- | src/soc/intel/apollolake/chip.h | 10 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c index e7a8168c94..bd40595ea3 100644 --- a/src/soc/intel/apollolake/chip.c +++ b/src/soc/intel/apollolake/chip.c @@ -736,6 +736,7 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *silupd) /* SATA config */ if (is_devfn_enabled(PCH_DEVFN_SATA)) { silconfig->SataSalpSupport = !(cfg->DisableSataSalpSupport); + silconfig->SpeedLimit = cfg->sata_speed; memcpy(silconfig->SataPortsEnable, cfg->SataPortsEnable, sizeof(silconfig->SataPortsEnable)); } diff --git a/src/soc/intel/apollolake/chip.h b/src/soc/intel/apollolake/chip.h index a92d98218c..3951880610 100644 --- a/src/soc/intel/apollolake/chip.h +++ b/src/soc/intel/apollolake/chip.h @@ -25,6 +25,13 @@ enum pnp_settings { PNP_PERF_POWER, }; +enum sata_speed_limit { + SATA_DEFAULT = 0, + SATA_GEN1, + SATA_GEN2, + SATA_GEN3 +}; + struct soc_intel_apollolake_config { /* Common structure containing soc config data required by common code*/ @@ -215,6 +222,9 @@ struct soc_intel_apollolake_config { /* Sata Power Optimisation */ uint8_t SataPwrOptimizeDisable; + + /* SATA speed limit */ + enum sata_speed_limit sata_speed; }; typedef struct soc_intel_apollolake_config config_t; |