summaryrefslogtreecommitdiff
path: root/src/soc/intel
diff options
context:
space:
mode:
authorRizwan Qureshi <rizwan.qureshi@intel.com>2016-02-24 14:31:40 +0530
committerPatrick Georgi <pgeorgi@google.com>2016-03-12 09:20:59 +0100
commitaf31a998c95f377e65798b8fdae1e303f67de45d (patch)
treec3b1b4079246d6fe939b5b26d88be8deff49a003 /src/soc/intel
parentd2077af1af39f5e27d36a7a8d697dc0d64c1d33f (diff)
soc/intel/skylake: add option to enable VR specific mailbox cmd
Adding an option to enable VR specific mailbox command. When set, an extra VR mailbox command specifically for the MPS IMPV8 VR will be sent. BUG=chrome-os-partner:48511 BRANCH=None TEST=Verified on glados, clean S0ix entry and exit. IMVP8 power is also pretty low Change-Id: Ia5a23cbb1eca8b463eb7c7c279b74635f1d6b9f7 Signed-off-by: Patrick Georgi <pgeorgi@chromium.org> Original-Commit-Id: c90a799b51fe35bf184dca6ffce59c89a60f9917 Original-Change-Id: Iffd3fbcb9a15611eefc942529e6cdafba859fb2e Original-Signed-off-by: Robbie Zhang <robbie.zhang@intel.com> Original-Signed-off-by: Rizwan Qureshi <rizwan.qureshi@intel.com> Original-Reviewed-on: https://chromium-review.googlesource.com/329393 Original-Reviewed-by: Aaron Durbin <adurbin@chromium.org> Reviewed-on: https://review.coreboot.org/13982 Tested-by: build bot (Jenkins) Reviewed-by: Martin Roth <martinroth@google.com>
Diffstat (limited to 'src/soc/intel')
-rw-r--r--src/soc/intel/skylake/chip.c4
-rw-r--r--src/soc/intel/skylake/chip.h11
2 files changed, 13 insertions, 2 deletions
diff --git a/src/soc/intel/skylake/chip.c b/src/soc/intel/skylake/chip.c
index b5bcc65ebe..dbf7785888 100644
--- a/src/soc/intel/skylake/chip.c
+++ b/src/soc/intel/skylake/chip.c
@@ -410,6 +410,7 @@ void soc_silicon_init_params(SILICON_INIT_UPD *params)
params->TcoIrqSelect = config->TcoIrqSelect;
/* TCO Irq enable/disable */
params->TcoIrqEnable = config->TcoIrqEnable;
+ params->SendVrMbxCmd = config->SendVrMbxCmd;
}
void soc_display_silicon_init_params(const SILICON_INIT_UPD *original,
@@ -1011,6 +1012,9 @@ void soc_display_silicon_init_params(const SILICON_INIT_UPD *original,
fsp_display_upd_value("SerialIoI2cVoltage[5]", 1,
original->SerialIoI2cVoltage[5],
params->SerialIoI2cVoltage[5]);
+ fsp_display_upd_value("SendVrMbxCmd", 1,
+ original->SendVrMbxCmd,
+ params->SendVrMbxCmd);
}
static void pci_set_subsystem(device_t dev, unsigned vendor, unsigned device)
diff --git a/src/soc/intel/skylake/chip.h b/src/soc/intel/skylake/chip.h
index 6203916088..e18b45a68a 100644
--- a/src/soc/intel/skylake/chip.h
+++ b/src/soc/intel/skylake/chip.h
@@ -312,8 +312,8 @@ struct soc_intel_skylake_config {
*/
u8 SerialIrqConfigStartFramePulse;
u8 FspSkipMpInit;
-
- /* VrConfig Settings for 5 domains
+ /*
+ * VrConfig Settings for 5 domains
* 0 = System Agent, 1 = IA Core, 2 = Ring,
* 3 = GT unsliced, 4 = GT sliced
*/
@@ -328,6 +328,13 @@ struct soc_intel_skylake_config {
u8 PmTimerDisabled;
/* Intel Speed Shift Technology */
u8 speed_shift_enable;
+ /*
+ * Enable VR specific mailbox command
+ * When set, an extra VR mailbox command specifically
+ * for the MPS IMPV8 VR will be sent.
+ * 0 - Don't Send, 1 - Send
+ */
+ u8 SendVrMbxCmd;
};
typedef struct soc_intel_skylake_config config_t;