87 Commits

Author SHA1 Message Date
morris
46d1d7a43f fix(gdma): relax alignment constraint for internal memory
external memory encryption should not affect internal memory alignment

Closes https://github.com/espressif/esp-idf/issues/15228
2025-02-18 13:37:22 +08:00
morris
5558028870 bugfix(cache): cache invalidate operation should respect the cache line size
not only the buffer address but also the buffer size should aligned to
the cache line size
2025-02-10 17:48:46 +08:00
morris
cfca6c606e fix(dma): also consider buffer alignment when calculating the DMA nodes
Closes https://github.com/espressif/esp-idf/issues/15228
2025-02-07 12:34:42 +08:00
morris
0c7fef8ac9 feat(async_memcpy): support rx buffer unaligned to cache line size 2025-01-24 11:46:44 +08:00
morris
8bb6f764e1 refactor(dma): split rx buffer to cache aligned ones 2025-01-24 11:46:16 +08:00
morris
97d09e6427 feat(gdma): added API to count the size of rx buffer until eof 2025-01-13 22:58:27 +08:00
morris
364bbbde68 refactor(cp_dma): to use gdma_link driver for descriptor config 2024-12-02 17:40:13 +08:00
Jiang Jiang Jian
1f947551c0 Merge branch 'feat/sleep_retention_expand_module_bitmap' into 'master'
expand the number of sleep retention modules supported on different chips

Closes PM-230

See merge request espressif/esp-idf!33755
2024-11-20 14:50:35 +08:00
Li Shuai
8eea8a8ef3 change(esp_hw_support): update some modules sleep retention init dependency bitmap 2024-11-18 15:40:47 +08:00
morris
b9a8180b17 test(parlio): dma can transmit PSRAM buffer 2024-11-18 14:37:00 +08:00
morris
0ed4c19c5e feat(lcd): support color conversion for mipi dsi driver 2024-11-07 17:02:54 +08:00
morris
efcb91b47e feat(lcd): support rgb lcd driver for esp32p4 2024-10-22 17:18:05 +08:00
morris
1193e26c88 feat(gdma): added function to concat two link lists 2024-10-11 18:20:13 +08:00
Song Ruo Jing
6afbc06666 feat(gdma): add retention support for esp32p4, esp32c5, esp32c61 2024-09-24 12:33:41 +08:00
Li Shuai
1fa27cbb0d Merge branch 'feature/esp32c5mp_light_sleep_support_stage_2' into 'master'
feat(esp_hw_support): esp32c5mp sleep support (system part)

Closes IDF-8643, PM-195, PM-169, IDF-8641, IDF-8640, IDF-8639, IDF-8638, CV-259, IDF-10308, IDF-10317, IDF-10310, PM-202, IDF-10918, PM-207, PM-208, PM-210, and PM-214

See merge request espressif/esp-idf!31645
2024-08-29 19:32:05 +08:00
morris
39cbba3685 change(gdma): deprecate legacy API
gdma_new_channel() is replaced by gdma_new_ahb_channel() and
gdma_new_axi_channel()
2024-08-28 15:27:35 +08:00
Lou Tianhao
a0da9ade35 feat(esp_hw_support): support top domain powered down during sleep for esp32c5 2024-08-28 10:44:08 +08:00
Marius Vikhammer
0d140f38ea fix(system): fixed warnings related to ununsed var if asserts disabled 2024-08-26 10:25:04 +08:00
Chen Jichang
f919336448 feat(dma): Add helper functions to split aligned buffer
In some cases we will need the dma's buffer to be aligned with specific
requirements. This MR add two helper function to split the unaligned
buffer and merge to the origin buffer. The cost is that each unaligned
buffer requires two stash buffers of spilt alignment size. And this
memory should be managed by callers.
2024-08-07 19:48:19 +08:00
morris
f096265774 feat(gdma): add GDMA link list driver 2024-07-30 16:10:15 +08:00
Armando
c503e385ab fix(dma): fix esp_dma_is_buffer_alignment_satisfied align issue when l2 cache line 128B 2024-07-17 15:15:16 +08:00
Alexey Lapshin
b85736f6a6 fix(esp_hw_support): fix warnings found by GNU static analyzer 2024-06-18 14:25:37 +08:00
morris
a7e7fe2ee8 Merge branch 'refactor/async_memcpy_allocate_dma_memory' into 'master'
refactor(async_memcpy): clean up memory allocation code

See merge request espressif/esp-idf!31197
2024-06-04 21:09:48 +08:00
morris
3e3f82a3fd refactor(async_memcpy): clean up memory allocation code 2024-05-30 18:26:34 +08:00
morris
68cb0d442f change(dw_gdma): clean up memory allocation for link list items 2024-05-29 18:00:00 +08:00
morris
dc060460ea change(async_memcpy): set DMA transfer burst size 2024-05-24 22:43:55 +08:00
morris
dc6989796a feat(gdma): set burst size and return alignment constraint
burst size can affect the buffer alignment
2024-05-24 22:43:55 +08:00
Song Ruo Jing
ea7d496e58 feat(ppa): add PPA driver support for ESP32P4
Remove L4/L8, YUV422 in PPA driver
Clean up
2024-05-24 14:23:54 +08:00
Song Ruo Jing
d956ba2a6c feat(ppa): add PPA driver support for ESP32P4
Add burst_length option to client
Change uint32_t to color_pixel_rgb888_data_t
Descriptor always malloc with MALLOC_CAP_INTERNAL | MALLOC_CAP_8BIT
Add dscr-port mode block size configuration as a separate API in 2D-DMA driver
Do writeback only on an extended window, instead of entire picture
2024-05-24 14:23:14 +08:00
Song Ruo Jing
fd1a718f62 feat(ppa): add PPA driver support for ESP32P4
Modified API operation configuration structure
Rename invoker to client
Support YUV420 color mode for SRM
Move PPA srm/blending engine reset ahead of any 2D-DMA channel configurations
2024-05-23 16:40:56 +08:00
Song Ruo Jing
a86e03cba3 feat(ppa): add PPA driver support for ESP32P4
Renamed SR to SRM
2024-05-23 16:40:55 +08:00
Alexey Gerenkov
8b93323da6 Merge branch 'upgrade_clang_toolchain' into 'master'
Upgrade clang toolchain version to 'esp-17.0.1_20240419'

See merge request espressif/esp-idf!29811
2024-05-14 21:47:06 +08:00
Alexey Gerenkov
23bf613eab fix(build): Fix '-Walign-missmatch' warning
"passing 4-byte aligned argument to 64-byte aligned parameter 1"
2024-05-03 16:55:18 +03:00
Wan Lei
cceec04195 Merge branch 'refactor/spi_slave_hal_iram_dma_replace' into 'master'
refactor(spi_slave): spi slave and slave HD hal iram dma_ll replace

Closes IDF-6152 and IDF-9656

See merge request espressif/esp-idf!27877
2024-04-30 20:16:18 +08:00
wanlei
31f4e9c698 feat(gdma): strategy_config_t add eof_mode support 2024-04-24 14:01:09 +08:00
morris
07a3e5eaa8 feat(mipi_dsi): support isr iram safe 2024-04-23 18:31:16 +08:00
Armando (Dou Yiwen)
116bdf4762 Merge branch 'change/change_esp_cache_aligned_alloc_log_e_to_w' into 'master'
cache: change esp_cache_aligned_alloc_log_e_to_w and update to use heap cap malloc flags

Closes IDF-9666

See merge request espressif/esp-idf!30087
2024-04-15 17:02:02 +08:00
Armando
0df418facd change(cache): update to use heap cap malloc flags 2024-04-15 15:34:51 +08:00
Armando
c3f60522cf bugfix(dma): fixed spiram_cap doesn't match with dma cap issue for esp_dma_malloc 2024-04-15 11:37:17 +08:00
gaoxu
40f38bea6f feat(dma): refactor dma calloc function 2024-04-02 14:30:14 +08:00
Armando
f0518b3c16 feat(dma): advanced dma malloc helper 2024-04-02 14:30:14 +08:00
Li Shuai
57c8fdfd86 change(esp_hw_support): use new retention api to implement gdma retention 2024-03-30 11:51:52 +08:00
wuzhenghui
38fe4e136a
feat(esp_hw_support): support esp32p4 sleep peripheral retention 2024-03-28 19:18:25 +08:00
Song Ruo Jing
12325ff47e fix(dma2d): correct a few 2D-DMA driver issues
1. mem_burst_length register field correction
2. remove dma buffer addr range restriction
3. M2M periph sel ID no need to be identical for TX and RX channels
4. correct rx descriptor owner field auto clear
5. remove fsm idle assertion for ERR_EOF
2024-03-18 20:11:57 +08:00
morris
f0342d6b59 feat(dw_gdma): support change link list item connection
by dw_gdma_lli_set_next
2024-02-27 17:49:04 +08:00
wuzhenghui
247b4e0574
change(esp_hw_support): collect retention link priority definition 2024-02-02 11:21:44 +08:00
wuzhenghui
0c2f811ca8
feat(esp_hw_support): support gdma register context sleep retention 2024-02-02 11:21:40 +08:00
Song Ruo Jing
08eada7301 feat(esp_hw_support/dma2d): Add 2D-DMA support on ESP32P4 2024-01-22 20:51:43 +08:00
morris
ed8d805554 fix(dw_gdma): write back the link list items after creation 2024-01-15 16:56:28 +08:00
morris
002467d0f6 fix(dw_gdma): free the interrupt handle when deleting the channel 2024-01-09 10:20:24 +08:00