fix(spi_flash): Cleanup jira tickets

This commit is contained in:
C.S.M
2025-12-12 15:39:11 +08:00
parent e3eaee53e2
commit 07519fac25
17 changed files with 48 additions and 62 deletions

View File

@@ -21,8 +21,6 @@
extern "C" {
#endif
// TODO: [ESP32C5] IDF-8715
#define spi_flash_ll_calculate_clock_reg(host_id, clock_div) (((host_id)<=SPI1_HOST) ? spimem_flash_ll_calculate_clock_reg(clock_div) \
: gpspi_flash_ll_calculate_clock_reg(clock_div))

View File

@@ -14,8 +14,6 @@
#pragma once
// TODO: [ESP32C61] IDF-9314, inherit from c6
#include "gpspi_flash_ll.h"
#include "spimem_flash_ll.h"

View File

@@ -23,7 +23,7 @@
#include <string.h>
#include "hal/misc.h"
//TODO: [ESP32H4] IDF-12388 inherited from verification branch, need check
//TODO: [ESP32H4] IDF-12389 inherited from verification branch, need check
#ifdef __cplusplus
extern "C" {

View File

@@ -26,8 +26,6 @@
#include "hal/misc.h"
#include "hal/assert.h"
//TODO: [ESP32H4] IDF-12390 inherited from verification branch, need check
#ifdef __cplusplus
extern "C" {
#endif

View File

@@ -17,8 +17,6 @@
#include "gpspi_flash_ll.h"
#include "spimem_flash_ll.h"
//TODO: [ESP32H4] IDF-12388 inherited from verification branch, need check
#ifdef __cplusplus
extern "C" {
#endif

View File

@@ -37,8 +37,6 @@
extern "C" {
#endif
//TODO: IDF-7499
#define spimem_flash_ll_get_hw(host_id) (((host_id)==SPI1_HOST ? &SPIMEM1 : NULL ))
#define spimem_flash_ll_hw_get_id(dev) ((dev) == (void*)&SPIMEM1? SPI1_HOST: -1)

View File

@@ -67,7 +67,7 @@ uint32_t *freq_value)
void esp_clk_tree_initialize(void)
{
// // TODO: IDF-12388
// // TODO: IDF-14962
// // // In bootloader, flash clock source will always be switched to use XTAL_X2 clock
// // s_xtal_x2_ref_cnt++;
// if (clk_ll_cpu_get_src() == SOC_CPU_CLK_SRC_XTAL_X2) {

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2015-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2015-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -19,7 +19,7 @@
*/
static bool s_wifi_adc_xpd_flag;
#if CONFIG_SOC_TEMP_SENSOR_SUPPORTED // TODO: [ESP32C5] IDF-8727 remove me when fix IDF-8727
#if CONFIG_SOC_TEMP_SENSOR_SUPPORTED
static bool s_wifi_pwdet_xpd_flag;
static bool s_wifi_tsens_xpd_flag;
#endif
@@ -60,7 +60,7 @@ IRAM_ATTR void phy_i2c_exit_critical(void)
void phy_set_pwdet_power(bool en)
{
#if CONFIG_SOC_TEMP_SENSOR_SUPPORTED // TODO: [ESP32C5] IDF-8727 remove me when fix IDF-8727
#if CONFIG_SOC_TEMP_SENSOR_SUPPORTED
if (s_wifi_pwdet_xpd_flag == en) {
/* ignore repeated calls to phy_set_pwdet_power when the state is already correct */
return;
@@ -77,7 +77,7 @@ void phy_set_pwdet_power(bool en)
void IRAM_ATTR phy_set_tsens_power(bool en)
{
#if CONFIG_SOC_TEMP_SENSOR_SUPPORTED // TODO: [ESP32C5] IDF-8727 remove me when fix IDF-8727
#if CONFIG_SOC_TEMP_SENSOR_SUPPORTED
if (s_wifi_tsens_xpd_flag == en) {
/* ignore repeated calls to phy_set_tsens_power when the state is already correct */
return;
@@ -94,7 +94,7 @@ void IRAM_ATTR phy_set_tsens_power(bool en)
int16_t phy_get_tsens_value(void)
{
#if CONFIG_SOC_TEMP_SENSOR_SUPPORTED // TODO: [ESP32C5] IDF-8727 remove me when fix IDF-8727
#if CONFIG_SOC_TEMP_SENSOR_SUPPORTED
return temp_sensor_get_raw_value(NULL);
#else
return 0;

View File

@@ -11,8 +11,6 @@
#include "esp_attr.h"
#include "esp_rom_spiflash.h"
//TODO: [ESP32H21] IDF-11609
#ifdef __cplusplus
extern "C" {
#endif

View File

@@ -15,8 +15,6 @@
extern "C" {
#endif
//TODO: [ESP32H4] IDF-12388 inherit from verification branch, need check
#define PERIPHS_SPI_FLASH_CMD SPI_MEM_CMD_REG(1)
#define PERIPHS_SPI_FLASH_ADDR SPI_MEM_ADDR_REG(1)
#define PERIPHS_SPI_FLASH_CTRL SPI_MEM_CTRL_REG(1)

View File

@@ -81,7 +81,7 @@
#define SOC_ASSIST_DEBUG_SUPPORTED 1
#define SOC_WDT_SUPPORTED 1
#define SOC_SDIO_SLAVE_SUPPORTED 1
#define SOC_SPI_FLASH_SUPPORTED 1 // TODO: [ESP32C5] IDF-8715
#define SOC_SPI_FLASH_SUPPORTED 1
#define SOC_ECDSA_SUPPORTED 1
#define SOC_RNG_SUPPORTED 1
#define SOC_KEY_MANAGER_SUPPORTED 1

View File

@@ -59,7 +59,7 @@
#define SOC_CLK_TREE_SUPPORTED 1
#define SOC_ASSIST_DEBUG_SUPPORTED 1
#define SOC_WDT_SUPPORTED 1
#define SOC_SPI_FLASH_SUPPORTED 1 //TODO: [ESP32C61] IDF-9314
#define SOC_SPI_FLASH_SUPPORTED 1
// \#define SOC_RNG_SUPPORTED 1 //TODO: [ESP32C61] IDF-9236
#define SOC_MODEM_CLOCK_SUPPORTED 1
#define SOC_REG_I2C_SUPPORTED 1

View File

@@ -88,7 +88,7 @@
#define SOC_CLK_TREE_SUPPORTED 1
// #define SOC_ASSIST_DEBUG_SUPPORTED 1 // TODO: [ESP32H4] IDF-12310
#define SOC_WDT_SUPPORTED 1
#define SOC_SPI_FLASH_SUPPORTED 1 // TODO: [ESP32H4] IDF-12388
#define SOC_SPI_FLASH_SUPPORTED 1
#define SOC_SPIRAM_SUPPORTED 1
#define SOC_LIGHT_SLEEP_SUPPORTED 1
#define SOC_DEEP_SLEEP_SUPPORTED 1

View File

@@ -2,9 +2,9 @@
components/spi_flash/test_apps/esp_flash:
disable:
- if: IDF_TARGET in ["esp32h21", "esp32h4", "esp32s31"]
- if: IDF_TARGET in ["esp32s31"]
temporary: true
reason: not support yet # TODO: [esp32h21] IDF-11609 [ESP32H4] IDF-12388 TODO: [esp32s31] IDF-14777
reason: not support yet # TODO: TODO: [esp32s31] IDF-14777
depends_filepatterns:
- components/bootloader_support/bootloader_flash/**/*
depends_components:
@@ -26,9 +26,9 @@ components/spi_flash/test_apps/esp_flash_blockdev:
components/spi_flash/test_apps/esp_flash_stress:
disable:
- if: IDF_TARGET in ["esp32h4", "esp32s31"]
- if: IDF_TARGET in ["esp32s31"]
temporary: true
reason: not support yet # TODO: [ESP32H4] IDF-12388 [ESP32S31] IDF-14777
reason: not support yet # TODO: [ESP32S31] IDF-14777
depends_components:
- esp_mm
- spi_flash
@@ -38,7 +38,7 @@ components/spi_flash/test_apps/flash_encryption:
disable:
- if: IDF_TARGET in ["esp32h4", "esp32s31"]
temporary: true
reason: not support yet # TODO: [ESP32H4] IDF-12388 [ESP32S31] IDF-14628
reason: not support yet # TODO: [ESP32H4] IDF-12261 [ESP32S31] IDF-14628
disable_test:
- if: IDF_TARGET in ["esp32c2", "esp32s2", "esp32c6", "esp32h2", "esp32p4", "esp32c5", "esp32c61", "esp32h21", "esp32h4"]
temporary: true

View File

@@ -1,2 +1,2 @@
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | -------- |
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |

View File

@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2023 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2023-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Unlicense OR CC0-1.0
*/
@@ -125,41 +125,41 @@ TEST_CASE("flash write and erase work both on PRO CPU and on APP CPU", "[spi_fla
#if !TEMPORARY_DISABLED_FOR_TARGETS(ESP32, ESP32S2, ESP32S3, ESP32C3, ESP32P4)
#if CONFIG_FREERTOS_NUMBER_OF_CORES > 1
typedef struct {
QueueHandle_t queue;
volatile bool done;
} deadlock_test_arg_t;
static void producer_task(void* varg)
{
int dummy = 0;
deadlock_test_arg_t* arg = (deadlock_test_arg_t*) varg;
while (!arg->done) {
xQueueSend(arg->queue, &dummy, 0);
vTaskDelay(1);
}
vTaskDelete(NULL);
}
static void consumer_task(void* varg)
{
int dummy;
deadlock_test_arg_t* arg = (deadlock_test_arg_t*) varg;
while (!arg->done) {
if (xQueueReceive(arg->queue, &dummy, 0) == pdTRUE) {
vTaskDelay(1);
}
}
vTaskDelete(NULL);
}
TEST_CASE("spi_flash deadlock with high priority busy-waiting task", "[spi_flash][esp_flash]")
{
typedef struct {
QueueHandle_t queue;
volatile bool done;
} deadlock_test_arg_t;
/* Create two tasks: high-priority consumer on CPU0, low-priority producer on CPU1.
* Consumer polls the queue until it gets some data, then yields.
* Run flash operation on CPU0. Check that when IPC1 task blocks out the producer,
* the task which does flash operation does not get blocked by the consumer.
*/
void producer_task(void* varg)
{
int dummy = 0;
deadlock_test_arg_t* arg = (deadlock_test_arg_t*) varg;
while (!arg->done) {
xQueueSend(arg->queue, &dummy, 0);
vTaskDelay(1);
}
vTaskDelete(NULL);
}
void consumer_task(void* varg)
{
int dummy;
deadlock_test_arg_t* arg = (deadlock_test_arg_t*) varg;
while (!arg->done) {
if (xQueueReceive(arg->queue, &dummy, 0) == pdTRUE) {
vTaskDelay(1);
}
}
vTaskDelete(NULL);
}
deadlock_test_arg_t arg = {
.queue = xQueueCreate(32, sizeof(int)),
.done = false

View File

@@ -1,2 +1,2 @@
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- |
| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-H2 | ESP32-H21 | ESP32-H4 | ESP32-P4 | ESP32-S2 | ESP32-S3 |
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |