fix(sdspi): 0x106 error during SD card init via SPI related fixes

Try to turn on CRC16 again if first failed, allow disabling of CRC check altogether

Releated https://github.com/espressif/esp-idf/issues/15450
This commit is contained in:
Adam Múdry
2026-03-09 19:10:55 +01:00
parent 5ecafbffc1
commit a4cec4355a
6 changed files with 55 additions and 3 deletions
+5 -2
View File
@@ -93,9 +93,12 @@ esp_err_t sdmmc_card_init(const sdmmc_host_t* config, sdmmc_card_t* card)
const bool is_mem = card->is_mem;
const bool is_sdio = !is_mem;
const bool ignore_data_crc = (config->flags & SDMMC_HOST_FLAG_SPI_IGNORE_DATA_CRC);
/* Enable CRC16 checks for data transfers in SPI mode */
SDMMC_INIT_STEP(is_spi, sdmmc_init_spi_crc);
if (!ignore_data_crc) {
/* Enable CRC16 checks for data transfers in SPI mode */
SDMMC_INIT_STEP(is_spi, sdmmc_init_spi_crc);
}
/* Use SEND_OP_COND to set up card OCR */
SDMMC_INIT_STEP(is_mem, sdmmc_init_ocr);