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 <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/90309
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Paul Menzel <paulepanter@mailbox.org>
Reviewed-by: Jason Glenesk <jason.glenesk@gmail.com>
This commit is contained in:
Matt DeVillier 2025-08-31 17:39:12 -05:00
commit cde4280796

View file

@ -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 <drivers/option/cfr_frontend.h>
#include <soc/soc_chip.h>
/* 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_ */