[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 6/8] sdcard: Disable SEND_IF_COND (CMD8) for Spec v1
From: |
Philippe Mathieu-Daudé |
Subject: |
[Qemu-devel] [PATCH 6/8] sdcard: Disable SEND_IF_COND (CMD8) for Spec v1 |
Date: |
Sat, 2 Jun 2018 21:08:25 -0300 |
SEND_IF_COND got introduced by Spec v2.
Firmwares use the CMD8 in SPI mode to poll the Spec version supported:
7.2.1 Mode Selection and Initialization (SPI mode)
The SD Card is powered up in the SD mode. It will enter
SPI mode if the CS signal is asserted (negative) during
the reception of the reset command (CMD0). If the card
recognizes that the SD mode is required it will not
respond to the command and remain in the SD mode. If SPI
mode is required, the card will switch to SPI and respond
with the SPI mode R1 response.
The only way to return to the SD mode is by entering the
power cycle. In SPI mode, the SD Card protocol state
machine in SD mode is not observed. All the SD Card
commands supported in SPI mode are always available.
[...]
If the card indicates an illegal command, the card is
legacy and does not support CMD8. If the card supports
CMD8 and can operate on the supplied voltage, the response
echoes back the supply voltage and the check pattern that
were set in the command argument.
This change restore the SSI/SD functionality of the Stellaris
LM3S6965EVB board.
Message-Id: address@hidden
Signed-off-by: Philippe Mathieu-Daudé <address@hidden>
---
Paolo, I guess this would be a good use of the
Based-on: address@hidden tag in
the git history :P
hw/sd/sd.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 81f178b36e..da65f2b178 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -1017,7 +1017,9 @@ static sd_rsp_type_t sd_normal_command(SDState *sd,
SDRequest req)
break;
case 8: /* CMD8: SEND_IF_COND */
- /* Physical Layer Specification Version 2.00 command */
+ if (sd->spec_version < SD_PHY_SPECv2_00_VERS) {
+ break;
+ }
if (sd->state != sd_idle_state) {
break;
}
--
2.17.1
- Re: [Qemu-devel] [PATCH 1/8] sdcard: Update the Configuration Register (SCR) to Spec Version 1.10, (continued)
- [Qemu-devel] [PATCH 2/8] sdcard: Allow commands valid in SPI mode, Philippe Mathieu-Daudé, 2018/06/02
- [Qemu-devel] [PATCH 3/8] sdcard: Add a 'spec_version' property, Philippe Mathieu-Daudé, 2018/06/02
- [Qemu-devel] [PATCH 4/8] sdcard: Set Spec v2.00 as default, Philippe Mathieu-Daudé, 2018/06/02
- [Qemu-devel] [PATCH 5/8] hw/sd/ssi-sd: Force cards connected in SPI mode to use Spec v1.10, Philippe Mathieu-Daudé, 2018/06/02
- [Qemu-devel] [PATCH 6/8] sdcard: Disable SEND_IF_COND (CMD8) for Spec v1,
Philippe Mathieu-Daudé <=
- [Qemu-devel] [PATCH 7/8] sdcard: Reflect when the Spec v3 is supported in the Config Register (SCR), Philippe Mathieu-Daudé, 2018/06/02
- [Qemu-devel] [PATCH 8/8] sdcard: Disable CMD19/CMD23 for Spec v2, Philippe Mathieu-Daudé, 2018/06/02
- Re: [Qemu-devel] [PATCH 0/8] sdcard: cleanup the SD_SPEC version, Alistair Francis, 2018/06/04