Mount root from SD card?
Alexander Motin
mav at FreeBSD.org
Tue Jan 20 10:09:28 PST 2009
Alexander Motin wrote:
> Krassimir Slavchev wrote:
>> -----BEGIN PGP SIGNED MESSAGE-----
>> Hash: SHA1
>>
>> M. Warner Losh wrote:
>> ...
>>> mmcsd0: 1983MB <SD Memory Card> at mmc0 30MHz/1bit
>>> Trying to mount root from ufs:/dev/mmcsd0s1
>>>
>>> Manual root filesystem specification:
>>> <fstype>:<device> Mount <device> using filesystem <fstype>
>>> eg. ufs:/dev/da0a
>>> ? List valid disk boot devices
>>> <empty line> Abort manual input
>>>
>>> mountroot> ?
>>>
>>> List of GEOM managed disk devices:
>>> mmcsd0
>>>
>>>> Looks like that should be working.
>>>> mav@ has done a lot of hacking on the mmc code...
>>>> Do you have 1 wire or 4 wires for your mmc bus on your board?
>>
>> On the board all 4 bus wires are connected (MCD A0-A3) but I've never
>> seen working 4-bit mode on AT91RM9200 (See PR128987 too).
>
> I have just committed MMCBR_IVAR_CAPS implementation into CURRENT.
> Without having it implemented, results can be unpredictable. For
> example, mmc layer could enable high-speed timings to reach 30MHz, but
> this mode is not implemented for this controller. Booting with verbose
> messages enabled could give a bit more information.
>
> What's about 4-bit mode, I see some sc->wire4 variable checked by the
> driver, which is never initialized. I don't very understand how this
> thing expected to work.
As I can see from specification, if sc->wire4 is set to 0 by default,
bus will not ever switched into 4bit mode. Try to just comment out " &&
sc->wire4" part of at91_mci.c. If this variable expected to report real
bus width, then it probably should be done in different way, by
reporting correct host capabilities.
> PS: For MMC cards bus width testing routine implemented. May be we could
> do something alike for SD cards. It is not part of SD specification, but
> may be we could just issue some other command, transferring data, to
> check effective bus width.
--
Alexander Motin
More information about the freebsd-arm
mailing list