From: "Philippe Mathieu-Daudé" <f4bug@amsat.org>
To: Alistair Francis <alistair.francis@xilinx.com>,
"Edgar E . Iglesias" <edgar.iglesias@xilinx.com>,
Peter Maydell <peter.maydell@linaro.org>,
Michael Walle <michael@walle.cc>,
Andrzej Zaborowski <balrogg@gmail.com>,
Andrew Baumann <Andrew.Baumann@microsoft.com>,
Andrey Smirnov <andrew.smirnov@gmail.com>,
Andrey Yurovsky <yurovsky@gmail.com>
Cc: "Philippe Mathieu-Daudé" <f4bug@amsat.org>,
qemu-devel@nongnu.org, qemu-arm@nongnu.org,
"Prasad J Pandit" <pjp@fedoraproject.org>,
"Peter Crosthwaite" <crosthwaite.peter@gmail.com>,
"Sai Pavan Boddu" <saipava@xilinx.com>
Subject: [Qemu-devel] [PATCH v2 14/20] sdhci: add a "sd-spec-version" property
Date: Fri, 15 Dec 2017 00:15:41 -0300 [thread overview]
Message-ID: <20171215031547.31006-15-f4bug@amsat.org> (raw)
In-Reply-To: <20171215031547.31006-1-f4bug@amsat.org>
default to SDHCI v2
Signed-off-by: Philippe Mathieu-Daudé <f4bug@amsat.org>
---
hw/sd/sdhci-internal.h | 4 ++--
include/hw/sd/sdhci.h | 10 ++++++++++
hw/sd/sdhci.c | 5 ++++-
3 files changed, 16 insertions(+), 3 deletions(-)
diff --git a/hw/sd/sdhci-internal.h b/hw/sd/sdhci-internal.h
index e941bc2386..7e4a9d79d1 100644
--- a/hw/sd/sdhci-internal.h
+++ b/hw/sd/sdhci-internal.h
@@ -210,9 +210,9 @@
/* Slot interrupt status */
#define SDHC_SLOT_INT_STATUS 0xFC
-/* HWInit Host Controller Version Register 0x0401 */
+/* HWInit Host Controller Version Register */
#define SDHC_HCVER 0xFE
-#define SD_HOST_SPECv2_VERS 0x2401
+#define SDHC_HCVER_VENDOR 0x24
#define SDHC_REGISTERS_MAP_SIZE 0x100
#define SDHC_INSERTION_DELAY (NANOSECONDS_PER_SECOND)
diff --git a/include/hw/sd/sdhci.h b/include/hw/sd/sdhci.h
index a8ffac9dba..68f5902cdf 100644
--- a/include/hw/sd/sdhci.h
+++ b/include/hw/sd/sdhci.h
@@ -89,6 +89,9 @@ typedef struct SDHCIState {
/* Force Event Auto CMD12 Error Interrupt Reg - write only */
/* Force Event Error Interrupt Register- write only */
/* RO Host Controller Version Register always reads as 0x2401 */
+ struct {
+ uint8_t spec_version;
+ } capabilities;
} SDHCIState;
#define TYPE_PCI_SDHCI "sdhci-pci"
@@ -98,4 +101,11 @@ typedef struct SDHCIState {
#define SYSBUS_SDHCI(obj) \
OBJECT_CHECK(SDHCIState, (obj), TYPE_SYSBUS_SDHCI)
+/* Host Controller Specification Version */
+enum sdhci_spec_version {
+ SD_HOST_SPECv1_VERS = 0x00,
+ SD_HOST_SPECv2_VERS = 0x01,
+ SD_HOST_SPECv3_VERS = 0x02
+};
+
#endif /* SDHCI_H */
diff --git a/hw/sd/sdhci.c b/hw/sd/sdhci.c
index 64a9b26e0d..926f6d1958 100644
--- a/hw/sd/sdhci.c
+++ b/hw/sd/sdhci.c
@@ -927,7 +927,8 @@ static uint64_t sdhci_read(void *opaque, hwaddr offset, unsigned size)
ret = (uint32_t)(s->admasysaddr >> 32);
break;
case SDHC_SLOT_INT_STATUS:
- ret = (SD_HOST_SPECv2_VERS << 16) | sdhci_slotint(s);
+ ret = (SDHC_HCVER_VENDOR << 24) | (s->capabilities.spec_version << 16);
+ ret |= sdhci_slotint(s);
break;
default:
qemu_log_mask(LOG_UNIMP, "SDHC rd_%ub @0x%02" HWADDR_PRIx " "
@@ -1290,6 +1291,8 @@ const VMStateDescription sdhci_vmstate = {
/* Capabilities registers provide information on supported features of this
* specific host controller implementation */
static Property sdhci_properties[] = {
+ DEFINE_PROP_UINT8("sd-spec-version", SDHCIState,
+ capabilities.spec_version, SD_HOST_SPECv2_VERS),
DEFINE_PROP_UINT64("capareg", SDHCIState, capareg,
SDHC_CAPAB_REG_DEFAULT),
DEFINE_PROP_UINT64("maxcurr", SDHCIState, maxcurr, 0),
--
2.15.1
next prev parent reply other threads:[~2017-12-15 3:17 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-15 3:15 [Qemu-devel] [PATCH v2 00/20] SDHCI: housekeeping, add a qtest and fix few issues Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 01/20] sdhci: clean up includes Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 02/20] sdhci: use deposit64() Philippe Mathieu-Daudé
2017-12-19 1:16 ` Alistair Francis
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 03/20] sdhci: move MASK_TRNMOD with other SDHC_TRN* defines in "sd-internal.h" Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 04/20] sdhci: refactor same sysbus/pci properties into a common one Philippe Mathieu-Daudé
2017-12-19 1:13 ` Alistair Francis
2017-12-29 17:21 ` Philippe Mathieu-Daudé
2018-01-03 19:36 ` Alistair Francis
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 05/20] sdhci: refactor common sysbus/pci realize() into sdhci_realizefn() Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 06/20] sdhci: refactor common sysbus/pci class_init() into sdhci_class_init() Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 07/20] sdhci: refactor common sysbus/pci unrealize() into sdhci_unrealizefn() Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 08/20] sdhci: use qemu_log_mask(UNIMP) instead of fprintf() Philippe Mathieu-Daudé
2017-12-19 1:16 ` Alistair Francis
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 09/20] sdhci: convert the DPRINT() calls into trace events Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 10/20] sdhci: add a GPIO for the access control LED Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 11/20] sdhci: add a "dma-memory" property Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 12/20] sdhci: fix CAPAB/MAXCURR registers, both are 64bit and read-only Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 13/20] sdhci: Implement write method of ACMD12ERRSTS register Philippe Mathieu-Daudé
2017-12-19 1:18 ` Alistair Francis
2017-12-15 3:15 ` Philippe Mathieu-Daudé [this message]
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 15/20] sdhci: some ARM boards do support SD_HOST_SPECv3_VERS Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 16/20] sdhci: add qtest to check the SD Spec version Philippe Mathieu-Daudé
2017-12-18 15:27 ` Stefan Hajnoczi
2017-12-18 23:10 ` Philippe Mathieu-Daudé
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 17/20] sdhci: add check_capab_readonly() qtest Philippe Mathieu-Daudé
2017-12-18 17:00 ` Stefan Hajnoczi
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 18/20] sdhci: add a check_capab_baseclock() qtest Philippe Mathieu-Daudé
2017-12-18 17:00 ` Stefan Hajnoczi
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 19/20] sdhci: add a check_capab_sdma() qtest Philippe Mathieu-Daudé
2017-12-18 17:01 ` Stefan Hajnoczi
2017-12-15 3:15 ` [Qemu-devel] [PATCH v2 20/20] sdhci: add a check_capab_v3() qtest Philippe Mathieu-Daudé
2017-12-18 17:01 ` Stefan Hajnoczi
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=20171215031547.31006-15-f4bug@amsat.org \
--to=f4bug@amsat.org \
--cc=Andrew.Baumann@microsoft.com \
--cc=alistair.francis@xilinx.com \
--cc=andrew.smirnov@gmail.com \
--cc=balrogg@gmail.com \
--cc=crosthwaite.peter@gmail.com \
--cc=edgar.iglesias@xilinx.com \
--cc=michael@walle.cc \
--cc=peter.maydell@linaro.org \
--cc=pjp@fedoraproject.org \
--cc=qemu-arm@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=saipava@xilinx.com \
--cc=yurovsky@gmail.com \
/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).