Add ESP32C5 GPIO definitions

This commit is contained in:
s-hadinger 2025-05-23 22:12:35 +02:00 committed by GitHub
parent 8ee26ea424
commit 5b44a31f6c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 48 additions and 48 deletions

View File

@ -1412,19 +1412,6 @@ const char PINS_WEMOS[] PROGMEM = "AOAOAOAOAOIOIOIOIOIOIOFLFLFLFLFLFLFLIORXTX";
// 0 1 2 3 4 5 6 7 8 9101112131415161718192021
const char PINS_WEMOS[] PROGMEM = "AOAOAOAOAOAOIOIOIOIOIOFLFLFLFLFLFLFLIOIORXTX";
//#elif CONFIG_IDF_TARGET_ESP32C5
/* ****************************************
* ESP32C5
* ****************************************/
//#define MAX_GPIO_PIN 27 // Number of supported GPIO
//#define MIN_FLASH_PINS 0 // Number of flash chip pins unusable for configuration (GPIO24 to 30)
//#define MAX_USER_PINS 27 // MAX_GPIO_PIN - MIN_FLASH_PINS
//#define WEMOS_MODULE 0 // Wemos module
// 0 1 2 3 4 5 6 7 8 91011121314151617181920212223242526
//const char PINS_WEMOS[] PROGMEM = "AOAOAOAOAOAOAOIOIOIOIOIOIOIOIOIOTXRXIOIOIOIOIOIOFLFLFL";
#elif CONFIG_IDF_TARGET_ESP32C6
/* ****************************************
@ -1467,6 +1454,18 @@ const char PINS_WEMOS[] PROGMEM = "IOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOIO-
// 0 1 2 3 4 5 6 7 8 9101112131415161718192021222324252627282930313233343536373839404142434445464748
const char PINS_WEMOS[] PROGMEM = "IOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOAOIO--------FLFLFLFLFLFLFLIOIOIOIOIOIOIOIOIOIOIOIOIOIOIOIO";
#elif CONFIG_IDF_TARGET_ESP32C5 // ESP32-C5
/* ****************************************
* ESP32C5
* ****************************************/
#define MAX_GPIO_PIN 27 // Number of supported GPIO
#define MIN_FLASH_PINS 0 // Number of flash chip pins unusable for configuration (GPIO11 to 17)
#define MAX_USER_PINS 27 // MAX_GPIO_PIN - MIN_FLASH_PINS
#define WEMOS_MODULE 0 // Wemos module
// 0 1 2 3 4 5 6 7 8 91011121314151617181920212223242526
const char PINS_WEMOS[] PROGMEM = "IOAOAOAOAOAOAOIOIOIOIOIOIOIOIOIOIOIOFLFLFLIOFLFLFLIOIO";
#else // not CONFIG_IDF_TARGET_ESP32C2/C3/C6 nor CONFIG_IDF_TARGET_ESP32S2 - ESP32
/* ****************************************
@ -3092,37 +3091,28 @@ const char kModuleNames[] PROGMEM =
// !!! Update this list in the same order as SupportedModulesESP32C5 !!!
const mytmplt kModules[] PROGMEM = {
{ // Generic ESP32C5 device
AGPIO(GPIO_USER), // 0 IO GPIO0, ADC1_CH0, LP_GPIO0
AGPIO(GPIO_USER), // 1 IO GPIO1, ADC1_CH1, LP_GPIO1
AGPIO(GPIO_USER), // 2 IO GPIO2, ADC1_CH2, LP_GPIO2
AGPIO(GPIO_USER), // 3 IO GPIO3, ADC1_CH3, LP_GPIO3
AGPIO(GPIO_USER), // 4 IO GPIO4, ADC1_CH4, LP_GPIO4, Strapping
AGPIO(GPIO_USER), // 5 IO GPIO5, ADC1_CH5, LP_GPIO5, Strapping
AGPIO(GPIO_USER), // 6 IO GPIO6, ADC1_CH6, LP_GPIO6
AGPIO(GPIO_USER), // 7 IO GPIO7, LP_GPIO7
AGPIO(GPIO_USER), // 8 IO GPIO8, Strapping
AGPIO(GPIO_USER), // 9 IO GPIO9, Strapping
AGPIO(GPIO_USER), // 10 IO GPIO10 (QFN40 only)
AGPIO(GPIO_USER), // 11 IO GPIO11 (QFN40 only)
AGPIO(GPIO_USER), // 12 IO GPIO12, USB-JTAG
AGPIO(GPIO_USER), // 13 IO GPIO13, USB-JTAG
AGPIO(GPIO_USER), // 14 IO GPIO14 (QFN32 only)
AGPIO(GPIO_USER), // 15 IO GPIO15, Strapping
AGPIO(GPIO_USER), // 16 IO TXD0 GPIO16, U0TXD
AGPIO(GPIO_USER), // 17 IO RXD0 GPIO17, U0RXD
AGPIO(GPIO_USER), // 18 IO GPIO18, SDIO_CMD
AGPIO(GPIO_USER), // 19 IO GPIO19, SDIO_CLK
AGPIO(GPIO_USER), // 20 IO GPIO20, SDIO_DATA0
AGPIO(GPIO_USER), // 21 IO GPIO21, SDIO_DATA1
AGPIO(GPIO_USER), // 22 IO GPIO22, SDIO_DATA2
AGPIO(GPIO_USER), // 23 IO GPIO23, SDIO_DATA3
0, // 24 IO GPIO24, SPICS1, PSRAM
0, // 25 IO GPIO25, SPIQ
0, // 26 IO GPIO26, SPIWP - Free if flash DIO/DOUT
0, // 27 IO GPIO27, SPIVDD
0, // 28 IO GPIO28, SPIHD - Free if flash DIO/DOUT
0, // 29 IO GPIO29, SPICLK
0, // 30 IO GPIO30, SPID
AGPIO(GPIO_USER), // 0 IO GPIO0, ADC1_CH0, XTAL_32K_P
AGPIO(GPIO_USER), // 1 IO GPIO1, ADC1_CH1, XTAL_32K_N
AGPIO(GPIO_USER), // 2 IO GPIO2, ADC1_CH2, FSPIQ
AGPIO(GPIO_USER), // 3 IO GPIO3, ADC1_CH3
AGPIO(GPIO_USER), // 4 IO GPIO4, ADC1_CH4, FSPIHD, MTMS
AGPIO(GPIO_USER), // 5 IO GPIO5, ADC2_CH0, FSPIWP, MTDI
AGPIO(GPIO_USER), // 6 IO GPIO6, FSPICLK, MTCK
AGPIO(GPIO_USER), // 7 IO GPIO7, FSPID, MTDO
AGPIO(GPIO_USER), // 8 IO GPIO8
AGPIO(GPIO_USER), // 9 IO GPIO9
AGPIO(GPIO_USER), // 10 IO GPIO10
0, // 11 IO GPIO11, output power supply for flash
0, // 12 IO GPIO12, SPIHD - Free if flash DIO/DOUT
0, // 13 IO GPIO13, SPIWP - Free if flash DIO/DOUT
0, // 14 IO GPIO14, SPICS0
0, // 15 IO GPIO15, SPICLK
0, // 16 IO GPIO16, SPID
0, // 17 IO GPIO17, SPIQ
AGPIO(GPIO_USER), // 18 IO GPIO18, USB_D
AGPIO(GPIO_USER), // 19 IO GPIO19, USB_D+
AGPIO(GPIO_USER), // 20 IO RXD0 GPIO20, U0RXD
AGPIO(GPIO_USER), // 21 IO TXD0 GPIO21, U0TXD
0 // Flag
},
};
@ -3219,7 +3209,7 @@ const char kModuleNames[] PROGMEM =
// !!! Update this list in the same order as SupportedModulesESP32S2 !!!
const mytmplt kModules[] PROGMEM = {
{ // Generic ESP32C3 device
{ // Generic ESP32S2 device
AGPIO(GPIO_USER), // 0 IO GPIO0, RTC_GPIO0, Strapping
AGPIO(GPIO_USER), // 1 AO GPIO1, ADC1_CH0, RTC_GPIO1
AGPIO(GPIO_USER), // 2 AO GPIO2, ADC1_CH1, RTC_GPIO2
@ -3299,7 +3289,7 @@ const char kModuleNames[] PROGMEM =
// !!! Update this list in the same order as SupportedModulesESP32S2 !!!
const mytmplt kModules[] PROGMEM = {
{ // Generic ESP32C3 device
{ // Generic ESP32S3 device
AGPIO(GPIO_USER), // 0 IO RTC_GPIO0, GPIO0, Strapping
AGPIO(GPIO_USER), // 1 AO RTC_GPIO1, GPIO1, TOUCH1, ADC1_CH0
AGPIO(GPIO_USER), // 2 AO RTC_GPIO2, GPIO2, TOUCH2, ADC1_CH1

View File

@ -592,7 +592,7 @@ typedef struct {
// End of remapping, next is all other CPUs
// ----------------------------------------
#else
myio my_gp; // 3AC 2x18 bytes (ESP8266) / 2x40 bytes (ESP32) / 2x21 bytes (ESP32-C2) / 2x22 bytes (ESP32-C3) / 2x31 bytes (ESP32-C6) / 2x47 bytes (ESP32-S2)
myio my_gp; // 3AC 2x18 bytes (ESP8266) / 2x40 bytes (ESP32) / 2x21 bytes (ESP32-C2) / 2x22 bytes (ESP32-C3) / 2x31 bytes (ESP32-C6) / 2x47 bytes (ESP32-S2) / 2x27 bytes (ESP32-C5)
#ifdef ESP8266
uint16_t gpio16_converted; // 3D0
uint8_t free_esp8266_3D2[42]; // 3D2
@ -604,9 +604,11 @@ typedef struct {
uint8_t free_esp32c3_3D8[36]; // 3D8 - Due to smaller myio
#elif CONFIG_IDF_TARGET_ESP32C6
uint8_t free_esp32c6_3EA[18]; // 3EA - Due to smaller myio
#elif CONFIG_IDF_TARGET_ESP32C5
uint8_t free_esp32c5_3E2[26]; // 3E2 - Due to smaller myio
#endif // CONFIG_IDF_TARGET_ESP32C2/3/6
#endif // ESP32
mytmplt user_template; // 3FC 2x15 bytes (ESP8266) / 2x37 bytes (ESP32) / 2x22 bytes (ESP32-C2) / 2x23 bytes (ESP32-C3) / 2x32 bytes (ESP32-C6) / 2x37 bytes (ESP32-S2)
mytmplt user_template; // 3FC 2x15 bytes (ESP8266) / 2x37 bytes (ESP32) / 2x22 bytes (ESP32-C2) / 2x23 bytes (ESP32-C3) / 2x32 bytes (ESP32-C6) / 2x37 bytes (ESP32-S2) / 2x28 bytes (ESP32-C5)
#ifdef ESP8266
uint8_t free_esp8266_41A[55]; // 41A
#endif // ESP8266
@ -617,6 +619,8 @@ typedef struct {
uint8_t free_esp32c3_42A[28]; // 42A - Due to smaller mytmplt
#elif CONFIG_IDF_TARGET_ESP32C6
uint8_t free_esp32c3_43C[10]; // 43C - Due to smaller mytmplt
#elif CONFIG_IDF_TARGET_ESP32C5
uint8_t free_esp32c5_434[18]; // 434 - Due to smaller mytmplt
#endif // CONFIG_IDF_TARGET_ESP32C2/3/6
uint8_t eth_type; // 446

View File

@ -546,6 +546,8 @@ bool SettingsConfigRestore(void) {
valid_settings = (5 == settings_buffer[0xF36]); // Settings->config_version ESP32C2
#elif CONFIG_IDF_TARGET_ESP32C6
valid_settings = (6 == settings_buffer[0xF36]); // Settings->config_version ESP32C6
#elif CONFIG_IDF_TARGET_ESP32C5
valid_settings = (7 == settings_buffer[0xF36]); // Settings->config_version ESP32C5
#else
valid_settings = (1 == settings_buffer[0xF36]); // Settings->config_version ESP32 all other
#endif // CONFIG_IDF_TARGET_ESP32S3
@ -986,6 +988,8 @@ void SettingsDefaultSet2(void) {
Settings->config_version = 5; // ESP32C2
#elif CONFIG_IDF_TARGET_ESP32C6
Settings->config_version = 6; // ESP32C6
#elif CONFIG_IDF_TARGET_ESP32C5
Settings->config_version = 7; // ESP32C5
#else
Settings->config_version = 1; // ESP32
#endif // CONFIG_IDF_TARGET_ESP32S3
@ -1598,6 +1602,8 @@ void SettingsDelta(void) {
Settings->config_version = 5; // ESP32C2
#elif CONFIG_IDF_TARGET_ESP32C6
Settings->config_version = 6; // ESP32C6
#elif CONFIG_IDF_TARGET_ESP32C5
Settings->config_version = 7; // ESP32C5
#else
Settings->config_version = 1; // ESP32
#endif // CONFIG_IDF_TARGET_ESP32S3