summaryrefslogtreecommitdiff
path: root/src/soc/intel/denverton_ns
diff options
context:
space:
mode:
authorJulien Viard de Galbert <jviarddegalbert@online.net>2018-03-29 14:01:01 +0200
committerPatrick Georgi <pgeorgi@google.com>2019-01-28 13:33:30 +0000
commit595202c304d14e17b1ea1514169346d7cc637206 (patch)
treedd5d67885d1b40669c11a733178bb3d5f8605052 /src/soc/intel/denverton_ns
parent3b0667dd2a386fd13765cb047ef7484ba169a10d (diff)
downloadcoreboot-595202c304d14e17b1ea1514169346d7cc637206.tar.xz
soc/intel/denverton_ns: Add ACPI T-States and P-States
Also make soc_get_tss_table public and weak instead of static in intelblock so it can be overridden in denverton. Change-Id: Id9c7da474a81417a5cebd875023f7cd3d5a77796 Signed-off-by: Julien Viard de Galbert <jviarddegalbert@online.net> Reviewed-on: https://review.coreboot.org/c/25430 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Vanny E <vanessa.f.eusebio@intel.com> Reviewed-by: Patrick Georgi <pgeorgi@google.com> Reviewed-by: David Guckian Reviewed-by: Jay Talbott <JayTalbott@sysproconsulting.com>
Diffstat (limited to 'src/soc/intel/denverton_ns')
-rw-r--r--src/soc/intel/denverton_ns/acpi.c24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/soc/intel/denverton_ns/acpi.c b/src/soc/intel/denverton_ns/acpi.c
index c7eb931f48..fd89c798c4 100644
--- a/src/soc/intel/denverton_ns/acpi.c
+++ b/src/soc/intel/denverton_ns/acpi.c
@@ -248,6 +248,30 @@ void soc_fill_fadt(acpi_fadt_t *fadt)
motherboard_fill_fadt(fadt);
}
+static acpi_tstate_t denverton_tss_table[] = {
+ { 100, 1000, 0, 0x00, 0 },
+ { 88, 875, 0, 0x1e, 0 },
+ { 75, 750, 0, 0x1c, 0 },
+ { 63, 625, 0, 0x1a, 0 },
+ { 50, 500, 0, 0x18, 0 },
+ { 38, 375, 0, 0x16, 0 },
+ { 25, 250, 0, 0x14, 0 },
+ { 13, 125, 0, 0x12, 0 },
+};
+
+acpi_tstate_t *soc_get_tss_table(int *entries)
+{
+ *entries = ARRAY_SIZE(denverton_tss_table);
+ return denverton_tss_table;
+}
+
+void soc_power_states_generation(int core_id, int cores_per_package)
+{
+ generate_p_state_entries(core_id, cores_per_package);
+
+ generate_t_state_entries(core_id, cores_per_package);
+}
+
int soc_madt_sci_irq_polarity(int sci)
{
if (sci >= 20)