detection of "OPI" flash (esp32s3 WROOM-2)

This commit is contained in:
Frank
2024-10-30 18:40:26 +01:00
parent a362b619fb
commit 9312506217
3 changed files with 16 additions and 4 deletions

View File

@@ -1079,7 +1079,7 @@ void serializeInfo(JsonObject root)
#if CONFIG_SPIRAM_MODE_OCT
root[F("psrmode")] = F("🚀 OPI");
#elif CONFIG_SPIRAM_MODE_QUAD
root[F("psrmode")] = F("qspi 🛻");
root[F("psrmode")] = F("qspi");
#endif
#endif
}
@@ -1115,6 +1115,12 @@ void serializeInfo(JsonObject root)
case FM_QOUT: root[F("e32flashtext")] = F(" (QOUT)");break;
case FM_DIO: root[F("e32flashtext")] = F(" (DIO)"); break;
case FM_DOUT: root[F("e32flashtext")] = F(" (DOUT or other)");break;
#if defined(CONFIG_IDF_TARGET_ESP32S3) && CONFIG_ESPTOOLPY_FLASHMODE_OPI
case FM_FAST_READ: root[F("e32flashtext")] = F(" (🚀OPI)");break;
#else
case FM_FAST_READ: root[F("e32flashtext")] = F(" (fast_read)");break;
#endif
case FM_SLOW_READ: root[F("e32flashtext")] = F(" (slow_read)");break;
default: root[F("e32flashtext")] = F(" (other)"); break;
}

View File

@@ -114,7 +114,7 @@ String PinManagerClass::getPinSpecialText(int gpio) { // special purpose PIN in
#if defined(CONFIG_IDF_TARGET_ESP32S3)
// ESP32-S3
if (gpio > 18 && gpio < 21) return (F("USB (CDC) or JTAG"));
#if CONFIG_SPIRAM_MODE_OCT && defined(BOARD_HAS_PSRAM)
#if CONFIG_ESPTOOLPY_FLASHMODE_OPI || (CONFIG_SPIRAM_MODE_OCT && defined(BOARD_HAS_PSRAM))
if (gpio > 32 && gpio < 38) return (F("(reserved) Octal PSRAM or Octal Flash"));
#endif
//if (gpio == 0 || gpio == 3 || gpio == 45 || gpio == 46) return (F("(strapping pin)"));

View File

@@ -546,6 +546,12 @@ void WLED::setup()
case FM_QOUT: DEBUG_PRINT(F(" (QOUT)"));break;
case FM_DIO: DEBUG_PRINT(F(" (DIO)")); break;
case FM_DOUT: DEBUG_PRINT(F(" (DOUT)"));break;
#if defined(CONFIG_IDF_TARGET_ESP32S3) && CONFIG_ESPTOOLPY_FLASHMODE_OPI
case FM_FAST_READ: DEBUG_PRINT(F(" (OPI)"));break;
#else
case FM_FAST_READ: DEBUG_PRINT(F(" (fast_read)"));break;
#endif
case FM_SLOW_READ: DEBUG_PRINT(F(" (slow_read)"));break;
default: break;
}
#endif
@@ -592,10 +598,10 @@ void WLED::setup()
DEBUG_PRINTF("%s min free stack %d\n", pcTaskGetTaskName(NULL), uxTaskGetStackHighWaterMark(NULL)); //WLEDMM
#endif
#if defined(ARDUINO_ARCH_ESP32) && defined(BOARD_HAS_PSRAM)
#if defined(ARDUINO_ARCH_ESP32) && (defined(BOARD_HAS_PSRAM) || defined(CONFIG_ESPTOOLPY_FLASHMODE_OPI))
//psramInit(); //WLEDMM?? softhack007: not sure if explicit init is really needed ... lets disable it here and see if that works
#if defined(CONFIG_IDF_TARGET_ESP32S3)
#if CONFIG_SPIRAM_MODE_OCT && defined(BOARD_HAS_PSRAM)
#if CONFIG_ESPTOOLPY_FLASHMODE_OPI || (CONFIG_SPIRAM_MODE_OCT && defined(BOARD_HAS_PSRAM))
// S3: reserve GPIO 33-37 for "octal" PSRAM
managed_pin_type pins[] = { {33, true}, {34, true}, {35, true}, {36, true}, {37, true} };
pinManager.allocateMultiplePins(pins, sizeof(pins)/sizeof(managed_pin_type), PinOwner::SPI_RAM);