From cde428079669291527388f2b416db95a0e3edc68 Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Sun, 31 Aug 2025 17:39:12 -0500 Subject: [PATCH] soc/intel/apollolake: Add CFR objects for existing options Add a header with CFR objects for existing configuration options, so that supported boards can make use of them without duplication. CFR options are added for the following options: - legacy_8254_timer - s0ix_enable - vtd TEST=build/boot google/reef with CFR support Change-Id: Ia58bf53f93742417c2aac683c96f7c8f382a35c0 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/90309 Tested-by: build bot (Jenkins) Reviewed-by: Paul Menzel Reviewed-by: Jason Glenesk --- src/soc/intel/apollolake/include/soc/cfr.h | 49 ++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 src/soc/intel/apollolake/include/soc/cfr.h diff --git a/src/soc/intel/apollolake/include/soc/cfr.h b/src/soc/intel/apollolake/include/soc/cfr.h new file mode 100644 index 0000000000..df4a9200cc --- /dev/null +++ b/src/soc/intel/apollolake/include/soc/cfr.h @@ -0,0 +1,49 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +/* + * CFR enums and structs which are used to control SoC settings. + */ + +#ifndef _APOLLOLAKE_CFR_H_ +#define _APOLLOLAKE_CFR_H_ + +#include +#include + +/* Legacy 8254 Timer */ +static const struct sm_object legacy_8254_timer = SM_DECLARE_ENUM({ + .opt_name = "legacy_8254_timer", + .ui_name = "Legacy 8254 Timer", + .ui_helptext = "Enable the legacy 8254 timer by disabling clock gating.", + .default_value = 0, + .values = (const struct sm_enum_value[]) { + { "Disabled", 0 }, + { "Enabled", 1 }, + SM_ENUM_VALUE_END }, +}); + +/* S0ix Enable */ +static const struct sm_object s0ix_enable = SM_DECLARE_ENUM({ + .opt_name = "s0ix_enable", + .ui_name = "Modern Standby (S0ix)", + .ui_helptext = "Enabled: use Modern Standby / S0ix. Disabled: use APCI S3 sleep", + .default_value = 1, + .values = (const struct sm_enum_value[]) { + { "Disabled", 0 }, + { "Enabled", 1 }, + SM_ENUM_VALUE_END }, +}); + +/* VT-d */ +static const struct sm_object vtd = SM_DECLARE_ENUM({ + .opt_name = "vtd", + .ui_name = "VT-d", + .ui_helptext = "Enable or disable Intel VT-d (virtualization)", + .default_value = 1, + .values = (const struct sm_enum_value[]) { + { "Disabled", 0 }, + { "Enabled", 1 }, + SM_ENUM_VALUE_END }, +}); + +#endif /* _APOLLOLAKE_CFR_H_ */