Commit Graph

76 Commits

Author SHA1 Message Date
morris
193fca5b95 refactor(hal): extract cache && mmu HAL into esp_hal_cache 2026-09-16 21:40:16 +08:00
Armando (Dou Yiwen)
5e181236b7 refactor(mspi): move esp_mspi_align and mspi_mem_barrier to esp_mspi 2026-09-09 14:17:00 +08:00
morris
f5afb99e3b fix(gdma): treat burst size 0 and 1 as burst disabled
The GDMA layer used `max_data_burst_size == 0` as the only way to disable the
data burst. That conflicts with the upstream drivers' convention where a zeroed
config struct means "unset", so users had no way to ask for the driver default
burst size.

GDMA now treats both 0 and 1 as "no data burst": a single-beat burst has no
benefit over the non-burst mode. The MSPI alignment constraint under Flash
Encryption / PSRAM ECC still takes precedence and is reported with a warning.

The upstream drivers using GDMA now apply their own default burst size (16
bytes) when the user leaves `dma_burst_size` as 0, following the UHCI driver:

- esp_async_crc (AHB / AXI GDMA backend)
- esp_async_memcpy (AHB / AXI / LP-AHB / DW_GDMA backend)

Callers that really want no burst can now set `dma_burst_size` to 1.
2026-09-08 23:29:14 +08:00
morris
66d1b5f641 Merge branch 'feat/i2s_edma' into 'master'
feat(i2s): supports DMA buffer in PSRAM

Closes IDF-15256, IDF-11059, and IDF-4471

See merge request espressif/esp-idf!51877
2026-09-03 16:14:03 +08:00
morris
0b8dde2d06 feat(uhci): add flash encryption test on encrypted runners 2026-09-02 17:40:50 +08:00
Chen Chen
bea9fd822c feat(i2s): enable dma burst size configuration 2026-09-01 16:11:57 +08:00
Chen Chen
1dfce4409a feat(gdma): add burst size validation check during config
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-09-01 16:07:51 +08:00
Marius Vikhammer
532b433246 fix(build_system): cleaned up esp_psram dependencies
Also moved mspi_mb functionality to esp_hw_support together with
other mspi functionality
2026-08-24 11:12:17 +08:00
morris
fe465ae1fe Merge branch 'fix/psram-ecc-mspi-dma-align' into 'master'
fix(mspi): handle PSRAM ECC DMA alignment across MSPI users

Closes IDF-15850, IDF-15910, and IDF-15700

See merge request espressif/esp-idf!49987
2026-08-20 11:51:46 +08:00
Hu Rui
b6c74df553 feat(gdma): add tx done and total_eof callbacks 2026-08-17 19:28:07 +08:00
Chen Jichang
e008f5a627 refactor(gdma): increase performance and optimize api 2026-08-17 17:02:06 +08:00
Chen Jichang
2b8029c775 feat(mspi): split dma and mspi alignment 2026-08-17 16:49:27 +08:00
morris
c07cec57ca Merge branch 'refactor/i2s_gdma_link' into 'master'
refactor(i2s): uses GDMA link to mount DMA descriptors

Closes IDF-15890

See merge request espressif/esp-idf!51510
2026-08-17 10:04:16 +08:00
Chen Jichang
7d6164515c refactor(lcd): add async dma2d copy wrapper 2026-08-13 14:29:43 +08:00
Chen Jichang
e3144ebd08 fix(dma2d): improve async color convert performance 2026-08-13 14:29:43 +08:00
Chen Chen
3acbac7b1c refactor(gdma): pass channel count to retention test helper
Co-authored-by: Cursor <cursoragent@cursor.com>
2026-08-12 17:04:48 +08:00
morris
eec76a070e feat(esp_driver_dma): add dw_gdma backend for async_memcpy 2026-08-10 16:16:53 +08:00
Chen Ji Chang
5abb8ab351 Merge branch 'test/enable_c61_h4_flash_enc_test' into 'master'
test(flash_enc): enable c61 and h4 flash_enc test

Closes IDF-15964

See merge request espressif/esp-idf!50872
2026-07-23 16:51:51 +08:00
Chen Jichang
294f35cb03 test(dma): add psram ecc test for supported targets 2026-07-21 14:50:23 +08:00
Chen Jichang
9a196c8416 remove(lcd): remove restart support for p4 and s31 2026-07-20 13:19:09 +08:00
Chen Jichang
6322016c9d test(flash_enc): enable c61 and h4 flash_enc test 2026-07-17 16:06:34 +08:00
morris
08346e011a test(drivers): run flash encryption apps on real hardware
Replace the virtual efuse flash-encryption flow in parlio, rmt, and lcd
test apps with real-device flash_enc configs so CI can validate the same
path used on encryption runners.
2026-07-13 14:33:47 +08:00
morris
18f50fefa9 Merge branch 'feat/esp_macro_align_up_down' into 'master'
refactor(esp_common): centralize ALIGN_UP/ALIGN_DOWN into esp_macros.h

See merge request espressif/esp-idf!50335
2026-07-06 19:09:14 +08:00
Chen Ji Chang
b09ea896b6 Merge branch 'fix/fix_async_color_convert_csc' into 'master'
fix(dma2d): fix async color convert csc check

See merge request espressif/esp-idf!50229
2026-07-06 16:10:10 +08:00
morris
651d6a283f refactor(esp_common): centralize ALIGN_UP/ALIGN_DOWN into esp_macros.h
Remove ~50 duplicate local definitions of ALIGN_UP/ALIGN_DOWN/ALIGN_UP_BY/
ALIGN_DOWN_BY across the codebase and replace them with canonical
ESP_ALIGN_UP/ESP_ALIGN_DOWN from esp_macros.h.
2026-07-06 13:36:06 +08:00
Chen Jichang
5123e1c634 fix(dma2d): fix async color convert csc check 2026-07-06 12:43:35 +08:00
Song Ruo Jing
e4a269d793 Merge branch 'bugfix/dma2d_dequeue_mechanism' into 'master'
fix(dma2d): add a dequeue mechanism for dma2d driver

See merge request espressif/esp-idf!49925
2026-07-06 11:19:53 +08:00
Song Ruo Jing
3d8fd22e14 fix(dma2d): fix race with dma2d_force_end and ISR
free_up_channels can only be called once for a started transaction.
Double free will undesirely stop the next picked 2D-DMA transaction on the same channel.
2026-07-02 20:25:09 +08:00
Song Ruo Jing
92024d98b6 fix(dma2d): add a dequeue mechanism for dma2d driver
JPEG driver should be able to either dequeue a pending transaction from
a 2D-DMA pool or force end a processing transaction.
2026-07-02 20:25:09 +08:00
Sudeep Mohanty
b3951f4013 fix(test_apps): override config defaults unused by these tests
These tests enable features they do not use -- the VFS console, Wi-Fi task core pinning, and
the DS peripheral -- which shift memory layout, interrupt allocation, and peripheral access
enough to fail them. Override the unused options in each test's sdkconfig and ignore the
resulting unknown-symbol build warnings.
2026-07-01 13:17:25 +02:00
morris
e34e2af9e4 Merge branch 'docs/esp_crc_rom_api' into 'master'
fix(esp_crc): clarify CRC ROM helper usage documentation

Closes IDFGH-17804

See merge request espressif/esp-idf!50177
2026-07-01 15:11:11 +08:00
Hu Rui
03cf5bb45a Merge branch 'refactor/driver_dac_common' into 'master'
refactor(dac): improve the DAC driver

See merge request espressif/esp-idf!48212
2026-07-01 13:36:23 +08:00
morris
aa4532395a fix(esp_crc): clarify CRC helper usage documentation
Document the implicit bitwise inversion behavior in the CRC ROM wrappers
and add regression tests covering continuous-buffer examples.

Closes https://github.com/espressif/esp-idf/issues/18715
2026-06-30 15:37:06 +08:00
morris
624a21f359 feat(dma2d): support RGB24 and BGR24 scramble conversion
Add async color convert coverage for direct RGB24/BGR24 byte-order swaps
and
thread both TX and RX CSC state through DMA2D transactions for future
extensibility.
2026-06-28 17:07:18 +08:00
Hu Rui
3de0e061c1 refactor(dac): improve the DAC driver 2026-06-26 13:45:38 +08:00
Chen Jichang
0853d69715 fix(gdma): fix buffer alignment when psram ecc enabled
Closes https://github.com/espressif/esp-idf/issues/18739
2026-06-24 17:02:39 +08:00
morris
dcd7f1deba feat(dma2d): added async color convert driver 2026-06-16 15:01:23 +08:00
Song Ruo Jing
14d8570163 feat(ppa): add sleep retention support for DMA2D and PPA 2026-06-15 15:45:07 +08:00
morris
891341153d Merge branch 'feat/esp_async_memcpy_blocking_api' into 'master'
feat(esp_driver_dma): add blocking async memcpy API

See merge request espressif/esp-idf!49295
2026-06-08 22:24:09 +08:00
morris
6bc9814ffb feat(esp_driver_dma): add blocking async memcpy API
Add a blocking wrapper for async memcpy so simple users can wait for one DMA copy without writing their own ISR callback and semaphore plumbing. Update functional tests and documentation to use the simpler API where async completion handling is not needed.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-05 12:07:17 +08:00
Chen Jichang
1f7fc79540 fix(gdma): fix crc stuck with large input 2026-06-04 15:59:45 +08:00
morris
c49a6ed454 fix(async_crc): limit the blocking API only accept infinite timeout
also support user configured interrupt priority
2026-06-03 15:43:12 +08:00
Chen Jichang
f8ff130959 feat(lcd): support buffer switch interrupt 2026-06-01 15:19:19 +08:00
morris
90e0b94ed6 test(dma): reenable unit test for esp32p4 rev1 targets 2026-05-27 10:32:34 +08:00
Li Shuai
e28ee420ac fix(ci): some digital peripherals support sleep retention attach and detach 2026-05-21 11:46:16 +08:00
Chen Jichang
cc3edfa727 feat(gdma): support gdma sleep retention on s31 2026-05-13 18:09:17 +08:00
Chen Jichang
3c3b9a6a4e ci(esp32h4): disable tests which cannot pass 2026-05-11 16:48:58 +08:00
Chen Jichang
645ff40cde ci(esp32h4): enable ci target test 2026-05-11 16:48:58 +08:00
wuzhenghui
d3c5129050 fix(driver): fix retention unsupported mouldes TOP pd test 2026-05-07 12:02:05 +08:00
morris
d318aeaafb feat(gdma): move gdma sleep retention info from esp_hal_dma to esp_driver_dma 2026-04-24 15:35:35 +08:00