Commit Graph
39 Commits
Author SHA1 Message Date
morris f5afb99e3b fix(gdma): treat burst size 0 and 1 as burst disabled
The GDMA layer used `max_data_burst_size == 0` as the only way to disable the
data burst. That conflicts with the upstream drivers' convention where a zeroed
config struct means "unset", so users had no way to ask for the driver default
burst size.

GDMA now treats both 0 and 1 as "no data burst": a single-beat burst has no
benefit over the non-burst mode. The MSPI alignment constraint under Flash
Encryption / PSRAM ECC still takes precedence and is reported with a warning.

The upstream drivers using GDMA now apply their own default burst size (16
bytes) when the user leaves `dma_burst_size` as 0, following the UHCI driver:

- esp_async_crc (AHB / AXI GDMA backend)
- esp_async_memcpy (AHB / AXI / LP-AHB / DW_GDMA backend)

Callers that really want no burst can now set `dma_burst_size` to 1.
2026-09-08 23:29:14 +08:00
Chen Jichang e008f5a627 refactor(gdma): increase performance and optimize api 2026-08-17 17:02:06 +08:00
Chen Jichang 2b8029c775 feat(mspi): split dma and mspi alignment 2026-08-17 16:49:27 +08:00
morrisandCursor 74d9e99d91 refactor(lcdcam): move shared core clock setup to drivers
Configure the shared LCDCAM core clock through guarded LCD and CAM LL APIs,
and unify LCD functional clock LL calls around group IDs across supported targets.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-27 18:40:04 +08:00
wuzhenghui 7c75525edd fix(driver): fix drivers clock management 2026-07-22 16:32:12 +08:00
morris 651d6a283f refactor(esp_common): centralize ALIGN_UP/ALIGN_DOWN into esp_macros.h
Remove ~50 duplicate local definitions of ALIGN_UP/ALIGN_DOWN/ALIGN_UP_BY/
ALIGN_DOWN_BY across the codebase and replace them with canonical
ESP_ALIGN_UP/ESP_ALIGN_DOWN from esp_macros.h.
2026-07-06 13:36:06 +08:00
gaoxu 4e3751b32e feat(cam): support dvp cam on ESP32-S31 2026-05-14 17:09:49 +08:00
gaoxu 72c4529e7e feat(cam): add format conversion when new dvp cam 2026-01-26 11:37:12 +08:00
gaoxu b53427075e refactor(cam): use fourcc for cam format 2026-01-26 11:37:06 +08:00
morris 0469db2f83 refactor(rcc): unify the usage of clock control macros for peripherals
- Removed conditional definitions for various RCC_ATOMIC macros across
multiple files, replacing them with a unified PERIPH_RCC_ATOMIC() macro.
- Updated instances where specific RCC_ATOMIC macros were used to ensure
consistent usage of PERIPH_RCC_ATOMIC().
- Deleted unused uart_share_hw_ctrl.h file as its functionality is now
integrated into the new structure.
2026-01-23 18:28:13 +08:00
morris fb1b53c7c5 refactor(gdma): channel allocation can return both direction within the same call 2026-01-04 15:39:38 +08:00
Dong Heng ff010c06b2 fix(esp_driver_cam): fix MIPI-CSI RX data broken 2025-12-26 09:49:59 +08:00
morris 3c47e1509b fix(drivers): enlarge the default DMA burst size in peripheral drivers 2025-12-22 22:09:15 +08:00
armando 66da426c83 feat(hal):graudate the camera hal driver into a new component 2025-11-21 10:51:28 +08:00
gaoxu 96959a2128 feat(cam): support esp32p4 eco5 dvp cam 2025-11-04 11:46:38 +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
gaoxu 1e674fa044 feat(cam): support format conversion function 2025-08-28 14:14:36 +08:00
armando 458070b1b6 fix(cam): fixed dvp dma desc type on s3 2025-08-08 10:17:05 +08:00
armando b4a482eae1 fix(cam): fixed dvp dma desc type on s3" 2025-08-07 14:11:20 +08:00
gaoxu 5c96c978c9 fix(dvp): fix dvp loss frame error 2025-07-26 17:43:46 +08:00
Dong Heng 20f1700053 Merge branch 'feature/lcd_cam_dvp_driver_only_gen_clock' into 'master'
feat(esp_driver_cam): DVP driver supports only initializing the clock and XCLK pin to generate a clock for the external device

Closes IDF-13385

See merge request espressif/esp-idf!39837
2025-07-08 16:49:51 +08:00
Dong Heng c47b72daed feat(esp_driver_cam): DVP driver supports only initializing the clock and XCLK pin to generate a clock for the external device 2025-07-07 19:04:22 +08:00
gaoxu ee3de247e2 feat(cam): add camera buffer alloc function 2025-07-07 11:23:07 +08:00
Dong Heng 47721a5803 fix(esp_driver_cam): Fix DVP get trans buffer error 2025-06-24 16:09:14 +08:00
gaoxu b43daa6bbf feat(cam): add dvp example for ESP32S3-EYE 2025-06-23 10:58:24 +08:00
gaoxu 638cde24d0 feat(cam): add esp32s3 dvp cam support 2025-06-23 10:55:26 +08:00
gaoxu 1533cab12b fix(cam): fix dvp do not generate clock 2025-06-06 11:50:18 +08:00
gaoxu 449abbab76 fix(cam): fix dvp can not get cam_buffer 2025-05-28 17:29:38 +08:00
wuzhenghui 65b7e70564 feat(driver): support acquire/release clock source dependency for all drivers 2025-05-27 21:21:38 +08:00
morris c63f51dcb3 refactor(drivers)!: remove unnecessary io_loop_back and pull up/down config option 2025-05-23 18:09:53 +08:00
gaoxu 6599ba3c00 feat(cam): esp_cam add pm lock function and test 2025-05-14 11:11:58 +08:00
morris 15e16599ae refactor(drivers): refactor the iram-safe option of the gdma peripherals
Closes https://github.com/espressif/esp-idf/issues/15771
2025-04-15 11:37:18 +08:00
armando f0590c860e refactor(cam): rename IRAM-Safe to Cache-Safe 2025-03-07 15:25:57 +08:00
armando c53fd5d985 fix(cam): fixed cam iram safe build error 2025-03-07 15:25:57 +08:00
Alexey Lapshin 888b5f7e8d feat(newlib): add picolibc support 2024-12-02 21:35:56 +07:00
morris 13d0e83cd6 fix(driver): issues reported by coverity 2024-11-27 09:57:37 +08:00
wuzhenghui 13e42707a0 feat(esp_hw_support): add clk tree source gate management api 2024-09-11 10:53:01 +08:00
Dong Heng f20c9bbbbb feat(dvp): DVP cam supports more color format and don't initialize xclock pin 2024-07-05 14:43:05 +08:00
Dong Heng a347fa175f feat(cam): add esp32-p4 lcd_cam dvp driver 2024-06-11 10:59:27 +08:00