diff --git a/components/esp32/Kconfig b/components/esp32/Kconfig index adbf222a05..f62ef34972 100644 --- a/components/esp32/Kconfig +++ b/components/esp32/Kconfig @@ -539,7 +539,7 @@ menu "ESP32-specific" config ESP32_REDUCE_PHY_TX_POWER bool "Reduce PHY TX power when brownout reset" depends on ESP32_BROWNOUT_DET - default y + default n help When brownout reset occurs, reduce PHY TX power to keep the code running diff --git a/components/esp_wifi/Kconfig b/components/esp_wifi/Kconfig index 7955d202b2..715df929a7 100644 --- a/components/esp_wifi/Kconfig +++ b/components/esp_wifi/Kconfig @@ -473,4 +473,27 @@ menu "PHY" When using USB Serial/JTAG/OTG/CDC, PHY should enable USB, otherwise USB module can not work properly. Notice: Enabling this configuration option will slightly impact wifi performance. + choice ESP_PHY_CALIBRATION_MODE + prompt "Calibration mode" + default ESP_PHY_RF_CAL_PARTIAL + help + Select PHY calibration mode. During RF initialization, the partial calibration + method is used by default for RF calibration. Full calibration takes about 100ms + more than partial calibration. If boot duration is not critical, it is suggested + to use the full calibration method. No calibration method is only used when the + device wakes up from deep sleep. + + config ESP_PHY_RF_CAL_PARTIAL + bool "Calibration partial" + config ESP_PHY_RF_CAL_NONE + bool "Calibration none" + config ESP_PHY_RF_CAL_FULL + bool "Calibration full" + endchoice #ESP_PHY_CALIBRATION_MODE + + config ESP_PHY_CALIBRATION_MODE + int + default 0 if ESP_PHY_RF_CAL_PARTIAL + default 1 if ESP_PHY_RF_CAL_NONE + default 2 if ESP_PHY_RF_CAL_FULL endmenu # PHY diff --git a/components/esp_wifi/src/phy_init.c b/components/esp_wifi/src/phy_init.c index fa07c24248..83a7f1dafe 100644 --- a/components/esp_wifi/src/phy_init.c +++ b/components/esp_wifi/src/phy_init.c @@ -723,7 +723,7 @@ void esp_phy_load_cal_and_init(void) #endif #ifdef CONFIG_ESP32_PHY_CALIBRATION_AND_DATA_STORAGE - esp_phy_calibration_mode_t calibration_mode = PHY_RF_CAL_PARTIAL; + esp_phy_calibration_mode_t calibration_mode = CONFIG_ESP_PHY_CALIBRATION_MODE; uint8_t sta_mac[6]; if (rtc_get_reset_reason(0) == DEEPSLEEP_RESET) { calibration_mode = PHY_RF_CAL_NONE;