summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niewöhner <foss@mniewoehner.de>2021-09-27 18:39:41 +0200
committerMichael Niewöhner <foss@mniewoehner.de>2021-10-17 13:57:30 +0000
commit01b3c40bfef5f5789a8521da766be8792eeb06c2 (patch)
treecc2ed65d163a382945dda45b091bab0d3e68f799
parent820b9c4676ba56da56ed04164335c5dba9d3dcbe (diff)
downloadcoreboot-01b3c40bfef5f5789a8521da766be8792eeb06c2.tar.gz
coreboot-01b3c40bfef5f5789a8521da766be8792eeb06c2.tar.bz2
coreboot-01b3c40bfef5f5789a8521da766be8792eeb06c2.zip
soc/intel: move disabling of PM Timer to SoC PMC code
Move disabling of PM Timer to SoC PMC code. The original reason for placing that in `finalize` [1] was FSP hanging due to use of the PM timer without enabling timer emulation first in coreboot, which was added later [2]. [1] commit 6c1bf27dae (intel/skylake: disable ACPI PM Timer to enable XTAL OSC shutdown) [2] commit f004f66ca7 (soc/intel/skylake: Enable ACPI PM timer emulation on all CPUs) Change-Id: I354c3aea0c8c1f8ff3d698e0636932b7b76125f7 Signed-off-by: Michael Niewöhner <foss@mniewoehner.de> Reviewed-on: https://review.coreboot.org/c/coreboot/+/58019 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Nico Huber <nico.h@gmx.de>
-rw-r--r--src/soc/intel/alderlake/finalize.c9
-rw-r--r--src/soc/intel/alderlake/pmc.c9
-rw-r--r--src/soc/intel/elkhartlake/finalize.c9
-rw-r--r--src/soc/intel/elkhartlake/pmc.c9
-rw-r--r--src/soc/intel/icelake/finalize.c9
-rw-r--r--src/soc/intel/icelake/pmc.c9
-rw-r--r--src/soc/intel/jasperlake/finalize.c9
-rw-r--r--src/soc/intel/jasperlake/pmc.c9
-rw-r--r--src/soc/intel/tigerlake/finalize.c9
-rw-r--r--src/soc/intel/tigerlake/pmc.c9
10 files changed, 45 insertions, 45 deletions
diff --git a/src/soc/intel/alderlake/finalize.c b/src/soc/intel/alderlake/finalize.c
index 4ef572b5f690..aa136d4e09de 100644
--- a/src/soc/intel/alderlake/finalize.c
+++ b/src/soc/intel/alderlake/finalize.c
@@ -57,15 +57,6 @@ static void pch_finalize(void)
/* TODO: Add Thermal Configuration */
- /*
- * Disable ACPI PM timer based on Kconfig
- *
- * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
- * Disabling ACPI PM timer also switches off TCO
- */
- if (!CONFIG(USE_PM_ACPI_TIMER))
- pmc_disable_acpi_timer();
-
pch_handle_sideband(config);
pmc_clear_pmcon_sts();
diff --git a/src/soc/intel/alderlake/pmc.c b/src/soc/intel/alderlake/pmc.c
index 6f9b03b16fc3..4251cd66bd4e 100644
--- a/src/soc/intel/alderlake/pmc.c
+++ b/src/soc/intel/alderlake/pmc.c
@@ -152,6 +152,15 @@ static void soc_pmc_init(struct device *dev)
* done from the "ops->init" callback.
*/
pmc_set_acpi_mode();
+
+ /*
+ * Disable ACPI PM timer based on Kconfig
+ *
+ * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
+ * Disabling ACPI PM timer also switches off TCO
+ */
+ if (!CONFIG(USE_PM_ACPI_TIMER))
+ pmc_disable_acpi_timer();
}
static void pm1_enable_pwrbtn_smi(void *unused)
diff --git a/src/soc/intel/elkhartlake/finalize.c b/src/soc/intel/elkhartlake/finalize.c
index ad3b4ef8673c..d415a1d2b838 100644
--- a/src/soc/intel/elkhartlake/finalize.c
+++ b/src/soc/intel/elkhartlake/finalize.c
@@ -29,15 +29,6 @@ static void pch_finalize(void)
/* TODO: Add Thermal Configuration */
- /*
- * Disable ACPI PM timer based on Kconfig
- *
- * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
- * Disabling ACPI PM timer also switches off TCO
- */
- if (!CONFIG(USE_PM_ACPI_TIMER))
- pmc_disable_acpi_timer();
-
pmc_clear_pmcon_sts();
}
diff --git a/src/soc/intel/elkhartlake/pmc.c b/src/soc/intel/elkhartlake/pmc.c
index bcc8c8b04fa6..dd6e6160ec53 100644
--- a/src/soc/intel/elkhartlake/pmc.c
+++ b/src/soc/intel/elkhartlake/pmc.c
@@ -92,6 +92,15 @@ static void soc_pmc_init(struct device *dev)
* done from the "ops->init" callback.
*/
pmc_set_acpi_mode();
+
+ /*
+ * Disable ACPI PM timer based on Kconfig
+ *
+ * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
+ * Disabling ACPI PM timer also switches off TCO
+ */
+ if (!CONFIG(USE_PM_ACPI_TIMER))
+ pmc_disable_acpi_timer();
}
static void pmc_fill_ssdt(const struct device *dev)
diff --git a/src/soc/intel/icelake/finalize.c b/src/soc/intel/icelake/finalize.c
index f828cc461dd1..eb7ac10f2eb1 100644
--- a/src/soc/intel/icelake/finalize.c
+++ b/src/soc/intel/icelake/finalize.c
@@ -54,15 +54,6 @@ static void pch_finalize(void)
*/
pch_thermal_configuration();
- /*
- * Disable ACPI PM timer based on Kconfig
- *
- * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
- * Disabling ACPI PM timer also switches off TCO
- */
- if (!CONFIG(USE_PM_ACPI_TIMER))
- pmc_disable_acpi_timer();
-
pch_handle_sideband(config);
pmc_clear_pmcon_sts();
diff --git a/src/soc/intel/icelake/pmc.c b/src/soc/intel/icelake/pmc.c
index ee40fee5f254..7886c1b28fca 100644
--- a/src/soc/intel/icelake/pmc.c
+++ b/src/soc/intel/icelake/pmc.c
@@ -66,6 +66,15 @@ static void pmc_init(void *unused)
config_deep_s3(config->deep_s3_enable_ac, config->deep_s3_enable_dc);
config_deep_s5(config->deep_s5_enable_ac, config->deep_s5_enable_dc);
config_deep_sx(config->deep_sx_config);
+
+ /*
+ * Disable ACPI PM timer based on Kconfig
+ *
+ * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
+ * Disabling ACPI PM timer also switches off TCO
+ */
+ if (!CONFIG(USE_PM_ACPI_TIMER))
+ pmc_disable_acpi_timer();
}
/*
diff --git a/src/soc/intel/jasperlake/finalize.c b/src/soc/intel/jasperlake/finalize.c
index 9aef9eb5d90e..40b52946e6a9 100644
--- a/src/soc/intel/jasperlake/finalize.c
+++ b/src/soc/intel/jasperlake/finalize.c
@@ -51,15 +51,6 @@ static void pch_finalize(void)
/* TODO: Add Thermal Configuration */
- /*
- * Disable ACPI PM timer based on Kconfig
- *
- * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
- * Disabling ACPI PM timer also switches off TCO
- */
- if (!CONFIG(USE_PM_ACPI_TIMER))
- pmc_disable_acpi_timer();
-
pmcbase = pmc_mmio_regs();
if (config->s0ix_enable) {
/*
diff --git a/src/soc/intel/jasperlake/pmc.c b/src/soc/intel/jasperlake/pmc.c
index a9fc52577951..d3607dcb57a6 100644
--- a/src/soc/intel/jasperlake/pmc.c
+++ b/src/soc/intel/jasperlake/pmc.c
@@ -92,6 +92,15 @@ static void soc_pmc_init(struct device *dev)
* done from the "ops->init" callback.
*/
pmc_set_acpi_mode();
+
+ /*
+ * Disable ACPI PM timer based on Kconfig
+ *
+ * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
+ * Disabling ACPI PM timer also switches off TCO
+ */
+ if (!CONFIG(USE_PM_ACPI_TIMER))
+ pmc_disable_acpi_timer();
}
static void pm1_enable_pwrbtn_smi(void *unused)
diff --git a/src/soc/intel/tigerlake/finalize.c b/src/soc/intel/tigerlake/finalize.c
index 26cba964918b..3bbd00266b1f 100644
--- a/src/soc/intel/tigerlake/finalize.c
+++ b/src/soc/intel/tigerlake/finalize.c
@@ -35,15 +35,6 @@ static void pch_finalize(void)
/* TODO: Add Thermal Configuration */
- /*
- * Disable ACPI PM timer based on dt policy
- *
- * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
- * Disabling ACPI PM timer also switches off TCO
- */
- if (!CONFIG(USE_PM_ACPI_TIMER))
- pmc_disable_acpi_timer();
-
pmc_clear_pmcon_sts();
}
diff --git a/src/soc/intel/tigerlake/pmc.c b/src/soc/intel/tigerlake/pmc.c
index ce37007116d9..01891e1be9fb 100644
--- a/src/soc/intel/tigerlake/pmc.c
+++ b/src/soc/intel/tigerlake/pmc.c
@@ -151,6 +151,15 @@ static void soc_pmc_init(struct device *dev)
* done from the "ops->init" callback.
*/
pmc_set_acpi_mode();
+
+ /*
+ * Disable ACPI PM timer based on Kconfig
+ *
+ * Disabling ACPI PM timer is necessary for XTAL OSC shutdown.
+ * Disabling ACPI PM timer also switches off TCO
+ */
+ if (!CONFIG(USE_PM_ACPI_TIMER))
+ pmc_disable_acpi_timer();
}
static void pm1_enable_pwrbtn_smi(void *unused)