OXPCIe: Reinitialize UART after pci_dev_set_resources()
... and only pull in early init code if the OXPCIe is used for console. Change-Id: I01feca3b9e8376a75c17554ba1bd200d523dff8d Signed-off-by: Stefan Reinauer <reinauer@google.com> Reviewed-on: http://review.coreboot.org/692 Tested-by: build bot (Jenkins) Reviewed-by: Ronald G. Minnich <rminnich@gmail.com>
This commit is contained in:
parent
8907e81626
commit
dfab0f69ae
|
@ -1,3 +1,5 @@
|
|||
driver-$(CONFIG_DRIVERS_OXFORD_OXPCIE) += oxpcie.c
|
||||
|
||||
ifeq ($(CONFIG_CONSOLE_SERIAL8250MEM),y)
|
||||
romstage-$(CONFIG_DRIVERS_OXFORD_OXPCIE) += oxpcie_early.c
|
||||
endif
|
||||
|
|
|
@ -23,7 +23,6 @@
|
|||
#include <device/pci_ids.h>
|
||||
#include <console/console.h>
|
||||
#include <arch/io.h>
|
||||
#include <uart8250.h>
|
||||
|
||||
static void oxford_oxpcie_enable(device_t dev)
|
||||
{
|
||||
|
@ -41,9 +40,20 @@ static void oxford_oxpcie_enable(device_t dev)
|
|||
(read32(res->base + 4) & 3));
|
||||
}
|
||||
|
||||
|
||||
static void oxford_oxpcie_set_resources(struct device *dev)
|
||||
{
|
||||
pci_dev_set_resources(dev);
|
||||
|
||||
#if CONFIG_CONSOLE_SERIAL8250MEM
|
||||
/* Re-initialize OXPCIe base address after set_resources */
|
||||
uartmem_init();
|
||||
#endif
|
||||
}
|
||||
|
||||
static struct device_operations oxford_oxpcie_ops = {
|
||||
.read_resources = pci_dev_read_resources,
|
||||
.set_resources = pci_dev_set_resources,
|
||||
.set_resources = oxford_oxpcie_set_resources,
|
||||
.enable_resources = pci_dev_enable_resources,
|
||||
.init = oxford_oxpcie_enable,
|
||||
.scan_bus = 0,
|
||||
|
|
Loading…
Reference in New Issue