summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStefano Babic <sbabic@denx.de>2010-02-05 15:04:43 +0100
committerTom Rix <Tom.Rix@windriver.com>2010-03-07 12:36:36 -0600
commit11fdade294b4d60c19ae861515aabddca1278deb (patch)
tree395639b2c0124e1a4144bb6b9ecaa4b353393134
parent250de12bc2f7842807d25e16971c5bea59c3a4b1 (diff)
downloadu-boot-imx-11fdade294b4d60c19ae861515aabddca1278deb.zip
u-boot-imx-11fdade294b4d60c19ae861515aabddca1278deb.tar.gz
u-boot-imx-11fdade294b4d60c19ae861515aabddca1278deb.tar.bz2
MMC: add weak function to detect MMC/SD card
Most controllers can check if there is a card in the slot. However, they require pins that could be not available because required by other functions and the detection of a card must be performed in another way. This patch adds a weak function that a board can implement to add its internal custom way to check the presence of a MMC/SD card. Signed-off-by: Stefano Babic <sbabic@denx.de>
-rw-r--r--drivers/mmc/mmc.c7
-rw-r--r--include/mmc.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index d91b9b7..3679225 100644
--- a/drivers/mmc/mmc.c
+++ b/drivers/mmc/mmc.c
@@ -36,6 +36,13 @@
static struct list_head mmc_devices;
static int cur_dev_num = -1;
+int __board_mmc_getcd(u8 *cd, struct mmc *mmc) {
+ return -1;
+}
+
+int board_mmc_getcd(u8 *cd, struct mmc *mmc)__attribute__((weak,
+ alias("__board_mmc_getcd")));
+
int mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, struct mmc_data *data)
{
return mmc->send_cmd(mmc, cmd, data);
diff --git a/include/mmc.h b/include/mmc.h
index 2dc69ab..8973bc7 100644
--- a/include/mmc.h
+++ b/include/mmc.h
@@ -272,6 +272,7 @@ int mmc_init(struct mmc *mmc);
int mmc_read(struct mmc *mmc, u64 src, uchar *dst, int size);
struct mmc *find_mmc_device(int dev_num);
void print_mmc_devices(char separator);
+int board_mmc_getcd(u8 *cd, struct mmc *mmc);
#ifndef CONFIG_GENERIC_MMC
int mmc_legacy_init(int verbose);