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>
This commit is contained in:
Raul E Rangel 2021-01-21 15:58:50 -07:00 committed by Felix Held
parent 0698f0f354
commit 7c0e49b24a
2 changed files with 18 additions and 82 deletions

View File

@ -1,9 +1,7 @@
/* SPDX-License-Identifier: GPL-2.0-or-later */ /* SPDX-License-Identifier: GPL-2.0-or-later */
#include <amdblocks/acpimmio_map.h> #define AOAC_DEVICE(DEV_ID, SX) \
PowerResource(AOAC, SX, 0) { \
#define AOAC_DEVICE(DEV_NAME, DEV_ID, SX) \
PowerResource(DEV_NAME, SX, 0) { \
OperationRegion (AOAC, SystemMemory, ACPIMMIO_BASE(AOAC) + 0x40 + (DEV_ID << 1), 2) \ OperationRegion (AOAC, SystemMemory, ACPIMMIO_BASE(AOAC) + 0x40 + (DEV_ID << 1), 2) \
Field (AOAC, ByteAcc, NoLock, Preserve) { \ Field (AOAC, ByteAcc, NoLock, Preserve) { \
/* \ /* \
@ -105,28 +103,13 @@
Stall (100) \ 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)
}

View File

@ -3,6 +3,7 @@
#include <soc/gpio.h> #include <soc/gpio.h>
#include <soc/iomap.h> #include <soc/iomap.h>
#include <amdblocks/acpimmio_map.h> #include <amdblocks/acpimmio_map.h>
#include <aoac.asl>
Device (AAHB) Device (AAHB)
{ {
@ -123,15 +124,7 @@ Device (FUR0)
} }
} }
Name (_PR0, Package () { \_SB.AOAC.FUR0 }) AOAC_DEVICE(11, 0)
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
}
} }
Device (FUR1) { Device (FUR1) {
@ -164,15 +157,7 @@ Device (FUR1) {
} }
} }
Name (_PR0, Package () { \_SB.AOAC.FUR1 }) AOAC_DEVICE(12, 0)
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
}
} }
Device (FUR2) { Device (FUR2) {
@ -205,15 +190,7 @@ Device (FUR2) {
} }
} }
Name (_PR0, Package () { \_SB.AOAC.FUR2 }) AOAC_DEVICE(16, 0)
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
}
} }
Device (FUR3) { Device (FUR3) {
@ -246,15 +223,7 @@ Device (FUR3) {
} }
} }
Name (_PR0, Package () { \_SB.AOAC.FUR3 }) AOAC_DEVICE(26, 0)
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
}
} }
Device (I2C2) { Device (I2C2) {
@ -290,15 +259,7 @@ Device (I2C2) {
Return (0x0F) Return (0x0F)
} }
Name (_PR0, Package () { \_SB.AOAC.I2C2 }) AOAC_DEVICE(7, 0)
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
}
} }
Device (I2C3) Device (I2C3)
@ -334,15 +295,7 @@ Device (I2C3)
Return (0x0F) Return (0x0F)
} }
Name (_PR0, Package () { \_SB.AOAC.I2C3 }) AOAC_DEVICE(8, 0)
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
}
} }
Device (MISC) Device (MISC)