From ff8102e753a3b98875d49dc617afa32d9d4b8912 Mon Sep 17 00:00:00 2001 From: Manuel <71137295+mverch67@users.noreply.github.com> Date: Mon, 13 Apr 2026 20:25:57 +0200 Subject: [PATCH] preliminary workaround setLDOPower() crash --- .../esp32p4/crowpanel-advanced-p4/variant.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 variants/esp32p4/crowpanel-advanced-p4/variant.cpp diff --git a/variants/esp32p4/crowpanel-advanced-p4/variant.cpp b/variants/esp32p4/crowpanel-advanced-p4/variant.cpp new file mode 100644 index 000000000..cd089d329 --- /dev/null +++ b/variants/esp32p4/crowpanel-advanced-p4/variant.cpp @@ -0,0 +1,15 @@ +#include "variant.h" +#include "Arduino.h" +#include + +void earlyInitVariant() +{ +#if defined(CONFIG_IDF_TARGET_ESP32P4) && defined(BOARD_SDMMC_POWER_PIN) + // Work around Arduino-ESP32 P4 SPI null-deref in setLDOPower() when this pin + // already has a bus type but no extra type string assigned. + if (perimanPinIsValid(BOARD_SDMMC_POWER_PIN) && perimanGetPinBusType(BOARD_SDMMC_POWER_PIN) != ESP32_BUS_TYPE_MAX && + perimanGetPinBusExtraType(BOARD_SDMMC_POWER_PIN) == nullptr) { + perimanSetPinBusExtraType(BOARD_SDMMC_POWER_PIN, ""); + } +#endif +} \ No newline at end of file