[BPI-R3][BPI-R4] Can the clock to the sd card be increased?

Hi,

I have an sd card that does about 100MBytes/sec when plugged into a usb-c sd card adapter on a laptop, but then only gets 18MBytes/sec when plugged into a BPI-R3/R4. Tested with "hdparm -tT /dev/[sd card device name]

Can the sd card clock be increased to maybe made the sdcard reader faster?

If not, I suggest this feature added to future BPI designs.

You can try increasing speed in the devicetree overlay, but this requires recompile of the fit.

A better way would be only booting till uboot from mmc/nand/nor and then switching to nvme for the productive system

I tried to modify dts and add sdr104 mode, but it doesn’t work at all :face_exhaling: And it shows error and then boot in high-speed mode.

Use emmc should be a better choice.

I think the fixed voltage is the cause of the lower speed. Need to lower voltage for higher speeds. Check the schematic to see which board this applies to.

The SD mode of SD/eMMC controller inside FiLogic 880 (MT7988) is much slower than its eMMC mode. According to the spec, SD mode should support 50MB/s max. Current software seems to limit SD mode at 25MB/s.

So there is upside for doubling the speed if we could figure out the cause of capping at 25MB/s.

VQMMC of sd card slot is fixed at 3.3v, which limits it to reach higher speed mode, since higher speed mode needs hardware to support dynamically switching to 1.8v mode.

If vqmmc is modified to fixed 1.8v, will it facilitate some of the SD 3.0 speeds by sacrificing support of SD 2.0?

But the upside is only 50MB/s max, I believe R4’s design made a sensible choice. Prefer compatibility over small speed bump. The SD slot is designed for temporary use. eMMC is preferred choice on R4.

If you modified that to 1.8v on both hardware and dts, I think that would be working.

1 Like

Except booting then…

I guess the alternative is, if we need the speed, use NVME instead. u-boot can boot from it now.