[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v2 8/8] hw/sd: sd: Bypass the RCA check for CMD13 in SPI mode
From: |
Bin Meng |
Subject: |
[PATCH v2 8/8] hw/sd: sd: Bypass the RCA check for CMD13 in SPI mode |
Date: |
Tue, 16 Feb 2021 23:02:25 +0800 |
From: Bin Meng <bin.meng@windriver.com>
Unlike SD mode, when SD card is working in SPI mode, the argument
of CMD13 is stuff bits. Hence we should bypass the RCA check.
See "Physical Layer Specification Version 8.00", chapter 7.3.1.3
Detailed Command Description (SPI mode):
"The card shall ignore stuff bits and reserved bits in an argument"
and Table 7-3 Commands and Arguments (SPI mode):
"CMD13 Argument [31:0] stuff bits"
Signed-off-by: Bin Meng <bin.meng@windriver.com>
---
Changes in v2:
- update commit message to include the reference in the spec
hw/sd/sd.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 75dc57bf0e..6d6da83b4b 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1169,8 +1169,9 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,
SDRequest req)
case 13: /* CMD13: SEND_STATUS */
switch (sd->mode) {
case sd_data_transfer_mode:
- if (sd->rca != rca)
+ if (!sd->spi && sd->rca != rca) {
return sd_r0;
+ }
return sd_r1;
--
2.25.1
- Re: [PATCH v2 2/8] hw/sd: sd: Only SDSC cards support CMD28/29/30, (continued)
- [PATCH v2 3/8] hw/sd: sd: Fix CMD30 response type, Bin Meng, 2021/02/16
- [PATCH v2 5/8] hw/sd: sd: Skip write protect groups check in sd_erase() for high capacity cards, Bin Meng, 2021/02/16
- [PATCH v2 6/8] hw/sd: sd: Actually perform the erase operation, Bin Meng, 2021/02/16
- [PATCH v2 4/8] hw/sd: sd: Move the sd_block_{read, write} and macros ahead, Bin Meng, 2021/02/16
- [PATCH v2 7/8] hw/sd: sd: Skip write protect groups check in CMD24/25 for high capacity cards, Bin Meng, 2021/02/16
- [PATCH v2 8/8] hw/sd: sd: Bypass the RCA check for CMD13 in SPI mode,
Bin Meng <=
- Re: [PATCH v2 0/8] hw/sd: sd: Erase operation and other fixes, Philippe Mathieu-Daudé, 2021/02/19