mirror of
https://github.com/espressif/esp-idf
synced 2025-03-09 17:19:09 -04:00
feat(mcpwm): support mcpwm sleep retention on p4
This commit is contained in:
parent
944329fff4
commit
6aa4f8b63e
@ -17,8 +17,7 @@ if(CONFIG_SOC_ETM_SUPPORTED AND CONFIG_SOC_MCPWM_SUPPORT_ETM)
|
|||||||
list(APPEND srcs "test_mcpwm_etm.c")
|
list(APPEND srcs "test_mcpwm_etm.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# TODO: IDF-9928 support ESP32P4
|
if(CONFIG_SOC_LIGHT_SLEEP_SUPPORTED AND CONFIG_PM_ENABLE)
|
||||||
if(CONFIG_SOC_LIGHT_SLEEP_SUPPORTED AND CONFIG_PM_ENABLE AND NOT CONFIG_IDF_TARGET_ESP32P4)
|
|
||||||
list(APPEND srcs "test_mcpwm_sleep.c")
|
list(APPEND srcs "test_mcpwm_sleep.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -6,8 +6,7 @@ if(CONFIG_PCNT_ISR_IRAM_SAFE)
|
|||||||
list(APPEND srcs "test_pulse_cnt_iram.c")
|
list(APPEND srcs "test_pulse_cnt_iram.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
# TODO: IDF-9907 support ESP32P4
|
if(CONFIG_SOC_LIGHT_SLEEP_SUPPORTED AND CONFIG_PM_ENABLE)
|
||||||
if(CONFIG_SOC_LIGHT_SLEEP_SUPPORTED AND CONFIG_PM_ENABLE AND NOT CONFIG_IDF_TARGET_ESP32P4)
|
|
||||||
list(APPEND srcs "test_pulse_cnt_sleep.c")
|
list(APPEND srcs "test_pulse_cnt_sleep.c")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -1123,6 +1123,10 @@ config SOC_PCNT_SUPPORT_CLEAR_SIGNAL
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
config SOC_PCNT_SUPPORT_SLEEP_RETENTION
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
|
||||||
config SOC_RMT_GROUPS
|
config SOC_RMT_GROUPS
|
||||||
int
|
int
|
||||||
default 1
|
default 1
|
||||||
@ -1275,6 +1279,10 @@ config SOC_MCPWM_CAPTURE_CLK_FROM_GROUP
|
|||||||
bool
|
bool
|
||||||
default y
|
default y
|
||||||
|
|
||||||
|
config SOC_MCPWM_SUPPORT_SLEEP_RETENTION
|
||||||
|
bool
|
||||||
|
default y
|
||||||
|
|
||||||
config SOC_USB_OTG_PERIPH_NUM
|
config SOC_USB_OTG_PERIPH_NUM
|
||||||
int
|
int
|
||||||
default 2
|
default 2
|
||||||
|
@ -57,6 +57,9 @@ typedef enum periph_retention_module {
|
|||||||
SLEEP_RETENTION_MODULE_GPSPI2 = 31,
|
SLEEP_RETENTION_MODULE_GPSPI2 = 31,
|
||||||
SLEEP_RETENTION_MODULE_GPSPI3 = 32,
|
SLEEP_RETENTION_MODULE_GPSPI3 = 32,
|
||||||
SLEEP_RETENTION_MODULE_LEDC = 33,
|
SLEEP_RETENTION_MODULE_LEDC = 33,
|
||||||
|
SLEEP_RETENTION_MODULE_MCPWM0 = 34,
|
||||||
|
SLEEP_RETENTION_MODULE_MCPWM1 = 35,
|
||||||
|
SLEEP_RETENTION_MODULE_PCNT0 = 36,
|
||||||
|
|
||||||
SLEEP_RETENTION_MODULE_MAX = SOC_PM_RETENTION_MODULE_NUM - 1
|
SLEEP_RETENTION_MODULE_MAX = SOC_PM_RETENTION_MODULE_NUM - 1
|
||||||
} periph_retention_module_t;
|
} periph_retention_module_t;
|
||||||
@ -96,6 +99,9 @@ typedef enum periph_retention_module {
|
|||||||
: ((m) == SLEEP_RETENTION_MODULE_GPSPI2) ? true \
|
: ((m) == SLEEP_RETENTION_MODULE_GPSPI2) ? true \
|
||||||
: ((m) == SLEEP_RETENTION_MODULE_GPSPI3) ? true \
|
: ((m) == SLEEP_RETENTION_MODULE_GPSPI3) ? true \
|
||||||
: ((m) == SLEEP_RETENTION_MODULE_LEDC) ? true \
|
: ((m) == SLEEP_RETENTION_MODULE_LEDC) ? true \
|
||||||
|
: ((m) == SLEEP_RETENTION_MODULE_MCPWM0) ? true \
|
||||||
|
: ((m) == SLEEP_RETENTION_MODULE_MCPWM1) ? true \
|
||||||
|
: ((m) == SLEEP_RETENTION_MODULE_PCNT0) ? true \
|
||||||
: false)
|
: false)
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
|
@ -409,7 +409,7 @@
|
|||||||
#define SOC_PCNT_THRES_POINT_PER_UNIT 2
|
#define SOC_PCNT_THRES_POINT_PER_UNIT 2
|
||||||
#define SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE 1
|
#define SOC_PCNT_SUPPORT_RUNTIME_THRES_UPDATE 1
|
||||||
#define SOC_PCNT_SUPPORT_CLEAR_SIGNAL 1 /*!< Support clear signal input */
|
#define SOC_PCNT_SUPPORT_CLEAR_SIGNAL 1 /*!< Support clear signal input */
|
||||||
// #define SOC_PCNT_SUPPORT_SLEEP_RETENTION 1 // TODO: IDF-9907 Waiting for expansion of module ID /*!< The sleep retention feature can help back up PCNT registers before sleep */
|
#define SOC_PCNT_SUPPORT_SLEEP_RETENTION 1 /*!< The sleep retention feature can help back up PCNT registers before sleep */
|
||||||
|
|
||||||
/*--------------------------- RMT CAPS ---------------------------------------*/
|
/*--------------------------- RMT CAPS ---------------------------------------*/
|
||||||
#define SOC_RMT_GROUPS 1U /*!< One RMT group */
|
#define SOC_RMT_GROUPS 1U /*!< One RMT group */
|
||||||
@ -455,7 +455,7 @@
|
|||||||
#define SOC_MCPWM_SUPPORT_ETM (1) ///< Support ETM (Event Task Matrix)
|
#define SOC_MCPWM_SUPPORT_ETM (1) ///< Support ETM (Event Task Matrix)
|
||||||
#define SOC_MCPWM_SUPPORT_EVENT_COMPARATOR (1) ///< Support event comparator (based on ETM)
|
#define SOC_MCPWM_SUPPORT_EVENT_COMPARATOR (1) ///< Support event comparator (based on ETM)
|
||||||
#define SOC_MCPWM_CAPTURE_CLK_FROM_GROUP (1) ///< Capture timer shares clock with other PWM timers
|
#define SOC_MCPWM_CAPTURE_CLK_FROM_GROUP (1) ///< Capture timer shares clock with other PWM timers
|
||||||
// #define SOC_MCPWM_SUPPORT_SLEEP_RETENTION (1) // TODO: IDF-9928 Waiting for expansion of module ID ///< Support back up registers before sleep
|
#define SOC_MCPWM_SUPPORT_SLEEP_RETENTION (1) ///< Support back up registers before sleep
|
||||||
|
|
||||||
/*-------------------------- USB CAPS ----------------------------------------*/
|
/*-------------------------- USB CAPS ----------------------------------------*/
|
||||||
// USB Serial JTAG Caps
|
// USB Serial JTAG Caps
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#include "soc/soc.h"
|
#include "soc/soc.h"
|
||||||
#include "soc/mcpwm_periph.h"
|
#include "soc/mcpwm_periph.h"
|
||||||
|
#include "soc/mcpwm_reg.h"
|
||||||
#include "soc/gpio_sig_map.h"
|
#include "soc/gpio_sig_map.h"
|
||||||
|
|
||||||
const mcpwm_signal_conn_t mcpwm_periph_signals = {
|
const mcpwm_signal_conn_t mcpwm_periph_signals = {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user