summaryrefslogtreecommitdiff
path: root/drivers/pci_auto.c
diff options
context:
space:
mode:
authorMarkus Klotzbuecher <mk@denx.de>2007-05-07 14:10:38 +0200
committerMarkus Klotzbuecher <mk@pollux.denx.de>2007-05-07 14:10:38 +0200
commit6ede0c8b69ad1e6b16463ec75a6dccca152c4b17 (patch)
tree978dcbd6189998876bb227ae5bbea03000a2f9c5 /drivers/pci_auto.c
parent61ea75aa07838435ec570ac85a2e3fc038844596 (diff)
parentac4cd59d59c9bf3f89cb7a344abf8184d678f562 (diff)
downloadu-boot-imx-6ede0c8b69ad1e6b16463ec75a6dccca152c4b17.zip
u-boot-imx-6ede0c8b69ad1e6b16463ec75a6dccca152c4b17.tar.gz
u-boot-imx-6ede0c8b69ad1e6b16463ec75a6dccca152c4b17.tar.bz2
Merge with git://www.denx.de/git/u-boot.git
Diffstat (limited to 'drivers/pci_auto.c')
-rw-r--r--drivers/pci_auto.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/pci_auto.c b/drivers/pci_auto.c
index 9691675..f170c2d 100644
--- a/drivers/pci_auto.c
+++ b/drivers/pci_auto.c
@@ -34,7 +34,12 @@
void pciauto_region_init(struct pci_region* res)
{
- res->bus_lower = res->bus_start;
+ /*
+ * Avoid allocating PCI resources from address 0 -- this is illegal
+ * according to PCI 2.1 and moreover, this is known to cause Linux IDE
+ * drivers to fail. Use a reasonable starting value of 0x1000 instead.
+ */
+ res->bus_lower = res->bus_start ? res->bus_start : 0x1000;
}
void pciauto_region_align(struct pci_region *res, unsigned long size)