Skip to contentSkip to conversation

Command Time-Out values in MMC

DISCUSSION andrzej zaborowski 2 participants 4 messages Jan 28, 2006

lore
Share & tools
lore
#0 lore raw

Hi,
while browsing the MMC driver sources I noticed that the CTO (Command
Time-Out) register is written a value 0xff in one place (exactly,
here: http://www.kernel.org/git/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;h=35708dbf9d8e0f41687caeb70e7dde3f216a86a9;hb=9ca18d5394c5e6b2c74ddc52abaed81df530ff1d;f=drivers/mmc/omap.c#l847),
while the OMAP5910 documentation (exactly, this document:
http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=325&abstractName=spru680)
states something like:
[...]
0x01: One clock cycle
0xFD: 253 clock cycles
The 0xFF and 0xFE cannot be used.
[...]

Is this intentional? It seems to cause no problems, but setting 0xfd instead also didn't break anything for me. Is this limit also mentioned in documentation for other OMAP boards?
(If this is intentional, please ignore me.)
Regards,
Andrzej Zaborowski

#1 lore raw
Quoted 13 lines · andrzej zaborowski

Hi,
while browsing the MMC driver sources I noticed that the CTO (Command
Time-Out) register is written a value 0xff in one place (exactly,
here: http://www.kernel.org/git/?p=linux/kernel/git/tmlind/linux-omap-2.6.git;a=blob;h=35708dbf9d8e0f41687caeb70e7dde3f216a86a9;hb=9ca18d5394c5e6b2c74ddc52abaed81df530ff1d;f=drivers/mmc/omap.c#l847),
while the OMAP5910 documentation (exactly, this document:
http://focus.ti.com/dsp/docs/dspsupporttechdocsc.tsp?sectionId=3&tabId=409&familyId=325&abstractName=spru680)
states something like:
[...]
0x01: One clock cycle
0xFD: 253 clock cycles
The 0xFF and 0xFE cannot be used.
[...]

Quoted 4 lines

Is this intentional? It seems to cause no problems, but setting 0xfd instead also didn't break anything for me. Is this limit also mentioned in documentation for other OMAP boards?
(If this is intentional, please ignore me.)

As far as I remember we're not using the command timeout currently and it was expiring with some cards and causing false errors.

Basically some blocks on some cards take a really long time to write to. And if the command timeout expires before the card is done, we get a false error.

Tony

#2 lore raw
Quoted 3 lines · Tony Lindgren

As far as I remember we're not using the command timeout currently and it was expiring with some cards and causing false errors.

The value 0 could be used to disable timing out.
Andrzej Zaborowski

#3 lore raw
Quoted 6 lines · andrzej zaborowski
Quoted 3 lines · Tony Lindgren

As far as I remember we're not using the command timeout currently and it was expiring with some cards and causing false errors.

The value 0 could be used to disable timing out.

Using a reasonably long timeout and adding handling for it would probably be the best option.

Tony