MPC5121 new board constantly resetting after u-boot passes control to Linux

Damien Dusha d.dusha at gmail.com
Thu May 7 18:43:49 EST 2009


Dear all,

We are attempting to bring up a new MPC5121e board, somewhat based on the
Silicon Turnkey's ADS5121 development board.  We are using a kernel and
u-boot based on Freescale/STx's board support package.

We have successfully modified u-boot for the 64MB of DDR2 RAM, and we can
use u-boot's (and the BDI's) memory test facility to check that the RAM is
working.

Our problem is that as soon as control is passed from u-boot to Linux, the
board immediately resets.  It appears that the kernel has been decompressed
correctly, and the memory at 0x00000000 appears to be similar to the same
memory on the ADS board at the same address.  i.e. We have some confidence
that the kernel is being decompressed correctly.

With debug on, u-boot produces the following output on the console:



U-Boot 2009.01-svn27683 (May 07 2009 - 15:35:15)
MPC512X



CPU:   MPC5121e rev. 2.0, Core e300c4 at 396 MHz, CSB at 198
MHz

Board: ADS5121 rev. 0x0000 (CPLD rev.
0x00)

I2C:   85
kHz,

85
kHz,

85
kHz,

ready

DRAM:  64
MB

Top of RAM usable for U-Boot at:
04000000

Reserving 249k for U-Boot at:
03fc1000

Reserving 520k for malloc() at:
03f3f000

Reserving 60 Bytes for Board Info at:
03f3efc4

Reserving 64 Bytes for Global Data at:
03f3ef84

Stack Pointer at:
03f3ef68

New Stack Pointer is:
03f3ef68

Now running in RAM - U-Boot at:
03fc1000

FLASH: flash detect
cfi

fwc addr fc000000 cmd f0 f0 8bit x 8
bit

fwc addr fc000000 cmd ff ff 8bit x 8
bit

fwc addr fc000055 cmd 98 98 8bit x 8
bit

is= cmd 51(Q) addr fc000010 is= 30
51

fwc addr fc000555 cmd 98 98 8bit x 8
bit

is= cmd 51(Q) addr fc000010 is= 0
51

fwc addr fc000000 cmd f0 f0f0 16bit x 8
bit

fwc addr fc000000 cmd ff ffff 16bit x 8
bit

fwc addr fc0000aa cmd 98 9898 16bit x 8
bit

is= cmd 51(Q) addr fc000020 is= 2032
5151

fwc addr fc000aaa cmd 98 9898 16bit x 8
bit

is= cmd 51(Q) addr fc000020 is= 2032
5151

fwc addr fc000000 cmd f0 00f0 16bit x 16
bit

fwc addr fc000000 cmd ff 00ff 16bit x 16
bit

fwc addr fc0000aa cmd 98 0098 16bit x 16
bit

is= cmd 51(Q) addr fc000020 is= 2032
0051

fwc addr fc000aaa cmd 98 0098 16bit x 16
bit

is= cmd 51(Q) addr fc000020 is= 2032
0051

fwc addr fc000000 cmd f0 f0f0f0f0 32bit x 8
bit

fwc addr fc000000 cmd ff ffffffff 32bit x 8
bit

fwc addr fc000154 cmd 98 98989898 32bit x 8
bit

is= cmd 51(Q) addr fc000040 is= 00510051
51515151

fwc addr fc001554 cmd 98 98989898 32bit x 8
bit

is= cmd 51(Q) addr fc000040 is= 00510051
51515151

fwc addr fc000000 cmd f0 00f000f0 32bit x 16
bit

fwc addr fc000000 cmd ff 00ff00ff 32bit x 16
bit

fwc addr fc000154 cmd 98 00980098 32bit x 16
bit

is= cmd 51(Q) addr fc000040 is= 00510051
00510051

is= cmd 52(R) addr fc000044 is= 00520052
00520052

is= cmd 59(Y) addr fc000048 is= 00590059
00590059

device interface is
2

found port 4 chip 2 port 32 bits chip 16
bits

00 : 51 52 59 02 00 40 00 00 00 00 00 27 36 00 00 06  QRY.. at .....'6...

10 : 06 09 13 03 05 03 02 19 02 00 06 00 01 ff 00 00
................

20 : 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01
................

fwc addr fc000000 cmd f0 00f000f0 32bit x 16
bit

fwc addr fc001554 cmd aa 00aa00aa 32bit x 16
bit

fwc addr fc000aa8 cmd 55 00550055 32bit x 16
bit

fwc addr fc001554 cmd 90 00900090 32bit x 16
bit

fwc addr fc000000 cmd f0 00f000f0 32bit x 16
bit

fwc addr fc000154 cmd 98 00980098 32bit x 16
bit

manufacturer is
2

manufacturer id is
0x1

device id is
0x227e

device id2 is
0x0

cfi version is
0x3133

size_ratio 2 port 32 bits chip 16
bits

found 1 erase
regions

erase region 0:
0x020000ff

erase_region_count = 256 erase_region_size =
131072

fwc addr fc000000 cmd f0 00f000f0 32bit x 16
bit

flash_protect ON: from 0xFFF00000 to
0xFFF36FFF

protect on
252

flash_protect ON: from 0xFFF40000 to
0xFFF7FFFF

protect on
253

flash_protect ON: from 0xFFF80000 to
0xFFF81FFF

protect on
254

64
MB

In:
serial

Out:
serial

Err:
serial

i2c_write: failed to address
chip

i2c_read: failed to address
chip

DVI Encoder Read:
0x00

i2c_write: failed to address
chip

i2c_read: failed to address
chip

DVI Encoder Read:
0x00

U-Boot relocated to
03fc1000

Net:   FEC
ETHERNET



Type "run flash_nfs" to mount root filesystem over
NFS



### main_loop entered:
bootdelay=5



### main_loop: bootcmd="run
cramfsboot"

Hit any key to stop autoboot:
0

=>



U-Boot 2009.01-svn27683 (May 07 2009 - 15:35:15)
MPC512X



CPU:   MPC5121e rev. 2.0, Core e300c4 at 396 MHz, CSB at 198
MHz

Board: ADS5121 rev. 0x0000 (CPLD rev.
0x00)

I2C:   85
kHz,

85
kHz,

85
kHz,

ready

DRAM:  64
MB

Top of RAM usable for U-Boot at:
04000000

Reserving 249k for U-Boot at:
03fc1000

Reserving 520k for malloc() at:
03f3f000

Reserving 60 Bytes for Board Info at:
03f3efc4

Reserving 64 Bytes for Global Data at:
03f3ef84

Stack Pointer at:
03f3ef68

New Stack Pointer is:
03f3ef68

Now running in RAM - U-Boot at:
03fc1000

FLASH: flash detect
cfi

fwc addr fc000000 cmd f0 f0 8bit x 8
bit

fwc addr fc000000 cmd ff ff 8bit x 8
bit

fwc addr fc000055 cmd 98 98 8bit x 8
bit

is= cmd 51(Q) addr fc000010 is= 30
51

fwc addr fc000555 cmd 98 98 8bit x 8
bit

is= cmd 51(Q) addr fc000010 is= 0
51

fwc addr fc000000 cmd f0 f0f0 16bit x 8
bit

fwc addr fc000000 cmd ff ffff 16bit x 8
bit

fwc addr fc0000aa cmd 98 9898 16bit x 8
bit

is= cmd 51(Q) addr fc000020 is= 2032
5151

fwc addr fc000aaa cmd 98 9898 16bit x 8
bit

is= cmd 51(Q) addr fc000020 is= 2032
5151

fwc addr fc000000 cmd f0 00f0 16bit x 16
bit

fwc addr fc000000 cmd ff 00ff 16bit x 16
bit

fwc addr fc0000aa cmd 98 0098 16bit x 16
bit

is= cmd 51(Q) addr fc000020 is= 2032
0051

fwc addr fc000aaa cmd 98 0098 16bit x 16
bit

is= cmd 51(Q) addr fc000020 is= 2032
0051

fwc addr fc000000 cmd f0 f0f0f0f0 32bit x 8
bit

fwc addr fc000000 cmd ff ffffffff 32bit x 8
bit

fwc addr fc000154 cmd 98 98989898 32bit x 8
bit

is= cmd 51(Q) addr fc000040 is= 00510051
51515151

fwc addr fc001554 cmd 98 98989898 32bit x 8
bit

is= cmd 51(Q) addr fc000040 is= 00510051
51515151

fwc addr fc000000 cmd f0 00f000f0 32bit x 16
bit

fwc addr fc000000 cmd ff 00ff00ff 32bit x 16
bit

fwc addr fc000154 cmd 98 00980098 32bit x 16
bit

is= cmd 51(Q) addr fc000040 is= 00510051
00510051

is= cmd 52(R) addr fc000044 is= 00520052
00520052

is= cmd 59(Y) addr fc000048 is= 00590059
00590059

device interface is
2

found port 4 chip 2 port 32 bits chip 16
bits

00 : 51 52 59 02 00 40 00 00 00 00 00 27 36 00 00 06  QRY.. at .....'6...

10 : 06 09 13 03 05 03 02 19 02 00 06 00 01 ff 00 00
................

20 : 02 00 00 00 00 00 00 00 00 00 00 00 00 f7 ff fd
................

fwc addr fc000000 cmd f0 00f000f0 32bit x 16
bit

fwc addr fc001554 cmd aa 00aa00aa 32bit x 16
bit

fwc addr fc000aa8 cmd 55 00550055 32bit x 16
bit

fwc addr fc001554 cmd 90 00900090 32bit x 16
bit

fwc addr fc000000 cmd f0 00f000f0 32bit x 16
bit

fwc addr fc000154 cmd 98 00980098 32bit x 16
bit

manufacturer is
2

manufacturer id is
0x1

device id is
0x227e

device id2 is
0x0

cfi version is
0x3133

size_ratio 2 port 32 bits chip 16
bits

found 1 erase
regions

erase region 0:
0x020000ff

erase_region_count = 256 erase_region_size =
131072

fwc addr fc000000 cmd f0 00f000f0 32bit x 16
bit

flash_protect ON: from 0xFFF00000 to
0xFFF36FFF

protect on
252

flash_protect ON: from 0xFFF40000 to
0xFFF7FFFF

protect on
253

flash_protect ON: from 0xFFF80000 to
0xFFF81FFF

protect on
254

64
MB

In:
serial

Out:
serial

Err:
serial

i2c_write: failed to address
chip

i2c_read: failed to address
chip

DVI Encoder Read:
0x00

i2c_write: failed to address
chip

i2c_read: failed to address
chip

DVI Encoder Read:
0x00

U-Boot relocated to
03fc1000

Net:   FEC
ETHERNET



Type "run flash_nfs" to mount root filesystem over
NFS



### main_loop entered:
bootdelay=5



### main_loop: bootcmd="run
cramfsboot"

Hit any key to stop autoboot:
0

=>
boot

## Current stack ends at
0x03f3e8f8

*  kernel: cmdline image address =
0xffc40000

## Booting kernel from Legacy Image at ffc40000
...

   Image Name:
Linux-2.6.24.6

   Created:      2009-04-30   3:54:13
UTC

   Image Type:   PowerPC Linux Kernel Image (gzip
compressed)

   Data Size:    1782150 Bytes =  1.7
MB

   Load Address:
00000000

   Entry Point:
00000000

   Verifying Checksum ...
OK

   kernel data at 0xffc40040, len = 0x001b3186
(1782150)

## Skipping init
Ramdisk

## No init
Ramdisk

   ramdisk start = 0x00000000, ramdisk end =
0x00000000

*  fdt: cmdline image address =
0xffec0000

## Checking for 'FDT'/'FDT Image' at
ffec0000

*  fdt: raw FDT
blob

## Flattened Device Tree blob at
ffec0000

   Booting using the fdt blob at
0xffec0000

   of_flat_tree at 0xffec0000 size
0x00000e06

   Uncompressing Kernel Image ...
OK

   kernel loaded at 0x00000000, end =
0x003ac244

## initrd_high = 0xffffffff, copy_to_ram =
1

   ramdisk load start = 0x00000000, ramdisk load end =
0x00000000

## device tree at 0xFFEC0000 ... 0xFFEC0E05
(len=15878=0x3E06)

   Loading Device Tree to 007fc000, end 007ffe05 ...
OK

Updating property 'local-mac-address' =  00 00 00 00 00
00

Updating property 'address' =  00 00 00 00 00
00

Updating property 'bus-frequency' =  03 ef 14
80

Updating property '/cpus/PowerPC,5121 at 0/timebase-frequency' =  02 f3 4f
60

Updating property '/cpus/PowerPC,5121 at 0/bus-frequency' =  0b cd 3d
80

Updating property '/cpus/PowerPC,5121 at 0/clock-frequency' =  17 9a 7b
00

Updating property 'bus-frequency' =  03 ef 14
80

## Transferring control to Linux (at address 00000000)
...

   Booting using OF flat tree... (at address
007fc000)


At this point, the board immediately resets.  There is no hint of life from
the kernel from the console, although setting a breakpoint on the BDI at
0x0000000 and tracing through appears as though some code (although we don't
know what) is being executed.

Our u-boot environment is as follows:

=>
printenv

bootdelay=5

baudrate=115200

loads_echo=1

preboot=echo;echo Type \"run flash_nfs\" to mount root filesystem over
NFS;echo

rootpath=/opt/eldk/ppc_6xx

hostname=gg200

bootfile=gg200/uImage

loadaddr=400000

u-boot_addr_r=200000

kernel_addr_r=600000

fdt_addr_r=880000

ramdisk_addr_r=900000

u-boot_addr=FFF00000

kernel_addr=FFC40000

fdt_addr=FFEC0000

ramdisk_addr=FC040000

ramdiskfile=ads5121/uRamdisk

u-boot=ads5121/u-boot.bin

bootfile=ads5121/uImage

fdtfile=ads5121/ads5121.dtb

rootpath=/opt/eldk/ppc_6xx

netdev=eth0

consdev=ttyPSC0

nfsargs=setenv bootargs root=/dev/nfs rw
nfsroot=${serverip}:${rootpath}

ramargs=setenv bootargs root=/dev/ram
rw

addip=setenv bootargs ${bootargs}
ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${netdev}:off
panic=1
addtty=setenv bootargs ${bootargs}
console=${consdev},${baudrate}

flash_nfs=run nfsargs addip addtty;bootm ${kernel_addr} -
${fdt_addr}

flash_self=run ramargs addip addtty;bootm ${kernel_addr} ${ramdisk_addr}
${fdt_addr}

net_nfs=tftp ${kernel_addr_r} ${bootfile};tftp ${fdt_addr_r} ${fdtfile};run
nfsargs addip addtty;bootm ${kernel_addr_r} -
${fdt_addr_r}
net_self=tftp ${kernel_addr_r} ${bootfile};tftp ${ramdisk_addr_r}
${ramdiskfile};tftp ${fdt_addr_r} ${fdtfile};run ramargs addip addtty;bootm
${kernel_addr_r} ${ramdisk_a}
load=tftp ${u-boot_addr_r}
${u-boot}

update=protect off ${u-boot_addr} +${filesize};era ${u-boot_addr}
+${filesize};cp.b ${u-boot_addr_r} ${u-boot_addr}
${filesize}
upd=run load
update

ethact=FEC
ETHERNET

cramfsboot=set bootargs root=/dev/mtdblock1 mem=64M; run addtty;bootm
${kernel_addr} -
${fdt_addr}

bootcmd=run
cramfsboot

stdin=serial

stdout=serial

stderr=serial


If anyone is able to provide some help as to where we should start looking
for our problem (or how we can stop it from immediately rebooting, or trap
the reboot on the BDI), we would be extremely grateful for the help.

Best regards
Damien.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20090507/e2c0efbf/attachment.htm>


More information about the Linuxppc-dev mailing list