Skip to contentSkip to conversation

New: MMC initialisation: valid devices fail to init due to frequency check

Bugme-new Andrew Morton 1 participant 1 message May 21, 2010 1 message not in the archive MMC, SD and SDIO

lore
Share & tools
lore

A message that is not in the archive (sent off-list or not yet received): [email protected]/

#1 lore raw

(switched to email. Please respond via emailed reply-to-all, not via the bugzilla web interface).

Quoted 53 lines · On Thu, 29 Apr 2010 10:26:39 GMT [email protected] wrote:

https://bugzilla.kernel.org/show_bug.cgi?id=15876

Summary: MMC initialisation: valid devices fail to init due to
frequency check
Product: Drivers
Version: 2.5
Kernel Version: 2.6.31
Platform: All
OS/Version: Linux
Tree: Mainline
Status: NEW
Severity: normal
Priority: P1
Component: Flash/Memory Technology Devices
AssignedTo: [email protected]
ReportedBy: [email protected]
Regression: Yes

I have a commercially available development board with MMC card socket (Atmel ATSTK1006 with AP7000). Prior to 2.6.31 this board could successfully initialise and use MMC cards. Since the minimum frequency enforcement to 400 KHz was added in commit 8dfd0374be84793360db7fff2e635d2cd3bbcb21, this board can no longer detect MMC cards.

Thanks to the following diagnostic patch: http://lkml.org/lkml/2010/1/4/291 I narrowed down the frequency range supported by this board. The host->f_min here is 136719 Hz.

atmel_mci atmel_mci.0: Atmel MCI controller at 0xfff02400 irq 28, 1 slots
mmc_rescan: trying 400000 Hz
Waiting for root device /dev/mmcblk0p1...
mmc_rescan: trying 300000 Hz
mmc_rescan: trying 200000 Hz
mmc_rescan: trying 136719 Hz
mmc0: host does not support reading read-only switch. assuming
write-enable.
mmc0: new SD card at address 8fe4
mmcblk0: mmc0:8fe4 SD02G 1.84 GiB

I understand that the MMC spec allows frequency ranges between about 400 KHZ and 138 KHz. It seems that enforcing the minimum frequency to be the highest from the specification is causing the problem and causes an otherwise within-spec device such as this to fail to initialise.

Other AVR32/AP7000 boards such as NGW100 seem OK with the same cards (Sandisk 2Gb) by the way and do work at full speed. It seems it may be due to this particular board layout that, although just about within spec, it is limited to the lower end of the range.

Could I please ask the MMC people to re-visit this frequency check issue ? I'm opening this bug as a marker, thank you :)