summaryrefslogtreecommitdiff
path: root/src/mainboard
diff options
context:
space:
mode:
authorKyösti Mälkki <kyosti.malkki@gmail.com>2022-11-29 07:36:44 +0200
committerKyösti Mälkki <kyosti.malkki@gmail.com>2023-05-09 18:08:25 +0000
commit923b8ec18085d9b03162a1aae8dfd3aeff2d4fa0 (patch)
treecdba6b55ce4440a0f7e42288d00b46b6414ac979 /src/mainboard
parent0be8ac547c9daa7f9296f3cbfb1599f800d0ee91 (diff)
mb/google,intel: Use common ChromeEC code for SMI APMC
Change-Id: If4b7c2b94e0fec84831740336ccdbea0922ffbfe Signed-off-by: Kyösti Mälkki <kyosti.malkki@gmail.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/74513 Reviewed-by: Elyes Haouas <ehaouas@noos.fr> Reviewed-by: Matt DeVillier <matt.devillier@gmail.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Matt DeVillier <matt.devillier@amd.corp-partner.google.com>
Diffstat (limited to 'src/mainboard')
-rw-r--r--src/mainboard/google/auron/smihandler.c18
-rw-r--r--src/mainboard/google/cyan/smihandler.c18
-rw-r--r--src/mainboard/google/link/smihandler.c18
-rw-r--r--src/mainboard/google/rambi/smihandler.c18
-rw-r--r--src/mainboard/google/slippy/smihandler.c18
-rw-r--r--src/mainboard/intel/strago/smihandler.c18
6 files changed, 12 insertions, 96 deletions
diff --git a/src/mainboard/google/auron/smihandler.c b/src/mainboard/google/auron/smihandler.c
index 6fa95e8dff..42ab937f3a 100644
--- a/src/mainboard/google/auron/smihandler.c
+++ b/src/mainboard/google/auron/smihandler.c
@@ -7,6 +7,7 @@
#include <soc/pm.h>
#include <elog.h>
#include <ec/google/chromeec/ec.h>
+#include <ec/google/chromeec/smm.h>
#include <southbridge/intel/lynxpoint/lp_gpio.h>
#include <soc/iomap.h>
#include <soc/nvs.h>
@@ -103,21 +104,6 @@ void mainboard_smi_sleep(u8 slp_typ)
int mainboard_smi_apmc(u8 apmc)
{
- switch (apmc) {
- case APM_CNT_ACPI_ENABLE:
- google_chromeec_set_smi_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_sci_mask(MAINBOARD_EC_SCI_EVENTS);
- break;
- case APM_CNT_ACPI_DISABLE:
- google_chromeec_set_sci_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_smi_mask(MAINBOARD_EC_SMI_EVENTS);
- break;
- }
+ chromeec_smi_apmc(apmc, MAINBOARD_EC_SCI_EVENTS, MAINBOARD_EC_SMI_EVENTS);
return 0;
}
diff --git a/src/mainboard/google/cyan/smihandler.c b/src/mainboard/google/cyan/smihandler.c
index 7394b78b68..65daab40ef 100644
--- a/src/mainboard/google/cyan/smihandler.c
+++ b/src/mainboard/google/cyan/smihandler.c
@@ -7,6 +7,7 @@
#include <cpu/x86/smm.h>
#include "ec.h"
#include <ec/google/chromeec/ec.h>
+#include <ec/google/chromeec/smm.h>
#include <elog.h>
#include <soc/nvs.h>
#include <soc/pm.h>
@@ -115,21 +116,6 @@ void mainboard_smi_sleep(uint8_t slp_typ)
int mainboard_smi_apmc(uint8_t apmc)
{
- switch (apmc) {
- case APM_CNT_ACPI_ENABLE:
- google_chromeec_set_smi_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_sci_mask(MAINBOARD_EC_SCI_EVENTS);
- break;
- case APM_CNT_ACPI_DISABLE:
- google_chromeec_set_sci_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_smi_mask(MAINBOARD_EC_SMI_EVENTS);
- break;
- }
+ chromeec_smi_apmc(apmc, MAINBOARD_EC_SCI_EVENTS, MAINBOARD_EC_SMI_EVENTS);
return 0;
}
diff --git a/src/mainboard/google/link/smihandler.c b/src/mainboard/google/link/smihandler.c
index 2f42b7da18..0570e2c406 100644
--- a/src/mainboard/google/link/smihandler.c
+++ b/src/mainboard/google/link/smihandler.c
@@ -12,6 +12,7 @@
/* Include EC functions */
#include <ec/google/chromeec/ec.h>
+#include <ec/google/chromeec/smm.h>
#include "ec.h"
static u8 mainboard_smi_ec(void)
@@ -78,21 +79,6 @@ void mainboard_smi_sleep(u8 slp_typ)
int mainboard_smi_apmc(u8 apmc)
{
- switch (apmc) {
- case APM_CNT_ACPI_ENABLE:
- google_chromeec_set_smi_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_sci_mask(LINK_EC_SCI_EVENTS);
- break;
- case APM_CNT_ACPI_DISABLE:
- google_chromeec_set_sci_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_smi_mask(LINK_EC_SMI_EVENTS);
- break;
- }
+ chromeec_smi_apmc(apmc, LINK_EC_SCI_EVENTS, LINK_EC_SMI_EVENTS);
return 0;
}
diff --git a/src/mainboard/google/rambi/smihandler.c b/src/mainboard/google/rambi/smihandler.c
index 358a92f967..29dc8b29ad 100644
--- a/src/mainboard/google/rambi/smihandler.c
+++ b/src/mainboard/google/rambi/smihandler.c
@@ -7,6 +7,7 @@
#include <elog.h>
#include <ec/google/chromeec/ec.h>
+#include <ec/google/chromeec/smm.h>
#include "ec.h"
#include <soc/nvs.h>
@@ -90,21 +91,6 @@ void mainboard_smi_sleep(uint8_t slp_typ)
int mainboard_smi_apmc(uint8_t apmc)
{
- switch (apmc) {
- case APM_CNT_ACPI_ENABLE:
- google_chromeec_set_smi_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_sci_mask(MAINBOARD_EC_SCI_EVENTS);
- break;
- case APM_CNT_ACPI_DISABLE:
- google_chromeec_set_sci_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_smi_mask(MAINBOARD_EC_SMI_EVENTS);
- break;
- }
+ chromeec_smi_apmc(apmc, MAINBOARD_EC_SCI_EVENTS, MAINBOARD_EC_SMI_EVENTS);
return 0;
}
diff --git a/src/mainboard/google/slippy/smihandler.c b/src/mainboard/google/slippy/smihandler.c
index 16a1b18b7a..f02ee403f5 100644
--- a/src/mainboard/google/slippy/smihandler.c
+++ b/src/mainboard/google/slippy/smihandler.c
@@ -14,6 +14,7 @@
/* Include EC functions */
#include <ec/google/chromeec/ec.h>
+#include <ec/google/chromeec/smm.h>
#include "ec.h"
/* Codec enable: GPIO45 */
@@ -106,21 +107,6 @@ void mainboard_smi_sleep(u8 slp_typ)
int mainboard_smi_apmc(u8 apmc)
{
- switch (apmc) {
- case APM_CNT_ACPI_ENABLE:
- google_chromeec_set_smi_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_sci_mask(MAINBOARD_EC_SCI_EVENTS);
- break;
- case APM_CNT_ACPI_DISABLE:
- google_chromeec_set_sci_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_smi_mask(MAINBOARD_EC_SMI_EVENTS);
- break;
- }
+ chromeec_smi_apmc(apmc, MAINBOARD_EC_SCI_EVENTS, MAINBOARD_EC_SMI_EVENTS);
return 0;
}
diff --git a/src/mainboard/intel/strago/smihandler.c b/src/mainboard/intel/strago/smihandler.c
index c660e5a24c..f8f7c57c48 100644
--- a/src/mainboard/intel/strago/smihandler.c
+++ b/src/mainboard/intel/strago/smihandler.c
@@ -7,6 +7,7 @@
#include "ec.h"
#include <ec/google/chromeec/ec.h>
+#include <ec/google/chromeec/smm.h>
#include <elog.h>
#include <soc/nvs.h>
@@ -100,21 +101,6 @@ void mainboard_smi_sleep(uint8_t slp_typ)
int mainboard_smi_apmc(uint8_t apmc)
{
- switch (apmc) {
- case APM_CNT_ACPI_ENABLE:
- google_chromeec_set_smi_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_sci_mask(MAINBOARD_EC_SCI_EVENTS);
- break;
- case APM_CNT_ACPI_DISABLE:
- google_chromeec_set_sci_mask(0);
- /* Clear all pending events */
- while (google_chromeec_get_event() != EC_HOST_EVENT_NONE)
- ;
- google_chromeec_set_smi_mask(MAINBOARD_EC_SMI_EVENTS);
- break;
- }
+ chromeec_smi_apmc(apmc, MAINBOARD_EC_SCI_EVENTS, MAINBOARD_EC_SMI_EVENTS);
return 0;
}