sdmmc: don't set data_expected on SET_BUS_WIDTH command

SET_BUS_WIDTH is not a data transfer command. Extensive search in the
host datasheet and SD card spec did not reveal the origin of this hack
or 'feature'. Further testing showed that removing this does not lead to
regressions.
This commit is contained in:
Ivan Grokhotkov 2017-08-18 00:12:05 +08:00
parent 42de5fb76d
commit 84d6793f77
2 changed files with 0 additions and 10 deletions

View file

@ -246,10 +246,6 @@ static sdmmc_hw_cmd_t make_hw_cmd(sdmmc_command_t* cmd)
} else { } else {
res.wait_complete = 1; res.wait_complete = 1;
} }
if (s_is_app_cmd && cmd->opcode == SD_APP_SET_BUS_WIDTH) {
res.send_auto_stop = 1;
res.data_expected = 1;
}
if (cmd->opcode == MMC_GO_IDLE_STATE) { if (cmd->opcode == MMC_GO_IDLE_STATE) {
res.send_init = 1; res.send_init = 1;
} }

View file

@ -244,12 +244,6 @@ esp_err_t sdmmc_card_init(const sdmmc_host_t* config, sdmmc_card_t* card)
ESP_LOGE(TAG, "slot->set_bus_width failed"); ESP_LOGE(TAG, "slot->set_bus_width failed");
return err; return err;
} }
uint32_t status;
err = sdmmc_send_cmd_stop_transmission(card, &status);
if (err != ESP_OK) {
ESP_LOGE(TAG, "stop_transmission failed (0x%x)", err);
return err;
}
} }
/* Wait for the card to be ready for data transfers */ /* Wait for the card to be ready for data transfers */