New: MMC initialisation: valid devices fail to init due to frequency check
(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: YesI 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_minhere is 136719 Hz.
atmel_mciatmel_mci.0: Atmel MCI controller at0xfff02400irq 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 GiBI 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 :)