mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 11:10:54 +03:00
fix(hal): fix the issue of dual-core contention for RTC_CNTL regs
This commit is contained in:
@@ -495,6 +495,10 @@ config SOC_RTCIO_WAKE_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SPI_HD_BOTH_INOUT_SUPPORTED
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -250,6 +250,10 @@
|
||||
#define SOC_RTCIO_HOLD_SUPPORTED 1
|
||||
#define SOC_RTCIO_WAKE_SUPPORTED 1
|
||||
|
||||
/* RTC_CNTL registers on this SoC are not atomic and require software protection
|
||||
* (e.g., spinlocks) when accessed from multiple cores or threads. */
|
||||
#define SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS 1
|
||||
|
||||
/*-------------------------- SPI CAPS ----------------------------------------*/
|
||||
#define SOC_SPI_HD_BOTH_INOUT_SUPPORTED 1 //Support enabling MOSI and MISO phases together under Halfduplex mode
|
||||
#define SOC_SPI_AS_CS_SUPPORTED 1 //Support to toggle the CS while the clock toggles
|
||||
|
||||
@@ -407,6 +407,10 @@ config SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM
|
||||
int
|
||||
default 108
|
||||
|
||||
config SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RTCIO_PIN_COUNT
|
||||
int
|
||||
default 0
|
||||
|
||||
@@ -185,6 +185,10 @@
|
||||
|
||||
#define SOC_RTC_CNTL_CPU_PD_RETENTION_MEM_SIZE (SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM * (SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH >> 3))
|
||||
|
||||
/* RTC_CNTL registers on this SoC are not atomic and require software protection
|
||||
* (e.g., spinlocks) when accessed from multiple cores or threads. */
|
||||
#define SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS 1
|
||||
|
||||
/*-------------------------- RTCIO CAPS --------------------------------------*/
|
||||
/* No dedicated RTCIO subsystem on ESP32-C2. RTC functions are still supported
|
||||
* for hold, wake & 32kHz crystal functions - via rtc_cntl_reg */
|
||||
|
||||
@@ -559,6 +559,10 @@ config SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM
|
||||
int
|
||||
default 108
|
||||
|
||||
config SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_SLEEP_SYSTIMER_STALL_WORKAROUND
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -244,6 +244,10 @@
|
||||
|
||||
#define SOC_RTC_CNTL_CPU_PD_RETENTION_MEM_SIZE (SOC_RTC_CNTL_CPU_PD_REG_FILE_NUM * (SOC_RTC_CNTL_CPU_PD_DMA_BUS_WIDTH >> 3))
|
||||
|
||||
/* RTC_CNTL registers on this SoC are not atomic and require software protection
|
||||
* (e.g., spinlocks) when accessed from multiple cores or threads. */
|
||||
#define SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS 1
|
||||
|
||||
#define SOC_SLEEP_SYSTIMER_STALL_WORKAROUND 1
|
||||
#define SOC_SLEEP_TGWDT_STOP_WORKAROUND 1
|
||||
|
||||
|
||||
@@ -423,6 +423,10 @@ config SOC_GPIO_CLOCKOUT_CHANNEL_NUM
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_DEDIC_GPIO_HAS_INTERRUPT
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -198,6 +198,10 @@
|
||||
#define SOC_GPIO_CLOCKOUT_BY_IO_MUX (1)
|
||||
#define SOC_GPIO_CLOCKOUT_CHANNEL_NUM (3)
|
||||
|
||||
/* RTC_CNTL registers on this SoC are not atomic and require software protection
|
||||
* (e.g., spinlocks) when accessed from multiple cores or threads. */
|
||||
#define SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS 1
|
||||
|
||||
/*-------------------------- Dedicated GPIO CAPS ---------------------------------------*/
|
||||
#define SOC_DEDIC_GPIO_HAS_INTERRUPT (1) /*!< Dedicated GPIO has its own interrupt source */
|
||||
|
||||
|
||||
@@ -635,6 +635,10 @@ config SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH
|
||||
int
|
||||
default 128
|
||||
|
||||
config SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RTCIO_PIN_COUNT
|
||||
int
|
||||
default 22
|
||||
|
||||
@@ -264,6 +264,10 @@
|
||||
#define SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH (128)
|
||||
#define SOC_RTC_CNTL_TAGMEM_PD_DMA_ADDR_ALIGN (SOC_RTC_CNTL_TAGMEM_PD_DMA_BUS_WIDTH >> 3)
|
||||
|
||||
/* RTC_CNTL registers on this SoC are not atomic and require software protection
|
||||
* (e.g., spinlocks) when accessed from multiple cores or threads. */
|
||||
#define SOC_RTC_CNTL_NEEDS_ATOMIC_ACCESS 1
|
||||
|
||||
/*-------------------------- RTCIO CAPS --------------------------------------*/
|
||||
#define SOC_RTCIO_PIN_COUNT 22
|
||||
#define SOC_RTCIO_INPUT_OUTPUT_SUPPORTED 1 /* This macro indicates that the target has separate RTC IOMUX hardware feature,
|
||||
|
||||
Reference in New Issue
Block a user