MPC5200 - problem with CF card

Jón Benediktsson jonb at marel.is
Thu Jan 6 01:49:42 EST 2005


Whoops, sorry for the HTML.  I forgot to change my e-mail options.
Here comes the plain text:

> Hi 
> 
> I am working with a custom MPC5200 board which uses the built-in 
> ATA/IDE controller for a compact flash card. 
> The Linux kernel is Denx linux_2_4_devel. 
> 
> I have been using an old SanDisk 16MB CF card which works fine. 
> Here is the console output with this card plugged in: 
> 
> U-Boot 1.1.2 (Dec  2 2004 - 16:01:06) 
> 
> CPU:   MPC5200 v1.2 at 396 MHz 
>        Bus 132 MHz, IPB 66 MHz, PCI 33 MHz 
> Board: Marel NS4 
> I2C:   85 kHz, ready 
> DRAM:  128 MB 
> FLASH: 16 MB 
> In:    serial 
> Out:   serial 
> Err:   serial 
> Net:   FEC ETHERNET 
> IDE:   Bus 0: OK 
>   Device 0: Model: SanDisk SDCFB-16 Firm: vde 1.10 Ser#: 24349220714 
>             Type: Removable Hard Disk 
>             Capacity: 15.3 MB = 0.0 GB (31360 x 512) 
> 
> Type "run flash_nfs" to mount root filesystem over NFS 
> 
> Hit any key to stop autoboot:  0 
> Using FEC ETHERNET device 
> TFTP from server 10.100.1.30; our IP address is 10.100.50.68 
> Filename 'mpc5200/uImage'. 
> Load address: 0x200000 
> Loading: 
################################################################# 
> ################################################################# 
>          ############################# 
> done 
> Bytes transferred = 810417 (c5db1 hex) 
> ## Booting image at 00200000 ... 
>    Image Name:   Linux-2.4.25 
>    Created:      2004-12-03  11:35:18 UTC 
>    Image Type:   PowerPC Linux Kernel Image (gzip compressed) 
>    Data Size:    810353 Bytes = 791.4 kB 
>    Load Address: 00000000 
>    Entry Point:  00000000 
>    Verifying Checksum ... OK 
>    Uncompressing Kernel Image ... OK 
> Memory BAT mapping: BAT2=128Mb, BAT3=0Mb, residual: 0Mb 
> Linux version 2.4.25 (jonb at tux.marel.is) (gcc version 3.2.2 20030217
> (Yellow Dog 
>  Linux 3.0 3.2.2-2a_1)) #4 Fös Des 3 11:34:35 UTC 2004 
> On node 0 totalpages: 32768 
> zone(0): 32768 pages. 
> zone(1): 0 pages. 
> zone(2): 0 pages. 
> Kernel command line: root=/dev/nfs rw nfsroot=10.100.1.30:
> /opt/eldk/ppc_82xx ip= 
> 10.100.50.68:10.100.1.30:10.100.254.254:255.255.0.0:ns4b:eth0:off 
panic=1 
> Calibrating delay loop... 263.78 BogoMIPS 
> Memory: 127080k available (1396k kernel code, 464k data, 76k init, 0k 
highmem)
> Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) 
> Inode cache hash table entries: 8192 (order: 4, 65536 bytes) 
> Mount cache hash table entries: 512 (order: 0, 4096 bytes) 
> Buffer cache hash table entries: 8192 (order: 3, 32768 bytes) 
> Page-cache hash table entries: 32768 (order: 5, 131072 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 
> Starting kswapd 
> Journalled Block Device driver loaded 
> JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc. 
> i2c-core.o: i2c core module version 2.6.1 (20010830) 
> i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830) 
> pty: 256 Unix98 ptys configured 
> ttyS0 on PSC1 
> ttyS1 on PSC2 
> ttyS2 on PSC3 
> PCF8563 Real-Time Clock Driver $Revision: 1.3 $ wd at denx.de 
> RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize 
> loop: loaded (max 8 devices) 
> Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 
> ide: Assuming 33MHz system bus speed for PIO modes; override with 
idebus=xx 
> Port Config is: 0x91050404 
> ipb=66MHz, set clock period to 15 
> GPIO config: 91050404 
> ATA invalid: 00800000 
> ATA hostcnf: 03000000 
> ATA pio1   : 100a0a00 
> ATA pio2   : 02040600 
> XLB Arb cnf: 80002006 
> mpc5xxx_ide: Setting up IDE interface ide0... 
> Probing IDE interface ide0... 
> hda: SanDisk SDCFB-16, CFA DISK drive 
> ide0 at 0xf0003a60-0xf0003a67,0xf0003a5c on irq 45 
> hda: attached ide-disk driver. 
> hda: 31360 sectors (16 MB) w/1KiB Cache, CHS=490/2/32 
> Partition check: 
>  hda: hda1 
> NS4 Bank 0: Found 1 x16 devices at 0x0 in 8-bit mode 
>  Amd/Fujitsu Extended Query Table at 0x0040 
> NS4 Bank 0: CFI does not contain boot bank location. Assuming top. 
> number of CFI chips: 1 
> cfi_cmdset_0002: Disabling erase-suspend-program due to code brokenness. 

> NS4 flash bank 0: Using static image partition definition 
> Creating 5 MTD partitions on "NS4 Bank 0": 
> 0x00000000-0x00100000 : "U-Boot" 
> 0x00100000-0x00200000 : "kernel" 
> 0x00200000-0x00500000 : "initrd" 
> 0x00500000-0x00b00000 : "jffs2" 
> 0x00b00000-0x01000000 : "Spare" 
> 
> --- cut out insignificant rest of console output  --- 
> 
> 
> Now I have a brand new SanDisk 1GB Industrial Grade card that is 
> giving me a problem.  Here is what happens 
> with exactly the same u-boot and kernel versions, just this new CF 
> card plugged in instead of the older one. 
> 
> U-Boot 1.1.2 (Dec  2 2004 - 16:01:06) 
> 
> CPU:   MPC5200 v1.2 at 396 MHz 
>        Bus 132 MHz, IPB 66 MHz, PCI 33 MHz 
> Board: Marel NS4 
> I2C:   85 kHz, ready 
> DRAM:  128 MB 
> FLASH: 16 MB 
> In:    serial 
> Out:   serial 
> Err:   serial 
> Net:   FEC ETHERNET 
> IDE:   Bus 0: OK 
>   Device 0: Model: SanDisk SDCFBI-1024 Firm: HDX 2.15 Ser#: 
111515L1004P3254 
>             Type: Hard Disk 
>             Capacity: 977.4 MB = 0.9 GB (2001888 x 512) 
> 
> Type "run flash_nfs" to mount root filesystem over NFS 
> 
> Hit any key to stop autoboot:  0 
> Using FEC ETHERNET device 
> TFTP from server 10.100.1.30; our IP address is 10.100.50.68 
> Filename 'mpc5200/uImage'. 
> Load address: 0x200000 
> Loading: 
################################################################# 
> ################################################################# 
>          ############################# 
> done 
> Bytes transferred = 810417 (c5db1 hex) 
> ## Booting image at 00200000 ... 
>    Image Name:   Linux-2.4.25 
>    Created:      2004-12-03  11:35:18 UTC 
>    Image Type:   PowerPC Linux Kernel Image (gzip compressed) 
>    Data Size:    810353 Bytes = 791.4 kB 
>    Load Address: 00000000 
>    Entry Point:  00000000 
>    Verifying Checksum ... OK 
>    Uncompressing Kernel Image ... OK 
> Memory BAT mapping: BAT2=128Mb, BAT3=0Mb, residual: 0Mb 
> Linux version 2.4.25 (jonb at tux.marel.is) (gcc version 3.2.2 20030217
> (Yellow Dog 
>  Linux 3.0 3.2.2-2a_1)) #4 Fös Des 3 11:34:35 UTC 2004 
> On node 0 totalpages: 32768 
> zone(0): 32768 pages. 
> zone(1): 0 pages. 
> zone(2): 0 pages. 
> Kernel command line: root=/dev/nfs rw nfsroot=10.100.1.30:
> /opt/eldk/ppc_82xx ip= 
> 10.100.50.68:10.100.1.30:10.100.254.254:255.255.0.0:ns4b:eth0:off 
panic=1 
> Calibrating delay loop... 263.78 BogoMIPS 
> Memory: 127080k available (1396k kernel code, 464k data, 76k init, 0k 
highmem)
> Dentry cache hash table entries: 16384 (order: 5, 131072 bytes) 
> Inode cache hash table entries: 8192 (order: 4, 65536 bytes) 
> Mount cache hash table entries: 512 (order: 0, 4096 bytes) 
> Buffer cache hash table entries: 8192 (order: 3, 32768 bytes) 
> Page-cache hash table entries: 32768 (order: 5, 131072 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 
> Starting kswapd 
> Journalled Block Device driver loaded 
> JFFS2 version 2.2. (C) 2001-2003 Red Hat, Inc. 
> i2c-core.o: i2c core module version 2.6.1 (20010830) 
> i2c-dev.o: i2c /dev entries driver module version 2.6.1 (20010830) 
> pty: 256 Unix98 ptys configured 
> ttyS0 on PSC1 
> ttyS1 on PSC2 
> ttyS2 on PSC3 
> PCF8563 Real-Time Clock Driver $Revision: 1.3 $ wd at denx.de 
> RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize 
> loop: loaded (max 8 devices) 
> Uniform Multi-Platform E-IDE driver Revision: 7.00beta4-2.4 
> ide: Assuming 33MHz system bus speed for PIO modes; override with 
idebus=xx 
> Port Config is: 0x91050404 
> ipb=66MHz, set clock period to 15 
> GPIO config: 91050404 
> ATA invalid: 00800000 
> ATA hostcnf: 03000000 
> ATA pio1   : 100a0a00 
> ATA pio2   : 02040600 
> XLB Arb cnf: 80002006 
> mpc5xxx_ide: Setting up IDE interface ide0... 
> Probing IDE interface ide0... 
> hda: SanDisk SDCFBI-1024, ATA DISK drive 
> hdb: probing with STATUS(0x00) instead of ALTSTATUS(0x7f) 
> ide0: unexpected interrupt, status=0x00, count=1 
> 
> Here the boot process fails and the kernel hangs without further 
> messages to the console. 
> 
> Actually I did get one bootup with this 1 GB SanDisk Industrial 
> Grade card that succeeded  without this happening, where the card seemed 
to be
> properly identiified, but I have not been able to repeat that. 
> 
> Does anyone have a clue what might be causing this ? 
> 
> 
> Thanks, 
> Jon Benediktsson 
> Marel hf. 



More information about the Linuxppc-embedded mailing list