diff options
author | Stefano Babic <sbabic@denx.de> | 2010-01-20 18:20:39 +0100 |
---|---|---|
committer | Tom Rix <Tom.Rix@windriver.com> | 2010-03-07 12:36:36 -0600 |
commit | 250de12bc2f7842807d25e16971c5bea59c3a4b1 (patch) | |
tree | 0ddd76f688dac35527ac23878fa0c34704873eb0 /drivers/mmc/mmc.c | |
parent | 71d64c0e4fa5910c15eca175a8f3b0e1c1d6711c (diff) | |
download | u-boot-imx-250de12bc2f7842807d25e16971c5bea59c3a4b1.zip u-boot-imx-250de12bc2f7842807d25e16971c5bea59c3a4b1.tar.gz u-boot-imx-250de12bc2f7842807d25e16971c5bea59c3a4b1.tar.bz2 |
mmc: check correctness of the voltage mask in ocr
Most cards do not answer if some reserved bits
in the ocr are set. However, some controllers
can set bit 7 (reserved for low voltages), but
how to manage low voltages SD card is not yet
specified.
Signed-off-by: Stefano Babic <sbabic@denx.de>
Diffstat (limited to 'drivers/mmc/mmc.c')
-rw-r--r-- | drivers/mmc/mmc.c | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index b69ce15..d91b9b7 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -273,7 +273,15 @@ sd_send_op_cond(struct mmc *mmc) cmd.cmdidx = SD_CMD_APP_SEND_OP_COND; cmd.resp_type = MMC_RSP_R3; - cmd.cmdarg = mmc->voltages; + + /* + * Most cards do not answer if some reserved bits + * in the ocr are set. However, Some controller + * can set bit 7 (reserved for low voltages), but + * how to manage low voltages SD card is not yet + * specified. + */ + cmd.cmdarg = mmc->voltages & 0xff8000; if (mmc->version == SD_VERSION_2) cmd.cmdarg |= OCR_HCS; |