Hello Philippe, I am restarting the discussion we started in :
http://patchwork.ozlabs.org/project/qemu-devel/list/?series=250563 This series adds an extension for a new eMMC device using the framework you put in place. It's not perfect but we are getting close. The SPI variant would need its own class I suppose and there are more cleanups to be done in the set of commands. Please comment ! Thanks, C. Cédric Le Goater (2): hw/sd: Add eMMC support hw/sd: Fix SET_BLOCK_COUNT command argument Joel Stanley (3): hw/sd: Add sd_cmd_SEND_TUNING_BLOCK() handler hw/sd: Support boot area in emmc image hw/sd: Subtract bootarea size from blk Philippe Mathieu-Daudé (9): hw/sd: When card is in wrong state, log which state it is hw/sd: Move proto_name to SDProto structure hw/sd: Introduce sd_cmd_handler type hw/sd: Add sd_cmd_illegal() handler hw/sd: Add sd_cmd_unimplemented() handler hw/sd: Add sd_cmd_GO_IDLE_STATE() handler hw/sd: Add sd_cmd_SEND_OP_CMD() handler hw/sd: Add sd_cmd_ALL_SEND_CID() handler hw/sd: Add sd_cmd_SEND_RELATIVE_ADDR() handler Sai Pavan Boddu (3): hw/sd: Update CMD1 definition for MMC hw/sd: Add CMD21 tuning sequence hw/sd: Add mmc switch function support hw/sd/sdmmc-internal.h | 97 +++++++ include/hw/sd/sd.h | 10 + hw/sd/sd.c | 585 +++++++++++++++++++++++++++++++++-------- hw/sd/sdmmc-internal.c | 2 +- 4 files changed, 583 insertions(+), 111 deletions(-) -- 2.34.1