Hi Anatolij, Stefan, Thank you for the reply. I confirmed your patch source. However, the exception was generated.
------------------------------------------------ U-Boot 2009.01 ( 3月 19 2009 - 18:41:36) CPU: AMCC PowerPC 460EX Rev. A at 800 MHz (PLB=200, OPB=100, EBC=100 MHz) Security/Kasumi support Bootstrap Option H - Boot ROM Location I2C (Addr 0x52) Internal PCI arbiter disabled 32 kB I-Cache 32 kB D-Cache Board: Canyonlands - AMCC PPC460EX Evaluation Board, 1*PCIe/1*SATA, Rev. 14 I2C: ready DTT: 1 is 39 C DRAM: 512 MB (ECC not enabled, 400 MHz, CL3) FLASH: 64 MB NAND: 128 MiB PCI: Bus Dev VenId DevId Class Int 00 06 1002 5960 0300 ff 00 06 1002 5940 0380 ff PCIE1: link is not up. PCIE1: initialization as root-complex failed Video: ATI Radeon video card (1002, 5960) found @(0:6:0) rinfo->mmio_base = 0x88000000 rinfo->fb_local_base = 0x59c00000 videoboot: Booting PCI video card bus 0, function 0, device 6 Machine Check Exception. Caused by (from msr): regs 1fe3ab50 Data Write PLB Error NIP: 1FF859E0 XER: 00000000 LR: 1FF87848 REGS: 1fe3ab50 TRAP: 0200 DEAR: 00000000 MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00 GPR00: 1FF87848 1FE3AC40 1FE3AF20 D0801014 0000C000 1FE3AC4C 00000000 00000001 GPR08: 00000000 1FF8595C 000006BD 00000000 00000006 055671DE 1FFABF00 1FFBF000 GPR16: 1FF91D3C 1FFCC999 1FE37D40 1FE37D44 00000000 00000000 1FE401E0 1FFFF890 GPR24: 1FFAAF88 1FFA6420 1FFFFC90 1FFFFC90 1FFFFC90 00001014 1FFAE314 0000C000 Call backtrace: 1FF860E0 1FF87848 1FF8712C 1FF84AD0 1FF84644 1FF82B44 1FF834A8 1FF82498 1FF5FCDC 1FF42EF0 1FF41710 machine check Regards, Kazuaki Ichinohe Anatolij Gustschin wrote: > 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: off...@denx.de > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot