aboutsummaryrefslogtreecommitdiff
path: root/src/soc/intel/skylake/finalize.c
diff options
context:
space:
mode:
authorSubrata Banik <subrata.banik@intel.com>2020-09-28 18:43:47 +0530
committerSubrata Banik <subrata.banik@intel.com>2020-10-03 06:58:07 +0000
commit0359d9dde37b7cce3009cfe630713042601ac5d8 (patch)
treed4d177be70a8db07b58159cbda768d12059f2222 /src/soc/intel/skylake/finalize.c
parent3e959d8e2a05a50ca16430dcacfd4794db1e49fc (diff)
soc/intel: Make use of PMC low power program from common block
List of changes: 1. Select PMC_LOW_POWER_MODE_PROGRAM from applicable SoC directory 2. Remove redundant PMC programming from SoC and refer to common code block 3. Remove unused 'reg8' and 'reg32' variable as applicable from SoC function. Change-Id: I18894c49cfc6e88675b5fb71bca0412e5639fb4b Signed-off-by: Subrata Banik <subrata.banik@intel.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/45796 Reviewed-by: Angel Pons <th3fanbus@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Diffstat (limited to 'src/soc/intel/skylake/finalize.c')
-rw-r--r--src/soc/intel/skylake/finalize.c19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/soc/intel/skylake/finalize.c b/src/soc/intel/skylake/finalize.c
index 0294a725b2..ff3218981a 100644
--- a/src/soc/intel/skylake/finalize.c
+++ b/src/soc/intel/skylake/finalize.c
@@ -13,6 +13,7 @@
#include <intelblocks/lpc_lib.h>
#include <intelblocks/p2sb.h>
#include <intelblocks/pcr.h>
+#include <intelblocks/pmclib.h>
#include <intelblocks/tco.h>
#include <intelblocks/thermal.h>
#include <spi-generic.h>
@@ -44,17 +45,13 @@ static void pch_disable_heci(void)
static void pch_finalize_script(struct device *dev)
{
- uint32_t reg32;
- uint8_t *pmcbase;
config_t *config;
- u8 reg8;
tco_lockdown();
/* Display me status before we hide it */
intel_me_status();
- pmcbase = pmc_mmio_regs();
config = config_of(dev);
/*
@@ -73,18 +70,12 @@ static void pch_finalize_script(struct device *dev)
* Disabling ACPI PM timer also switches off TCO
*/
- if (config->PmTimerDisabled) {
- reg8 = read8(pmcbase + PCH_PWRM_ACPI_TMR_CTL);
- reg8 |= (1 << 1);
- write8(pmcbase + PCH_PWRM_ACPI_TMR_CTL, reg8);
- }
+ if (config->PmTimerDisabled)
+ pmc_disable_acpi_timer();
/* Disable XTAL shutdown qualification for low power idle. */
- if (config->s0ix_enable) {
- reg32 = read32(pmcbase + CPPMVRIC);
- reg32 |= XTALSDQDIS;
- write32(pmcbase + CPPMVRIC, reg32);
- }
+ if (config->s0ix_enable)
+ pmc_ignore_xtal_shutdown();
/* we should disable Heci1 based on the devicetree policy */
if (config->HeciEnabled == 0)