From e356483eb6261dece8ecd9798be22cc598beb35a Mon Sep 17 00:00:00 2001 From: Matt DeVillier Date: Sat, 10 May 2025 17:28:29 -0500 Subject: [PATCH] soc/intel/jasperlake: 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. Change-Id: I083cd4dfc5d4ee7807345c423872d27b66c4edc1 Signed-off-by: Matt DeVillier Reviewed-on: https://review.coreboot.org/c/coreboot/+/87631 Reviewed-by: Maxim Polyakov Tested-by: build bot (Jenkins) --- src/soc/intel/jasperlake/include/soc/cfr.h | 78 ++++++++++++++++++++++ 1 file changed, 78 insertions(+) create mode 100644 src/soc/intel/jasperlake/include/soc/cfr.h diff --git a/src/soc/intel/jasperlake/include/soc/cfr.h b/src/soc/intel/jasperlake/include/soc/cfr.h new file mode 100644 index 0000000000..9aca7bb0d0 --- /dev/null +++ b/src/soc/intel/jasperlake/include/soc/cfr.h @@ -0,0 +1,78 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +/* + * CFR enums and structs which are used to control SoC settings. + */ + +#ifndef _JASPERLAKE_CFR_H_ +#define _JASPERLAKE_CFR_H_ + +#include +#include + +/* IGD Aperture Size */ +static const struct sm_object igd_aperture = SM_DECLARE_ENUM({ + .opt_name = "igd_aperture_size", + .ui_name = "IGD Aperture Size", + .ui_helptext = "Select the Aperture Size", + .default_value = IGD_AP_SZ_256MB, + .values = (const struct sm_enum_value[]) { + { " 128 MB", IGD_AP_SZ_128MB }, + { " 256 MB", IGD_AP_SZ_256MB }, + { " 512 MB", IGD_AP_SZ_512MB }, + SM_ENUM_VALUE_END }, +}); + +/* IGD DVMT pre-allocated memory */ +static const struct sm_object igd_dvmt = SM_DECLARE_ENUM({ + .opt_name = "igd_dvmt_prealloc", + .ui_name = "IGD DVMT Size", + .ui_helptext = "Size of memory preallocated for internal graphics", + .default_value = IGD_SM_60MB, + .values = (const struct sm_enum_value[]) { + { " 32 MB", IGD_SM_32MB }, + { " 60 MB", IGD_SM_60MB }, + { " 64 MB", IGD_SM_64MB }, + { " 96 MB", IGD_SM_96MB }, + { "128 MB", IGD_SM_128MB }, + { "160 MB", IGD_SM_160MB }, + SM_ENUM_VALUE_END }, +}); + +/* 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 /* _JASPERLAKE_CFR_H_ */