Lines Matching refs:cmd

135 static int stm32_sdmmc2_send_cmd_req(struct mmc_cmd *cmd);
136 static int stm32_sdmmc2_send_cmd(struct mmc_cmd *cmd);
221 static int stm32_sdmmc2_send_cmd_req(struct mmc_cmd *cmd) in stm32_sdmmc2_send_cmd_req() argument
230 if (cmd == NULL) { in stm32_sdmmc2_send_cmd_req()
235 arg_reg = cmd->cmd_arg; in stm32_sdmmc2_send_cmd_req()
241 cmd_reg = cmd->cmd_idx | SDMMC_CMDR_CPSMEN; in stm32_sdmmc2_send_cmd_req()
243 if (cmd->resp_type == 0U) { in stm32_sdmmc2_send_cmd_req()
247 if ((cmd->resp_type & MMC_RSP_48) != 0U) { in stm32_sdmmc2_send_cmd_req()
248 if ((cmd->resp_type & MMC_RSP_136) != 0U) { in stm32_sdmmc2_send_cmd_req()
251 } else if ((cmd->resp_type & MMC_RSP_CRC) != 0U) { in stm32_sdmmc2_send_cmd_req()
260 switch (cmd->cmd_idx) { in stm32_sdmmc2_send_cmd_req()
315 next_cmd_is_acmd = (cmd->cmd_idx == MMC_CMD(55)); in stm32_sdmmc2_send_cmd_req()
328 if ((cmd->resp_type & MMC_RSP_BUSY) != 0U) { in stm32_sdmmc2_send_cmd_req()
344 __func__, cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
359 if (!((cmd->cmd_idx == MMC_CMD(1)) || in stm32_sdmmc2_send_cmd_req()
360 (cmd->cmd_idx == MMC_CMD(13)) || in stm32_sdmmc2_send_cmd_req()
361 ((cmd->cmd_idx == MMC_CMD(8)) && in stm32_sdmmc2_send_cmd_req()
362 (cmd->resp_type == MMC_RESPONSE_R7)))) { in stm32_sdmmc2_send_cmd_req()
364 __func__, cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
369 __func__, cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
376 if ((cmd->cmd_idx == MMC_CMD(9)) && in stm32_sdmmc2_send_cmd_req()
379 cmd->resp_data[0] = mmio_read_32(base + SDMMC_RESP4R); in stm32_sdmmc2_send_cmd_req()
380 cmd->resp_data[1] = mmio_read_32(base + SDMMC_RESP3R); in stm32_sdmmc2_send_cmd_req()
381 cmd->resp_data[2] = mmio_read_32(base + SDMMC_RESP2R); in stm32_sdmmc2_send_cmd_req()
382 cmd->resp_data[3] = mmio_read_32(base + SDMMC_RESP1R); in stm32_sdmmc2_send_cmd_req()
384 cmd->resp_data[0] = mmio_read_32(base + SDMMC_RESP1R); in stm32_sdmmc2_send_cmd_req()
387 cmd->resp_data[1] = mmio_read_32(base + in stm32_sdmmc2_send_cmd_req()
389 cmd->resp_data[2] = mmio_read_32(base + in stm32_sdmmc2_send_cmd_req()
391 cmd->resp_data[3] = mmio_read_32(base + in stm32_sdmmc2_send_cmd_req()
410 __func__, cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
422 cmd->cmd_idx, status); in stm32_sdmmc2_send_cmd_req()
441 static int stm32_sdmmc2_send_cmd(struct mmc_cmd *cmd) in stm32_sdmmc2_send_cmd() argument
446 assert(cmd != NULL); in stm32_sdmmc2_send_cmd()
449 err = stm32_sdmmc2_send_cmd_req(cmd); in stm32_sdmmc2_send_cmd()
454 if ((cmd->cmd_idx == MMC_CMD(1)) || in stm32_sdmmc2_send_cmd()
455 (cmd->cmd_idx == MMC_CMD(13))) { in stm32_sdmmc2_send_cmd()
460 if (cmd->cmd_idx != MMC_CMD(8)) { in stm32_sdmmc2_send_cmd()
462 cmd->cmd_idx, retry + 1U, err); in stm32_sdmmc2_send_cmd()
525 struct mmc_cmd cmd; in stm32_sdmmc2_prepare() local
552 zeromem(&cmd, sizeof(struct mmc_cmd)); in stm32_sdmmc2_prepare()
554 cmd.cmd_idx = MMC_CMD(16); in stm32_sdmmc2_prepare()
555 cmd.cmd_arg = arg_size; in stm32_sdmmc2_prepare()
556 cmd.resp_type = MMC_RESPONSE_R1; in stm32_sdmmc2_prepare()
558 ret = stm32_sdmmc2_send_cmd(&cmd); in stm32_sdmmc2_prepare()