summaryrefslogtreecommitdiff
path: root/src/soc/amd/picasso/acpi
diff options
context:
space:
mode:
authorRaul E Rangel <rrangel@chromium.org>2021-01-21 15:58:50 -0700
committerFelix Held <felix-coreboot@felixheld.de>2021-01-23 17:31:12 +0000
commit7c0e49b24aba20a4c1057df6862e736d436ff668 (patch)
tree092e32a5ec391a3e089c8ded5d328695b1d1e960 /src/soc/amd/picasso/acpi
parent0698f0f3549fd0738497dfb9994b25be0069d54a (diff)
soc/amd/picasso/acpi: Remove dummy AOAC parent device
The dummy AOAC parent device was nice because it grouped all the AOAC devices. Unfortunately windows doesn't like this dummy device and causes "Not Found" errors. This change moves the AOAC devices to the actual devices that use them. BUG=b:175146875 TEST=Boot linux and make sure power resources are enabled/disabled. Signed-off-by: Raul E Rangel <rrangel@chromium.org> Change-Id: Idd4a94baa4358ee4f15c461a5bb54ca925023a13 Reviewed-on: https://review.coreboot.org/c/coreboot/+/49814 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Diffstat (limited to 'src/soc/amd/picasso/acpi')
-rw-r--r--src/soc/amd/picasso/acpi/aoac.asl39
-rw-r--r--src/soc/amd/picasso/acpi/sb_fch.asl61
2 files changed, 18 insertions, 82 deletions
diff --git a/src/soc/amd/picasso/acpi/aoac.asl b/src/soc/amd/picasso/acpi/aoac.asl
index 7a9a9e628f..d7523dfe23 100644
--- a/src/soc/amd/picasso/acpi/aoac.asl
+++ b/src/soc/amd/picasso/acpi/aoac.asl
@@ -1,9 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */
-#include <amdblocks/acpimmio_map.h>
-
-#define AOAC_DEVICE(DEV_NAME, DEV_ID, SX) \
- PowerResource(DEV_NAME, SX, 0) { \
+#define AOAC_DEVICE(DEV_ID, SX) \
+ PowerResource(AOAC, SX, 0) { \
OperationRegion (AOAC, SystemMemory, ACPIMMIO_BASE(AOAC) + 0x40 + (DEV_ID << 1), 2) \
Field (AOAC, ByteAcc, NoLock, Preserve) { \
/* \
@@ -105,28 +103,13 @@
Stall (100) \
} \
} \
+ } \
+ Name (_PR0, Package () { AOAC }) \
+ Name (_PR2, Package () { AOAC }) \
+ Name (_PR3, Package () { AOAC }) \
+ Method (_PS0, 0, Serialized) { \
+ ^AOAC.TDS = 1 \
+ } \
+ Method (_PS3, 0, Serialized) { \
+ ^AOAC.TDS = 3 \
}
-
-
-Device (AOAC) {
- Name (_HID, EISAID("PNP0C02")) // ID for Motherboard resources
-
- Method (_STA, 0x0, NotSerialized)
- {
- /*
- * This case is used to indicate a valid device for which no
- * device driver should be loaded (for example, a bridge
- * device.) Children of this device may be present and valid.
- * OSPM should continue enumeration below a device whose _STA
- * returns this bit combination.
- */
- Return (0x08)
- }
-
- 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 712de6618f..895abfd70c 100644
--- a/src/soc/amd/picasso/acpi/sb_fch.asl
+++ b/src/soc/amd/picasso/acpi/sb_fch.asl
@@ -3,6 +3,7 @@
#include <soc/gpio.h>
#include <soc/iomap.h>
#include <amdblocks/acpimmio_map.h>
+#include <aoac.asl>
Device (AAHB)
{
@@ -123,15 +124,7 @@ Device (FUR0)
}
}
- Name (_PR0, Package () { \_SB.AOAC.FUR0 })
- Name (_PR2, Package () { \_SB.AOAC.FUR0 })
- Name (_PR3, Package () { \_SB.AOAC.FUR0 })
- Method (_PS0, 0, Serialized) {
- \_SB.AOAC.FUR0.TDS = 1
- }
- Method (_PS3, 0, Serialized) {
- \_SB.AOAC.FUR0.TDS = 3
- }
+ AOAC_DEVICE(11, 0)
}
Device (FUR1) {
@@ -164,15 +157,7 @@ Device (FUR1) {
}
}
- Name (_PR0, Package () { \_SB.AOAC.FUR1 })
- Name (_PR2, Package () { \_SB.AOAC.FUR1 })
- Name (_PR3, Package () { \_SB.AOAC.FUR1 })
- Method (_PS0, 0, Serialized) {
- \_SB.AOAC.FUR1.TDS = 1
- }
- Method (_PS3, 0, Serialized) {
- \_SB.AOAC.FUR1.TDS = 3
- }
+ AOAC_DEVICE(12, 0)
}
Device (FUR2) {
@@ -205,15 +190,7 @@ Device (FUR2) {
}
}
- Name (_PR0, Package () { \_SB.AOAC.FUR2 })
- Name (_PR2, Package () { \_SB.AOAC.FUR2 })
- Name (_PR3, Package () { \_SB.AOAC.FUR2 })
- Method (_PS0, 0, Serialized) {
- \_SB.AOAC.FUR2.TDS = 1
- }
- Method (_PS3, 0, Serialized) {
- \_SB.AOAC.FUR2.TDS = 3
- }
+ AOAC_DEVICE(16, 0)
}
Device (FUR3) {
@@ -246,15 +223,7 @@ Device (FUR3) {
}
}
- Name (_PR0, Package () { \_SB.AOAC.FUR3 })
- Name (_PR2, Package () { \_SB.AOAC.FUR3 })
- Name (_PR3, Package () { \_SB.AOAC.FUR3 })
- Method (_PS0, 0, Serialized) {
- \_SB.AOAC.FUR3.TDS = 1
- }
- Method (_PS3, 0, Serialized) {
- \_SB.AOAC.FUR3.TDS = 3
- }
+ AOAC_DEVICE(26, 0)
}
Device (I2C2) {
@@ -290,15 +259,7 @@ Device (I2C2) {
Return (0x0F)
}
- Name (_PR0, Package () { \_SB.AOAC.I2C2 })
- Name (_PR2, Package () { \_SB.AOAC.I2C2 })
- Name (_PR3, Package () { \_SB.AOAC.I2C2 })
- Method (_PS0, 0, Serialized) {
- \_SB.AOAC.I2C2.TDS = 1
- }
- Method (_PS3, 0, Serialized) {
- \_SB.AOAC.I2C2.TDS = 3
- }
+ AOAC_DEVICE(7, 0)
}
Device (I2C3)
@@ -334,15 +295,7 @@ Device (I2C3)
Return (0x0F)
}
- Name (_PR0, Package () { \_SB.AOAC.I2C3 })
- Name (_PR2, Package () { \_SB.AOAC.I2C3 })
- Name (_PR3, Package () { \_SB.AOAC.I2C3 })
- Method (_PS0, 0, Serialized) {
- \_SB.AOAC.I2C3.TDS = 1
- }
- Method (_PS3, 0, Serialized) {
- \_SB.AOAC.I2C3.TDS = 3
- }
+ AOAC_DEVICE(8, 0)
}
Device (MISC)