esp_wifi: fix some Wi-Fi scan and coexist bugs

1. Fix the bug that Wi-Fi performance is impacted by BLE starting scan for a while in some scenarios on ESP32-C3.

2. Fix the bug that Wi-Fi performance is impacted when Bluetooth change state for a while in some scenarios on ESP32-C3.

3. Fix the bug that BLE performance is impacted by Wi-Fi scan on ESP32-C3.

4. Fix the bug that Wi-Fi scan fails when BLE is scanning on ESP32-C3.

5. Fix Wi-Fi ACK and CTS rate when low rate is disabled on ESP32-C3.
This commit is contained in:
Xia Xiaotian
2021-02-07 23:01:30 +08:00
committed by wangmengyang
parent 44dd496bea
commit b71481093a
4 changed files with 11 additions and 5 deletions

View File

@@ -40,6 +40,10 @@ extern "C" {
#endif
/* Analog function control register */
#define I2C_MST_ANA_CONF0_REG 0x6000E040
#define I2C_MST_BBPLL_STOP_FORCE_HIGH (BIT(2))
#define I2C_MST_BBPLL_STOP_FORCE_LOW (BIT(3))
#define ANA_CONFIG_REG 0x6000E044
#define ANA_CONFIG_S (8)
#define ANA_CONFIG_M (0x3FF)

View File

@@ -221,6 +221,8 @@ void rtc_clk_bbpll_configure(rtc_xtal_freq_t xtal_freq, int pll_freq)
uint8_t dcur;
uint8_t dbias;
CLEAR_PERI_REG_MASK(I2C_MST_ANA_CONF0_REG, I2C_MST_BBPLL_STOP_FORCE_HIGH);
SET_PERI_REG_MASK(I2C_MST_ANA_CONF0_REG, I2C_MST_BBPLL_STOP_FORCE_LOW);
if (pll_freq == RTC_PLL_FREQ_480M) {
/* Set this register to let the digital part know 480M PLL is used */
SET_PERI_REG_MASK(SYSTEM_CPU_PER_CONF_REG, SYSTEM_PLL_FREQ_SEL);

View File

@@ -1818,7 +1818,7 @@ rom_i2c_readReg = 0x40001954;
rom_i2c_readReg_Mask = 0x40001958;
rom_i2c_writeReg = 0x4000195c;
rom_i2c_writeReg_Mask = 0x40001960;
rom_index_to_txbbgain = 0x40001964;
/* rom_index_to_txbbgain = 0x40001964; */
rom_iq_est_disable = 0x40001968;
rom_iq_est_enable = 0x4000196c;
rom_linear_to_db = 0x40001970;
@@ -1853,14 +1853,14 @@ rom_set_chan_cal_interp = 0x400019e0;
rom_set_loopback_gain = 0x400019e4;
rom_set_noise_floor = 0x400019e8;
rom_set_rxclk_en = 0x400019ec;
rom_set_tx_dig_gain = 0x400019f0;
/* rom_set_tx_dig_gain = 0x400019f0; */
/* rom_set_txcap_reg = 0x400019f4; */
rom_set_txclk_en = 0x400019f8;
rom_spur_cal = 0x400019fc;
rom_spur_reg_write_one_tone = 0x40001a00;
rom_target_power_add_backoff = 0x40001a04;
rom_tx_pwctrl_bg_init = 0x40001a08;
rom_txbbgain_to_index = 0x40001a0c;
/* rom_txbbgain_to_index = 0x40001a0c; */
rom_wifi_11g_rate_chg = 0x40001a10;
rom_write_gain_mem = 0x40001a14;
chip726_phyrom_version = 0x40001a18;
@@ -1931,4 +1931,4 @@ rom_write_pll_cap_mem = 0x40001b18;
rom_pll_correct_dcap = 0x40001b1c;
rom_phy_en_hw_set_freq = 0x40001b20;
rom_phy_dis_hw_set_freq = 0x40001b24;
rom_pll_vol_cal = 0x40001b28;
/* rom_pll_vol_cal = 0x40001b28; */