Messages in this thread | | | Date | Sat, 02 Jan 2010 17:04:08 -0600 | From | Robert Hancock <> | Subject | Re: [PATCH v3] mmc: Make ID freq configurable |
| |
On 01/02/2010 04:23 PM, Ben Nizette wrote: > > On 02/01/2010, at 11:08 PM, Pierre Ossman wrote: > >> On Sat, 2 Jan 2010 20:07:01 +1100 >> Ben Nizette<bn@niasdigital.com> wrote: >> >>> >>> Pierre, thoughts? All my cards were borderline spec but Hein's got a mainstream, common card which seems to completely ignore the spec. Can we just take the few-hundred-uS hit and allow initialization down at the bottom end, say 100kHz? >>> >> >> Broken cards seem to be all over the spectrum, so I wouldn't be >> suprised if you find ones that break if you go too low as well. > > Yea good point, though given there might not even be a One Freq to Rule Them All, how about: > > ---8<--- > > From: Ben Nizette<bn@niasdigital.com> > Subject: [PATCH v3] mmc: Make ID freq configurable > > While the SD spec specifies a range of frequencies for the ID phase from 100-400kHz, not all cards play by the rules. This patch adds a Kconfig option to allow the user to tweak this to their card/host config, though the default of 250kHz should be fine for all spec-abiding cards and most others besides. > > Signed-off-by: Ben Nizette<bn@niasdigital.com> > > --- > diff --git a/drivers/mmc/core/Kconfig b/drivers/mmc/core/Kconfig > index ab37a6d..a8e5003 100644 > --- a/drivers/mmc/core/Kconfig > +++ b/drivers/mmc/core/Kconfig > @@ -14,3 +14,15 @@ config MMC_UNSAFE_RESUME > This option is usually just for embedded systems which use > a MMC/SD card for rootfs. Most people should say N here. > > +config MMC_ID_FREQ > + int "SD/MMC Card initialisation frequency (Hz)" > + default 250000 > + help > + The SD card specification allows for initialisation > + frequencies from 100-400kHz however some broken cards are > + known not to work across this whole range. > + > + If you're having problems with a particular card not being > + detected, you may try adjusting this frequency up or down > + but for widest compatibility just leave it default.
Don't know that a kconfig option is best for this, it'd suck to have to recompile the kernel to change it. Module option might be better..
| |