Skip to content

Commit cbd9d61

Browse files
committed
boards: adafruit: add initial support esp32s3 feather tft
The Adafruit Feather ESP32S3 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 lithium ion battery charger and a USB-C connector. Compared to the base model, this TFT variant additionally comes with a 240x135 pixel IPS TFT color display. Signed-off-by: Leon Rinkel <[email protected]>
1 parent a523929 commit cbd9d61

22 files changed

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