Skip to content

Commit a6c8c6e

Browse files
sylvioalvescarlescufi
authored andcommitted
soc: esp32s3: add Wi-Fi support
This adds Wi-Fi linker areas and also bring wi-Fi entry into SoC device tree. Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
1 parent 5238544 commit a6c8c6e

File tree

6 files changed

+51
-2
lines changed

6 files changed

+51
-2
lines changed

boards/xtensa/esp32s3_devkitm/Kconfig.defconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@ config ENTROPY_GENERATOR
1111
default y
1212

1313
config HEAP_MEM_POOL_SIZE
14+
default 98304 if WIFI
1415
default 40960 if BT
1516
default 4096
1617

dts/xtensa/espressif/esp32s3.dtsi

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535

3636
};
3737

38+
wifi: wifi {
39+
compatible = "espressif,esp32-wifi";
40+
status = "disabled";
41+
};
42+
3843
pinctrl: pin-controller {
3944
compatible = "espressif,esp32-pinctrl";
4045
status = "okay";
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
CONFIG_WIFI=y
2+
3+
CONFIG_NETWORKING=y
4+
CONFIG_NET_L2_ETHERNET=y
5+
6+
CONFIG_NET_IPV6=n
7+
CONFIG_NET_IPV4=y
8+
CONFIG_NET_DHCPV4=y
9+
CONFIG_ESP32_WIFI_STA_AUTO_DHCPV4=y
10+
11+
CONFIG_NET_LOG=y
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
/*
2+
* Copyright (c) 2023 Espressif Systems (Shanghai) Co., Ltd.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
7+
&wifi {
8+
status = "okay";
9+
};

soc/xtensa/esp32s3/linker.ld

Lines changed: 24 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ SECTIONS
188188
.rtc.data :
189189
{
190190
_rtc_data_start = ABSOLUTE(.);
191-
*(.rtc.data)
191+
*(.rtc.data)
192192
*(.rtc.rodata)
193193
*rtc_wake_stub*.o(.data .rodata .data.* .rodata.* .bss .bss.*)
194194
_rtc_data_end = ABSOLUTE(.);
@@ -309,6 +309,7 @@ SECTIONS
309309
*libzephyr.a:windowspill_asm.*(.literal .text .literal.* .text.*)
310310
*libzephyr.a:log_noos.*(.literal .text .literal.* .text.*)
311311
*libdrivers__timer.a:xtensa_sys_timer.*(.literal .text .literal.* .text.*)
312+
*libzephyr.a:systimer_hal.*(.literal .text .literal.* .text.*)
312313
*libzephyr.a:log_core.*(.literal .text .literal.* .text.*)
313314
*libzephyr.a:cbprintf_complete.*(.literal .text .literal.* .text.*)
314315
*libzephyr.a:printk.*(.literal.printk .literal.vprintk .literal.char_out .text.printk .text.vprintk .text.char_out)
@@ -321,8 +322,19 @@ SECTIONS
321322
*liblib__libc__minimal.a:string.*(.literal .text .literal.* .text.*)
322323
*liblib__libc__newlib.a:string.*(.literal .text .literal.* .text.*)
323324
*libc.a:*(.literal .text .literal.* .text.*)
325+
*libphy.a:(.phyiram .phyiram.*)
324326
*libgcov.a:(.literal .text .literal.* .text.*)
325327

328+
#if defined(CONFIG_ESP32_WIFI_IRAM_OPT)
329+
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
330+
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiorslpiram .wifiorslpiram.*)
331+
#endif
332+
333+
#if defined(CONFIG_ESP32_WIFI_RX_IRAM_OPT)
334+
*libnet80211.a:( .wifirxiram .wifirxiram.* .wifislprxiram .wifislprxiram.*)
335+
*libpp.a:( .wifirxiram .wifirxiram.* .wifislprxiram .wifislprxiram.*)
336+
#endif
337+
326338
} GROUP_DATA_LINK_IN(IRAM_REGION, ROMABLE_REGION)
327339

328340
_image_dram_start = LOADADDR(.dram0.data);
@@ -362,6 +374,7 @@ SECTIONS
362374
*libkernel.a:init.*(.rodata .rodata.*)
363375
*libzephyr.a:cbprintf_complete*(.rodata .rodata.*)
364376
*libzephyr.a:log_core.*(.rodata .rodata.*)
377+
*libzephyr.a:systimer_hal.*(.rodata .rodata.*)
365378
*libzephyr.a:log_backend_uart.*(.rodata .rodata.*)
366379
*libzephyr.a:log_output.*(.rodata .rodata.*)
367380
*libzephyr.a:loader.*(.rodata .rodata.*)
@@ -434,6 +447,16 @@ SECTIONS
434447
_stext = .;
435448
_text_start = ABSOLUTE(.);
436449

450+
#if !defined(CONFIG_ESP32_WIFI_IRAM_OPT)
451+
*libnet80211.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.*)
452+
*libpp.a:( .wifi0iram .wifi0iram.* .wifislpiram .wifislpiram.* .wifiorslpiram .wifiorslpiram.*)
453+
#endif
454+
455+
#if !defined(CONFIG_ESP32_WIFI_RX_IRAM_OPT)
456+
*libnet80211.a:( .wifirxiram .wifirxiram.* .wifislprxiram .wifislprxiram.*)
457+
*libpp.a:( .wifirxiram .wifirxiram.* .wifislprxiram .wifislprxiram.*)
458+
#endif
459+
437460
*(.stub .gnu.warning .gnu.linkonce.literal.* .gnu.linkonce.t.*.literal .gnu.linkonce.t.*)
438461
*(.irom0.text) /* catch stray ICACHE_RODATA_ATTR */
439462
*(.fini.literal)

west.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ manifest:
5757
groups:
5858
- hal
5959
- name: hal_espressif
60-
revision: d7576d0da639acbd9a191a3eb7e4f3f3476c9641
60+
revision: 8e5da13712012d2cc480f7abc699235352153e05
6161
path: modules/hal/espressif
6262
west-commands: west/west-commands.yml
6363
groups:

0 commit comments

Comments
 (0)