qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: Alistair Francis <alistair@alistair23.me>,
	Peter Maydell <peter.maydell@linaro.org>
Cc: "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
	qemu-devel@nongnu.org, qemu-arm@nongnu.org,
	"Paolo Bonzini" <pbonzini@redhat.com>,
	"Eric Blake" <eblake@redhat.com>,
	"Peter Crosthwaite" <crosthwaite.peter@gmail.com>,
	"Paul Brook" <paul@codesourcery.com>
Subject: [Qemu-devel] [PATCH 6/8] sdcard: Disable SEND_IF_COND (CMD8) for Spec v1
Date: Sat,  2 Jun 2018 21:08:25 -0300	[thread overview]
Message-ID: <20180603000827.30872-7-f4bug@amsat.org> (raw)
In-Reply-To: <20180603000827.30872-1-f4bug@amsat.org>

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: 201204252110.20873.paul@codesourcery.com
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
Paolo, I guess this would be a good use of the
Based-on: 201204252110.20873.paul@codesourcery.com 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

  parent reply	other threads:[~2018-06-03  0:08 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-03  0:08 [Qemu-devel] [PATCH 0/8] sdcard: cleanup the SD_SPEC version Philippe Mathieu-Daudé
2018-06-03  0:08 ` [Qemu-devel] [PATCH 1/8] sdcard: Update the Configuration Register (SCR) to Spec Version 1.10 Philippe Mathieu-Daudé
2018-06-07 11:00   ` Peter Maydell
2018-06-07 15:14     ` Philippe Mathieu-Daudé
2018-06-07 15:16       ` Peter Maydell
2018-06-07 16:47       ` Philippe Mathieu-Daudé
2018-06-03  0:08 ` [Qemu-devel] [PATCH 2/8] sdcard: Allow commands valid in SPI mode Philippe Mathieu-Daudé
2018-06-04 18:21   ` Alistair Francis
2018-06-03  0:08 ` [Qemu-devel] [PATCH 3/8] sdcard: Add a 'spec_version' property Philippe Mathieu-Daudé
2018-06-04 18:21   ` Alistair Francis
2018-06-03  0:08 ` [Qemu-devel] [PATCH 4/8] sdcard: Set Spec v2.00 as default Philippe Mathieu-Daudé
2018-06-04 18:23   ` Alistair Francis
2018-06-03  0:08 ` [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-04 18:26   ` Alistair Francis
2018-06-07 16:31     ` [Qemu-devel] [Qemu-arm] " Philippe Mathieu-Daudé
2018-06-03  0:08 ` Philippe Mathieu-Daudé [this message]
2018-06-04 15:42   ` [Qemu-devel] [PATCH 6/8] sdcard: Disable SEND_IF_COND (CMD8) for Spec v1 Paolo Bonzini
2018-06-03  0:08 ` [Qemu-devel] [PATCH 7/8] sdcard: Reflect when the Spec v3 is supported in the Config Register (SCR) Philippe Mathieu-Daudé
2018-06-04 22:41   ` Alistair Francis
2018-06-03  0:08 ` [Qemu-devel] [PATCH 8/8] sdcard: Disable CMD19/CMD23 for Spec v2 Philippe Mathieu-Daudé
2018-06-04 18:20 ` [Qemu-devel] [PATCH 0/8] sdcard: cleanup the SD_SPEC version Alistair Francis

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20180603000827.30872-7-f4bug@amsat.org \
    --to=f4bug@amsat.org \
    --cc=alistair@alistair23.me \
    --cc=crosthwaite.peter@gmail.com \
    --cc=eblake@redhat.com \
    --cc=paul@codesourcery.com \
    --cc=pbonzini@redhat.com \
    --cc=peter.maydell@linaro.org \
    --cc=qemu-arm@nongnu.org \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).