
I'm sorry if I posted where is not the exact place, but it seems linuxppc_embedded maillist doesn't work. my Linux kernel 2.4.18 panic at init EPSON1356 Display Controller I'm using Cogent CSB272(based on IBM 405GP) board, and the OS is montavisa 3.0, kernel 2.4.18, bootloader is U-BOOT 1.1.1. When the board power on, In U-BOOT shell, the first time I download kernel to SDRAM(64MB), then bootm, kernel panic at init EPSON1356 Display Controller, so I reset U-BOOT, I download kernel again and at the same address(0x200000),this time, boot linux ok. Why??? When I disabled framebuffer support in kernel, then every time booting linux is ok. I used another bootloader uMon and enabled framebuffer support in kernel,every time booting linux is ok. I have changed bd_t struct in kernel, then it is the same as in U-BOOT, undefined CFG_CLK_Mhz, I compiled U-BOOT with csb272_config. Should I pay attention to SDRAM init sequence in U-BOOT as Wolfgang has said many times? I didn't change anything about sdram_init in init.S Isn't it enough to do the sdram_init in init.S? Any suggestions would be appreciated.
the following is my boot information:(the first time and the second time) ----------------------------------------------------------------------------
U-Boot 1.1.1 (Sep 6 2004 - 11:32:49)
CPU: IBM PowerPC 405GP Rev. E at 198 MHz (PLB=66, OPB=16, EBC=33 MHz) PCI sync clock at 33 MHz, internal PCI arbiter enabled 16 kB I-Cache 8 kB D-Cache BOARD: Cogent CSB272 I2C: ready DRAM: 64 MB FLASH: erase_region_count = 128 erase_region_size = 131072 32 MB *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial BEDBUG:ready u-boot=> tftp 200000 zImage_liao_lcd.bin ENET Speed is 100 Mbps - HALF duplex connection TFTP from server 10.96.10.215; our IP address is 10.96.10.216 Filename 'zImage_liao_lcd.bin'. Load address: 0x200000 Loading: *################################################################# ################################################################# #### done Bytes transferred = 682770 (a6b12 hex) u-boot=> bootm 200000 ## Booting image at 00200000 ... Image Name: Linux kernel Image Created: 2004-09-08 3:34:24 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 682706 Bytes = 666.7 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK hello,first run ppc4xx kernel cpu freq= 198000000 kernel bus freq= 66000000plb freq=66000000flash start=-33554432Linux version 2.4.18_mvl30-walnut (root@Redhat) (gcc version 3.2.1 20020930 (MontaVista)) #2 Wed Sep 8 11:28:08 CST 2004 CSB272 (IBM405GP) Platform Port by MontaVista Software, Inc. (source@mvista.com) On node 0 totalpages: 16384 zone(0): 16384 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: console=ttyS0,38400 root=/dev/nfs rw nfsroot=10.96.10.215:/home/mvkit/ppc405/target ip=10.96.10.216:10.96.10.215:10.96.10.254:255.255.255.0:red::off panic=1; Console: colour dummy device 80x25 Calibrating delay loop... 197.83 BogoMIPS Memory: 62836k available (1132k kernel code, 416k data, 100k init, 0k highmem) Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes) Inode-cache hash table entries: 4096 (order: 3, 32768 bytes) Mount-cache hash table entries: 1024 (order: 1, 8192 bytes) Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) Page-cache hash table entries: 16384 (order: 4, 65536 bytes) POSIX conformance testing by UNIFIX PCI: Probing PCI hardware Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket OCP uart ver 1.2 init complete Starting kswapd Disabling the Out Of Memory Killer i2c-core.o: i2c core module version 2.6.2 (20011118) i2c-dev.o: i2c /dev entries driver module version 2.6.2 (20011118) i2c-proc.o version 2.6.2 (20011118) Found EPSON1356 Display Controller e1356/806fb: Detected 2097KB framebuffer e1356fb: clocks (kHz): busclk=33000 mclk=33000 clki=25175 clki2=25175 e1356fb: reserving 1024 bytes for the hwcursor at c540dc00 Machine check in kernel mode. Caused by (from SRR1=9030): Transfer error ack signal Oops: machine check, sig: 7 NIP: C00B7164 XER: 00000000 LR: C00B7130 SP: C02F3D40 REGS: c02f3c80 TRAP: 0200 Not tainted MSR: 00009030 EE: 1 PR: 0 FP: 0 ME: 1 IR/DR: 11 TASK = c02f2000[1] 'swapper' Last syscall: 120 last math 00000000 last altivec 00000000 PLB0: bear= 0x0080f8b0 acr= 0x00000000 besr= 0x00000000 PLB0 to OPB: bear= 0x01006200 besr0= 0x00000000 besr1= 0x00000000
GPR00: 00000000 C02F3D40 C02F2000 C02F3DA8 C0197920 00000000 C0198DC4 000FFE00 GPR08: 00000000 C520E002 001FFBFE C520E004 00000008 00000000 C500D014 000001DF GPR16: 0000002C 0000000A 00000002 00000013 00000001 0000000B 00000003 C500D040 GPR24: 00000001 C500D032 C0197920 FFFFFFFF C02F3DA8 C0197920 00001388 C500D100 Call backtrace: C00B7130 C00B7E4C C015FA78 C015E52C C015833C C0151810 C015185C C00026FC C0004F0C Kernel panic: Attempted to kill init! <0>Rebooting in 1 seconds..<NULL>
U-Boot 1.1.1 (Sep 6 2004 - 11:32:49)
CPU: IBM PowerPC 405GP Rev. E at 198 MHz (PLB=66, OPB=16, EBC=33 MHz) PCI sync clock at 33 MHz, internal PCI arbiter enabled 16 kB I-Cache 8 kB D-Cache BOARD: Cogent CSB272 I2C: ready DRAM: 64 MB FLASH: erase_region_count = 128 erase_region_size = 131072 32 MB *** Warning - bad CRC, using default environment
In: serial Out: serial Err: serial BEDBUG:ready u-boot=> tftp 200000 zImage_liao_bin_lcd.bin ENET Speed is 100 Mbps - HALF duplex connection TFTP from server 10.96.10.215; our IP address is 10.96.10.216 Filename 'zImage_liao_lcd.bin'. Load address: 0x200000 Loading: *################################################################# ################################################################# #### done Bytes transferred = 682770 (a6b12 hex) u-boot=> bootm 200000 ## Booting image at 00200000 ... Image Name: Linux kernel Image Created: 2004-09-08 3:34:24 UTC Image Type: PowerPC Linux Kernel Image (gzip compressed) Data Size: 682706 Bytes = 666.7 kB Load Address: 00000000 Entry Point: 00000000 Verifying Checksum ... OK Uncompressing Kernel Image ... OK hello,first run ppc4xx kernel cpu freq= 198000000 kernel bus freq= 66000000plb freq=66000000flash start=-33554432Linux version 2.4.18_mvl30-walnut (root@Redhat) (gcc version 3.2.1 20020930 (MontaVista)) #2 Wed Sep 8 11:28:08 CST 2004 CSB272 (IBM405GP) Platform Port by MontaVista Software, Inc. (source@mvista.com) On node 0 totalpages: 16384 zone(0): 16384 pages. zone(1): 0 pages. zone(2): 0 pages. Kernel command line: console=ttyS0,38400 root=/dev/nfs rw nfsroot=10.96.10.215:/home/mvkit/ppc405/target ip=10.96.10.216:10.96.10.215:10.96.10.254:255.255.255.0:red::off panic=1; Console: colour dummy device 80x25 Calibrating delay loop... 197.83 BogoMIPS Memory: 62836k available (1132k kernel code, 416k data, 100k init, 0k highmem) Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes) Inode-cache hash table entries: 4096 (order: 3, 32768 bytes) Mount-cache hash table entries: 1024 (order: 1, 8192 bytes) Buffer-cache hash table entries: 4096 (order: 2, 16384 bytes) Page-cache hash table entries: 16384 (order: 4, 65536 bytes) POSIX conformance testing by UNIFIX PCI: Probing PCI hardware Linux NET4.0 for Linux 2.4 Based upon Swansea University Computer Society NET3.039 Initializing RT netlink socket OCP uart ver 1.2 init complete Starting kswapd Disabling the Out Of Memory Killer i2c-core.o: i2c core module version 2.6.2 (20011118) i2c-dev.o: i2c /dev entries driver module version 2.6.2 (20011118) i2c-proc.o version 2.6.2 (20011118) Found EPSON1356 Display Controller e1356/806fb: Detected 2097KB framebuffer e1356fb: clocks (kHz): busclk=33000 mclk=33000 clki=25175 clki2=25175 e1356fb: reserving 1024 bytes for the hwcursor at c540dc00 Console: switching to colour frame buffer device 80x30 fb0: Epson SED1356 frame buffer device initialize_kbd: Keyboard reset failed, no ACK Detected PS/2 Mouse Port. pty: 256 Unix98 ptys configured Serial driver version 5.05c (2001-07-08) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled ttyS00 at 0xef600300 (irq = 0) is a 16550A ttyS01 at 0xef600400 (irq = 1) is a 16550A IBM gpio driver version 02.01.21.d GPIO #0 at 0xef600700 PPC 405 watchdog driver v0.5 block: 128 slots per queue, batch=32 RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize loop: loaded (max 8 devices) eth0: Phy @ 0x0, type LXT971A (0x001378e2) Reset ethernet interfaces IBM On-chip iic (i2c) algorithm module 2002.30.04 iic_ibmocp_init: IBM on-chip iic adapter module NET4: Linux TCP/IP 1.0 for NET4.0 IP Protocols: ICMP, UDP, TCP IP: routing cache hash table of 512 buckets, 4Kbytes TCP: Hash tables configured (established 4096 bind 8192) opening eth0 on emac 0 eth0: IBM EMAC: link up, 100 Mbps Half Duplex, auto-negotiation complete. eth0: IBM EMAC: MAC 00:0b:db:65:36:1f. eth0: IBM EMAC: open completed IP-Config: Complete: device=eth0, addr=10.96.10.216, mask=255.255.255.0, gw=10.96.10.254, host=red, domain=, nis-domain=(none), bootserver=10.96.10.215, rootserver=10.96.10.215, rootpath= NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. Looking up port of RPC 100003/2 on 10.96.10.215 Looking up port of RPC 100005/1 on 10.96.10.215 VoFkS: Mounted roournel memory: 100k init INIT: version 2.78 booting Activating swap... Checking all file systems... Parallelizing fsck version 1.22 (22-Jun-2001) Calculating module dependencies... done. Loading modules: mkdir: cannot create directory `/dev/pts': File exists Mounting local filesystems... nothing was mounted Cleaning: /etc/network/ifstate. Setting up IP spoofing protection: rp_filter. Disable TCP/IP Explicit Congestion Notification: done. Configuring network interfaces: done. Starting portmap daemon: portmap. Cleaning: /tmp /var/lock /var/run. INIT: Entering runlevel: 3 Starting system log daemon: syslogd klogd. Starting internet superserver: inetd.
MontaVista Linux 3.0, Professional Edition
red login: root Last login: Thu Jan 1 00:00:25 1970 on console Linux red 2.4.18_mvl30-walnut #2 Wed Sep 8 11:28:08 CST 2004 ppc unknown
Welcome to MontaVista Linux 3.0, Professional Edition
root@red:~#
Initialization SDRAMs must be powered up and initialized in a predefined manner. Operational procedures other than those specified may result in undefined operation. Once power is applied to VDD and VDDQ (simultaneously) and the clock is stable (stable clock is defined as a signal cycling within timing constraints specified for the clock pin), the SDRAM requires a 100μs delay prior to issuing any command other than a COMMAND INHIBIT or NOP. Starting at some point during this 100μs period and continuing at least through the end of this period, COMMAND INHIBIT or NOP commands should be applied. Once the 100μs delay has been satisfied with at least one COMMAND INHIBIT or NOP command having been applied, a PRECHARGE command should be applied. All banks must then be precharged, thereby placing the device in the all banks idle state. Once in the idle state, two AUTO REFRESH cycles must be performed. After the AUTO REFRESH cycles are complete, the SDRAM is ready for mode register programming. Because the mode register will power up in an unknown state, it should be loaded prior to applying any operational command.