From: Anatolij Gustschin Date: Fri, 20 Mar 2009 11:45:50 +0000 (+0100) Subject: ppc4xx: Fix bug in PCI outbound map configuration for canyonlands X-Git-Tag: v2009.03~4 X-Git-Url: https://git.sur5r.net/?a=commitdiff_plain;h=f8853d105da7d69bc92a5b4578f9b85234e558ec;p=u-boot 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 Signed-off-by: Stefan Roese --- diff --git a/cpu/ppc4xx/4xx_pci.c b/cpu/ppc4xx/4xx_pci.c index 6fd36dea35..99b8e2f882 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 );