hw/sd/sdcard: Use complete SEND_OP_COND implementation in SPI mode
While spi_cmd_SEND_OP_COND() is incomplete, sd_cmd_SEND_OP_COND()
is, except it doesn't return the correct value in SPI mode.
Correct and use, removing the need for spi_cmd_SEND_OP_COND().
Fixes: 775616c3ae ("Partial SD card SPI mode support")
Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Acked-by: Richard Henderson <richard.henderson@linaro.org>
Message-Id: <20250804133406.17456-7-philmd@linaro.org>
This commit is contained in:
parent
0f2ff99479
commit
3241a61a13
1 changed files with 5 additions and 10 deletions
15
hw/sd/sd.c
15
hw/sd/sd.c
|
|
@ -1414,14 +1414,6 @@ static sd_rsp_type_t sd_cmd_GO_IDLE_STATE(SDState *sd, SDRequest req)
|
|||
return sd_is_spi(sd) ? sd_r1 : sd_r0;
|
||||
}
|
||||
|
||||
/* CMD1 */
|
||||
static sd_rsp_type_t spi_cmd_SEND_OP_COND(SDState *sd, SDRequest req)
|
||||
{
|
||||
sd->state = sd_transfer_state;
|
||||
|
||||
return sd_r1;
|
||||
}
|
||||
|
||||
/* CMD2 */
|
||||
static sd_rsp_type_t sd_cmd_ALL_SEND_CID(SDState *sd, SDRequest req)
|
||||
{
|
||||
|
|
@ -2046,6 +2038,9 @@ static sd_rsp_type_t sd_cmd_SEND_OP_COND(SDState *sd, SDRequest req)
|
|||
sd->state = sd_ready_state;
|
||||
}
|
||||
|
||||
if (sd_is_spi(sd)) {
|
||||
return sd_r1;
|
||||
}
|
||||
return sd_r3;
|
||||
}
|
||||
|
||||
|
|
@ -2590,7 +2585,7 @@ static const SDProto sd_proto_spi = {
|
|||
.name = "SPI",
|
||||
.cmd = {
|
||||
[0] = {0, sd_spi, "GO_IDLE_STATE", sd_cmd_GO_IDLE_STATE},
|
||||
[1] = {0, sd_spi, "SEND_OP_COND", spi_cmd_SEND_OP_COND},
|
||||
[1] = {0, sd_spi, "SEND_OP_COND", sd_cmd_SEND_OP_COND},
|
||||
[5] = {9, sd_spi, "IO_SEND_OP_COND", sd_cmd_optional},
|
||||
[6] = {10, sd_spi, "SWITCH_FUNCTION", sd_cmd_SWITCH_FUNCTION},
|
||||
[8] = {0, sd_spi, "SEND_IF_COND", sd_cmd_SEND_IF_COND},
|
||||
|
|
@ -2626,7 +2621,7 @@ static const SDProto sd_proto_spi = {
|
|||
[13] = {8, sd_spi, "SD_STATUS", sd_acmd_SD_STATUS},
|
||||
[22] = {8, sd_spi, "SEND_NUM_WR_BLOCKS", sd_acmd_SEND_NUM_WR_BLOCKS},
|
||||
[23] = {8, sd_spi, "SET_WR_BLK_ERASE_COUNT", sd_acmd_SET_WR_BLK_ERASE_COUNT},
|
||||
[41] = {8, sd_spi, "SEND_OP_COND", spi_cmd_SEND_OP_COND},
|
||||
[41] = {8, sd_spi, "SEND_OP_COND", sd_cmd_SEND_OP_COND},
|
||||
[42] = {8, sd_spi, "SET_CLR_CARD_DETECT", sd_acmd_SET_CLR_CARD_DETECT},
|
||||
[51] = {8, sd_spi, "SEND_SCR", sd_acmd_SEND_SCR},
|
||||
},
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue