FreeBSD on Raspberry Pi 512MB (with U-Boot + ubldr)

Warner Losh imp at
Mon Dec 3 16:17:43 UTC 2012

On Dec 3, 2012, at 7:51 AM, Daisuke Aoyama wrote:

>>>> BTW, SDHCI is not yet stable?
>>> There is one issue with setting SDHCI clock. I'll commit fix later today.
>> I like to share some information about the SD card reading speed.
>> While exchanging the old boot sequence with then new one I once booted
>> with the new boot sequence but without an /boot/loader.rc file.
>> The reading speed achieved with
>> dd if=/dev/mmcsd0 of=/dev/null bs=1m count=100
>> from the SD card was 10 Mbyte/sec.
>> After creating the file with "echo 'fdt addr 0x100' > /boot/loader.rc"
>> and rebooting the reading speed achieved from the SD card was down to
>> 2.8 Mbyte/sec.
>> Although the SDHCI frequency was shown on the second boot as double high as
>> on the first (100MHz versus 50MHz) the reading speed was much lower.
>> I think the cause was the mmcsd bus bit width which was reported as 4 at
>> the first and as 1 at the second boot.
> At this time, it must be 50. if use 100MHz, some cards cant be used anymore.
> Howerver, probably 4bit transfer is OK.

33MHz is the top speed for SD cards.  There's an extension to make them go as fast as 50MHz.  Most SD cards cope at 50MHz without enabling the extension and even more when enabled.  The current common code tries to enable things properly, but relies on the host bridge adapter driver to set the clock properly...  There may be some cruft here left over from the early Atmel legacy where the datasheet gave somewhat aggressive advise..

100MHz at one bit is 100Mbps.  50MHz 4 bit is 200Mbps.

I gotta get a pi to play around with this :)


More information about the freebsd-arm mailing list