Skip to content

Commit 0d3d4c7

Browse files
authored
Merge pull request #60 from espressif/esp32-s3-support
Esp32 s3 support
2 parents 2f9d1e6 + e3eabf5 commit 0d3d4c7

File tree

4 files changed

+185
-5
lines changed

4 files changed

+185
-5
lines changed

Diff for: boards.txt

+104
Original file line numberDiff line numberDiff line change
@@ -844,6 +844,110 @@ pico32.menu.DebugLevel.verbose.build.code_debug=5
844844

845845
##############################################################
846846

847+
esp32s3box.name=ESP32-S3-Box
848+
esp32s3box.vid.0=0x303a
849+
esp32s3box.pid.0=0x1001
850+
851+
esp32s3box.upload.tool=esptool_py
852+
esp32s3box.upload.maximum_size=1310720
853+
esp32s3box.upload.maximum_data_size=327680
854+
esp32s3box.upload.speed=921600
855+
esp32s3box.upload.flags=
856+
esp32s3box.upload.extra_flags=
857+
esp32s3box.upload.use_1200bps_touch=false
858+
esp32s3box.upload.wait_for_upload_port=false
859+
860+
esp32s3box.serial.disableDTR=false
861+
esp32s3box.serial.disableRTS=false
862+
863+
esp32s3box.build.tarch=xtensa
864+
esp32s3box.build.bootloader_addr=0x0
865+
esp32s3box.build.target=esp32s3
866+
esp32s3box.build.mcu=esp32s3
867+
esp32s3box.build.core=esp32
868+
esp32s3box.build.variant=esp32s3box
869+
esp32s3box.build.board=ESP32_S3_BOX
870+
871+
esp32s3box.build.usb_mode=1
872+
esp32s3box.build.cdc_on_boot=1
873+
esp32s3box.build.msc_on_boot=0
874+
esp32s3box.build.dfu_on_boot=0
875+
esp32s3box.build.f_cpu=240000000L
876+
esp32s3box.build.flash_size=16MB
877+
esp32s3box.build.flash_freq=80m
878+
esp32s3box.build.flash_mode=dio
879+
esp32s3box.build.boot=qio
880+
esp32s3box.build.partitions=default
881+
esp32s3box.build.defines=-DBOARD_HAS_PSRAM
882+
esp32s3box.build.loop_core=-DARDUINO_RUNNING_CORE=1
883+
esp32s3box.build.event_core=-DARDUINO_EVENT_RUNNING_CORE=1
884+
885+
esp32s3box.menu.USBMode.hwcdc=Hardware CDC and JTAG
886+
esp32s3box.menu.USBMode.hwcdc.build.usb_mode=1
887+
esp32s3box.menu.USBMode.hwcdc.upload.use_1200bps_touch=false
888+
esp32s3box.menu.USBMode.hwcdc.upload.wait_for_upload_port=false
889+
esp32s3box.menu.USBMode.default=USB-OTG
890+
esp32s3box.menu.USBMode.default.build.usb_mode=0
891+
esp32s3box.menu.USBMode.default.upload.use_1200bps_touch=true
892+
esp32s3box.menu.USBMode.default.upload.wait_for_upload_port=true
893+
894+
esp32s3box.menu.MSCOnBoot.default=Disabled
895+
esp32s3box.menu.MSCOnBoot.default.build.msc_on_boot=0
896+
esp32s3box.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
897+
esp32s3box.menu.MSCOnBoot.msc.build.msc_on_boot=1
898+
899+
esp32s3box.menu.DFUOnBoot.default=Disabled
900+
esp32s3box.menu.DFUOnBoot.default.build.dfu_on_boot=0
901+
esp32s3box.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
902+
esp32s3box.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
903+
904+
esp32s3box.menu.PartitionScheme.default=Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS)
905+
esp32s3box.menu.PartitionScheme.default.build.partitions=default
906+
esp32s3box.menu.PartitionScheme.defaultffat=Default 4MB with ffat (1.2MB APP/1.5MB FATFS)
907+
esp32s3box.menu.PartitionScheme.defaultffat.build.partitions=default_ffat
908+
esp32s3box.menu.PartitionScheme.default_8MB=8M Flash (3MB APP/1.5MB FAT)
909+
esp32s3box.menu.PartitionScheme.default_8MB.build.partitions=default_8MB
910+
esp32s3box.menu.PartitionScheme.default_8MB.upload.maximum_size=3342336
911+
esp32s3box.menu.PartitionScheme.no_ota=No OTA (2MB APP/2MB SPIFFS)
912+
esp32s3box.menu.PartitionScheme.no_ota.build.partitions=no_ota
913+
esp32s3box.menu.PartitionScheme.no_ota.upload.maximum_size=2097152
914+
esp32s3box.menu.PartitionScheme.noota_3g=No OTA (1MB APP/3MB SPIFFS)
915+
esp32s3box.menu.PartitionScheme.noota_3g.build.partitions=noota_3g
916+
esp32s3box.menu.PartitionScheme.noota_3g.upload.maximum_size=1048576
917+
esp32s3box.menu.PartitionScheme.noota_ffat=No OTA (2MB APP/2MB FATFS)
918+
esp32s3box.menu.PartitionScheme.noota_ffat.build.partitions=noota_ffat
919+
esp32s3box.menu.PartitionScheme.noota_ffat.upload.maximum_size=2097152
920+
esp32s3box.menu.PartitionScheme.noota_3gffat=No OTA (1MB APP/3MB FATFS)
921+
esp32s3box.menu.PartitionScheme.noota_3gffat.build.partitions=noota_3gffat
922+
esp32s3box.menu.PartitionScheme.noota_3gffat.upload.maximum_size=1048576
923+
esp32s3box.menu.PartitionScheme.huge_app=Huge APP (3MB No OTA/1MB SPIFFS)
924+
esp32s3box.menu.PartitionScheme.huge_app.build.partitions=huge_app
925+
esp32s3box.menu.PartitionScheme.huge_app.upload.maximum_size=3145728
926+
esp32s3box.menu.PartitionScheme.min_spiffs=Minimal SPIFFS (1.9MB APP with OTA/190KB SPIFFS)
927+
esp32s3box.menu.PartitionScheme.min_spiffs.build.partitions=min_spiffs
928+
esp32s3box.menu.PartitionScheme.min_spiffs.upload.maximum_size=1966080
929+
esp32s3box.menu.PartitionScheme.fatflash=16M Flash (2MB APP/12.5MB FAT)
930+
esp32s3box.menu.PartitionScheme.fatflash.build.partitions=ffat
931+
esp32s3box.menu.PartitionScheme.fatflash.upload.maximum_size=2097152
932+
esp32s3box.menu.PartitionScheme.app3M_fat9M_16MB=16M Flash (3MB APP/9MB FATFS)
933+
esp32s3box.menu.PartitionScheme.app3M_fat9M_16MB.build.partitions=app3M_fat9M_16MB
934+
esp32s3box.menu.PartitionScheme.app3M_fat9M_16MB.upload.maximum_size=3145728
935+
936+
esp32s3box.menu.DebugLevel.none=None
937+
esp32s3box.menu.DebugLevel.none.build.code_debug=0
938+
esp32s3box.menu.DebugLevel.error=Error
939+
esp32s3box.menu.DebugLevel.error.build.code_debug=1
940+
esp32s3box.menu.DebugLevel.warn=Warn
941+
esp32s3box.menu.DebugLevel.warn.build.code_debug=2
942+
esp32s3box.menu.DebugLevel.info=Info
943+
esp32s3box.menu.DebugLevel.info.build.code_debug=3
944+
esp32s3box.menu.DebugLevel.debug=Debug
945+
esp32s3box.menu.DebugLevel.debug.build.code_debug=4
946+
esp32s3box.menu.DebugLevel.verbose=Verbose
947+
esp32s3box.menu.DebugLevel.verbose.build.code_debug=5
948+
949+
##############################################################
950+
847951
esp32s2usb.name=ESP32S2 Native USB
848952
esp32s2usb.vid.0=0x303a
849953
esp32s2usb.pid.0=0x0003

Diff for: cores/esp32/esp32-hal-spi.h

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ extern "C" {
2525

2626
#define SPI_HAS_TRANSACTION
2727

28-
#if CONFIG_IDF_TARGET_ESP32C3
28+
#if CONFIG_IDF_TARGET_ESP32C3 || CONFIG_IDF_TARGET_ESP32S3
2929
#define FSPI 0
3030
#define HSPI 1
3131
#else

Diff for: variants/esp32s3/pins_arduino.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -20,10 +20,10 @@ static const uint8_t RX = 44;
2020
static const uint8_t SDA = 8;
2121
static const uint8_t SCL = 9;
2222

23-
static const uint8_t SS = 34;
24-
static const uint8_t MOSI = 35;
25-
static const uint8_t MISO = 37;
26-
static const uint8_t SCK = 36;
23+
static const uint8_t SS = 10;
24+
static const uint8_t MOSI = 11;
25+
static const uint8_t MISO = 13;
26+
static const uint8_t SCK = 12;
2727

2828
static const uint8_t A0 = 1;
2929
static const uint8_t A1 = 2;

Diff for: variants/esp32s3box/pins_arduino.h

+76
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
6+
#define USB_VID 0x303a
7+
#define USB_PID 0x1001
8+
9+
#define EXTERNAL_NUM_INTERRUPTS 46
10+
#define NUM_DIGITAL_PINS 48
11+
#define NUM_ANALOG_INPUTS 20
12+
13+
#define analogInputToDigitalPin(p) (((p)<20)?(esp32_adc2gpio[(p)]):-1)
14+
#define digitalPinToInterrupt(p) (((p)<48)?(p):-1)
15+
#define digitalPinHasPWM(p) (p < 46)
16+
17+
static const uint8_t TX = 43;
18+
static const uint8_t RX = 44;
19+
20+
static const uint8_t SDA = 41;
21+
static const uint8_t SCL = 40;
22+
23+
static const uint8_t SS = 10;
24+
static const uint8_t MOSI = 11;
25+
static const uint8_t MISO = 13;
26+
static const uint8_t SCK = 12;
27+
28+
static const uint8_t A8 = 9;
29+
static const uint8_t A9 = 10;
30+
static const uint8_t A10 = 11;
31+
static const uint8_t A11 = 12;
32+
static const uint8_t A12 = 13;
33+
static const uint8_t A13 = 14;
34+
35+
static const uint8_t T9 = 9;
36+
static const uint8_t T10 = 10;
37+
static const uint8_t T11 = 11;
38+
static const uint8_t T12 = 12;
39+
static const uint8_t T13 = 13;
40+
static const uint8_t T14 = 14;
41+
42+
// Wire1 for ES7210 MIC ADC, ES8311 I2S DAC, ICM-42607-P IMU and TT21100 Touch Panel
43+
#define I2C_SDA 8
44+
#define I2C_SCL 18
45+
46+
#define ES7210_ADDR 0x40 //MIC ADC
47+
#define ES8311_ADDR 0x18 //I2S DAC
48+
#define ICM42607P_ADDR 0x68 //IMU
49+
#define TT21100_ADDR 0x24 //Touch Panel
50+
51+
#define TFT_DC 4
52+
#define TFT_CS 5
53+
#define TFT_MOSI 6
54+
#define TFT_CLK 7
55+
#define TFT_MISO 0
56+
#define TFT_BL 45
57+
#define TFT_RST 48
58+
59+
#define I2S_LRCK 47
60+
#define I2S_MCLK 2
61+
#define I2S_SCLK 17
62+
#define I2S_SDIN 16
63+
#define I2S_DOUT 15
64+
65+
#define SDMMC_CLK 13
66+
#define SDMMC_CMD 11
67+
#define SDMMC_D0 14
68+
#define SDMMC_D1 12
69+
#define SDMMC_D2 10
70+
#define SDMMC_D3 9
71+
72+
#define PA_PIN 46 //Audio Amp Power
73+
#define MUTE_PIN 1 //MUTE Button
74+
#define TS_IRQ 3 //Touch Screen IRQ
75+
76+
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)