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
_______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot