Lines Matching refs:cmd

145 static int stm32_sdmmc2_send_cmd_req(struct mmc_cmd *cmd);
146 static int stm32_sdmmc2_send_cmd(struct mmc_cmd *cmd);
231 static int stm32_sdmmc2_send_cmd_req(struct mmc_cmd *cmd) in stm32_sdmmc2_send_cmd_req() argument
240 if (cmd == NULL) { in stm32_sdmmc2_send_cmd_req()
245 arg_reg = cmd->cmd_arg; in stm32_sdmmc2_send_cmd_req()
251 cmd_reg = cmd->cmd_idx | SDMMC_CMDR_CPSMEN; in stm32_sdmmc2_send_cmd_req()
253 if (cmd->resp_type == 0U) { in stm32_sdmmc2_send_cmd_req()
257 if ((cmd->resp_type & MMC_RSP_48) != 0U) { in stm32_sdmmc2_send_cmd_req()
258 if ((cmd->resp_type & MMC_RSP_136) != 0U) { in stm32_sdmmc2_send_cmd_req()
261 } else if ((cmd->resp_type & MMC_RSP_CRC) != 0U) { in stm32_sdmmc2_send_cmd_req()
270 switch (cmd->cmd_idx) { in stm32_sdmmc2_send_cmd_req()
325 next_cmd_is_acmd = (cmd->cmd_idx == MMC_CMD(55)); in stm32_sdmmc2_send_cmd_req()
338 if ((cmd->resp_type & MMC_RSP_BUSY) != 0U) { in stm32_sdmmc2_send_cmd_req()
354 __func__, cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
369 if (!((cmd->cmd_idx == MMC_CMD(1)) || in stm32_sdmmc2_send_cmd_req()
370 (cmd->cmd_idx == MMC_CMD(13)) || in stm32_sdmmc2_send_cmd_req()
371 ((cmd->cmd_idx == MMC_CMD(8)) && in stm32_sdmmc2_send_cmd_req()
372 (cmd->resp_type == MMC_RESPONSE_R7)))) { in stm32_sdmmc2_send_cmd_req()
374 __func__, cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
379 __func__, cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
386 if ((cmd->cmd_idx == MMC_CMD(9)) && in stm32_sdmmc2_send_cmd_req()
389 cmd->resp_data[0] = mmio_read_32(base + SDMMC_RESP4R); in stm32_sdmmc2_send_cmd_req()
390 cmd->resp_data[1] = mmio_read_32(base + SDMMC_RESP3R); in stm32_sdmmc2_send_cmd_req()
391 cmd->resp_data[2] = mmio_read_32(base + SDMMC_RESP2R); in stm32_sdmmc2_send_cmd_req()
392 cmd->resp_data[3] = mmio_read_32(base + SDMMC_RESP1R); in stm32_sdmmc2_send_cmd_req()
394 cmd->resp_data[0] = mmio_read_32(base + SDMMC_RESP1R); in stm32_sdmmc2_send_cmd_req()
397 cmd->resp_data[1] = mmio_read_32(base + in stm32_sdmmc2_send_cmd_req()
399 cmd->resp_data[2] = mmio_read_32(base + in stm32_sdmmc2_send_cmd_req()
401 cmd->resp_data[3] = mmio_read_32(base + in stm32_sdmmc2_send_cmd_req()
420 __func__, cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
432 cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
451 static int stm32_sdmmc2_send_cmd(struct mmc_cmd *cmd) in stm32_sdmmc2_send_cmd() argument
456 assert(cmd != NULL); in stm32_sdmmc2_send_cmd()
459 err = stm32_sdmmc2_send_cmd_req(cmd); in stm32_sdmmc2_send_cmd()
464 if ((cmd->cmd_idx == MMC_CMD(1)) || in stm32_sdmmc2_send_cmd()
465 (cmd->cmd_idx == MMC_CMD(13))) { in stm32_sdmmc2_send_cmd()
470 if (cmd->cmd_idx != MMC_CMD(8)) { in stm32_sdmmc2_send_cmd()
472 cmd->cmd_idx, retry + 1U, err); in stm32_sdmmc2_send_cmd()
535 struct mmc_cmd cmd; in stm32_sdmmc2_prepare() local
562 zeromem(&cmd, sizeof(struct mmc_cmd)); in stm32_sdmmc2_prepare()
564 cmd.cmd_idx = MMC_CMD(16); in stm32_sdmmc2_prepare()
565 cmd.cmd_arg = arg_size; in stm32_sdmmc2_prepare()
566 cmd.resp_type = MMC_RESPONSE_R1; in stm32_sdmmc2_prepare()
568 ret = stm32_sdmmc2_send_cmd(&cmd); in stm32_sdmmc2_prepare()