aboutsummaryrefslogtreecommitdiff
path: root/src/northbridge/amd/agesa/family16kb
diff options
context:
space:
mode:
authorMike Banon <mikebdp2@gmail.com>2020-01-19 21:42:09 +0300
committerPatrick Georgi <pgeorgi@google.com>2020-04-22 13:49:05 +0000
commite7f176cd61a7ccb78ab9c015bb79b83ae6aaf071 (patch)
treee50f8edb9d792869da5050a6a01ce7743ca6af34 /src/northbridge/amd/agesa/family16kb
parent4ac376a67b0be2a93a05f4fbf6e72ffab30c700f (diff)
amd/agesa: Make BottomIo position configurable
Some PCI peripherals, such as discrete VGA adapters, require a great amount of memory mapped IO. This patch allows the user to select at build time the bottom IO to leave enough space for such devices. We cannot calculate this value at runtime because it has to be set before the PCI devices are enumerated. 0x80000000 has been successfully boot-tested on A88XM-E (fam15tn), G505S (fam15tn) and AM1I-A (fam16kb). Signed-off-by: Mike Banon <mikebdp2@gmail.com> Change-Id: Ie235631231bcb4aeebaff2e0026da2ea9d82f9d0 Reviewed-on: https://review.coreboot.org/c/coreboot/+/38472 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Michał Żygowski <michal.zygowski@3mdeb.com>
Diffstat (limited to 'src/northbridge/amd/agesa/family16kb')
-rw-r--r--src/northbridge/amd/agesa/family16kb/state_machine.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/northbridge/amd/agesa/family16kb/state_machine.c b/src/northbridge/amd/agesa/family16kb/state_machine.c
index a27962972a..be9adaff4f 100644
--- a/src/northbridge/amd/agesa/family16kb/state_machine.c
+++ b/src/northbridge/amd/agesa/family16kb/state_machine.c
@@ -20,6 +20,9 @@ void platform_BeforeInitPost(struct sysinfo *cb, AMD_POST_PARAMS *Post)
{
AGESA_STATUS status;
+ Post->MemConfig.BottomIo = (UINT16)(MIN(0xE0000000,
+ MAX(0x28000000, CONFIG_BOTTOMIO_POSITION)) >> 24) & 0xF8;
+
if (CONFIG(ENABLE_MRC_CACHE)) {
status = OemInitResume(&Post->MemConfig.MemContext);
if (status == AGESA_SUCCESS)