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

Kazuaki Ichinohe
2009-03-18T01:28:12Z

Hello,

Thank you for the reply.

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:
7060002
7
MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00

GPR00: 08000080 1FE3AD20 1FE3AF20 00000000 80003018 00000018 1FE401BC
15A30439
GPR08: 1FF43408 88000000 05F5E101 1FF94E10 00000006 FDFFFFFF 1FFABD00
1FFBF000
GPR16: FBFFFFFF FDFFFFFF DFFFFFFF FFFFFBFF FFFFFFFF FFFFFFFF FFFFFFFF
FFFFFFFF
GPR24: FFFFFFFF 1FE3AF20 1FE3AF08 1FE3AE88 1FE3AE80 00003000 1FFADF20
1FE40198
Call backtrace:
1FF82AE8 1FF83458 1FF82498 1FF5FCDC 1FF42EF0 1FF41710 1E29AB51
machine check

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:
7060002
7
MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00

GPR00: 08000080 1FE3AD20 1FE3AF20 00000000 80003018 00000018 1FE401BC
15AC08AD
GPR08: 1FF43408 88000000 05F5E101 1FF94E10 00000006 FDFFFFFF 1FFABD00
1FFBF000
GPR16: FBFFFFFF FDFFFFFF DFFFFFFF FFFFFBFF 00000000 1FE3AC20 00000000
1FF41450
GPR24: 1FF41D34 1FE3AF20 1FE3AF08 1FE3AE88 1FE3AE80 00003000 1FFADF20
1FE40198
Call backtrace:
1FF82AE8 1FF83458 1FF82498 1FF5FCDC 1FF42EF0 1FF41710 1E29AB51
machine check

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:
7060002
7
MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00

GPR00: 08000080 1FE3AD20 1FE3AF20 00000000 80003018 00000018 1FE401BC
15A680AD
GPR08: 1FF43408 88000000 05F5E101 1FF94E10 00000006 FDFFFFFF 1FFABD00
1FFBF000
GPR16: FBFFFFFF FDFFFFFF DFFFFFFF FFFFFBFF 00000000 1FE3AC20 00000000
1FF41450
GPR24: 1FF41D34 1FE3AF20 1FE3AF08 1FE3AE88 1FE3AE80 00003000 1FFADF20
1FE40198
Call backtrace:
1FF82AE8 1FF83458 1FF82498 1FF5FCDC 1FF42EF0 1FF41710 1E29AB51
machine check

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:
7060002
7
MSR: 00021000 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 00

GPR00: 08000080 1FE3AD20 1FE3AF20 00000000 80003018 00000018 1FE401BC
15AC57B8
GPR08: 1FF43408 88000000 05F5E101 1FF94E10 00000006 FDFFFFFF 1FFABD00
1FFBF000
GPR16: FBFFFFFF FDFFFFFF DFFFFFFF FFFFFBFF 00000000 1FE3AC20 00000000
1FF41450
GPR24: 1FF41D34 1FE3AF20 1FE3AF08 1FE3AE88 1FE3AE80 00003000 1FFADF20
1FE40198
Call backtrace:
1FF82AE8 1FF83458 1FF82498 1FF5FCDC 1FF42EF0 1FF41710 1E29AB51
machine check

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)

-----------------------------------------------------
The patch is appended.

diff -crN u-boot-2009.01/Makefile u-boot-2009.01-canyonlands/Makefile
*** u-boot-2009.01/Makefile 2009-01-26 10:35:44.000000000 +0900
--- u-boot-2009.01-canyonlands/Makefile 2009-01-26 11:08:19.000000000 +0900
***************
*** 148,154 ****
CROSS_COMPILE =
else
ifeq ($(ARCH),ppc)
! CROSS_COMPILE = ppc_8xx-
endif
ifeq ($(ARCH),arm)
CROSS_COMPILE = arm-linux-
--- 148,154 ----
CROSS_COMPILE =
else
ifeq ($(ARCH),ppc)
! CROSS_COMPILE = ppc_4xxFP-
endif
ifeq ($(ARCH),arm)
CROSS_COMPILE = arm-linux-
diff -crN u-boot-2009.01/board/amcc/canyonlands/config.mk
u-boot-2009.01-canyonlands/board/amcc/canyonlands/config.mk
*** u-boot-2009.01/board/amcc/canyonlands/config.mk 2009-01-26
10:35:50.000000000 +0900
--- u-boot-2009.01-canyonlands/board/amcc/canyonlands/config.mk
2009-01-26 11:08:19.000000000 +0900
***************
*** 27,33 ****
sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp

ifndef TEXT_BASE
! TEXT_BASE = 0xFFFA0000
endif

PLATFORM_CPPFLAGS += -DCONFIG_440=1
--- 27,34 ----
sinclude $(OBJTREE)/board/$(BOARDDIR)/config.tmp

ifndef TEXT_BASE
! #TEXT_BASE = 0xFFFA0000
! TEXT_BASE = 0xFFF80000
endif

PLATFORM_CPPFLAGS += -DCONFIG_440=1
diff -crN u-boot-2009.01/include/configs/amcc-common.h
u-boot-2009.01-canyonlands/include/configs/amcc-common.h
*** u-boot-2009.01/include/configs/amcc-common.h 2009-01-26
10:35:52.000000000 +0900
--- u-boot-2009.01-canyonlands/include/configs/amcc-common.h 2009-01-26
11:08:19.000000000 +0900
***************
*** 233,238 ****
--- 233,278 ----
"fdt_file=" xstr(CONFIG_HOSTNAME) "/" xstr(CONFIG_HOSTNAME) ".dtb\0"

+ #define CONFIG_AMCC_DEF_ENV_AZBIL \
+ "rootfs=/dev/sda6\0" \
+ "eldk-rootfs=/dev/sda7\0" \
+ "e2drv=0:2\0" \
+ "udrv=0:3\0" \
+ "atargs=setenv bootargs root=${rootfs} rw\0" \
+ "ata_old=run atargs addtty addmisc;" \
+ " disk ${kernel_addr_r} ${udrv};" \
+ " bootm ${kernel_addr_r}\0" \
+ "ata_ud_e2=run atargs addtty addmisc;" \
+ " ext2load ide ${e2drv} ${kernel_addr_r} /${bootfile};" \
+ " ext2load ide ${e2drv} ${fdt_addr_r} /${fdt_file};" \
+ " fdt addr ${fdt_addr_r} 0x4000;" \
+ " bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
+ "ata_cu=run atargs addtty addmisc;" \
+ " disk ${kernel_addr_cu} ${udrv};" \
+ " bootm ${kernel_addr_cu}\0" \
+ "ata_cu_e2=run atargs addtty addmisc;" \
+ " ext2load ide ${e2drv} ${kernel_addr_cu} /${bootfile-cu};" \
+ " bootm ${kernel_addr_cu}\0" \
+ "cfargs=setenv bootargs root=${rootfs} rw\0" \
+ "cfboot=run cfargs addtty addmisc;" \
+ " disk ${kernel_addr_r} ${udrv};" \
+ " bootm ${kernel_addr_r}\0" \
+ "satargs=setenv bootargs root=${rootfs} rw\0" \
+ "flash_sata=run satargs addtty addmisc;" \
+ "bootm ${kernel_addr} - ${fdt_addr}\0" \
+ "eldkargs=setenv bootargs root=${eldk-rootfs} rw\0" \
+ "eldk_boot=run eldkargs addtty addmisc;" \
+ " ext2load ide ${e2drv} ${kernel_addr_r} /${bootfile};" \
+ " ext2load ide ${e2drv} ${fdt_addr_r} /${fdt_file};" \
+ " fdt addr ${fdt_addr_r} 0x4000;" \
+ " bootm ${kernel_addr_r} - ${fdt_addr_r}\0" \
+ "eldk_flash_sata=run eldkargs addtty addmisc;" \
+ "bootm ${kernel_addr} - ${fdt_addr}\0"
+
+ /*
* Default environment for arch/ppc booting,
* for boards that are not ported to arch/powerpc yet
*/
***************
*** 259,264 ****
--- 299,314 ----
"bootm ${kernel_addr_r}\0"

#define CONFIG_AMCC_DEF_ENV_NOR_UPD \
+ "fload=tftp 200000 ${fdt_file}\0" \
+ "fupdate=protect off all;" \
+ "era 0xFC300000 0xFC31FFFF;" \
+ "cp.b 0x200000 0xFC300000 0x20000\0" \
+ "fupd=run fload fupdate\0" \
+ "kload=tftp 200000 " xstr(CONFIG_HOSTNAME) "/uImage\0" \
+ "kupdate=protect off all;" \
+ "era 0xFC000000 0xFC2FFFFF;" \
+ "cp.b 0x200000 0xFC000000 0x300000\0" \
+ "kupd=run kload kupdate\0" \
"load=tftp 200000 " xstr(CONFIG_HOSTNAME) "/u-boot.bin\0" \
"update=protect off " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;" \
"era " xstr(CONFIG_SYS_MONITOR_BASE) " FFFFFFFF;" \
diff -crN u-boot-2009.01/include/configs/canyonlands.h
u-boot-2009.01-canyonlands/include/configs/canyonlands.h
*** u-boot-2009.01/include/configs/canyonlands.h 2009-01-26
10:35:53.000000000 +0900
--- u-boot-2009.01-canyonlands/include/configs/canyonlands.h 2009-03-18
09:37:02.000000000 +0900
***************
*** 413,426 ****
* Default environment variables
*/
#if !defined(CONFIG_ARCHES)
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_AMCC_DEF_ENV \
CONFIG_AMCC_DEF_ENV_POWERPC \
CONFIG_AMCC_DEF_ENV_NOR_UPD \
CONFIG_AMCC_DEF_ENV_NAND_UPD \
"kernel_addr=fc000000\0" \
! "fdt_addr=fc1e0000\0" \
! "ramdisk_addr=fc200000\0" \
"pciconfighost=1\0" \
"pcie_mode=RP:RP\0" \
""
--- 413,434 ----
* Default environment variables
*/
#if !defined(CONFIG_ARCHES)
+ #define CONFIG_ENV_OVERWRITE
+ #define CONFIG_ETHADDR 00:10:EC:00:FC:A3
+ #define CONFIG_ETH1ADDR 00:10:EC:80:FC:A3
+ #define CONFIG_IPADDR 10.10.67.40
+ #define CONFIG_SERVERIP 10.10.66.208
+ #define CONFIG_NETMASK 255.255.255.0
+ #define CONFIG_GATEWAYIP 10.10.67.1
#define CONFIG_EXTRA_ENV_SETTINGS \
CONFIG_AMCC_DEF_ENV \
CONFIG_AMCC_DEF_ENV_POWERPC \
+ CONFIG_AMCC_DEF_ENV_AZBIL \
CONFIG_AMCC_DEF_ENV_NOR_UPD \
CONFIG_AMCC_DEF_ENV_NAND_UPD \
"kernel_addr=fc000000\0" \
! "fdt_addr=fc300000\0" \
! "ramdisk_addr=fc320000\0" \
"pciconfighost=1\0" \
"pcie_mode=RP:RP\0" \
""
***************
*** 733,736 ****
--- 741,759 ----
}
#endif

+ #define 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 */
+
#endif /* __CONFIG_H */

Stefan Roese ????????:
> On Tuesday 17 March 2009, Kazuaki Ichinohe wrote:
>> I am testing the video display of U-BOOT by using PCI of CANYONLANDS.
>> I added the following lines.
>>
>> #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 */
>>
>> However, if the memory space of PCI is read, the exception is generated.
>> Do you have any information for PCI of U-BOOT of CANYONLANDS?
>
> PCI should be working on Canyonlands. At least it was the last time I tested.
> I never tested with an PCI Video card though.
>
> Which U-Boot version are you using? What's the exact error message? Please
> post the complete bootlog.
>
> Best regards,
> Stefan
>
> =====================================================================
> 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
> =====================================================================
>