Skip to content

Commit 1d21c0e

Browse files
committed
IDF release/v5.1 2004bf4e11
1 parent d9924b3 commit 1d21c0e

File tree

1,115 files changed

+47594
-47252
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,115 files changed

+47594
-47252
lines changed

esp32/bin/bootloader_dio_40m.elf

688 Bytes
Binary file not shown.

esp32/bin/bootloader_dio_80m.elf

688 Bytes
Binary file not shown.

esp32/bin/bootloader_dout_40m.elf

688 Bytes
Binary file not shown.

esp32/bin/bootloader_dout_80m.elf

688 Bytes
Binary file not shown.

esp32/bin/bootloader_qio_40m.elf

688 Bytes
Binary file not shown.

esp32/bin/bootloader_qio_80m.elf

688 Bytes
Binary file not shown.

esp32/bin/bootloader_qout_40m.elf

688 Bytes
Binary file not shown.

esp32/bin/bootloader_qout_80m.elf

688 Bytes
Binary file not shown.

esp32/dio_qspi/include/sdkconfig.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@
208208
#define CONFIG_SOC_BLE_SUPPORTED 1
209209
#define CONFIG_SOC_BLE_MESH_SUPPORTED 1
210210
#define CONFIG_SOC_BT_CLASSIC_SUPPORTED 1
211+
#define CONFIG_SOC_ULP_HAS_ADC 1
211212
#define CONFIG_IDF_CMAKE 1
212213
#define CONFIG_IDF_TARGET_ARCH_XTENSA 1
213214
#define CONFIG_IDF_TARGET_ARCH "xtensa"
@@ -641,6 +642,8 @@
641642
#define CONFIG_HAL_DEFAULT_ASSERTION_LEVEL 2
642643
#define CONFIG_HEAP_POISONING_LIGHT 1
643644
#define CONFIG_HEAP_TRACING_OFF 1
645+
#define CONFIG_IEEE802154_CCA_THRESHOLD -60
646+
#define CONFIG_IEEE802154_PENDING_TABLE_SIZE 20
644647
#define CONFIG_LOG_DEFAULT_LEVEL_ERROR 1
645648
#define CONFIG_LOG_DEFAULT_LEVEL 1
646649
#define CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT 1
@@ -715,6 +718,7 @@
715718
#define CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC 1
716719
#define CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN 16384
717720
#define CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE 1
721+
#define CONFIG_MBEDTLS_PKCS7_C 1
718722
#define CONFIG_MBEDTLS_CERTIFICATE_BUNDLE 1
719723
#define CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL 1
720724
#define CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS 200
@@ -1079,5 +1083,5 @@
10791083
#define CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
10801084
#define CONFIG_WPA_MBEDTLS_CRYPTO CONFIG_ESP_WIFI_MBEDTLS_CRYPTO
10811085
#define CONFIG_WPA_MBEDTLS_TLS_CLIENT CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT
1082-
#define CONFIG_ARDUINO_IDF_COMMIT "420ebd208a"
1086+
#define CONFIG_ARDUINO_IDF_COMMIT "2004bf4e11"
10831087
#define CONFIG_ARDUINO_IDF_BRANCH "release/v5.1"

esp32/dio_qspi/libspi_flash.a

-4 Bytes
Binary file not shown.

esp32/dout_qspi/include/sdkconfig.h

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,6 +208,7 @@
208208
#define CONFIG_SOC_BLE_SUPPORTED 1
209209
#define CONFIG_SOC_BLE_MESH_SUPPORTED 1
210210
#define CONFIG_SOC_BT_CLASSIC_SUPPORTED 1
211+
#define CONFIG_SOC_ULP_HAS_ADC 1
211212
#define CONFIG_IDF_CMAKE 1
212213
#define CONFIG_IDF_TARGET_ARCH_XTENSA 1
213214
#define CONFIG_IDF_TARGET_ARCH "xtensa"
@@ -641,6 +642,8 @@
641642
#define CONFIG_HAL_DEFAULT_ASSERTION_LEVEL 2
642643
#define CONFIG_HEAP_POISONING_LIGHT 1
643644
#define CONFIG_HEAP_TRACING_OFF 1
645+
#define CONFIG_IEEE802154_CCA_THRESHOLD -60
646+
#define CONFIG_IEEE802154_PENDING_TABLE_SIZE 20
644647
#define CONFIG_LOG_DEFAULT_LEVEL_ERROR 1
645648
#define CONFIG_LOG_DEFAULT_LEVEL 1
646649
#define CONFIG_LOG_MAXIMUM_EQUALS_DEFAULT 1
@@ -715,6 +718,7 @@
715718
#define CONFIG_MBEDTLS_INTERNAL_MEM_ALLOC 1
716719
#define CONFIG_MBEDTLS_SSL_MAX_CONTENT_LEN 16384
717720
#define CONFIG_MBEDTLS_SSL_KEEP_PEER_CERTIFICATE 1
721+
#define CONFIG_MBEDTLS_PKCS7_C 1
718722
#define CONFIG_MBEDTLS_CERTIFICATE_BUNDLE 1
719723
#define CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_DEFAULT_FULL 1
720724
#define CONFIG_MBEDTLS_CERTIFICATE_BUNDLE_MAX_CERTS 200
@@ -1079,5 +1083,5 @@
10791083
#define CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
10801084
#define CONFIG_WPA_MBEDTLS_CRYPTO CONFIG_ESP_WIFI_MBEDTLS_CRYPTO
10811085
#define CONFIG_WPA_MBEDTLS_TLS_CLIENT CONFIG_ESP_WIFI_MBEDTLS_TLS_CLIENT
1082-
#define CONFIG_ARDUINO_IDF_COMMIT "420ebd208a"
1086+
#define CONFIG_ARDUINO_IDF_COMMIT "2004bf4e11"
10831087
#define CONFIG_ARDUINO_IDF_BRANCH "release/v5.1"

esp32/dout_qspi/libspi_flash.a

-4 Bytes
Binary file not shown.

esp32/flags/defines

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
-DESP_PLATFORM -DIDF_VER=\"v5.1-dev-4528-g420ebd208a\" -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DUNITY_INCLUDE_CONFIG_H -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1
1+
-DESP_PLATFORM -DIDF_VER=\"v5.1-dev-4708-g2004bf4e11\" -DMBEDTLS_CONFIG_FILE=\"mbedtls/esp_config.h\" -DSOC_MMU_PAGE_SIZE=CONFIG_MMU_PAGE_SIZE -DUNITY_INCLUDE_CONFIG_H -D_GNU_SOURCE -D_POSIX_READER_WRITER_LOCKS -DconfigENABLE_FREERTOS_DEBUG_OCDAWARE=1

esp32/include/app_update/include/esp_ota_ops.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -334,7 +334,7 @@ typedef enum {
334334
/**
335335
* @brief Revokes the old signature digest. To be called in the application after the rollback logic.
336336
*
337-
* Relevant for Secure boot v2 on ESP32-S2, ESP32-S3, ESP32-C3, ESP32-H4 where upto 3 key digests can be stored (Key \#N-1, Key \#N, Key \#N+1).
337+
* Relevant for Secure boot v2 on ESP32-S2, ESP32-S3, ESP32-C3, ESP32-C6, ESP32-H2 where upto 3 key digests can be stored (Key \#N-1, Key \#N, Key \#N+1).
338338
* When key \#N-1 used to sign an app is invalidated, an OTA update is to be sent with an app signed with key \#N-1 & Key \#N.
339339
* After successfully booting the OTA app should call this function to revoke Key \#N-1.
340340
*

esp32/include/bootloader_support/include/esp_app_format.h

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,6 @@ typedef enum {
1818
ESP_CHIP_ID_ESP32C3 = 0x0005, /*!< chip ID: ESP32-C3 */
1919
ESP_CHIP_ID_ESP32S3 = 0x0009, /*!< chip ID: ESP32-S3 */
2020
ESP_CHIP_ID_ESP32C2 = 0x000C, /*!< chip ID: ESP32-C2 */
21-
#if CONFIG_IDF_TARGET_ESP32H4_BETA_VERSION_2
22-
ESP_CHIP_ID_ESP32H4 = 0x000E, /*!< chip ID: ESP32-H4 Beta2*/ // ESP32H4-TODO: IDF-3475
23-
#elif CONFIG_IDF_TARGET_ESP32H4_BETA_VERSION_1
24-
ESP_CHIP_ID_ESP32H4 = 0x000A, /*!< chip ID: ESP32-H4 Beta1 */
25-
#endif
2621
ESP_CHIP_ID_ESP32C6 = 0x000D, /*!< chip ID: ESP32-C6 */
2722
ESP_CHIP_ID_INVALID = 0xFFFF /*!< Invalid chip ID (we defined it to make sure the esp_chip_id_t is 2 bytes size) */
2823
} __attribute__((packed)) esp_chip_id_t;

esp32/include/bt/host/bluedroid/api/include/api/esp_gap_ble_api.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -650,6 +650,7 @@ typedef enum {
650650
typedef enum{
651651
ESP_BLE_WHITELIST_REMOVE = 0X00, /*!< remove mac from whitelist */
652652
ESP_BLE_WHITELIST_ADD = 0X01, /*!< add address to whitelist */
653+
ESP_BLE_WHITELIST_CLEAR = 0x02, /*!< clear all device in whitelist */
653654
} esp_ble_wl_operation_t;
654655
#if (BLE_42_FEATURE_SUPPORT == TRUE)
655656
typedef enum {

esp32/include/driver/deprecated/driver/adc_types_legacy.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ typedef enum {
6161
ADC1_CHANNEL_9, /*!< ADC1 channel 9 is GPIO10 */
6262
ADC1_CHANNEL_MAX,
6363
} adc1_channel_t;
64-
#elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32H4
64+
#elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C2
6565
typedef enum {
6666
ADC1_CHANNEL_0 = 0, /*!< ADC1 channel 0 is GPIO0 */
6767
ADC1_CHANNEL_1, /*!< ADC1 channel 1 is GPIO1 */
@@ -97,7 +97,7 @@ typedef enum {
9797
ADC2_CHANNEL_9, /*!< ADC2 channel 9 is GPIO26 (ESP32), GPIO20 (ESP32-S2) */
9898
ADC2_CHANNEL_MAX,
9999
} adc2_channel_t;
100-
#elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C2 || CONFIG_IDF_TARGET_ESP32H4
100+
#elif CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32C2
101101
// ESP32C6 has no ADC2
102102
typedef enum {
103103
ADC2_CHANNEL_0 = 0, /*!< ADC2 channel 0 is GPIO5 */

esp32/include/driver/rmt/include/driver/rmt_encoder.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ typedef struct rmt_encoder_t rmt_encoder_t;
2323
* @brief RMT encoding state
2424
*/
2525
typedef enum {
26+
RMT_ENCODING_RESET = 0, /*!< The encoding session is in reset state */
2627
RMT_ENCODING_COMPLETE = (1 << 0), /*!< The encoding session is finished, the caller can continue with subsequent encoding */
2728
RMT_ENCODING_MEM_FULL = (1 << 1), /*!< The encoding artifact memory is full, the caller should return from current encoding session */
2829
} rmt_encode_state_t;

esp32/include/esp-tls/esp_tls.h

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -502,6 +502,42 @@ ssize_t esp_tls_get_bytes_avail(esp_tls_t *tls);
502502
*/
503503
esp_err_t esp_tls_get_conn_sockfd(esp_tls_t *tls, int *sockfd);
504504

505+
/**
506+
* @brief Sets the connection socket file descriptor for the esp_tls session
507+
*
508+
* @param[in] tls handle to esp_tls context
509+
*
510+
* @param[in] sockfd sockfd value to set.
511+
*
512+
* @return - ESP_OK on success and value of sockfd for the tls connection shall updated withthe provided value
513+
* - ESP_ERR_INVALID_ARG if (tls == NULL || sockfd < 0)
514+
*/
515+
esp_err_t esp_tls_set_conn_sockfd(esp_tls_t *tls, int sockfd);
516+
517+
/**
518+
* @brief Gets the connection state for the esp_tls session
519+
*
520+
* @param[in] tls handle to esp_tls context
521+
*
522+
* @param[out] conn_state pointer to the connection state value.
523+
*
524+
* @return - ESP_OK on success and value of sockfd for the tls connection shall updated withthe provided value
525+
* - ESP_ERR_INVALID_ARG (Invalid arguments)
526+
*/
527+
esp_err_t esp_tls_get_conn_state(esp_tls_t *tls, esp_tls_conn_state_t *conn_state);
528+
529+
/**
530+
* @brief Sets the connection state for the esp_tls session
531+
*
532+
* @param[in] tls handle to esp_tls context
533+
*
534+
* @param[in] conn_state connection state value to set.
535+
*
536+
* @return - ESP_OK on success and value of sockfd for the tls connection shall updated withthe provided value
537+
* - ESP_ERR_INVALID_ARG (Invalid arguments)
538+
*/
539+
esp_err_t esp_tls_set_conn_state(esp_tls_t *tls, esp_tls_conn_state_t conn_state);
540+
505541
/**
506542
* @brief Returns the ssl context
507543
*

esp32/include/esp32-camera/driver/include/esp_camera.h

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,12 @@
7272
#include "sys/time.h"
7373
#include "sdkconfig.h"
7474

75+
/**
76+
* @brief define for if chip supports camera
77+
*/
78+
#define ESP_CAMERA_SUPPORTED (CONFIG_IDF_TARGET_ESP32 | CONFIG_IDF_TARGET_ESP32S3 | \
79+
CONFIG_IDF_TARGET_ESP32S2)
80+
7581
#ifdef __cplusplus
7682
extern "C" {
7783
#endif
@@ -85,7 +91,7 @@ typedef enum {
8591
} camera_grab_mode_t;
8692

8793
/**
88-
* @brief Camera frame buffer location
94+
* @brief Camera frame buffer location
8995
*/
9096
typedef enum {
9197
CAMERA_FB_IN_PSRAM, /*!< Frame buffer is placed in external PSRAM */
@@ -99,7 +105,7 @@ typedef enum {
99105
typedef enum {
100106
CONV_DISABLE,
101107
RGB565_TO_YUV422,
102-
108+
103109
YUV422_TO_RGB565,
104110
YUV422_TO_YUV420
105111
} camera_conv_mode_t;
@@ -194,14 +200,14 @@ esp_err_t esp_camera_init(const camera_config_t* config);
194200
* - ESP_OK on success
195201
* - ESP_ERR_INVALID_STATE if the driver hasn't been initialized yet
196202
*/
197-
esp_err_t esp_camera_deinit();
203+
esp_err_t esp_camera_deinit(void);
198204

199205
/**
200206
* @brief Obtain pointer to a frame buffer.
201207
*
202208
* @return pointer to the frame buffer
203209
*/
204-
camera_fb_t* esp_camera_fb_get();
210+
camera_fb_t* esp_camera_fb_get(void);
205211

206212
/**
207213
* @brief Return the frame buffer to be reused again.
@@ -215,22 +221,28 @@ void esp_camera_fb_return(camera_fb_t * fb);
215221
*
216222
* @return pointer to the sensor
217223
*/
218-
sensor_t * esp_camera_sensor_get();
224+
sensor_t * esp_camera_sensor_get(void);
219225

220226
/**
221227
* @brief Save camera settings to non-volatile-storage (NVS)
222-
*
223-
* @param key A unique nvs key name for the camera settings
228+
*
229+
* @param key A unique nvs key name for the camera settings
224230
*/
225231
esp_err_t esp_camera_save_to_nvs(const char *key);
226232

227233
/**
228234
* @brief Load camera settings from non-volatile-storage (NVS)
229-
*
230-
* @param key A unique nvs key name for the camera settings
235+
*
236+
* @param key A unique nvs key name for the camera settings
231237
*/
232238
esp_err_t esp_camera_load_from_nvs(const char *key);
233239

240+
/**
241+
* @brief Return all frame buffers to be reused again.
242+
*/
243+
void esp_camera_return_all(void);
244+
245+
234246
#ifdef __cplusplus
235247
}
236248
#endif

esp32/include/esp_hw_support/include/esp_chip_info.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@ typedef enum {
2424
CHIP_ESP32S2 = 2, //!< ESP32-S2
2525
CHIP_ESP32S3 = 9, //!< ESP32-S3
2626
CHIP_ESP32C3 = 5, //!< ESP32-C3
27-
CHIP_ESP32H4 = 6, //!< ESP32-H4
2827
CHIP_ESP32C2 = 12, //!< ESP32-C2
2928
CHIP_ESP32C6 = 13, //!< ESP32-C6
3029
CHIP_ESP32H2 = 16, //!< ESP32-H2

esp32/include/esp_hw_support/include/clk_tree.h renamed to esp32/include/esp_hw_support/include/esp_clk_tree.h

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,20 +14,20 @@ extern "C" {
1414
#endif
1515

1616
/**
17-
* @brief Degree of precision of frequency value to be returned by clk_tree_src_get_freq_hz()
17+
* @brief Degree of precision of frequency value to be returned by esp_clk_tree_src_get_freq_hz()
1818
*/
1919
typedef enum {
20-
CLK_TREE_SRC_FREQ_PRECISION_CACHED, /*< Get value from the data cached by the driver; If the data is 0, then a calibration will be performed */
21-
CLK_TREE_SRC_FREQ_PRECISION_APPROX, /*< Get its approxiamte frequency value */
22-
CLK_TREE_SRC_FREQ_PRECISION_EXACT, /*< Always perform a calibration */
23-
CLK_TREE_SRC_FREQ_PRECISION_INVALID, /*< Invalid degree of precision */
24-
} clk_tree_src_freq_precision_t;
20+
ESP_CLK_TREE_SRC_FREQ_PRECISION_CACHED, /*< Get value from the data cached by the driver; If the data is 0, then a calibration will be performed */
21+
ESP_CLK_TREE_SRC_FREQ_PRECISION_APPROX, /*< Get its approxiamte frequency value */
22+
ESP_CLK_TREE_SRC_FREQ_PRECISION_EXACT, /*< Always perform a calibration */
23+
ESP_CLK_TREE_SRC_FREQ_PRECISION_INVALID, /*< Invalid degree of precision */
24+
} esp_clk_tree_src_freq_precision_t;
2525

2626
/**
2727
* @brief Get frequency of module clock source
2828
*
2929
* @param[in] clk_src Clock source available to modules, in soc_module_clk_t
30-
* @param[in] precision Degree of precision, one of clk_tree_src_freq_precision_t values
30+
* @param[in] precision Degree of precision, one of esp_clk_tree_src_freq_precision_t values
3131
* This arg only applies to the clock sources that their frequencies can vary:
3232
* SOC_MOD_CLK_RTC_FAST, SOC_MOD_CLK_RTC_SLOW, SOC_MOD_CLK_RC_FAST, SOC_MOD_CLK_RC_FAST_D256,
3333
* SOC_MOD_CLK_XTAL32K
@@ -39,7 +39,7 @@ typedef enum {
3939
* - ESP_ERR_INVALID_ARG Parameter error
4040
* - ESP_FAIL Calibration failed
4141
*/
42-
esp_err_t clk_tree_src_get_freq_hz(soc_module_clk_t clk_src, clk_tree_src_freq_precision_t precision,
42+
esp_err_t esp_clk_tree_src_get_freq_hz(soc_module_clk_t clk_src, esp_clk_tree_src_freq_precision_t precision,
4343
uint32_t *freq_value);
4444

4545
#ifdef __cplusplus

esp32/include/esp_hw_support/include/esp_mac.h

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,6 @@ typedef enum {
4040
#define UNIVERSAL_MAC_ADDR_NUM CONFIG_ESP32S3_UNIVERSAL_MAC_ADDRESSES
4141
#elif CONFIG_IDF_TARGET_ESP32C3
4242
#define UNIVERSAL_MAC_ADDR_NUM CONFIG_ESP32C3_UNIVERSAL_MAC_ADDRESSES
43-
#elif CONFIG_IDF_TARGET_ESP32H4
44-
#define UNIVERSAL_MAC_ADDR_NUM CONFIG_ESP32H4_UNIVERSAL_MAC_ADDRESSES
4543
#elif CONFIG_IDF_TARGET_ESP32C2
4644
#define UNIVERSAL_MAC_ADDR_NUM CONFIG_ESP32C2_UNIVERSAL_MAC_ADDRESSES
4745
#elif CONFIG_IDF_TARGET_ESP32C6

esp32/include/esp_hw_support/include/esp_memory_utils.h

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -256,6 +256,17 @@ inline static bool esp_ptr_internal(const void *p) {
256256
* additional check is required */
257257
r |= ((intptr_t)p >= SOC_RTC_DRAM_LOW && (intptr_t)p < SOC_RTC_DRAM_HIGH);
258258
#endif
259+
260+
#if CONFIG_ESP32S3_DATA_CACHE_16KB
261+
/* For ESP32-S3, when the DCACHE size is set to 16 kB, the unused 48 kB is
262+
* added to the heap in 2 blocks of 32 kB (from 0x3FCF0000) and 16 kB
263+
* (from 0x3C000000 (SOC_DROM_LOW) - 0x3C004000).
264+
* Though this memory lies in the external memory vaddr, it is no different
265+
* from the internal RAM in terms of hardware attributes and it is a part of
266+
* the internal RAM when added to the heap.*/
267+
r |= ((intptr_t)p >= SOC_DROM_LOW && (intptr_t)p < (SOC_DROM_LOW + 0x4000));
268+
#endif
269+
259270
return r;
260271
}
261272

@@ -277,7 +288,17 @@ bool esp_ptr_external_ram(const void *p);
277288
*/
278289
__attribute__((always_inline))
279290
inline static bool esp_ptr_in_drom(const void *p) {
280-
return ((intptr_t)p >= SOC_DROM_LOW && (intptr_t)p < SOC_DROM_HIGH);
291+
uint32_t drom_start_addr = SOC_DROM_LOW;
292+
#if CONFIG_ESP32S3_DATA_CACHE_16KB
293+
/* For ESP32-S3, when the DCACHE size is set to 16 kB, the unused 48 kB is
294+
* added to the heap in 2 blocks of 32 kB (from 0x3FCF0000) and 16 kB
295+
* (from 0x3C000000 (SOC_DROM_LOW) - 0x3C004000).
296+
* The drom_start_addr has to be moved by 0x4000 (16kB) to accomodate
297+
* this addition. */
298+
drom_start_addr += 0x4000;
299+
#endif
300+
301+
return ((intptr_t)p >= drom_start_addr && (intptr_t)p < SOC_DROM_HIGH);
281302
}
282303

283304
/**

0 commit comments

Comments
 (0)