summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJason Glenesk <jason.glenesk@amd.corp-partner.google.com>2021-03-10 02:47:05 -0800
committerPatrick Georgi <pgeorgi@google.com>2021-04-16 06:52:19 +0000
commitfff318fbce753e3148ae2d22f7518fb060d7a652 (patch)
treeeffbf952cd4cf5c16df1b613a8a64f05dc4c09cb
parent23cc165d6a02020ff408bdcc56a07cd9dc9a2105 (diff)
soc/amd/cezanne: Update FADT to support S0i3
Set ACPI_FADT_LOW_PWR_IDLE_S0 flag in FADT. BUG=b:178728116 TEST=Dump FACP and confirm Flags bits match expected. Change-Id: I59ef762a18903135f9daa902ba8d1e40c451e96c Signed-off-by: Jason Glenesk <jason.glenesk@amd.corp-partner.google.com> Signed-off-by: Mathew King <mathewk@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/52035 Reviewed-by: Raul Rangel <rrangel@chromium.org> Reviewed-by: Marshall Dawson <marshalldawson3rd@gmail.com> Reviewed-by: Karthik Ramasubramanian <kramasub@google.com> Reviewed-by: Furquan Shaikh <furquan@google.com> Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
-rw-r--r--src/soc/amd/cezanne/acpi.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/soc/amd/cezanne/acpi.c b/src/soc/amd/cezanne/acpi.c
index 30201f7b2c..b3931799b1 100644
--- a/src/soc/amd/cezanne/acpi.c
+++ b/src/soc/amd/cezanne/acpi.c
@@ -56,7 +56,7 @@ unsigned long acpi_fill_madt(unsigned long current)
*/
void acpi_fill_fadt(acpi_fadt_t *fadt)
{
- const struct soc_amd_common_config *cfg = soc_get_common_config();
+ const struct soc_amd_cezanne_config *cfg = config_of_soc();
printk(BIOS_DEBUG, "pm_base: 0x%04x\n", ACPI_IO_BASE);
@@ -87,7 +87,7 @@ void acpi_fill_fadt(acpi_fadt_t *fadt)
fadt->day_alrm = RTC_DATE_ALARM;
fadt->mon_alrm = 0;
fadt->century = RTC_ALT_CENTURY;
- fadt->iapc_boot_arch = cfg->fadt_boot_arch; /* legacy free default */
+ fadt->iapc_boot_arch = cfg->common_config.fadt_boot_arch; /* legacy free default */
fadt->flags |= ACPI_FADT_WBINVD | /* See table 5-34 ACPI 6.3 spec */
ACPI_FADT_C1_SUPPORTED |
ACPI_FADT_S4_RTC_WAKE |
@@ -96,7 +96,10 @@ void acpi_fill_fadt(acpi_fadt_t *fadt)
ACPI_FADT_PLATFORM_CLOCK |
ACPI_FADT_S4_RTC_VALID |
ACPI_FADT_REMOTE_POWER_ON;
- fadt->flags |= cfg->fadt_flags; /* additional board-specific flags */
+ if (cfg->s0ix_enable)
+ fadt->flags |= ACPI_FADT_LOW_PWR_IDLE_S0;
+
+ fadt->flags |= cfg->common_config.fadt_flags; /* additional board-specific flags */
fadt->x_pm1a_evt_blk.space_id = ACPI_ADDRESS_SPACE_IO;
fadt->x_pm1a_evt_blk.bit_width = 32;