[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