esp32/[ble/wifi]: Update the wireless drivers

This commit updates the Wi-Fi and the BLE driver of ESP32. Most of
the changes rely on using the common sources and header files for
xtensa-based Espressif's SoCs.

The new Wi-Fi driver supports WPA3-SAE for both Station and SoftAP
mode. BLE's coexistence mode was enhanced according to the latest
libraries.

Please note that other sources required minor changes in order to
be compatible with the common sources.
This commit is contained in:
Tiago Medicci Serrano
2024-03-11 10:51:06 -03:00
committed by Xiang Xiao
parent d16bb11b93
commit 09464ff9bc
26 changed files with 3688 additions and 3947 deletions
@@ -112,6 +112,7 @@ SECTIONS
*(.wifirxiram .wifirxiram.*)
*(.wifi0iram .wifi0iram.*)
*(.wifiorslpiram .wifiorslpiram.*)
*(.wifislpiram .wifislpiram.*)
*(.wifislprxiram .wifislprxiram.*)
*(.phyiram .phyiram.*)
@@ -132,15 +133,39 @@ SECTIONS
. = ALIGN (8);
_sbss = ABSOLUTE(.);
_bss_start = ABSOLUTE(.);
*(EXCLUDE_FILE(*libble_app.a *libbt.a *libbtdm_app.a *libnimble.a) .bss EXCLUDE_FILE(*libble_app.a *libbt.a *libbtdm_app.a *libnimble.a) .bss.*)
*(.ext_ram.bss*)
*(EXCLUDE_FILE(*libble_app.a *libbt.a *libbtdm_app.a *libnimble.a) COMMON)
. = ALIGN(4);
_bt_controller_bss_start = ABSOLUTE(.);
*libble_app.a:(.bss .bss.*)
. = ALIGN(4);
_bt_controller_bss_end = ABSOLUTE(.);
. = ALIGN(4);
_bt_controller_common_start = ABSOLUTE(.);
*libble_app.a:(COMMON)
. = ALIGN(4);
_bt_controller_common_end = ABSOLUTE(.);
. = ALIGN(4);
_bt_bss_start = ABSOLUTE(.);
*libbt.a:(.bss .bss.* COMMON)
. = ALIGN (4);
*libbt.a:(.bss .bss.*)
. = ALIGN(4);
_bt_bss_end = ABSOLUTE(.);
. = ALIGN(4);
_bt_common_start = ABSOLUTE(.);
*libbt.a:(COMMON)
. = ALIGN(4);
_bt_common_end = ABSOLUTE(.);
. = ALIGN(4);
_btdm_bss_start = ABSOLUTE(.);
*libbtdm_app.a:(.bss .bss.* COMMON)
. = ALIGN (4);
*libbtdm_app.a:(.bss .bss.*)
. = ALIGN(4);
_btdm_bss_end = ABSOLUTE(.);
. = ALIGN(4);
_btdm_common_start = ABSOLUTE(.);
*libbtdm_app.a:(COMMON)
. = ALIGN(4);
_btdm_common_end = ABSOLUTE(.);
. = ALIGN (8);
*(.dynsbss)
*(.sbss)
@@ -253,6 +278,13 @@ SECTIONS
_srodata = ABSOLUTE(.);
*(.rodata)
*(.rodata.*)
#ifdef CONFIG_ESP32_WIRELESS
*(.rodata_wlog_verbose.*)
*(.rodata_wlog_debug.*)
*(.rodata_wlog_info.*)
*(.rodata_wlog_warning.*)
*(.rodata_wlog_error.*)
#endif
*(.irom1.text) /* catch stray ICACHE_RODATA_ATTR */
*(.gnu.linkonce.r.*)
*(.rodata1)
@@ -288,6 +320,13 @@ SECTIONS
*(.xt_except_desc_end)
*(.dynamic)
*(.gnu.version_d)
/* Addresses of memory regions reserved via SOC_RESERVE_MEMORY_REGION() */
soc_reserved_memory_region_start = ABSOLUTE(.);
KEEP (*(.reserved_memory_address))
soc_reserved_memory_region_end = ABSOLUTE(.);
_erodata = ABSOLUTE(.);
/* Literals are also RO data. */
_lit4_start = ABSOLUTE(.);
@@ -38,7 +38,6 @@ CONFIG_ESP32_SPIFLASH_SPIFFS=y
CONFIG_ESP32_STORAGE_MTD_SIZE=0x80000
CONFIG_ESP32_UART0=y
CONFIG_ESP32_WIFI=y
CONFIG_ESP32_WIFI_BT_COEXIST=y
CONFIG_ESP32_WIFI_STATION_SOFTAP=y
CONFIG_EXAMPLES_DHCPD=y
CONFIG_EXAMPLE_POWER_SAVE_MIN_MODEM=y
@@ -33,7 +33,6 @@
#include <arch/board/board.h>
#include "chip.h"
#include "esp32_ledc.h"
/****************************************************************************
@@ -30,8 +30,6 @@
#include <nuttx/can/can.h>
#include <arch/board/board.h>
#include "chip.h"
#include "esp32_twai.h"
#include "esp32-devkitc.h"