summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/mainboard/google/octopus/smihandler.c7
-rw-r--r--src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h3
2 files changed, 10 insertions, 0 deletions
diff --git a/src/mainboard/google/octopus/smihandler.c b/src/mainboard/google/octopus/smihandler.c
index 27928eec0f..855c9825e8 100644
--- a/src/mainboard/google/octopus/smihandler.c
+++ b/src/mainboard/google/octopus/smihandler.c
@@ -39,6 +39,8 @@ void mainboard_smi_sleep(u8 slp_typ)
pads = variant_sleep_gpio_table(&num, slp_typ);
gpio_configure_pads(pads, num);
+ variant_smi_sleep(slp_typ);
+
chromeec_smi_sleep(slp_typ, MAINBOARD_EC_S3_WAKE_EVENTS,
MAINBOARD_EC_S5_WAKE_EVENTS);
}
@@ -60,3 +62,8 @@ void elog_gsmi_cb_mainboard_log_wake_source(void)
google_chromeec_log_events(MAINBOARD_EC_LOG_EVENTS |
MAINBOARD_EC_S0IX_WAKE_EVENTS);
}
+
+void __weak variant_smi_sleep(u8 slp_typ)
+{
+ /* Leave for the variant to implement if necessary. */
+}
diff --git a/src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h
index 33a8f52527..140beb4649 100644
--- a/src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/octopus/variants/baseboard/include/baseboard/variants.h
@@ -51,4 +51,7 @@ void variant_update_devtree(struct device *dev);
/* Get no touchscreen SKU ID. */
bool no_touchscreen_sku(uint32_t sku_id);
+/* allow each variants to customize smi sleep flow. */
+void variant_smi_sleep(u8 slp_typ);
+
#endif /* BASEBOARD_VARIANTS_H */