Commit Graph

46 Commits

Author SHA1 Message Date
morris f47cb027df fix(gdma): burst size should be configurable on esp32c5 2024-12-02 18:04:41 +08:00
Guillaume Souchere 2a9a41886c feat(heap): Sort list of registered heap by increasing size
For a given group of heaps sharing the same capabilities, it is
best to use smaller heaps first when performing "small" allocations
to keep the bigger heaps untouched. This prevents the scenario where
a series of small allocations would crowd the bigger heaps making
any bigger allocation fail for lack of space.

Closes https://github.com/espressif/esp-idf/issues/13588
2024-11-21 11:02:19 +01:00
morris 0ed4c19c5e feat(lcd): support color conversion for mipi dsi driver 2024-11-07 17:02:54 +08:00
morris 8cd4091114 fix(gdma): run test cases after reset 2024-10-31 18:32:37 +08:00
Song Ruo Jing 6afbc06666 feat(gdma): add retention support for esp32p4, esp32c5, esp32c61 2024-09-24 12:33:41 +08:00
wanckl 4e095f4b9f ci(esp32c61): enable c61 generic target test 2024-09-02 19:26:12 +08:00
wanckl b70f41ca7a fix(gdma): fix c61 ahb dma for spi periph triggr number 2024-08-27 20:49:13 +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
laokaiyao cb22b8aaf7 ci(esp32c5): enable c5 target test 2024-07-02 16:45:49 +08:00
morris dd46392a66 feat(ci): check LL functions not read write register by half word 2024-06-18 14:58:41 +08:00
morris 3e3f82a3fd refactor(async_memcpy): clean up memory allocation code 2024-05-30 18:26:34 +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 001d4e1f8b feat(gdma): add GDMA support for ESP32C5 MP 2024-05-14 11:37:40 +08:00
morris 2352f17e63 test(gdma): can read data from flash rodata 2024-05-06 18:03:17 +08:00
morris f3ea7a2cc6 change(gdma): improve the test cases to be target agnostic 2024-04-22 18:03:06 +08:00
Armando e36a396801 change(test): test changes for esp cache malloc 2024-04-15 15:34:51 +08:00
laokaiyao 65b1fd33d3 ci(esp32c5mp): disable the unsupported tests 2024-04-07 12:13:29 +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
morris ed8d805554 fix(dw_gdma): write back the link list items after creation 2024-01-15 16:56:28 +08:00
morris 467dce2ffc change(dw_gdma): add a case to test memset from psram to sram 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 1ab742b3c3 ci(p4): enable esp32p4 target test 2024-01-04 09:34:55 +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 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
Armando ea38a2e9a4 feat(cache): support cache driver on esp32p4 2023-09-22 14:19:41 +08:00
Darian Leung 287bdc5e61 fix(test_apps): Trim builds of component test apps
Some component test apps do not use the "set(COMPONENTS main)" command in their
project level "CMakeLists.txt", thus leading to their builds pulling in all
ESP-IDF components.

This commit trims the build of multiple component test apps:

- Add "set(COMPONENTS main ...)" to project level "CMakeLists.txt"
- Add missing "PRIV_REQUIRES" in some "main" component "CMakeLists.txt"

Also removed repeated configuraiton options in legacy_i2c_driver/sdkconfig.ci.defaults
as they are already specified in legacy_i2c_driver/sdkconfig.defaults
2023-09-18 17:16:37 +08: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
Armando 7dbd3f6909 feat(ci): Enable p4 example, test_apps and unit tests CI build 2023-08-24 12:51:19 +08: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
morris 6d46cf739c feat(gdma): test non-cacheable DMA descriptor
To avoid different DMA descriptors reside in the same cache line,
we want the CPU to access the DMA descriptor in a non-cachable way
2023-07-25 10:59:07 +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
morris da3b3cf4a4 dma: use ccomp_timer component for testing performance metric
ccomp_timer now becomes a standalone component, located in the component registry.
we can use that in the test app by component manager.
2023-05-04 14:09:36 +08:00
Marius Vikhammer 0be8e03907 ci: update test apps to use run_all_single_board_cases 2023-03-10 14:27:09 +08:00
Omar Chebib 5e5343d429 TWDT: Use the new TWDT Kconfig options in the examples and tests 2023-02-17 11:22:25 +08: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
Cao Sen Miao 94120b82c2 esp32h2: add build test 2023-01-17 10:29:04 +08:00
Song Ruo Jing 7466ddfa8c ci: Make consistence between pytest_*.py and .build-test-rules.yml for esp32c6 (i.e. to pass check_test_scripts_build_test_rules.py) 2022-11-28 11:58:30 +08:00
Marius Vikhammer 59e40fafba esp_hw_support: move test to pytest 2022-11-25 16:21:35 +08:00
Song Ruo Jing be0fdfa176 soc: Add a soc cap, SOC_CLK_RC_FAST_D256_SUPPORTED, for whether the target has the RC_FAST_D256 clock 2022-11-01 11:23:26 +08:00
morris ff6855c4b1 gdma: migrate ut to pytest 2022-09-22 10:44:57 +08:00