From: Cédric Le Goater <c...@kaod.org> Signed-off-by: Cédric Le Goater <c...@kaod.org> Signed-off-by: Philippe Mathieu-Daudé <f4...@amsat.org> --- hw/sd/sd.c | 12 ++++++++++++ 1 file changed, 12 insertions(+)
diff --git a/hw/sd/sd.c b/hw/sd/sd.c index 538231dbab..5e315f171c 100644 --- a/hw/sd/sd.c +++ b/hw/sd/sd.c @@ -2172,11 +2172,23 @@ static sd_rsp_type_t sd_emmc_cmd_SEND_OP_CMD(SDState *sd, SDRequest req) return sd_r3; } +static sd_rsp_type_t sd_emmc_cmd_ALL_SEND_CID(SDState *sd, SDRequest req) +{ + if (sd->state != sd_ready_state && sd->state != sd_idle_state) { + return sd_invalid_state_for_cmd(sd, req); + } + + sd->state = sd_identification_state; + + return sd_r2_i; +} + static const SDProto sd_proto_emmc = { .name = "eMMC", .cmd = { [0] = sd_cmd_GO_IDLE_STATE, [1] = sd_emmc_cmd_SEND_OP_CMD, + [2] = sd_emmc_cmd_ALL_SEND_CID, [5] = sd_cmd_illegal, [19] = sd_cmd_SEND_TUNING_BLOCK, [41] = sd_cmd_illegal, -- 2.36.1