[U-Boot] some question
nice
huan_t at 163.com
Mon Feb 21 05:46:45 CET 2011
hello,everyone !
I am a beginner of linux and linux on powerpc,so I have many questions
when I am porting linux to my cunstom board with an mpc8641d processer.
First, I compiled the u-boot with the default configuration of the
SBC8641D board, and then I compiled the kernel and got a kernel image,
when I downloaded the kernel image to the target board with NFS, but
there is something wrong while uncompressing it. The output from the
serial port is as follows:
U-Boot 2010.12 (Feb 18 2011 - 14:51:13)
CPU: 8641D, Version: 2.1, (0x80900121)
Core: E600 Core 0, Version: 2.2, (0x80040202)
Clock Configuration:
CPU:1200 MHz, MPX:400 MHz
DDR:200 MHz (400 MT/s data rate), LBC:25 MHz
L1: D-cache 32 KB enabled
I-cache 32 KB enabled
L2: 512 KB enabled
Board: Wind River SBC8641D
I2C: ready
DRAM: DDR: 512 MiB
Reserving MP boot page to 1ff00000
Top of RAM usable for U-Boot at: 1ff00000
Reserving 229k for U-Boot at: 1fec6000
Reserving 136k for malloc() at: 1fea4000
Reserving 80 Bytes for Board Info at: 1fea3fb0
Reserving 104 Bytes for Global Data at: 1fea3f48
Stack Pointer at: 1fea3f28
New Stack Pointer is: 1fea3f28
Now running in RAM - U-Boot at: 1fec6000
FLASH: 32 MiB
*** Warning - bad CRC, using default environment
PCIE1: disabled
PCIE2: connected as Root Complex (base addr f8009000)
PCIE2: Bus 00 - 00
In: serial
Out: serial
Err: serial
U-Boot relocated to 1fec6000
Net: eTSEC2: No support for PHY id ffffffff; assuming generic
eTSEC3: No support for PHY id ffffffff; assuming generic
eTSEC4: No support for PHY id ffffffff; assuming generic
eTSEC1, eTSEC2, eTSEC3, eTSEC4
Hit any key to stop autoboot: 0
=> run nfsboot
Speed: 100, full duplex
Using eTSEC1 device
TFTP from server 192.168.0.2; our IP address is 192.168.0.50
Filename 'uImage'.
Load address: 0x1000000
Loading: #################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#################################################################
#######################
done
Bytes transferred = 2109712 (203110 hex)
Speed: 100, full duplex
Using eTSEC1 device
TFTP from server 192.168.0.2; our IP address is 192.168.0.50
Filename 'my8641d.dtb'.
Load address: 0xc00000
Loading: ##
done
Bytes transferred = 8950 (22f6 hex)
## Booting kernel from Legacy Image at 01000000 ...
Image Name: Linux-2.6.35
Image Type: PowerPC Linux Kernel Image (gzip compressed)
Data Size: 2109648 Bytes = 2 MiB
Load Address: 00000000
Entry Point: 00000000
Verifying Checksum ... OK
## Flattened Device Tree blob at 00c00000
Booting using the fdt blob at 0xc00000
Uncompressing Kernel Image ... out of func inflateInit2
Machine check in kernel mode.
Caused by (from msr): regs 1fea3818 MSS error. MSSSR0: 00001000
NIP: 1FEE74A0 XER: 00000000 LR: 1FEE72C8 REGS: 1fea3818 TRAP: 0200 DAR: 00000000
MSR: 00101030 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 11
GPR00: 00000016 1FEA3908 1FEA3F48 01000203 000001B4 00000000 0000009E 00000000
GPR08: FFFFFFFF 00003A00 000000C1 00000003 000001FF FDFFF7FF 1FEF6894 00000000
GPR16: FFFFFFFF 000001FF 0000003F FFFFFFFF 00000000 00000000 1FEA63B8 1FEA6D88
GPR24: 007FFEFE 0120310A 00000000 1FEA39E0 1FEA5E88 00000DBF 1FEFF9B8 0000000D
Call backtrace:
001A001A 1FEE922C 1FEE4904 1FEE4A30 1FECD2B4 1FECD698 1FEDA584
1FED9C98 1FED9EE4 1FEDA4C0 1FED9C98 1FED9EB8 1FEDB5C4 1FEDA584
1FED9C98 1FED9E08 1FEDBA54 1FECBD10 1FEC857C Machine check in kernel mode.
Caused by (from msr): regs 1fea3568 MSS error. MSSSR0: 00001000
NIP: 1FED549C XER: 20000000 LR: 1FEC88AC REGS: 1fea3568 TRAP: 0200 DAR: 00000000
MSR: 00101030 EE: 0 PR: 0 FP: 0 ME: 1 IR/DR: 11
GPR00: 00000001 1FEA3658 1FEA3F48 1FEF3550 00000001 00000004 00000000 00000000
GPR08: 00000000 80000000 00000030 00000000 42044024 FDFFF7FF 1FEF6894 00000000
GPR16: FFFFFFFF 000001FF 0000003F FFFFFFFF 00001032 1FEA3808 00000000 1FEC82C0
GPR24: 1FEC8A20 0120310A 1FEF3550 1FEEE188 1FEA366C 00000000 1FEFE924 42968260
Call backtrace:
1FED54EC 1FEC88AC 1FEC8B10 1FEC82C0 001A001A 1FEE922C 1FEE4904
1FEE4A30 1FECD2B4 1FECD698 1FEDA584 1FED9C98 1FED9EE4 1FEDA4C0
1FED9C98 1FED9EB8 1FEDB5C4 1FEDA584 1FED9C98 1FED9E08 1FEDBA54
1FECBD10 1FEC857C
machine check
I backtraced the contents dumped and I found it died in function "inflate" which
is defined in the file of lib/zlib.c and called in the file of lib/gunzip.c.But
after that I don't know what I should to do. can any one give me some advice?
Second,my flash size is 32MB, so I think the base address of my flash is 0xFE000000,
and the number of sector is 256,but if I use the configuration of this, it also
enter the machine check, if I set the base address as 0xFF000000 and the number of
sector as 128, it can work, but if I type the flinfo ,the output is as follows:
Hit any key to stop autoboot: 0
=> flinfo
Bank # 1: CFI conformant FLASH (16 x 16) Size: 32 MB in 256 Sectors
AMD Standard command set, Manufacturer ID: 0x01, Device ID: 0x7E22
Erase timeout: 4096 ms, write timeout: 1 ms
Buffer write timeout: 3 ms, buffer size: 64 bytes
Sector Start Addresses:
FF000000 E FF020000 E FF040000 E FF060000 E FF080000 E
FF0A0000 E FF0C0000 E FF0E0000 E FF100000 E FF120000 E
FF140000 E FF160000 E FF180000 E FF1A0000 E FF1C0000 E
FF1E0000 E FF200000 E FF220000 E FF240000 E FF260000 E
FF280000 E FF2A0000 E FF2C0000 E FF2E0000 E FF300000 E
FF320000 E FF340000 E FF360000 E FF380000 E FF3A0000 E
FF3C0000 E FF3E0000 E FF400000 E FF420000 E FF440000 E
FF460000 E FF480000 E FF4A0000 E FF4C0000 E FF4E0000 E
FF500000 E FF520000 E FF540000 E FF560000 E FF580000 E
FF5A0000 E FF5C0000 E FF5E0000 E FF600000 E FF620000 E
FF640000 E FF660000 E FF680000 E FF6A0000 E FF6C0000 E
FF6E0000 E FF700000 E FF720000 E FF740000 E FF760000 E
FF780000 E FF7A0000 E FF7C0000 E FF7E0000 E FF800000 E
FF820000 E FF840000 E FF860000 E FF880000 E FF8A0000 E
FF8C0000 E FF8E0000 E FF900000 E FF920000 E FF940000 E
FF960000 E FF980000 E FF9A0000 E FF9C0000 E FF9E0000 E
FFA00000 E FFA20000 E FFA40000 E FFA60000 E FFA80000 E
FFAA0000 E FFAC0000 E FFAE0000 E FFB00000 E FFB20000 E
FFB40000 E FFB60000 E FFB80000 E FFBA0000 E FFBC0000 E
FFBE0000 E FFC00000 E FFC20000 E FFC40000 E FFC60000 E
FFC80000 E FFCA0000 E FFCC0000 E FFCE0000 E FFD00000 E
FFD20000 E FFD40000 E FFD60000 E FFD80000 E FFDA0000 E
FFDC0000 E FFDE0000 E FFE00000 E FFE20000 E FFE40000 E
FFE60000 E FFE80000 E FFEA0000 E FFEC0000 E FFEE0000 E
FFF00000 FFF20000 FFF40000 E FFF60000 E FFF80000 E
FFFA0000 E FFFC0000 E FFFE0000 E 00000000 00020000
00040000 00060000 00080000 000A0000 000C0000
000E0000 00100000 00120000 00140000 00160000
00180000 001A0000 001C0000 001E0000 00200000
00220000 00240000 00260000 00280000 002A0000
002C0000 002E0000 00300000 00320000 00340000
00360000 00380000 003A0000 003C0000 003E0000
00400000 00420000 00440000 00460000 00480000
004A0000 004C0000 004E0000 00500000 00520000
00540000 00560000 00580000 005A0000 005C0000
005E0000 00600000 00620000 00640000 00660000
00680000 006A0000 006C0000 006E0000 00700000
00720000 00740000 00760000 00780000 007A0000
007C0000 007E0000 00800000 00820000 00840000
00860000 00880000 008A0000 008C0000 008E0000
00900000 00920000 00940000 00960000 00980000
009A0000 009C0000 009E0000 00A00000 00A20000
00A40000 00A60000 00A80000 00AA0000 00AC0000
00AE0000 00B00000 00B20000 00B40000 00B60000
00B80000 00BA0000 00BC0000 00BE0000 00C00000
00C20000 00C40000 00C60000 00C80000 00CA0000
00CC0000 00CE0000 00D00000 00D20000 00D40000
00D60000 00D80000 00DA0000 00DC0000 00DE0000
00E00000 00E20000 00E40000 00E60000 00E80000
00EA0000 00EC0000 00EE0000 00F00000 00F20000
00F40000 00F60000 00F80000 00FA0000 00FC0000
00FE0000
=>
there must be something wrong with it, because I see the address 0x0xxxxxxx
is for SDRAM. I don't know how to configure it .
Third,the default values of macro TSECx_PHY_ADDR are as follows:
#define TSEC1_PHY_ADDR 0x1f
#define TSEC2_PHY_ADDR 0x00
#define TSEC3_PHY_ADDR 0x01
#define TSEC4_PHY_ADDR 0x02
but if I use this value, my ethernet doesn't work, one of my friends told me
to change the value of macro TSEC1_PHY_ADDR to 0x8,after that, I can use the
ethernet and download my kernel image with NFS.I looked for literature but I
didn't find any useful information to explain it. Can anyone tell me why? Althrough
my ethernet can work, the output from the serial port notices me that:
Net: eTSEC2: No support for PHY id ffffffff; assuming generic
eTSEC3: No support for PHY id ffffffff; assuming generic
eTSEC4: No support for PHY id ffffffff; assuming generic
in this case, how should I change this configuration to make the other PHY work?
I am looking forward to your replies !
Thanks!
woodyiy
More information about the U-Boot
mailing list