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 |
|
| USB-CDC | on-chip | serial |
|
||||||
+------------+------------+-------------------------------------+
|
+------------+------------+-------------------------------------+
|
||||||
|
| Wi-Fi | on-chip | |
|
||||||
|
+------------+------------+-------------------------------------+
|
||||||
|
|
||||||
System requirements
|
System requirements
|
||||||
*******************
|
*******************
|
||||||
|
|
|
@ -47,6 +47,7 @@
|
||||||
#include <hal/clk_tree_ll.h>
|
#include <hal/clk_tree_ll.h>
|
||||||
#include <hal/usb_serial_jtag_ll.h>
|
#include <hal/usb_serial_jtag_ll.h>
|
||||||
#include <esp_private/esp_pmu.h>
|
#include <esp_private/esp_pmu.h>
|
||||||
|
#include <esp_private/esp_modem_clock.h>
|
||||||
#include <ocode_init.h>
|
#include <ocode_init.h>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -87,6 +88,20 @@ static bool reset_reason_is_cpu_reset(void)
|
||||||
#if defined(CONFIG_SOC_SERIES_ESP32C6)
|
#if defined(CONFIG_SOC_SERIES_ESP32C6)
|
||||||
static void esp32_clock_perip_init(void)
|
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);
|
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) &&
|
if ((rst_reason != RESET_REASON_CPU0_MWDT0) && (rst_reason != RESET_REASON_CPU0_MWDT1) &&
|
||||||
|
|
|
@ -56,6 +56,11 @@
|
||||||
status = "okay";
|
status = "okay";
|
||||||
};
|
};
|
||||||
|
|
||||||
|
wifi: wifi {
|
||||||
|
compatible = "espressif,esp32-wifi";
|
||||||
|
status = "disabled";
|
||||||
|
};
|
||||||
|
|
||||||
soc {
|
soc {
|
||||||
#address-cells = <1>;
|
#address-cells = <1>;
|
||||||
#size-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)
|
*libzephyr.a:bootloader_random*.*(.literal.bootloader_random_enable .text.bootloader_random_enable)
|
||||||
|
|
||||||
#if defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
#if defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
||||||
*libnet80211.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.*)
|
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.* .wifi_extra_iram.*)
|
||||||
|
*libcoexist.a:(.wifi_slp_iram .wifi_slp_iram.*)
|
||||||
|
|
||||||
/* [mapping:esp_wifi] */
|
/* [mapping:esp_wifi] */
|
||||||
*(.literal.wifi_clock_enable_wrapper .text.wifi_clock_enable_wrapper)
|
*(.literal.wifi_clock_enable_wrapper .text.wifi_clock_enable_wrapper)
|
||||||
|
@ -737,8 +738,8 @@ SECTIONS
|
||||||
__rom_region_start = ABSOLUTE(.);
|
__rom_region_start = ABSOLUTE(.);
|
||||||
|
|
||||||
#if !defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
#if !defined(CONFIG_ESP32_WIFI_IRAM_OPT)
|
||||||
*libnet80211.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.*)
|
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiextrairam .wifiextrairam.* .wifi_extra_iram.*)
|
||||||
#endif /* CONFIG_ESP32_WIFI_IRAM_OPT */
|
#endif /* CONFIG_ESP32_WIFI_IRAM_OPT */
|
||||||
|
|
||||||
#if !defined(CONFIG_ESP32_WIFI_RX_IRAM_OPT)
|
#if !defined(CONFIG_ESP32_WIFI_RX_IRAM_OPT)
|
||||||
|
|
2
west.yml
2
west.yml
|
@ -157,7 +157,7 @@ manifest:
|
||||||
groups:
|
groups:
|
||||||
- hal
|
- hal
|
||||||
- name: hal_espressif
|
- name: hal_espressif
|
||||||
revision: 07ff57e8d197765652b7819b297415d859ed7815
|
revision: 8d7054f34e6d05e2917410ff0630ee88f553521d
|
||||||
path: modules/hal/espressif
|
path: modules/hal/espressif
|
||||||
west-commands: west/west-commands.yml
|
west-commands: west/west-commands.yml
|
||||||
groups:
|
groups:
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue