summaryrefslogtreecommitdiff
path: root/src/mainboard/google/rex/variants/baseboard
diff options
context:
space:
mode:
authorSubrata Banik <subratabanik@google.com>2023-10-26 19:36:00 +0530
committerSubrata Banik <subratabanik@google.com>2023-10-31 05:21:40 +0000
commite4ac7b16efcdadadae80b4e6feb4f37601dec5ed (patch)
tree2caa8b7a47101b8e02f7fe2bc5e1e52accd63564 /src/mainboard/google/rex/variants/baseboard
parent56178990be01da72c48019be47457f1b5f54e969 (diff)
mb/google/rex/var/screebo: Set Baseline Power Limit
This patch allows google/rex mainboard to choose between "Performance" (PL_PERFORMANCE) and "Baseline" (PL_BASELINE) power limits (PLs). This is important for platform to meet balance between power and performance. The OEM design google/screebo selects baseline power limit to maintain the balance performance in lower power. BUG=b:307237761 TEST=Able to build and boot google/screebo. w/o this patch: screebo4es-rev1 ~ # cbmem -c -1 | grep "CPU PL" [INFO ] CPU PL1 = 15 Watts [INFO ] CPU PL2 = 57 Watts [INFO ] CPU PL4 = 114 Watts w/ this patch: screebo4es-rev1 ~ # cbmem -c -1 | grep "CPU PL" [INFO ] CPU PL1 = 15 Watts [INFO ] CPU PL2 = 40 Watts [INFO ] CPU PL4 = 84 Watts Change-Id: I43debc5442ae9c01851652beba676ffc102ca27d Signed-off-by: Subrata Banik <subratabanik@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/78661 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Kapil Porwal <kapilporwal@google.com> Reviewed-by: Eric Lai <ericllai@google.com>
Diffstat (limited to 'src/mainboard/google/rex/variants/baseboard')
-rw-r--r--src/mainboard/google/rex/variants/baseboard/rex/ramstage.c44
1 files changed, 44 insertions, 0 deletions
diff --git a/src/mainboard/google/rex/variants/baseboard/rex/ramstage.c b/src/mainboard/google/rex/variants/baseboard/rex/ramstage.c
index d2adaaee52..02bdca5d01 100644
--- a/src/mainboard/google/rex/variants/baseboard/rex/ramstage.c
+++ b/src/mainboard/google/rex/variants/baseboard/rex/ramstage.c
@@ -10,6 +10,7 @@
* pl2_min (milliWatts), pl2_max (milliWatts), pl4 (milliWatts)
* Following values are for performance config as per document #640982
*/
+#if CONFIG(PL_PERFORMANCE)
const struct cpu_tdp_power_limits performance_efficient_limits[] = {
{
.mch_id = PCI_DID_INTEL_MTL_P_ID_2,
@@ -51,6 +52,49 @@ const struct cpu_tdp_power_limits power_optimized_limits[] = {
.pl4_power = 64000
},
};
+#else
+const struct cpu_tdp_power_limits performance_efficient_limits[] = {
+ {
+ .mch_id = PCI_DID_INTEL_MTL_P_ID_2,
+ .cpu_tdp = 15,
+ .pl1_min_power = 10000,
+ .pl1_max_power = 15000,
+ .pl2_min_power = 40000,
+ .pl2_max_power = 40000,
+ .pl4_power = 84000
+ },
+ {
+ .mch_id = PCI_DID_INTEL_MTL_P_ID_5,
+ .cpu_tdp = 15,
+ .pl1_min_power = 10000,
+ .pl1_max_power = 15000,
+ .pl2_min_power = 40000,
+ .pl2_max_power = 40000,
+ .pl4_power = 84000
+ },
+};
+
+const struct cpu_tdp_power_limits power_optimized_limits[] = {
+ {
+ .mch_id = PCI_DID_INTEL_MTL_P_ID_2,
+ .cpu_tdp = 15,
+ .pl1_min_power = 10000,
+ .pl1_max_power = 15000,
+ .pl2_min_power = 40000,
+ .pl2_max_power = 40000,
+ .pl4_power = 47000
+ },
+ {
+ .mch_id = PCI_DID_INTEL_MTL_P_ID_5,
+ .cpu_tdp = 15,
+ .pl1_min_power = 10000,
+ .pl1_max_power = 15000,
+ .pl2_min_power = 40000,
+ .pl2_max_power = 40000,
+ .pl4_power = 47000
+ },
+};
+#endif
void variant_devtree_update(void)
{