[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v4 7/9] hw/sd: ssi-sd: Fix SEND_IF_COND (CMD8) response
From: |
Bin Meng |
Subject: |
[PATCH v4 7/9] hw/sd: ssi-sd: Fix SEND_IF_COND (CMD8) response |
Date: |
Thu, 28 Jan 2021 14:30:33 +0800 |
From: Bin Meng <bin.meng@windriver.com>
The SEND_IF_COND command (CMD8) response is of format R7, but
current code returns R1 for CMD8. Fix it.
Fixes: 775616c3ae8c ("Partial SD card SPI mode support")
Signed-off-by: Bin Meng <bin.meng@windriver.com>
Reviewed-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
When testing with VxWorks driver, this additional issue was exposed.
It looks like VxWorks has stricter parsing on command responses while
U-Boot/Linux drivers are all happy with exising QEMU CMD8 response.
(no changes since v1)
hw/sd/ssi-sd.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/hw/sd/ssi-sd.c b/hw/sd/ssi-sd.c
index 200e885225..84c873b3fd 100644
--- a/hw/sd/ssi-sd.c
+++ b/hw/sd/ssi-sd.c
@@ -176,9 +176,9 @@ static uint32_t ssi_sd_transfer(SSIPeripheral *dev,
uint32_t val)
s->arglen = 1;
s->response[0] = 4;
DPRINTF("SD command failed\n");
- } else if (s->cmd == 58) {
- /* CMD58 returns R3 response (OCR) */
- DPRINTF("Returned OCR\n");
+ } else if (s->cmd == 8 || s->cmd == 58) {
+ /* CMD8/CMD58 returns R3/R7 response */
+ DPRINTF("Returned R3/R7\n");
s->arglen = 5;
s->response[0] = 1;
memcpy(&s->response[1], longresp, 4);
--
2.25.1
- [PATCH v4 0/9] hw/sd: Support block read/write in SPI mode, Bin Meng, 2021/01/28
- [PATCH v4 1/9] hw/sd: ssi-sd: Support multiple block read, Bin Meng, 2021/01/28
- [PATCH v4 2/9] hw/sd: sd: Remove duplicated codes in single/multiple block read/write, Bin Meng, 2021/01/28
- [PATCH v4 3/9] hw/sd: sd: Allow single/multiple block write for SPI mode, Bin Meng, 2021/01/28
- [PATCH v4 4/9] hw/sd: Introduce receive_ready() callback, Bin Meng, 2021/01/28
- [PATCH v4 5/9] hw/sd: ssi-sd: Support single block write, Bin Meng, 2021/01/28
- [PATCH v4 6/9] hw/sd: ssi-sd: Support multiple block write, Bin Meng, 2021/01/28
- [PATCH v4 9/9] hw/sd: ssi-sd: Handle the rest commands with R1b response type, Bin Meng, 2021/01/28
- [PATCH v4 8/9] hw/sd: ssi-sd: Fix STOP_TRANSMISSION (CMD12) response, Bin Meng, 2021/01/28
- [PATCH v4 7/9] hw/sd: ssi-sd: Fix SEND_IF_COND (CMD8) response,
Bin Meng <=