Lines Matching refs:cmd
24 struct mmc_command cmd = {}; in mmc_app_cmd() local
29 cmd.opcode = MMC_APP_CMD; in mmc_app_cmd()
32 cmd.arg = card->rca << 16; in mmc_app_cmd()
33 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_AC; in mmc_app_cmd()
35 cmd.arg = 0; in mmc_app_cmd()
36 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_BCR; in mmc_app_cmd()
39 err = mmc_wait_for_cmd(host, &cmd, 0); in mmc_app_cmd()
44 if (!mmc_host_is_spi(host) && !(cmd.resp[0] & R1_APP_CMD)) in mmc_app_cmd()
52 struct mmc_command *cmd) in mmc_wait_for_app_cmd() argument
66 if (cmd->resp[0] & R1_SPI_ILLEGAL_COMMAND) in mmc_wait_for_app_cmd()
74 memset(cmd->resp, 0, sizeof(cmd->resp)); in mmc_wait_for_app_cmd()
75 cmd->retries = 0; in mmc_wait_for_app_cmd()
77 mrq.cmd = cmd; in mmc_wait_for_app_cmd()
78 cmd->data = NULL; in mmc_wait_for_app_cmd()
82 err = cmd->error; in mmc_wait_for_app_cmd()
83 if (!cmd->error) in mmc_wait_for_app_cmd()
88 if (cmd->resp[0] & R1_SPI_ILLEGAL_COMMAND) in mmc_wait_for_app_cmd()
98 struct mmc_command cmd = {}; in mmc_app_set_bus_width() local
100 cmd.opcode = SD_APP_SET_BUS_WIDTH; in mmc_app_set_bus_width()
101 cmd.flags = MMC_RSP_R1 | MMC_CMD_AC; in mmc_app_set_bus_width()
105 cmd.arg = SD_BUS_WIDTH_1; in mmc_app_set_bus_width()
108 cmd.arg = SD_BUS_WIDTH_4; in mmc_app_set_bus_width()
114 return mmc_wait_for_app_cmd(card->host, card, &cmd); in mmc_app_set_bus_width()
119 struct mmc_command cmd = {}; in mmc_send_app_op_cond() local
122 cmd.opcode = SD_APP_OP_COND; in mmc_send_app_op_cond()
124 cmd.arg = ocr & (1 << 30); /* SPI only defines one bit */ in mmc_send_app_op_cond()
126 cmd.arg = ocr; in mmc_send_app_op_cond()
127 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R3 | MMC_CMD_BCR; in mmc_send_app_op_cond()
130 err = mmc_wait_for_app_cmd(host, NULL, &cmd); in mmc_send_app_op_cond()
140 if (!(cmd.resp[0] & R1_SPI_IDLE)) in mmc_send_app_op_cond()
143 if (cmd.resp[0] & MMC_CARD_BUSY) in mmc_send_app_op_cond()
156 *rocr = cmd.resp[0]; in mmc_send_app_op_cond()
163 struct mmc_command cmd = {}; in mmc_send_if_cond() local
173 cmd.opcode = SD_SEND_IF_COND; in mmc_send_if_cond()
174 cmd.arg = ((ocr & 0xFF8000) != 0) << 8 | test_pattern; in mmc_send_if_cond()
175 cmd.flags = MMC_RSP_SPI_R7 | MMC_RSP_R7 | MMC_CMD_BCR; in mmc_send_if_cond()
177 err = mmc_wait_for_cmd(host, &cmd, 0); in mmc_send_if_cond()
182 result_pattern = cmd.resp[1] & 0xFF; in mmc_send_if_cond()
184 result_pattern = cmd.resp[0] & 0xFF; in mmc_send_if_cond()
195 struct mmc_command cmd = {}; in mmc_send_relative_addr() local
197 cmd.opcode = SD_SEND_RELATIVE_ADDR; in mmc_send_relative_addr()
198 cmd.arg = 0; in mmc_send_relative_addr()
199 cmd.flags = MMC_RSP_R6 | MMC_CMD_BCR; in mmc_send_relative_addr()
201 err = mmc_wait_for_cmd(host, &cmd, MMC_CMD_RETRIES); in mmc_send_relative_addr()
205 *rca = cmd.resp[0] >> 16; in mmc_send_relative_addr()
214 struct mmc_command cmd = {}; in mmc_app_send_scr() local
232 mrq.cmd = &cmd; in mmc_app_send_scr()
235 cmd.opcode = SD_APP_SEND_SCR; in mmc_app_send_scr()
236 cmd.arg = 0; in mmc_app_send_scr()
237 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC; in mmc_app_send_scr()
256 if (cmd.error) in mmc_app_send_scr()
257 return cmd.error; in mmc_app_send_scr()
268 struct mmc_command cmd = {}; in mmc_sd_switch() local
277 mrq.cmd = &cmd; in mmc_sd_switch()
280 cmd.opcode = SD_SWITCH; in mmc_sd_switch()
281 cmd.arg = mode << 31 | 0x00FFFFFF; in mmc_sd_switch()
282 cmd.arg &= ~(0xF << (group * 4)); in mmc_sd_switch()
283 cmd.arg |= value << (group * 4); in mmc_sd_switch()
284 cmd.flags = MMC_RSP_SPI_R1 | MMC_RSP_R1 | MMC_CMD_ADTC; in mmc_sd_switch()
298 if (cmd.error) in mmc_sd_switch()
299 return cmd.error; in mmc_sd_switch()
310 struct mmc_command cmd = {}; in mmc_app_sd_status() local
320 mrq.cmd = &cmd; in mmc_app_sd_status()
323 cmd.opcode = SD_APP_SD_STATUS; in mmc_app_sd_status()
324 cmd.arg = 0; in mmc_app_sd_status()
325 cmd.flags = MMC_RSP_SPI_R2 | MMC_RSP_R1 | MMC_CMD_ADTC; in mmc_app_sd_status()
339 if (cmd.error) in mmc_app_sd_status()
340 return cmd.error; in mmc_app_sd_status()