From 27c3dcb522722026479462dddee6ebd9f2b49486 Mon Sep 17 00:00:00 2001 From: Ricardo Ribalda Delgado Date: Wed, 28 Dec 2016 15:16:22 +0100 Subject: [PATCH] UPSTREAM: amd/pi: Make BottomIo position configurable Some PCI peripherals, such as FPGA accelerators, 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. BUG=none BRANCH=none TEST=none Change-Id: If3289ef28c08a2e18b0095ff2be3091e40f1acfa Signed-off-by: Patrick Georgi Original-Commit-Id: a132892de696d011e61cea2828c0e4c93fc3b3aa Original-Change-Id: Ic590e8aa8b91ff89877cbff6afd10614d33dcf8d Original-Credit-to: Kysti Mlkki Original-Signed-off-by: Ricardo Ribalda Delgado Original-Reviewed-on: https://review.coreboot.org/17980 Original-Tested-by: build bot (Jenkins) Original-Reviewed-by: Paul Menzel Original-Reviewed-by: Marshall Dawson Reviewed-on: https://chromium-review.googlesource.com/427463 --- src/northbridge/amd/pi/Kconfig | 12 ++++++++++++ src/northbridge/amd/pi/agesawrapper.c | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/northbridge/amd/pi/Kconfig b/src/northbridge/amd/pi/Kconfig index 122b0e6d32..f5f36f8802 100644 --- a/src/northbridge/amd/pi/Kconfig +++ b/src/northbridge/amd/pi/Kconfig @@ -20,6 +20,18 @@ config NORTHBRIDGE_AMD_PI if NORTHBRIDGE_AMD_PI +config BOTTOMIO_POSITION + hex "Bottom of 32-bit IO space" + default 0xD0000000 + help + If PCI peripherals with big BARs are connected to the system + the bottom of the IO must be decreased to allocate such + devices. + + Declare the beginning of the 128MB-aligned MMIO region. This + option is useful when PCI peripherals requesting large address + ranges are present. + config CONSOLE_VGA_MULTI bool default n diff --git a/src/northbridge/amd/pi/agesawrapper.c b/src/northbridge/amd/pi/agesawrapper.c index 8e16e750d0..0fe8eab01c 100644 --- a/src/northbridge/amd/pi/agesawrapper.c +++ b/src/northbridge/amd/pi/agesawrapper.c @@ -140,7 +140,8 @@ AGESA_STATUS agesawrapper_amdinitpost(void) // the compiler to flag the error if CONFIG_GFXUMA is not set. PostParams->MemConfig.UmaMode = CONFIG_GFXUMA ? UMA_AUTO : UMA_NONE; PostParams->MemConfig.UmaSize = 0; - PostParams->MemConfig.BottomIo = (UINT16)(0xD0000000 >> 24); + PostParams->MemConfig.BottomIo = (UINT16) + (CONFIG_BOTTOMIO_POSITION >> 24); status = AmdInitPost (PostParams); printk( BIOS_SPEW,