Message ID | 20210216150225.27996-9-bmeng.cn@gmail.com |
---|---|
State | New |
Headers | show |
Series | hw/sd: sd: Erase operation and other fixes | expand |
On 2/16/21 4:02 PM, Bin Meng wrote: > 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(-) Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
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;