Skip to content

Commit ebaf31c

Browse files
DBS06dkalowsk
authored andcommitted
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 297c79b commit ebaf31c

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 ESP32-S3 Reverse TFT Feather 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_N4R2
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: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
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+
21+
group2 {
22+
pinmux = <UART0_RX_GPIO44>;
23+
bias-pull-up;
24+
};
25+
};
26+
27+
uart1_default: uart1_default {
28+
group1 {
29+
pinmux = <UART1_TX_GPIO39>;
30+
output-high;
31+
};
32+
33+
group2 {
34+
pinmux = <UART1_RX_GPIO38>;
35+
bias-pull-up;
36+
};
37+
};
38+
39+
i2c0_default: i2c0_default {
40+
group1 {
41+
pinmux = <I2C0_SDA_GPIO3>,
42+
<I2C0_SCL_GPIO4>;
43+
drive-open-drain;
44+
output-high;
45+
};
46+
};
47+
48+
spim2_default: spim2_default {
49+
group1 {
50+
pinmux = <SPIM2_MISO_GPIO37>,
51+
<SPIM2_SCLK_GPIO36>,
52+
<SPIM2_CSEL_GPIO42>;
53+
};
54+
55+
group2 {
56+
pinmux = <SPIM2_MOSI_GPIO35>;
57+
output-low;
58+
};
59+
};
60+
61+
spim3_ws2812_led: spim3_ws2812_led {
62+
group1 {
63+
pinmux = <SPIM3_MOSI_GPIO33>;
64+
};
65+
};
66+
67+
twai_default: twai_default {
68+
group1 {
69+
pinmux = <TWAI_TX_GPIO5>,
70+
<TWAI_RX_GPIO6>;
71+
};
72+
};
73+
};
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 ESP32-S3 Reverse TFT Feather 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 ESP32-S3 Reverse TFT Feather 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: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
# SPDX-License-Identifier: Apache-2.0
2+
3+
CONFIG_CLOCK_CONTROL=y

0 commit comments

Comments
 (0)