From: Stefano Babic <sbabic@denx.de>
Date: Wed, 20 Jan 2010 17:20:39 +0000 (+0100)
Subject: mmc: check correctness of the voltage mask in ocr
X-Git-Tag: v2025.01-rc5-pxa1908~20430
X-Git-Url: http://git.dujemihanovic.xyz/html/static/gitweb.css?a=commitdiff_plain;h=250de12bc2f7842807d25e16971c5bea59c3a4b1;p=u-boot.git

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>
---

diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c
index b69ce152a8..d91b9b7f3a 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;