qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Peter Maydell <peter.maydell@linaro.org>
To: qemu-devel@nongnu.org
Subject: [Qemu-devel] [PULL 26/31] sdcard: Update the Configuration Register (SCR) to Spec Version 1.10
Date: Fri,  8 Jun 2018 13:45:12 +0100	[thread overview]
Message-ID: <20180608124517.29475-27-peter.maydell@linaro.org> (raw)
In-Reply-To: <20180608124517.29475-1-peter.maydell@linaro.org>

From: Philippe Mathieu-Daudé <f4bug@amsat.org>

The initial implementation is based on the Specs v1.10 (see a1bb27b1e98).

However the SCR is anouncing the card being v1.01.

The new chapters added in version 1.10 are:

    4.3.10 Switch function command

    Switch function command (CMD6) 1 is used to switch or expand
    memory card functions. [...]
    This is a new feature, introduced in SD physical Layer
    Specification Version 1.10. Therefore, cards that are
    compatible with earlier versions of the spec do not support
    it. The host shall check the "SD_SPEC" field in the SCR
    register to recognize what version of the spec the card
    complies with before using CMD6. It is mandatory for SD
    memory card of Ver1.10 to support CMD6.

    4.3.11 High-Speed mode (25MB/sec interface speed)

    Though the Rev 1.01 SD memory card supports up to 12.5MB/sec
    interface speed, the speed of 25MB/sec is necessary to support
    increasing performance needs of the host and because of memory
    size which continues to grow.
    To achieve 25MB/sec interface speed, clock rate is increased to
    50MHz and CLK/CMD/DAT signal timing and circuit conditions are
    reconsidered and changed from Physical Layer Specification
    Version 1.01.

    4.3.12 Command system (This chapter is newly added in version 1.10)

    SD commands CMD34-37, CMD50, CMD57 are reserved for SD command
    system expansion via the switch command.
    [These commands] will be considered as illegal commands (as
    defined in revision 1.01 of the SD physical layer specification).

The SWITCH_FUNCTION is implemented since the first commit, a1bb27b1e98.

The 25MB/sec High-Speed mode was already updated in d7ecb867529.

The current implementation does not implements CMD34-37, CMD50 and
CMD57, thus these commands already return ILLEGAL.

With this patch, the SCR register now matches the description of the header:

 * SD Memory Card emulation as defined in the "SD Memory Card Physical
 * layer specification, Version 1.10."

Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
Message-id: 20180607180641.874-2-f4bug@amsat.org
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
---
 hw/sd/sd.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 7af19fa06ca..e1218d1fb6b 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -310,8 +310,8 @@ static void sd_ocr_powerup(void *opaque)
 
 static void sd_set_scr(SDState *sd)
 {
-    sd->scr[0] = (0 << 4)       /* SCR version 1.0 */
-                 | 0;           /* Spec Versions 1.0 and 1.01 */
+    sd->scr[0] = (0 << 4)       /* SCR structure version 1.0 */
+                 | 1;           /* Spec Version 1.10 */
     sd->scr[1] = (2 << 4)       /* SDSC Card (Security Version 1.01) */
                  | 0b0101;      /* 1-bit or 4-bit width bus modes */
     sd->scr[2] = 0x00;          /* Extended Security is not supported. */
-- 
2.17.1

  parent reply	other threads:[~2018-06-08 12:45 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-06-08 12:44 [Qemu-devel] [PULL 00/31] target-arm queue Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 01/31] arm_gicv3_kvm: kvm_dist_get/put: skip the registers banked by GICR Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 02/31] aspeed: remove ignore_memory_transaction_failures on all boards Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 03/31] aspeed: add support for the witherspoon-bmc board Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 04/31] aspeed: add an I2C RTC device to all machines Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 05/31] smbus: add a smbus_eeprom_init_one() routine Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 06/31] aspeed: Add EEPROM I2C devices Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 07/31] misc: add pca9552 LED blinker model Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 08/31] aspeed: add the pc9552 chips to the witherspoon machine Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 09/31] ftgmac100: compute maximum frame size depending on the protocol Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 10/31] ftgmac100: add IEEE 802.1Q VLAN support Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 11/31] ftgmac100: fix multicast hash routine Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 12/31] ftgmac100: remove check on runt messages Peter Maydell
2018-06-08 12:44 ` [Qemu-devel] [PULL 13/31] hw/arm: Remove the deprecated xlnx-ep108 machine Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 14/31] hw/i2c: Add trace events Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 15/31] hw/sd/milkymist-memcard: Add trailing '\n' to qemu_log() call Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 16/31] hw/digic: Add trailing '\n' to qemu_log() calls Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 17/31] xilinx-dp: Add trailing '\n' to qemu_log() call Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 18/31] ppc/pnv: Add trailing '\n' to qemu_log() calls Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 19/31] hw/core/register: Add trailing '\n' to qemu_log() call Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 20/31] hw/mips/boston: Add trailing '\n' to qemu_log() calls Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 21/31] stellaris: " Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 22/31] target/arm: " Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 23/31] target/m68k: Add trailing '\n' to qemu_log() call Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 24/31] RISC-V: Add trailing '\n' to qemu_log() calls Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 25/31] target/xtensa: " Peter Maydell
2018-06-08 12:45 ` Peter Maydell [this message]
2018-06-08 12:45 ` [Qemu-devel] [PULL 27/31] sdcard: Allow commands valid in SPI mode Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 28/31] sdcard: Add a 'spec_version' property, default to Spec v2.00 Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 29/31] sdcard: Disable SEND_IF_COND (CMD8) for Spec v1 Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 30/31] sdcard: Reflect when the Spec v3 is supported in the Config Register (SCR) Peter Maydell
2018-06-08 12:45 ` [Qemu-devel] [PULL 31/31] sdcard: Disable CMD19/CMD23 for Spec v2 Peter Maydell
2018-06-11 10:12 ` [Qemu-devel] [PULL 00/31] target-arm queue Peter Maydell

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=20180608124517.29475-27-peter.maydell@linaro.org \
    --to=peter.maydell@linaro.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).