Merge branch 'debug/debug_on_phy_retention_v6.0_rx_error' into 'release/v6.0'

fix(phy): fix phy retention phy i2c reg config on esp32-c5

See merge request espressif/esp-idf!52970
This commit is contained in:
Wang Meng Yang
2026-09-23 14:26:53 +08:00
3 changed files with 8 additions and 2 deletions
@@ -103,8 +103,10 @@ static esp_err_t sleep_phy_retention_init(void *arg)
memcpy(phy_modem_config, phy_modem_config_template, sizeof(phy_modem_config_template));
extern uint32_t phy_ana_i2c_master_burst_rf_onoff(bool on);
phy_modem_config[4].config.write_wait.value = phy_ana_i2c_master_burst_rf_onoff(true);
phy_modem_config[15].config.write_wait.value = phy_ana_i2c_master_burst_rf_onoff(false);
phy_modem_config[5].config.write_wait.value = phy_ana_i2c_master_burst_rf_onoff(true);
assert(phy_modem_config[5].config.write_wait.backup == (void *)I2C_ANA_MST_I2C_BURST_CONF_REG);
phy_modem_config[17].config.write_wait.value = phy_ana_i2c_master_burst_rf_onoff(false);
assert(phy_modem_config[17].config.write_wait.backup == (void *)I2C_ANA_MST_I2C_BURST_CONF_REG);
esp_err_t err = sleep_retention_entries_create(phy_modem_config, ARRAY_SIZE(phy_modem_config_template), 7, SLEEP_RETENTION_MODULE_MODEM_PHY);
free(phy_modem_config);
ESP_RETURN_ON_ERROR(err, TAG, "failed to allocate modem phy link");
@@ -116,7 +116,9 @@ esp_err_t sleep_phy_link_init(void **link_context)
extern uint32_t phy_ana_i2c_master_burst_rf_onoff(bool on);
phy_modem_config[8].write_wait.value = phy_ana_i2c_master_burst_rf_onoff(true);
assert(phy_modem_config[8].write_wait.backup == (void *)I2C_ANA_MST_I2C_BURST_CONF_REG);
phy_modem_config[24].write_wait.value = phy_ana_i2c_master_burst_rf_onoff(false);
assert(phy_modem_config[24].write_wait.backup == (void *)I2C_ANA_MST_I2C_BURST_CONF_REG);
void *link = NULL;
for (int i = ARRAY_SIZE(phy_modem_config_template) - 1; (err == ESP_OK) && (i >= 0); i--) {
@@ -111,7 +111,9 @@ esp_err_t sleep_phy_link_init(void **link_context)
extern uint32_t phy_ana_i2c_master_burst_rf_onoff(bool on);
phy_modem_config[5].write_wait.value = phy_ana_i2c_master_burst_rf_onoff(true);
assert(phy_modem_config[5].write_wait.backup == (void *)I2C_ANA_MST_I2C_BURST_CONF_REG);
phy_modem_config[21].write_wait.value = phy_ana_i2c_master_burst_rf_onoff(false);
assert(phy_modem_config[21].write_wait.backup == (void *)I2C_ANA_MST_I2C_BURST_CONF_REG);
void *link = NULL;
for (int i = ARRAY_SIZE(phy_modem_config_template) - 1; (err == ESP_OK) && (i >= 0); i--) {