From 20014ea97c5e531e07c037e309c6c8d3d1f23b46 Mon Sep 17 00:00:00 2001 From: armando Date: Fri, 7 Mar 2025 11:31:19 +0800 Subject: [PATCH 1/3] fix(cam): fixed cam iram safe build error --- components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c | 1 + components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c | 1 + components/esp_driver_cam/isp_dvp/src/esp_cam_ctlr_isp_dvp.c | 3 ++- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c b/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c index 36576cec25..7121fd744b 100644 --- a/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c +++ b/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c @@ -12,6 +12,7 @@ #include "esp_heap_caps.h" #include "freertos/FreeRTOS.h" #include "freertos/idf_additions.h" +#include "esp_memory_utils.h" #include "esp_clk_tree.h" #include "esp_cam_ctlr.h" #include "esp_cam_ctlr_csi.h" diff --git a/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c b/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c index 405d8f8cea..84ef907770 100644 --- a/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c +++ b/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c @@ -5,6 +5,7 @@ */ #include +#include "esp_memory_utils.h" #include "hal/gpio_ll.h" #include "hal/cam_ll.h" #include "hal/color_hal.h" diff --git a/components/esp_driver_cam/isp_dvp/src/esp_cam_ctlr_isp_dvp.c b/components/esp_driver_cam/isp_dvp/src/esp_cam_ctlr_isp_dvp.c index dc41abbb2c..a25524843f 100644 --- a/components/esp_driver_cam/isp_dvp/src/esp_cam_ctlr_isp_dvp.c +++ b/components/esp_driver_cam/isp_dvp/src/esp_cam_ctlr_isp_dvp.c @@ -11,6 +11,7 @@ #include "esp_heap_caps.h" #include "freertos/FreeRTOS.h" #include "freertos/idf_additions.h" +#include "esp_memory_utils.h" #include "driver/isp_types.h" #include "driver/gpio.h" #include "hal/isp_hal.h" @@ -261,7 +262,7 @@ static esp_err_t s_isp_dvp_register_event_callbacks(esp_cam_ctlr_handle_t handle isp_dvp_controller_t *dvp_ctlr = __containerof(handle, isp_dvp_controller_t, base); ESP_RETURN_ON_FALSE(dvp_ctlr->fsm == ISP_FSM_INIT, ESP_ERR_INVALID_STATE, TAG, "controller isn't in init state"); -#if CONFIG_CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE +#if CONFIG_CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE if (cbs->on_get_new_trans) { ESP_RETURN_ON_FALSE(esp_ptr_in_iram(cbs->on_get_new_trans), ESP_ERR_INVALID_ARG, TAG, "on_get_new_trans callback not in IRAM"); } From a446e784698b196f40d7fc6a6cb2d097d28ed88d Mon Sep 17 00:00:00 2001 From: armando Date: Fri, 7 Mar 2025 11:35:51 +0800 Subject: [PATCH 2/3] refactor(cam): rename IRAM-Safe to Cache-Safe --- components/esp_driver_cam/Kconfig | 18 +++++++++--------- .../esp_driver_cam/csi/src/esp_cam_ctlr_csi.c | 4 ++-- .../dvp/src/esp_cam_ctlr_dvp_cam.c | 4 ++-- .../isp_dvp/src/esp_cam_ctlr_isp_dvp.c | 4 ++-- components/esp_driver_cam/sdkconfig.rename | 6 ++++++ .../peripherals/camera_driver.rst | 8 ++++---- .../peripherals/camera_driver.rst | 8 ++++---- 7 files changed, 29 insertions(+), 23 deletions(-) create mode 100644 components/esp_driver_cam/sdkconfig.rename diff --git a/components/esp_driver_cam/Kconfig b/components/esp_driver_cam/Kconfig index ca1fac319a..e502c4dc39 100644 --- a/components/esp_driver_cam/Kconfig +++ b/components/esp_driver_cam/Kconfig @@ -2,8 +2,8 @@ menu "ESP-Driver:Camera Controller Configurations" depends on SOC_MIPI_CSI_SUPPORTED || SOC_LCDCAM_CAM_SUPPORTED - config CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE - bool "CSI ISR IRAM-Safe" + config CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE + bool "CSI ISR Cache-Safe" depends on SOC_MIPI_CSI_SUPPORTED default n select DW_GDMA_ISR_IRAM_SAFE @@ -11,22 +11,22 @@ menu "ESP-Driver:Camera Controller Configurations" select DW_GDMA_SETTER_FUNC_IN_IRAM select DW_GDMA_GETTER_FUNC_IN_IRAM help - Ensure the CSI driver ISR is IRAM-Safe. When enabled, the ISR handler + Ensure the CSI driver ISR is Cache-Safe. When enabled, the ISR handler will be available when the cache is disabled. - config CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE # IDF-10093 - bool "ISP_DVP ISR IRAM-Safe" + config CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE # IDF-10093 + bool "ISP_DVP ISR Cache-Safe" default n select DW_GDMA_ISR_IRAM_SAFE select DW_GDMA_CTRL_FUNC_IN_IRAM select DW_GDMA_SETTER_FUNC_IN_IRAM select DW_GDMA_GETTER_FUNC_IN_IRAM help - Ensure the ISP_DVP driver ISR is IRAM-Safe. When enabled, the ISR handler + Ensure the ISP_DVP driver ISR is Cache-Safe. When enabled, the ISR handler will be available when the cache is disabled. - config CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE - bool "DVP ISR IRAM-Safe" + config CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE + bool "DVP ISR Cache-Safe" depends on SOC_LCDCAM_CAM_SUPPORTED default n select DW_GDMA_ISR_IRAM_SAFE @@ -34,7 +34,7 @@ menu "ESP-Driver:Camera Controller Configurations" select DW_GDMA_SETTER_FUNC_IN_IRAM select DW_GDMA_GETTER_FUNC_IN_IRAM help - Ensure the DVP driver ISR is IRAM-Safe. When enabled, the ISR handler + Ensure the DVP driver ISR is Cache-Safe. When enabled, the ISR handler will be available when the cache is disabled. endmenu # ESP Camera Controller Configurations diff --git a/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c b/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c index 7121fd744b..3f6c2b56d4 100644 --- a/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c +++ b/components/esp_driver_cam/csi/src/esp_cam_ctlr_csi.c @@ -26,7 +26,7 @@ #include "esp_private/esp_clk_tree_common.h" #include "esp_cache.h" -#if CONFIG_CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE +#if CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE #define CSI_MEM_ALLOC_CAPS (MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT) #else #define CSI_MEM_ALLOC_CAPS MALLOC_CAP_DEFAULT @@ -376,7 +376,7 @@ esp_err_t s_register_event_callbacks(esp_cam_ctlr_handle_t handle, const esp_cam csi_controller_t *ctlr = __containerof(handle, csi_controller_t, base); ESP_RETURN_ON_FALSE(ctlr->csi_fsm == CSI_FSM_INIT, ESP_ERR_INVALID_STATE, TAG, "driver starts already, not allow cbs register"); -#if CONFIG_CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE +#if CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE if (cbs->on_get_new_trans) { ESP_RETURN_ON_FALSE(esp_ptr_in_iram(cbs->on_get_new_trans), ESP_ERR_INVALID_ARG, TAG, "on_get_new_trans callback not in IRAM"); } diff --git a/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c b/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c index 84ef907770..a3627d157d 100644 --- a/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c +++ b/components/esp_driver_cam/dvp/src/esp_cam_ctlr_dvp_cam.c @@ -25,7 +25,7 @@ #include "esp_private/esp_clk_tree_common.h" #include "../../dvp_share_ctrl.h" -#ifdef CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE +#ifdef CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE #define CAM_DVP_MEM_ALLOC_CAPS (MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT) #else #define CAM_DVP_MEM_ALLOC_CAPS (MALLOC_CAP_DEFAULT) @@ -576,7 +576,7 @@ static esp_err_t esp_cam_ctlr_dvp_cam_register_event_callbacks(esp_cam_ctlr_hand ESP_RETURN_ON_FALSE(cbs->on_trans_finished, ESP_ERR_INVALID_ARG, TAG, "invalid argument: on_trans_finished is null"); ESP_RETURN_ON_FALSE(cbs->on_get_new_trans || !ctlr->bk_buffer_dis, ESP_ERR_INVALID_ARG, TAG, "invalid argument: on_get_new_trans is null"); -#if CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE +#if CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE if (cbs->on_get_new_trans) { ESP_RETURN_ON_FALSE(esp_ptr_in_iram(cbs->on_get_new_trans), ESP_ERR_INVALID_ARG, TAG, "on_get_new_trans callback not in IRAM"); } diff --git a/components/esp_driver_cam/isp_dvp/src/esp_cam_ctlr_isp_dvp.c b/components/esp_driver_cam/isp_dvp/src/esp_cam_ctlr_isp_dvp.c index a25524843f..61fea881e2 100644 --- a/components/esp_driver_cam/isp_dvp/src/esp_cam_ctlr_isp_dvp.c +++ b/components/esp_driver_cam/isp_dvp/src/esp_cam_ctlr_isp_dvp.c @@ -31,7 +31,7 @@ #include "esp_cam_ctlr_isp_dvp.h" #include "../../dvp_share_ctrl.h" -#if CONFIG_CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE +#if CONFIG_CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE #define ISP_DVP_MEM_ALLOC_CAPS (MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT) #else #define ISP_DVP_MEM_ALLOC_CAPS MALLOC_CAP_DEFAULT @@ -262,7 +262,7 @@ static esp_err_t s_isp_dvp_register_event_callbacks(esp_cam_ctlr_handle_t handle isp_dvp_controller_t *dvp_ctlr = __containerof(handle, isp_dvp_controller_t, base); ESP_RETURN_ON_FALSE(dvp_ctlr->fsm == ISP_FSM_INIT, ESP_ERR_INVALID_STATE, TAG, "controller isn't in init state"); -#if CONFIG_CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE +#if CONFIG_CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE if (cbs->on_get_new_trans) { ESP_RETURN_ON_FALSE(esp_ptr_in_iram(cbs->on_get_new_trans), ESP_ERR_INVALID_ARG, TAG, "on_get_new_trans callback not in IRAM"); } diff --git a/components/esp_driver_cam/sdkconfig.rename b/components/esp_driver_cam/sdkconfig.rename new file mode 100644 index 0000000000..b6be2640b9 --- /dev/null +++ b/components/esp_driver_cam/sdkconfig.rename @@ -0,0 +1,6 @@ +# sdkconfig replacement configurations for deprecated options formatted as +# CONFIG_DEPRECATED_OPTION CONFIG_NEW_OPTION + +CONFIG_CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE +CONFIG_CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE CONFIG_CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE +CONFIG_CAM_CTLR_DVP_CAM_ISR_IRAM_SAFE CONFIG_CAM_CTLR_DVP_CAM_ISR_CACHE_SAFE diff --git a/docs/en/api-reference/peripherals/camera_driver.rst b/docs/en/api-reference/peripherals/camera_driver.rst index 450bd9c73b..501aae81ce 100644 --- a/docs/en/api-reference/peripherals/camera_driver.rst +++ b/docs/en/api-reference/peripherals/camera_driver.rst @@ -184,8 +184,8 @@ The following Kconfig options affect the behavior of the interrupt handler when .. list:: - :SOC_MIPI_CSI_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE`, see :ref:`cam-thread-safety` for more details. - :SOC_ISP_DVP_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE`, see :ref:`cam-thread-safety` for more details. + :SOC_MIPI_CSI_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE`, see :ref:`cam-thread-safety` for more details. + :SOC_ISP_DVP_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE`, see :ref:`cam-thread-safety` for more details. .. _cam-iram-safe: @@ -198,8 +198,8 @@ There are Kconfig options .. list:: - :SOC_MIPI_CSI_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE` - :SOC_ISP_DVP_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE` + :SOC_MIPI_CSI_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE` + :SOC_ISP_DVP_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE` that diff --git a/docs/zh_CN/api-reference/peripherals/camera_driver.rst b/docs/zh_CN/api-reference/peripherals/camera_driver.rst index 2c7d059e99..b518772f15 100644 --- a/docs/zh_CN/api-reference/peripherals/camera_driver.rst +++ b/docs/zh_CN/api-reference/peripherals/camera_driver.rst @@ -184,8 +184,8 @@ Kconfig 选项 .. list:: - :SOC_MIPI_CSI_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE`,详情请参阅 :ref:`cam-thread-safety`。 - :SOC_ISP_DVP_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE`,详情请参阅 :ref:`cam-thread-safety`。 + :SOC_MIPI_CSI_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE`,详情请参阅 :ref:`cam-thread-safety`。 + :SOC_ISP_DVP_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE`,详情请参阅 :ref:`cam-thread-safety`。 .. _cam-iram-safe: @@ -198,8 +198,8 @@ IRAM 安全 .. list:: - :SOC_MIPI_CSI_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_MIPI_CSI_ISR_IRAM_SAFE` - :SOC_ISP_DVP_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_ISP_DVP_ISR_IRAM_SAFE` + :SOC_MIPI_CSI_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE` + :SOC_ISP_DVP_SUPPORTED: - :ref:`CONFIG_CAM_CTLR_ISP_DVP_ISR_CACHE_SAFE` 这些选项支持 From b806496635dc008966c83cf29e9a27232406db8a Mon Sep 17 00:00:00 2001 From: armando Date: Fri, 7 Mar 2025 15:25:43 +0800 Subject: [PATCH 3/3] test(cam): added cache-safe build test --- .../esp_driver_cam/test_apps/csi/sdkconfig.ci.cache_safe | 1 + components/esp_driver_cam/test_apps/csi/sdkconfig.defaults | 5 ----- .../esp_driver_cam/test_apps/csi/sdkconfig.defaults.esp32p4 | 5 +++++ .../esp_driver_cam/test_apps/dvp/sdkconfig.ci.cache_safe | 1 + components/esp_driver_cam/test_apps/dvp/sdkconfig.defaults | 1 - .../esp_driver_cam/test_apps/dvp/sdkconfig.defaults.esp32p4 | 2 ++ .../esp_driver_cam/test_apps/isp_dvp/sdkconfig.ci.cache_safe | 1 + .../esp_driver_cam/test_apps/isp_dvp/sdkconfig.defaults | 4 ---- .../test_apps/isp_dvp/sdkconfig.defaults.esp32p4 | 5 +++++ 9 files changed, 15 insertions(+), 10 deletions(-) create mode 100644 components/esp_driver_cam/test_apps/csi/sdkconfig.ci.cache_safe create mode 100644 components/esp_driver_cam/test_apps/csi/sdkconfig.defaults.esp32p4 create mode 100644 components/esp_driver_cam/test_apps/dvp/sdkconfig.ci.cache_safe create mode 100644 components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.ci.cache_safe create mode 100644 components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.defaults.esp32p4 diff --git a/components/esp_driver_cam/test_apps/csi/sdkconfig.ci.cache_safe b/components/esp_driver_cam/test_apps/csi/sdkconfig.ci.cache_safe new file mode 100644 index 0000000000..6a7ded982f --- /dev/null +++ b/components/esp_driver_cam/test_apps/csi/sdkconfig.ci.cache_safe @@ -0,0 +1 @@ +CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE=y diff --git a/components/esp_driver_cam/test_apps/csi/sdkconfig.defaults b/components/esp_driver_cam/test_apps/csi/sdkconfig.defaults index 9ddee7c458..fa8ac618b9 100644 --- a/components/esp_driver_cam/test_apps/csi/sdkconfig.defaults +++ b/components/esp_driver_cam/test_apps/csi/sdkconfig.defaults @@ -1,7 +1,2 @@ CONFIG_FREERTOS_HZ=1000 CONFIG_ESP_TASK_WDT_EN=n - -CONFIG_SPIRAM=y -CONFIG_IDF_EXPERIMENTAL_FEATURES=y -CONFIG_SPIRAM_SPEED_200M=y -CONFIG_ESP_TASK_WDT_EN=n diff --git a/components/esp_driver_cam/test_apps/csi/sdkconfig.defaults.esp32p4 b/components/esp_driver_cam/test_apps/csi/sdkconfig.defaults.esp32p4 new file mode 100644 index 0000000000..1f374c18ed --- /dev/null +++ b/components/esp_driver_cam/test_apps/csi/sdkconfig.defaults.esp32p4 @@ -0,0 +1,5 @@ +CONFIG_IDF_TARGET="esp32p4" + +CONFIG_SPIRAM=y +CONFIG_IDF_EXPERIMENTAL_FEATURES=y +CONFIG_SPIRAM_SPEED_200M=y diff --git a/components/esp_driver_cam/test_apps/dvp/sdkconfig.ci.cache_safe b/components/esp_driver_cam/test_apps/dvp/sdkconfig.ci.cache_safe new file mode 100644 index 0000000000..6a7ded982f --- /dev/null +++ b/components/esp_driver_cam/test_apps/dvp/sdkconfig.ci.cache_safe @@ -0,0 +1 @@ +CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE=y diff --git a/components/esp_driver_cam/test_apps/dvp/sdkconfig.defaults b/components/esp_driver_cam/test_apps/dvp/sdkconfig.defaults index f02afdd3c6..eb6374a370 100644 --- a/components/esp_driver_cam/test_apps/dvp/sdkconfig.defaults +++ b/components/esp_driver_cam/test_apps/dvp/sdkconfig.defaults @@ -1,6 +1,5 @@ # This file was generated using idf.py save-defconfig. It can be edited manually. # Espressif IoT Development Framework (ESP-IDF) 5.4.0 Project Minimal Configuration # -CONFIG_SPIRAM=y CONFIG_ESP_TASK_WDT_EN=n CONFIG_FREERTOS_HZ=1000 diff --git a/components/esp_driver_cam/test_apps/dvp/sdkconfig.defaults.esp32p4 b/components/esp_driver_cam/test_apps/dvp/sdkconfig.defaults.esp32p4 index 5fca5fa080..71b716153f 100644 --- a/components/esp_driver_cam/test_apps/dvp/sdkconfig.defaults.esp32p4 +++ b/components/esp_driver_cam/test_apps/dvp/sdkconfig.defaults.esp32p4 @@ -1,3 +1,5 @@ CONFIG_IDF_TARGET="esp32p4" + +CONFIG_SPIRAM=y CONFIG_SPIRAM_SPEED_200M=y CONFIG_IDF_EXPERIMENTAL_FEATURES=y diff --git a/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.ci.cache_safe b/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.ci.cache_safe new file mode 100644 index 0000000000..6a7ded982f --- /dev/null +++ b/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.ci.cache_safe @@ -0,0 +1 @@ +CONFIG_CAM_CTLR_MIPI_CSI_ISR_CACHE_SAFE=y diff --git a/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.defaults b/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.defaults index 3f0207c5d6..fa8ac618b9 100644 --- a/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.defaults +++ b/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.defaults @@ -1,6 +1,2 @@ CONFIG_FREERTOS_HZ=1000 CONFIG_ESP_TASK_WDT_EN=n - -CONFIG_SPIRAM=y -CONFIG_IDF_EXPERIMENTAL_FEATURES=y -CONFIG_SPIRAM_SPEED_200M=y diff --git a/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.defaults.esp32p4 b/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.defaults.esp32p4 new file mode 100644 index 0000000000..1f374c18ed --- /dev/null +++ b/components/esp_driver_cam/test_apps/isp_dvp/sdkconfig.defaults.esp32p4 @@ -0,0 +1,5 @@ +CONFIG_IDF_TARGET="esp32p4" + +CONFIG_SPIRAM=y +CONFIG_IDF_EXPERIMENTAL_FEATURES=y +CONFIG_SPIRAM_SPEED_200M=y