summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKangheui Won <khwon@chromium.org>2020-08-06 19:03:23 +1000
committerAaron Durbin <adurbin@chromium.org>2020-08-11 23:16:42 +0000
commit7fe005ff30177db96d2ad31742404ac91330700e (patch)
tree482acf407371bf0655531f2d8a397b045c4357da
parent108570654ed2b8a585414d70003e634d9667220b (diff)
amd/picasso/acpi: Add power resources for UART0
Follow-up for a31a769 - "amd/picasso/acpi: Add power resources for I2C and UART". Now PSP properly handles UART0 D3, we can shutdown UART0. BUG=b:158772504 TEST=suspend_stress_test for 50 cycles, * echo 1 > /sys/module/acpi/parameters/aml_debug_output * dmesg | grep FUR to check on&off for FUR0 [ 2413.647500] ACPI Debug: "AOAC.FUR0._OFF" [ 2413.736265] ACPI Debug: "AOAC.FUR0._ON" Change-Id: I25457e18b69d28a83e42c2fe02b45a3979ad58cd Signed-off-by: Kangheui Won <khwon@chromium.org> Reviewed-on: https://review.coreboot.org/c/coreboot/+/44266 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Raul Rangel <rrangel@chromium.org> Reviewed-by: Aaron Durbin <adurbin@chromium.org>
-rw-r--r--src/soc/amd/picasso/acpi/aoac.asl1
-rw-r--r--src/soc/amd/picasso/acpi/sb_fch.asl12
2 files changed, 13 insertions, 0 deletions
diff --git a/src/soc/amd/picasso/acpi/aoac.asl b/src/soc/amd/picasso/acpi/aoac.asl
index 727b9bb444..ffdfcd451c 100644
--- a/src/soc/amd/picasso/acpi/aoac.asl
+++ b/src/soc/amd/picasso/acpi/aoac.asl
@@ -139,6 +139,7 @@ Device (AOAC) {
AOAC_DEVICE(I2C2, 7, 0)
AOAC_DEVICE(I2C3, 8, 0)
+ AOAC_DEVICE(FUR0, 11, 0)
AOAC_DEVICE(FUR1, 12, 0)
AOAC_DEVICE(FUR2, 16, 0)
AOAC_DEVICE(FUR3, 26, 0)
diff --git a/src/soc/amd/picasso/acpi/sb_fch.asl b/src/soc/amd/picasso/acpi/sb_fch.asl
index 4eca52c048..6cbfc5f664 100644
--- a/src/soc/amd/picasso/acpi/sb_fch.asl
+++ b/src/soc/amd/picasso/acpi/sb_fch.asl
@@ -122,6 +122,18 @@ Device (FUR0)
Return (Local0)
}
}
+
+ Name (_PR0, Package () { \_SB.AOAC.FUR0 })
+ Name (_PR2, Package () { \_SB.AOAC.FUR0 })
+ Name (_PR3, Package () { \_SB.AOAC.FUR0 })
+ Method (_PS0, 0, Serialized) {
+ Printf("FUR0._PS0")
+ \_SB.AOAC.FUR0.TDS = 1
+ }
+ Method (_PS3, 0, Serialized) {
+ Printf("FUR0._PS3")
+ \_SB.AOAC.FUR0.TDS = 3
+ }
}
Device (FUR1) {