mirror of
https://github.com/espressif/esp-idf.git
synced 2026-08-18 06:35:35 +03:00
fix(spi_flash): Cleanup jira tickets
This commit is contained in:
@@ -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))
|
||||
|
||||
|
||||
@@ -14,8 +14,6 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
// TODO: [ESP32C61] IDF-9314, inherit from c6
|
||||
|
||||
#include "gpspi_flash_ll.h"
|
||||
#include "spimem_flash_ll.h"
|
||||
|
||||
|
||||
@@ -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" {
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -11,8 +11,6 @@
|
||||
#include "esp_attr.h"
|
||||
#include "esp_rom_spiflash.h"
|
||||
|
||||
//TODO: [ESP32H21] IDF-11609
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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 |
|
||||
| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | --------- | -------- | -------- | -------- | -------- |
|
||||
|
||||
Reference in New Issue
Block a user