Shaunak Saha has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/45052 )
Change subject: soc/intel/tigerlake: Add Acoustic features ......................................................................
soc/intel/tigerlake: Add Acoustic features
Expose the following FSP UPD interface into coreboot, which is the following: AcousticNoiseMitigation FastPkgCRampDisable SlowSlewRateFor AcousticNoiseMitigation is the UPD for Acoustic Noise Mitigation. FastPkgCRampDisable UPD's are to disable Fast Slew Rate for Deep Package C States for VR domains. SlowSlewRate UPD's are the Slew Rate configuration for Deep Package C States for VR domains. Slew rates are fast time divided by 2.
BUG=b:153015585 BRANCH=none TEST= Measure the change in noise level by changing the UPD values.
Signed-off-by: Shaunak Saha shaunak.saha@intel.com Change-Id: I1924a3bac8beb16a9d841891696f9a3dea0d425f --- M src/soc/intel/tigerlake/chip.h M src/soc/intel/tigerlake/fsp_params.c 2 files changed, 36 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/52/45052/1
diff --git a/src/soc/intel/tigerlake/chip.h b/src/soc/intel/tigerlake/chip.h index 2da63ed..8d2483e 100644 --- a/src/soc/intel/tigerlake/chip.h +++ b/src/soc/intel/tigerlake/chip.h @@ -145,6 +145,35 @@ /* Wake Enable Bitmap for USB3 ports */ uint16_t usb3_wake_enable_bitmap;
+ /* + * Acoustic Noise Mitigation + * 0 - Disable + * 1 - Enable noise mitigation + */ + uint8_t AcousticNoiseMitigation; + + /* + * Offset 0x054B - Disable Fast Slew Rate for Deep Package + * C States for VR domains. Disable Fast Slew Rate for Deep + * Package C States based on Acoustic Noise Mitigation feature + * enabled. + * 0 - False + * 1 - True + */ + uint8_t FastPkgCRampDisable[5]; + + /* + * Offset 0x0550 - Slew Rate configuration for Deep Package + * C States for VR domains. Slew Rate configuration for Deep + * Package C States for VR domains based on Acoustic Noise + * Mitigation feature enabled. + * 0 - Fast/2 + * 1 - Fast/4 + * 2 - Fast/8 + * 3 - Fast/16 + */ + uint8_t SlowSlewRate[5]; + /* SATA related */ uint8_t SataEnable; uint8_t SataMode; diff --git a/src/soc/intel/tigerlake/fsp_params.c b/src/soc/intel/tigerlake/fsp_params.c index 1601c2c..39baa67 100644 --- a/src/soc/intel/tigerlake/fsp_params.c +++ b/src/soc/intel/tigerlake/fsp_params.c @@ -247,6 +247,13 @@ } }
+ params->AcousticNoiseMitigation = config->AcousticNoiseMitigation; + for (i = 0; i < ARRAY_SIZE(config->SlowSlewRate); i++) + params->SlowSlewRate[i] = config->SlowSlewRate[i]; + + for (i = 0; i < ARRAY_SIZE(config->FastPkgCRampDisable); i++) + params->FastPkgCRampDisable[i] = config->FastPkgCRampDisable[i]; + /* Enable TCPU for processor thermal control */ params->Device4Enable = config->Device4Enable;