Skip to content

Commit 2b21f3b

Browse files
committed
boards: alientek: dnesp32s3b: Add board DNESP32S3B
DNESP32S3B is a development board from Alientek, featuring a compatible ESP32-S3-WROOM-1-N16R8 module and rich set of on-board peripherals, providing an out-of-the-box development experience for AIoT applications. Signed-off-by: Chen Xingyu <hi@xingrz.me>
1 parent 112871a commit 2b21f3b

15 files changed

+361
-0
lines changed

boards/alientek/dnesp32s3b/Kconfig

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright (c) 2024 Joel Guittet
2+
# Copyright (c) 2025 Chen Xingyu <hi@xingrz.me>
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
config HEAP_MEM_POOL_ADD_SIZE_BOARD
6+
int
7+
default 4096 if BOARD_DNESP32S3B_ESP32S3_PROCPU
8+
default 256 if BOARD_DNESP32S3B_ESP32S3_APPCPU
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Copyright (c) 2024 Joel Guittet
2+
# Copyright (c) 2025 Chen Xingyu <hi@xingrz.me>
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
config BOARD_DNESP32S3B
6+
select SOC_ESP32S3_WROOM_N16R8
7+
select SOC_ESP32S3_PROCPU if BOARD_DNESP32S3B_ESP32S3_PROCPU
8+
select SOC_ESP32S3_APPCPU if BOARD_DNESP32S3B_ESP32S3_APPCPU
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
choice BOOTLOADER
5+
default BOOTLOADER_MCUBOOT
6+
endchoice
7+
8+
choice BOOT_SIGNATURE_TYPE
9+
default BOOT_SIGNATURE_TYPE_NONE
10+
endchoice
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
# Copyright (c) 2024 Joel Guittet
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
if(NOT "${OPENOCD}" MATCHES "^${ESPRESSIF_TOOLCHAIN_PATH}/.*")
5+
set(OPENOCD OPENOCD-NOTFOUND)
6+
endif()
7+
find_program(OPENOCD openocd PATHS ${ESPRESSIF_TOOLCHAIN_PATH}/openocd-esp32/bin NO_DEFAULT_PATH)
8+
9+
include(${ZEPHYR_BASE}/boards/common/esp32.board.cmake)
10+
include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
board:
2+
name: dnesp32s3b
3+
full_name: DNESP32S3B
4+
vendor: alientek
5+
socs:
6+
- name: esp32s3
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
/*
2+
* Copyright (c) 2025 Chen Xingyu <hi@xingrz.me>
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
6+
#include <dt-bindings/pinctrl/esp32s3-pinctrl.h>
7+
#include <zephyr/dt-bindings/pinctrl/esp-pinctrl-common.h>
8+
#include <zephyr/dt-bindings/pinctrl/esp32s3-gpio-sigmap.h>
9+
10+
&pinctrl {
11+
uart0_default: uart0_default {
12+
group1 {
13+
pinmux = <UART0_TX_GPIO43>;
14+
output-high;
15+
};
16+
17+
group2 {
18+
pinmux = <UART0_RX_GPIO44>;
19+
bias-pull-up;
20+
};
21+
};
22+
23+
i2c0_default: i2c0_default {
24+
group1 {
25+
pinmux = <I2C0_SCL_GPIO45>,
26+
<I2C0_SDA_GPIO48>;
27+
drive-open-drain;
28+
};
29+
};
30+
};
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*
2+
* Copyright (c) 2025 Chen Xingyu <hi@xingrz.me>
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
/dts-v1/;
6+
7+
#include <espressif/esp32s3/esp32s3_wroom_n16r8.dtsi>
8+
#include <espressif/partitions_0x0_amp_16M.dtsi>
9+
10+
/ {
11+
model = "DNESP32S3B APPCPU";
12+
compatible = "alientek,dnesp32s3b";
13+
14+
chosen {
15+
zephyr,sram = &sram1;
16+
zephyr,ipc_shm = &shm0;
17+
zephyr,ipc = &ipm0;
18+
zephyr,flash = &flash0;
19+
zephyr,code-partition = &slot0_appcpu_partition;
20+
};
21+
};
22+
23+
&trng0 {
24+
status = "okay";
25+
};
26+
27+
&ipm0 {
28+
status = "okay";
29+
};
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
identifier: dnesp32s3b/esp32s3/appcpu
2+
name: DNESP32S3B APPCPU
3+
type: mcu
4+
arch: xtensa
5+
toolchain:
6+
- zephyr
7+
supported:
8+
- uart
9+
testing:
10+
ignore_tags:
11+
- net
12+
- bluetooth
13+
- flash
14+
- cpp
15+
- posix
16+
- watchdog
17+
- logging
18+
- kernel
19+
- pm
20+
- gpio
21+
- crypto
22+
- eeprom
23+
- heap
24+
- cmsis_rtos
25+
- jwt
26+
- zdsp
27+
vendor: alientek
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright (c) 2024 Joel Guittet
2+
# SPDX-License-Identifier: Apache-2.0
3+
4+
CONFIG_CLOCK_CONTROL=y
Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
/*
2+
* Copyright (c) 2025 Chen Xingyu <hi@xingrz.me>
3+
* SPDX-License-Identifier: Apache-2.0
4+
*/
5+
/dts-v1/;
6+
7+
#include <espressif/esp32s3/esp32s3_wroom_n16r8.dtsi>
8+
#include <espressif/partitions_0x0_amp_16M.dtsi>
9+
#include <zephyr/dt-bindings/input/input-event-codes.h>
10+
#include "dnesp32s3b-pinctrl.dtsi"
11+
12+
/ {
13+
model = "DNESP32S3B PROCPU";
14+
compatible = "alientek,dnesp32s3b";
15+
16+
aliases {
17+
led0 = &ledb;
18+
led1 = &ledr;
19+
sw0 = &b0;
20+
sw1 = &k1;
21+
sw2 = &k2;
22+
watchdog0 = &wdt0;
23+
};
24+
25+
chosen {
26+
zephyr,sram = &sram1;
27+
zephyr,console = &uart0;
28+
zephyr,shell-uart = &uart0;
29+
zephyr,flash = &flash0;
30+
zephyr,code-partition = &slot0_partition;
31+
zephyr,bt-hci = &esp32_bt_hci;
32+
};
33+
34+
leds {
35+
compatible = "gpio-leds";
36+
37+
ledb: led_blue {
38+
gpios = <&gpio0 4 GPIO_ACTIVE_LOW>;
39+
label = "LEDB";
40+
};
41+
42+
ledr: led_red {
43+
gpios = <&io_expander 8 GPIO_ACTIVE_LOW>;
44+
label = "LEDR";
45+
};
46+
};
47+
48+
buttons {
49+
compatible = "gpio-keys";
50+
51+
b0: button_b0 {
52+
gpios = <&gpio0 0 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
53+
label = "BOOT";
54+
zephyr,code = <INPUT_KEY_0>;
55+
};
56+
57+
k1: button_k1 {
58+
gpios = <&io_expander 4 GPIO_ACTIVE_LOW>;
59+
label = "KEY1";
60+
zephyr,code = <INPUT_KEY_1>;
61+
};
62+
63+
k2: button_k2 {
64+
gpios = <&io_expander 3 GPIO_ACTIVE_LOW>;
65+
label = "KEY2";
66+
zephyr,code = <INPUT_KEY_2>;
67+
};
68+
};
69+
};
70+
71+
&usb_serial {
72+
status = "disabled";
73+
};
74+
75+
&uart0 {
76+
status = "okay";
77+
pinctrl-0 = <&uart0_default>;
78+
pinctrl-names = "default";
79+
80+
current-speed = <115200>;
81+
};
82+
83+
&gpio0 {
84+
status = "okay";
85+
};
86+
87+
&gpio1 {
88+
status = "okay";
89+
};
90+
91+
&i2c0 {
92+
status = "okay";
93+
pinctrl-0 = <&i2c0_default>;
94+
pinctrl-names = "default";
95+
96+
clock-frequency = <I2C_BITRATE_STANDARD>;
97+
98+
io_expander: xl9555@20 {
99+
compatible = "nxp,pca9555";
100+
reg = <0x20>;
101+
gpio-controller;
102+
#gpio-cells = <2>;
103+
ngpios = <16>;
104+
int-gpios = <&gpio0 3 (GPIO_PULL_UP | GPIO_ACTIVE_LOW)>;
105+
};
106+
};
107+
108+
&trng0 {
109+
status = "okay";
110+
};
111+
112+
&wdt0 {
113+
status = "okay";
114+
};
115+
116+
&esp32_bt_hci {
117+
status = "okay";
118+
};

0 commit comments

Comments
 (0)