[U-Boot] About PCI of U-BOOT of CANYONLANDS

Anatolij Gustschin agust at denx.de
Thu Mar 19 10:16:37 CET 2009


Hi Kazuaki, Stefan,

Kazuaki Ichinohe wrote:

> This is a problem that the memory space of BAR2 is inaccessible.
> Even if the value of VIDEO_IO_OFFSET is changed, the problem is not solved.
> 
> It is a log that you demanded as follows.

Thanks! Now I see this too. Previously you have mentioned that
the driver crashed in u-boot/drivers/video/ati_radeon_fb.c, line 760.
But before this, a bunch of pci register accesses should be done already.
I only wanted to make sure that the driver really crashes while first
ATI register access.

Please, try the inlined patch below and see if BAR2 memory space
works with it. Thanks!

<snip>

>>> The memory space is displayed in BAR2 of the PCI configuration space.
>>> The video driver accesses this memory space and the exception is
>>> generated.
>>>
>>>  driver source: u-boot/drivers/video/ati_radeon_fb.c
>>>  function name: void *video_hw_init(void)
>>>  line         : 760line
>>
>> it seems that the driver is able to access memory space (registers, e.g.
>> in radeon_identify_vram() ) but cannot access framebuffer?
>>
>> Please replace '#undef DEBUG' in drivers/video/ati_radeon_fb.c
>> with '#define DEBUG' and also enable CONFIG_VIDEO and use
>> #define VIDEO_IO_OFFSET 0xD0800000 and post the boot log again.
>>


diff --git a/cpu/ppc4xx/4xx_pci.c b/cpu/ppc4xx/4xx_pci.c
index e8871fc..9639547 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 );


Best regards,
Anatolij

--
DENX Software Engineering GmbH,     MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: +49-8142-66989-0 Fax: +49-8142-66989-80  Email: office at denx.de


More information about the U-Boot mailing list