summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMatt DeVillier <matt.devillier@gmail.com>2025-04-21 10:35:03 -0500
committerMatt DeVillier <matt.devillier@gmail.com>2025-04-25 14:18:18 +0000
commit17347eedc3387afac801df1fefb3982a9b693f3d (patch)
tree398b8f757579ac23115cfa7c6bf485159be362bb /src
parentad704e05008acc3ca1ddcd660a9ed505cca406a4 (diff)
downloadcoreboot-17347eedc3387afac801df1fefb3982a9b693f3d.tar.gz
coreboot-17347eedc3387afac801df1fefb3982a9b693f3d.tar.bz2
coreboot-17347eedc3387afac801df1fefb3982a9b693f3d.zip
soc/intel/cannonlake: 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: I925002958b5de93e833f06fddf772e5334a7bdb8 Signed-off-by: Matt DeVillier <matt.devillier@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/87401 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Maxim Polyakov <max.senia.poliak@gmail.com>
Diffstat (limited to 'src')
-rw-r--r--src/soc/intel/cannonlake/include/soc/cfr.h87
1 files changed, 87 insertions, 0 deletions
diff --git a/src/soc/intel/cannonlake/include/soc/cfr.h b/src/soc/intel/cannonlake/include/soc/cfr.h
new file mode 100644
index 000000000000..ae61799a68f8
--- /dev/null
+++ b/src/soc/intel/cannonlake/include/soc/cfr.h
@@ -0,0 +1,87 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+
+/*
+ * CFR enums and structs which are used to control SoC settings.
+ */
+
+#ifndef CANNONLAKE_CFR_H
+#define CANNONLAKE_CFR_H
+
+#include <drivers/option/cfr_frontend.h>
+
+/* FSP hyperthreading */
+static const struct sm_object hyper_threading = SM_DECLARE_ENUM({
+ .opt_name = "hyper_threading",
+ .ui_name = "Hyper-Threading",
+ .ui_helptext = "Enable or disable Hyper-Threading",
+ .default_value = CONFIG(FSP_HYPERTHREADING),
+ .values = (const struct sm_enum_value[]) {
+ { "Disabled", 0 },
+ { "Enabled", 1 },
+ SM_ENUM_VALUE_END },
+});
+
+/* 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 = 1,
+ .values = (const struct sm_enum_value[]) {
+ { "128 MB", 0 },
+ { "256 MB", 1 },
+ { "512 MB", 2 },
+ 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 = 2,
+ .values = (const struct sm_enum_value[]) {
+ { "32 MB", 1 },
+ { "64 MB", 2 },
+ { "96 MB", 3 },
+ { "128 MB", 4 },
+ 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 /* CANNONLAKE_CFR_H */