Merge branch 'feat/chip_esp32c5_eco2_support_wifi' into 'master'

feat/chip esp32c5 eco2 support wifi

Closes IDF-10602, IDF-10616, IDF-10592, IDF-10590, IDF-10605, IDF-10604, IDF-10618, IDF-10617, IDF-10588, IDF-10598, IDF-10609, IDF-10610, IDF-10600, IDF-10589, IDF-10607, IDF-10608, IDF-10596, IDF-12857, IDF-11002, IDF-10601, IDF-10579, IDF-8641, IDF-8640, IDF-8639, IDF-8638, PM-403, AX-1139, AX-1151, AX-1153, AX-1155, WIFIBUG-1159, and WIFIBUG-1146

See merge request espressif/esp-idf!38566
This commit is contained in:
Yin Qing Zhao
2025-04-28 21:06:18 +08:00
64 changed files with 486 additions and 354 deletions
@@ -222,6 +222,12 @@ extern "C" {
#define MODEM_LPCON_CLK_WIFIPWR_ST_MAP_S 16
#define MODEM_LPCON_RST_CONF_REG (DR_REG_MODEM_LPCON_BASE + 0x24)
/* MODEM_LPCON_RST_DCMEM : WO ;bitpos:[4] ;default: 1'b0 ; */
/*description: .*/
#define MODEM_LPCON_RST_DCMEM (BIT(4))
#define MODEM_LPCON_RST_DCMEM_M (BIT(4))
#define MODEM_LPCON_RST_DCMEM_V 0x1
#define MODEM_LPCON_RST_DCMEM_S 4
/* MODEM_LPCON_RST_LP_TIMER : WO ;bitpos:[3] ;default: 1'b0 ; */
/*description: .*/
#define MODEM_LPCON_RST_LP_TIMER (BIT(3))
@@ -365,8 +371,40 @@ extern "C" {
#define MODEM_LPCON_CHAN_FREQ_MEM_EN_V 0x1
#define MODEM_LPCON_CHAN_FREQ_MEM_EN_S 0
#define MODEM_LPCON_DATE_REG (DR_REG_MODEM_LPCON_BASE + 0x3C)
/* MODEM_LPCON_DATE : R/W ;bitpos:[27:0] ;default: 28'h2311220 ; */
#define MODEM_LPCON_DCMEM_VALID_0_REG (DR_REG_MODEM_LPCON_BASE + 0x3C)
/* MODEM_LPCON_DCMEM_VALID_0 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
/*description: .*/
#define MODEM_LPCON_DCMEM_VALID_0 0xFFFFFFFF
#define MODEM_LPCON_DCMEM_VALID_0_M ((MODEM_LPCON_DCMEM_VALID_0_V)<<(MODEM_LPCON_DCMEM_VALID_0_S))
#define MODEM_LPCON_DCMEM_VALID_0_V 0xFFFFFFFF
#define MODEM_LPCON_DCMEM_VALID_0_S 0
#define MODEM_LPCON_DCMEM_VALID_1_REG (DR_REG_MODEM_LPCON_BASE + 0x40)
/* MODEM_LPCON_DCMEM_VALID_1 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
/*description: .*/
#define MODEM_LPCON_DCMEM_VALID_1 0xFFFFFFFF
#define MODEM_LPCON_DCMEM_VALID_1_M ((MODEM_LPCON_DCMEM_VALID_1_V)<<(MODEM_LPCON_DCMEM_VALID_1_S))
#define MODEM_LPCON_DCMEM_VALID_1_V 0xFFFFFFFF
#define MODEM_LPCON_DCMEM_VALID_1_S 0
#define MODEM_LPCON_DCMEM_VALID_2_REG (DR_REG_MODEM_LPCON_BASE + 0x44)
/* MODEM_LPCON_DCMEM_VALID_2 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
/*description: .*/
#define MODEM_LPCON_DCMEM_VALID_2 0xFFFFFFFF
#define MODEM_LPCON_DCMEM_VALID_2_M ((MODEM_LPCON_DCMEM_VALID_2_V)<<(MODEM_LPCON_DCMEM_VALID_2_S))
#define MODEM_LPCON_DCMEM_VALID_2_V 0xFFFFFFFF
#define MODEM_LPCON_DCMEM_VALID_2_S 0
#define MODEM_LPCON_DCMEM_VALID_3_REG (DR_REG_MODEM_LPCON_BASE + 0x48)
/* MODEM_LPCON_DCMEM_VALID_3 : RO ;bitpos:[31:0] ;default: 32'h0 ; */
/*description: .*/
#define MODEM_LPCON_DCMEM_VALID_3 0xFFFFFFFF
#define MODEM_LPCON_DCMEM_VALID_3_M ((MODEM_LPCON_DCMEM_VALID_3_V)<<(MODEM_LPCON_DCMEM_VALID_3_S))
#define MODEM_LPCON_DCMEM_VALID_3_V 0xFFFFFFFF
#define MODEM_LPCON_DCMEM_VALID_3_S 0
#define MODEM_LPCON_DATE_REG (DR_REG_MODEM_LPCON_BASE + 0x4C)
/* MODEM_LPCON_DATE : R/W ;bitpos:[27:0] ;default: 28'h2410170 ; */
/*description: .*/
#define MODEM_LPCON_DATE 0x0FFFFFFF
#define MODEM_LPCON_DATE_M ((MODEM_LPCON_DATE_V)<<(MODEM_LPCON_DATE_S))
@@ -157,7 +157,7 @@ typedef volatile struct {
uint32_t rst_coex : 1;
uint32_t rst_i2c_mst : 1;
uint32_t rst_lp_timer : 1;
uint32_t reserved4 : 1;
uint32_t rst_dcmem : 1;
uint32_t reserved5 : 1;
uint32_t reserved6 : 1;
uint32_t reserved7 : 1;
@@ -231,6 +231,10 @@ typedef volatile struct {
};
uint32_t val;
} apb_mem_sel;
uint32_t dcmem_valid_0;
uint32_t dcmem_valid_1;
uint32_t dcmem_valid_2;
uint32_t dcmem_valid_3;
union {
struct {
uint32_t date : 28;
@@ -243,7 +247,7 @@ typedef volatile struct {
extern modem_lpcon_dev_t MODEM_LPCON;
#ifndef __cplusplus
_Static_assert(sizeof(modem_lpcon_dev_t) == 0x40, "Invalid size of modem_lpcon_dev_t structure");
_Static_assert(sizeof(modem_lpcon_dev_t) == 0x50, "Invalid size of modem_lpcon_dev_t structure");
#endif
#ifdef __cplusplus
@@ -559,7 +559,15 @@ extern "C" {
#define MODEM_SYSCON_WIFI_BB_CFG_V 0xFFFFFFFF
#define MODEM_SYSCON_WIFI_BB_CFG_S 0
#define MODEM_SYSCON_MEM_RF1_CONF_REG (DR_REG_MODEM_SYSCON_BASE + 0x1C)
#define MODEM_SYSCON_FE_CFG_REG (DR_REG_MODEM_SYSCON_BASE + 0x1C)
/* MODEM_SYSCON_FE_CFG : R/W ;bitpos:[31:0] ;default: 32'h0 ; */
/*description: .*/
#define MODEM_SYSCON_FE_CFG 0xFFFFFFFF
#define MODEM_SYSCON_FE_CFG_M ((MODEM_SYSCON_FE_CFG_V)<<(MODEM_SYSCON_FE_CFG_S))
#define MODEM_SYSCON_FE_CFG_V 0xFFFFFFFF
#define MODEM_SYSCON_FE_CFG_S 0
#define MODEM_SYSCON_MEM_RF1_CONF_REG (DR_REG_MODEM_SYSCON_BASE + 0x20)
/* MODEM_SYSCON_MODEM_RF1_MEM_AUX_CTRL : R/W ;bitpos:[31:0] ;default: 32'h00002070 ; */
/*description: .*/
#define MODEM_SYSCON_MODEM_RF1_MEM_AUX_CTRL 0xFFFFFFFF
@@ -567,7 +575,7 @@ extern "C" {
#define MODEM_SYSCON_MODEM_RF1_MEM_AUX_CTRL_V 0xFFFFFFFF
#define MODEM_SYSCON_MODEM_RF1_MEM_AUX_CTRL_S 0
#define MODEM_SYSCON_MEM_RF2_CONF_REG (DR_REG_MODEM_SYSCON_BASE + 0x20)
#define MODEM_SYSCON_MEM_RF2_CONF_REG (DR_REG_MODEM_SYSCON_BASE + 0x24)
/* MODEM_SYSCON_MODEM_RF2_MEM_AUX_CTRL : R/W ;bitpos:[31:0] ;default: 32'h00000000 ; */
/*description: .*/
#define MODEM_SYSCON_MODEM_RF2_MEM_AUX_CTRL 0xFFFFFFFF
@@ -575,8 +583,8 @@ extern "C" {
#define MODEM_SYSCON_MODEM_RF2_MEM_AUX_CTRL_V 0xFFFFFFFF
#define MODEM_SYSCON_MODEM_RF2_MEM_AUX_CTRL_S 0
#define MODEM_SYSCON_DATE_REG (DR_REG_MODEM_SYSCON_BASE + 0x24)
/* MODEM_SYSCON_DATE : R/W ;bitpos:[27:0] ;default: 28'h2312050 ; */
#define MODEM_SYSCON_DATE_REG (DR_REG_MODEM_SYSCON_BASE + 0x28)
/* MODEM_SYSCON_DATE : R/W ;bitpos:[27:0] ;default: 28'h2410160 ; */
/*description: .*/
#define MODEM_SYSCON_DATE 0x0FFFFFFF
#define MODEM_SYSCON_DATE_M ((MODEM_SYSCON_DATE_V)<<(MODEM_SYSCON_DATE_S))
@@ -152,6 +152,7 @@ typedef volatile struct {
uint32_t val;
} clk_conf1;
uint32_t wifi_bb_cfg;
uint32_t fe_cfg;
uint32_t mem_rf1_conf;
uint32_t mem_rf2_conf;
union {
@@ -166,7 +167,7 @@ typedef volatile struct {
extern modem_syscon_dev_t MODEM_SYSCON;
#ifndef __cplusplus
_Static_assert(sizeof(modem_syscon_dev_t) == 0x28, "Invalid size of modem_syscon_dev_t structure");
_Static_assert(sizeof(modem_syscon_dev_t) == 0x2c, "Invalid size of modem_syscon_dev_t structure");
#endif
#ifdef __cplusplus
@@ -63,6 +63,10 @@ config SOC_TEMP_SENSOR_SUPPORTED
bool
default y
config SOC_WIFI_SUPPORTED
bool
default y
config SOC_SUPPORTS_SECURE_DL_MODE
bool
default y
@@ -239,6 +243,10 @@ config SOC_SPIRAM_SUPPORTED
bool
default y
config SOC_PHY_SUPPORTED
bool
default y
config SOC_BITSCRAMBLER_SUPPORTED
bool
default y
@@ -1599,6 +1607,46 @@ config SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN
bool
default y
config SOC_WIFI_HW_TSF
bool
default y
config SOC_WIFI_FTM_SUPPORT
bool
default n
config SOC_WIFI_GCMP_SUPPORT
bool
default y
config SOC_WIFI_WAPI_SUPPORT
bool
default y
config SOC_WIFI_CSI_SUPPORT
bool
default y
config SOC_WIFI_MESH_SUPPORT
bool
default y
config SOC_WIFI_HE_SUPPORT
bool
default y
config SOC_WIFI_SUPPORT_5G
bool
default y
config SOC_WIFI_MAC_VERSION_NUM
int
default 3
config SOC_WIFI_NAN_SUPPORT
bool
default y
config SOC_LP_CORE_SINGLE_INTERRUPT_VECTOR
bool
default y
+12 -12
View File
@@ -32,7 +32,7 @@
#define SOC_ASYNC_MEMCPY_SUPPORTED 1
#define SOC_USB_SERIAL_JTAG_SUPPORTED 1
#define SOC_TEMP_SENSOR_SUPPORTED 1
// #define SOC_WIFI_SUPPORTED 1 // TODO: [ESP32C5 ECO2] IDF-12820
#define SOC_WIFI_SUPPORTED 1
#define SOC_SUPPORTS_SECURE_DL_MODE 1
#define SOC_LP_CORE_SUPPORTED 1
#define SOC_ULP_SUPPORTED 1
@@ -82,7 +82,7 @@
#define SOC_SPIRAM_SUPPORTED 1
// #define SOC_BT_SUPPORTED 1 // TODO: [ESP32C5 ECO2] IDF-12822
// #define SOC_PHY_SUPPORTED 1 // TODO: [ESP32C5 ECO2] IDF-12823
#define SOC_PHY_SUPPORTED 1
#define SOC_BITSCRAMBLER_SUPPORTED 1
/*-------------------------- XTAL CAPS ---------------------------------------*/
@@ -645,16 +645,16 @@
#define SOC_TEMPERATURE_SENSOR_UNDER_PD_TOP_DOMAIN (1)
/*------------------------------------ WI-FI CAPS ------------------------------------*/
// #define SOC_WIFI_HW_TSF (1) /*!< Support hardware TSF */ // // TODO: [ESP32C5 ECO2] IDF-12820
// #define SOC_WIFI_FTM_SUPPORT (0) /*!< Support FTM */ // TODO: [ESP32C5] WIFI-6426
// #define SOC_WIFI_GCMP_SUPPORT (1) /*!< Support GCMP(GCMP128 and GCMP256) */
// #define SOC_WIFI_WAPI_SUPPORT (1) /*!< Support WAPI */
// #define SOC_WIFI_CSI_SUPPORT (1) /*!< Support CSI */
// #define SOC_WIFI_MESH_SUPPORT (1) /*!< Support WIFI MESH */
// #define SOC_WIFI_HE_SUPPORT (1) /*!< Support Wi-Fi 6 */
// #define SOC_WIFI_SUPPORT_5G (1) /*!< Support 5G */
// #define SOC_WIFI_MAC_VERSION_NUM (3) /*!< Wi-Fi MAC version num is 3 */
// #define SOC_WIFI_NAN_SUPPORT (1) /*!< Support WIFI Aware (NAN) */
#define SOC_WIFI_HW_TSF (1) /*!< Support hardware TSF */
#define SOC_WIFI_FTM_SUPPORT (0) /*!< Support FTM */ // TODO: [ESP32C5] WIFI-6426
#define SOC_WIFI_GCMP_SUPPORT (1) /*!< Support GCMP(GCMP128 and GCMP256) */
#define SOC_WIFI_WAPI_SUPPORT (1) /*!< Support WAPI */
#define SOC_WIFI_CSI_SUPPORT (1) /*!< Support CSI */
#define SOC_WIFI_MESH_SUPPORT (1) /*!< Support WIFI MESH */
#define SOC_WIFI_HE_SUPPORT (1) /*!< Support Wi-Fi 6 */
#define SOC_WIFI_SUPPORT_5G (1) /*!< Support 5G */
#define SOC_WIFI_MAC_VERSION_NUM (3) /*!< Wi-Fi MAC version num is 3 */
#define SOC_WIFI_NAN_SUPPORT (1) /*!< Support WIFI Aware (NAN) */
/*---------------------------------- Bluetooth CAPS ----------------------------------*/
// #define SOC_BLE_SUPPORTED (1) /*!< Support Bluetooth Low Energy hardware */ // TODO: [ESP32C5 ECO2] IDF-12822