mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-11-10 23:24:38 +00:00
mmc_spi: generate response for send status command
A "send status" command is added with the commit "mmc: checking status after commands with R1b response". But the status register returned from send status command of SPI protocol is different from that of MMC/SD protocol. We do a simple test and generate a response in stead of full bit-by-bit translation. Signed-off-by: Thomas Chou <thomas@wytron.com.tw>
This commit is contained in:
parent
0ea91423f4
commit
ed018b21d6
2 changed files with 6 additions and 0 deletions
|
@ -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__,
|
||||
|
|
|
@ -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 */
|
||||
|
|
Loading…
Reference in a new issue