diff --git a/src/soc/intel/skylake/chip.h b/src/soc/intel/skylake/chip.h index 7dda76afa5..69b5364198 100644 --- a/src/soc/intel/skylake/chip.h +++ b/src/soc/intel/skylake/chip.h @@ -418,6 +418,35 @@ struct soc_intel_skylake_config { /* Wake Enable Bitmap for USB3 ports */ u8 usb3_wake_enable_bitmap; + + /* + * Acoustic Noise Mitigation + * 0b - Disable + * 1b - Enable noise mitigation + */ + u8 AcousticNoiseMitigation; + + /* + * Disable Fast Package C-state ramping + * Need to set AcousticNoiseMitigation = '1' first + * 0b - Enabled + * 1b - Disabled + */ + u8 FastPkgCRampDisableIa; + u8 FastPkgCRampDisableGt; + u8 FastPkgCRampDisableSa; + + /* + * Adjust the VR slew rates + * Need to set AcousticNoiseMitigation = '1' first + * 000b - Fast/2 + * 001b - Fast/4 + * 010b - Fast/8 + * 011b - Fast/16 + */ + u8 SlowSlewRateForIa; + u8 SlowSlewRateForGt; + u8 SlowSlewRateForSa; }; typedef struct soc_intel_skylake_config config_t; diff --git a/src/soc/intel/skylake/chip_fsp20.c b/src/soc/intel/skylake/chip_fsp20.c index 929aa5be7b..21d895ecf0 100644 --- a/src/soc/intel/skylake/chip_fsp20.c +++ b/src/soc/intel/skylake/chip_fsp20.c @@ -249,6 +249,15 @@ void platform_fsp_silicon_init_params_cb(FSPS_UPD *supd) */ params->SendVrMbxCmd1 = config->SendVrMbxCmd; + /* Acoustic Noise Mitigation */ + params->AcousticNoiseMitigation = config->AcousticNoiseMitigation; + params->SlowSlewRateForIa = config->SlowSlewRateForIa; + params->SlowSlewRateForGt = config->SlowSlewRateForGt; + params->SlowSlewRateForSa = config->SlowSlewRateForSa; + params->FastPkgCRampDisableIa = config->FastPkgCRampDisableIa; + params->FastPkgCRampDisableGt = config->FastPkgCRampDisableGt; + params->FastPkgCRampDisableSa = config->FastPkgCRampDisableSa; + soc_irq_settings(params); }