Skip to content

Commit 0e8a324

Browse files
sylvioalveskartben
authored andcommitted
boards: xiao_esp32c6: add multi-core support
ESP32-C6 now supports both HP and LP core app. This fixes and updates XIAO board to support that as well. Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
1 parent b1e169f commit 0e8a324

File tree

11 files changed

+72
-11
lines changed

11 files changed

+72
-11
lines changed

boards/deprecated.cmake

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,3 +49,6 @@ set(mimxrt1060_evkb_DEPRECATED
4949
set(neorv32_DEPRECATED
5050
neorv32/neorv32/up5kdemo
5151
)
52+
set(xiao_esp32c6_DEPRECATED
53+
xiao_esp32c6/esp32c6/hpcore
54+
)

boards/seeed/xiao_esp32c6/Kconfig

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,5 @@
33

44
config HEAP_MEM_POOL_ADD_SIZE_BOARD
55
int
6-
default 4096
6+
default 4096 if BOARD_XIAO_ESP32C6_ESP32C6_HPCORE
7+
default 256 if BOARD_XIAO_ESP32C6_ESP32C6_LPCORE

boards/seeed/xiao_esp32c6/Kconfig.xiao_esp32c6

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,3 +5,5 @@
55

66
config BOARD_XIAO_ESP32C6
77
select SOC_ESP32_C6_WROOM_1U_N4
8+
select SOC_ESP32C6_HPCORE if BOARD_XIAO_ESP32C6_ESP32C6_HPCORE
9+
select SOC_ESP32C6_LPCORE if BOARD_XIAO_ESP32C6_ESP32C6_LPCORE

boards/seeed/xiao_esp32c6/doc/index.rst

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -94,12 +94,12 @@ To build the sample application using sysbuild use the command:
9494
.. zephyr-app-commands::
9595
:tool: west
9696
:zephyr-app: samples/hello_world
97-
:board: xiao_esp32c6
97+
:board: xiao_esp32c6/esp32c6/hpcore
9898
:goals: build
9999
:west-args: --sysbuild
100100
:compact:
101101

102-
By default, the ESP32 sysbuild creates bootloader (MCUboot) and application
102+
By default, the ESP32-C6 sysbuild creates bootloader (MCUboot) and application
103103
images. But it can be configured to create other kind of images.
104104

105105
Build directory structure created by sysbuild is different from traditional
@@ -143,7 +143,7 @@ Build and flash applications as usual (see :ref:`build_an_application` and
143143

144144
.. zephyr-app-commands::
145145
:zephyr-app: samples/hello_world
146-
:board: xiao_esp32c6
146+
:board: xiao_esp32c6/esp32c6/hpcore
147147
:goals: build
148148

149149
The usual ``flash`` target will work with the ``xiao_esp32c6`` board
@@ -152,7 +152,7 @@ application.
152152

153153
.. zephyr-app-commands::
154154
:zephyr-app: samples/hello_world
155-
:board: xiao_esp32c6
155+
:board: xiao_esp32c6/esp32c6/hpcore
156156
:goals: flash
157157

158158
Since the Zephyr console is by default on the ``usb_serial`` device, we use
@@ -168,7 +168,7 @@ message in the monitor:
168168
.. code-block:: console
169169
170170
***** Booting Zephyr OS vx.x.x-xxx-gxxxxxxxxxxxx *****
171-
Hello World! xiao_esp32c6/esp32c6
171+
Hello World! xiao_esp32c6/esp32c6/hpcore
172172
173173
Debugging
174174
*********
@@ -185,15 +185,15 @@ Here is an example for building the :zephyr:code-sample:`hello_world` applicatio
185185

186186
.. zephyr-app-commands::
187187
:zephyr-app: samples/hello_world
188-
:board: xiao_esp32c6
188+
:board: xiao_esp32c6/esp32c6/hpcore
189189
:goals: build flash
190190
:gen-args: -DOPENOCD=<path/to/bin/openocd> -DOPENOCD_DEFAULT_PATH=<path/to/openocd/share/openocd/scripts>
191191

192192
You can debug an application in the usual way. Here is an example for the :zephyr:code-sample:`hello_world` application.
193193

194194
.. zephyr-app-commands::
195195
:zephyr-app: samples/hello_world
196-
:board: xiao_esp32c6
196+
:board: xiao_esp32c6/esp32c6/hpcore
197197
:goals: debug
198198

199199
References

boards/seeed/xiao_esp32c6/xiao_esp32c6.dts renamed to boards/seeed/xiao_esp32c6/xiao_esp32c6_hpcore.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
#include "seeed_xiao_connector.dtsi"
1414

1515
/ {
16-
model = "Seeed XIAO ESP32C6";
16+
model = "Seeed XIAO ESP32C6 HP Core";
1717
compatible = "seeed,xiao-esp32c6";
1818

1919
chosen {

boards/seeed/xiao_esp32c6/xiao_esp32c6.yaml renamed to boards/seeed/xiao_esp32c6/xiao_esp32c6_hpcore.yaml

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
1-
identifier: xiao_esp32c6
2-
name: XIAO ESP32C6
1+
identifier: xiao_esp32c6/esp32c6/hpcore
2+
name: XIAO ESP32C6 HP Core
33
type: mcu
44
arch: riscv
55
toolchain:
@@ -18,5 +18,6 @@ supported:
1818
- xiao_spi
1919
testing:
2020
ignore_tags:
21+
- bluetooth
2122
- tracing
2223
vendor: seeed
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
/*
2+
* Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
3+
*
4+
* SPDX-License-Identifier: Apache-2.0
5+
*/
6+
/dts-v1/;
7+
8+
#include <espressif/esp32c6/esp32c6_lpcore_wroom_n4.dtsi>
9+
#include <espressif/partitions_0x0_default.dtsi>
10+
11+
/ {
12+
model = "Seeed XIAO ESP32C6 LP Core";
13+
compatible = "seeed,xiao-esp32c6";
14+
15+
chosen {
16+
zephyr,sram = &sramlp;
17+
zephyr,code-partition = &slot0_lpcore_partition;
18+
};
19+
};
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
identifier: xiao_esp32c6/esp32c6/lpcore
2+
name: XIAO ESP32C6 LP Core
3+
type: mcu
4+
arch: riscv
5+
toolchain:
6+
- zephyr
7+
supported:
8+
- cpu
9+
testing:
10+
only_tags:
11+
- introduction
12+
ignore_tags:
13+
- kernel
14+
- posix
15+
- chre
16+
- cpp
17+
vendor: seeed
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Copyright (c) 2025 Espressif Systems (Shanghai) Co., Ltd.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
# Memory protection
5+
CONFIG_THREAD_STACK_INFO=n
6+
CONFIG_THREAD_CUSTOM_DATA=n
7+
8+
# Boot
9+
CONFIG_BOOT_BANNER=n
10+
11+
# Console
12+
CONFIG_PRINTK=n
13+
14+
# Build
15+
CONFIG_SIZE_OPTIMIZATIONS=y

0 commit comments

Comments
 (0)