[U-Boot] MPC8313 board hanging

Patrick Heffernan Patrick.Heffernan at jdsu.com
Tue Jul 28 00:46:07 CEST 2009


Hi,

 

I'm working on a custom MPC8313 board.  It was booting up fine using NOR
flash and ext2 filesystem.

Configured u-boot and Linux and made transition to use NAND flash and
JFFS2 filesystem and now system hangs when running Linux kernel.

I've tried different things but I'm stuck.

Thanks in advance for any help.

pat

 

Here is my boot-up sequence:

 

NAND SPL - U-Boot 1.3.0 (Jul 27 2009 - 12:23:07) MPC83XX

Loading from NAND : ........................

 

U-Boot 1.3.0 (Jul 27 2009 - 12:22:36) MPC83XX

 

Reset Status: Software Hard

, External/Internal Soft

, External/Internal Hard

 

 

CPU:   e300c3, MPC8313, Rev: 10 at 266.666 MHz, CSB:  133 MHz

Board: Validator 2 Prototype

NAND Base = 0xe3000000

ENV Base = 0xf8000

I2C:   ready

DRAM:  128 MB

Top of RAM usable for U-Boot at: 08000000

Reserving 340k for U-Boot at: 07faa000

Reserving 528k for malloc() at: 07f26000

Reserving 68 Bytes for Board Info at: 07f25fbc

Reserving 96 Bytes for Global Data at: 07f25f5c

Stack Pointer at: 07f25f38

New Stack Pointer is: 07f25f38

Now running in RAM - U-Boot at: 07faa000

FLASH: flash detect cfi

fwc addr fe000000 cmd 0 0 8bit x 8 bit

fwc addr fe000055 cmd 98 98 8bit x 8 bit

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

fwc addr fe000555 cmd 98 98 8bit x 8 bit

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

fwc addr fe000000 cmd 0 0000 16bit x 8 bit

fwc addr fe0000aa cmd 98 9898 16bit x 8 bit

is= cmd 51(Q) addr fe000020 is= 0051 5151

fwc addr fe000aaa cmd 98 9898 16bit x 8 bit

is= cmd 51(Q) addr fe000020 is= 0051 5151

fwc addr fe000000 cmd 0 0000 16bit x 16 bit

fwc addr fe0000aa cmd 98 0098 16bit x 16 bit

is= cmd 51(Q) addr fe000020 is= 0051 0051

is= cmd 52(R) addr fe000022 is= 0052 0052

is= cmd 59(Y) addr fe000024 is= 0059 0059

ushort addr is at fe000050 info->portwidth = 2

addr[0] = 0x0

addr[1] = 0x2

addr[2] = 0x0

addr[3] = 0x0

retval = 0x2

device interface is 2

found port 2 chip 2 port 16 bits chip 16 bits

ushort addr is at fe000026 info->portwidth = 2

addr[0] = 0x0

addr[1] = 0x2

addr[2] = 0x0

addr[3] = 0x0

retval = 0x2

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

fwc addr fe000aaa cmd aa 00aa 16bit x 16 bit

fwc addr fe000554 cmd 55 0055 16bit x 16 bit

fwc addr fe000aaa cmd 90 0090 16bit x 16 bit

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

fwc addr fe0000aa cmd 98 0098 16bit x 16 bit

ushort addr is at fe00002a info->portwidth = 2

addr[0] = 0x0

addr[1] = 0x40

addr[2] = 0x0

addr[3] = 0x0

retval = 0x40

fe000020 : 00 51 00 52 00 59 00 02 00 00 00 40 00 00 00 00
.Q.R.Y..... at ....

fe000030 : 00 00 00 00 00 00 00 27 00 36 00 00 00 00 00 04
.......'.6......

fe000040 : 00 00 00 0a 00 00 00 05 00 00 00 04 00 00 00 17
................

fe000050 : 00 02 00 00 00 00 00 00 00 02 00 07 00 00 00 20
...............

fe000060 : 00 00 00 7e 00 00 00 00 00 01 00 00 00 00 00 00
...~............

fe000070 : 00 00 00 00 00 00 00 00 00 00 ff ff ff ff ff ff
................

fe000080 : 00 50 00 52 00 49 00 31 00 31 00 00 00 02 00 04
.P.R.I.1.1......

fe000090 : 00 01 00 04 00 00 00 00 00 00 00 b5 00 c5 00 03
................

manufacturer is 2

manufacturer id is 0xc2

device id is 0xc9

device id2 is 0x0

cfi version is 0x3131

size_ratio 1 port 16 bits chip 16 bits

found 2 erase regions

long addr is at fe000062 info->portwidth = 2

addr[0] = 0x0

addr[1] = 0x7e

addr[2] = 0x0

addr[3] = 0x0

addr[4] = 0x0

addr[5] = 0x0

addr[6] = 0x0

addr[7] = 0x1

erase_region_count = 127 erase_region_size = 65536

long addr is at fe00005a info->portwidth = 2

addr[0] = 0x0

addr[1] = 0x7

addr[2] = 0x0

addr[3] = 0x0

addr[4] = 0x0

addr[5] = 0x20

addr[6] = 0x0

addr[7] = 0x0

erase_region_count = 8 erase_region_size = 8192

ushort addr is at fe000054 info->portwidth = 2

addr[0] = 0x0

addr[1] = 0x0

addr[2] = 0x0

addr[3] = 0x0

retval = 0x0

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

 8 MB

NAND:  64 MiB

In:    serial

Out:   serial

Err:   serial

U-Boot relocated to 07faa000

Net:   TSEC0: PHY is LSI ET1011C2 1000BASE-T Full duplex (282f014)

TSEC1: PHY is LSI ET1011C2 1000BASE-T Full duplex (282f014)

TSEC0, TSEC1 [PRIME]

### main_loop entered: bootdelay=2

 

### main_loop: bootcmd="run read_kernel; run read_dtb; bootm 200000 -
500000"

Hit any key to stop autoboot:  0

 

NAND read: device 0 offset 0x100000, size 0x300000

 3145728 bytes read: OK

 

NAND read: device 0 offset 0x400000, size 0x100000

 1048576 bytes read: OK

## Booting image at 00200000 ...

   Image Name:   Linux-2.6.23

   Created:      2009-07-21  19:40:44 UTC

   Image Type:   PowerPC Linux Kernel Image (gzip compressed)

   Data Size:    2084801 Bytes =  2 MB

   Load Address: 00000000

   Entry Point:  00000000

   Verifying Checksum ... OK

   Uncompressing Kernel Image ... OK

## Current stack ends at 0x07F25D10 => set upper limit to 0x00800000

## cmdline at 0x007FFC00 ... 0x007FFC72

bd address  = 0x07F25FBC

memstart    = 0x00000000

memsize     = 0x08000000

flashstart  = 0xFE000000

flashsize   = 0x00800000

flashoffset = 0x00000000

sramstart   = 0x00000000

sramsize    = 0x00000000

bootflags   = 0x00000001

intfreq     = 266.666 MHz

busfreq     = 133.333 MHz

ethaddr     = 00:E0:0C:00:95:01

eth1addr    = 00:E0:0C:00:95:02

IP addr     = 10.1.133.218

baudrate    = 115200 bps

Kernel address = 00000000

Skipping initrd

   Booting using the fdt at 0x500000

No initrd

CFG_BOOTMAPSZ = 0x800000

TB Freq - Couldn't find /cpus/PowerPC,8313 at 0: <valid offset/length>

Busfreq - Couldn't find /cpus/PowerPC,8313 at 0: <valid offset/length>

Clock freq - Couldn't find /cpus/PowerPC,8313 at 0: <valid offset/length>

Busfreq - Couldn't find /soc8313 at e0000000: <valid offset/length>

Busfreq - Couldn't find /soc8313 at e0000000/serial at 4500: <valid
offset/length>

Busfreq - Couldn't find /soc8313 at e0000000/serial at 4600: <valid
offset/length>

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

Kernel poiner = 0x0

FDT pointer = 0x500000

Physical pointer = 0x0

Running Linux

 

Here is my u-boot environment:

 

=> printenv

ramboot=setenv rootdev /dev/ram;run setbootargs;tftp $ramdiskaddr
$ramdiskfile;tftp $loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm
$loadaddr $ramdiskaddr $fdtaddr

nfsboot=setenv rootdev /dev/nfs;run setbootargs;run setipargs;tftp
$loadaddr $bootfile;tftp $fdtaddr $fdtfile;bootm $loadaddr - $fdtaddr

bootdelay=2

baudrate=115200

loads_echo=1

ethaddr=00:E0:0C:00:95:01

eth1addr=00:E0:0C:00:95:02

ipaddr=10.1.133.218

serverip=10.1.133.200

rootpath=/nfs/root/path

gatewayip=10.1.133.1

netmask=255.255.255.0

hostname=val2

bootfile=uImage

loadaddr=200000

uboot_file=./u-boot.bin

uboot_flash_addr=0xfe000000

uboot_flash_last=0xfe04ffff

dt_file=./mpc8313erdb.dtb

dt_flash_addr=0xfe050000

dt_flash_last=0xfe05ffff

env_flash_addr=0xfe060000

env_flash_last=0xfe06ffff

kernel_file=./uImage

kernel_flash_addr=0xfe070000

kernel_flash_last=0xfe24ffff

ramdisk_file=./rootfs.ext2.gz.uboot

ramdisk_flash_addr=0xfe250000

ramdisk_flash_last=0xfe7fffff

load_uboot=tftp $loadaddr $uboot_file

update_uboot=protect off $uboot_flash_addr $uboot_flash_last; era
$uboot_flash_addr $uboot_flash_last; cp.b $fileaddr $uboot_flash_addr
$filesize; protect on $uboot_flash_addr $uboot_flash_last

burn_uboot=run load_uboot;run update_uboot

load_dt=tftp $loadaddr $dt_file

update_dt=protect off $dt_flash_addr $dt_flash_last; era $dt_flash_addr
$dt_flash_last; cp.b $fileaddr $dt_flash_addr $filesize

burn_dt=run load_dt;run update_dt

load_kernel=tftp $loadaddr $kernel_file

update_kernel=protect off $kernel_flash_addr $kernel_flash_last; era
$kernel_flash_addr $kernel_flash_last; cp.b $fileaddr $kernel_flash_addr
$filesize

burn_kernel=run load_kernel;run update_kernel

load_ramdisk=tftp $loadaddr $ramdisk_file

update_ramdisk=protect off $ramdisk_flash_addr $ramdisk_flash_last; era
$ramdisk_flash_addr $ramdisk_flash_last; cp.b $fileaddr
$ramdisk_flash_addr $filesize

burn_ramdisk=run load_ramdisk;run update_ramdisk

netdev=eth1

ethprime=TSEC1

uboot=u-boot.bin

console=ttyS0

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

ramargs=setenv bootargs root=/dev/ram rw ramdisk_size=124M

addip=setenv bootargs ${bootargs}
ip=${ipaddr}:${serverip}:${gatewayip}:${netmask}:${hostname}:${netdev}:o
ff panic=1

addtty=setenv bootargs ${bootargs} console=ttyS0,${baudrate}

run ramargs; run addtty; bootm $kernel_flash_addr $ramdisk_flash_addr
$dt_flash_addr

mtdids=nand0=nand0

mtdparts=mtdparts=nand0:1M(u-boot),3M(kernel),1M(dtb),-(jffs2)

partition=nand0,3

mtddevnum=3

mtddevname=jffs2

bootargs=root=/dev/mtdblock3 rw rootfstype=jffs2 console=ttyS0,115200
mtdparts=nand0:1M(u-boot),3M(kernel),1M(dtb),-(jffs2)

read_kernel=nand read 200000 kernel

read_dtb=nand read 500000 dtb

bootcmd=run read_kernel; run read_dtb; bootm 200000 - 500000

stdin=serial

stdout=serial

stderr=serial

ethact=TSEC1

 

Environment size: 2777/16380 bytes



More information about the U-Boot mailing list