summaryrefslogtreecommitdiff
path: root/drivers/pci_indirect.c
diff options
context:
space:
mode:
authorHaavard Skinnemoen <hskinnemoen@atmel.com>2007-08-13 16:34:33 +0200
committerHaavard Skinnemoen <hskinnemoen@atmel.com>2007-08-13 16:34:33 +0200
commit375c2c9e57ea5b8d678475379378f4774aa9cb88 (patch)
treec8499eaec089c8fe7c9eda562131f45b4a7738c6 /drivers/pci_indirect.c
parentf0d1246ed7cb5a88522244c596d7ae7e6f161283 (diff)
parent9986bc3e40e899bea372a99a2bca4071bdf2e24b (diff)
downloadu-boot-imx-375c2c9e57ea5b8d678475379378f4774aa9cb88.zip
u-boot-imx-375c2c9e57ea5b8d678475379378f4774aa9cb88.tar.gz
u-boot-imx-375c2c9e57ea5b8d678475379378f4774aa9cb88.tar.bz2
Merge commit 'upstream/master'
Diffstat (limited to 'drivers/pci_indirect.c')
-rw-r--r--drivers/pci_indirect.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/pci_indirect.c b/drivers/pci_indirect.c
index d7be081..a8220fb 100644
--- a/drivers/pci_indirect.c
+++ b/drivers/pci_indirect.c
@@ -45,7 +45,7 @@ indirect_##rw##_config_##size(struct pci_controller *hose, \
cfg_##rw(val, hose->cfg_data + (offset & mask), type, op); \
return 0; \
}
-#elif defined(CONFIG_E500)
+#elif defined(CONFIG_E500) || defined(CONFIG_MPC86xx)
#define INDIRECT_PCI_OP(rw, size, type, op, mask) \
static int \
indirect_##rw##_config_##size(struct pci_controller *hose, \
@@ -55,7 +55,7 @@ indirect_##rw##_config_##size(struct pci_controller *hose, \
b = PCI_BUS(dev); d = PCI_DEV(dev); f = PCI_FUNC(dev); \
b = b - hose->first_busno; \
dev = PCI_BDF(b, d, f); \
- *(hose->cfg_addr) = dev | (offset & 0xfc) | 0x80000000; \
+ *(hose->cfg_addr) = dev | (offset & 0xfc) | ((offset & 0xf00) << 16) | 0x80000000; \
sync(); \
cfg_##rw(val, hose->cfg_data + (offset & mask), type, op); \
return 0; \