Expansion header MMC


I'm trying to get the MMC2 port working. I have the appropriate level converters, and I've set the pin mux appropriately in u-boot. I hoped it might just work, but nothing happens at all on that port.

I didn't set the mux in linux as well, but I don't see why it would be necessary, and I noted that the MMC1 pins are also only set in u-boot (and work fine).

The u-dev rules don't appear to have anything port specific.. they refer to mmcblk[0-9]. There seems to be no kernel config to set the number of ports to be supported by the mmc driver.

I've connected the card detect and write protect inputs to some nearby GPIOs but I don't think the driver actually uses these... does it? If so, where would I tell it which GPIOs to look at?

Any pointers greatly appreciated.



Hi Bob,

use the command dmesg in order to see if you have the mmc in your kernel, something like this :
mmcblk0 mmmc0:0000 AF RM 250880Kib
mmcblk0: p1

also, use lsmod if you dont have a reference about mmc , check the /etc/ modprobe.conf maybe some alias for mmc is here and you can use
modprove -v [your-module-to-load]

in other case you need recompiling your linux with a mmc support ,

in the kernel setup you need select
Device driver
<> MMC/SD card support
- MMC/SD card support
<> MMC block device driver
] Use bounce buffer for simple hosts
<*> secure digital host controller interface support

my best regards, and good luck ,


Hi again,

I had planned to get the MMC2 port going but I had to use those pins for
GPIO due to other problems. But I looked at the code and you will need
to change more then the mux. I think there are a few things you need to
change in the Linux board file for the beagle so that it knows about the
second slot. The only OMAP board I know of that has a working second
MMC slot is the N800. That is where I had planned to get the list of
resources I need to list in the board file so the second slot can be
used. You will most likely need to adapt or fake out the voltage settings
as they will be different then the N800.

U-dev doesn't even matter at this point. I did not plan to use U-dev.
If you see messages from the kernel about detecting cards in the second
slot, then worry about u-dev. First thing to do is the list the resources
in the beagle board file and rebuild the kernel.