From 1c311b9b4ce943fffcfe9367470fdd0a184e8095 Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Mon, 16 Mar 2026 18:41:55 -0600 Subject: [PATCH] mb/system76: Switch from CMOS options to UEFI vars Replace CMOS options with EFI vars, using the new CFR driver to preserve the list of options defined in the CMOS layout files. Change-Id: I9b93e22555cb8f6c9c5ab6932da376ed439d4817 Signed-off-by: Tim Crawford --- src/mainboard/system76/addw1/Kconfig | 5 +- src/mainboard/system76/addw1/Makefile.mk | 1 + src/mainboard/system76/addw1/cfr.c | 25 ++++++++++ src/mainboard/system76/addw1/cmos.default | 5 -- src/mainboard/system76/addw1/cmos.layout | 43 ----------------- src/mainboard/system76/adl/Kconfig | 9 ++-- src/mainboard/system76/adl/Makefile.mk | 1 + src/mainboard/system76/adl/cfr.c | 25 ++++++++++ src/mainboard/system76/adl/cmos-csme.default | 5 -- src/mainboard/system76/adl/cmos.default | 5 -- src/mainboard/system76/adl/cmos.layout | 43 ----------------- src/mainboard/system76/bonw14/Kconfig | 5 +- src/mainboard/system76/bonw14/Makefile.mk | 1 + src/mainboard/system76/bonw14/cfr.c | 25 ++++++++++ src/mainboard/system76/bonw14/cmos.default | 5 -- src/mainboard/system76/bonw14/cmos.layout | 43 ----------------- src/mainboard/system76/cml-u/Kconfig | 5 +- src/mainboard/system76/cml-u/Makefile.mk | 1 + src/mainboard/system76/cml-u/cfr.c | 25 ++++++++++ src/mainboard/system76/cml-u/cmos.default | 5 -- src/mainboard/system76/cml-u/cmos.layout | 43 ----------------- src/mainboard/system76/gaze15/Kconfig | 5 +- src/mainboard/system76/gaze15/Makefile.mk | 1 + src/mainboard/system76/gaze15/cfr.c | 25 ++++++++++ src/mainboard/system76/gaze15/cmos.default | 5 -- src/mainboard/system76/gaze15/cmos.layout | 43 ----------------- src/mainboard/system76/kbl-u/Kconfig | 4 +- src/mainboard/system76/kbl-u/Makefile.mk | 1 + src/mainboard/system76/kbl-u/cfr.c | 22 +++++++++ src/mainboard/system76/kbl-u/cmos.default | 4 -- src/mainboard/system76/kbl-u/cmos.layout | 38 --------------- src/mainboard/system76/meer9/Kconfig | 7 +-- src/mainboard/system76/meer9/Makefile.mk | 1 + src/mainboard/system76/meer9/cfr.c | 26 ++++++++++ src/mainboard/system76/meer9/cmos.default | 6 --- src/mainboard/system76/meer9/cmos.layout | 51 -------------------- src/mainboard/system76/mtl/Kconfig | 8 ++- src/mainboard/system76/mtl/Makefile.mk | 1 + src/mainboard/system76/mtl/cfr.c | 25 ++++++++++ src/mainboard/system76/mtl/cmos.default | 5 -- src/mainboard/system76/mtl/cmos.layout | 43 ----------------- src/mainboard/system76/oryp5/Kconfig | 5 +- src/mainboard/system76/oryp5/Makefile.mk | 1 + src/mainboard/system76/oryp5/cfr.c | 25 ++++++++++ src/mainboard/system76/oryp5/cmos.default | 5 -- src/mainboard/system76/oryp5/cmos.layout | 43 ----------------- src/mainboard/system76/oryp6/Kconfig | 5 +- src/mainboard/system76/oryp6/Makefile.mk | 1 + src/mainboard/system76/oryp6/cfr.c | 25 ++++++++++ src/mainboard/system76/oryp6/cmos.default | 5 -- src/mainboard/system76/oryp6/cmos.layout | 43 ----------------- src/mainboard/system76/rpl/Kconfig | 8 +-- src/mainboard/system76/rpl/Makefile.mk | 1 + src/mainboard/system76/rpl/cfr.c | 25 ++++++++++ src/mainboard/system76/rpl/cmos-csme.default | 5 -- src/mainboard/system76/rpl/cmos.default | 5 -- src/mainboard/system76/rpl/cmos.layout | 43 ----------------- src/mainboard/system76/tgl-h/Kconfig | 5 +- src/mainboard/system76/tgl-h/Makefile.mk | 1 + src/mainboard/system76/tgl-h/cfr.c | 25 ++++++++++ src/mainboard/system76/tgl-h/cmos.default | 5 -- src/mainboard/system76/tgl-h/cmos.layout | 43 ----------------- src/mainboard/system76/tgl-u/Kconfig | 4 +- src/mainboard/system76/tgl-u/Makefile.mk | 1 + src/mainboard/system76/tgl-u/cfr.c | 25 ++++++++++ src/mainboard/system76/tgl-u/cmos.default | 5 -- src/mainboard/system76/tgl-u/cmos.layout | 43 ----------------- src/mainboard/system76/whl-u/Kconfig | 5 +- src/mainboard/system76/whl-u/Makefile.mk | 1 + src/mainboard/system76/whl-u/cfr.c | 25 ++++++++++ src/mainboard/system76/whl-u/cmos.default | 5 -- src/mainboard/system76/whl-u/cmos.layout | 43 ----------------- 72 files changed, 400 insertions(+), 727 deletions(-) create mode 100644 src/mainboard/system76/addw1/cfr.c delete mode 100644 src/mainboard/system76/addw1/cmos.default delete mode 100644 src/mainboard/system76/addw1/cmos.layout create mode 100644 src/mainboard/system76/adl/cfr.c delete mode 100644 src/mainboard/system76/adl/cmos-csme.default delete mode 100644 src/mainboard/system76/adl/cmos.default delete mode 100644 src/mainboard/system76/adl/cmos.layout create mode 100644 src/mainboard/system76/bonw14/cfr.c delete mode 100644 src/mainboard/system76/bonw14/cmos.default delete mode 100644 src/mainboard/system76/bonw14/cmos.layout create mode 100644 src/mainboard/system76/cml-u/cfr.c delete mode 100644 src/mainboard/system76/cml-u/cmos.default delete mode 100644 src/mainboard/system76/cml-u/cmos.layout create mode 100644 src/mainboard/system76/gaze15/cfr.c delete mode 100644 src/mainboard/system76/gaze15/cmos.default delete mode 100644 src/mainboard/system76/gaze15/cmos.layout create mode 100644 src/mainboard/system76/kbl-u/cfr.c delete mode 100644 src/mainboard/system76/kbl-u/cmos.default delete mode 100644 src/mainboard/system76/kbl-u/cmos.layout create mode 100644 src/mainboard/system76/meer9/cfr.c delete mode 100644 src/mainboard/system76/meer9/cmos.default delete mode 100644 src/mainboard/system76/meer9/cmos.layout create mode 100644 src/mainboard/system76/mtl/cfr.c delete mode 100644 src/mainboard/system76/mtl/cmos.default delete mode 100644 src/mainboard/system76/mtl/cmos.layout create mode 100644 src/mainboard/system76/oryp5/cfr.c delete mode 100644 src/mainboard/system76/oryp5/cmos.default delete mode 100644 src/mainboard/system76/oryp5/cmos.layout create mode 100644 src/mainboard/system76/oryp6/cfr.c delete mode 100644 src/mainboard/system76/oryp6/cmos.default delete mode 100644 src/mainboard/system76/oryp6/cmos.layout create mode 100644 src/mainboard/system76/rpl/cfr.c delete mode 100644 src/mainboard/system76/rpl/cmos-csme.default delete mode 100644 src/mainboard/system76/rpl/cmos.default delete mode 100644 src/mainboard/system76/rpl/cmos.layout create mode 100644 src/mainboard/system76/tgl-h/cfr.c delete mode 100644 src/mainboard/system76/tgl-h/cmos.default delete mode 100644 src/mainboard/system76/tgl-h/cmos.layout create mode 100644 src/mainboard/system76/tgl-u/cfr.c delete mode 100644 src/mainboard/system76/tgl-u/cmos.default delete mode 100644 src/mainboard/system76/tgl-u/cmos.layout create mode 100644 src/mainboard/system76/whl-u/cfr.c delete mode 100644 src/mainboard/system76/whl-u/cmos.default delete mode 100644 src/mainboard/system76/whl-u/cmos.layout diff --git a/src/mainboard/system76/addw1/Kconfig b/src/mainboard/system76/addw1/Kconfig index 4905ec8e557..faa5c233b4d 100644 --- a/src/mainboard/system76/addw1/Kconfig +++ b/src/mainboard/system76/addw1/Kconfig @@ -6,18 +6,19 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_16384 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_GFX_NVIDIA select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select EC_SYSTEM76_EC_DGPU select EC_SYSTEM76_EC_OLED select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE select MEMORY_MAPPED_TPM diff --git a/src/mainboard/system76/addw1/Makefile.mk b/src/mainboard/system76/addw1/Makefile.mk index 1447b6a87f5..3fff85da666 100644 --- a/src/mainboard/system76/addw1/Makefile.mk +++ b/src/mainboard/system76/addw1/Makefile.mk @@ -11,3 +11,4 @@ ramstage-y += ramstage.c ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c ramstage-y += variants/$(VARIANT_DIR)/tas5825m.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c diff --git a/src/mainboard/system76/addw1/cfr.c b/src/mainboard/system76/addw1/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/addw1/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/addw1/cmos.default b/src/mainboard/system76/addw1/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/addw1/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/addw1/cmos.layout b/src/mainboard/system76/addw1/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/addw1/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/adl/Kconfig b/src/mainboard/system76/adl/Kconfig index ac0b704408f..38b8a14796d 100644 --- a/src/mainboard/system76/adl/Kconfig +++ b/src/mainboard/system76/adl/Kconfig @@ -4,18 +4,19 @@ config BOARD_SYSTEM76_ADL_COMMON def_bool n select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_32768 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED if !BOARD_SYSTEM76_DARP8 + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_BAYHUB_LV2 select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_I2C_HID select DRIVERS_INTEL_PMC select DRIVERS_INTEL_USB4_RETIMER + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select EC_SYSTEM76_EC_LOCKDOWN select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE select MAINBOARD_HAS_TPM2 @@ -104,10 +105,6 @@ config MAINBOARD_VERSION default "oryp9" if BOARD_SYSTEM76_ORYP9 default "oryp10" if BOARD_SYSTEM76_ORYP10 -config CMOS_DEFAULT_FILE - default "src/mainboard/\$(MAINBOARDDIR)/cmos-csme.default" if BOARD_SYSTEM76_DARP8 - default "src/mainboard/\$(MAINBOARDDIR)/cmos.default" - config CONSOLE_POST default y diff --git a/src/mainboard/system76/adl/Makefile.mk b/src/mainboard/system76/adl/Makefile.mk index 727ce27218c..831b9bf63c6 100644 --- a/src/mainboard/system76/adl/Makefile.mk +++ b/src/mainboard/system76/adl/Makefile.mk @@ -15,5 +15,6 @@ ramstage-y += ramstage.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-$(CONFIG_DRIVERS_I2C_TAS5825M) += variants/$(VARIANT_DIR)/tas5825m.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c SPD_SOURCES = samsung-P4AAF165WA-BCWDE diff --git a/src/mainboard/system76/adl/cfr.c b/src/mainboard/system76/adl/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/adl/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/adl/cmos-csme.default b/src/mainboard/system76/adl/cmos-csme.default deleted file mode 100644 index d61046df6b0..00000000000 --- a/src/mainboard/system76/adl/cmos-csme.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Enable diff --git a/src/mainboard/system76/adl/cmos.default b/src/mainboard/system76/adl/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/adl/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/adl/cmos.layout b/src/mainboard/system76/adl/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/adl/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/bonw14/Kconfig b/src/mainboard/system76/bonw14/Kconfig index 77842e493ea..8591925e73d 100644 --- a/src/mainboard/system76/bonw14/Kconfig +++ b/src/mainboard/system76/bonw14/Kconfig @@ -6,17 +6,18 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_16384 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_GFX_NVIDIA select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select EC_SYSTEM76_EC_DGPU select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_LPSS_UART_FOR_CONSOLE select MEMORY_MAPPED_TPM select MAINBOARD_HAS_TPM2 diff --git a/src/mainboard/system76/bonw14/Makefile.mk b/src/mainboard/system76/bonw14/Makefile.mk index 89b8816938e..1c50a4b3f3b 100644 --- a/src/mainboard/system76/bonw14/Makefile.mk +++ b/src/mainboard/system76/bonw14/Makefile.mk @@ -11,3 +11,4 @@ ramstage-y += ramstage.c ramstage-y += gpio.c ramstage-y += hda_verb.c ramstage-y += tas5825m.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c diff --git a/src/mainboard/system76/bonw14/cfr.c b/src/mainboard/system76/bonw14/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/bonw14/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/bonw14/cmos.default b/src/mainboard/system76/bonw14/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/bonw14/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/bonw14/cmos.layout b/src/mainboard/system76/bonw14/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/bonw14/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/cml-u/Kconfig b/src/mainboard/system76/cml-u/Kconfig index ee435de5fab..ead15f34019 100644 --- a/src/mainboard/system76/cml-u/Kconfig +++ b/src/mainboard/system76/cml-u/Kconfig @@ -6,14 +6,15 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_16384 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_I2C_HID + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select HAVE_SPD_IN_CBFS if BOARD_SYSTEM76_LEMP9 select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE diff --git a/src/mainboard/system76/cml-u/Makefile.mk b/src/mainboard/system76/cml-u/Makefile.mk index 921112cee91..2774cf18413 100644 --- a/src/mainboard/system76/cml-u/Makefile.mk +++ b/src/mainboard/system76/cml-u/Makefile.mk @@ -10,5 +10,6 @@ romstage-y += variants/$(VARIANT_DIR)/romstage.c ramstage-y += ramstage.c ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c SPD_SOURCES = samsung-K4AAG165WA-BCTD diff --git a/src/mainboard/system76/cml-u/cfr.c b/src/mainboard/system76/cml-u/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/cml-u/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/cml-u/cmos.default b/src/mainboard/system76/cml-u/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/cml-u/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/cml-u/cmos.layout b/src/mainboard/system76/cml-u/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/cml-u/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/gaze15/Kconfig b/src/mainboard/system76/gaze15/Kconfig index 6a3cd7adc94..faab2c4bd40 100644 --- a/src/mainboard/system76/gaze15/Kconfig +++ b/src/mainboard/system76/gaze15/Kconfig @@ -6,16 +6,17 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_16384 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_GFX_NVIDIA select DRIVERS_I2C_HID + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select EC_SYSTEM76_EC_DGPU select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE select MEMORY_MAPPED_TPM diff --git a/src/mainboard/system76/gaze15/Makefile.mk b/src/mainboard/system76/gaze15/Makefile.mk index ab7df6c275e..dd3052096fe 100644 --- a/src/mainboard/system76/gaze15/Makefile.mk +++ b/src/mainboard/system76/gaze15/Makefile.mk @@ -10,3 +10,4 @@ romstage-y += romstage.c ramstage-y += ramstage.c ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c diff --git a/src/mainboard/system76/gaze15/cfr.c b/src/mainboard/system76/gaze15/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/gaze15/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/gaze15/cmos.default b/src/mainboard/system76/gaze15/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/gaze15/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/gaze15/cmos.layout b/src/mainboard/system76/gaze15/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/gaze15/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/kbl-u/Kconfig b/src/mainboard/system76/kbl-u/Kconfig index 0157d5c1aed..82bb20ab2c0 100644 --- a/src/mainboard/system76/kbl-u/Kconfig +++ b/src/mainboard/system76/kbl-u/Kconfig @@ -6,12 +6,12 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_8192 + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID + select DRIVERS_OPTION_CFR_ENABLED select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE select MEMORY_MAPPED_TPM diff --git a/src/mainboard/system76/kbl-u/Makefile.mk b/src/mainboard/system76/kbl-u/Makefile.mk index bf3828de968..c20ff3ee8b7 100644 --- a/src/mainboard/system76/kbl-u/Makefile.mk +++ b/src/mainboard/system76/kbl-u/Makefile.mk @@ -8,3 +8,4 @@ bootblock-y += gpio_early.c ramstage-y += ramstage.c ramstage-y += gpio.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c diff --git a/src/mainboard/system76/kbl-u/cfr.c b/src/mainboard/system76/kbl-u/cfr.c new file mode 100644 index 00000000000..7bfb81ca9c6 --- /dev/null +++ b/src/mainboard/system76/kbl-u/cfr.c @@ -0,0 +1,22 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/kbl-u/cmos.default b/src/mainboard/system76/kbl-u/cmos.default deleted file mode 100644 index 21863787ef0..00000000000 --- a/src/mainboard/system76/kbl-u/cmos.default +++ /dev/null @@ -1,4 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug diff --git a/src/mainboard/system76/kbl-u/cmos.layout b/src/mainboard/system76/kbl-u/cmos.layout deleted file mode 100644 index 7aec087ea39..00000000000 --- a/src/mainboard/system76/kbl-u/cmos.layout +++ /dev/null @@ -1,38 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/meer9/Kconfig b/src/mainboard/system76/meer9/Kconfig index 3c7cb975930..a625052971a 100644 --- a/src/mainboard/system76/meer9/Kconfig +++ b/src/mainboard/system76/meer9/Kconfig @@ -4,14 +4,14 @@ config BOARD_SYSTEM76_MEER9_COMMON def_bool n select BOARD_ROMSIZE_KB_32768 select CRB_TPM + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_UART_8250IO + select DRIVERS_OPTION_CFR_ENABLED select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT select HAVE_INTEL_PTT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select MAINBOARD_HAS_TPM2 select NO_UART_ON_SUPERIO @@ -46,9 +46,6 @@ config MAINBOARD_SMBIOS_PRODUCT_NAME config MAINBOARD_VERSION default "meer9" if BOARD_SYSTEM76_MEER9 -config CMOS_DEFAULT_FILE - default "src/mainboard/\$(MAINBOARDDIR)/cmos.default" - config CONSOLE_POST default y diff --git a/src/mainboard/system76/meer9/Makefile.mk b/src/mainboard/system76/meer9/Makefile.mk index d687753afad..b6ff0b71b73 100644 --- a/src/mainboard/system76/meer9/Makefile.mk +++ b/src/mainboard/system76/meer9/Makefile.mk @@ -11,3 +11,4 @@ ramstage-y += ramstage.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-y += variants/$(VARIANT_DIR)/ramstage.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c diff --git a/src/mainboard/system76/meer9/cfr.c b/src/mainboard/system76/meer9/cfr.c new file mode 100644 index 00000000000..487567d5856 --- /dev/null +++ b/src/mainboard/system76/meer9/cfr.c @@ -0,0 +1,26 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &power_on_after_fail, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/meer9/cmos.default b/src/mainboard/system76/meer9/cmos.default deleted file mode 100644 index d2ca53be53c..00000000000 --- a/src/mainboard/system76/meer9/cmos.default +++ /dev/null @@ -1,6 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Enable -power_on_after_fail=Disable diff --git a/src/mainboard/system76/meer9/cmos.layout b/src/mainboard/system76/meer9/cmos.layout deleted file mode 100644 index 6414d665b6d..00000000000 --- a/src/mainboard/system76/meer9/cmos.layout +++ /dev/null @@ -1,51 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -409 2 e 7 power_on_after_fail -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -1 0 Disable -1 1 Enable - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -7 0 Disable -7 1 Enable -7 2 Keep - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/mtl/Kconfig b/src/mainboard/system76/mtl/Kconfig index 9b1f369cd6c..93c7b6cc73f 100644 --- a/src/mainboard/system76/mtl/Kconfig +++ b/src/mainboard/system76/mtl/Kconfig @@ -4,16 +4,17 @@ config BOARD_SYSTEM76_MTL_COMMON def_bool n select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_32768 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_BAYHUB_LV2 select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_I2C_HID + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select EC_SYSTEM76_EC_LOCKDOWN select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE select MAINBOARD_HAS_TPM2 @@ -101,9 +102,6 @@ config MAINBOARD_VERSION default "lemp13" if BOARD_SYSTEM76_LEMP13 default "lemp13-b" if BOARD_SYSTEM76_LEMP13_B -config CMOS_DEFAULT_FILE - default "src/mainboard/\$(MAINBOARDDIR)/cmos.default" - config CONSOLE_POST default y diff --git a/src/mainboard/system76/mtl/Makefile.mk b/src/mainboard/system76/mtl/Makefile.mk index b91991c7d2d..cfe9a8b843f 100644 --- a/src/mainboard/system76/mtl/Makefile.mk +++ b/src/mainboard/system76/mtl/Makefile.mk @@ -12,5 +12,6 @@ ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-y += variants/$(VARIANT_DIR)/ramstage.c ramstage-$(CONFIG_DRIVERS_I2C_TAS5825M) += variants/$(VARIANT_DIR)/tas5825m.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c SPD_SOURCES = samsung-M425R1GB4BB0-CQKOD samsung-M425R1GB4PB0-CWMOD diff --git a/src/mainboard/system76/mtl/cfr.c b/src/mainboard/system76/mtl/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/mtl/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/mtl/cmos.default b/src/mainboard/system76/mtl/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/mtl/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/mtl/cmos.layout b/src/mainboard/system76/mtl/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/mtl/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/oryp5/Kconfig b/src/mainboard/system76/oryp5/Kconfig index 28f2fc7bbd2..9a7de508ca6 100644 --- a/src/mainboard/system76/oryp5/Kconfig +++ b/src/mainboard/system76/oryp5/Kconfig @@ -6,17 +6,18 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_16384 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_GFX_NVIDIA select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select EC_SYSTEM76_EC_DGPU select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE select MEMORY_MAPPED_TPM diff --git a/src/mainboard/system76/oryp5/Makefile.mk b/src/mainboard/system76/oryp5/Makefile.mk index e52cccafc8c..8fdc1585ad1 100644 --- a/src/mainboard/system76/oryp5/Makefile.mk +++ b/src/mainboard/system76/oryp5/Makefile.mk @@ -9,3 +9,4 @@ ramstage-y += ramstage.c ramstage-y += gpio.c ramstage-y += hda_verb.c ramstage-y += tas5825m.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c diff --git a/src/mainboard/system76/oryp5/cfr.c b/src/mainboard/system76/oryp5/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/oryp5/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/oryp5/cmos.default b/src/mainboard/system76/oryp5/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/oryp5/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/oryp5/cmos.layout b/src/mainboard/system76/oryp5/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/oryp5/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/oryp6/Kconfig b/src/mainboard/system76/oryp6/Kconfig index 9bbd624bbe6..c4514aa23c4 100644 --- a/src/mainboard/system76/oryp6/Kconfig +++ b/src/mainboard/system76/oryp6/Kconfig @@ -6,17 +6,18 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_16384 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_GFX_NVIDIA select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select EC_SYSTEM76_EC_DGPU select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select MEMORY_MAPPED_TPM select MAINBOARD_HAS_TPM2 diff --git a/src/mainboard/system76/oryp6/Makefile.mk b/src/mainboard/system76/oryp6/Makefile.mk index af0b83b615a..2fc33ee4b6a 100644 --- a/src/mainboard/system76/oryp6/Makefile.mk +++ b/src/mainboard/system76/oryp6/Makefile.mk @@ -13,3 +13,4 @@ ramstage-y += ramstage.c ramstage-y += tas5825m.c ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c diff --git a/src/mainboard/system76/oryp6/cfr.c b/src/mainboard/system76/oryp6/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/oryp6/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/oryp6/cmos.default b/src/mainboard/system76/oryp6/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/oryp6/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/oryp6/cmos.layout b/src/mainboard/system76/oryp6/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/oryp6/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/rpl/Kconfig b/src/mainboard/system76/rpl/Kconfig index 758c29a552d..15fa5487242 100644 --- a/src/mainboard/system76/rpl/Kconfig +++ b/src/mainboard/system76/rpl/Kconfig @@ -4,6 +4,8 @@ config BOARD_SYSTEM76_RPL_COMMON def_bool n select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_32768 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED if !BOARD_SYSTEM76_DARP9 + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_BAYHUB_LV2 if !BOARD_SYSTEM76_BONW15 select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID @@ -12,8 +14,6 @@ config BOARD_SYSTEM76_RPL_COMMON select EC_SYSTEM76_EC_LOCKDOWN select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE select MAINBOARD_HAS_TPM2 @@ -179,10 +179,6 @@ config MAINBOARD_VERSION default "oryp12" if BOARD_SYSTEM76_ORYP12 default "serw13" if BOARD_SYSTEM76_SERW13 -config CMOS_DEFAULT_FILE - default "src/mainboard/\$(MAINBOARDDIR)/cmos-csme.default" if BOARD_SYSTEM76_DARP9 - default "src/mainboard/\$(MAINBOARDDIR)/cmos.default" - config CONSOLE_POST default y diff --git a/src/mainboard/system76/rpl/Makefile.mk b/src/mainboard/system76/rpl/Makefile.mk index a5011cdba0f..44718cfc7b5 100644 --- a/src/mainboard/system76/rpl/Makefile.mk +++ b/src/mainboard/system76/rpl/Makefile.mk @@ -15,5 +15,6 @@ ramstage-y += ramstage.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-$(CONFIG_DRIVERS_I2C_TAS5825M) += variants/$(VARIANT_DIR)/tas5825m.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c SPD_SOURCES = samsung-M425R1GB4BB0-CQKOD diff --git a/src/mainboard/system76/rpl/cfr.c b/src/mainboard/system76/rpl/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/rpl/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/rpl/cmos-csme.default b/src/mainboard/system76/rpl/cmos-csme.default deleted file mode 100644 index d61046df6b0..00000000000 --- a/src/mainboard/system76/rpl/cmos-csme.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Enable diff --git a/src/mainboard/system76/rpl/cmos.default b/src/mainboard/system76/rpl/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/rpl/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/rpl/cmos.layout b/src/mainboard/system76/rpl/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/rpl/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/tgl-h/Kconfig b/src/mainboard/system76/tgl-h/Kconfig index 185d95c3f0a..1c313b80d53 100644 --- a/src/mainboard/system76/tgl-h/Kconfig +++ b/src/mainboard/system76/tgl-h/Kconfig @@ -6,19 +6,20 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_16384 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_BAYHUB_LV2 select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_GFX_NVIDIA select DRIVERS_I2C_HID select DRIVERS_I2C_TAS5825M if BOARD_SYSTEM76_ORYP8 + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select EC_SYSTEM76_EC_DGPU select EC_SYSTEM76_EC_LOCKDOWN select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE select MEMORY_MAPPED_TPM diff --git a/src/mainboard/system76/tgl-h/Makefile.mk b/src/mainboard/system76/tgl-h/Makefile.mk index f2fda437b57..89ab94b77e0 100644 --- a/src/mainboard/system76/tgl-h/Makefile.mk +++ b/src/mainboard/system76/tgl-h/Makefile.mk @@ -13,3 +13,4 @@ ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c ramstage-y += variants/$(VARIANT_DIR)/ramstage.c ramstage-$(CONFIG_DRIVERS_I2C_TAS5825M) += variants/$(VARIANT_DIR)/tas5825m.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c diff --git a/src/mainboard/system76/tgl-h/cfr.c b/src/mainboard/system76/tgl-h/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/tgl-h/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/tgl-h/cmos.default b/src/mainboard/system76/tgl-h/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/tgl-h/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/tgl-h/cmos.layout b/src/mainboard/system76/tgl-h/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/tgl-h/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/tgl-u/Kconfig b/src/mainboard/system76/tgl-u/Kconfig index 8da727eb599..1913f76033c 100644 --- a/src/mainboard/system76/tgl-u/Kconfig +++ b/src/mainboard/system76/tgl-u/Kconfig @@ -6,6 +6,7 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_16384 + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_BAYHUB_LV2 select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID @@ -13,12 +14,11 @@ config BOARD_SPECIFIC_OPTIONS select DRIVERS_I2C_HID select DRIVERS_INTEL_PMC select DRIVERS_INTEL_USB4_RETIMER + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select EC_SYSTEM76_EC_DGPU if BOARD_SYSTEM76_GALP5 select EC_SYSTEM76_EC_LOCKDOWN select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select HAVE_SPD_IN_CBFS if BOARD_SYSTEM76_LEMP10 select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE diff --git a/src/mainboard/system76/tgl-u/Makefile.mk b/src/mainboard/system76/tgl-u/Makefile.mk index 28ada02313e..7b3dd9cf88f 100644 --- a/src/mainboard/system76/tgl-u/Makefile.mk +++ b/src/mainboard/system76/tgl-u/Makefile.mk @@ -15,5 +15,6 @@ ramstage-y += ramstage.c ramstage-y += variants/$(VARIANT_DIR)/gpio.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c ramstage-y += variants/$(VARIANT_DIR)/ramstage.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c SPD_SOURCES = samsung-M471A1G44AB0-CWE diff --git a/src/mainboard/system76/tgl-u/cfr.c b/src/mainboard/system76/tgl-u/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/tgl-u/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/tgl-u/cmos.default b/src/mainboard/system76/tgl-u/cmos.default deleted file mode 100644 index d61046df6b0..00000000000 --- a/src/mainboard/system76/tgl-u/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Enable diff --git a/src/mainboard/system76/tgl-u/cmos.layout b/src/mainboard/system76/tgl-u/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/tgl-u/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984 diff --git a/src/mainboard/system76/whl-u/Kconfig b/src/mainboard/system76/whl-u/Kconfig index cacf252cd94..495c6e5e7d6 100644 --- a/src/mainboard/system76/whl-u/Kconfig +++ b/src/mainboard/system76/whl-u/Kconfig @@ -6,14 +6,15 @@ config BOARD_SPECIFIC_OPTIONS def_bool y select AZALIA_USE_LEGACY_VERB_TABLE select BOARD_ROMSIZE_KB_16384 + select CSE_DEFAULT_CFR_OPTION_STATE_DISABLED + select DRIVERS_EFI_VARIABLE_STORE select DRIVERS_GENERIC_CBFS_SERIAL select DRIVERS_GENERIC_CBFS_UUID select DRIVERS_I2C_HID + select DRIVERS_OPTION_CFR_ENABLED select EC_SYSTEM76_EC select HAVE_ACPI_RESUME select HAVE_ACPI_TABLES - select HAVE_CMOS_DEFAULT - select HAVE_OPTION_TABLE select INTEL_GMA_HAVE_VBT select INTEL_LPSS_UART_FOR_CONSOLE select MEMORY_MAPPED_TPM diff --git a/src/mainboard/system76/whl-u/Makefile.mk b/src/mainboard/system76/whl-u/Makefile.mk index bf3828de968..c20ff3ee8b7 100644 --- a/src/mainboard/system76/whl-u/Makefile.mk +++ b/src/mainboard/system76/whl-u/Makefile.mk @@ -8,3 +8,4 @@ bootblock-y += gpio_early.c ramstage-y += ramstage.c ramstage-y += gpio.c ramstage-y += variants/$(VARIANT_DIR)/hda_verb.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c diff --git a/src/mainboard/system76/whl-u/cfr.c b/src/mainboard/system76/whl-u/cfr.c new file mode 100644 index 00000000000..64780a6fe4f --- /dev/null +++ b/src/mainboard/system76/whl-u/cfr.c @@ -0,0 +1,25 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include +#include +#include + +static struct sm_obj_form system_group = { + .ui_name = "System", + .obj_list = (const struct sm_object *[]) { + &debug_level, + &me_state, + &me_state_counter, + NULL + }, +}; + +static struct sm_obj_form *sm_root[] = { + &system_group, + NULL +}; + +void mb_cfr_setup_menu(struct lb_cfr *cfr_root) +{ + cfr_write_setup_menu(cfr_root, sm_root); +} diff --git a/src/mainboard/system76/whl-u/cmos.default b/src/mainboard/system76/whl-u/cmos.default deleted file mode 100644 index 0cc5970e49b..00000000000 --- a/src/mainboard/system76/whl-u/cmos.default +++ /dev/null @@ -1,5 +0,0 @@ -## SPDX-License-Identifier: GPL-2.0-only - -boot_option=Fallback -debug_level=Debug -me_state=Disable diff --git a/src/mainboard/system76/whl-u/cmos.layout b/src/mainboard/system76/whl-u/cmos.layout deleted file mode 100644 index b3df3808ccb..00000000000 --- a/src/mainboard/system76/whl-u/cmos.layout +++ /dev/null @@ -1,43 +0,0 @@ -# SPDX-License-Identifier: GPL-2.0-only - -entries - -0 384 r 0 reserved_memory - -# RTC_BOOT_BYTE (coreboot hardcoded) -384 1 e 4 boot_option -388 4 h 0 reboot_counter - -# RTC_CLK_ALTCENTURY -400 8 r 0 century - -412 4 e 6 debug_level -416 1 e 2 me_state -417 3 h 0 me_state_counter - -# CMOS_VSTART_ramtop -800 80 r 0 ramtop - -984 16 h 0 check_sum - -enumerations - -2 0 Enable -2 1 Disable - -4 0 Fallback -4 1 Normal - -6 0 Emergency -6 1 Alert -6 2 Critical -6 3 Error -6 4 Warning -6 5 Notice -6 6 Info -6 7 Debug -6 8 Spew - -checksums - -checksum 408 799 984