Lines Matching refs:hw_cmd
22 static uint8_t sdspi_msg_crc7(sdspi_hw_cmd_t* hw_cmd) in sdspi_msg_crc7() argument
25 sizeof(hw_cmd->arguments); /* can't take address of bit fields */ in sdspi_msg_crc7()
26 return sdspi_crc7((const uint8_t *)hw_cmd, bytes_to_crc); in sdspi_msg_crc7()
29 void make_hw_cmd(uint32_t opcode, uint32_t arg, int timeout_ms, sdspi_hw_cmd_t *hw_cmd) in make_hw_cmd() argument
31 hw_cmd->start_bit = 0; in make_hw_cmd()
32 hw_cmd->transmission_bit = 1; in make_hw_cmd()
33 hw_cmd->cmd_index = opcode; in make_hw_cmd()
34 hw_cmd->stop_bit = 1; in make_hw_cmd()
35 hw_cmd->r1 = 0xff; in make_hw_cmd()
36 memset(hw_cmd->response, 0xff, sizeof(hw_cmd->response)); in make_hw_cmd()
37 hw_cmd->ncr = 0xff; in make_hw_cmd()
39 memcpy(hw_cmd->arguments, &arg_s, sizeof(arg_s)); in make_hw_cmd()
40 hw_cmd->crc7 = sdspi_msg_crc7(hw_cmd); in make_hw_cmd()
41 hw_cmd->timeout_ms = timeout_ms; in make_hw_cmd()
101 WORD_ALIGNED_ATTR sdspi_hw_cmd_t hw_cmd; in sdspi_host_do_transaction() local
102 make_hw_cmd(cmdinfo->opcode, cmdinfo->arg, cmdinfo->timeout_ms, &hw_cmd); in sdspi_host_do_transaction()
150 esp_err_t ret = sdspi_host_start_command(slot, &hw_cmd, in sdspi_host_do_transaction()
155 ESP_LOGV(TAG, "r1 = 0x%02x hw_cmd.r[0]=0x%08"PRIx32, hw_cmd.r1, hw_cmd.response[0]); in sdspi_host_do_transaction()
158 cmdinfo->response[0] = hw_cmd.r1; in sdspi_host_do_transaction()
159 r1_response_to_err(hw_cmd.r1, cmdinfo->opcode, &ret); in sdspi_host_do_transaction()
161 cmdinfo->response[0] = ((uint32_t)hw_cmd.r1) | ((hw_cmd.response[0] & 0xff) << 8); in sdspi_host_do_transaction()
163 r1_response_to_err(hw_cmd.r1, cmdinfo->opcode, &ret); in sdspi_host_do_transaction()
164 cmdinfo->response[0] = __builtin_bswap32(hw_cmd.response[0]); in sdspi_host_do_transaction()
166 r1_sdio_response_to_err(hw_cmd.r1, cmdinfo->opcode, &ret); in sdspi_host_do_transaction()
167 cmdinfo->response[0] = __builtin_bswap32(hw_cmd.response[0]); in sdspi_host_do_transaction()
169 r1_sdio_response_to_err(hw_cmd.r1, cmdinfo->opcode, &ret); in sdspi_host_do_transaction()
170 cmdinfo->response[0] = hw_cmd.response[0]; in sdspi_host_do_transaction()