1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
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
|