Commit Graph

73 Commits

Author SHA1 Message Date
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
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