Skip to content

Commit afe8a02

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

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
##############################################################
@@ -40050,6 +40052,168 @@ gen4-ESP32-S3R8n16.menu.EraseFlash.none.upload.erase_cmd=
4005040052
gen4-ESP32-S3R8n16.menu.EraseFlash.all=Enabled
4005140053
gen4-ESP32-S3R8n16.menu.EraseFlash.all.upload.erase_cmd=-e
4005240054

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

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)