acpi: Enable 64bit ECAM resource

Adjust ACPI DSDT to support ECAM resource above 4GB by modifying the PCI
ECAM Resource Consumption settings. The changes include specifying a
QWordMemory resource template, accommodating non-cacheable, read-write
attributes, and adjusting the address range.

Change-Id: Idb049d848f2311e27df5279a10c33f9fab259c08
Signed-off-by: Naresh Solanki <naresh.solanki@9elements.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/79096
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Lean Sheng Tan <sheng.tan@9elements.com>
Reviewed-by: Maximilian Brune <maximilian.brune@9elements.com>
Reviewed-by: Felix Held <felix-coreboot@felixheld.de>
Reviewed-by: Nico Huber <nico.h@gmx.de>
This commit is contained in:
Naresh Solanki 2023-11-16 18:25:38 +05:30 committed by Felix Held
parent 16875ec8e3
commit 1d6eeff171
1 changed files with 20 additions and 4 deletions

View File

@ -57,11 +57,27 @@ Scope(\_SB) {
Device (PERC) // PCI ECAM Resource Consumption
{
Name (_HID, EisaId("PNP0C02"))
Name (_CRS, ResourceTemplate()
Method (_CRS, 0, Serialized)
{
Memory32Fixed (ReadWrite, CONFIG_ECAM_MMCONF_BASE_ADDRESS,
CONFIG_ECAM_MMCONF_LENGTH)
Name (RBUF, ResourceTemplate ()
{
QWordMemory (ResourceConsumer, PosDecode, MinFixed, MaxFixed,
NonCacheable, ReadWrite,
0x0000000000000000, // Granularity
0x0000000000000000, // _MIN
0x0000000000000001, // _MAX
0x0000000000000000, // Translation
0x0000000000000002, // _Len
,, _Y00, AddressRangeMemory, TypeStatic)
})
CreateQWordField (RBUF, \_SB.PERC._CRS._Y00._MIN, MIN1)
CreateQWordField (RBUF, \_SB.PERC._CRS._Y00._MAX, MAX1)
CreateQWordField (RBUF, \_SB.PERC._CRS._Y00._LEN, LEN1)
MIN1 = CONFIG_ECAM_MMCONF_BASE_ADDRESS
MAX1 = (MIN1 + CONFIG_ECAM_MMCONF_LENGTH -1)
LEN1 = CONFIG_ECAM_MMCONF_LENGTH
Return (RBUF)
}
}
}
#endif