Skip to content

Commit 1f2c8fb

Browse files
committed
boards: adafruit: add initial support esp32s3_feather_tft_reverse
The Adafruit Feather ESP32S3 TFT Reverse is a development board in the Feather standard layout, sharing peripheral placement with other devices labeled as Feathers or FeatherWings. The board is equipped with an ESP32-S3 mini module, a fuel gauge, a USB-C and Qwiic/STEMMA-QT connector. This variant additionally comes with a 240x135 pixel IPS TFT color display on the backside of the boards and with 3 buttons. Signed-off-by: Philipp Steiner <[email protected]>
1 parent 1f14bb3 commit 1f2c8fb

25 files changed

+864
-0
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
zephyr_library()
4+
zephyr_library_sources(board.c)
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
# Adafruit Feather ESP32S3 board configuration
2+
3+
# Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
4+
# Copyright (c) 2024 Leon Rinkel <[email protected]>
5+
# Copyright (c) 2025 Philipp Steiner <[email protected]>
6+
# SPDX-License-Identifier: Apache-2.0
7+
8+
config HEAP_MEM_POOL_ADD_SIZE_BOARD
9+
int
10+
default 4096 if BOARD_ADAFRUIT_FEATHER_ESP32S3_TFT_REVERSE_ESP32S3_PROCPU
11+
default 256 if BOARD_ADAFRUIT_FEATHER_ESP32S3_TFT_REVERSE_ESP32S3_APPCPU
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
2+
# Copyright (c) 2024 Leon Rinkel <[email protected]>
3+
# Copyright (c) 2025 Philipp Steiner <[email protected]>
4+
# SPDX-License-Identifier: Apache-2.0
5+
6+
config BOARD_ADAFRUIT_FEATHER_ESP32S3_TFT_REVERSE
7+
select SOC_ESP32S3_WROOM_N8
8+
select SOC_ESP32S3_PROCPU if BOARD_ADAFRUIT_FEATHER_ESP32S3_TFT_REVERSE_ESP32S3_PROCPU
9+
select SOC_ESP32S3_APPCPU if BOARD_ADAFRUIT_FEATHER_ESP32S3_TFT_REVERSE_ESP32S3_APPCPU
Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# Copyright (c) 2024 Leon Rinkel <[email protected]>
2+
# Copyright (c) 2025 Philipp Steiner <[email protected]>
3+
# SPDX-License-Identifier: Apache-2.0
4+
5+
if BOARD_ADAFRUIT_FEATHER_ESP32S3_TFT_REVERSE_ESP32S3_PROCPU
6+
7+
if DISPLAY
8+
9+
config BOARD_ADAFRUIT_FEATHER_ESP32S3_TFT_REVERSE
10+
select BOARD_LATE_INIT_HOOK
11+
12+
choice ST7789V_PIXEL_FORMAT
13+
default ST7789V_RGB565
14+
endchoice
15+
16+
if LVGL
17+
18+
config LV_Z_BITS_PER_PIXEL
19+
default 16
20+
21+
choice LV_COLOR_DEPTH
22+
default LV_COLOR_DEPTH_16
23+
endchoice
24+
25+
config LV_COLOR_16_SWAP
26+
default y
27+
28+
endif # LVGL
29+
30+
endif # DISPLAY
31+
32+
endif # BOARD_ADAFRUIT_FEATHER_ESP32S3_TFT_REVERSE_ESP32S3_PROCPU
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: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
/*
2+
* Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
3+
* Copyright (c) 2024 Leon Rinkel <[email protected]>
4+
* Copyright (c) 2025 Philipp Steiner <[email protected]>
5+
*
6+
* SPDX-License-Identifier: Apache-2.0
7+
*/
8+
9+
#include <zephyr/dt-bindings/pinctrl/esp-pinctrl-common.h>
10+
#include <dt-bindings/pinctrl/esp32s3-pinctrl.h>
11+
#include <zephyr/dt-bindings/pinctrl/esp32s3-gpio-sigmap.h>
12+
13+
&pinctrl {
14+
/* Debug TX (DBG) - This is the hardware UART debug pin */
15+
uart0_default: uart0_default {
16+
group1 {
17+
pinmux = <UART0_TX_GPIO43>;
18+
output-high;
19+
};
20+
group2 {
21+
pinmux = <UART0_RX_GPIO44>;
22+
bias-pull-up;
23+
};
24+
};
25+
26+
uart1_default: uart1_default {
27+
group1 {
28+
pinmux = <UART1_TX_GPIO39>;
29+
output-high;
30+
};
31+
group2 {
32+
pinmux = <UART1_RX_GPIO38>;
33+
bias-pull-up;
34+
};
35+
};
36+
37+
i2c0_default: i2c0_default {
38+
group1 {
39+
pinmux = <I2C0_SDA_GPIO3>,
40+
<I2C0_SCL_GPIO4>;
41+
drive-open-drain;
42+
output-high;
43+
};
44+
};
45+
46+
spim2_default: spim2_default {
47+
group1 {
48+
pinmux = <SPIM2_MISO_GPIO37>,
49+
<SPIM2_SCLK_GPIO36>,
50+
<SPIM2_CSEL_GPIO42>;
51+
};
52+
group2 {
53+
pinmux = <SPIM2_MOSI_GPIO35>;
54+
output-low;
55+
};
56+
};
57+
58+
spim3_ws2812_led: spim3_ws2812_led {
59+
group1 {
60+
pinmux = <SPIM3_MOSI_GPIO33>;
61+
};
62+
};
63+
64+
twai_default: twai_default {
65+
group1 {
66+
pinmux = <TWAI_TX_GPIO5>,
67+
<TWAI_RX_GPIO6>;
68+
};
69+
};
70+
};
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
/*
2+
* Copyright (c) 2024 Espressif Systems (Shanghai) Co., Ltd.
3+
* Copyright (c) 2024 Leon Rinkel <[email protected]>
4+
* Copyright (c) 2025 Philipp Steiner <[email protected]>
5+
*
6+
* SPDX-License-Identifier: Apache-2.0
7+
*/
8+
/dts-v1/;
9+
10+
#include <espressif/esp32s3/esp32s3_wroom_n4r2.dtsi>
11+
#include <espressif/partitions_0x0_amp.dtsi>
12+
#include "adafruit_feather_esp32s3_tft_reverse-pinctrl.dtsi"
13+
14+
/ {
15+
model = "Adafruit Feather ESP32S3 TFT Reverse APPCPU";
16+
compatible = "adafruit,feather_esp32s3_tft_reverse", "espressif,esp32s3";
17+
18+
chosen {
19+
zephyr,sram = &sram1;
20+
zephyr,ipc_shm = &shm0;
21+
zephyr,ipc = &ipm0;
22+
zephyr,flash = &flash0;
23+
zephyr,code-partition = &slot0_appcpu_partition;
24+
};
25+
};
26+
27+
&trng0 {
28+
status = "okay";
29+
};
30+
31+
&ipm0 {
32+
status = "okay";
33+
};
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
identifier: adafruit_feather_esp32s3_tft_reverse/esp32s3/appcpu
2+
name: Adafruit Feather ESP32-S3 TFT Reverse 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: adafruit
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
CONFIG_MAIN_STACK_SIZE=2048
4+
CONFIG_CLOCK_CONTROL=y

0 commit comments

Comments
 (0)