summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarthikeyan Ramasubramanian <kramasub@google.com>2020-08-19 12:40:25 -0600
committerPatrick Georgi <pgeorgi@google.com>2020-11-09 07:37:01 +0000
commit2313e54bf91761e61c777a699cf4047a5f4689cc (patch)
treeb255fa3852c8fcd6213ce99a574883b86367c6e8
parent5eac877b75f4c21970f4df777461879aeec2520e (diff)
mb/google/dedede: Add support for variant specific SMI sleep flow
This support is required to power off certain components that exist only in certain variants. BUG=None TEST=Build and boot Boten to OS. Change-Id: Ib43ada784666919a4d26246a683dad7f3546fabb Signed-off-by: Karthikeyan Ramasubramanian <kramasub@google.com> Reviewed-on: https://review.coreboot.org/c/coreboot/+/44587 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Peichao Wang <pwang12@lenovo.corp-partner.google.com> Reviewed-by: Marco Chen <marcochen@google.com> Reviewed-by: Furquan Shaikh <furquan@google.com>
-rw-r--r--src/mainboard/google/dedede/smihandler.c6
-rw-r--r--src/mainboard/google/dedede/variants/baseboard/include/baseboard/variants.h3
2 files changed, 9 insertions, 0 deletions
diff --git a/src/mainboard/google/dedede/smihandler.c b/src/mainboard/google/dedede/smihandler.c
index 20f0207edb..c50578da70 100644
--- a/src/mainboard/google/dedede/smihandler.c
+++ b/src/mainboard/google/dedede/smihandler.c
@@ -21,6 +21,8 @@ void mainboard_smi_sleep(u8 slp_typ)
pads = variant_sleep_gpio_table(&num);
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);
}
@@ -41,3 +43,7 @@ void mainboard_smi_espi_handler(void)
{
chromeec_smi_process_events();
}
+
+void __weak variant_smi_sleep(u8 slp_typ)
+{
+}
diff --git a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/variants.h b/src/mainboard/google/dedede/variants/baseboard/include/baseboard/variants.h
index bb41e45931..e7bfd868aa 100644
--- a/src/mainboard/google/dedede/variants/baseboard/include/baseboard/variants.h
+++ b/src/mainboard/google/dedede/variants/baseboard/include/baseboard/variants.h
@@ -36,4 +36,7 @@ int variant_memory_sku(void);
*/
bool variant_mem_is_half_populated(void);
+/* Allow each variants to customize SMI sleep flow. */
+void variant_smi_sleep(u8 slp_typ);
+
#endif /*__BASEBOARD_VARIANTS_H__ */