diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/platforms/esp32c6/dma_parallel_io.cpp | 8 | ||||
| -rw-r--r-- | src/platforms/esp32s3/gdma_lcd_parallel16.cpp | 10 |
2 files changed, 17 insertions, 1 deletions
diff --git a/src/platforms/esp32c6/dma_parallel_io.cpp b/src/platforms/esp32c6/dma_parallel_io.cpp index 759395d..a7685c7 100644 --- a/src/platforms/esp32c6/dma_parallel_io.cpp +++ b/src/platforms/esp32c6/dma_parallel_io.cpp @@ -140,6 +140,7 @@ bool Bus_Parallel16::init(void) .auto_update_desc = false}; gdma_apply_strategy(dma_chan, &strategy_config); +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 4, 0) gdma_transfer_config_t transfer_config = { #ifdef SPIRAM_DMA_BUFFER .max_data_burst_size = 64, @@ -150,6 +151,13 @@ bool Bus_Parallel16::init(void) #endif }; gdma_config_transfer(dma_chan, &transfer_config); +#else + gdma_transfer_ability_t ability = { + .sram_trans_align = 32, + .psram_trans_align = 64, + }; + gdma_set_transfer_ability(dma_chan, &ability); +#endif // Enable DMA transfer callback static gdma_tx_event_callbacks_t tx_cbs = { diff --git a/src/platforms/esp32s3/gdma_lcd_parallel16.cpp b/src/platforms/esp32s3/gdma_lcd_parallel16.cpp index a4c5837..631c342 100644 --- a/src/platforms/esp32s3/gdma_lcd_parallel16.cpp +++ b/src/platforms/esp32s3/gdma_lcd_parallel16.cpp @@ -256,6 +256,7 @@ }; gdma_apply_strategy(dma_chan, &strategy_config); +#if ESP_IDF_VERSION >= ESP_IDF_VERSION_VAL(5, 4, 0) gdma_transfer_config_t transfer_config = { #ifdef SPIRAM_DMA_BUFFER .max_data_burst_size = 64, @@ -265,7 +266,14 @@ .access_ext_mem = false #endif }; - gdma_config_transfer(dma_chan, &transfer_config); + gdma_config_transfer(dma_chan, &transfer_config); +#else + gdma_transfer_ability_t ability = { + .sram_trans_align = 32, + .psram_trans_align = 64, + }; + gdma_set_transfer_ability(dma_chan, &ability); +#endif // Enable DMA transfer callback static gdma_tx_event_callbacks_t tx_cbs = { |
