mirror of
https://github.com/espressif/esp-idf.git
synced 2024-10-05 20:47:46 -04:00
Merge branch 'feature/support_esp32s2_wifi_v2' into 'master'
WiFi: Add support for ESP32S2 See merge request espressif/esp-idf!7505
This commit is contained in:
commit
54a50f4532
@ -4,27 +4,6 @@ menu "ESP32S2-specific"
|
||||
# not working so we just hide all items here
|
||||
visible if IDF_TARGET_ESP32S2
|
||||
|
||||
choice ESP32S2_CHIP_VERSION
|
||||
# TODO: remove once final S2 chip is supported
|
||||
prompt "ESP32-S2 chip version"
|
||||
default ESP32S2_VERSION_A
|
||||
help
|
||||
There are three versions of ESP32-S2 chip with different Wi-Fi PHY: A, B and Marlin3.
|
||||
|
||||
This setting must match the chip for Wi-Fi to work correctly. You can determine
|
||||
the chip version by reading the markings on top of the chip. It will be one of the
|
||||
three options given here.
|
||||
|
||||
The Wi-Fi performance of Marlin3 is the best among the three versions of chip.
|
||||
|
||||
config ESP32S2_VERSION_A
|
||||
bool "Chip7.2.2-A"
|
||||
config ESP32S2_VERSION_B
|
||||
bool "Chip7.2.2-B"
|
||||
config ESP32S2_VERSION_MARLIN3
|
||||
bool "Marlin3-B2 or Marlin3-B3"
|
||||
endchoice
|
||||
|
||||
choice ESP32S2_DEFAULT_CPU_FREQ_MHZ
|
||||
prompt "CPU frequency"
|
||||
default ESP32S2_DEFAULT_CPU_FREQ_160 if !IDF_ENV_FPGA
|
||||
|
@ -40,18 +40,7 @@ endif()
|
||||
target_link_libraries(${COMPONENT_LIB} PUBLIC "-L ${CMAKE_CURRENT_SOURCE_DIR}/lib/${target_name}")
|
||||
|
||||
if(link_binary_libs)
|
||||
if(CONFIG_IDF_TARGET_ESP32)
|
||||
set(phy phy)
|
||||
elseif(CONFIG_IDF_TARGET_ESP32S2)
|
||||
# TODO: remove once final S2 chip is supported
|
||||
if(CONFIG_ESP32S2_VERSION_A)
|
||||
set(phy phyA)
|
||||
elseif(CONFIG_ESP32S2_VERSION_B)
|
||||
set(phy phyB)
|
||||
elseif(CONFIG_ESP32S2_VERSION_MARLIN3)
|
||||
set(phy phy_marlin3)
|
||||
endif()
|
||||
endif()
|
||||
set(phy phy)
|
||||
set(blobs coexist core espnow mesh net80211 pp rtc smartconfig ${phy})
|
||||
|
||||
foreach(blob ${blobs})
|
||||
|
@ -582,7 +582,7 @@ wifi_osi_funcs_t g_wifi_osi_funcs = {
|
||||
._get_random = os_get_random,
|
||||
._get_time = get_time_wrapper,
|
||||
._random = os_random,
|
||||
#if CONFIG_IDF_TARGET_ESP32S2BETA
|
||||
#if CONFIG_IDF_TARGET_ESP32S2
|
||||
._slowclk_cal_get = esp_clk_slowclk_cal_get,
|
||||
#endif
|
||||
._log_write = esp_log_write,
|
||||
|
@ -107,7 +107,7 @@ typedef struct {
|
||||
int32_t (* _get_random)(uint8_t *buf, size_t len);
|
||||
int32_t (* _get_time)(void *t);
|
||||
unsigned long (* _random)(void);
|
||||
#if CONFIG_IDF_TARGET_ESP32S2BETA
|
||||
#if CONFIG_IDF_TARGET_ESP32S2
|
||||
uint32_t (* _slowclk_cal_get)(void);
|
||||
#endif
|
||||
void (* _log_write)(uint32_t level, const char* tag, const char* format, ...);
|
||||
|
@ -325,7 +325,7 @@ typedef struct {
|
||||
unsigned sgi:1; /**< Short Guide Interval(SGI). 0: Long GI; 1: Short GI */
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
signed noise_floor:8; /**< noise floor of Radio Frequency Module(RF). unit: 0.25dBm*/
|
||||
#elif CONFIG_IDF_TARGET_ESP32S2BETA
|
||||
#elif CONFIG_IDF_TARGET_ESP32S2
|
||||
unsigned :8;
|
||||
#endif
|
||||
unsigned ampdu_cnt:8; /**< ampdu cnt */
|
||||
@ -333,10 +333,15 @@ typedef struct {
|
||||
unsigned secondary_channel:4; /**< secondary channel on which this packet is received. 0: none; 1: above; 2: below */
|
||||
unsigned :8; /**< reserve */
|
||||
unsigned timestamp:32; /**< timestamp. The local time when this packet is received. It is precise only if modem sleep or light sleep is not enabled. unit: microsecond */
|
||||
#if CONFIG_IDF_TARGET_ESP32
|
||||
unsigned :32; /**< reserve */
|
||||
unsigned :31; /**< reserve */
|
||||
unsigned ant:1; /**< antenna number from which this packet is received. 0: WiFi antenna 0; 1: WiFi antenna 1 */
|
||||
#if CONFIG_IDF_TARGET_ESP32S2BETA
|
||||
#elif CONFIG_IDF_TARGET_ESP32S2
|
||||
unsigned :32;
|
||||
unsigned :32;
|
||||
#endif
|
||||
#if CONFIG_IDF_TARGET_ESP32S2
|
||||
signed noise_floor:8; /**< noise floor of Radio Frequency Module(RF). unit: 0.25dBm*/
|
||||
unsigned :24;
|
||||
#endif
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit a28af1f3f2fe9d0a35de0acd80abd58d59d62819
|
||||
Subproject commit 5feec6a0323b7fd5662c64d2463ad61fba3cd774
|
@ -765,3 +765,8 @@ void esp_phy_load_cal_and_init(phy_rf_module_t module)
|
||||
free(cal_data); // PHY maintains a copy of calibration data, so we can free this
|
||||
}
|
||||
|
||||
#if CONFIG_IDF_TARGET_ESP32S2
|
||||
/* Just a stub to avoid SSC build failure. Need to update phylib */
|
||||
void set_cca(bool en ,uint8_t cca_thr) {}
|
||||
#endif
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user