[U-Boot-Users] EP852 : Kernel not booting ( Hangs after uncompressing)
gautam borad
gautam at eisodus.com
Fri Oct 28 11:22:02 CEST 2005
Hi,
I'm trying to port u-boot-1.1.3 to EP852 board with mpc852T
processor.The kernel im
using is linuxppc 2.4.21.
The board is working fine with u-boot , the problem is that kernel is
not starting.
I've made sure that the bd_info structure is same in kernel and u-boot.
The clocks_in_mhz variable is not set and the IMMR value in kernel and
u-boot
matches. I run the test_burst program in u-boot and it worked fine.( so
no prob with RAM)
What else am i doing wrong??
The dump is :
U-Boot 1.1.3 (Oct 28 2005 - 12:54:07) EP852
CPU: MPC852TxxZPnn at 50 MHz [25.0...125.0 MHz]
4 kB I-Cache 4 kB D-Cache FEC present
Board: EP852 (Rev. e4). CPLD Rev: 00 DIP Switch: 1111
DRAM: 16 MB
Top of RAM usable for U-Boot at: 01000000
Reserving 354k for U-Boot at: 00fa7000
Reserving 128k for malloc() at: 00f87000
Reserving 60 Bytes for Board Info at: 00f86fc4
Reserving 56 Bytes for Global Data at: 00f86f8c
Stack Pointer at: 00f86f68
New Stack Pointer is: 00f86f68
Now running in RAM - U-Boot at: 00fa7000
FLASH: Flash addr:ff800000
AMD_ID_LV320B selected.
before print_size 8 MB
In: serial
Out: serial
Err: serial
U-Boot relocated to 00fa7000
Net: FEC ETHERNET
### main_loop entered: bootdelay=8
### main_loop: bootcmd="<UNDEFINED>"
=> printenv bootargs
bootargs=console=ttyS0,9600 root=/dev/ram
=> tftp 0x00200000 pImage
Using FEC ETHERNET device
TFTP from server 10.129.87.5; our IP address is 10.129.87.250
Filename 'pImage'.
Load address: 0x200000
Loading: #################################################################
###########################################################
done
Bytes transferred = 631143 (9a167 hex)
=> bootm 0x00200000
## Booting image at 00200000 ...
Image Name: Linux-2.4.21
Created: 2005-10-27 13:15:01 UTC
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 631079 Bytes = 616.3 kB
Load Address: 00100000
Entry Point: 00100000
Verifying Checksum ... OK
Uncompressing Kernel Image ... OK
before do_bootm_linux() argv = 16722772 addr = 16282928
## Current stack ends at 0x00F86CA8 => set upper limit to 0x00800000
## cmdline at 0x007FFF00 ... 0x007FFF20
No initrd
## Transferring control to Linux (at address 00100000) ...
bi_memstart = 0
bi_memsize = 16777216
bi_flashstart = 4286578688
bi_flashsize = 8388608
bi_flashoffset = 343040
bi_sramstart = 0
bi_sramsize = 0
bi_immr_base = 4196401152
bi_bootflags = 1
bi_ip_addr = 176248826
bi_enetaddr[6] =
bi_ethspeed = 114
bi_intfreq = 50000000
bi_busfreq = 50000000
bi_baudrate = 38400 // see the problem below
The image was created with the following in arc/ppc/boot/Makefile :
$(MKIMAGE) -A ppc -O linux -T kernel -C gzip -a 0x00100000 -e 0x00100000 \
-n 'Linux-$(VERSION).$(PATCHLEVEL).$(SUBLEVEL)$(EXTRAVERSION)' \
-d $< images/vmlinux.PPCBoot
ln -sf vmlinux.PPCBoot images/pImage
The same kernel was working fine before with the epbootloader. the
partitions i made in kernel MTD are:
ff80_0000 ------- ff82_0000 -> boot
ff82_0000 ------- ff8c_0000 -> zImage
ff8c_0000 ------- ff2c_0000 -> ramdisk
ff2c_0000 ------- ffff_ffff -> UserFS (JFFS2)
Some of the #defines in EP852 configs are :
#define CFG_SDRAM_SIZE (16 * MB)
#define CFG_FLASH_BASE 0xFF800000
#define CFG_FLASH_SIZE (8 * MB)
#define CFG_BSCR_BASE 0xFA400000
#define CFG_IMMR 0xFA200000
#define CFG_JFFS2_FIRST_SECTOR 56 what should i give here?
#define CFG_PRELIM_OR_AM 0xFF800000
#define CFG_OR0_PRELIM (CFG_PRELIM_OR_AM |
CFG_OR_TIMING_FLASH)
#define CFG_BR0_PRELIM 0xFF800001
#define CFG_OR1_PRELIM 0xFF000600
#define CFG_BR1_PRELIM ((CFG_SDRAM_BASE & BR_BA_MSK) |
BR_MS_UPMA | BR_V )
#define CFG_BR3_PRELIM 0xFA400001 /* BCSR */
#define CFG_OR3_PRELIM 0xFF7F8970
#define CFG_BR4_PRELIM 0xFA000401 /* NVRAM&SRAM */
#define CFG_OR4_PRELIM 0xFFF80970
There is other minor(??) problem. When i set the value of CFG_SCCR to
SCCR_COM00 | SCCR_DFSYNC00 | SCCR_DFBRG00 | SCCR_DFNL000 |
SCCR_DFNH000 | SCCR_DFLCD000 | SCCR_DFALCD00 u-boot works at
CONFIG_BAUDRATE / 4 speed i.e if CONFIG_BAUDRATE = 9600 i've to
set minicom/kermit to 2400 . Now when i set CFG_SCCR to 0x03020800 ( the
value given by embedded planet config file) the baud rate works fine but
the FEC
doesnt work properly. It works __VERY__ slowly, i get errors in
fec_recv() ( enabling ET_DEBUG)
How do I make both ( FEC and baudrate ) work fine and also is this
related to
kernel not booting?
Thanks in advance.
-----------
We would change the world.....
But GOD wont give the source code.
More information about the U-Boot
mailing list