diff options
| -rw-r--r-- | drivers/mmc/mmc_spi.c | 5 | ||||
| -rw-r--r-- | include/mmc.h | 1 | 
2 files changed, 6 insertions, 0 deletions
| diff --git a/drivers/mmc/mmc_spi.c b/drivers/mmc/mmc_spi.c index dc7574cbe..49fb9e02a 100644 --- a/drivers/mmc/mmc_spi.c +++ b/drivers/mmc/mmc_spi.c @@ -208,6 +208,11 @@ static int mmc_spi_request(struct mmc *mmc, struct mmc_cmd *cmd,  			cmd->response[0] = swab32(cmd->response[0]);  			debug("r32 %x\n", cmd->response[0]);  			break; +		case MMC_CMD_SEND_STATUS: +			spi_xfer(spi, 1 * 8, NULL, cmd->response, 0); +			cmd->response[0] = (cmd->response[0] & 0xff) ? +				MMC_STATUS_ERROR : MMC_STATUS_RDY_FOR_DATA; +			break;  		}  	} else {  		debug("%s:data %x %x %x\n", __func__, diff --git a/include/mmc.h b/include/mmc.h index f7f228698..863b7e293 100644 --- a/include/mmc.h +++ b/include/mmc.h @@ -102,6 +102,7 @@  #define MMC_STATUS_MASK		(~0x0206BF7F)  #define MMC_STATUS_RDY_FOR_DATA (1 << 8)  #define MMC_STATUS_CURR_STATE	(0xf << 9) +#define MMC_STATUS_ERROR	(1 << 19)  #define MMC_VDD_165_195		0x00000080	/* VDD voltage 1.65 - 1.95 */  #define MMC_VDD_20_21		0x00000100	/* VDD voltage 2.0 ~ 2.1 */ |