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

Kazuaki Ichinohe
2009-03-18T13:00:46Z

Hi Anatolij, Stefan,

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

I attach the log where the exception is generated.
I confirmed it by the source of the following patches.

----- patch ------
#undef CONFIG_VIDEO
#ifdef CONFIG_VIDEO
#define CONFIG_BIOSEMU
#define CONFIG_ATI_RADEON_FB
#define VIDEO_IO_OFFSET 0xD8000000
#define CONFIG_SYS_ISA_IO_BASE_ADDRESS VIDEO_IO_OFFSET
#define CONFIG_VIDEO_SW_CURSOR
#define CONFIG_VIDEO_LOGO
#define CONFIG_CFB_CONSOLE
#define CONFIG_SPLASH_SCREEN
#define CONFIG_VGA_AS_SINGLE_DEVICE
#define CONFIG_CMD_BMP
#endif /* #ifdef CONFIG_VIDEO */

----- exception log --------
U-Boot 2009.01 ( 3? 18 2009 - 18:52:14)

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
Net: ppc_4xx_eth0, ppc_4xx_eth1

Type run flash_nfs to mount root filesystem over NFS

=> pci
Scanning PCI devices on bus 0
BusDevFun VendorId DeviceId Device Class Sub-Class
_____________________________________________________________
00.06.00 0x1002 0x5960 Display controller 0x00
00.06.01 0x1002 0x5940 Display controller 0x80
=> pci header 0.6.0
vendor ID = 0x1002
device ID = 0x5960
command register = 0x0007
status register = 0x02b0
revision ID = 0x01
class code = 0x03 (Display controller)
sub class code = 0x00
programming interface = 0x00
cache line = 0x08
latency time = 0x80
header type = 0x80
BIST = 0x00
base address 0 = 0x80000008
base address 1 = 0x00001001
base address 2 = 0x88000000
base address 3 = 0x00000000
base address 4 = 0x00000000
base address 5 = 0x00000000
cardBus CIS pointer = 0x00000000
sub system vendor ID = 0x18bc
sub system ID = 0x0580
expansion ROM base address = 0x00000000
interrupt line = 0xff
interrupt pin = 0x01
min Grant = 0x08
max Latency = 0x00
=> md 0x88000000
88000000:Machine Check Exception.
Caused by (from msr): regs 1fe51c08 Data Read PLB Error
NIP: 1FF859DC XER: 00000000 LR: 1FF859AC REGS: 1fe51c08 TRAP: 0200 DEAR:
00000000
MSR: 00029000 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 00

GPR00: 1FFB2178 1FE51CF8 1FE51F24 1FFA0528 1FFB2178 00000003 00000003
2E6C1FF4
GPR08: 1FF5A408 00000020 05F5E101 2FAF080A 00000008 055661DE 1FFB0700
1FF9F8F4
GPR16: 1FF9F870 1FFA0530 1FFA0528 1FF9F120 1FFABC34 1FE51D00 88000000
88000000
GPR24: 1FE51D00 00000040 00000000 00000004 1FE51D00 00000004 1FFB2178
88000000
Call backtrace:
1FF859AC 1FF702D4 1FF7B948 1FF7B04C 1FF7B1BC 1FF7DDD0 1FF59F64
1FF58710
machine check

U-Boot 2009.01 ( 3? 18 2009 - 18:52:14)

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 40 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
Net: ppc_4xx_eth0, ppc_4xx_eth1

Type run flash_nfs to mount root filesystem over NFS

=>

Regards,
Kazuaki Ichinohe

Kazuaki Ichinohe ????????:
> Hi Anatolij, Stefan,
>
> The exception was generated.
>
> ----------------------------------
> U-Boot 2009.01 ( 3? 18 2009 - 21:16:24)
>
> 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)
> Machine Check Exception.
> Caused by (from msr): regs 1fe3ac30 Data Read PLB Error
> NIP: 1FF82B10 XER: 00000000 LR: 1FF82AE8 REGS: 1fe3ac30 TRAP: 0200 DEAR:
> 00000000
> MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00
>
> GPR00: 08000080 1FE3AD20 1FE3AF20 00000000 80003018 00000018 1FE401BC
> 1CA13040
> GPR08: 1FF43408 88000000 05F5E101 1FF94E10 00000006 055671DE 1FFABD00
> 1FFBF000
> GPR16: FFFE21E8 FFFE21E8 FFFE2068 FFFE21E8 FFFE21E8 FFFE2068 FFFE2068
> FFFD572C
> GPR24: E3000D80 1FE3AF20 1FE3AF08 1FE3AE88 1FE3AE80 00003000 1FFADF20
> 1FE40198
> Call backtrace:
> 1FF82AE8 1FF83458 1FF82498 1FF5FCDC 1FF42EF0 1FF41710
> machine check
>
>
> Regards,
> Kazuaki Ichinohe
>
>
> Kazuaki Ichinohe ????????:
>> Hi Anatolij !
>>
>> > Kazuaki, could you please change VIDEO_IO_OFFSET to 0xD0800000 and
>> > test again?
>>
>> I'll try it.
>>
>> Regards,
>> Kazuaki Ichinohe.
>>
>> Anatolij Gustschin ????????:
>>> Hi Stefan, Kazuaki,
>>>
>>> Stefan Roese wrote:
>>>> On Wednesday 18 March 2009, Kazuaki Ichinohe wrote:
>>>>> U-boot version: u-boot-2009.01
>>>>> boot log is the following.
>>>>>
>>>>> U-Boot 2009.01 ( 3? 18 2009 - 09:38:17)
>>>>>
>>>>> ?PU: AMCC PowerPC 460EX Rev. A at 600 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 38 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)
>>>>> Machine Check Exception.
>>>>> Caused by (from msr): regs 1fe3ac30 Data Read PLB Error
>>>>> NIP: 1FF82B10 XER: 00000000 LR: 1FF82AE8 REGS: 1fe3ac30 TRAP: 0200
>>>>> DEAR:
>>>>> 70600027
>>>>> MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00
>>>> Anatolij, do you have any ideas what's going wrong here?
>>>
>>> one issue is incorrect VIDEO_IO_OFFSET in the board config file, it
>>> should be 0xD0800000 instead of 0xD8000000, i think.
>>>
>>> Kazuaki, could you please change VIDEO_IO_OFFSET to 0xD0800000 and
>>> test again?
>>>
>>> Best regards,
>>> Anatolij
>>>
>>
>>
>
>