Raul Rangel has uploaded this change for review. ( https://review.coreboot.org/c/coreboot/+/49814 )
Change subject: soc/amd/picasso/acpi: Remove dummy AOAC parent device ......................................................................
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 --- M src/soc/amd/picasso/acpi/aoac.asl M src/soc/amd/picasso/acpi/sb_fch.asl 2 files changed, 43 insertions(+), 56 deletions(-)
git pull ssh://review.coreboot.org:29418/coreboot refs/changes/14/49814/1
diff --git a/src/soc/amd/picasso/acpi/aoac.asl b/src/soc/amd/picasso/acpi/aoac.asl index 7a9a9e6..54d7688 100644 --- a/src/soc/amd/picasso/acpi/aoac.asl +++ b/src/soc/amd/picasso/acpi/aoac.asl @@ -1,7 +1,5 @@ /* 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) { \ OperationRegion (AOAC, SystemMemory, ACPIMMIO_BASE(AOAC) + 0x40 + (DEV_ID << 1), 2) \ @@ -106,27 +104,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 712de66..6a2fc95 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,14 +124,16 @@ } }
- Name (_PR0, Package () { _SB.AOAC.FUR0 }) - Name (_PR2, Package () { _SB.AOAC.FUR0 }) - Name (_PR3, Package () { _SB.AOAC.FUR0 }) + AOAC_DEVICE(AOAC, 11, 0) + + Name (_PR0, Package () { AOAC }) + Name (_PR2, Package () { AOAC }) + Name (_PR3, Package () { AOAC }) Method (_PS0, 0, Serialized) { - _SB.AOAC.FUR0.TDS = 1 + ^AOAC.TDS = 1 } Method (_PS3, 0, Serialized) { - _SB.AOAC.FUR0.TDS = 3 + ^AOAC.TDS = 3 } }
@@ -164,14 +167,16 @@ } }
- Name (_PR0, Package () { _SB.AOAC.FUR1 }) - Name (_PR2, Package () { _SB.AOAC.FUR1 }) - Name (_PR3, Package () { _SB.AOAC.FUR1 }) + AOAC_DEVICE(AOAC, 12, 0) + + Name (_PR0, Package () { AOAC }) + Name (_PR2, Package () { AOAC }) + Name (_PR3, Package () { AOAC }) Method (_PS0, 0, Serialized) { - _SB.AOAC.FUR1.TDS = 1 + ^AOAC.TDS = 1 } Method (_PS3, 0, Serialized) { - _SB.AOAC.FUR1.TDS = 3 + ^AOAC.TDS = 3 } }
@@ -205,14 +210,16 @@ } }
- Name (_PR0, Package () { _SB.AOAC.FUR2 }) - Name (_PR2, Package () { _SB.AOAC.FUR2 }) - Name (_PR3, Package () { _SB.AOAC.FUR2 }) + AOAC_DEVICE(AOAC, 16, 0) + + Name (_PR0, Package () { AOAC }) + Name (_PR2, Package () { AOAC }) + Name (_PR3, Package () { AOAC }) Method (_PS0, 0, Serialized) { - _SB.AOAC.FUR2.TDS = 1 + ^AOAC.TDS = 1 } Method (_PS3, 0, Serialized) { - _SB.AOAC.FUR2.TDS = 3 + ^AOAC.TDS = 3 } }
@@ -246,14 +253,16 @@ } }
- Name (_PR0, Package () { _SB.AOAC.FUR3 }) - Name (_PR2, Package () { _SB.AOAC.FUR3 }) - Name (_PR3, Package () { _SB.AOAC.FUR3 }) + AOAC_DEVICE(AOAC, 26, 0) + + Name (_PR0, Package () { AOAC }) + Name (_PR2, Package () { AOAC }) + Name (_PR3, Package () { AOAC }) Method (_PS0, 0, Serialized) { - _SB.AOAC.FUR3.TDS = 1 + ^AOAC.TDS = 1 } Method (_PS3, 0, Serialized) { - _SB.AOAC.FUR3.TDS = 3 + ^AOAC.TDS = 3 } }
@@ -290,14 +299,16 @@ Return (0x0F) }
- Name (_PR0, Package () { _SB.AOAC.I2C2 }) - Name (_PR2, Package () { _SB.AOAC.I2C2 }) - Name (_PR3, Package () { _SB.AOAC.I2C2 }) + AOAC_DEVICE(AOAC, 7, 0) + + Name (_PR0, Package () { AOAC }) + Name (_PR2, Package () { AOAC }) + Name (_PR3, Package () { AOAC }) Method (_PS0, 0, Serialized) { - _SB.AOAC.I2C2.TDS = 1 + ^AOAC.TDS = 1 } Method (_PS3, 0, Serialized) { - _SB.AOAC.I2C2.TDS = 3 + ^AOAC.TDS = 3 } }
@@ -334,14 +345,16 @@ Return (0x0F) }
- Name (_PR0, Package () { _SB.AOAC.I2C3 }) - Name (_PR2, Package () { _SB.AOAC.I2C3 }) - Name (_PR3, Package () { _SB.AOAC.I2C3 }) + AOAC_DEVICE(AOAC, 8, 0) + + Name (_PR0, Package () { AOAC }) + Name (_PR2, Package () { AOAC }) + Name (_PR3, Package () { AOAC }) Method (_PS0, 0, Serialized) { - _SB.AOAC.I2C3.TDS = 1 + ^AOAC.TDS = 1 } Method (_PS3, 0, Serialized) { - _SB.AOAC.I2C3.TDS = 3 + ^AOAC.TDS = 3 } }