Skip to content

Commit a5002c8

Browse files
authored
IDF release/v4.4 ddc44956bf (#5911)
esp-dsp: master 6b25cbb esp-face: master 859f32a esp-rainmaker: f1b82c7 esp32-camera: master 61400bc esp_littlefs: master 3c29afc
1 parent c9916c4 commit a5002c8

File tree

319 files changed

+3547
-716
lines changed

Some content is hidden

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

319 files changed

+3547
-716
lines changed

Diff for: platform.txt

+6-6
Large diffs are not rendered by default.

Diff for: tools/platformio-build-esp32.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -100,6 +100,7 @@
100100
"-u", "pthread_include_pthread_impl",
101101
"-u", "pthread_include_pthread_cond_impl",
102102
"-u", "pthread_include_pthread_local_storage_impl",
103+
"-u", "pthread_include_pthread_rwlock_impl",
103104
"-u", "ld_include_highint_hdl",
104105
"-u", "start_app",
105106
"-u", "start_app_other_cores",
@@ -303,8 +304,9 @@
303304
"UNITY_INCLUDE_CONFIG_H",
304305
"WITH_POSIX",
305306
"_GNU_SOURCE",
306-
("IDF_VER", '\\"v4.4-dev-3569-g6a7d83af19\\"'),
307+
("IDF_VER", '\\"v4.4-dev-3703-gddc44956bf\\"'),
307308
"ESP_PLATFORM",
309+
"_POSIX_READER_WRITER_LOCKS",
308310
"ARDUINO_ARCH_ESP32",
309311
"ESP32",
310312
("F_CPU", "$BOARD_F_CPU"),

Diff for: tools/platformio-build-esp32c3.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -127,6 +127,7 @@
127127
"-u", "pthread_include_pthread_impl",
128128
"-u", "pthread_include_pthread_cond_impl",
129129
"-u", "pthread_include_pthread_local_storage_impl",
130+
"-u", "pthread_include_pthread_rwlock_impl",
130131
"-u", "start_app",
131132
"-u", "__ubsan_include",
132133
"-u", "__assert_func",
@@ -293,8 +294,9 @@
293294
"UNITY_INCLUDE_CONFIG_H",
294295
"WITH_POSIX",
295296
"_GNU_SOURCE",
296-
("IDF_VER", '\\"v4.4-dev-3569-g6a7d83af19\\"'),
297+
("IDF_VER", '\\"v4.4-dev-3703-gddc44956bf\\"'),
297298
"ESP_PLATFORM",
299+
"_POSIX_READER_WRITER_LOCKS",
298300
"ARDUINO_ARCH_ESP32",
299301
"ESP32",
300302
("F_CPU", "$BOARD_F_CPU"),

Diff for: tools/platformio-build-esp32s2.py

+3-1
Original file line numberDiff line numberDiff line change
@@ -95,6 +95,7 @@
9595
"-u", "pthread_include_pthread_impl",
9696
"-u", "pthread_include_pthread_cond_impl",
9797
"-u", "pthread_include_pthread_local_storage_impl",
98+
"-u", "pthread_include_pthread_rwlock_impl",
9899
"-u", "ld_include_highint_hdl",
99100
"-u", "start_app",
100101
"-u", "__ubsan_include",
@@ -289,8 +290,9 @@
289290
"UNITY_INCLUDE_CONFIG_H",
290291
"WITH_POSIX",
291292
"_GNU_SOURCE",
292-
("IDF_VER", '\\"v4.4-dev-3569-g6a7d83af19\\"'),
293+
("IDF_VER", '\\"v4.4-dev-3703-gddc44956bf\\"'),
293294
"ESP_PLATFORM",
295+
"_POSIX_READER_WRITER_LOCKS",
294296
"ARDUINO_ARCH_ESP32",
295297
"ESP32",
296298
("F_CPU", "$BOARD_F_CPU"),

Diff for: tools/sdk/esp32/include/config/sdkconfig.h

+4-1
Original file line numberDiff line numberDiff line change
@@ -346,6 +346,7 @@
346346
#define CONFIG_FREERTOS_QUEUE_REGISTRY_SIZE 0
347347
#define CONFIG_FREERTOS_CHECK_MUTEX_GIVEN_BY_OWNER 1
348348
#define CONFIG_FREERTOS_DEBUG_OCDAWARE 1
349+
#define CONFIG_FREERTOS_FPU_IN_ISR 1
349350
#define CONFIG_FREERTOS_ENABLE_TASK_SNAPSHOT 1
350351
#define CONFIG_HAL_ASSERTION_EQUALS_SYSTEM 1
351352
#define CONFIG_HAL_DEFAULT_ASSERTION_LEVEL 2
@@ -370,6 +371,7 @@
370371
#define CONFIG_LWIP_ESP_GRATUITOUS_ARP 1
371372
#define CONFIG_LWIP_GARP_TMR_INTERVAL 60
372373
#define CONFIG_LWIP_TCPIP_RECVMBOX_SIZE 32
374+
#define CONFIG_LWIP_DHCP_DISABLE_VENDOR_CLASS_ID 1
373375
#define CONFIG_LWIP_DHCP_RESTORE_LAST_IP 1
374376
#define CONFIG_LWIP_DHCP_OPTIONS_LEN 128
375377
#define CONFIG_LWIP_DHCPS 1
@@ -636,6 +638,7 @@
636638
#define CONFIG_OPTIMIZATION_LEVEL_RELEASE CONFIG_COMPILER_OPTIMIZATION_SIZE
637639
#define CONFIG_POST_EVENTS_FROM_IRAM_ISR CONFIG_ESP_EVENT_POST_FROM_IRAM_ISR
638640
#define CONFIG_POST_EVENTS_FROM_ISR CONFIG_ESP_EVENT_POST_FROM_ISR
641+
#define CONFIG_REDUCE_PHY_TX_POWER CONFIG_ESP_PHY_REDUCE_TX_POWER
639642
#define CONFIG_SCAN_DUPLICATE_BY_DEVICE_ADDR CONFIG_BTDM_SCAN_DUPL_TYPE_DEVICE
640643
#define CONFIG_SEMIHOSTFS_HOST_PATH_MAX_LEN CONFIG_VFS_SEMIHOSTFS_HOST_PATH_MAX_LEN
641644
#define CONFIG_SEMIHOSTFS_MAX_MOUNT_POINTS CONFIG_VFS_SEMIHOSTFS_MAX_MOUNT_POINTS
@@ -673,5 +676,5 @@
673676
#define CONFIG_ULP_COPROC_RESERVE_MEM CONFIG_ESP32_ULP_COPROC_RESERVE_MEM
674677
#define CONFIG_WARN_WRITE_STRINGS CONFIG_COMPILER_WARN_WRITE_STRINGS
675678
#define CONFIG_WIFI_LWIP_ALLOCATION_FROM_SPIRAM_FIRST CONFIG_SPIRAM_TRY_ALLOCATE_WIFI_LWIP
676-
#define CONFIG_ARDUINO_IDF_COMMIT "6a7d83af19"
679+
#define CONFIG_ARDUINO_IDF_COMMIT "ddc44956bf"
677680
#define CONFIG_ARDUINO_IDF_BRANCH "release/v4.4"

Diff for: tools/sdk/esp32/include/driver/include/driver/mcpwm.h

-2
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,6 @@ typedef enum {
174174
/**
175175
* @brief Interrupt masks for MCPWM capture
176176
*/
177-
__attribute__ ((deprecated("please use callback function to avoid directly accessing registers")))
178177
typedef enum {
179178
MCPWM_LL_INTR_CAP0 = BIT(27), ///< Capture 0 happened
180179
MCPWM_LL_INTR_CAP1 = BIT(28), ///< Capture 1 happened
@@ -922,7 +921,6 @@ esp_err_t mcpwm_sync_invert_gpio_synchro(mcpwm_unit_t mcpwm_num, mcpwm_sync_sign
922921
* - ESP_OK Success
923922
* - ESP_ERR_INVALID_ARG Function pointer error.
924923
*/
925-
__attribute__((deprecated("interrupt events are handled by driver, please use callback")))
926924
esp_err_t mcpwm_isr_register(mcpwm_unit_t mcpwm_num, void (*fn)(void *), void *arg, int intr_alloc_flags,
927925
intr_handle_t *handle);
928926

Diff for: tools/sdk/esp32/include/efuse/include/esp_efuse.h

+6-4
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,9 @@
66

77
#pragma once
88

9-
#ifdef __cplusplus
10-
extern "C" {
11-
#endif
12-
9+
#include <stdbool.h>
1310
#include <stdint.h>
11+
1412
#include "esp_err.h"
1513
#include "esp_log.h"
1614
#include "soc/soc_caps.h"
@@ -29,6 +27,10 @@ extern "C" {
2927
#include "esp32h2/rom/secure_boot.h"
3028
#endif
3129

30+
#ifdef __cplusplus
31+
extern "C" {
32+
#endif
33+
3234
#define ESP_ERR_EFUSE 0x1600 /*!< Base error code for efuse api. */
3335
#define ESP_OK_EFUSE_CNT (ESP_ERR_EFUSE + 0x01) /*!< OK the required number of bits is set. */
3436
#define ESP_ERR_EFUSE_CNT_IS_FULL (ESP_ERR_EFUSE + 0x02) /*!< Error field is full. */

Diff for: tools/sdk/esp32/include/esp_netif/include/esp_netif_types.h

+2
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,8 @@ typedef enum{
7979
ESP_NETIF_REQUESTED_IP_ADDRESS = 50, /**< Request specific IP address */
8080
ESP_NETIF_IP_ADDRESS_LEASE_TIME = 51, /**< Request IP address lease time */
8181
ESP_NETIF_IP_REQUEST_RETRY_TIME = 52, /**< Request IP address retry counter */
82+
ESP_NETIF_VENDOR_CLASS_IDENTIFIER = 60, /**< Vendor Class Identifier of a DHCP client */
83+
ESP_NETIF_VENDOR_SPECIFIC_INFO = 43, /**< Vendor Specific Information of a DHCP server */
8284
} esp_netif_dhcp_option_id_t;
8385

8486
/** IP event declarations */

Diff for: tools/sdk/esp32/include/esp_phy/include/phy.h

+7
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,13 @@ void phy_close_rf(void);
6868
void phy_xpd_tsens(void);
6969
#endif
7070

71+
#if CONFIG_IDF_TARGET_ESP32C3
72+
/**
73+
* @brief Update internal state of PHY when wifi deinit powers off the wifi power domain.
74+
*/
75+
void phy_init_flag(void);
76+
#endif
77+
7178
/**
7279
* @brief Store and load PHY digital registers.
7380
*

Diff for: tools/sdk/esp32/include/esp_timer/include/esp_timer.h

+22-13
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,8 @@
1-
// Copyright 2017 Espressif Systems (Shanghai) PTE LTD
2-
//
3-
// Licensed under the Apache License, Version 2.0 (the "License");
4-
// you may not use this file except in compliance with the License.
5-
// You may obtain a copy of the License at
6-
//
7-
// http://www.apache.org/licenses/LICENSE-2.0
8-
//
9-
// Unless required by applicable law or agreed to in writing, software
10-
// distributed under the License is distributed on an "AS IS" BASIS,
11-
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12-
// See the License for the specific language governing permissions and
13-
// limitations under the License.
1+
/*
2+
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
146

157
#pragma once
168

@@ -83,11 +75,28 @@ typedef struct {
8375
bool skip_unhandled_events; //!< Skip unhandled events for periodic timers
8476
} esp_timer_create_args_t;
8577

78+
79+
/**
80+
* @brief Minimal initialization of esp_timer
81+
*
82+
* @note This function is called from startup code. Applications do not need
83+
* to call this function before using other esp_timer APIs.
84+
*
85+
* This function can be called very early in startup process, after this call
86+
* only esp_timer_get_time function can be used.
87+
*
88+
* @return
89+
* - ESP_OK on success
90+
*/
91+
esp_err_t esp_timer_early_init(void);
92+
8693
/**
8794
* @brief Initialize esp_timer library
8895
*
8996
* @note This function is called from startup code. Applications do not need
9097
* to call this function before using other esp_timer APIs.
98+
* Before calling this function, esp_timer_early_init must be called by the
99+
* startup code.
91100
*
92101
* @return
93102
* - ESP_OK on success

Diff for: tools/sdk/esp32/include/freertos/port/xtensa/include/freertos/portmacro.h

+31-14
Original file line numberDiff line numberDiff line change
@@ -155,15 +155,20 @@ void vPortAssertIfInISR(void);
155155
BaseType_t xPortInterruptedFromISRContext(void);
156156

157157
/**
158-
* @brief Disable interrupts in a nested manner
158+
* @brief Disable interrupts in a nested manner (meant to be called from ISRs)
159159
*
160-
* - Cleaner solution allows nested interrupts disabling and restoring via local registers or stack.
161-
* - They can be called from interrupts too.
162-
* - WARNING Only applies to current CPU.
163-
* @note [refactor-todo] Define this as portSET_INTERRUPT_MASK_FROM_ISR() instead
164-
* @return unsigned Previous interrupt state
160+
* @warning Only applies to current CPU.
161+
* @return UBaseType_t Previous interrupt level
165162
*/
166-
static inline unsigned __attribute__((always_inline)) portENTER_CRITICAL_NESTED(void);
163+
static inline UBaseType_t xPortSetInterruptMaskFromISR(void);
164+
165+
/**
166+
* @brief Reenable interrupts in a nested manner (meant to be called from ISRs)
167+
*
168+
* @warning Only applies to current CPU.
169+
* @param prev_level Previous interrupt level
170+
*/
171+
static inline void vPortClearInterruptMaskFromISR(UBaseType_t prev_level);
167172

168173
/* ---------------------- Spinlocks ------------------------
169174
* - Modifications made to critical sections to support SMP
@@ -416,8 +421,6 @@ static inline BaseType_t IRAM_ATTR xPortGetCoreID(void);
416421

417422
// --------------------- Interrupts ------------------------
418423

419-
#define portEXIT_CRITICAL_NESTED(state) do { portbenchmarkINTERRUPT_RESTORE(state); XTOS_RESTORE_JUST_INTLEVEL(state); } while (0)
420-
421424
/**
422425
* - Only applies to current core
423426
* - These cannot be nested. They should be used with a lot of care and cannot be called from interrupt level.
@@ -430,8 +433,8 @@ static inline BaseType_t IRAM_ATTR xPortGetCoreID(void);
430433
/**
431434
* ISR versions to enable/disable interrupts
432435
*/
433-
#define portSET_INTERRUPT_MASK_FROM_ISR() portENTER_CRITICAL_NESTED()
434-
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(state) portEXIT_CRITICAL_NESTED(state)
436+
#define portSET_INTERRUPT_MASK_FROM_ISR() xPortSetInterruptMaskFromISR()
437+
#define portCLEAR_INTERRUPT_MASK_FROM_ISR(prev_level) vPortClearInterruptMaskFromISR(prev_level)
435438

436439
#define portASSERT_IF_IN_ISR() vPortAssertIfInISR()
437440

@@ -530,11 +533,17 @@ static inline BaseType_t IRAM_ATTR xPortGetCoreID(void);
530533

531534
// --------------------- Interrupts ------------------------
532535

533-
static inline unsigned portENTER_CRITICAL_NESTED(void)
536+
static inline UBaseType_t xPortSetInterruptMaskFromISR(void)
534537
{
535-
unsigned state = XTOS_SET_INTLEVEL(XCHAL_EXCM_LEVEL);
538+
UBaseType_t prev_int_level = XTOS_SET_INTLEVEL(XCHAL_EXCM_LEVEL);
536539
portbenchmarkINTERRUPT_DISABLE();
537-
return state;
540+
return prev_int_level;
541+
}
542+
543+
static inline void vPortClearInterruptMaskFromISR(UBaseType_t prev_level)
544+
{
545+
portbenchmarkINTERRUPT_RESTORE(prev_level);
546+
XTOS_RESTORE_JUST_INTLEVEL(prev_level);
538547
}
539548

540549
// ---------------------- Spinlocks ------------------------
@@ -737,6 +746,14 @@ bool xPortcheckValidStackMem(const void *ptr);
737746
#define portVALID_TCB_MEM(ptr) xPortCheckValidTCBMem(ptr)
738747
#define portVALID_STACK_MEM(ptr) xPortcheckValidStackMem(ptr)
739748

749+
750+
751+
/* ---------------------------------------------------- Deprecate ------------------------------------------------------
752+
* - Pull in header containing deprecated macros here
753+
* ------------------------------------------------------------------------------------------------------------------ */
754+
755+
#include "portmacro_deprecated.h"
756+
740757
#ifdef __cplusplus
741758
}
742759
#endif
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
/*
2+
* SPDX-FileCopyrightText: 2017-2021 Espressif Systems (Shanghai) CO LTD
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
/* ---------------------------------------------------- Deprecate ------------------------------------------------------
8+
* - Macros or functions that should be deprecated in v5.0, then removed in the next major release
9+
* - Kept as not to cause a breaking change
10+
* - Include this header at the end of portmacro.h
11+
* ------------------------------------------------------------------------------------------------------------------ */
12+
13+
/**
14+
* @brief Disable interrupts in a nested manner
15+
*
16+
* Does the exact same thing as portSET_INTERRUPT_MASK_FROM_ISR()
17+
*
18+
* @deprecated This function is deprecated. Call portSET_INTERRUPT_MASK_FROM_ISR() instead
19+
*/
20+
static inline __attribute__((deprecated)) UBaseType_t portENTER_CRITICAL_NESTED(void) {
21+
return portSET_INTERRUPT_MASK_FROM_ISR();
22+
}
23+
24+
/**
25+
* @brief Reenables interrupts in a nested manner
26+
*
27+
* Does the exact same thing as portCLEAR_INTERRUPT_MASK_FROM_ISR()
28+
*
29+
* @deprecated This function is deprecated. Call portCLEAR_INTERRUPT_MASK_FROM_ISR() instead
30+
*/
31+
static inline void __attribute__((deprecated)) portEXIT_CRITICAL_NESTED(UBaseType_t prev_level)
32+
{
33+
portCLEAR_INTERRUPT_MASK_FROM_ISR(prev_level);
34+
}

Diff for: tools/sdk/esp32/include/hal/esp32/include/hal/gpio_ll.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -239,7 +239,7 @@ static inline void gpio_ll_get_intr_status(gpio_dev_t *hw, uint32_t core_id, uin
239239
*/
240240
static inline void gpio_ll_get_intr_status_high(gpio_dev_t *hw, uint32_t core_id, uint32_t *status)
241241
{
242-
*status = (core_id == 0) ? HAL_FORCE_READ_U32_REG_FIELD(hw->pcpu_int1, intr) : HAL_FORCE_READ_U32_REG_FIELD(hw->pcpu_int1, intr);
242+
*status = (core_id == 0) ? HAL_FORCE_READ_U32_REG_FIELD(hw->pcpu_int1, intr) : HAL_FORCE_READ_U32_REG_FIELD(hw->acpu_int1, intr);
243243
}
244244

245245
/**

0 commit comments

Comments
 (0)