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