mirror of
https://github.com/espressif/esp-idf.git
synced 2025-07-31 19:24:33 +02:00
Merge branch 'fix/slot0_requires_all_pins_in_1bit_mode_issue_v5.5' into 'release/v5.5'
sd: fixed all pins need to be set when using slot0 on esp32p4 issue (v5.5) See merge request espressif/esp-idf!39305
This commit is contained in:
@@ -671,14 +671,21 @@ esp_err_t sdmmc_host_init_slot(int slot, const sdmmc_slot_config_t *slot_config)
|
||||
|
||||
if (slot == 0) {
|
||||
#if !SDMMC_LL_SLOT_SUPPORT_GPIO_MATRIX(0)
|
||||
if (use_gpio_matrix &&
|
||||
SDMMC_SLOT0_IOMUX_PIN_NUM_CLK == slot_config->clk &&
|
||||
SDMMC_SLOT0_IOMUX_PIN_NUM_CMD == slot_config->cmd &&
|
||||
SDMMC_SLOT0_IOMUX_PIN_NUM_D0 == slot_config->d0 &&
|
||||
SDMMC_SLOT0_IOMUX_PIN_NUM_D1 == slot_config->d1 &&
|
||||
SDMMC_SLOT0_IOMUX_PIN_NUM_D2 == slot_config->d2 &&
|
||||
SDMMC_SLOT0_IOMUX_PIN_NUM_D3 == slot_config->d3) {
|
||||
use_gpio_matrix = false;
|
||||
if (use_gpio_matrix) {
|
||||
if (slot_width >= 1) {
|
||||
if (SDMMC_SLOT0_IOMUX_PIN_NUM_CLK == slot_config->clk && SDMMC_SLOT0_IOMUX_PIN_NUM_CMD == slot_config->cmd && SDMMC_SLOT0_IOMUX_PIN_NUM_D0 == slot_config->d0) {
|
||||
use_gpio_matrix = false;
|
||||
} else {
|
||||
use_gpio_matrix = true;
|
||||
}
|
||||
}
|
||||
if (slot_width >= 4) {
|
||||
if (SDMMC_SLOT0_IOMUX_PIN_NUM_D1 == slot_config->d1 && SDMMC_SLOT0_IOMUX_PIN_NUM_D2 == slot_config->d2 && SDMMC_SLOT0_IOMUX_PIN_NUM_D3 == slot_config->d3) {
|
||||
use_gpio_matrix = false;
|
||||
} else {
|
||||
use_gpio_matrix = true;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
ESP_RETURN_ON_FALSE(!use_gpio_matrix, ESP_ERR_INVALID_ARG, TAG, "doesn't support routing from GPIO matrix, driver uses dedicated IOs");
|
||||
}
|
||||
|
@@ -216,6 +216,7 @@ void sdmmc_test_rw_highprio_task(sdmmc_card_t* card)
|
||||
|
||||
xSemaphoreGive(args.stop);
|
||||
xSemaphoreTake(args.done, portMAX_DELAY);
|
||||
vTaskDelay(1);
|
||||
vSemaphoreDelete(args.stop);
|
||||
vSemaphoreDelete(args.done);
|
||||
}
|
||||
|
@@ -44,84 +44,58 @@ menu "SD/MMC Example Configuration"
|
||||
depends on SOC_SDMMC_UHS_I_SUPPORTED
|
||||
endchoice
|
||||
|
||||
if SOC_SDMMC_USE_GPIO_MATRIX
|
||||
config EXAMPLE_PIN_CMD
|
||||
int
|
||||
prompt "CMD GPIO number" if SOC_SDMMC_USE_GPIO_MATRIX
|
||||
default 35 if IDF_TARGET_ESP32S3
|
||||
default 44 if IDF_TARGET_ESP32P4
|
||||
default 15 if IDF_TARGET_ESP32
|
||||
|
||||
config EXAMPLE_PIN_CMD
|
||||
int "CMD GPIO number"
|
||||
default 35 if IDF_TARGET_ESP32S3
|
||||
default 44 if IDF_TARGET_ESP32P4
|
||||
config EXAMPLE_PIN_CLK
|
||||
int
|
||||
prompt "CLK GPIO number" if SOC_SDMMC_USE_GPIO_MATRIX
|
||||
default 36 if IDF_TARGET_ESP32S3
|
||||
default 43 if IDF_TARGET_ESP32P4
|
||||
default 14 if IDF_TARGET_ESP32
|
||||
|
||||
config EXAMPLE_PIN_CLK
|
||||
int "CLK GPIO number"
|
||||
default 36 if IDF_TARGET_ESP32S3
|
||||
default 43 if IDF_TARGET_ESP32P4
|
||||
config EXAMPLE_PIN_D0
|
||||
int
|
||||
prompt "D0 GPIO number" if SOC_SDMMC_USE_GPIO_MATRIX
|
||||
default 37 if IDF_TARGET_ESP32S3
|
||||
default 39 if IDF_TARGET_ESP32P4
|
||||
default 2 if IDF_TARGET_ESP32
|
||||
|
||||
config EXAMPLE_PIN_D0
|
||||
int "D0 GPIO number"
|
||||
default 37 if IDF_TARGET_ESP32S3
|
||||
default 39 if IDF_TARGET_ESP32P4
|
||||
if EXAMPLE_SDMMC_BUS_WIDTH_4
|
||||
|
||||
if EXAMPLE_SDMMC_BUS_WIDTH_4
|
||||
config EXAMPLE_PIN_D1
|
||||
int
|
||||
prompt "D1 GPIO number" if SOC_SDMMC_USE_GPIO_MATRIX
|
||||
default 38 if IDF_TARGET_ESP32S3
|
||||
default 40 if IDF_TARGET_ESP32P4
|
||||
default 4 if IDF_TARGET_ESP32
|
||||
|
||||
config EXAMPLE_PIN_D1
|
||||
int "D1 GPIO number"
|
||||
default 38 if IDF_TARGET_ESP32S3
|
||||
default 40 if IDF_TARGET_ESP32P4
|
||||
|
||||
config EXAMPLE_PIN_D2
|
||||
int "D2 GPIO number"
|
||||
default 33 if IDF_TARGET_ESP32S3
|
||||
default 41 if IDF_TARGET_ESP32P4
|
||||
config EXAMPLE_PIN_D2
|
||||
int
|
||||
prompt "D2 GPIO number" if SOC_SDMMC_USE_GPIO_MATRIX
|
||||
default 33 if IDF_TARGET_ESP32S3
|
||||
default 41 if IDF_TARGET_ESP32P4
|
||||
default 12 if IDF_TARGET_ESP32
|
||||
|
||||
config EXAMPLE_PIN_D3
|
||||
int "D3 GPIO number"
|
||||
default 34 if IDF_TARGET_ESP32S3
|
||||
default 42 if IDF_TARGET_ESP32P4
|
||||
|
||||
endif # EXAMPLE_SDMMC_BUS_WIDTH_4
|
||||
config EXAMPLE_PIN_D3
|
||||
int
|
||||
prompt "D3 GPIO number" if SOC_SDMMC_USE_GPIO_MATRIX
|
||||
default 34 if IDF_TARGET_ESP32S3
|
||||
default 42 if IDF_TARGET_ESP32P4
|
||||
default 13 if IDF_TARGET_ESP32
|
||||
|
||||
endif # SOC_SDMMC_USE_GPIO_MATRIX
|
||||
endif # EXAMPLE_SDMMC_BUS_WIDTH_4
|
||||
|
||||
config EXAMPLE_DEBUG_PIN_CONNECTIONS
|
||||
bool "Debug sd pin connections and pullup strength"
|
||||
default n
|
||||
|
||||
if !SOC_SDMMC_USE_GPIO_MATRIX
|
||||
config EXAMPLE_PIN_CMD
|
||||
int
|
||||
depends on EXAMPLE_DEBUG_PIN_CONNECTIONS
|
||||
default 15 if IDF_TARGET_ESP32
|
||||
|
||||
config EXAMPLE_PIN_CLK
|
||||
int
|
||||
depends on EXAMPLE_DEBUG_PIN_CONNECTIONS
|
||||
default 14 if IDF_TARGET_ESP32
|
||||
|
||||
config EXAMPLE_PIN_D0
|
||||
int
|
||||
depends on EXAMPLE_DEBUG_PIN_CONNECTIONS
|
||||
default 2 if IDF_TARGET_ESP32
|
||||
|
||||
if EXAMPLE_SDMMC_BUS_WIDTH_4
|
||||
|
||||
config EXAMPLE_PIN_D1
|
||||
int
|
||||
depends on EXAMPLE_DEBUG_PIN_CONNECTIONS
|
||||
default 4 if IDF_TARGET_ESP32
|
||||
|
||||
config EXAMPLE_PIN_D2
|
||||
int
|
||||
depends on EXAMPLE_DEBUG_PIN_CONNECTIONS
|
||||
default 12 if IDF_TARGET_ESP32
|
||||
|
||||
config EXAMPLE_PIN_D3
|
||||
int
|
||||
depends on EXAMPLE_DEBUG_PIN_CONNECTIONS
|
||||
default 13 if IDF_TARGET_ESP32
|
||||
|
||||
endif # EXAMPLE_SDMMC_BUS_WIDTH_4
|
||||
endif
|
||||
|
||||
config EXAMPLE_ENABLE_ADC_FEATURE
|
||||
bool "Enable ADC feature"
|
||||
depends on EXAMPLE_DEBUG_PIN_CONNECTIONS
|
||||
|
Reference in New Issue
Block a user