sdcard: Disable SEND_IF_COND (CMD8) for Spec v1
authorPhilippe Mathieu-Daudé <f4bug@amsat.org>
Fri, 8 Jun 2018 12:15:34 +0000 (13:15 +0100)
committerPeter Maydell <peter.maydell@linaro.org>
Fri, 8 Jun 2018 12:15:34 +0000 (13:15 +0100)
CMD8 is "Reserved" in Spec v1.10.

Spec v2.00 introduces the SEND_IF_COND command:

  6.4.1 Power Up

    CMD8 is newly added in the Physical Layer Specification Version
    2.00 to support multiple voltage ranges and used to check whether
    the card supports supplied voltage. The version 2.00 or later host
    shall issue CMD8 and verify voltage before card initialization.
    The host that does not support CMD8 shall supply high voltage range.

Message-Id: 201204252110.20873.paul@codesourcery.com
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20180607180641.874-5-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
hw/sd/sd.c

index 1ae085de69ab36d81129cff93514e094a2216fb0..3ec0f71f240c2ded12105f48f0d12563baeb26f1 100644 (file)
@@ -1018,7 +1018,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;
         }