summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBin Meng2021-01-23 11:39:55 +0100
committerPhilippe Mathieu-Daudé2021-01-24 18:53:25 +0100
commitdec6d33849f3589426c5a14dce264d5c6f86e85b (patch)
treedf1af711b971a8d4615ec3ca0590c55de7e1bf78
parenthw/sd: ssi-sd: Fix incorrect card response sequence (diff)
downloadqemu-dec6d33849f3589426c5a14dce264d5c6f86e85b.tar.gz
qemu-dec6d33849f3589426c5a14dce264d5c6f86e85b.tar.xz
qemu-dec6d33849f3589426c5a14dce264d5c6f86e85b.zip
hw/sd: sd: Support CMD59 for SPI mode
After the card is put into SPI mode, CRC check for all commands including CMD0 will be done according to CMD59 setting. But this command is currently unimplemented. Simply allow the decoding of CMD59, but the CRC remains unchecked. Signed-off-by: Bin Meng <bin.meng@windriver.com> Tested-by: Pragnesh Patel <pragnesh.patel@sifive.com> Reviewed-by: Pragnesh Patel <pragnesh.patel@sifive.com> Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Message-Id: <20210123104016.17485-5-bmeng.cn@gmail.com> Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
-rw-r--r--hw/sd/sd.c8
1 files changed, 1 insertions, 7 deletions
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 4375ed5b8b..bfea5547d5 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1517,18 +1517,12 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
if (!sd->spi) {
goto bad_cmd;
}
- goto unimplemented_spi_cmd;
+ return sd_r1;
default:
bad_cmd:
qemu_log_mask(LOG_GUEST_ERROR, "SD: Unknown CMD%i\n", req.cmd);
return sd_illegal;
-
- unimplemented_spi_cmd:
- /* Commands that are recognised but not yet implemented in SPI mode. */
- qemu_log_mask(LOG_UNIMP, "SD: CMD%i not implemented in SPI mode\n",
- req.cmd);
- return sd_illegal;
}
qemu_log_mask(LOG_GUEST_ERROR, "SD: CMD%i in a wrong state\n", req.cmd);