h1. Hardware matrix (Linux) |_. SoC |_. ES |_. eMMC |_. SDR25 |_. SDR50 |_. SDR104 |_. HS200 |_. HS400 |_. Suspend/Resume | | H3 | 1.0 | KLMBG4GESD-B03P | | [1] 30.1 MB/s | [1] 72.4 MB/s | [1] 126 MB/s | Not Supported | | | H3 | 1.1 | | | | | | Not Supported | | | H3 | 2.0 | KLMBG4GESD-B03P | | [1] 30,8 MB/s | [1] 75,2 MB/s | [1] 127 MB/s [2] 29.5 MB/s (SD 4.66) | [1] 166 MB/s [3] 33.8 MB/s (SD 5.41) | | | H3 | 3.0 | | | | | | | | | M3-W | 1.0 | SM662PB | [1] 19.1 MB/s | [1] 30.8 MB/s| [1] 78.9 MB/s | [1] 52.9 MB/s [2] 39.0 MB/s (SD 9.04) | [3] 48.5 MB/s (SD 4.48) | | | M3-N | 1.0 | KLMBG4GESD-B03P | [1] 19.7 MB/s | [1] 32.8 MB/s| [1] 84.1 MB/s | [1] 155 MB/s [2] 77.4 (SD 25.1) | [1] 223 MB/s [3] 33.4 MB/s (SD 10.9) | | | E3| 1.0 | | [] | [] | [] | [2] 51.6 MB/s (SD 29.5) | [3] 102 MB/s (SD 18.9) | | | Koelsch| 1.* | | | [1] 30.2 MB/s| [1] 47.5 MB/s | | | | 1. Hackfest code base. Tested using same SD cards using 'dd if=/dev/mmcblkX of=/dev/null bs=1M count=512' 2. v5.0. Tested using dd if=/dev/mmcblk0 of=/dev/null bs=1M count=512 iflag=direct "data : v5.0":./EMMC-speed-raw-data.html 3. renesas-devel-20190306-v5.0. Tested using dd if=/dev/mmcblk0 of=/dev/null bs=1M count=512 iflag=direct "data : renesas-devel-20190306-v5.0":./EMMC-speed-raw-data.html h1. Hardware matrix (U-Boot) |_. SoC |_. ES |_. Board |_. eMMC |_. HS200 | | H3 | 2.0 | Salvator-XS | Samsung KLMBG4GESD-B03P | 174 MB/s | | H3 | 2.0 | ULCB | Samsung KLMBG1GESD-B04P | 169 MB/s | | M3W | 1.0 | Salvator-X | SiliconMotion SM662PB | 54 MB/s | | M3W | 1.0 | ULCB | Micron MTFC8GACAENS-K1 AIT (6XA28 D9TYY) | 171 MB/s | | M3N | 1.0 | Salvator-XS | Samsung KLMBG4GESD-B03P | 174 MB/s | | E3 | 1.0 | Ebisu 4D | Samsung KLMBG4GESD-B03P | 173 MB/s | |_. SoC |_. ES |_. Board |_. eMMC |_. HS400 | | H3 | 2.0 | ULCB | Samsung KLMBG1GESD-B04P | 286 MB/s | | H3 | 2.0 | ULCB | SanDisk SDINBDG4-64G | 131 MB/s | |_. SoC |_. ES |_. Board |_. SD |_. Class |_. SDR104 | | M3N | 1.0 | Salvator-XS | AData Industrial MLC 16GB | SDHC, UHS I | 80.8 MB/s | | M3N | 1.0 | Salvator-XS | Kingston Ultimate SDA10/16GB | SDHC, Class 10, UHS I | 68.5 MB/s | | M3N | 1.0 | Salvator-XS | Kingston Ultimate SD10VG2/32GB | SDHC, Class 10, UHS I | 12.4 MB/s | | M3N | 1.0 | Salvator-XS | Sandisk Extreme Pro 16GB | SDHC, Class 10, UHS I | 90.4 MB/s | | M3N | 1.0 | Salvator-XS | Sandisk Extreme 32GB | MicroSDHC, UHS I, A1, V30 | 87.8 MB/s | | M3N | 1.0 | Salvator-XS | Samsung Pro 16GB | MicroSDHC, UHS I | 89.1 MB/s | | M3N | 1.0 | Salvator-XS | Toshiba Exceria M302-EA/32GB | MicroSDHC, Class 10, UHS I, U3 | 56.3 MB/s | Tested by measuring duration of the following command in U-Boot, which reads 512MB from the card to DRAM: @=> mmc read 0x50000000 0 0x100000@ h1. Current schedule * RuntimePM still causes "non-removable":https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=0bc0b6e86524526c92a9409faea79d53db8e7e6e workaround, probably related to SDnH clock disabled somhow * upport SDHI manual calibration h1. Known issues * -HW support for eMMC High Priority Interrupts (HPI) not implemented- MMC maintainer doesn't recommend to implement it * HW busy timeout not implemented. We could then remove the timeout tasklet and still support MMC_CAP_ERASE h1. References and links