Skip to content

Commit de823e3

Browse files
committed
feat(variants): Add variant for 4D Systems' ESP32-P4 MIPI display modules
1 parent 2ca96fb commit de823e3

File tree

2 files changed

+237
-0
lines changed

2 files changed

+237
-0
lines changed

boards.txt

Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ menu.LORAWAN_PREAMBLE_LENGTH=LoRaWan Preamble Length
2929
menu.SLOW_CLK_TPYE=Slow Clk Type(only for LoRaWAN)
3030
menu.einksize=E-Ink Display Size
3131
menu.NetworkLogLevel=Network Log Level
32+
menu.DisplayModel=Display Model
33+
3234
##############################################################
3335
### DO NOT PUT BOARDS ABOVE THE OFFICIAL ESPRESSIF BOARDS! ###
3436
##############################################################
@@ -40056,6 +40058,168 @@ gen4-ESP32-S3R8n16.menu.EraseFlash.none.upload.erase_cmd=
4005640058
gen4-ESP32-S3R8n16.menu.EraseFlash.all=Enabled
4005740059
gen4-ESP32-S3R8n16.menu.EraseFlash.all.upload.erase_cmd=-e
4005840060

40061+
##############################################################
40062+
40063+
esp32p4_4ds_mipi.name=4D Systems ESP32-P4 MIPI Displays
40064+
40065+
esp32p4_4ds_mipi.bootloader.tool=esptool_py
40066+
esp32p4_4ds_mipi.bootloader.tool.default=esptool_py
40067+
40068+
esp32p4_4ds_mipi.upload.tool=esptool_py
40069+
esp32p4_4ds_mipi.upload.tool.default=esptool_py
40070+
esp32p4_4ds_mipi.upload.tool.network=esp_ota
40071+
40072+
esp32p4_4ds_mipi.upload.maximum_size=1310720
40073+
esp32p4_4ds_mipi.upload.maximum_data_size=327680
40074+
esp32p4_4ds_mipi.upload.flags=
40075+
esp32p4_4ds_mipi.upload.extra_flags=
40076+
esp32p4_4ds_mipi.upload.use_1200bps_touch=false
40077+
esp32p4_4ds_mipi.upload.wait_for_upload_port=false
40078+
40079+
esp32p4_4ds_mipi.serial.disableDTR=false
40080+
esp32p4_4ds_mipi.serial.disableRTS=false
40081+
40082+
esp32p4_4ds_mipi.build.tarch=riscv32
40083+
esp32p4_4ds_mipi.build.target=esp
40084+
esp32p4_4ds_mipi.build.mcu=esp32p4
40085+
esp32p4_4ds_mipi.build.core=esp32
40086+
esp32p4_4ds_mipi.build.variant=esp32p4_4ds_mipi
40087+
esp32p4_4ds_mipi.build.board=ESP32P4_4DS_MIPI
40088+
esp32p4_4ds_mipi.build.bootloader_addr=0x2000
40089+
40090+
esp32p4_4ds_mipi.build.usb_mode=0
40091+
esp32p4_4ds_mipi.build.cdc_on_boot=0
40092+
esp32p4_4ds_mipi.build.msc_on_boot=0
40093+
esp32p4_4ds_mipi.build.dfu_on_boot=0
40094+
esp32p4_4ds_mipi.build.f_cpu=360000000L
40095+
esp32p4_4ds_mipi.build.flash_size=32MB
40096+
esp32p4_4ds_mipi.build.flash_freq=80m
40097+
esp32p4_4ds_mipi.build.img_freq=80m
40098+
esp32p4_4ds_mipi.build.flash_mode=qio
40099+
esp32p4_4ds_mipi.build.boot=qio
40100+
esp32p4_4ds_mipi.build.partitions=app5M_fat24M_32MB
40101+
40102+
## IDE 2.0 Seems to not update the value
40103+
esp32p4_4ds_mipi.menu.JTAGAdapter.default=Disabled
40104+
esp32p4_4ds_mipi.menu.JTAGAdapter.default.build.copy_jtag_files=0
40105+
esp32p4_4ds_mipi.menu.JTAGAdapter.builtin=Integrated USB JTAG
40106+
esp32p4_4ds_mipi.menu.JTAGAdapter.builtin.build.openocdscript=esp32p4-builtin.cfg
40107+
esp32p4_4ds_mipi.menu.JTAGAdapter.builtin.build.copy_jtag_files=1
40108+
esp32p4_4ds_mipi.menu.JTAGAdapter.external=FTDI Adapter
40109+
esp32p4_4ds_mipi.menu.JTAGAdapter.external.build.openocdscript=esp32p4-ftdi.cfg
40110+
esp32p4_4ds_mipi.menu.JTAGAdapter.external.build.copy_jtag_files=1
40111+
esp32p4_4ds_mipi.menu.JTAGAdapter.bridge=ESP USB Bridge
40112+
esp32p4_4ds_mipi.menu.JTAGAdapter.bridge.build.openocdscript=esp32p4-bridge.cfg
40113+
esp32p4_4ds_mipi.menu.JTAGAdapter.bridge.build.copy_jtag_files=1
40114+
40115+
esp32p4_4ds_mipi.menu.USBMode.default=USB-OTG (TinyUSB)
40116+
esp32p4_4ds_mipi.menu.USBMode.default.build.usb_mode=0
40117+
esp32p4_4ds_mipi.menu.USBMode.hwcdc=Hardware CDC and JTAG
40118+
esp32p4_4ds_mipi.menu.USBMode.hwcdc.build.usb_mode=1
40119+
40120+
esp32p4_4ds_mipi.menu.CDCOnBoot.default=Disabled
40121+
esp32p4_4ds_mipi.menu.CDCOnBoot.default.build.cdc_on_boot=0
40122+
esp32p4_4ds_mipi.menu.CDCOnBoot.cdc=Enabled
40123+
esp32p4_4ds_mipi.menu.CDCOnBoot.cdc.build.cdc_on_boot=1
40124+
40125+
esp32p4_4ds_mipi.menu.MSCOnBoot.default=Disabled
40126+
esp32p4_4ds_mipi.menu.MSCOnBoot.default.build.msc_on_boot=0
40127+
esp32p4_4ds_mipi.menu.MSCOnBoot.msc=Enabled (Requires USB-OTG Mode)
40128+
esp32p4_4ds_mipi.menu.MSCOnBoot.msc.build.msc_on_boot=1
40129+
40130+
esp32p4_4ds_mipi.menu.DFUOnBoot.default=Disabled
40131+
esp32p4_4ds_mipi.menu.DFUOnBoot.default.build.dfu_on_boot=0
40132+
esp32p4_4ds_mipi.menu.DFUOnBoot.dfu=Enabled (Requires USB-OTG Mode)
40133+
esp32p4_4ds_mipi.menu.DFUOnBoot.dfu.build.dfu_on_boot=1
40134+
40135+
esp32p4_4ds_mipi.menu.UploadMode.default=UART0 / Hardware CDC
40136+
esp32p4_4ds_mipi.menu.UploadMode.default.upload.use_1200bps_touch=false
40137+
esp32p4_4ds_mipi.menu.UploadMode.default.upload.wait_for_upload_port=false
40138+
esp32p4_4ds_mipi.menu.UploadMode.cdc=USB-OTG CDC (TinyUSB)
40139+
esp32p4_4ds_mipi.menu.UploadMode.cdc.upload.use_1200bps_touch=true
40140+
esp32p4_4ds_mipi.menu.UploadMode.cdc.upload.wait_for_upload_port=true
40141+
40142+
esp32p4_4ds_mipi.menu.PartitionScheme.app5M_fat24M_32MB=32M Flash (4.8MB APP/22MB FATFS)
40143+
esp32p4_4ds_mipi.menu.PartitionScheme.app5M_fat24M_32MB.build.partitions=large_fat_32MB
40144+
esp32p4_4ds_mipi.menu.PartitionScheme.app5M_fat24M_32MB.upload.maximum_size=4718592
40145+
esp32p4_4ds_mipi.menu.PartitionScheme.app5M_little24M_32MB=32M Flash (4.8MB APP/22MB LittleFS)
40146+
esp32p4_4ds_mipi.menu.PartitionScheme.app5M_little24M_32MB.build.partitions=large_littlefs_32MB
40147+
esp32p4_4ds_mipi.menu.PartitionScheme.app5M_little24M_32MB.upload.maximum_size=4718592
40148+
esp32p4_4ds_mipi.menu.PartitionScheme.app13M_data7M_32MB=32M Flash (13MB APP/6.75MB SPIFFS)
40149+
esp32p4_4ds_mipi.menu.PartitionScheme.app13M_data7M_32MB.build.partitions=default_32MB
40150+
esp32p4_4ds_mipi.menu.PartitionScheme.app13M_data7M_32MB.upload.maximum_size=13107200
40151+
40152+
## From https://docs.espressif.com/projects/esp-idf/en/latest/esp32p4/api-reference/kconfig.html#config-esp-default-cpu-freq-mhz
40153+
esp32p4_4ds_mipi.menu.CPUFreq.360=360MHz
40154+
esp32p4_4ds_mipi.menu.CPUFreq.360.build.f_cpu=360000000L
40155+
esp32p4_4ds_mipi.menu.CPUFreq.40=40MHz
40156+
esp32p4_4ds_mipi.menu.CPUFreq.40.build.f_cpu=40000000L
40157+
40158+
esp32p4_4ds_mipi.menu.FlashSize.16M=16MB (128Mb)
40159+
esp32p4_4ds_mipi.menu.FlashSize.16M.build.flash_size=16MB
40160+
esp32p4_4ds_mipi.menu.FlashSize.32M=32MB (256Mb)
40161+
esp32p4_4ds_mipi.menu.FlashSize.32M.build.flash_size=32MB
40162+
40163+
esp32p4_4ds_mipi.menu.UploadSpeed.921600=921600
40164+
esp32p4_4ds_mipi.menu.UploadSpeed.921600.upload.speed=921600
40165+
esp32p4_4ds_mipi.menu.UploadSpeed.115200=115200
40166+
esp32p4_4ds_mipi.menu.UploadSpeed.115200.upload.speed=115200
40167+
esp32p4_4ds_mipi.menu.UploadSpeed.256000.windows=256000
40168+
esp32p4_4ds_mipi.menu.UploadSpeed.256000.upload.speed=256000
40169+
esp32p4_4ds_mipi.menu.UploadSpeed.230400.windows.upload.speed=256000
40170+
esp32p4_4ds_mipi.menu.UploadSpeed.230400=230400
40171+
esp32p4_4ds_mipi.menu.UploadSpeed.230400.upload.speed=230400
40172+
esp32p4_4ds_mipi.menu.UploadSpeed.460800.linux=460800
40173+
esp32p4_4ds_mipi.menu.UploadSpeed.460800.macosx=460800
40174+
esp32p4_4ds_mipi.menu.UploadSpeed.460800.upload.speed=460800
40175+
esp32p4_4ds_mipi.menu.UploadSpeed.512000.windows=512000
40176+
esp32p4_4ds_mipi.menu.UploadSpeed.512000.upload.speed=512000
40177+
40178+
esp32p4_4ds_mipi.menu.DebugLevel.none=None
40179+
esp32p4_4ds_mipi.menu.DebugLevel.none.build.code_debug=0
40180+
esp32p4_4ds_mipi.menu.DebugLevel.error=Error
40181+
esp32p4_4ds_mipi.menu.DebugLevel.error.build.code_debug=1
40182+
esp32p4_4ds_mipi.menu.DebugLevel.warn=Warn
40183+
esp32p4_4ds_mipi.menu.DebugLevel.warn.build.code_debug=2
40184+
esp32p4_4ds_mipi.menu.DebugLevel.info=Info
40185+
esp32p4_4ds_mipi.menu.DebugLevel.info.build.code_debug=3
40186+
esp32p4_4ds_mipi.menu.DebugLevel.debug=Debug
40187+
esp32p4_4ds_mipi.menu.DebugLevel.debug.build.code_debug=4
40188+
esp32p4_4ds_mipi.menu.DebugLevel.verbose=Verbose
40189+
esp32p4_4ds_mipi.menu.DebugLevel.verbose.build.code_debug=5
40190+
40191+
esp32p4_4ds_mipi.menu.EraseFlash.none=Disabled
40192+
esp32p4_4ds_mipi.menu.EraseFlash.none.upload.erase_cmd=
40193+
esp32p4_4ds_mipi.menu.EraseFlash.all=Enabled
40194+
esp32p4_4ds_mipi.menu.EraseFlash.all.upload.erase_cmd=-e
40195+
40196+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_70=ESP32-P4-70
40197+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_70.build.DisplayModel=ESP32P4_70
40198+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_70ct=ESP32-P4-70CT
40199+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_70ct.build.DisplayModel=ESP32P4_70CT
40200+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_70ct_clb=ESP32-P4-70CT-CLB
40201+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_70ct_clb.build.DisplayModel=ESP32P4_70CT
40202+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_80=ESP32-P4-80
40203+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_80.build.DisplayModel=ESP32P4_80
40204+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_80ct=ESP32-P4-80CT
40205+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_80ct.build.DisplayModel=ESP32P4_80CT
40206+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_80ct_clb=ESP32-P4-80CT-CLB
40207+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_80ct_clb.build.DisplayModel=ESP32P4_80CT
40208+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_90=ESP32-P4-90
40209+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_90.build.DisplayModel=ESP32P4_90
40210+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_90ct=ESP32-P4-90CT
40211+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_90ct.build.DisplayModel=ESP32P4_90CT
40212+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_90ct_clb=ESP32-P4-90CT-CLB
40213+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_90ct_clb.build.DisplayModel=ESP32P4_90CT
40214+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_101=ESP32-P4-101
40215+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_101.build.DisplayModel=ESP32P4_101
40216+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_101ct=ESP32-P4-101CT
40217+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_101ct.build.DisplayModel=ESP32P4_101CT
40218+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_101ct_clb=ESP32-P4-101CT-CLB
40219+
esp32p4_4ds_mipi.menu.DisplayModel.esp32p4_101ct_clb.build.DisplayModel=ESP32P4_101CT
40220+
40221+
esp32p4_4ds_mipi.build.defines=-DBOARD_HAS_PSRAM -D{build.board} -D{build.DisplayModel}
40222+
4005940223
##############################################################
4006040224
# Namino Rosso
4006140225

Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
#ifndef Pins_Arduino_h
2+
#define Pins_Arduino_h
3+
4+
#include <stdint.h>
5+
#include "soc/soc_caps.h"
6+
7+
// Use default UART0 pins
8+
static const uint8_t TX = 37;
9+
static const uint8_t RX = 38;
10+
11+
// Default pins (7 and 8) are used by on-board components already,
12+
// for libraries, this can be set manually
13+
// so let's keep the default for the user
14+
static const uint8_t SDA = 2; // careful, also used as T0 pin
15+
static const uint8_t SCL = 3; // careful, also used as T1 pin
16+
17+
static const uint8_t SCK = 6; // careful, also used as T2 pin
18+
static const uint8_t MOSI = 14; // careful, also used as T1 pin
19+
static const uint8_t MISO = 15; // careful, also used as T0 pin
20+
static const uint8_t SS = 16; // careful, also used as A9 pin
21+
22+
static const uint8_t A0 = 21;
23+
static const uint8_t A1 = 20;
24+
static const uint8_t A2 = 19;
25+
static const uint8_t A3 = 18;
26+
static const uint8_t A4 = 17;
27+
static const uint8_t A5 = 52;
28+
static const uint8_t A6 = 51;
29+
static const uint8_t A7 = 50;
30+
static const uint8_t A8 = 49;
31+
static const uint8_t A9 = 16; // careful, also used as SPI SS pin
32+
33+
static const uint8_t T0 = 15; // careful, also used as SPI MISO pin
34+
static const uint8_t T1 = 14; // careful, also used as SPI MOSI pin
35+
static const uint8_t T2 = 6; // careful, also used as SPI SCK pin
36+
static const uint8_t T3 = 3; // careful, also used as I2C SCL pin
37+
static const uint8_t T4 = 2; // careful, also used as I2C SDA pin
38+
39+
/* 4D Systems ESP32-P4 board specific definitions */
40+
// LCD
41+
#define LCD_INTERFACE_MIPI
42+
43+
#define LCD_BL_IO 22
44+
#define LCD_BL_ON_LEVEL 1
45+
#define LCD_BL_OFF_LEVEL !LCD_BL_ON_LEVEL
46+
47+
#define LCD_RST_IO 23
48+
#define LCD_RST_ACTIVE_HIGH true
49+
50+
// I2C for on-board components
51+
#define I2C_SDA 7
52+
#define I2C_SCL 8
53+
54+
// Touch
55+
#define CTP_RST 4
56+
#define CTP_INT 5
57+
58+
// Audio
59+
#define AMP_CTRL 53
60+
#define I2S_DSDIN 9
61+
#define I2S_LRCK 10
62+
#define I2S_ASDOUT 11
63+
#define I2S_SCLK 12
64+
#define I2S_MCLK 13
65+
66+
// SDMMC
67+
#define BOARD_HAS_SDMMC
68+
#define BOARD_SDMMC_SLOT 0
69+
#define BOARD_SDMMC_POWER_CHANNEL 4
70+
#define BOARD_SDMMC_POWER_PIN 45
71+
#define BOARD_SDMMC_POWER_ON_LEVEL LOW
72+
73+
#endif /* Pins_Arduino_h */

0 commit comments

Comments
 (0)