From bdbf345eb81bec1f25e3c490f99981623e200210 Mon Sep 17 00:00:00 2001 From: Anand Vaikar Date: Sat, 12 Apr 2025 13:16:28 +0530 Subject: [PATCH] soc/amd/cezanne: Enable system wake up from ACPI S3 using USB keyboard TEST: Tested by entering ACPI S3 sleep state and pressing any key on USB keyboard wakes up the system. Change-Id: Ieed635a7199f53c2e7c69c8f17b3ef50b76b8d91 Signed-off-by: Anand Vaikar Reviewed-on: https://review.coreboot.org/c/coreboot/+/87287 Reviewed-by: Felix Held Tested-by: build bot (Jenkins) --- src/soc/amd/cezanne/include/soc/smu.h | 1 + src/soc/amd/cezanne/smihandler.c | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/soc/amd/cezanne/include/soc/smu.h b/src/soc/amd/cezanne/include/soc/smu.h index 9216a38e8b..36b1969d31 100644 --- a/src/soc/amd/cezanne/include/soc/smu.h +++ b/src/soc/amd/cezanne/include/soc/smu.h @@ -12,6 +12,7 @@ enum smu_message_id { SMC_MSG_S3ENTRY = 0x0b, + SMC_MSG_USBS3ENTRY = 0x27, }; /* diff --git a/src/soc/amd/cezanne/smihandler.c b/src/soc/amd/cezanne/smihandler.c index 8b8382cf89..1b6e91cb4c 100644 --- a/src/soc/amd/cezanne/smihandler.c +++ b/src/soc/amd/cezanne/smihandler.c @@ -6,6 +6,7 @@ #include #include #include +#include #include #include #include @@ -29,6 +30,7 @@ static void fch_slp_typ_handler(void) uint32_t pci_ctrl, reg32; uint16_t pm1cnt, reg16; uint8_t slp_typ, rst_ctrl; + struct smu_payload msg = { 0 }; /* Figure out SLP_TYP */ pm1cnt = acpi_read16(MMIO_ACPI_PM1_CNT_BLK); @@ -96,8 +98,10 @@ static void fch_slp_typ_handler(void) reg32); } /* if (CONFIG(ELOG_GSMI)) */ - if (slp_typ == ACPI_S3) + if (slp_typ == ACPI_S3) { psp_notify_sx_info(ACPI_S3); + send_smu_message(SMC_MSG_USBS3ENTRY, &msg); + } smu_sx_entry(); /* Leave SlpTypeEn clear, SMU will set */ printk(BIOS_ERR, "System did not go to sleep\n");