soc/intel/skylake: add acoustic noise mitigation params for FSP 1.1

Adapted from Chromium commit d6655eb
[Skylake: create UPD Interface for acoustic noise tuning]

Add FSP 1.1 params needed for acoustic mitigation on google/caroline
(to be upstreamed in a subsequent commit).

TEST: build/boot google/caroline

Change-Id: Ifb36ecef8c1735c63a5322d952929e9c34cddfb9
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/22524
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@users.sourceforge.net>
Reviewed-by: Stefan Reinauer <stefan.reinauer@coreboot.org>
This commit is contained in:
Matt DeVillier 2017-09-22 00:05:28 -05:00 committed by Martin Roth
parent a8380fcfd8
commit 87f67bc699
3 changed files with 48 additions and 3 deletions

View File

@ -196,6 +196,13 @@ void soc_silicon_init_params(SILICON_INIT_UPD *params)
params->SendVrMbxCmd = config->SendVrMbxCmd; params->SendVrMbxCmd = config->SendVrMbxCmd;
/* Acoustic Noise Mitigation */
params->AcousticNoiseMitigation = config->AcousticNoiseMitigation;
params->SlowSlewRateForIa = config->SlowSlewRateForIa;
params->SlowSlewRateForGt = config->SlowSlewRateForGt;
params->SlowSlewRateForSa = config->SlowSlewRateForSa;
params->FastPkgCRampDisable = config->FastPkgCRampDisable;
soc_irq_settings(params); soc_irq_settings(params);
} }
@ -801,6 +808,21 @@ void soc_display_silicon_init_params(const SILICON_INIT_UPD *original,
fsp_display_upd_value("SendVrMbxCmd", 1, fsp_display_upd_value("SendVrMbxCmd", 1,
original->SendVrMbxCmd, original->SendVrMbxCmd,
params->SendVrMbxCmd); params->SendVrMbxCmd);
fsp_display_upd_value("AcousticNoiseMitigation", 1,
original->AcousticNoiseMitigation,
params->AcousticNoiseMitigation);
fsp_display_upd_value("SlowSlewRateForIa", 1,
original->SlowSlewRateForIa,
params->SlowSlewRateForIa);
fsp_display_upd_value("SlowSlewRateForGt", 1,
original->SlowSlewRateForGt,
params->SlowSlewRateForGt);
fsp_display_upd_value("SlowSlewRateForSa", 1,
original->SlowSlewRateForSa,
params->SlowSlewRateForSa);
fsp_display_upd_value("FastPkgCRampDisable", 1,
original->FastPkgCRampDisable,
params->FastPkgCRampDisable);
} }
static void pci_set_subsystem(device_t dev, unsigned int vendor, static void pci_set_subsystem(device_t dev, unsigned int vendor,

View File

@ -485,6 +485,9 @@ struct soc_intel_skylake_config {
* 0b - Enabled * 0b - Enabled
* 1b - Disabled * 1b - Disabled
*/ */
/* FSP 1.1 */
u8 FastPkgCRampDisable;
/* FSP 2.0 */
u8 FastPkgCRampDisableIa; u8 FastPkgCRampDisableIa;
u8 FastPkgCRampDisableGt; u8 FastPkgCRampDisableGt;
u8 FastPkgCRampDisableSa; u8 FastPkgCRampDisableSa;

View File

@ -1,6 +1,6 @@
/** @file /** @file
Copyright (c) 2016, Intel Corporation. All rights reserved.<BR> Copyright (c) 2017, Intel Corporation. All rights reserved.<BR>
Redistribution and use in source and binary forms, with or without modification, Redistribution and use in source and binary forms, with or without modification,
are permitted provided that the following conditions are met: are permitted provided that the following conditions are met:
@ -950,14 +950,34 @@ typedef struct {
UINT8 Early8254ClockGatingEnable; UINT8 Early8254ClockGatingEnable;
/** Offset 0x03E5 - Enable VR specific mailbox command /** Offset 0x03E5 - Enable VR specific mailbox command
When set, an extra VR mailbox command specifically for the MPS IMPV8 VR will be sent. This for FSP only. 0 - Don't Send, 1 - Send VR specific mailbox commands, 000b: no VR specific command sent, 001b: A VR mailbox command specifically for the MPS IMPV8 VR will be sent, 010b: VR specific command sent for PS4 exit issue, 011b: VR specific command sent for both MPS IMPV8 & PS4 exit issue.
$EN_DIS $EN_DIS
**/ **/
UINT8 SendVrMbxCmd; UINT8 SendVrMbxCmd;
/** Offset 0x03E6 /** Offset 0x03E6
**/ **/
UINT8 ReservedSiliconInitUpd[20]; UINT8 AcousticNoiseMitigation;
/** Offset 0x03E7
**/
UINT8 SlowSlewRateForIa;
/** Offset 0x03E8
**/
UINT8 SlowSlewRateForGt;
/** Offset 0x03E9
**/
UINT8 SlowSlewRateForSa;
/** Offset 0x03EA
**/
UINT8 FastPkgCRampDisable;
/** Offset 0x03EB
**/
UINT8 ReservedSiliconInitUpd[15];
} SILICON_INIT_UPD; } SILICON_INIT_UPD;
#define FSP_UPD_SIGNATURE 0x244450554C4B5324 /* '$SKLUPD$' */ #define FSP_UPD_SIGNATURE 0x244450554C4B5324 /* '$SKLUPD$' */