summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnatolij Gustschin <agust@denx.de>2009-03-20 12:45:50 +0100
committerStefan Roese <sr@denx.de>2009-03-20 12:58:31 +0100
commitf8853d105da7d69bc92a5b4578f9b85234e558ec (patch)
treec0be224450d76a38b4d083e481b5c92cfc415a02
parent7a88601a34132548c3c591ea87ab3468b51121b0 (diff)
downloadu-boot-imx-f8853d105da7d69bc92a5b4578f9b85234e558ec.zip
u-boot-imx-f8853d105da7d69bc92a5b4578f9b85234e558ec.tar.gz
u-boot-imx-f8853d105da7d69bc92a5b4578f9b85234e558ec.tar.bz2
ppc4xx: Fix bug in PCI outbound map configuration for canyonlands
PCI outbound address map configuration doesn't match the PCI memory address range covered by appropriate TLB entry configuration for canyonlands causing machine check exceptions while accessing PCI memory regions. This patch provides a fix for this issue. Kazuaki Ichinohe observed and reported this issue while testing display output with PCI ATI video card on canyonlands. Signed-off-by: Anatolij Gustschin <agust@denx.de> Signed-off-by: Stefan Roese <sr@denx.de>
-rw-r--r--cpu/ppc4xx/4xx_pci.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/cpu/ppc4xx/4xx_pci.c b/cpu/ppc4xx/4xx_pci.c
index 6fd36de..99b8e2f 100644
--- a/cpu/ppc4xx/4xx_pci.c
+++ b/cpu/ppc4xx/4xx_pci.c
@@ -550,10 +550,12 @@ int pci_440_init (struct pci_controller *hose)
out32r( PCIX0_POM0SA, 0 ); /* disable */
out32r( PCIX0_POM1SA, 0 ); /* disable */
out32r( PCIX0_POM2SA, 0 ); /* disable */
-#if defined(CONFIG_440SPE) || \
- defined(CONFIG_460EX) || defined(CONFIG_460GT)
+#if defined(CONFIG_440SPE)
out32r( PCIX0_POM0LAL, 0x10000000 );
out32r( PCIX0_POM0LAH, 0x0000000c );
+#elif defined(CONFIG_460EX) || defined(CONFIG_460GT)
+ out32r( PCIX0_POM0LAL, 0x20000000 );
+ out32r( PCIX0_POM0LAH, 0x0000000c );
#else
out32r( PCIX0_POM0LAL, 0x00000000 );
out32r( PCIX0_POM0LAH, 0x00000003 );