Commit Graph

63 Commits

Author SHA1 Message Date
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
morris
28db901d77 fix(mcp): align the descriptor to cache line size for DMA memory copy 2024-01-09 10:12:36 +08:00
Armando
a9a36512a8 bugfix(dma): fixed wrong esp_dma_is_buffer_aligned result for psram on s3 2024-01-05 09:56:08 +08:00
morris
eeae70ddf3 fix(dw_gdma): wrong master port setting for destination 2023-12-21 10:41:27 +08:00
morris
0bc94b3210 Merge branch 'refactor/async_mcp_non_cacheable_descriptor' into 'master'
feat(async_mcp): access DMA descriptor bypass cache

See merge request espressif/esp-idf!27809
2023-12-15 18:30:54 +08:00
morris
d875d021e1 Merge branch 'feature/gdma_etm_esp32p4' into 'master'
feat(gdma): support ETM sub-driver on esp32p4

See merge request espressif/esp-idf!27719
2023-12-15 12:24:06 +08:00
morris
bf00021b37 feat(dw_gdma): channel allocator driver 2023-12-12 03:35:05 +00:00
morris
987174c203 feat(async_mcp): access DMA descriptor bypass cache 2023-12-10 15:19:27 +08:00
morris
a7577f88bd feat(gdma): support ETM subsystem on esp32p4 2023-12-06 18:02:43 +08:00
morris
05e6ccbba7 feat(gdma): can read interrupt raw status 2023-11-20 17:25:57 +08:00
morris
2f72b3578a feat(gdma): distinguish abnormal and normal eof in the gdma event data 2023-11-20 17:25:57 +08:00
Armando
7879b29b0c feat(dma): added a helper api to check buffer is dma aligned 2023-10-18 11:57:55 +00:00
Armando
ec27891af6 change(cache): swap cache hal arg 'type' and 'level' 2023-09-22 14:19:41 +08:00
Armando
900aebd158 feat(dma): added APIs for dma specific malloc 2023-09-22 14:19:41 +08:00
Armando
cc581c3c36 change(cp_dma): check cache line by cache level 2023-09-22 14:19:41 +08:00
Armando
ea38a2e9a4 feat(cache): support cache driver on esp32p4 2023-09-22 14:19:41 +08:00
morris
6bb05cccdd feat(rmt): add driver support for esp32p4
including DMA feature
2023-09-19 12:54:14 +08:00
gaoxu
5b4469f973 fix: remove wno format in esp_hw_support component 2023-09-18 02:43:41 +00:00
morris
b962fdee89 refactor(gdma): add reset and clock control in LL driver 2023-08-31 02:11:47 +00:00
morris
200eb866dc feat(gdma): support hardware crc calculation
On ESP32-P4, the GDMA peripherals support CRC calculating.
2023-08-31 02:11:47 +00:00
morris
595c3fe6a2 fix(async_memcpy): destination alignment check against cache line size
On ESP32P4, becasue we need to invalidate the destination buffer,
if the buffer is not aligned to cache line, then it might break
other date structure, randomly.
2023-08-15 17:40:17 +08:00
morris
fd3d1aa101 feat(async_memcpy): refactor driver code to support different DMA backen
To support AHB and AXI DMA memory copy for the same target (esp32p4).
2023-08-03 12:02:09 +08:00
laokaiyao
274e1c0089 fix(gdma): fixed compilation failure of gdma 2023-07-24 19:36:31 +08:00
laokaiyao
3c2233d48b feat(gdma): supported rx err_eof interrupt 2023-07-20 14:19:39 +08:00
morris
57879e772d feat(gdma): support channel allocator on esp32p4
There's two GDMA groups on ESP32P4, one is connected to AHB bus,
and another one is connected AXI bus.
We now have two seperate APIs for allocating DMA channels,
depends on the bus type.
2023-07-19 18:18:07 +08:00