diff --git a/components/esp_hw_support/lowpower/port/esp32c5/sleep_clock.c b/components/esp_hw_support/lowpower/port/esp32c5/sleep_clock.c index 8b8d92d37d..b1843a958e 100644 --- a/components/esp_hw_support/lowpower/port/esp32c5/sleep_clock.c +++ b/components/esp_hw_support/lowpower/port/esp32c5/sleep_clock.c @@ -32,14 +32,14 @@ esp_err_t sleep_clock_system_retention_init(void *arg) [4] = { .config = REGDMA_LINK_WRITE_INIT(REGDMA_PCR_LINK(4), I2C_ANA_MST_ANA_CONF0_REG, 0, I2C_MST_BBPLL_STOP_FORCE_LOW, 1, 0), .owner = ENTRY(0) }, [5] = { .config = REGDMA_LINK_WRITE_INIT(REGDMA_PCR_LINK(5), I2C_ANA_MST_ANA_CONF0_REG, I2C_MST_BBPLL_STOP_FORCE_HIGH, I2C_MST_BBPLL_STOP_FORCE_HIGH, 1, 0), .owner = ENTRY(0) }, /* Clock configuration retention */ - [6] = { .config = REGDMA_LINK_WAIT_INIT (REGDMA_PCR_LINK(6), PMU_CLK_STATE0_REG, PMU_STABLE_XPD_BBPLL_STATE, PMU_STABLE_XPD_BBPLL_STATE_M, 1, 0), .owner = ENTRY(0)}, /* Wait PMU_WAIT_XTL_STABLE done */ - [7] = { .config = REGDMA_LINK_WRITE_INIT(REGDMA_PCR_LINK(7), PCR_AHB_FREQ_CONF_REG, 0, PCR_AHB_DIV_NUM, 1, 0), .owner = ENTRY(0) | ENTRY(1) }, /* Set AHB bus frequency to XTAL frequency */ - [8] = { .config = REGDMA_LINK_WRITE_INIT(REGDMA_PCR_LINK(8), PCR_BUS_CLK_UPDATE_REG, 1, PCR_BUS_CLOCK_UPDATE, 1, 0), .owner = ENTRY(0) | ENTRY(1) }, + [6] = { .config = REGDMA_LINK_WAIT_INIT (REGDMA_PCR_LINK(6), PMU_CLK_STATE0_REG, PMU_STABLE_XPD_BBPLL_STATE, PMU_STABLE_XPD_BBPLL_STATE_M, 1, 0), .owner = ENTRY(0) }, /* Wait PMU_WAIT_XTL_STABLE done */ + [7] = { .config = REGDMA_LINK_WRITE_INIT(REGDMA_PCR_LINK(7), PCR_AHB_FREQ_CONF_REG, 0, PCR_AHB_DIV_NUM, 1, 0), .owner = ENTRY(0) | ENTRY(1) }, /* Set AHB bus frequency to XTAL frequency */ + [8] = { .config = REGDMA_LINK_WRITE_INIT(REGDMA_PCR_LINK(8), PCR_BUS_CLK_UPDATE_REG, 1, PCR_BUS_CLOCK_UPDATE, 1, 0), .owner = ENTRY(0) | ENTRY(1) }, + [9] = { .config = REGDMA_LINK_WRITE_INIT(REGDMA_PCR_LINK(10), LP_ANA_POWER_GLITCH_CNTL_REG, 0, LP_ANA_PWR_GLITCH_RESET_ENA_M, 0, 1), .owner = ENTRY(0) | ENTRY(1) }, /* Disable power glitch detector on sleep backup */ + [10] = {.config = REGDMA_LINK_WRITE_INIT(REGDMA_PCR_LINK(11), LP_ANA_POWER_GLITCH_CNTL_REG, 0xF, LP_ANA_PWR_GLITCH_RESET_ENA_M, 1, 0), .owner = ENTRY(0) | ENTRY(1) }, /* Enable power glitch detector on wakeup restore */ #if CONFIG_PM_POWER_DOWN_PERIPHERAL_IN_LIGHT_SLEEP - [9] = { .config = REGDMA_LINK_ADDR_MAP_INIT(REGDMA_PCR_LINK(9), DR_REG_PCR_BASE, DR_REG_PCR_BASE, 75, 0, 0, 0xffffffff, 0xffffffff, 0x200007f7, 0x0), .owner = ENTRY(0) | ENTRY(1) }, + [11] = { .config = REGDMA_LINK_ADDR_MAP_INIT(REGDMA_PCR_LINK(9), DR_REG_PCR_BASE, DR_REG_PCR_BASE, 75, 0, 0, 0xffffffff, 0xffffffff, 0x200007f7, 0x0), .owner = ENTRY(0) | ENTRY(1) }, #endif - [10] = {.config = REGDMA_LINK_WRITE_INIT (REGDMA_PCR_LINK(10), LP_ANA_POWER_GLITCH_CNTL_REG, 0, LP_ANA_PWR_GLITCH_RESET_ENA_M, 0, 1), .owner = ENTRY(0) | ENTRY(1)}, /* Disable power glitch detector on sleep backup */ - [11] = {.config = REGDMA_LINK_WRITE_INIT (REGDMA_PCR_LINK(11), LP_ANA_POWER_GLITCH_CNTL_REG, 0xF, LP_ANA_PWR_GLITCH_RESET_ENA_M, 1, 0), .owner = ENTRY(0) | ENTRY(1)}, /* Enable power glitch detector on wakeup restore */ }; esp_err_t err = sleep_retention_entries_create(pcr_regs_retention, ARRAY_SIZE(pcr_regs_retention), REGDMA_LINK_PRI_SYS_CLK, SLEEP_RETENTION_MODULE_CLOCK_SYSTEM); ESP_RETURN_ON_ERROR(err, TAG, "failed to allocate memory for system (PCR) retention"); diff --git a/components/esp_hw_support/port/esp32c5/private_include/pmu_param.h b/components/esp_hw_support/port/esp32c5/private_include/pmu_param.h index 40d9302b74..15607ffb88 100644 --- a/components/esp_hw_support/port/esp32c5/private_include/pmu_param.h +++ b/components/esp_hw_support/port/esp32c5/private_include/pmu_param.h @@ -487,11 +487,11 @@ typedef struct pmu_sleep_machine_constant { .reset_wait_time_us = 1, \ .power_supply_wait_time_us = 2, \ .power_up_wait_time_us = 2, \ - .regdma_s2m_work_time_us = 275, \ - .regdma_s2a_work_time_us = 587, \ - .regdma_m2a_work_time_us = 320, \ - .regdma_a2s_work_time_us = 494, \ - .regdma_rf_on_work_time_us = 60, \ + .regdma_s2m_work_time_us = 287, \ + .regdma_s2a_work_time_us = 568, \ + .regdma_m2a_work_time_us = 248, \ + .regdma_a2s_work_time_us = 433, \ + .regdma_rf_on_work_time_us = 68, \ .regdma_rf_off_work_time_us = 25, \ .xtal_wait_stable_time_us = 250, \ .pll_wait_stable_time_us = 50 \ diff --git a/components/esp_phy/esp32c5/phy_init_data.c b/components/esp_phy/esp32c5/phy_init_data.c index b8d7eadcc6..fcf1e743e2 100644 --- a/components/esp_phy/esp32c5/phy_init_data.c +++ b/components/esp_phy/esp32c5/phy_init_data.c @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -17,220 +17,61 @@ const char __attribute__((section(".rodata"))) phy_init_magic_pre[] = PHY_INIT_M * @brief Structure containing default recommended PHY initialization parameters. */ const esp_phy_init_data_t phy_init_data= { { - 0x01, 0x00, - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x54), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x54), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x50), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x50), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x50), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4c), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x48), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x3C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x3C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x3C), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x48), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x50), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x50), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x50), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4c), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x48), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x40), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x3C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x3C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x3C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), - LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x4C), LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x48), - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, - 0x00, + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x40), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x40), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x48), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x48), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x48), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x48), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x40), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x40), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x3C), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x48), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x40), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x40), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x3C), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x38), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x44), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x40), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x40), + LIMIT(CONFIG_ESP_PHY_MAX_TX_POWER * 4, 0, 0x3C), + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, + 0x0, 0, 0, 0, @@ -272,7 +113,166 @@ const esp_phy_init_data_t phy_init_data= { { 0, 0, 0, - 0x5A + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0, + 0xF5 } }; const char __attribute__((section(".rodata"))) phy_init_magic_post[] = PHY_INIT_MAGIC; @@ -285,25 +285,26 @@ static const char* TAG = "phy_sleep"; static esp_err_t sleep_retention_wifi_bb_init(void *arg) { - #define N_REGS_WIFI_AGC() (126) - #define N_REGS_WIFI_TX() (20) - #define N_REGS_WIFI_NRX() (141) - #define N_REGS_WIFI_BB() (63) - #define N_REGS_WIFI_BRX() (39) - #define N_REGS_WIFI_FE_COEX() (19) - #define N_REGS_WIFI_FE_DATA() (31) - #define N_REGS_WIFI_FE_CTRL() (55) + #define N_REGS_WIFI_AGC() (130) + #define N_REGS_WIFI_TX() (30) + #define N_REGS_WIFI_NRX() (145) + #define N_REGS_WIFI_BB() (82) + #define N_REGS_WIFI_BRX() (39) + #define N_REGS_WIFI_FE_COEX() (21) + #define N_REGS_WIFI_FE_DATA() (35) + #define N_REGS_WIFI_FE_CTRL() (56) + #define N_REGS_WIFI_FE_DATA_WIFI() (22) const static sleep_retention_entries_config_t bb_regs_retention[] = { - [0] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b00, 0x600a7000, 0x600a7000, N_REGS_WIFI_AGC(), 0, 0), .owner = BIT(0) | BIT(1) }, /* AGC */ - [1] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b01, 0x600a7400, 0x600a7400, N_REGS_WIFI_TX(), 0, 0), .owner = BIT(0) | BIT(1) }, /* TX */ - [2] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b02, 0x600a7800, 0x600a7800, N_REGS_WIFI_NRX(), 0, 0), .owner = BIT(0) | BIT(1) }, /* NRX */ - [3] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b03, 0x600a7c00, 0x600a7c00, N_REGS_WIFI_BB(), 0, 0), .owner = BIT(0) | BIT(1) }, /* BB */ - [4] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b05, 0x600a0000, 0x600a0000, N_REGS_WIFI_FE_COEX(), 0, 0), .owner = BIT(0) | BIT(1) }, /* FE COEX */ - [5] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b06, 0x600a8000, 0x600a8000, N_REGS_WIFI_BRX(), 0, 0), .owner = BIT(0) | BIT(1) }, /* BRX */ - [6] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b07, 0x600a0400, 0x600a0400, N_REGS_WIFI_FE_DATA(), 0, 0), .owner = BIT(0) | BIT(1) }, /* FE DATA */ - [7] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b08, 0x600a0800, 0x600a0800, N_REGS_WIFI_FE_CTRL(), 0, 0), .owner = BIT(0) | BIT(1) }, /* FE CTRL */ - [8] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b09, 0x600a0c00, 0x600a0c00, 20, 0, 0), .owner = BIT(0) | BIT(1) } /* FE WIFI DATA */ + [0] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b00, 0x600a7000, 0x600a7000, N_REGS_WIFI_AGC(), 0, 0), .owner = BIT(0) | BIT(1) }, /* AGC */ + [1] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b01, 0x600a7400, 0x600a7400, N_REGS_WIFI_TX(), 0, 0), .owner = BIT(0) | BIT(1) }, /* TX */ + [2] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b02, 0x600a7800, 0x600a7800, N_REGS_WIFI_NRX(), 0, 0), .owner = BIT(0) | BIT(1) }, /* NRX */ + [3] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b03, 0x600a7c00, 0x600a7c00, N_REGS_WIFI_BB(), 0, 0), .owner = BIT(0) | BIT(1) }, /* BB */ + [4] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b05, 0x600a0000, 0x600a0000, N_REGS_WIFI_FE_COEX(), 0, 0), .owner = BIT(0) | BIT(1) }, /* FE COEX */ + [5] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b06, 0x600a8000, 0x600a8000, N_REGS_WIFI_BRX(), 0, 0), .owner = BIT(0) | BIT(1) }, /* BRX */ + [6] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b07, 0x600a0400, 0x600a0400, N_REGS_WIFI_FE_DATA(), 0, 0), .owner = BIT(0) | BIT(1) }, /* FE DATA */ + [7] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b08, 0x600a0800, 0x600a0800, N_REGS_WIFI_FE_CTRL(), 0, 0), .owner = BIT(0) | BIT(1) }, /* FE CTRL */ + [8] = { .config = REGDMA_LINK_CONTINUOUS_INIT(0x0b09, 0x600a0c00, 0x600a0c00, N_REGS_WIFI_FE_DATA_WIFI(),0, 0), .owner = BIT(0) | BIT(1) } /* FE WIFI DATA */ }; esp_err_t err = sleep_retention_entries_create(bb_regs_retention, ARRAY_SIZE(bb_regs_retention), 3, SLEEP_RETENTION_MODULE_WIFI_BB); ESP_RETURN_ON_ERROR(err, TAG, "failed to allocate memory for modem (%s) retention", "WiFi BB"); diff --git a/components/esp_phy/lib b/components/esp_phy/lib index 9863dc07be..5466bfa8fd 160000 --- a/components/esp_phy/lib +++ b/components/esp_phy/lib @@ -1 +1 @@ -Subproject commit 9863dc07bef5e89f7f45ce0768a019d5ac89de68 +Subproject commit 5466bfa8fde26f45cb1f7fb5dc864cbb7e50e139 diff --git a/components/esp_rom/esp32c5/ld/esp32c5.rom.net80211.ld b/components/esp_rom/esp32c5/ld/esp32c5.rom.net80211.ld index 6ccfd1b404..1a862d0990 100644 --- a/components/esp_rom/esp32c5/ld/esp32c5.rom.net80211.ld +++ b/components/esp_rom/esp32c5/ld/esp32c5.rom.net80211.ld @@ -65,7 +65,7 @@ wifi_get_macaddr = 0x40000bc4; wifi_rf_phy_disable = 0x40000bc8; wifi_rf_phy_enable = 0x40000bcc; wifi_is_started = 0x40000bd0; -sta_input = 0x40000bd4; +/*sta_input = 0x40000bd4;*/ sta_rx_eapol = 0x40000bd8; sta_reset_beacon_timeout = 0x40000bdc; sta_get_beacon_timeout = 0x40000be0; diff --git a/components/esp_rom/esp32c5/ld/esp32c5.rom.pp.ld b/components/esp_rom/esp32c5/ld/esp32c5.rom.pp.ld index 7b41de1e89..ea829234a5 100644 --- a/components/esp_rom/esp32c5/ld/esp32c5.rom.pp.ld +++ b/components/esp_rom/esp32c5/ld/esp32c5.rom.pp.ld @@ -116,7 +116,7 @@ pm_local_tsf_process = 0x40000d68; pm_set_beacon_filter = 0x40000d6c; /*pm_is_in_wifi_slice_threshold = 0x40000d70;*/ pm_is_waked = 0x40000d74; -pm_keep_alive = 0x40000d78; +/*pm_keep_alive = 0x40000d78;*/ pm_on_beacon_rx = 0x40000d7c; pm_on_data_rx = 0x40000d80; pm_on_data_tx = 0x40000d84; @@ -144,7 +144,7 @@ pm_tx_data_process = 0x40000dd8; pm_is_twt_awake = 0x40000ddc; pm_enable_twt_keep_alive = 0x40000de0; pm_twt_on_tsf_timer = 0x40000de4; -pm_twt_process = 0x40000de8; +/*pm_twt_process = 0x40000de8;*/ pm_is_twt_start = 0x40000dec; pm_twt_set_target_wdev_time = 0x40000df0; pm_twt_set_target_tsf = 0x40000df4; @@ -230,7 +230,7 @@ rcampduuprate = 0x40000f30; rcClearCurAMPDUSched = 0x40000f34; rcClearCurSched = 0x40000f38; rcClearCurStat = 0x40000f3c; -rcGetSched = 0x40000f40; +/*rcGetSched = 0x40000f40;*/ rcLowerSched = 0x40000f44; rcSetTxAmpduLimit = 0x40000f48; rcTxUpdatePer = 0x40000f4c; @@ -270,7 +270,7 @@ wdev_mac_special_reg_store = 0x40000fd0; wdev_mac_wakeup = 0x40000fd4; wdev_mac_sleep = 0x40000fd8; wDev_ProcessFiq = 0x40000fdc; -wDev_ProcessRxSucData = 0x40000fe0; +/*wDev_ProcessRxSucData = 0x40000fe0;*/ wdevProcessRxSucDataAll = 0x40000fe4; wdev_csi_len_align = 0x40000fe8; wDev_IndicateBeaconMemoryFrame = 0x40000fec; @@ -483,7 +483,7 @@ tsf_hal_get_counter_value = 0x40001524; ***************************************/ /* Functions */ -pm_enable_max_idle_timer = 0x400015b8; +/*pm_enable_max_idle_timer = 0x400015b8;*/ pm_beacon_offset_is_enabled = 0x400015bc; pm_beacon_offset_is_sampling = 0x400015c0; pm_beacon_offset_add_total_counter = 0x400015c4; diff --git a/components/esp_wifi/include/esp_private/esp_wifi_he_private.h b/components/esp_wifi/include/esp_private/esp_wifi_he_private.h index 9e437720af..15b82bf654 100644 --- a/components/esp_wifi/include/esp_private/esp_wifi_he_private.h +++ b/components/esp_wifi/include/esp_private/esp_wifi_he_private.h @@ -198,7 +198,8 @@ esp_err_t esp_test_clr_rx_ctrls(void); esp_err_t esp_test_get_rx_ctrls(esp_test_rx_ctrl_t* rx); void hal_set_tx_pwr(wifi_phy_rate_t rate, int8_t max_pwr); -int8_t hal_get_tx_pwr(wifi_phy_rate_t rate); +void esp_wifi_disable_obss_narrow_bw_ru(bool disable); +void esp_wifi_set_bmfmee_nsts(bool he, uint8_t bmfmee_sts); #ifdef __cplusplus } diff --git a/components/esp_wifi/include/esp_private/esp_wifi_he_types_private.h b/components/esp_wifi/include/esp_private/esp_wifi_he_types_private.h index 763aa7144b..7443822ad9 100644 --- a/components/esp_wifi/include/esp_private/esp_wifi_he_types_private.h +++ b/components/esp_wifi/include/esp_private/esp_wifi_he_types_private.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -245,6 +245,11 @@ typedef struct { uint32_t rx_ndpa; uint32_t rx_reset_rxbase_cnt; uint32_t rx_base_null_cnt; + uint32_t vht_mu[64][4]; + uint32_t vht_mu_noeb; + uint32_t vht_mu_stbc; + uint32_t vht_mu_retry[64][4]; + uint16_t vht_mu_mcs[64][4][12]; } esp_test_rx_statistics_t; //140 bytes #else @@ -366,6 +371,8 @@ typedef struct { uint16_t tb_cca_cancel; uint16_t tb_sifs_abort; uint16_t tb_pwr_outof_range; + uint16_t vht_bfrpt; + uint16_t polled_vht_bfrpt; } esp_test_hw_tb_statistics_t; //14 bytes typedef struct { @@ -400,6 +407,7 @@ typedef struct { uint16_t nrx_err_serv; uint16_t nrx_err_txover; uint16_t nrx_err_unsupport; + uint16_t nrx_err_heformat; uint16_t nrx_htsig_err; uint16_t nrx_heunsupport; uint16_t nrx_hesiga_crc; @@ -410,6 +418,8 @@ typedef struct { uint32_t rxtxpanic; uint8_t bf_ndp_timeout; uint8_t bf_report_err; + uint16_t nrx_vhtunsupport; + uint16_t nrx_vhtsiga_crc; #endif } esp_test_hw_rx_statistics_t; //76->80 bytes @@ -431,6 +441,12 @@ typedef struct { int bfrp; int nfrp; int bar; + int trigger_basic_cnt; + int trigger_basic_id_0_cnt; + int trigger_basic_id_2045_cnt; + int trigger_basic_id_2046_cnt; + int trigger_basic_id_other_cnt; + int bfpoll; } esp_test_rx_ctrl_t; typedef enum { diff --git a/components/esp_wifi/include/esp_wifi.h b/components/esp_wifi/include/esp_wifi.h index af2360f949..f6e9f09f75 100644 --- a/components/esp_wifi/include/esp_wifi.h +++ b/components/esp_wifi/include/esp_wifi.h @@ -774,6 +774,8 @@ esp_err_t esp_wifi_get_bandwidth(wifi_interface_t ifx, wifi_bandwidth_t *bw); * @attention 4. When device is in STA+softAP mode, this API should not be called when in the scenarios described above * @attention 5. The channel info set by this API will not be stored in NVS. So If you want to remember the channel used before WiFi stop, * you need to call this API again after WiFi start, or you can call `esp_wifi_set_config()` to store the channel info in NVS. + * @attention 6. When operating in 5 GHz band, the second channel is automatically determined by the primary channel according to the 802.11 standard. + * Any manually configured second channel will be ignored. * * @param primary for HT20, primary is the channel number, for HT40, primary is the primary channel * @param second for HT20, second is ignored, for HT40, second is the second channel diff --git a/components/esp_wifi/include/esp_wifi_he_types.h b/components/esp_wifi/include/esp_wifi_he_types.h index 35ab4b0b2c..991807dfe7 100644 --- a/components/esp_wifi/include/esp_wifi_he_types.h +++ b/components/esp_wifi/include/esp_wifi_he_types.h @@ -1,5 +1,5 @@ /* - * SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD + * SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD * * SPDX-License-Identifier: Apache-2.0 */ @@ -167,6 +167,7 @@ typedef enum { RX_BB_FORMAT_HE_MU = 5, /**< the reception frame is a HE MU MPDU */ RX_BB_FORMAT_HE_ERSU = 6, /**< the reception frame is a HE ER SU MPDU */ RX_BB_FORMAT_HE_TB = 7, /**< the reception frame is a HE TB MPDU */ + RX_BB_FORMAT_VHT_MU = 11, /**< the reception frame is a VHT MU MPDU */ } wifi_rx_bb_format_t; /** diff --git a/components/esp_wifi/include/esp_wifi_types_generic.h b/components/esp_wifi/include/esp_wifi_types_generic.h index 82667bf3bd..ace8e5adc8 100644 --- a/components/esp_wifi/include/esp_wifi_types_generic.h +++ b/components/esp_wifi/include/esp_wifi_types_generic.h @@ -562,7 +562,7 @@ typedef struct { uint32_t ft_enabled: 1; /**< Whether FT is enabled for the connection */ uint32_t owe_enabled: 1; /**< Whether OWE is enabled for the connection */ uint32_t transition_disable: 1; /**< Whether to enable transition disable feature */ - uint32_t reserved: 26; /**< Reserved for future feature set */ + uint32_t reserved1: 26; /**< Reserved for future feature set */ wifi_sae_pwe_method_t sae_pwe_h2e; /**< Configuration for SAE PWE derivation method */ wifi_sae_pk_mode_t sae_pk_mode; /**< Configuration for SAE-PK (Public Key) Authentication method */ uint8_t failure_retry_cnt; /**< Number of connection retries station will do before moving to next AP. scan_method should be set as WIFI_ALL_CHANNEL_SCAN to use this config. @@ -570,13 +570,16 @@ typedef struct { uint32_t he_dcm_set: 1; /**< Whether DCM max.constellation for transmission and reception is set. */ uint32_t he_dcm_max_constellation_tx: 2; /**< Indicate the max.constellation for DCM in TB PPDU the STA supported. 0: not supported. 1: BPSK, 2: QPSK, 3: 16-QAM. The default value is 3. */ uint32_t he_dcm_max_constellation_rx: 2; /**< Indicate the max.constellation for DCM in both Data field and HE-SIG-B field the STA supported. 0: not supported. 1: BPSK, 2: QPSK, 3: 16-QAM. The default value is 3. */ - uint32_t he_mcs9_enabled: 1; /**< Whether to support HE-MCS 0 to 9. The default value is 0. */ + uint32_t he_mcs9_enabled: 1; /**< Whether to support HE-MCS8 and HE-MCS9. The default value is 0. */ uint32_t he_su_beamformee_disabled: 1; /**< Whether to disable support for operation as an SU beamformee. */ uint32_t he_trig_su_bmforming_feedback_disabled: 1; /**< Whether to disable support the transmission of SU feedback in an HE TB sounding sequence. */ uint32_t he_trig_mu_bmforming_partial_feedback_disabled: 1; /**< Whether to disable support the transmission of partial-bandwidth MU feedback in an HE TB sounding sequence. */ uint32_t he_trig_cqi_feedback_disabled: 1; /**< Whether to disable support the transmission of CQI feedback in an HE TB sounding sequence. */ - uint32_t he_reserved: 22; /**< Reserved for future feature set */ - uint8_t sae_h2e_identifier[SAE_H2E_IDENTIFIER_LEN]; /**< Password identifier for H2E. this needs to be null terminated string */ + uint32_t vht_su_beamformee_disabled: 1; /**< Whether to disable support for operation as an VHT SU beamformee. */ + uint32_t vht_mu_beamformee_disabled: 1; /**< Whether to disable support for operation as an VHT MU beamformee. */ + uint32_t vht_mcs8_enabled: 1; /**< Whether to support VHT-MCS8. The default value is 0. */ + uint32_t reserved2: 19; /**< Reserved for future feature set */ + uint8_t sae_h2e_identifier[SAE_H2E_IDENTIFIER_LEN];/**< Password identifier for H2E. this needs to be null terminated string */ } wifi_sta_config_t; /** diff --git a/components/esp_wifi/lib b/components/esp_wifi/lib index 423140b15e..045077064a 160000 --- a/components/esp_wifi/lib +++ b/components/esp_wifi/lib @@ -1 +1 @@ -Subproject commit 423140b15e2bcd1fbec51a7fb0438911d2073655 +Subproject commit 045077064a43cf51019c427a7dd461fae3fe07d5 diff --git a/components/esp_wifi/regulatory/esp_wifi_regulatory.c b/components/esp_wifi/regulatory/esp_wifi_regulatory.c index fa6fd3434c..c11c33f2ed 100644 --- a/components/esp_wifi/regulatory/esp_wifi_regulatory.c +++ b/components/esp_wifi/regulatory/esp_wifi_regulatory.c @@ -418,7 +418,7 @@ const wifi_regulatory_t regulatory_data[] = { { 36, 48, 3, 23, 0, 0 }, /* chan:36~48, max_bw:80M, max_power:23(dBm), dfs:0, reserved.*/ { 52, 64, 3, 24, 1, 0 }, /* chan:52~64, max_bw:80M, max_power:24(dBm), dfs:1, reserved.*/ { 100, 144, 4, 24, 1, 0 }, /* chan:100~144, max_bw:160M, max_power:24(dBm), dfs:1, reserved.*/ - { 149, 165, 3, 30, 0, 0 }, /* chan:149~165, max_bw:80M, max_power:30(dBm), dfs:0, reserved.*/ + { 149, 169, 3, 27, 0, 0 }, /* chan:149~169, max_bw:80M, max_power:27(dBm), dfs:0, reserved.*/ { 173, 177, 2, 27, 0, 0 }, /* chan:173~177, max_bw:40M, max_power:27(dBm), dfs:0, reserved.*/ } }, diff --git a/components/esp_wifi/regulatory/esp_wifi_regulatory.txt b/components/esp_wifi/regulatory/esp_wifi_regulatory.txt index 4454a5c9a8..22c96d3381 100644 --- a/components/esp_wifi/regulatory/esp_wifi_regulatory.txt +++ b/components/esp_wifi/regulatory/esp_wifi_regulatory.txt @@ -1966,10 +1966,14 @@ country US: DFS-FCC # requirements, we can extend the range by 5 MHz to make the kernel # happy and be able to use channel 144. (5470 - 5730 @ 160), (24), DFS - (5730 - 5850 @ 80), (30), AUTO-BW + # This range ends at 5850 MHz, but channel 169 extends to 5855 MHz. + # Since 5850 ~ 5855 MHz belongs to the next range which has looser + # requirements, we extend the range by 5 MHz to make the driver + # happy and be able to use channel 169. + (5730 - 5855 @ 80), (27), AUTO-BW # https://www.federalregister.gov/documents/2021/05/03/2021-08802/use-of-the-5850-5925-ghz-band # max. 33 dBm AP @ 20MHz, 36 dBm AP @ 40Mhz+, 6 dB less for clients - (5850 - 5895 @ 40), (27), NO-OUTDOOR, AUTO-BW, NO-IR + (5855 - 5895 @ 40), (27), NO-OUTDOOR, AUTO-BW, NO-IR # 6g band # https://www.federalregister.gov/documents/2020/05/26/2020-11236/unlicensed-use-of-the-6ghz-band (5925 - 7125 @ 320), (12), NO-OUTDOOR, NO-IR diff --git a/components/esp_wifi/test_apps/wifi_connect/README.md b/components/esp_wifi/test_apps/wifi_connect/README.md index eb9e30e063..1c35092948 100644 --- a/components/esp_wifi/test_apps/wifi_connect/README.md +++ b/components/esp_wifi/test_apps/wifi_connect/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | diff --git a/components/esp_wifi/test_apps/wifi_function/README.md b/components/esp_wifi/test_apps/wifi_function/README.md index 9300ad6455..aa42f91b6b 100644 --- a/components/esp_wifi/test_apps/wifi_function/README.md +++ b/components/esp_wifi/test_apps/wifi_function/README.md @@ -1,3 +1,3 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | diff --git a/components/hal/esp32c5/include/hal/efuse_ll.h b/components/hal/esp32c5/include/hal/efuse_ll.h index 00d5dce614..359a0a6562 100644 --- a/components/hal/esp32c5/include/hal/efuse_ll.h +++ b/components/hal/esp32c5/include/hal/efuse_ll.h @@ -150,7 +150,9 @@ __attribute__((always_inline)) static inline void efuse_ll_rs_bypass_update(void __attribute__((always_inline)) static inline uint32_t efuse_ll_get_controller_state(void) { - return EFUSE.status.state; + // TODO: IDF-12854 + //return EFUSE.status.state; + return EFUSE_CONTROLLER_STATE_IDLE; } #ifdef __cplusplus diff --git a/components/soc/esp32c5/include/modem/modem_lpcon_reg.h b/components/soc/esp32c5/include/modem/modem_lpcon_reg.h index 2e16b2e54c..014d5e62f7 100644 --- a/components/soc/esp32c5/include/modem/modem_lpcon_reg.h +++ b/components/soc/esp32c5/include/modem/modem_lpcon_reg.h @@ -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)) diff --git a/components/soc/esp32c5/include/modem/modem_lpcon_struct.h b/components/soc/esp32c5/include/modem/modem_lpcon_struct.h index 8ce1a6ab15..06531841dd 100644 --- a/components/soc/esp32c5/include/modem/modem_lpcon_struct.h +++ b/components/soc/esp32c5/include/modem/modem_lpcon_struct.h @@ -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 diff --git a/components/soc/esp32c5/include/modem/modem_syscon_reg.h b/components/soc/esp32c5/include/modem/modem_syscon_reg.h index 765cb3a00c..3abf763ee8 100644 --- a/components/soc/esp32c5/include/modem/modem_syscon_reg.h +++ b/components/soc/esp32c5/include/modem/modem_syscon_reg.h @@ -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)) diff --git a/components/soc/esp32c5/include/modem/modem_syscon_struct.h b/components/soc/esp32c5/include/modem/modem_syscon_struct.h index 3e42205e60..a827dd2c60 100644 --- a/components/soc/esp32c5/include/modem/modem_syscon_struct.h +++ b/components/soc/esp32c5/include/modem/modem_syscon_struct.h @@ -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 diff --git a/components/soc/esp32c5/include/soc/Kconfig.soc_caps.in b/components/soc/esp32c5/include/soc/Kconfig.soc_caps.in index 052ad8d1d7..1767d45aa0 100644 --- a/components/soc/esp32c5/include/soc/Kconfig.soc_caps.in +++ b/components/soc/esp32c5/include/soc/Kconfig.soc_caps.in @@ -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 diff --git a/components/soc/esp32c5/include/soc/soc_caps.h b/components/soc/esp32c5/include/soc/soc_caps.h index f0268d7f38..aacbf2fe1a 100644 --- a/components/soc/esp32c5/include/soc/soc_caps.h +++ b/components/soc/esp32c5/include/soc/soc_caps.h @@ -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 diff --git a/components/wpa_supplicant/test_apps/README.md b/components/wpa_supplicant/test_apps/README.md index 0d1a0dc44a..e5c31559f2 100644 --- a/components/wpa_supplicant/test_apps/README.md +++ b/components/wpa_supplicant/test_apps/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # wpa_supplicant unit test diff --git a/docs/conf_common.py b/docs/conf_common.py index f5741975cf..5dfde7718b 100644 --- a/docs/conf_common.py +++ b/docs/conf_common.py @@ -285,7 +285,7 @@ ESP32C3_DOCS = ['hw-reference/esp32c3/**', 'api-guides/RF_calibration.rst', 'api ESP32C2_DOCS = ['api-guides/RF_calibration.rst', 'api-guides/phy.rst'] -ESP32C5_DOCS = [] # TODO: [ESP32C5 ECO2] IDF-12823 add back 'api-guides/phy.rst' +ESP32C5_DOCS = ['api-guides/phy.rst'] ESP32C61_DOCS = ['api-guides/phy.rst'] diff --git a/examples/mesh/internal_communication/README.md b/examples/mesh/internal_communication/README.md index 5bdfe01711..c2a5b5f488 100644 --- a/examples/mesh/internal_communication/README.md +++ b/examples/mesh/internal_communication/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | # Mesh Internal Communication Example diff --git a/examples/mesh/ip_internal_network/README.md b/examples/mesh/ip_internal_network/README.md index c30423383a..394e9622b8 100644 --- a/examples/mesh/ip_internal_network/README.md +++ b/examples/mesh/ip_internal_network/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | # Mesh IP Internal Networking example diff --git a/examples/mesh/manual_networking/README.md b/examples/mesh/manual_networking/README.md index ec34ac349b..5fc60d9bf9 100644 --- a/examples/mesh/manual_networking/README.md +++ b/examples/mesh/manual_networking/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | # Mesh Manual Networking Example diff --git a/examples/network/eth2ap/README.md b/examples/network/eth2ap/README.md index 42d38a3ec1..f6437c1728 100644 --- a/examples/network/eth2ap/README.md +++ b/examples/network/eth2ap/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # eth2ap Example (See the README.md file in the upper level 'examples' directory for more information about examples. To try a more complex application about Ethernet to WiFi data forwarding, please go to [iot-solution](https://github.com/espressif/esp-iot-solution/tree/release/v1.0/examples/eth2wifi).) diff --git a/examples/network/simple_sniffer/README.md b/examples/network/simple_sniffer/README.md index 827cedf8d9..2af07bb096 100644 --- a/examples/network/simple_sniffer/README.md +++ b/examples/network/simple_sniffer/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Simple Sniffer Example diff --git a/examples/network/sta2eth/README.md b/examples/network/sta2eth/README.md index b8ce0697c3..2665071dca 100644 --- a/examples/network/sta2eth/README.md +++ b/examples/network/sta2eth/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # WiFi station to "Wired" interface L2 forwarder diff --git a/examples/network/sta2eth/sdkconfig.defaults.esp32c5 b/examples/network/sta2eth/sdkconfig.defaults.esp32c5 new file mode 100644 index 0000000000..1b4441d4f0 --- /dev/null +++ b/examples/network/sta2eth/sdkconfig.defaults.esp32c5 @@ -0,0 +1,3 @@ +CONFIG_EXAMPLE_WIRED_INTERFACE_IS_ETHERNET=y + +CONFIG_PARTITION_TABLE_SINGLE_APP_LARGE=y diff --git a/examples/openthread/ot_br/README.md b/examples/openthread/ot_br/README.md index 976ff376ad..fe3c90938a 100644 --- a/examples/openthread/ot_br/README.md +++ b/examples/openthread/ot_br/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | # OpenThread Border Router Example diff --git a/examples/openthread/ot_trel/README.md b/examples/openthread/ot_trel/README.md index 9ceef77fdb..5cc60dfa2f 100644 --- a/examples/openthread/ot_trel/README.md +++ b/examples/openthread/ot_trel/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Thread Radio Encapsulation Link Example diff --git a/examples/peripherals/i2c/i2c_slave_network_sensor/README.md b/examples/peripherals/i2c/i2c_slave_network_sensor/README.md index d0eb55257c..91c3ef9314 100644 --- a/examples/peripherals/i2c/i2c_slave_network_sensor/README.md +++ b/examples/peripherals/i2c/i2c_slave_network_sensor/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-P4 | ESP32-S2 | ESP32-S3 | -| ----------------- | -------- | -------- | --------- | -------- | -------- | -------- | +| Supported Targets | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-P4 | ESP32-S2 | ESP32-S3 | +| ----------------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | # I2C slave example diff --git a/examples/protocols/http_server/captive_portal/README.md b/examples/protocols/http_server/captive_portal/README.md index 3dbabfe983..7b13b555fb 100644 --- a/examples/protocols/http_server/captive_portal/README.md +++ b/examples/protocols/http_server/captive_portal/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Captive Portal Example diff --git a/examples/provisioning/wifi_prov_mgr/README.md b/examples/provisioning/wifi_prov_mgr/README.md index 09f4eefb4a..50a458f5c5 100644 --- a/examples/provisioning/wifi_prov_mgr/README.md +++ b/examples/provisioning/wifi_prov_mgr/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wi-Fi Provisioning Manager Example diff --git a/examples/wifi/README.md b/examples/wifi/README.md index cdd1be113a..1d2a49c1e6 100644 --- a/examples/wifi/README.md +++ b/examples/wifi/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | # Wi-Fi Examples diff --git a/examples/wifi/espnow/README.md b/examples/wifi/espnow/README.md index 5cb41ea32b..c9880f6fbe 100644 --- a/examples/wifi/espnow/README.md +++ b/examples/wifi/espnow/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # ESPNOW Example diff --git a/examples/wifi/fast_scan/README.md b/examples/wifi/fast_scan/README.md index 5b8ae8cc0a..003351dba6 100644 --- a/examples/wifi/fast_scan/README.md +++ b/examples/wifi/fast_scan/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wi-Fi Fast Scan Example diff --git a/examples/wifi/getting_started/softAP/README.md b/examples/wifi/getting_started/softAP/README.md index 13dc2c02b8..4c9713eadb 100644 --- a/examples/wifi/getting_started/softAP/README.md +++ b/examples/wifi/getting_started/softAP/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wi-Fi SoftAP Example diff --git a/examples/wifi/getting_started/station/README.md b/examples/wifi/getting_started/station/README.md index 91b522cf9b..07ca4f962a 100644 --- a/examples/wifi/getting_started/station/README.md +++ b/examples/wifi/getting_started/station/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wi-Fi Station Example diff --git a/examples/wifi/iperf/README.md b/examples/wifi/iperf/README.md index aec3528fb7..cdebd8865e 100644 --- a/examples/wifi/iperf/README.md +++ b/examples/wifi/iperf/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-P4 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-P4 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | -------- | # Iperf Example diff --git a/examples/wifi/iperf/sdkconfig.defaults.esp32c5 b/examples/wifi/iperf/sdkconfig.defaults.esp32c5 index 338b88f570..8e522153cb 100644 --- a/examples/wifi/iperf/sdkconfig.defaults.esp32c5 +++ b/examples/wifi/iperf/sdkconfig.defaults.esp32c5 @@ -3,7 +3,7 @@ # CONFIG_IDF_ENV_FPGA=n -CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=22 +CONFIG_ESP_WIFI_STATIC_RX_BUFFER_NUM=20 CONFIG_ESP_WIFI_DYNAMIC_RX_BUFFER_NUM=48 CONFIG_ESP_WIFI_DYNAMIC_TX_BUFFER_NUM=48 CONFIG_ESP_WIFI_AMPDU_TX_ENABLED=y @@ -12,7 +12,7 @@ CONFIG_ESP_WIFI_AMPDU_RX_ENABLED=y CONFIG_ESP_WIFI_RX_BA_WIN=22 CONFIG_ESP_WIFI_NVS_ENABLED=n -CONFIG_LWIP_TCP_SND_BUF_DEFAULT=50400 +CONFIG_LWIP_TCP_SND_BUF_DEFAULT=41760 CONFIG_LWIP_TCP_WND_DEFAULT=65535 CONFIG_LWIP_TCP_RECVMBOX_SIZE=48 CONFIG_LWIP_UDP_RECVMBOX_SIZE=64 diff --git a/examples/wifi/itwt/README.md b/examples/wifi/itwt/README.md index 4976edabad..74079c36be 100644 --- a/examples/wifi/itwt/README.md +++ b/examples/wifi/itwt/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32-C6 | ESP32-C61 | -| ----------------- | -------- | --------- | +| Supported Targets | ESP32-C5 | ESP32-C6 | ESP32-C61 | +| ----------------- | -------- | -------- | --------- | # Wifi itwt Example diff --git a/examples/wifi/power_save/README.md b/examples/wifi/power_save/README.md index 0b794afeff..473379d265 100644 --- a/examples/wifi/power_save/README.md +++ b/examples/wifi/power_save/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wifi Power Save Example diff --git a/examples/wifi/roaming/README.md b/examples/wifi/roaming/README.md index ae4594a70e..1f6850adc6 100644 --- a/examples/wifi/roaming/README.md +++ b/examples/wifi/roaming/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | -------- | # Wi-Fi Roaming Examples diff --git a/examples/wifi/roaming/roaming_11kvr/README.md b/examples/wifi/roaming/roaming_11kvr/README.md index 021cac20cc..de083f2f4c 100644 --- a/examples/wifi/roaming/roaming_11kvr/README.md +++ b/examples/wifi/roaming/roaming_11kvr/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Roaming Example diff --git a/examples/wifi/roaming/roaming_app/README.md b/examples/wifi/roaming/roaming_app/README.md index c929d2df02..6a26485be5 100644 --- a/examples/wifi/roaming/roaming_app/README.md +++ b/examples/wifi/roaming/roaming_app/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wi-Fi Station Example diff --git a/examples/wifi/scan/README.md b/examples/wifi/scan/README.md index 48cab26408..f69e8a56b6 100644 --- a/examples/wifi/scan/README.md +++ b/examples/wifi/scan/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wi-Fi Scan Example diff --git a/examples/wifi/smart_config/README.md b/examples/wifi/smart_config/README.md index cf5801a0e8..191d3d085e 100644 --- a/examples/wifi/smart_config/README.md +++ b/examples/wifi/smart_config/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # smartconfig Example diff --git a/examples/wifi/softap_sta/README.md b/examples/wifi/softap_sta/README.md index f6da8781af..1c7e046959 100644 --- a/examples/wifi/softap_sta/README.md +++ b/examples/wifi/softap_sta/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wi-Fi SoftAP & Station Example diff --git a/examples/wifi/wifi_aware/nan_console/README.md b/examples/wifi/wifi_aware/nan_console/README.md index ab30808eea..2601c22a5c 100644 --- a/examples/wifi/wifi_aware/nan_console/README.md +++ b/examples/wifi/wifi_aware/nan_console/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C61 | ESP32-S2 | -| ----------------- | ----- | --------- | -------- | +| Supported Targets | ESP32 | ESP32-C5 | ESP32-C61 | ESP32-S2 | +| ----------------- | ----- | -------- | --------- | -------- | # NAN Console Example diff --git a/examples/wifi/wifi_aware/nan_publisher/README.md b/examples/wifi/wifi_aware/nan_publisher/README.md index c030353e2a..a50dd05847 100644 --- a/examples/wifi/wifi_aware/nan_publisher/README.md +++ b/examples/wifi/wifi_aware/nan_publisher/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C61 | ESP32-S2 | -| ----------------- | ----- | --------- | -------- | +| Supported Targets | ESP32 | ESP32-C5 | ESP32-C61 | ESP32-S2 | +| ----------------- | ----- | -------- | --------- | -------- | # NAN Publisher Example diff --git a/examples/wifi/wifi_aware/nan_subscriber/README.md b/examples/wifi/wifi_aware/nan_subscriber/README.md index e5e8198f85..c648c75ab7 100644 --- a/examples/wifi/wifi_aware/nan_subscriber/README.md +++ b/examples/wifi/wifi_aware/nan_subscriber/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C61 | ESP32-S2 | -| ----------------- | ----- | --------- | -------- | +| Supported Targets | ESP32 | ESP32-C5 | ESP32-C61 | ESP32-S2 | +| ----------------- | ----- | -------- | --------- | -------- | # NAN Subscriber Example diff --git a/examples/wifi/wifi_eap_fast/README.md b/examples/wifi/wifi_eap_fast/README.md index 960a80422c..ea048f9146 100644 --- a/examples/wifi/wifi_eap_fast/README.md +++ b/examples/wifi/wifi_eap_fast/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # WPA2 Enterprise Example diff --git a/examples/wifi/wifi_easy_connect/dpp-enrollee/README.md b/examples/wifi/wifi_easy_connect/dpp-enrollee/README.md index 36527ec385..859ccb2f77 100644 --- a/examples/wifi/wifi_easy_connect/dpp-enrollee/README.md +++ b/examples/wifi/wifi_easy_connect/dpp-enrollee/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Device Provisioning Protocol (Enrollee) Example diff --git a/examples/wifi/wifi_enterprise/README.md b/examples/wifi/wifi_enterprise/README.md index 8e867beb9a..c9b821f295 100644 --- a/examples/wifi/wifi_enterprise/README.md +++ b/examples/wifi/wifi_enterprise/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Understanding different WiFi enterprise modes: diff --git a/examples/wifi/wps/README.md b/examples/wifi/wps/README.md index 984c21320b..4260e86dfa 100644 --- a/examples/wifi/wps/README.md +++ b/examples/wifi/wps/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wi-Fi WPS Example diff --git a/examples/wifi/wps_softap_registrar/README.md b/examples/wifi/wps_softap_registrar/README.md index 47400a382c..e6dcd9da91 100644 --- a/examples/wifi/wps_softap_registrar/README.md +++ b/examples/wifi/wps_softap_registrar/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # Wi-Fi WPS Registrar Example diff --git a/examples/zigbee/esp_zigbee_gateway/README.md b/examples/zigbee/esp_zigbee_gateway/README.md index 0db31c18cc..e313e611e9 100644 --- a/examples/zigbee/esp_zigbee_gateway/README.md +++ b/examples/zigbee/esp_zigbee_gateway/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C3 | ESP32-C6 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | -------- | # Gateway Example diff --git a/tools/test_apps/peripherals/i2c_wifi/README.md b/tools/test_apps/peripherals/i2c_wifi/README.md index 64d596e684..fd5ce5dc51 100644 --- a/tools/test_apps/peripherals/i2c_wifi/README.md +++ b/tools/test_apps/peripherals/i2c_wifi/README.md @@ -1,5 +1,5 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | # I2C-WIFI Test diff --git a/tools/test_apps/phy/phy_multi_init_data_test/README.md b/tools/test_apps/phy/phy_multi_init_data_test/README.md index eb9e30e063..1c35092948 100644 --- a/tools/test_apps/phy/phy_multi_init_data_test/README.md +++ b/tools/test_apps/phy/phy_multi_init_data_test/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | ----- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32 | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | ----- | -------- | -------- | -------- | -------- | --------- | -------- | -------- | diff --git a/tools/test_apps/phy/phy_tsens/README.md b/tools/test_apps/phy/phy_tsens/README.md index f2e86979ac..c9e6beeb01 100644 --- a/tools/test_apps/phy/phy_tsens/README.md +++ b/tools/test_apps/phy/phy_tsens/README.md @@ -1,2 +1,2 @@ -| Supported Targets | ESP32-C2 | ESP32-C3 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | -| ----------------- | -------- | -------- | -------- | --------- | -------- | -------- | +| Supported Targets | ESP32-C2 | ESP32-C3 | ESP32-C5 | ESP32-C6 | ESP32-C61 | ESP32-S2 | ESP32-S3 | +| ----------------- | -------- | -------- | -------- | -------- | --------- | -------- | -------- |