QUERY · ISSUE
Support for ESP32 Quad and Octal SPI on SPI2 and SPI3
I have an ESP32S3 project that requires a high bandwidth between the MCU and an external device. The only feature blocking the use of micropython is its lack of support for ESP32's multi-line SPI (Quad and Octal). I looked over the SPI code in ports/esp32 and it looks pretty doable. I'm considering adding it and sending a PR. Before I do so, though, I'm wondering how I should expose it in a module. I think the most sensible thing would be to create a separate esp32.QSPI class (and perhaps an esp32.OctalSPI class).
I'd be interested in hearing what people think.
Thanks!
CANDIDATE · PULL REQUEST
esp32: fix SPI construction
port-esp32
This fixes the construction of machine.SPI objects on esp32 so that:
- SPI(1) and SPI(2) work on esp32, esp32s2, esp32s3
- SPI(1) works on esp32c3
- SPI(1) consistently maps to SPI2_HOST and SPI(2) consistently maps to SPI3_HOST (for all SoC variants)
Fixes issue #11919.