Commit Graph

33 Commits

Author SHA1 Message Date
Song Ruo Jing 789fdc3598 refactor(ppa): split PPA HAL into a separate component 2025-12-15 17:01:38 +08:00
Song Ruo Jing fe8ace8bef refactor(ppa): use fourcc for dma2d and ppa color formats 2025-12-01 19:21:49 +08:00
Song Ruo Jing 672005c642 fix(ppa): fix potential SRM operation stuck on DMA issue
Apply a workaound to bypass macro block order function in PPA SRM
when specific conditions are met to avoid SRM operation getting stuck
2025-11-25 15:19:41 +08:00
Song Ruo Jing d33e8a48ad fix(ppa): YUV444 cannot be a PPA SRM output color mode 2025-11-25 10:53:15 +08:00
Song Ruo Jing 6776f65fc9 feat(ppa): ESP32P4 ECO5 PPA related updates
PPA SRM engine added YUV422 and GRAY8 color mode support
PPA SRM engine macro block size increased to 32x32
PPA Blending engine added YUV420, YUV422 and GRAY8 color mode support
2025-10-15 16:49:22 +08:00
Marius Vikhammer 484d2c5c2f fix(system): fixed issues with unused variable warnings when compiling with NDEBUG 2025-09-19 15:42:07 +08:00
Marek Fiala 9d35d63651 feat(cmake): Update minimum cmake version to 3.22 (whole repository) 2025-08-19 14:44:32 +02:00
morris 7af3bddbca fix(drivers): some false reports from coverity 2025-05-20 16:52:32 +08:00
Song Ruo Jing abc9c1fd55 test(gpio,gpio_ext,ppa): test with malloc from psram by default 2025-05-15 11:21:06 +08:00
igor.udot daf2d31008 test: format all test scripts 2025-03-05 12:08:48 +08:00
Song Ruo Jing 8038037b07 fix(ppa): fix ppa srm potentially get blocked when scaling to YUV420
YUV420 requires scale_x_frag, scale_y_frag be even
2025-02-27 21:12:45 +08:00
Alexey Lapshin 888b5f7e8d feat(newlib): add picolibc support 2024-12-02 21:35:56 +07:00
Song Ruo Jing ea0383805f fix(ppa): fix a few minor issues for ppa srm and blend driver
1. The smallest scale size can be 1/16, not 1/15
2. Fix potential heap corruption if scale to a smaller size (OOB)
3. Fix mismatching writeback and invalidate data size if in_bg/fg_buffer and out_buffer
are the same one and L2 cacheline size is larger than L1 cacheline size
2024-10-21 14:51:07 +08:00
Song Ruo Jing 64c06cb327 fix(ppa): fix insufficient writeback/invalidate data length 2024-07-09 16:06:42 +08:00
morris dd46392a66 feat(ci): check LL functions not read write register by half word 2024-06-18 14:58:41 +08:00
Song Ruo Jing fb7afe607e feat(ppa): add test cases to test PPA data correctness 2024-06-06 18:10:53 +08:00
Frantisek Hrbata fbe8bf89ee fix: properly resolve component dependencies
There is currently a bug in the __build_resolve_and_add_req function in
tools/cmake/build.cmake where the check for registered component
requirements is incorrectly applied to the component itself rather than
its dependencies. This issue likely originated from a typo, using
component_target instead of _component_target. To prevent further
confusion, _component_target has been renamed to _req_target.

Fixing this revealed multiple incorrect dependencies for the Linux
target, which have now been resolved by explicitly specifying the
dependencies for the Linux target.

Closes https://github.com/espressif/esp-idf/issues/13447

Signed-off-by: Frantisek Hrbata <frantisek.hrbata@espressif.com>
2024-05-30 22:01:55 +08:00
Song Ruo Jing b7e595d211 fix(ppa): fix mismatching writeback and invalidate data size on the same buffer 2024-05-28 16:59:13 +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 8464fac845 feat(ppa): add PPA driver support for ESP32P4
Remove the check for in_accepting_trans_state
Add color_pixel_xxxx_data_t structures to color_types.h
Fix PM lock protection (Tested, now works well)
* CPU_MAX, PM lock and semaphore order
* Remove ppa_driver PM lock
Modify concurrency (queue, trans recycle, semaphore, ...)
Add programming guide
Add test apps
2024-05-23 16:40:56 +08:00
Song Ruo Jing 916c0ef8d1 feat(ppa): add PPA driver support for ESP32P4
Fix pm_lock assert and assign to NULL
Alpha value union
Tested with CONFIG_PM_ENABLE
2024-05-23 16:40:56 +08:00
Song Ruo Jing 01bc7dcc56 feat(ppa): add PPA driver support for ESP32P4
Separate callback registration to individual API
Fix YUV420 output
Separate source files into operations
2024-05-23 16:40:56 +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 346bc077c5 feat(ppa): add PPA driver support for ESP32P4
Added doxygen
Refactored driver to malloc trans_elm memory when registering the client
Cleaned up driver
Added API check
One client now only responsible for one operation
2024-05-23 16:40:56 +08:00
Song Ruo Jing 95ee1595f9 feat(ppa): add PPA driver support for ESP32P4
Add out_buffer_size field to all oper_config_t
Add strict check for out buffer addr and size alignment
2024-05-23 16:40:55 +08:00
Song Ruo Jing 963c893cc7 feat(ppa): add PPA driver support for ESP32P4
Fix bugs found in AE lvgl demo examples

Add color keying feature to blending
2024-05-23 16:40:55 +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
Song Ruo Jing 368ef8b472 feat(ppa): add PPA driver support for ESP32P4
Improved/Refactored on the APIs
2024-05-23 16:40:55 +08:00
Song Ruo Jing 776c3ef392 feat(ppa): add PPA driver support for ESP32P4
Add fill operation
Split ppa_do_operation, pre-process some trans config
2024-05-23 16:40:55 +08:00
Song Ruo Jing fd19979d88 feat(ppa): add PPA driver support for ESP32P4
cleaned up a bit, unify to some static functions
2024-05-23 16:40:55 +08:00
Song Ruo Jing 715004f07e feat(ppa): add PPA driver support for ESP32P4
Add invoker concept
Add blend operation
2024-05-23 16:40:55 +08:00
Song Ruo Jing 36732fbcb4 feat(ppa): add PPA driver support for ESP32P4 2024-05-23 16:40:55 +08:00