1. Rename MACROs SYSTEM_WIFI_RST_EN register bit fields to be more recognizable
2. reset Bluetooth baseband and clock bits to fix the issue of task watchdog triggered during controller initialization due to invalid hardware state
If appropriate interface is not set then RX callback can potentially dereference
null pointer from `s_wifi_netifs` table. This in-fact resulted in `LoadProhibited` exception
in HTTP server example test case.
Order here for setting interface and then registering callback was correct but
it was modified in 0e71a325de causing this regression.
The following functions are only defined when CONFIG_PM_ENABLE is defined:
- wifi_apb80m_request()
- wifi_apb80m_release()
This commit makes their linker script mapping statements also dependent on CONFIG_PM_ENABLE
thus fixing some linker errors when CONFIG_PM_ENABLE is disabled.
esp_wifi: add multiphy support for c2 and fix ftm with ps issue
Closes WIFI-4468, WIFI-4464, WIFI-4467, WIFI-4463, WIFI-4456, WIFI-4459, WIFI-4460, WIFI-4474, and WIFI-4505
See merge request espressif/esp-idf!18480
1. sleep: fix potential issue when PSRAM enable.
2. esp32c2: add multiphy support.
3. ftm: workaround for ftm with ps.
4. add regdomain max channel of ap.
5. update total scan time.
6. update min chan when country policy is auto.
7. check whether country schan and nchan is valid.
1. Fix not update phy according to country code.
2. Update regdomain max channel according to country info from nvs and or AP.
3. Change nvs default country from "CN" to "01".
4. Channel 14 is allowed only 11b mode.
5. Remove csa when switch channel from/to 14 channel.
6. Update phy mode nvs when softap channel from 14 to other.
7. Fix the bug that check whether channel parameter is valid.
Docs: change default country from "CN" to "01"
lwip was added to common requirements list to provide "sys/socket.h"
header to all components without additional requirements specified.
However, lwip pulls in a lot of dependencies on other components.
This commit removes lwip from common requirements to reduce the number
of components in G1-only apps.
To compensate for this removal, the following changes are made:
- newlib (which is a common requirement) has a public dependency on
lwip if lwip is present in the build. This ensures that sys/socket.h
is available as long as lwip component is included into the build.
- lwip is now a public requirement of esp-tls since esp_tls.h includes
sys/socket.h header.
- lwip is now a public requirement o esp_http_client because
sys/socket.h is included from esp_http_client.h
- lwip is now a private requirement of esp_wifi for "smartconfig_ack"
- lwip is now a private requirement of mqtt for socket functions
- lwip is now a public requirement of tcp_transport because
esp_transport_tcp.h includes sys/socket.h header.
- mbedtls checks if lwip component is present in the build. If yes,
net_sockets.c is added to the build, along with the dependency on
lwip. Previously lwip was a public requirement of mbedtls
unconditionally.
system/g1_components test app is updated to reflect the changes
Default public dependencies of a component before and after this
change, except common requirements:
- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)
- vfs (public dependency of lwip)
- esp_wifi (public dependency of lwip)
- esp_event (public dependency of esp_wifi)
- esp_netif (public dependency of esp_event)
- esp_eth (public dependency of esp_netif)
- esp_phy (public dependency of esp_wifi)
After:
- esp_timer (public dependency of freertos)
- bootloader_support (public dependency of esp_hw_support)
Altogether, the following components have been always added as
public requirements to all other components, and are not added now
([breaking-change]):
- lwip
- vfs
- esp_wifi
- esp_event
- esp_netif
- esp_eth
- esp_phy
Application components now need to explicitly declare dependencies on
these components.