Skip to content

Commit

Permalink
Merge branch 'feat/improve_wifi_rx_in_high_interference_v5.1' into 'r…
Browse files Browse the repository at this point in the history
…elease/v5.1'

esp_phy: update esp32c2 phy lib to fix some issues(v5.1)

See merge request espressif/esp-idf!24163
  • Loading branch information
jack0c committed Jul 7, 2023
2 parents a8c9665 + bb3bd09 commit 64ba835
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 2 deletions.
9 changes: 9 additions & 0 deletions components/esp_phy/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -145,4 +145,13 @@ menu "PHY"
default 1 if ESP_PHY_RF_CAL_NONE
default 2 if ESP_PHY_RF_CAL_FULL

config ESP_PHY_IMPROVE_RX_11B
bool "Improve Wi-Fi receive 11b pkts"
default n
depends on SOC_PHY_IMPROVE_RX_11B
help
This is a workaround to improve Wi-Fi receive 11b pkts for some modules using AC-DC power supply with
high interference, enable this option will sacrifice Wi-Fi OFDM receive performance.
But to guarantee 11b receive performance serves as a bottom line in this case.

endmenu # PHY
12 changes: 12 additions & 0 deletions components/esp_phy/include/esp_private/phy.h
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,18 @@ void phy_bbpll_en_usb(bool en);
void phy_eco_version_sel(uint8_t chip_ver);
#endif

#if CONFIG_ESP_PHY_IMPROVE_RX_11B
/**
* @brief Improve Wi-Fi receive 11b pkts when modules with high interference.
*
* @attention 1.This is a workaround to improve Wi-Fi receive 11b pkts for some modules using AC-DC power supply with high interference.
* @attention 2.Enable this will sacrifice Wi-Fi OFDM receive performance. But to guarantee 11b receive performance serves as a bottom line in this case.
*
* @param enable Enable or disable.
*/
void phy_improve_rx_special(bool enable);
#endif

#ifdef __cplusplus
}
#endif
2 changes: 1 addition & 1 deletion components/esp_phy/lib
9 changes: 9 additions & 0 deletions components/esp_phy/src/phy_init.c
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,10 @@ void esp_phy_enable(void)
#if SOC_PM_MODEM_RETENTION_BY_BACKUPDMA
phy_digital_regs_load();
#endif

#if CONFIG_ESP_PHY_IMPROVE_RX_11B
phy_improve_rx_special(true);
#endif
}

#if CONFIG_IDF_TARGET_ESP32
Expand Down Expand Up @@ -808,6 +812,11 @@ void esp_phy_load_cal_and_init(void)
register_chipv7_phy(init_data, cal_data, PHY_RF_CAL_FULL);
#endif

#if CONFIG_ESP_PHY_IMPROVE_RX_11B
ESP_LOGW(TAG, "PHY enable improve rx 11b");
phy_improve_rx_special(true);
#endif

#if CONFIG_ESP_PHY_REDUCE_TX_POWER
esp_phy_release_init_data(phy_init_data);
free(init_data);
Expand Down
4 changes: 4 additions & 0 deletions components/soc/esp32c2/include/soc/Kconfig.soc_caps.in
Original file line number Diff line number Diff line change
Expand Up @@ -658,3 +658,7 @@ config SOC_BLE_DEVICE_PRIVACY_SUPPORTED
config SOC_BLUFI_SUPPORTED
bool
default y

config SOC_PHY_IMPROVE_RX_11B
bool
default y
3 changes: 3 additions & 0 deletions components/soc/esp32c2/include/soc/soc_caps.h
Original file line number Diff line number Diff line change
Expand Up @@ -307,3 +307,6 @@
#define SOC_BLE_50_SUPPORTED (1) /*!< Support Bluetooth 5.0 */
#define SOC_BLE_DEVICE_PRIVACY_SUPPORTED (1) /*!< Support BLE device privacy mode */
#define SOC_BLUFI_SUPPORTED (1) /*!< Support BLUFI */

/*------------------------------------- PHY CAPS -------------------------------------*/
#define SOC_PHY_IMPROVE_RX_11B (1)

0 comments on commit 64ba835

Please sign in to comment.