ltib
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: [Ltib] LPC3250 platform problem: SD card can not work well


From: Kevin Wells
Subject: RE: [Ltib] LPC3250 platform problem: SD card can not work well
Date: Tue, 30 Nov 2010 18:25:44 +0100

Hi Henry,

 

>In the beginning of this year, the SD card works well in the same board with kernel 2.6.28
>Last months we found the SD card doesn't work with kernel 2.6.34

The PHY3250 AND FDI3250 SDMMC support should work without problems.

The EA3250 support is still not there yet (it used a GPIO expander for card detect).

 

>Here is the releated dmesg( after plugging the SD card into the slot): (seems the CMD5 always timeout)
CMD5 should always timeout for standard SD cards. This should also timeout in 2.6.27.8.

Linux issues this command to help determine what kind of card in inserted in the slot.

 

>1. If I boot up the board with SD card pluged, the system hang after the DHCP process, never get a prompt.

It might be the ethaddr= parameters is missing on the command line. This was a change

for kernel version 2.6.34 and networking. Is the kernel actually locking up (bad) or is

ethernet just hanging on the DHCP request? If it’s really locking up, post a bug tracker

item for it with as much info as possible to reproduce it.

 

>2. If I plug the SD card after the system ready, it shows the below messages:
>"mmc0: host does not support reading read-only switch. assuming write-enable.
>mmc0: new SD card at address 0001
>mmcblk0: mmc0:0001 00000 1.89 GiB
> mmcblk0:"

I don’t see any partitions on this card, but it seems to have been detected ok.

Does this have partitions on 2.6.27.8? If it does, enable MMC debug in the kernel to get

an idea what might be happening.

 

>The write protect message is right cause we are using micro SD card slot and I set ".gpio_wp        = -1" in phy3250.c, but if I mount the /dev/mmcblk0 with command "mount /dev/mmcblk0 /mnt/floppy", the system also hang with no response, even I press many "Enter" keys.

Hmm, you’d typically mount a partition, ie /dev/mmcblk0p1

 

> mmc0: clock 13866666Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 0

Ok, MMC debug is on. The entire debug output actually looks correct with no errors.

The clock frequency is a little odd in that it should be around 20~25MHz, but the clock

setting is usually based on the card used, so maybe its ok.

 

From what was sent, I can’t see a specific problem with the SD interface except that

the card is missing partitions. If it is locking up on mount, I’m not sure at this point

if the issue is related to the driver or something else, so more info is needed.

 

Kevin

 

 

From: address@hidden [mailto:address@hidden On Behalf Of Li Yuan-Lung
Sent: Thursday, November 18, 2010 6:25 PM
To: address@hidden
Subject: [Ltib] LPC3250 platform problem: SD card can not work well

 

Dear all,
In the beginning of this year, the SD card works well in the same board with kernel 2.6.28
Last months we found the SD card doesn't work with kernel 2.6.34

Here is the releated dmesg( after plugging the SD card into the slot): (seems the CMD5 always timeout)
The symptom is:
1. If I boot up the board with SD card pluged, the system hang after the DHCP process, never get a prompt.
2. If I plug the SD card after the system ready, it shows the below messages:
"mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address 0001
mmcblk0: mmc0:0001 00000 1.89 GiB
 mmcblk0:"
The write protect message is right cause we are using micro SD card slot and I set ".gpio_wp        = -1" in phy3250.c, but if I mount the /dev/mmcblk0 with command "mount /dev/mmcblk0 /mnt/floppy", the system also hang with no response, even I press many "Enter" keys.
The only way is to remove the power to let the system reset.

Please kindly help to figure out a way for solving. Thank you very much.

root# dmesg|grep mmc
=====================================================This is the dmesg after boot
bus: 'mmc': add driver mmcblk
bus: 'amba': add driver mmci-pl18x
bus: 'amba': driver_probe_device: matched device dev:mmc0 with driver mmci-pl18x
bus: 'amba': really_probe: probing driver mmci-pl18x with device dev:mmc0
mmci-pl18x dev:mmc0: designer ID = 0x41
mmci-pl18x dev:mmc0: revision = 0x0
mmci-pl18x dev:mmc0: clocking block at 13866666 Hz
mmci-pl18x dev:mmc0: DMA buffer: phy:83d70000, virt:ffc03000
device: 'mmc0': device_add
PM: Adding info for No Bus:mmc0
mmc0: clock 0Hz busmode 1 powermode 0 cs 0 Vdd 0 width 0 timing 0
mmci-pl18x dev:mmc0: mmc0: MMCI rev 0 cfg 00 at 0x0000000020098000 irq 15,13
driver: 'dev:mmc0': driver_bound: bound to device 'mmci-pl18x'
bus: 'amba': really_probe: bound device dev:mmc0 to driver mmci-pl18x

======================================================The below was happened after pluged SD card

mmc0: clock 0Hz busmode 1 powermode 1 cs 0 Vdd 21 width 0 timing 0
mmc0: clock 27084Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD52 arg 00000c00 flags 00000195
mmci-pl18x dev:mmc0: op 34 arg 00000c00 flags 00000195
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000004
mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD52 arg 80000c08 flags 00000195
mmci-pl18x dev:mmc0: op 34 arg 80000c08 flags 00000195
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000004
mmc0: req done (CMD52): -110: 00000000 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: clock 27084Hz busmode 1 powermode 2 cs 1 Vdd 21 width 0 timing 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
mmci-pl18x dev:mmc0: op 00 arg 00000000 flags 000000c0
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000080
mmc0: req done (CMD0): 0: 00000000 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: clock 27084Hz busmode 1 powermode 2 cs 0 Vdd 21 width 0 timing 0
mmc0: starting CMD8 arg 000001aa flags 000002f5
mmci-pl18x dev:mmc0: op 08 arg 000001aa flags 000002f5
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD8): 0: 000001aa 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD5 arg 00000000 flags 000002e1
mmci-pl18x dev:mmc0: op 05 arg 00000000 flags 000002e1
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000004
mmc0: req failed (CMD5): -110, retrying...
mmci-pl18x dev:mmc0: op 05 arg 00000000 flags 000002e1
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000004
mmc0: req failed (CMD5): -110, retrying...
mmci-pl18x dev:mmc0: op 05 arg 00000000 flags 000002e1
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000004
mmc0: req failed (CMD5): -110, retrying...
mmci-pl18x dev:mmc0: op 05 arg 00000000 flags 000002e1
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000004
mmc0: req done (CMD5): -110: 000001aa 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmci-pl18x dev:mmc0: op 37 arg 00000000 flags 000000f5
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD55): 0: 00400120 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD41 arg 00000000 flags 000000e1
mmci-pl18x dev:mmc0: op 29 arg 00000000 flags 000000e1
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: clock 27084Hz busmode 1 powermode 2 cs 0 Vdd 18 width 0 timing 0
mmc0: clock 27084Hz busmode 1 powermode 2 cs 1 Vdd 18 width 0 timing 0
mmc0: starting CMD0 arg 00000000 flags 000000c0
mmci-pl18x dev:mmc0: op 00 arg 00000000 flags 000000c0
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000080
mmc0: req done (CMD0): 0: 00ff8000 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: clock 27084Hz busmode 1 powermode 2 cs 0 Vdd 18 width 0 timing 0
mmc0: starting CMD8 arg 000001aa flags 000002f5
mmci-pl18x dev:mmc0: op 08 arg 000001aa flags 000002f5
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD8): 0: 000001aa 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmci-pl18x dev:mmc0: op 37 arg 00000000 flags 000000f5
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD41 arg 400c0000 flags 000000e1
mmci-pl18x dev:mmc0: op 29 arg 400c0000 flags 000000e1
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000001
mmc0: req done (CMD41): 0: 00ff8000 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD55 arg 00000000 flags 000000f5
mmci-pl18x dev:mmc0: op 37 arg 00000000 flags 000000f5
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD55): 0: 00000120 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD41 arg 400c0000 flags 000000e1
mmci-pl18x dev:mmc0: op 29 arg 400c0000 flags 000000e1
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000001
mmc0: req done (CMD41): 0: 80ff8000 00000000 00000000 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD2 arg 00000000 flags 00000067
mmci-pl18x dev:mmc0: op 02 arg 00000000 flags 00000067
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD2): 0: 1b534d30 30303030 107e6ab3 7300a1d8
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD3 arg 00000000 flags 00000075
mmci-pl18x dev:mmc0: op 03 arg 00000000 flags 00000075
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD3): 0: 00010520 30303030 107e6ab3 7300a1d8
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: clock 27084Hz busmode 2 powermode 2 cs 0 Vdd 18 width 0 timing 0
mmc0: starting CMD9 arg 00010000 flags 00000007
mmci-pl18x dev:mmc0: op 09 arg 00010000 flags 00000007
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD9): 0: 00260132 5b5a83c7 f6dbff9f 16804018
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD7 arg 00010000 flags 00000015
mmci-pl18x dev:mmc0: op 07 arg 00010000 flags 00000015
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD7): 0: 00000700 5b5a83c7 f6dbff9f 16804018
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD55 arg 00010000 flags 00000095
mmci-pl18x dev:mmc0: op 37 arg 00010000 flags 00000095
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD55): 0: 00000920 5b5a83c7 f6dbff9f 16804018
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD51 arg 00000000 flags 000000b5
mmc0:     blksz 8 blocks 1 flags 00000200 tsac 100 ms nsac 0
mmci-pl18x dev:mmc0: blksz 0008 blks 0001 flags 00000200
mmci-pl18x dev:mmc0: op 33 arg 00000000 flags 000000b5
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000100
mmc0: req done (CMD51): 0: 00000920 5b5a83c7 f6dbff9f 16804018
mmc0:     8 bytes transferred: 0
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD6 arg 00fffff1 flags 000000b5
mmc0:     blksz 64 blocks 1 flags 00000200 tsac 100 ms nsac 0
mmci-pl18x dev:mmc0: blksz 0040 blks 0001 flags 00000200
mmci-pl18x dev:mmc0: op 06 arg 00fffff1 flags 000000b5
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000100
mmc0: req done (CMD6): 0: 00000900 5b5a83c7 f6dbff9f 16804018
mmc0:     64 bytes transferred: 0
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: clock 13866666Hz busmode 2 powermode 2 cs 0 Vdd 18 width 0 timing 0
mmc0: starting CMD55 arg 00010000 flags 00000095
mmci-pl18x dev:mmc0: op 37 arg 00010000 flags 00000095
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD55): 0: 00000920 5b5a83c7 f6dbff9f 16804018
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: starting CMD6 arg 00000002 flags 00000015
mmci-pl18x dev:mmc0: op 06 arg 00000002 flags 00000015
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD6): 0: 00000920 5b5a83c7 f6dbff9f 16804018
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmc0: clock 13866666Hz busmode 2 powermode 2 cs 0 Vdd 18 width 2 timing 0
mmc0: host does not support reading read-only switch. assuming write-enable.
mmc0: new SD card at address 0001
device: 'mmc0:0001': device_add
bus: 'mmc': add device mmc0:0001
PM: Adding info for mmc:mmc0:0001
bus: 'mmc': driver_probe_device: matched device mmc0:0001 with driver mmcblk
bus: 'mmc': really_probe: probing driver mmcblk with device mmc0:0001
mmc0: starting CMD16 arg 00000200 flags 00000095
mmci-pl18x dev:mmc0: op 10 arg 00000200 flags 00000095
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmc0: req done (CMD16): 0: 00000900 5b5a83c7 f6dbff9f 16804018
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
mmcblk0: mmc0:0001 00000 1.89 GiB
device: 'mmcblk0': device_add
PM: Adding info for No Bus:mmcblk0
 mmcblk0:
mmc0: starting CMD18 arg 00000000 flags 000000b5
mmc0:     blksz 512 blocks 8 flags 00000200 tsac 100 ms nsac 0
mmc0:     CMD12 arg 00000000 flags 0000049d
mmci-pl18x dev:mmc0: blksz 0200 blks 0008 flags 00000200
mmci-pl18x dev:mmc0: op 12 arg 00000000 flags 000000b5
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000040
mmci-pl18x dev:mmc0: irq0 (data+cmd) 00000000
=====================================================


--
Best Regards,

Henry Li
SW Engineer of Climax Co.
TEL: +886-2-2794-0001 ext.231
FAX: +886-2-2792-6618


reply via email to

[Prev in Thread] Current Thread [Next in Thread]