Skip to content

Add LDO Voltage Regulator module (LDOPWR?) #9651

Open
@RetiredWizard

Description

@RetiredWizard

Espressif is playing around on the ESP32-P4 with support for UHS-1 SD cards that use 1.8v signal voltages. Currently they have a couple of recommendations on how to deal with the new voltage. One option is to just design the hardware with your intended voltage feeding the SD_VSS pin. A second option is to utilize some LDO power supply features of the SOC itself. It turns out that on the Function-EV dev board, Espressif connected one of the ESP32-P4 LDO lines to the SD Card which means you should be able to control the voltage via software. As it stands, when you run the current version of CircuitPython, the dev board appears to be supplying about 1v to SD card pins which means that neither the standard SDIOIO or SPI modules will successfully work with the boards SD card slot.I have been able to build a version of the SDIOIO module that turns on the LDO power channel connected to the SD card which brings the voltage up to 3.3 volts and allows the SDIOIO module to properly mount an SD card.

While the SDIOIO module could be modified to work on the Function-EV board using either compile time board parameters or settings.toml runtime parameters (ths SPI or SDCARDIO module would also need updates in order for the Function-EV board to fully support the SD card slot as designed), I'm thinking the correct way to deal with multiple SDMMC interface voltages would be to provide a CircuitPython core LDOPWR library for controlling the LDO channels. That way the Python developer could decide how best to power the connected device based on their requirements.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions