esp_wifi: enable FTM for esp32c2 & fix pre-commit check

This commit is contained in:
Jessy Chen
2022-05-10 04:00:01 -04:00
committed by BOT
parent 60cbbffc74
commit 0ae391ef07
7 changed files with 30 additions and 11 deletions

View File

@@ -67,7 +67,8 @@ if(link_binary_libs)
$<TARGET_FILE:${esp_phy_lib}>) $<TARGET_FILE:${esp_phy_lib}>)
endif() endif()
if(CONFIG_IDF_TARGET_ESP32C3 OR CONFIG_IDF_TARGET_ESP32S3 OR CONFIG_IDF_TARGET_ESP32H2 OR CONFIG_IDF_TARGET_ESP32C2) if(CONFIG_IDF_TARGET_ESP32C3 OR CONFIG_IDF_TARGET_ESP32S3
OR CONFIG_IDF_TARGET_ESP32H2 OR CONFIG_IDF_TARGET_ESP32C2)
target_link_libraries(${COMPONENT_LIB} PUBLIC btbb) target_link_libraries(${COMPONENT_LIB} PUBLIC btbb)
target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${esp_phy_lib}> libphy.a libbtbb.a target_link_libraries(${COMPONENT_LIB} INTERFACE $<TARGET_FILE:${esp_phy_lib}> libphy.a libbtbb.a
$<TARGET_FILE:${esp_phy_lib}>) $<TARGET_FILE:${esp_phy_lib}>)

View File

@@ -48,10 +48,12 @@ static const char* TAG = "phy_init";
static _lock_t s_phy_access_lock; static _lock_t s_phy_access_lock;
#if !CONFIG_IDF_TARGET_ESP32C2 // TODO - WIFI-4424
static DRAM_ATTR struct { static DRAM_ATTR struct {
int count; /* power on count of wifi and bt power domain */ int count; /* power on count of wifi and bt power domain */
_lock_t lock; _lock_t lock;
} s_wifi_bt_pd_controller = { .count = 0 }; } s_wifi_bt_pd_controller = { .count = 0 };
#endif
/* Indicate PHY is calibrated or not */ /* Indicate PHY is calibrated or not */
static bool s_is_phy_calibrated = false; static bool s_is_phy_calibrated = false;
@@ -284,26 +286,30 @@ void esp_phy_disable(void)
void IRAM_ATTR esp_wifi_bt_power_domain_on(void) void IRAM_ATTR esp_wifi_bt_power_domain_on(void)
{ {
#if !CONFIG_IDF_TARGET_ESP32C2 // TODO - WIFI-4424
_lock_acquire(&s_wifi_bt_pd_controller.lock); _lock_acquire(&s_wifi_bt_pd_controller.lock);
if (s_wifi_bt_pd_controller.count++ == 0) { if (s_wifi_bt_pd_controller.count++ == 0) {
// CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_PWC_REG, RTC_CNTL_WIFI_FORCE_PD); CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_PWC_REG, RTC_CNTL_WIFI_FORCE_PD);
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3 #if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
SET_PERI_REG_MASK(SYSCON_WIFI_RST_EN_REG, SYSTEM_BB_RST | SYSTEM_FE_RST); SET_PERI_REG_MASK(SYSCON_WIFI_RST_EN_REG, SYSTEM_BB_RST | SYSTEM_FE_RST);
CLEAR_PERI_REG_MASK(SYSCON_WIFI_RST_EN_REG, SYSTEM_BB_RST | SYSTEM_FE_RST); CLEAR_PERI_REG_MASK(SYSCON_WIFI_RST_EN_REG, SYSTEM_BB_RST | SYSTEM_FE_RST);
#endif #endif
// CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_WIFI_FORCE_ISO); CLEAR_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_WIFI_FORCE_ISO);
} }
_lock_release(&s_wifi_bt_pd_controller.lock); _lock_release(&s_wifi_bt_pd_controller.lock);
#endif
} }
void esp_wifi_bt_power_domain_off(void) void esp_wifi_bt_power_domain_off(void)
{ {
#if !CONFIG_IDF_TARGET_ESP32C2 // TODO - WIFI-4424
_lock_acquire(&s_wifi_bt_pd_controller.lock); _lock_acquire(&s_wifi_bt_pd_controller.lock);
if (--s_wifi_bt_pd_controller.count == 0) { if (--s_wifi_bt_pd_controller.count == 0) {
// SET_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_WIFI_FORCE_ISO); SET_PERI_REG_MASK(RTC_CNTL_DIG_ISO_REG, RTC_CNTL_WIFI_FORCE_ISO);
// SET_PERI_REG_MASK(RTC_CNTL_DIG_PWC_REG, RTC_CNTL_WIFI_FORCE_PD); SET_PERI_REG_MASK(RTC_CNTL_DIG_PWC_REG, RTC_CNTL_WIFI_FORCE_PD);
} }
_lock_release(&s_wifi_bt_pd_controller.lock); _lock_release(&s_wifi_bt_pd_controller.lock);
#endif
} }
#if CONFIG_MAC_BB_PD #if CONFIG_MAC_BB_PD

View File

@@ -4,7 +4,7 @@ menu "Wi-Fi"
config ESP32_WIFI_ENABLED config ESP32_WIFI_ENABLED
bool bool
default "y" if !IDF_TARGET_ESP32H2 default y if SOC_WIFI_SUPPORTED
config ESP32_WIFI_SW_COEXIST_ENABLE config ESP32_WIFI_SW_COEXIST_ENABLE
bool "Software controls WiFi/Bluetooth coexistence" bool "Software controls WiFi/Bluetooth coexistence"
@@ -281,7 +281,7 @@ menu "Wi-Fi"
config ESP_WIFI_FTM_ENABLE config ESP_WIFI_FTM_ENABLE
bool "WiFi FTM" bool "WiFi FTM"
default n default n
depends on (IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3) depends on (IDF_TARGET_ESP32S2 || IDF_TARGET_ESP32C3 || IDF_TARGET_ESP32S3 || IDF_TARGET_ESP32C2)
help help
Enable feature Fine Timing Measurement for calculating WiFi Round-Trip-Time (RTT). Enable feature Fine Timing Measurement for calculating WiFi Round-Trip-Time (RTT).

View File

@@ -196,7 +196,7 @@ int coex_schm_curr_phase_idx_set(int idx);
int coex_schm_curr_phase_idx_get(void); int coex_schm_curr_phase_idx_get(void);
/** /**
* @brief TODO * @brief TODO - WIFI-4423
* *
*/ */
int coex_register_start_cb(int (* cb)(void)); int coex_register_start_cb(int (* cb)(void));

View File

@@ -25,7 +25,7 @@ config SOC_BT_SUPPORTED
config SOC_WIFI_SUPPORTED config SOC_WIFI_SUPPORTED
bool bool
default n default y
config SOC_ASYNC_MEMCPY_SUPPORTED config SOC_ASYNC_MEMCPY_SUPPORTED
bool bool
@@ -526,3 +526,15 @@ config SOC_PM_SUPPORT_WIFI_WAKEUP
config SOC_PM_SUPPORT_BT_WAKEUP config SOC_PM_SUPPORT_BT_WAKEUP
bool bool
default y default y
config SOC_PM_SUPPORT_CPU_PD
bool
default n
config SOC_PM_SUPPORT_WIFI_PD
bool
default n
config SOC_PM_SUPPORT_BT_PD
bool
default n

View File

@@ -30,7 +30,7 @@
#define SOC_DEDICATED_GPIO_SUPPORTED 1 #define SOC_DEDICATED_GPIO_SUPPORTED 1
#define SOC_GDMA_SUPPORTED 1 #define SOC_GDMA_SUPPORTED 1
#define SOC_BT_SUPPORTED 0 // Enable during bringup, IDF-4357 #define SOC_BT_SUPPORTED 0 // Enable during bringup, IDF-4357
#define SOC_WIFI_SUPPORTED 0 // Enable during bringup, IDF-3905 #define SOC_WIFI_SUPPORTED 1
#define SOC_ASYNC_MEMCPY_SUPPORTED 1 #define SOC_ASYNC_MEMCPY_SUPPORTED 1
#define SOC_SUPPORTS_SECURE_DL_MODE 1 #define SOC_SUPPORTS_SECURE_DL_MODE 1
#define SOC_EFUSE_KEY_PURPOSE_FIELD 0 #define SOC_EFUSE_KEY_PURPOSE_FIELD 0