mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-02 12:14:32 +02:00
Merge branch 'change/p4_sd_runner_no_use_usj_v5.3' into 'release/v5.3'
ci(sd): use uart0 as usj always serial noise on ci on p4 (v5.3) See merge request espressif/esp-idf!35193
This commit is contained in:
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -53,23 +53,28 @@ extern "C" {
|
|||||||
#define SDMMC_SLOT_NO_WP GPIO_NUM_NC ///< indicates that write protect line is not used
|
#define SDMMC_SLOT_NO_WP GPIO_NUM_NC ///< indicates that write protect line is not used
|
||||||
#define SDMMC_SLOT_WIDTH_DEFAULT 0 ///< use the maximum possible width for the slot
|
#define SDMMC_SLOT_WIDTH_DEFAULT 0 ///< use the maximum possible width for the slot
|
||||||
|
|
||||||
#if SOC_SDMMC_USE_IOMUX && !SOC_SDMMC_USE_GPIO_MATRIX
|
|
||||||
/**
|
/**
|
||||||
* Macro defining default configuration of SDMMC host slot
|
* Macro defining default configuration of SDMMC host slot
|
||||||
*/
|
*/
|
||||||
|
#if CONFIG_IDF_TARGET_ESP32
|
||||||
#define SDMMC_SLOT_CONFIG_DEFAULT() {\
|
#define SDMMC_SLOT_CONFIG_DEFAULT() {\
|
||||||
|
.clk = GPIO_NUM_6, \
|
||||||
|
.cmd = GPIO_NUM_11, \
|
||||||
|
.d0 = GPIO_NUM_7, \
|
||||||
|
.d1 = GPIO_NUM_8, \
|
||||||
|
.d2 = GPIO_NUM_9, \
|
||||||
|
.d3 = GPIO_NUM_10, \
|
||||||
|
.d4 = GPIO_NUM_16, \
|
||||||
|
.d5 = GPIO_NUM_17, \
|
||||||
|
.d6 = GPIO_NUM_5, \
|
||||||
|
.d7 = GPIO_NUM_18, \
|
||||||
.cd = SDMMC_SLOT_NO_CD, \
|
.cd = SDMMC_SLOT_NO_CD, \
|
||||||
.wp = SDMMC_SLOT_NO_WP, \
|
.wp = SDMMC_SLOT_NO_WP, \
|
||||||
.width = SDMMC_SLOT_WIDTH_DEFAULT, \
|
.width = SDMMC_SLOT_WIDTH_DEFAULT, \
|
||||||
.flags = 0, \
|
.flags = 0, \
|
||||||
}
|
}
|
||||||
|
|
||||||
#else
|
#elif CONFIG_IDF_TARGET_ESP32P4
|
||||||
|
|
||||||
/**
|
|
||||||
* Macro defining default configuration of SDMMC host slot
|
|
||||||
*/
|
|
||||||
#if CONFIG_IDF_TARGET_ESP32P4
|
|
||||||
#define SDMMC_SLOT_CONFIG_DEFAULT() {\
|
#define SDMMC_SLOT_CONFIG_DEFAULT() {\
|
||||||
.clk = GPIO_NUM_43, \
|
.clk = GPIO_NUM_43, \
|
||||||
.cmd = GPIO_NUM_44, \
|
.cmd = GPIO_NUM_44, \
|
||||||
@@ -106,8 +111,6 @@ extern "C" {
|
|||||||
}
|
}
|
||||||
#endif // GPIO Matrix chips
|
#endif // GPIO Matrix chips
|
||||||
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@@ -24,7 +24,6 @@ extern "C" {
|
|||||||
* Extra configuration for SDMMC peripheral slot
|
* Extra configuration for SDMMC peripheral slot
|
||||||
*/
|
*/
|
||||||
typedef struct {
|
typedef struct {
|
||||||
#ifdef SOC_SDMMC_USE_GPIO_MATRIX
|
|
||||||
gpio_num_t clk; ///< GPIO number of CLK signal.
|
gpio_num_t clk; ///< GPIO number of CLK signal.
|
||||||
gpio_num_t cmd; ///< GPIO number of CMD signal.
|
gpio_num_t cmd; ///< GPIO number of CMD signal.
|
||||||
gpio_num_t d0; ///< GPIO number of D0 signal.
|
gpio_num_t d0; ///< GPIO number of D0 signal.
|
||||||
@@ -35,7 +34,6 @@ typedef struct {
|
|||||||
gpio_num_t d5; ///< GPIO number of D5 signal. Ignored in 1- or 4- line mode.
|
gpio_num_t d5; ///< GPIO number of D5 signal. Ignored in 1- or 4- line mode.
|
||||||
gpio_num_t d6; ///< GPIO number of D6 signal. Ignored in 1- or 4- line mode.
|
gpio_num_t d6; ///< GPIO number of D6 signal. Ignored in 1- or 4- line mode.
|
||||||
gpio_num_t d7; ///< GPIO number of D7 signal. Ignored in 1- or 4- line mode.
|
gpio_num_t d7; ///< GPIO number of D7 signal. Ignored in 1- or 4- line mode.
|
||||||
#endif // SOC_SDMMC_USE_GPIO_MATRIX
|
|
||||||
union {
|
union {
|
||||||
gpio_num_t gpio_cd; ///< GPIO number of card detect signal
|
gpio_num_t gpio_cd; ///< GPIO number of card detect signal
|
||||||
gpio_num_t cd; ///< GPIO number of card detect signal; shorter name.
|
gpio_num_t cd; ///< GPIO number of card detect signal; shorter name.
|
||||||
|
@@ -544,7 +544,17 @@ esp_err_t sdmmc_host_init_slot(int slot, const sdmmc_slot_config_t *slot_config)
|
|||||||
|
|
||||||
if (slot == 0) {
|
if (slot == 0) {
|
||||||
#if !SDMMC_LL_SLOT_SUPPORT_GPIO_MATRIX(0)
|
#if !SDMMC_LL_SLOT_SUPPORT_GPIO_MATRIX(0)
|
||||||
ESP_RETURN_ON_FALSE(!use_gpio_matrix, ESP_ERR_INVALID_ARG, TAG, "doesn't support routing from GPIO matrix, driver uses dedicated IOs");
|
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;
|
||||||
|
} else {
|
||||||
|
ESP_RETURN_ON_FALSE(!use_gpio_matrix, ESP_ERR_INVALID_ARG, TAG, "doesn't support routing from GPIO matrix, driver uses dedicated IOs");
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
} else {
|
} else {
|
||||||
#if !SDMMC_LL_SLOT_SUPPORT_GPIO_MATRIX(1)
|
#if !SDMMC_LL_SLOT_SUPPORT_GPIO_MATRIX(1)
|
||||||
|
@@ -323,9 +323,6 @@ static const sdmmc_test_board_info_t s_board_info = {
|
|||||||
static const sdmmc_test_board_info_t s_board_info = {
|
static const sdmmc_test_board_info_t s_board_info = {
|
||||||
.name = "ESP32-P4 Function EV Board",
|
.name = "ESP32-P4 Function EV Board",
|
||||||
.slot = {
|
.slot = {
|
||||||
{
|
|
||||||
.slot_exists = false
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
.slot_exists = true,
|
.slot_exists = true,
|
||||||
.bus_width = 4,
|
.bus_width = 4,
|
||||||
@@ -342,6 +339,9 @@ static const sdmmc_test_board_info_t s_board_info = {
|
|||||||
.cd = GPIO_NUM_NC,
|
.cd = GPIO_NUM_NC,
|
||||||
.wp = GPIO_NUM_NC,
|
.wp = GPIO_NUM_NC,
|
||||||
.unused_pin = 54,
|
.unused_pin = 54,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.slot_exists = false,
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
@@ -18,7 +18,7 @@
|
|||||||
#include "sd_pwr_ctrl.h"
|
#include "sd_pwr_ctrl.h"
|
||||||
#include "sd_pwr_ctrl_by_on_chip_ldo.h"
|
#include "sd_pwr_ctrl_by_on_chip_ldo.h"
|
||||||
|
|
||||||
void sdmmc_test_sd_skip_if_board_incompatible(int slot, int width, int freq_khz, int ddr)
|
void sdmmc_test_sd_skip_if_board_incompatible(int slot, int width, int freq_khz, int ddr, int is_emmc)
|
||||||
{
|
{
|
||||||
sdmmc_host_t config = SDMMC_HOST_DEFAULT();
|
sdmmc_host_t config = SDMMC_HOST_DEFAULT();
|
||||||
sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
|
sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
|
||||||
@@ -26,6 +26,13 @@ void sdmmc_test_sd_skip_if_board_incompatible(int slot, int width, int freq_khz,
|
|||||||
if (!sdmmc_test_board_has_slot(slot)) {
|
if (!sdmmc_test_board_has_slot(slot)) {
|
||||||
TEST_IGNORE_MESSAGE("Board doesn't have the required slot");
|
TEST_IGNORE_MESSAGE("Board doesn't have the required slot");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (is_emmc) {
|
||||||
|
if (!sdmmc_test_board_slot_is_emmc(slot)) {
|
||||||
|
TEST_IGNORE_MESSAGE("Board doesn't have the emmc card inserted");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
sdmmc_test_board_get_config_sdmmc(slot, &config, &slot_config);
|
sdmmc_test_board_get_config_sdmmc(slot, &config, &slot_config);
|
||||||
|
|
||||||
int board_max_freq_khz = sdmmc_test_board_get_slot_info(slot)->max_freq_khz;
|
int board_max_freq_khz = sdmmc_test_board_get_slot_info(slot)->max_freq_khz;
|
||||||
|
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
|
* SPDX-FileCopyrightText: 2023-2024 Espressif Systems (Shanghai) CO LTD
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: Apache-2.0
|
* SPDX-License-Identifier: Apache-2.0
|
||||||
*/
|
*/
|
||||||
@@ -16,6 +16,8 @@ extern "C" {
|
|||||||
#define SLOT_1 1
|
#define SLOT_1 1
|
||||||
#define NO_DDR 0
|
#define NO_DDR 0
|
||||||
#define WITH_DDR 1
|
#define WITH_DDR 1
|
||||||
|
#define NO_EMMC 0
|
||||||
|
#define IS_EMMC 1
|
||||||
|
|
||||||
/* Helper functions to initialize/deinintalize the host (SDMMC/SDSPI) inside the test */
|
/* Helper functions to initialize/deinintalize the host (SDMMC/SDSPI) inside the test */
|
||||||
|
|
||||||
@@ -28,8 +30,9 @@ extern "C" {
|
|||||||
* @param width Slot width (1, 4 or 8)
|
* @param width Slot width (1, 4 or 8)
|
||||||
* @param freq_khz Bus frequency in kHz
|
* @param freq_khz Bus frequency in kHz
|
||||||
* @param ddr Whether to use DDR mode (NO_DDR or WITH_DDR)
|
* @param ddr Whether to use DDR mode (NO_DDR or WITH_DDR)
|
||||||
|
* @param is_emmc Is emmc or not
|
||||||
*/
|
*/
|
||||||
void sdmmc_test_sd_skip_if_board_incompatible(int slot, int width, int freq_khz, int ddr);
|
void sdmmc_test_sd_skip_if_board_incompatible(int slot, int width, int freq_khz, int ddr, int is_emmc);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Helper function to initialize the SDMMC host and slot for the test using the given settings
|
* @brief Helper function to initialize the SDMMC host and slot for the test using the given settings
|
||||||
|
@@ -8,6 +8,7 @@
|
|||||||
#include "sdmmc_cmd.h"
|
#include "sdmmc_cmd.h"
|
||||||
#include "driver/sdmmc_host.h"
|
#include "driver/sdmmc_host.h"
|
||||||
#include "sdmmc_test_cd_wp_common.h"
|
#include "sdmmc_test_cd_wp_common.h"
|
||||||
|
#include "sdmmc_test_begin_end_sd.h"
|
||||||
#include "sdmmc_test_board.h"
|
#include "sdmmc_test_board.h"
|
||||||
#include "sd_pwr_ctrl.h"
|
#include "sd_pwr_ctrl.h"
|
||||||
#include "sd_pwr_ctrl_by_on_chip_ldo.h"
|
#include "sd_pwr_ctrl_by_on_chip_ldo.h"
|
||||||
@@ -16,6 +17,7 @@ TEST_CASE("CD input works in SD mode", "[sdmmc]")
|
|||||||
{
|
{
|
||||||
sdmmc_host_t config = SDMMC_HOST_DEFAULT();
|
sdmmc_host_t config = SDMMC_HOST_DEFAULT();
|
||||||
sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
|
sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
|
||||||
|
sdmmc_test_sd_skip_if_board_incompatible(SDMMC_HOST_SLOT_1, 0, SDMMC_FREQ_PROBING, NO_DDR, NO_EMMC);
|
||||||
sdmmc_test_board_get_config_sdmmc(SDMMC_HOST_SLOT_1, &config, &slot_config);
|
sdmmc_test_board_get_config_sdmmc(SDMMC_HOST_SLOT_1, &config, &slot_config);
|
||||||
const int test_gpio = sdmmc_test_board_get_slot_info(SDMMC_HOST_SLOT_1)->unused_pin;
|
const int test_gpio = sdmmc_test_board_get_slot_info(SDMMC_HOST_SLOT_1)->unused_pin;
|
||||||
slot_config.gpio_cd = test_gpio;
|
slot_config.gpio_cd = test_gpio;
|
||||||
@@ -48,6 +50,7 @@ TEST_CASE("WP input works in SD mode", "[sdmmc]")
|
|||||||
sdmmc_test_board_card_power_set(true);
|
sdmmc_test_board_card_power_set(true);
|
||||||
sdmmc_host_t config = SDMMC_HOST_DEFAULT();
|
sdmmc_host_t config = SDMMC_HOST_DEFAULT();
|
||||||
sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
|
sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
|
||||||
|
sdmmc_test_sd_skip_if_board_incompatible(SDMMC_HOST_SLOT_1, 0, SDMMC_FREQ_PROBING, NO_DDR, NO_EMMC);
|
||||||
sdmmc_test_board_get_config_sdmmc(SDMMC_HOST_SLOT_1, &config, &slot_config);
|
sdmmc_test_board_get_config_sdmmc(SDMMC_HOST_SLOT_1, &config, &slot_config);
|
||||||
const int test_gpio = sdmmc_test_board_get_slot_info(SDMMC_HOST_SLOT_1)->unused_pin;
|
const int test_gpio = sdmmc_test_board_get_slot_info(SDMMC_HOST_SLOT_1)->unused_pin;
|
||||||
slot_config.gpio_wp = test_gpio;
|
slot_config.gpio_wp = test_gpio;
|
||||||
|
@@ -43,7 +43,7 @@ static void test_discard_blocks(sdmmc_card_t* card, int slot)
|
|||||||
static void do_one_mmc_discard_test(int slot, int width, int freq_khz, int ddr)
|
static void do_one_mmc_discard_test(int slot, int width, int freq_khz, int ddr)
|
||||||
{
|
{
|
||||||
sdmmc_card_t card;
|
sdmmc_card_t card;
|
||||||
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr);
|
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr, IS_EMMC);
|
||||||
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
||||||
sdmmc_card_print_info(stdout, &card);
|
sdmmc_card_print_info(stdout, &card);
|
||||||
test_discard_blocks(&card, slot);
|
test_discard_blocks(&card, slot);
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
static void do_one_sdmmc_erase_test(int slot, int width, int freq_khz, int ddr)
|
static void do_one_sdmmc_erase_test(int slot, int width, int freq_khz, int ddr)
|
||||||
{
|
{
|
||||||
sdmmc_card_t card;
|
sdmmc_card_t card;
|
||||||
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr);
|
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr, NO_EMMC);
|
||||||
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
||||||
sdmmc_card_print_info(stdout, &card);
|
sdmmc_card_print_info(stdout, &card);
|
||||||
sdmmc_test_sd_erase_blocks(&card);
|
sdmmc_test_sd_erase_blocks(&card);
|
||||||
|
@@ -13,7 +13,7 @@
|
|||||||
static void do_one_sdmmc_probe_test(int slot, int width, int freq_khz, int ddr)
|
static void do_one_sdmmc_probe_test(int slot, int width, int freq_khz, int ddr)
|
||||||
{
|
{
|
||||||
sdmmc_card_t card;
|
sdmmc_card_t card;
|
||||||
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr);
|
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr, NO_EMMC);
|
||||||
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
||||||
sdmmc_card_print_info(stdout, &card);
|
sdmmc_card_print_info(stdout, &card);
|
||||||
uint8_t* buffer = heap_caps_calloc(512, 1, MALLOC_CAP_DMA);
|
uint8_t* buffer = heap_caps_calloc(512, 1, MALLOC_CAP_DMA);
|
||||||
|
@@ -15,7 +15,7 @@
|
|||||||
static void do_one_sdmmc_perf_test(int slot, int width, int freq_khz, int ddr, FILE* perf_log)
|
static void do_one_sdmmc_perf_test(int slot, int width, int freq_khz, int ddr, FILE* perf_log)
|
||||||
{
|
{
|
||||||
sdmmc_card_t card;
|
sdmmc_card_t card;
|
||||||
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr);
|
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr, NO_EMMC);
|
||||||
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
||||||
sdmmc_card_print_info(stdout, &card);
|
sdmmc_card_print_info(stdout, &card);
|
||||||
sdmmc_test_rw_performance(&card, perf_log);
|
sdmmc_test_rw_performance(&card, perf_log);
|
||||||
@@ -68,7 +68,7 @@ TEST_CASE("sdmmc read/write performance, slot 1, 4-bit DDR", "[sdmmc]")
|
|||||||
static void do_one_sdmmc_rw_test_with_offset(int slot, int width, int freq_khz, int ddr)
|
static void do_one_sdmmc_rw_test_with_offset(int slot, int width, int freq_khz, int ddr)
|
||||||
{
|
{
|
||||||
sdmmc_card_t card;
|
sdmmc_card_t card;
|
||||||
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr);
|
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr, NO_EMMC);
|
||||||
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
||||||
sdmmc_card_print_info(stdout, &card);
|
sdmmc_card_print_info(stdout, &card);
|
||||||
sdmmc_test_rw_with_offset(&card);
|
sdmmc_test_rw_with_offset(&card);
|
||||||
@@ -90,7 +90,7 @@ TEST_CASE("sdmmc read/write performance with offset, slot 1, 4-bit", "[sdmmc]")
|
|||||||
static void do_one_sdmmc_rw_test_unaligned_buffer(int slot, int width, int freq_khz, int ddr)
|
static void do_one_sdmmc_rw_test_unaligned_buffer(int slot, int width, int freq_khz, int ddr)
|
||||||
{
|
{
|
||||||
sdmmc_card_t card;
|
sdmmc_card_t card;
|
||||||
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr);
|
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr, NO_EMMC);
|
||||||
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
||||||
sdmmc_card_print_info(stdout, &card);
|
sdmmc_card_print_info(stdout, &card);
|
||||||
sdmmc_test_rw_unaligned_buffer(&card);
|
sdmmc_test_rw_unaligned_buffer(&card);
|
||||||
|
@@ -35,7 +35,7 @@ static void test_mmc_sanitize_blocks(sdmmc_card_t* card)
|
|||||||
static void do_one_mmc_sanitize_test(int slot, int width, int freq_khz, int ddr)
|
static void do_one_mmc_sanitize_test(int slot, int width, int freq_khz, int ddr)
|
||||||
{
|
{
|
||||||
sdmmc_card_t card;
|
sdmmc_card_t card;
|
||||||
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr);
|
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr, IS_EMMC);
|
||||||
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
||||||
sdmmc_card_print_info(stdout, &card);
|
sdmmc_card_print_info(stdout, &card);
|
||||||
test_mmc_sanitize_blocks(&card);
|
test_mmc_sanitize_blocks(&card);
|
||||||
|
@@ -33,7 +33,7 @@ static void test_mmc_trim_blocks(sdmmc_card_t* card)
|
|||||||
static void do_one_mmc_trim_test(int slot, int width, int freq_khz, int ddr)
|
static void do_one_mmc_trim_test(int slot, int width, int freq_khz, int ddr)
|
||||||
{
|
{
|
||||||
sdmmc_card_t card;
|
sdmmc_card_t card;
|
||||||
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr);
|
sdmmc_test_sd_skip_if_board_incompatible(slot, width, freq_khz, ddr, IS_EMMC);
|
||||||
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
sdmmc_test_sd_begin(slot, width, freq_khz, ddr, &card);
|
||||||
sdmmc_card_print_info(stdout, &card);
|
sdmmc_card_print_info(stdout, &card);
|
||||||
test_mmc_trim_blocks(&card);
|
test_mmc_trim_blocks(&card);
|
||||||
|
@@ -3,4 +3,3 @@ CONFIG_SDMMC_BOARD_ESP32P4_EV_BOARD=y
|
|||||||
CONFIG_SPIRAM=y
|
CONFIG_SPIRAM=y
|
||||||
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
CONFIG_IDF_EXPERIMENTAL_FEATURES=y
|
||||||
CONFIG_SPIRAM_SPEED_200M=y
|
CONFIG_SPIRAM_SPEED_200M=y
|
||||||
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
|
|
||||||
|
@@ -1,2 +1 @@
|
|||||||
CONFIG_SDMMC_BOARD_ESP32P4_EV_BOARD_WITH_SDSPI=y
|
CONFIG_SDMMC_BOARD_ESP32P4_EV_BOARD_WITH_SDSPI=y
|
||||||
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
|
|
||||||
|
@@ -1 +0,0 @@
|
|||||||
CONFIG_ESP_CONSOLE_USB_SERIAL_JTAG=y
|
|
Reference in New Issue
Block a user