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
morris
56a376c696
feat(esp_gdma): add hal interface for common operations
...
GDMA driver will be adapted to more DMA peripherals in the future.
This commit is to extract a minimal interface in the hal layer
2023-07-10 13:45:57 +08:00
laokaiyao
71ef56f988
gdma: support on_recv_done callback
2023-06-07 11:38:32 +08:00
morris
630b1b079e
drivers: fix issue reported by coverity
2023-06-06 14:16:09 +08:00
Niklas Gürtler
be8a0d08f2
gdma: implement descriptor error callback
...
Merges https://github.com/espressif/esp-idf/pull/11499
2023-05-26 13:24:34 +08:00
Marius Vikhammer
e806d9c9cb
gdma: fixed crash from logging when using newlib nano
...
Newlib nano printf formatting do not support %z, and will crash if such an identifier
is followed by a %s indentifier.
Closes https://github.com/espressif/esp-idf/issues/9631
2023-05-06 10:51:03 +08:00
morris
6c19e7b8a7
gdma: avoid manually start/stop when channel is controled by ETM
2023-04-06 10:49:32 +08:00
morris
1429913042
gdma: support override default channel priority
2023-04-06 10:49:32 +08:00
Armando
663e881868
gdma: fix potential unaligned cache writeback issue
2023-02-28 10:42:22 +08:00
Sachin Billore
8d0f6dab0f
apm: added support for APM on esp32c6
...
Closes: IDF-5819 IDF-5818
2023-02-10 08:18:07 +00:00
morris
dbca74f1ef
gdma: prevent mutli-channels connect to the same peripheral
...
1. add check in the gdma driver, to prevent multiple channels connecting
to the same peripheral
2. memory copy DMA ID will occupy the peripheral's DMA ID on some ESP
targets (e.g. esp32c3/s3). We should search for a free one when
install async memcpy driver.
Closes https://github.com/espressif/esp-idf/issues/10575
2023-01-31 15:18:19 +08:00
morris
3681dee80e
gdma: support esp32h2
2023-01-10 16:37:02 +08:00
morris
5c06e9cf40
etm: update etm event task new API
2022-12-07 15:43:20 +08:00
morris
356c6bb528
gdma: support etm extension
2022-11-23 15:32:34 +08:00