From 6902df56a0b493f369153b09d11afcd74a580561 Mon Sep 17 00:00:00 2001 From: Rafal Jaworowski Date: Mon, 17 Oct 2005 02:39:53 +0200 Subject: Add PCI support for the TQM834x board. --- drivers/pci.c | 2 +- drivers/pci_auto.c | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) (limited to 'drivers') diff --git a/drivers/pci.c b/drivers/pci.c index c618f5b..5360030 100644 --- a/drivers/pci.c +++ b/drivers/pci.c @@ -142,7 +142,7 @@ struct pci_controller *pci_bus_to_hose (int bus) if (bus >= hose->first_busno && bus <= hose->last_busno) return hose; - debug ("pci_bus_to_hose() failed\n"); + printf("pci_bus_to_hose() failed\n"); return NULL; } diff --git a/drivers/pci_auto.c b/drivers/pci_auto.c index 3f26886..3302457 100644 --- a/drivers/pci_auto.c +++ b/drivers/pci_auto.c @@ -319,7 +319,18 @@ int pciauto_config_device(struct pci_controller *hose, pci_dev_t dev) PCI_DEV(dev)); break; #endif - +#ifdef CONFIG_MPC834X + case PCI_CLASS_BRIDGE_OTHER: + /* + * The host/PCI bridge 1 seems broken in 8349 - it presents + * itself as 'PCI_CLASS_BRIDGE_OTHER' and appears as an _agent_ + * device claiming resources io/mem/irq.. we only allow for + * the PIMMR window to be allocated (BAR0 - 1MB size) + */ + DEBUGF("PCI Autoconfig: Broken bridge found, only minimal config\n"); + pciauto_setup_device(hose, dev, 0, hose->pci_mem, hose->pci_io); + break; +#endif default: pciauto_setup_device(hose, dev, 6, hose->pci_mem, hose->pci_io); break; -- cgit v1.1