Difference between revisions of "MMC/SD"
(→Supported Cards) |
(→MMC+) |
||
Line 54: | Line 54: | ||
===MMC+=== | ===MMC+=== | ||
− | + | ||
+ | {| border="1" cellpadding="5" cellspacing="0" summary="MMC+" | ||
+ | |- style="background:#efefef;" | ||
+ | !'''Model''' || '''Status''' || '''Speed in kB/sec (read/write)''' || '''Comments''' | ||
+ | |---------------- | ||
+ | |'''Kingston 256 Mbytes''' || style="background:#00ff00;" |working || NA || | ||
+ | |---------------- | ||
+ | |} | ||
===SD:=== | ===SD:=== |
Revision as of 12:53, 28 July 2007
How-To connect an MMC/SD adapter/connector to your APF9328
For instructions on how to use MMC/SD on Linux, see MultiMediaCard page.
SDCard, MiniSD, and Transflash/MicroSD are all the same devices but in different package shapes and are all pin compatible.
On Armadeus boards, MMC are controlled in 1 bit MMC mode and SD/MiniSD/MicroSD in 4 bits SD mode.
We don't use MMC/SD in "fucking slow & error prone" SPI mode.
Contents
Adapter board (for DevLight or your custom board)
We have designed a small adapter board with a push-pull MMC/SD connector on it. You need to connect the signals listed in the table below to the corresponding one on your DevLight board. The WP and CD_SW signals are optional and must be connected to free i.MXL GPIOs, if used.
Signals name (Top view with MMC connector on the right):Adapter Pin | Desc | Adapter Pin | Desc |
---|---|---|---|
1 (square) | +3.3V | 2 | SD_DAT2 |
3 | SD_CMD | 4 | SD_DAT3 |
5 | SD_CLK | 6 | SD_DAT0 |
7 | WP (option) | 8 | SD_DAT1 |
9 | CD_SW (option) | 10 | GND |
Remarks:
- Pin 1 (rectangular/square pad)
- WP: write protect
- CD_SW: Card Detect switch
If you don't want to buy such an adapter or don't have a MMC slot (and are a hacker ;-) ), you can still try this link:
On a DevFull board, there is already a MMC/SD connector
Supported Cards
Here is a list of the current cards which were tested:
MMC
Model | Status | Speed in kB/sec (read/write) | Comments |
---|---|---|---|
Hama 256 Mbytes | working | 896 / 455 | Ext2 |
NA |
MMC+
Model | Status | Speed in kB/sec (read/write) | Comments |
---|---|---|---|
Kingston 256 Mbytes | working | NA |
SD:
- Kingston 512MB -> OK in 1bit mode. need more tests in 4 bits mode
- Kingston 256MB -> OK
- Dane-Elec 2GB -> OK in 1bit mode. doesn't work : Card recognized but partition table not found in 4bits mode
- Transcend 2GB (x150) -> OK
- Sandisk 512MB -> OK ( formating failure may happen sometimes. workaround: retry )
MiniSD:
Model | Status | Speed in kB/sec (read/write) | Comments |
---|---|---|---|
Corsair 1Gbytes | working | 3339 / 365 | VFAT |
Sandisk 1Gbytes | working | ||
Sandisk 512Mbytes | working | ||
Transcend 512Mbytes | not recognized | NA | |
Extreme Memory 512Mbytes | not recognized | NA | |
Dane-Elec 1Gbytes | doesn't work | NA | Card recognized but partition table not found |
microSD/TransFlash:
Model | Status | Speed in kB/sec (read/write) | Comments |
---|---|---|---|
Sandisk 512Mbytes | working | 3340 / 322 | VFAT |
NA |
Test method
# dd if=/dev/urandom of=/tmp/data.bin bs=1024 count=3072 # mount /dev/mmcblk0p1 /media/mmc/ # echo "mv /tmp/data.bin /media/mmc/" > /tmp/test_mmc.sh # echo "sync" >> /tmp/test_mmc.sh # echo "exit 0" >> /tmp/test_mmc.sh # time sh /tmp/test_mmc.sh # umount /media/mmc && mount /dev/mmcblk0p1 /media/mmc/ # time cp /media/mmc/data.bin /tmp/data_read.bin