mirror of https://github.com/xemu-project/xemu.git
sdcard: Allow commands valid in SPI mode
From the "Physical Layer Simplified Specification Version 1.10" Chapter 7.3 "SPI Mode Transaction Packets" Table 57: "Commands and arguments" Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org> Acked-by: Alistair Francis <alistair.francis@wdc.com> Message-id: 20180607180641.874-3-f4bug@amsat.org Reviewed-by: Peter Maydell <peter.maydell@linaro.org> Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
parent
9e1245795f
commit
e2fce16edb
14
hw/sd/sd.c
14
hw/sd/sd.c
|
@ -960,8 +960,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
|
|||
return sd_illegal;
|
||||
|
||||
case 6: /* CMD6: SWITCH_FUNCTION */
|
||||
if (sd->spi)
|
||||
goto bad_cmd;
|
||||
switch (sd->mode) {
|
||||
case sd_data_transfer_mode:
|
||||
sd_function_switch(sd, req.arg);
|
||||
|
@ -1190,9 +1188,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
|
|||
|
||||
/* Block write commands (Class 4) */
|
||||
case 24: /* CMD24: WRITE_SINGLE_BLOCK */
|
||||
if (sd->spi) {
|
||||
goto unimplemented_spi_cmd;
|
||||
}
|
||||
switch (sd->state) {
|
||||
case sd_transfer_state:
|
||||
/* Writing in SPI mode not implemented. */
|
||||
|
@ -1217,9 +1212,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
|
|||
break;
|
||||
|
||||
case 25: /* CMD25: WRITE_MULTIPLE_BLOCK */
|
||||
if (sd->spi) {
|
||||
goto unimplemented_spi_cmd;
|
||||
}
|
||||
switch (sd->state) {
|
||||
case sd_transfer_state:
|
||||
/* Writing in SPI mode not implemented. */
|
||||
|
@ -1259,9 +1251,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
|
|||
break;
|
||||
|
||||
case 27: /* CMD27: PROGRAM_CSD */
|
||||
if (sd->spi) {
|
||||
goto unimplemented_spi_cmd;
|
||||
}
|
||||
switch (sd->state) {
|
||||
case sd_transfer_state:
|
||||
sd->state = sd_receivingdata_state;
|
||||
|
@ -1371,9 +1360,6 @@ static sd_rsp_type_t sd_normal_command(SDState *sd, SDRequest req)
|
|||
|
||||
/* Lock card commands (Class 7) */
|
||||
case 42: /* CMD42: LOCK_UNLOCK */
|
||||
if (sd->spi) {
|
||||
goto unimplemented_spi_cmd;
|
||||
}
|
||||
switch (sd->state) {
|
||||
case sd_transfer_state:
|
||||
sd->state = sd_receivingdata_state;
|
||||
|
|
Loading…
Reference in New Issue