soc: esp32c6: add Wi-Fi support
Enables Wi-Fi support. Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
This commit is contained in:
parent
5d4f4acc7d
commit
c7a592b3e0
7 changed files with 48 additions and 5 deletions
|
@ -111,6 +111,8 @@ Current Zephyr's ESP32-C6-DevKitC board supports the following features:
|
|||
+------------+------------+-------------------------------------+
|
||||
| USB-CDC | on-chip | serial |
|
||||
+------------+------------+-------------------------------------+
|
||||
| Wi-Fi | on-chip | |
|
||||
+------------+------------+-------------------------------------+
|
||||
|
||||
System requirements
|
||||
*******************
|
||||
|
|
|
@ -47,6 +47,7 @@
|
|||
#include <hal/clk_tree_ll.h>
|
||||
#include <hal/usb_serial_jtag_ll.h>
|
||||
#include <esp_private/esp_pmu.h>
|
||||
#include <esp_private/esp_modem_clock.h>
|
||||
#include <ocode_init.h>
|
||||
#endif
|
||||
|
||||
|
@ -87,6 +88,20 @@ static bool reset_reason_is_cpu_reset(void)
|
|||
#if defined(CONFIG_SOC_SERIES_ESP32C6)
|
||||
static void esp32_clock_perip_init(void)
|
||||
{
|
||||
soc_rtc_slow_clk_src_t rtc_slow_clk_src = rtc_clk_slow_src_get();
|
||||
modem_clock_lpclk_src_t modem_lpclk_src =
|
||||
(modem_clock_lpclk_src_t)((rtc_slow_clk_src == SOC_RTC_SLOW_CLK_SRC_RC_SLOW)
|
||||
? MODEM_CLOCK_LPCLK_SRC_RC_SLOW
|
||||
: (rtc_slow_clk_src == SOC_RTC_SLOW_CLK_SRC_XTAL32K)
|
||||
? MODEM_CLOCK_LPCLK_SRC_XTAL32K
|
||||
: (rtc_slow_clk_src == SOC_RTC_SLOW_CLK_SRC_RC32K)
|
||||
? MODEM_CLOCK_LPCLK_SRC_RC32K
|
||||
: (rtc_slow_clk_src == SOC_RTC_SLOW_CLK_SRC_OSC_SLOW)
|
||||
? MODEM_CLOCK_LPCLK_SRC_EXT32K
|
||||
: SOC_RTC_SLOW_CLK_SRC_RC_SLOW);
|
||||
|
||||
modem_clock_select_lp_clock_source(PERIPH_WIFI_MODULE, modem_lpclk_src, 0);
|
||||
|
||||
soc_reset_reason_t rst_reason = esp_rom_get_reset_reason(0);
|
||||
|
||||
if ((rst_reason != RESET_REASON_CPU0_MWDT0) && (rst_reason != RESET_REASON_CPU0_MWDT1) &&
|
||||
|
|
|
@ -56,6 +56,11 @@
|
|||
status = "okay";
|
||||
};
|
||||
|
||||
wifi: wifi {
|
||||
compatible = "espressif,esp32-wifi";
|
||||
status = "disabled";
|
||||
};
|
||||
|
||||
soc {
|
||||
#address-cells = <1>;
|
||||
#size-cells = <1>;
|
||||
|
|
11
samples/net/wifi/shell/socs/esp32c6.conf
Normal file
11
samples/net/wifi/shell/socs/esp32c6.conf
Normal file
|
@ -0,0 +1,11 @@
|
|||
CONFIG_WIFI=y
|
||||
|
||||
CONFIG_NETWORKING=y
|
||||
CONFIG_NET_L2_ETHERNET=y
|
||||
|
||||
CONFIG_NET_IPV6=n
|
||||
CONFIG_NET_IPV4=y
|
||||
CONFIG_NET_DHCPV4=y
|
||||
CONFIG_ESP32_WIFI_STA_AUTO_DHCPV4=y
|
||||
|
||||
CONFIG_NET_LOG=y
|
9
samples/net/wifi/shell/socs/esp32c6.overlay
Normal file
9
samples/net/wifi/shell/socs/esp32c6.overlay
Normal file
|
@ -0,0 +1,9 @@
|
|||
/*
|
||||
* Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
|
||||
*
|
||||
* SPDX-License-Identifier: Apache-2.0
|
||||
*/
|
||||
|
||||
&wifi {
|
||||
status = "okay";
|
||||
};
|
|
@ -388,8 +388,9 @@ SECTIONS
|
|||
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||
|
||||
#if defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
||||
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.*)
|
||||
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.*)
|
||||
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.* .wifi_extra_iram.*)
|
||||
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.* .wifi_extra_iram.*)
|
||||
*libcoexist.a:(.wifi_slp_iram .wifi_slp_iram.*)
|
||||
|
||||
/* [mapping:esp_wifi] */
|
||||
*(.literal.wifi_clock_enable_wrapper .text.wifi_clock_enable_wrapper)
|
||||
|
@ -737,8 +738,8 @@ SECTIONS
|
|||
__rom_region_start = ABSOLUTE(.);
|
||||
|
||||
#if !defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
||||
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.*)
|
||||
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.*)
|
||||
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.* .wifi_extra_iram.*)
|
||||
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.* .wifi_extra_iram.*)
|
||||
#endif /* CONFIG_ESP32_WIFI_IRAM_OPT */
|
||||
|
||||
#if !defined(CONFIG_ESP32_WIFI_RX_IRAM_OPT)
|
||||
|
|
2
west.yml
2
west.yml
|
@ -157,7 +157,7 @@ manifest:
|
|||
groups:
|
||||
- hal
|
||||
- name: hal_espressif
|
||||
revision: 07ff57e8d197765652b7819b297415d859ed7815
|
||||
revision: 8d7054f34e6d05e2917410ff0630ee88f553521d
|
||||
path: modules/hal/espressif
|
||||
west-commands: west/west-commands.yml
|
||||
groups:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue