From 38b6100229e97db1441aab779d83e8b9a4c3e464 Mon Sep 17 00:00:00 2001 From: Mario Scheithauer Date: Tue, 25 Jul 2017 10:52:41 +0200 Subject: soc/intel/apollolake: Make usage of RAPL selectable Apollo Lake SoC supports configuration of Running Average Power Limits (RAPL) for package domain. This feature is not required for all APL mainboards. According to the APL SoC EDS Vol 4 chapter 18.4 Power Limiting Control it is not necessary to enable the RAPL algorithm per default. For that reason make the RAPL configuration selectable. Change-Id: Ib737b162f72b76c15e5768859f9099e2e7ef6426 Signed-off-by: Mario Scheithauer Reviewed-on: https://review.coreboot.org/20759 Tested-by: build bot (Jenkins) Reviewed-by: Aaron Durbin --- src/soc/intel/apollolake/Kconfig | 8 ++++++++ src/soc/intel/apollolake/chip.c | 5 +++++ 2 files changed, 13 insertions(+) diff --git a/src/soc/intel/apollolake/Kconfig b/src/soc/intel/apollolake/Kconfig index a9774dc191..2d8838a497 100644 --- a/src/soc/intel/apollolake/Kconfig +++ b/src/soc/intel/apollolake/Kconfig @@ -342,4 +342,12 @@ config CPU_BCLK_MHZ int default 100 +config APL_SKIP_SET_POWER_LIMITS + bool + default n + help + Some Apollo Lake mainboards do not need the Running Average Power + Limits (RAPL) algorithm for a constant power management. + Set this config option to skip the RAPL configuration. + endif diff --git a/src/soc/intel/apollolake/chip.c b/src/soc/intel/apollolake/chip.c index f72173da8c..ec4662c7a8 100644 --- a/src/soc/intel/apollolake/chip.c +++ b/src/soc/intel/apollolake/chip.c @@ -223,6 +223,11 @@ static void set_power_limits(void) uint32_t tdp, min_power, max_power; uint32_t pl2_val; + if (IS_ENABLED(CONFIG_APL_SKIP_SET_POWER_LIMITS)) { + printk(BIOS_INFO, "Skip the RAPL settings.\n"); + return; + } + if (!dev || !dev->chip_info) { printk(BIOS_ERR, "BUG! Could not find SOC devicetree config\n"); return; -- cgit v1.2.3