mirror of
https://github.com/espressif/esp-idf.git
synced 2026-10-02 03:00:34 +03:00
Merge branch 'feature/esp32p4_eco5_io_hold_v6.0' into 'release/v6.0'
feat(gpio): add IO hold support for Deep-sleep for ESP32-P4 ECO5 (v6.0) See merge request espressif/esp-idf!43307
This commit is contained in:
@@ -355,10 +355,6 @@ config SOC_GPIO_CLOCKOUT_CHANNEL_NUM
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2C_NUM
|
||||
int
|
||||
default 2
|
||||
|
||||
@@ -199,9 +199,6 @@
|
||||
#define SOC_GPIO_CLOCKOUT_BY_IO_MUX (1)
|
||||
#define SOC_GPIO_CLOCKOUT_CHANNEL_NUM (3)
|
||||
|
||||
// RTC_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
|
||||
/*-------------------------- I2C CAPS ----------------------------------------*/
|
||||
// ESP32 has 2 I2C
|
||||
#define SOC_I2C_NUM (2U)
|
||||
|
||||
@@ -323,10 +323,6 @@ config SOC_GPIO_CLOCKOUT_CHANNEL_NUM
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2C_NUM
|
||||
int
|
||||
default 1
|
||||
|
||||
@@ -149,9 +149,6 @@
|
||||
#define SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX (1)
|
||||
#define SOC_GPIO_CLOCKOUT_CHANNEL_NUM (3)
|
||||
|
||||
// "RTC"_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
|
||||
/*-------------------------- I2C CAPS ----------------------------------------*/
|
||||
// ESP32-C2 has 1 I2C
|
||||
#define SOC_I2C_NUM (1U)
|
||||
|
||||
@@ -419,10 +419,6 @@ config SOC_GPIO_CLOCKOUT_CHANNEL_NUM
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2C_NUM
|
||||
int
|
||||
default 1
|
||||
|
||||
@@ -188,9 +188,6 @@
|
||||
#define SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX (1)
|
||||
#define SOC_GPIO_CLOCKOUT_CHANNEL_NUM (3)
|
||||
|
||||
// "RTC"_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
|
||||
/*-------------------------- I2C CAPS ----------------------------------------*/
|
||||
// ESP32-C3 has 1 I2C
|
||||
#define SOC_I2C_NUM (1U)
|
||||
|
||||
@@ -583,10 +583,6 @@ config SOC_GPIO_SUPPORT_FORCE_HOLD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -238,8 +238,6 @@
|
||||
|
||||
// Support to force hold all IOs
|
||||
#define SOC_GPIO_SUPPORT_FORCE_HOLD (1)
|
||||
// LP_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
// Support to hold a single digital I/O when the digital domain is powered off
|
||||
#define SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP (1)
|
||||
|
||||
|
||||
@@ -511,10 +511,6 @@ config SOC_GPIO_SUPPORT_FORCE_HOLD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -215,8 +215,6 @@
|
||||
|
||||
// Support to force hold all IOs
|
||||
#define SOC_GPIO_SUPPORT_FORCE_HOLD (1)
|
||||
// LP_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
// Support to hold a single digital I/O when the digital domain is powered off
|
||||
#define SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP (1)
|
||||
|
||||
|
||||
@@ -459,10 +459,6 @@ config SOC_GPIO_SUPPORT_FORCE_HOLD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -197,8 +197,6 @@
|
||||
|
||||
// Support to force hold all IOs
|
||||
#define SOC_GPIO_SUPPORT_FORCE_HOLD (1)
|
||||
// "LP"_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
// Support to hold a single digital I/O when the digital domain is powered off
|
||||
#define SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP (1)
|
||||
|
||||
|
||||
@@ -531,10 +531,6 @@ config SOC_GPIO_SUPPORT_FORCE_HOLD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -240,8 +240,6 @@
|
||||
|
||||
// Support to force hold all IOs
|
||||
#define SOC_GPIO_SUPPORT_FORCE_HOLD (1)
|
||||
// LP_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
// Support to hold a single digital I/O when the digital domain is powered off
|
||||
#define SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP (1)
|
||||
|
||||
|
||||
@@ -387,10 +387,6 @@ config SOC_GPIO_SUPPORT_FORCE_HOLD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -220,8 +220,6 @@
|
||||
|
||||
// Support to force hold all IOs
|
||||
#define SOC_GPIO_SUPPORT_FORCE_HOLD (1)
|
||||
// LP_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
// Support to hold a single digital I/O when the digital domain is powered off
|
||||
#define SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP (1)
|
||||
|
||||
|
||||
@@ -695,6 +695,14 @@ config SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK
|
||||
hex
|
||||
default 0x007FFFFFFFFF0000
|
||||
|
||||
config SOC_GPIO_SUPPORT_FORCE_HOLD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX
|
||||
bool
|
||||
default y
|
||||
@@ -715,10 +723,6 @@ config SOC_DEBUG_PROBE_MAX_OUTPUT_WIDTH
|
||||
int
|
||||
default 16
|
||||
|
||||
config SOC_GPIO_SUPPORT_FORCE_HOLD
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_RTCIO_PIN_COUNT
|
||||
int
|
||||
default 16
|
||||
|
||||
@@ -265,6 +265,11 @@
|
||||
// digital I/O pad powered by VDD3P3_CPU or VDD_SPI(GPIO_NUM_16~GPIO_NUM_54)
|
||||
#define SOC_GPIO_VALID_DIGITAL_IO_PAD_MASK 0x007FFFFFFFFF0000ULL
|
||||
|
||||
// Support to force hold all IOs
|
||||
#define SOC_GPIO_SUPPORT_FORCE_HOLD (1)
|
||||
// Support to hold a single digital I/O when the digital domain is powered off
|
||||
#define SOC_GPIO_SUPPORT_HOLD_SINGLE_IO_IN_DSLP (1) // Supported only on ESP32P4 rev >= 3.0 (see DIG-399)
|
||||
|
||||
// The Clock Out signal is route to the pin by GPIO matrix
|
||||
#define SOC_GPIO_CLOCKOUT_BY_GPIO_MATRIX (1)
|
||||
#define SOC_GPIO_CLOCKOUT_CHANNEL_NUM (2)
|
||||
@@ -273,9 +278,6 @@
|
||||
#define SOC_DEBUG_PROBE_NUM_UNIT (1U) // Number of debug probe units
|
||||
#define SOC_DEBUG_PROBE_MAX_OUTPUT_WIDTH (16) // Maximum width of the debug probe output in each unit
|
||||
|
||||
// Support to force hold all IOs
|
||||
#define SOC_GPIO_SUPPORT_FORCE_HOLD (1)
|
||||
|
||||
/*-------------------------- RTCIO CAPS --------------------------------------*/
|
||||
#define SOC_RTCIO_PIN_COUNT 16
|
||||
#define SOC_RTCIO_INPUT_OUTPUT_SUPPORTED 1 /* This macro indicates that the target has separate RTC IOMUX hardware feature,
|
||||
|
||||
@@ -413,37 +413,6 @@ typedef union {
|
||||
} hp_crypto_ctrl_reg_t;
|
||||
|
||||
|
||||
/** Group: HP GPIO O HOLD CTRL0 REG */
|
||||
/** Type of gpio_o_hold_ctrl0 register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_gpio_0_hold_low : R/W; bitpos: [31:0]; default: 0;
|
||||
* hold control for gpio47~16
|
||||
*/
|
||||
uint32_t reg_gpio_0_hold_low:32;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_gpio_o_hold_ctrl0_reg_t;
|
||||
|
||||
|
||||
/** Group: HP GPIO O HOLD CTRL1 REG */
|
||||
/** Type of gpio_o_hold_ctrl1 register
|
||||
* NA
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_gpio_0_hold_high : R/W; bitpos: [8:0]; default: 0;
|
||||
* hold control for gpio56~48
|
||||
*/
|
||||
uint32_t reg_gpio_0_hold_high:9;
|
||||
uint32_t reserved_9:23;
|
||||
};
|
||||
uint32_t val;
|
||||
} hp_gpio_o_hold_ctrl1_reg_t;
|
||||
|
||||
|
||||
/** Group: HP SYS RDN ECO CS REG */
|
||||
/** Type of sys_rdn_eco_cs register
|
||||
* NA
|
||||
@@ -2149,8 +2118,7 @@ typedef struct hp_system_dev_t {
|
||||
volatile hp_cpu_corestalled_st_reg_t cpu_corestalled_st;
|
||||
uint32_t reserved_068[2];
|
||||
volatile hp_crypto_ctrl_reg_t crypto_ctrl;
|
||||
volatile hp_gpio_o_hold_ctrl0_reg_t gpio_o_hold_ctrl0;
|
||||
volatile hp_gpio_o_hold_ctrl1_reg_t gpio_o_hold_ctrl1;
|
||||
uint32_t reserved_074[2];
|
||||
volatile hp_sys_rdn_eco_cs_reg_t sys_rdn_eco_cs;
|
||||
volatile hp_cache_apb_postw_en_reg_t cache_apb_postw_en;
|
||||
volatile hp_l2_mem_subsize_reg_t l2_mem_subsize;
|
||||
|
||||
@@ -114,22 +114,6 @@ typedef union {
|
||||
} lp_iomux_ext_wakeup0_sel_reg_t;
|
||||
|
||||
|
||||
/** Group: lp_pad_hold */
|
||||
/** Type of lp_pad_hold register
|
||||
* Reserved
|
||||
*/
|
||||
typedef union {
|
||||
struct {
|
||||
/** reg_lp_gpio_hold : R/W; bitpos: [15:0]; default: 0;
|
||||
* Reserved
|
||||
*/
|
||||
uint32_t reg_lp_gpio_hold:16;
|
||||
uint32_t reserved_16:16;
|
||||
};
|
||||
uint32_t val;
|
||||
} lp_iomux_lp_pad_hold_reg_t;
|
||||
|
||||
|
||||
/** Group: lp_pad_hys */
|
||||
/** Type of lp_pad_hys register
|
||||
* Reserved
|
||||
@@ -151,7 +135,7 @@ typedef struct lp_iomux_dev_t {
|
||||
volatile lp_iomux_ver_date_reg_t ver_date;
|
||||
volatile lp_iomux_pad_reg_t pad[16];
|
||||
volatile lp_iomux_ext_wakeup0_sel_reg_t ext_wakeup0_sel;
|
||||
volatile lp_iomux_lp_pad_hold_reg_t lp_pad_hold;
|
||||
uint32_t reserved_04c;
|
||||
volatile lp_iomux_lp_pad_hys_reg_t lp_pad_hys;
|
||||
} lp_iomux_dev_t;
|
||||
|
||||
|
||||
@@ -415,10 +415,6 @@ config SOC_GPIO_CLOCKOUT_CHANNEL_NUM
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_DEDIC_GPIO_HAS_INTERRUPT
|
||||
bool
|
||||
default y
|
||||
|
||||
@@ -190,9 +190,6 @@
|
||||
#define SOC_GPIO_CLOCKOUT_BY_IO_MUX (1)
|
||||
#define SOC_GPIO_CLOCKOUT_CHANNEL_NUM (3)
|
||||
|
||||
// RTC_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
|
||||
/*-------------------------- Dedicated GPIO CAPS ---------------------------------------*/
|
||||
#define SOC_DEDIC_GPIO_HAS_INTERRUPT (1) /*!< Dedicated GPIO has its own interrupt source */
|
||||
|
||||
|
||||
@@ -479,10 +479,6 @@ config SOC_GPIO_CLOCKOUT_CHANNEL_NUM
|
||||
int
|
||||
default 3
|
||||
|
||||
config SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP
|
||||
bool
|
||||
default y
|
||||
|
||||
config SOC_I2C_NUM
|
||||
int
|
||||
default 2
|
||||
|
||||
@@ -201,9 +201,6 @@
|
||||
#define SOC_GPIO_CLOCKOUT_BY_IO_MUX (1)
|
||||
#define SOC_GPIO_CLOCKOUT_CHANNEL_NUM (3)
|
||||
|
||||
// RTC_IOs and DIG_IOs can be hold during deep sleep and after waking up
|
||||
#define SOC_GPIO_SUPPORT_HOLD_IO_IN_DSLP (1)
|
||||
|
||||
/*-------------------------- I2C CAPS ----------------------------------------*/
|
||||
// ESP32-S3 has 2 I2C
|
||||
#define SOC_I2C_NUM (2U)
|
||||
|
||||
Reference in New Issue
Block a user