summaryrefslogtreecommitdiff
path: root/src/soc/intel/alderlake
diff options
context:
space:
mode:
authorSean Rhodes <sean@starlabs.systems>2021-07-13 13:36:28 +0100
committerPaul Fagerburg <pfagerburg@chromium.org>2021-08-03 15:21:04 +0000
commitbc35bed18eba2526bc296cf12e972011bb85613d (patch)
treec2fb86bedeb40dc07bf27b716b00d8fd7147ad81 /src/soc/intel/alderlake
parentc0308eb86068970dec906d01094fce43a4b58c16 (diff)
soc/intel/*: Allow configuring 8254 timer via CMOS
Currently, the `USE_LEGACY_8254_TIMER` Kconfig option is the only way to enable or disable the legacy 8254 timer. Add the `legacy_8254_timer` CMOS option to allow enabling and disabling the 8254 timer without having to rebuild and reflash coreboot. If options are not enabled or the option is missing in cmos.layout, the Kconfig setting is used. Signed-off-by: Sean Rhodes <sean@starlabs.systems> Change-Id: Ic82c7f25cdf6587de5c40f59441579cfc92ff2f1 Reviewed-on: https://review.coreboot.org/c/coreboot/+/56256 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Michael Niewöhner <foss@mniewoehner.de>
Diffstat (limited to 'src/soc/intel/alderlake')
-rw-r--r--src/soc/intel/alderlake/fsp_params.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/soc/intel/alderlake/fsp_params.c b/src/soc/intel/alderlake/fsp_params.c
index 489935d058..f6a88ec281 100644
--- a/src/soc/intel/alderlake/fsp_params.c
+++ b/src/soc/intel/alderlake/fsp_params.c
@@ -8,6 +8,7 @@
#include <fsp/api.h>
#include <fsp/ppi/mp_service_ppi.h>
#include <fsp/util.h>
+#include <option.h>
#include <intelblocks/irq.h>
#include <intelblocks/lpss.h>
#include <intelblocks/xdci.h>
@@ -21,6 +22,7 @@
#include <soc/soc_chip.h>
#include <stdlib.h>
#include <string.h>
+#include <types.h>
/* THC assignment definition */
#define THC_NONE 0
@@ -533,8 +535,9 @@ static void fill_fsps_8254_params(FSP_S_CONFIG *s_cfg,
const struct soc_intel_alderlake_config *config)
{
/* Legacy 8254 timer support */
- s_cfg->Enable8254ClockGating = !CONFIG(USE_LEGACY_8254_TIMER);
- s_cfg->Enable8254ClockGatingOnS3 = !CONFIG(USE_LEGACY_8254_TIMER);
+ bool use_8254 = get_uint_option("legacy_8254_timer", CONFIG(USE_LEGACY_8254_TIMER));
+ s_cfg->Enable8254ClockGating = !use_8254;
+ s_cfg->Enable8254ClockGatingOnS3 = !use_8254;
}
static void fill_fsps_storage_params(FSP_S_CONFIG *s_cfg,