Mount root from SD card?

Alexander Motin mav at FreeBSD.org
Wed Jan 21 08:10:04 PST 2009


Krassimir Slavchev wrote:
> ...
> CMD: 7 ARG 0 len 0
> RES: 0

Before this point mmc_rescan_cards() have successfully selected all the
cards. Then at this point
	mmcbr_set_bus_mode(dev, pushpull);

        mmcbr_update_ios(dev);
were called. And after that same request inside mmc_calculate_clock()
has failed. That's strange.

> timing 1, rate 30000000, hsrate 50000000
> CMD: 7 ARG 10000 len 0
> RES: 2

Open drain bus mode control is not implemented by sdhci driver, so I
haven't looked at it close. Quick look around shows that push-pull mode
was set there even without that last call. May be I am wrong, but first
line looks useless. mmcbr_update_ios(dev) writes to the controller bus
control registers, may be it affects something, or bus require some time
to settle after it?

> CMD: 6 ARG 80fffff0 len 64
> RES: 0
> CMD: 7 ARG 0 len 0
> RES: 0
> mmc0: setting transfer rate to 30.000MHz
> mmcsd0: 1983MB <SD Memory Card> at mmc0 30MHz/1bit

Bus frequency changed here. SD specification allows frequencies up to
25MHz without high speed timings used, but cards like this one ofter
declare a bit higher frequencies in legacy mode. May be we should just
to try to limit it to some safe value? You may just try to set
max_dtr = 5000000;
in mmc_calculate_clock(), before "if (bootverbose) {".

> CMD: 7 ARG 10000 len 0
> RES: 2
> mmc0: setting bus width to 1 bits
> CMD: 37 ARG 10000 len 0
> RES: 0
> CMD: 6 ARG 0 len 0
> RES: 0
> CMD: 11 ARG 0 len 512
> RES: 0
> CMD: 11 ARG 0 len 512
> RES: 0
> CMD: 11 ARG 200 len 512
> RES: 0
> Trying to mount root from ufs:/dev/mmcsd0s1
> 
> Alexander Motin wrote:
>> Krassimir Slavchev wrote:
>>> Alexander Motin wrote:
>>>> Krassimir Slavchev wrote:
>>>>> Oops, sorry this output was without SD card inserted!
>>>>> I've changed the file.
>>>> That's some different debugging. I have meant that one, which happens
>>>> when boot_verbose="YES" added to loader.conf, or respective Fx button
>>>> pressed during boot on PC.
>>> Yes this is with kernel VERBOSE_SYSINIT option because I cannot set
>>> boot_verbose from arm boot loader.
>>> Verbose messages from which modules you want to see? I will set
>>> bootverbose manually.
>> mmc. And while being there, apply this one please.

-- 
Alexander Motin


More information about the freebsd-arm mailing list