From e086d149ce9de5d29f1b543a0e71ff61babb0144 Mon Sep 17 00:00:00 2001 From: Tim Crawford Date: Wed, 17 Aug 2022 10:16:53 -0600 Subject: [PATCH] mb/system76: Set SMBIOS wakeup type to power switch Windows hardware tests require this field not be "Reserved". The System76 EC firmware does not report the wake type, so it is not possible to know if the system was powered on from the power switch or Wake-on-LAN. In the case WoL is used, this will report the wrong value. Change-Id: I4653c6bce2a5f0a88281fc810df5646e44f90674 Signed-off-by: Tim Crawford Reviewed-on: https://review.coreboot.org/c/coreboot/+/66837 Tested-by: build bot (Jenkins) Reviewed-by: Jeremy Soller --- src/mainboard/system76/addw1/ramstage.c | 6 ++++++ src/mainboard/system76/bonw14/ramstage.c | 6 ++++++ src/mainboard/system76/cml-u/ramstage.c | 6 ++++++ src/mainboard/system76/gaze15/ramstage.c | 6 ++++++ src/mainboard/system76/gaze16/ramstage.c | 6 ++++++ src/mainboard/system76/kbl-u/ramstage.c | 6 ++++++ src/mainboard/system76/lemp9/ramstage.c | 6 ++++++ src/mainboard/system76/oryp5/ramstage.c | 6 ++++++ src/mainboard/system76/oryp6/ramstage.c | 6 ++++++ src/mainboard/system76/oryp8/ramstage.c | 6 ++++++ src/mainboard/system76/tgl-u/ramstage.c | 6 ++++++ src/mainboard/system76/whl-u/ramstage.c | 6 ++++++ 12 files changed, 72 insertions(+) diff --git a/src/mainboard/system76/addw1/ramstage.c b/src/mainboard/system76/addw1/ramstage.c index ca6f64b158..376849f5a2 100644 --- a/src/mainboard/system76/addw1/ramstage.c +++ b/src/mainboard/system76/addw1/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} static void mainboard_init(void *chip_info) { diff --git a/src/mainboard/system76/bonw14/ramstage.c b/src/mainboard/system76/bonw14/ramstage.c index 43ee54f50a..839b84af1d 100644 --- a/src/mainboard/system76/bonw14/ramstage.c +++ b/src/mainboard/system76/bonw14/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} static void mainboard_init(void *chip_info) { diff --git a/src/mainboard/system76/cml-u/ramstage.c b/src/mainboard/system76/cml-u/ramstage.c index 43ee54f50a..839b84af1d 100644 --- a/src/mainboard/system76/cml-u/ramstage.c +++ b/src/mainboard/system76/cml-u/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} static void mainboard_init(void *chip_info) { diff --git a/src/mainboard/system76/gaze15/ramstage.c b/src/mainboard/system76/gaze15/ramstage.c index ca6f64b158..376849f5a2 100644 --- a/src/mainboard/system76/gaze15/ramstage.c +++ b/src/mainboard/system76/gaze15/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} static void mainboard_init(void *chip_info) { diff --git a/src/mainboard/system76/gaze16/ramstage.c b/src/mainboard/system76/gaze16/ramstage.c index 480c49c4d1..49b9934aed 100644 --- a/src/mainboard/system76/gaze16/ramstage.c +++ b/src/mainboard/system76/gaze16/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} static void mainboard_init(void *chip_info) { diff --git a/src/mainboard/system76/kbl-u/ramstage.c b/src/mainboard/system76/kbl-u/ramstage.c index 43ee54f50a..839b84af1d 100644 --- a/src/mainboard/system76/kbl-u/ramstage.c +++ b/src/mainboard/system76/kbl-u/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} static void mainboard_init(void *chip_info) { diff --git a/src/mainboard/system76/lemp9/ramstage.c b/src/mainboard/system76/lemp9/ramstage.c index aef7f71a0e..a5ada97e5d 100644 --- a/src/mainboard/system76/lemp9/ramstage.c +++ b/src/mainboard/system76/lemp9/ramstage.c @@ -2,6 +2,12 @@ #include #include "gpio.h" +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} void mainboard_silicon_init_params(FSPS_UPD *supd) { diff --git a/src/mainboard/system76/oryp5/ramstage.c b/src/mainboard/system76/oryp5/ramstage.c index 43ee54f50a..839b84af1d 100644 --- a/src/mainboard/system76/oryp5/ramstage.c +++ b/src/mainboard/system76/oryp5/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} static void mainboard_init(void *chip_info) { diff --git a/src/mainboard/system76/oryp6/ramstage.c b/src/mainboard/system76/oryp6/ramstage.c index ca6f64b158..376849f5a2 100644 --- a/src/mainboard/system76/oryp6/ramstage.c +++ b/src/mainboard/system76/oryp6/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} static void mainboard_init(void *chip_info) { diff --git a/src/mainboard/system76/oryp8/ramstage.c b/src/mainboard/system76/oryp8/ramstage.c index a3a83a8877..4975e4cd5c 100644 --- a/src/mainboard/system76/oryp8/ramstage.c +++ b/src/mainboard/system76/oryp8/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} void mainboard_silicon_init_params(FSP_S_CONFIG *params) { diff --git a/src/mainboard/system76/tgl-u/ramstage.c b/src/mainboard/system76/tgl-u/ramstage.c index dd7e73c595..d4cb898146 100644 --- a/src/mainboard/system76/tgl-u/ramstage.c +++ b/src/mainboard/system76/tgl-u/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} void mainboard_silicon_init_params(FSP_S_CONFIG *params) { diff --git a/src/mainboard/system76/whl-u/ramstage.c b/src/mainboard/system76/whl-u/ramstage.c index 43ee54f50a..839b84af1d 100644 --- a/src/mainboard/system76/whl-u/ramstage.c +++ b/src/mainboard/system76/whl-u/ramstage.c @@ -2,6 +2,12 @@ #include #include +#include + +smbios_wakeup_type smbios_system_wakeup_type(void) +{ + return SMBIOS_WAKEUP_TYPE_POWER_SWITCH; +} static void mainboard_init(void *chip_info) {