From 5e4b3361bc0ccb2138569f872be60165ebeefb57 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Mon, 22 Aug 2005 17:51:53 +0200 Subject: Add esd cpci5200 and pf5200 boards Patch by Reinhard Arlt, 22 Aug 2005 --- cpu/mpc5xxx/pci_mpc5200.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'cpu') diff --git a/cpu/mpc5xxx/pci_mpc5200.c b/cpu/mpc5xxx/pci_mpc5200.c index 490fcd2..2cfa11c 100644 --- a/cpu/mpc5xxx/pci_mpc5200.c +++ b/cpu/mpc5xxx/pci_mpc5200.c @@ -49,7 +49,21 @@ static int mpc5200_read_config_dword(struct pci_controller *hose, *(volatile u32 *)MPC5XXX_PCI_CAR = (1 << 31) | dev | offset; eieio(); udelay(10); +#if (defined CONFIG_PF5200 || defined CONFIG_CPCI5200) + if (dev & 0x00ff0000) { + u32 val; + val = in_le16((volatile u16 *)(CONFIG_PCI_IO_PHYS+2)); + udelay(10); + val = val << 16; + val |= in_le16((volatile u16 *)(CONFIG_PCI_IO_PHYS+0)); + *value = val; + } else { + *value = in_le32((volatile u32 *)CONFIG_PCI_IO_PHYS); + } + udelay(10); +#else *value = in_le32((volatile u32 *)CONFIG_PCI_IO_PHYS); +#endif eieio(); *(volatile u32 *)MPC5XXX_PCI_CAR = 0; udelay(10); -- cgit v1.1