Skip to content

Support mmc DDR52 timing in the mmc driver for eMMC modules #3802

@t-linden

Description

@t-linden

According to page 18 in https://elinux.org/images/9/91/Clement-sd-mmc-high-speed-support-in-linux-kernel_0.pdf
the DDR mode for eMMC was introduced with MMC 4.4 in 2009. It can run at up to 52 MHz and used at 3 V.
This is useful from the point of view of eMMC modules attached with a passive SD-card adapter to a Raspberry Pi as this would allow the available bandwidth to double without lowering the voltage to 1.8 V. On Raspberrry Pi models preceeding the Raspberry Pi Model 4 B this is important, because they don't support 1.8 V at all. The current mmc driver on the Raspberry Pi uses the timing "mmc high-speed", but using the timing "mmc DDR52" would be needed to achieve the double performance.

To reproduce
Insert an eMMC module on a SD-adapter into a Raspberry Pi. The maximum read performance is about 20 MB/s.

Expected behaviour
Insert an eMMC module on a SD-adapter into a Raspberry Pi. The expected maximum read performance would be about 40 MB/s.

Actual behaviour
Even if a eMMC module supports the timing "mmc DDR52" the mmc driver does not enable this mode.

System
See some details in this link at https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=282639

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions