Patrick Rudolph has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/78283?usp=email )
Change subject: [WIP]sb/intel/i82801ix: Support CFR ......................................................................
[WIP]sb/intel/i82801ix: Support CFR
Change-Id: I83ee5b67a0caf4edea7b45b5bb2b514c13a9c034 Signed-off-by: Patrick Rudolph patrick.rudolph@9elements.com --- M src/southbridge/intel/i82801ix/Makefile.inc A src/southbridge/intel/i82801ix/cfr.c 2 files changed, 59 insertions(+), 0 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/83/78283/1
diff --git a/src/southbridge/intel/i82801ix/Makefile.inc b/src/southbridge/intel/i82801ix/Makefile.inc index 8db30ad..8c53a95 100644 --- a/src/southbridge/intel/i82801ix/Makefile.inc +++ b/src/southbridge/intel/i82801ix/Makefile.inc @@ -19,6 +19,7 @@ ramstage-y += thermal.c ramstage-y += usb_ehci.c ramstage-y += ../common/pciehp.c +ramstage-$(CONFIG_DRIVERS_OPTION_CFR) += cfr.c
smm-y += smihandler.c
diff --git a/src/southbridge/intel/i82801ix/cfr.c b/src/southbridge/intel/i82801ix/cfr.c new file mode 100644 index 0000000..a7cd947 --- /dev/null +++ b/src/southbridge/intel/i82801ix/cfr.c @@ -0,0 +1,58 @@ +/* SPDX-License-Identifier: GPL-2.0-only */ + +#include <drivers/option/cfr.h> +#include <inttypes.h> +#include <types.h> +#include <device/pci_ops.h> + +#include "i82801ix.h" + +static const struct sm_enum_value sata_values[] = { + { "AHCI", 0}, + { "IDE", 1}, + SM_ENUM_VALUE_END, +}; + +static struct sm_object sata_mode = SM_DECLARE_ENUM({ + .flags = CFR_OPTFLAG_RUNTIME, + .opt_name = "sata_mode", + .ui_name = "SATA controller mode", + .ui_helptext = "Configure SATA controller in IDE or AHCI mode.\n" + "Select IDE if your OS doesn't support AHCI.", + .default_value = 0, + .values = sata_values, +}); + +static const struct sm_enum_value power_values[] = { + { "Off", MAINBOARD_POWER_OFF}, + { "On", MAINBOARD_POWER_ON}, + { "Previous Powerstate", MAINBOARD_POWER_KEEP}, + SM_ENUM_VALUE_END, +}; + +static struct sm_object power_on_after_fail = SM_DECLARE_ENUM({ + .flags = CFR_OPTFLAG_RUNTIME, + .opt_name = "power_on_after_fail", + .ui_name = "Behaviour after power loss", + .ui_helptext = "The new power state after AC power has been restored.", + .default_value = 0, + .values = power_values, +}); + +static struct sm_object nmi = SM_DECLARE_BOOL({ + .flags = CFR_OPTFLAG_RUNTIME, + .opt_name = "nmi", + .ui_name = "Enable NMI", + .ui_helptext = NULL, + .default_value = false, +}); + +static __cfr_form struct sm_obj_form southbridge = { + .ui_name = "Southbridge", + .obj_list = { + &power_on_after_fail, + &nmi, + &sata_mode, + NULL + }, +}; \ No newline at end of file