[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v3 02/21] sd: emmc: Add support for eMMC cards
From: |
Sai Pavan Boddu |
Subject: |
[PATCH v3 02/21] sd: emmc: Add support for eMMC cards |
Date: |
Mon, 1 Mar 2021 01:03:08 +0530 |
Add eMMC device built on top of SD card.
Signed-off-by: Sai Pavan Boddu <sai.pavan.boddu@xilinx.com>
---
include/hw/sd/sd.h | 2 ++
hw/sd/sd.c | 20 ++++++++++++++++++++
2 files changed, 22 insertions(+)
diff --git a/include/hw/sd/sd.h b/include/hw/sd/sd.h
index 05ef9b7..b402dad 100644
--- a/include/hw/sd/sd.h
+++ b/include/hw/sd/sd.h
@@ -90,6 +90,8 @@ typedef struct {
} SDRequest;
+#define TYPE_EMMC "emmc"
+OBJECT_DECLARE_SIMPLE_TYPE(EMMCState, EMMC)
#define TYPE_SD_CARD "sd-card"
OBJECT_DECLARE_TYPE(SDState, SDCardClass, SD_CARD)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c
index 74b9162..a23af6d 100644
--- a/hw/sd/sd.c
+++ b/hw/sd/sd.c
@@ -108,6 +108,7 @@ struct SDState {
uint8_t spec_version;
BlockBackend *blk;
bool spi;
+ bool emmc;
/* Runtime changeables */
@@ -143,6 +144,10 @@ struct SDState {
bool cmd_line;
};
+struct EMMCState {
+ SDState parent;
+};
+
static void sd_realize(DeviceState *dev, Error **errp);
static const char *sd_state_name(enum SDCardStates state)
@@ -2105,6 +2110,13 @@ static void sd_instance_init(Object *obj)
sd->ocr_power_timer = timer_new_ns(QEMU_CLOCK_VIRTUAL, sd_ocr_powerup, sd);
}
+static void emmc_instance_init(Object *obj)
+{
+ SDState *sd = SD_CARD(obj);
+
+ sd->emmc = true;
+}
+
static void sd_instance_finalize(Object *obj)
{
SDState *sd = SD_CARD(obj);
@@ -2213,9 +2225,17 @@ static const TypeInfo sd_info = {
.instance_finalize = sd_instance_finalize,
};
+static const TypeInfo emmc_info = {
+ .name = TYPE_EMMC,
+ .parent = TYPE_SD_CARD,
+ .instance_size = sizeof(EMMCState),
+ .instance_init = emmc_instance_init,
+};
+
static void sd_register_types(void)
{
type_register_static(&sd_info);
+ type_register_static(&emmc_info);
}
type_init(sd_register_types)
--
2.7.4
- [PATCH v3 00/21] eMMC support, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 02/21] sd: emmc: Add support for eMMC cards,
Sai Pavan Boddu <=
- [PATCH v3 07/21] sd: sdmmc-internal: Add command string for SEND_OP_CMD, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 09/21] sd: emmc: Update CMD1 definition for eMMC, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 08/21] sd: emmc: Dont not update CARD_CAPACITY for eMMC cards, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 13/21] sd: emmc: Make ACMD41 illegal for mmc, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 03/21] sd: emmc: Update SET_RELATIVE_ADDR command, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 20/21] docs: devel: emmc: Add a doc for emmc card emulation, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 21/21] docs: arm: xlnx-versal-virt: Add eMMC support documentation, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 15/21] sd: emmc: Update CID structure for eMMC, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 06/21] sd: emmc: Update CMD8 to send EXT_CSD register, Sai Pavan Boddu, 2021/02/28
- [PATCH v3 17/21] sd: emmc: Subtract bootarea size from blk, Sai Pavan Boddu, 2021/02/28