aws / amazon-freertos

DEPRECATED - See README.md
https://aws.amazon.com/freertos/
MIT License
2.54k stars 1.1k forks source link

[BUG] ESP32 Port SPI Error with S3 #3542

Closed thomasklaush closed 1 year ago

thomasklaush commented 1 year ago

Describe the bug When SPI port is used with ESP32-S3 the Error: "invalid dma channel, chip only support spi dma channel auto-alloc" occures.

Reason is that in the port for dma chanel directly lSPIInstance or 1 is used:

iot_spi.c line 155: ret = spi_bus_initialize(spi_ctx->spi_port_num, &spi_ctx->spi_bus_config, lSPIInstance); iot_spi.c line 253: ret = spi_bus_initialize(spi_ctx->spi_port_num, &spi_ctx->spi_bus_config, 1);

I changed it to SPI_DMA_CH_AUTO which works for S3 but maybe not for all.

System information

dachalco commented 1 year ago

Hi @thomasklaush

While we offer demos framework for esp32 and esp32-s2, we do not have a specific setup for esp32-s3. Likely there are other configs, besides SPI usage/availability, that need adjusting as well. For example, they build with different IDF sdkconfig defaults.

For esp32(-s2) ports, SPI1 is a usable SPI Master instance, however that's not the case for esp32-s3. I suspect most of the existing esp32 code should translate to s3 without many changes though.

n9wxu commented 1 year ago

ESP32-S3 is unsupported in Amazon-Freertos