Commit Graph

38 Commits

Author SHA1 Message Date
morris fb1b53c7c5 refactor(gdma): channel allocation can return both direction within the same call 2026-01-04 15:39:38 +08:00
morris f24c115f4b refactor(lcd): unify the color conversion API in RGB and DSI driver
Also adopt the FourCC standard to describe color format.
See also
https://developer.espressif.com/blog/2025/04/esp-fourcc-introduction/
2025-11-06 15:02:26 +08:00
Kevin (Lao Kaiyao) ce65a06cc2 Merge branch 'refactor/parlio_rx_use_dma_link' into 'master'
refactor(parlio_rx): use gdma_link for better gdma link management

Closes IDF-13369, IDF-13627, and IDFGH-16449

See merge request espressif/esp-idf!40743
2025-11-04 12:04:45 +08:00
laokaiyao ff1c14b1a3 refactor(parlio_rx): refactor to support unaligned user payload buffer
Closes https://github.com/espressif/esp-idf/issues/17581
2025-10-30 16:12:34 +08:00
laokaiyao 49284c3f8d feat(gdma_link): support to select final node link type 2025-10-30 16:06:12 +08:00
Chen Jichang 74b18dac5c feat(rgb_lcd): allow users to manage the lifecycle of the frame buffer 2025-10-29 17:39:18 +08:00
morris d0c49385e1 fix(lcd): refactor get_frame_buffer functions to fix Coverity warnings
Refactored esp_lcd_rgb_panel_get_frame_buffer and
esp_lcd_dpi_panel_get_frame_buffer
to follow the standard printf/vprintf pattern:

- Created static _v helper functions that take va_list as parameter
- Moved parameter validation to the public API functions
- Public functions now handle va_start/va_end and call the helper
2025-10-27 10:10:57 +08:00
morris d4d8b09ced feat(hal):graudate the LCD hal driver into a new component
- Introduced new HAL components for LCD and MIPI DSI, including:
  - `lcd_hal.c` and `lcd_hal.h` for LCD hardware abstraction layer.
  - `mipi_dsi_hal.c` and `mipi_dsi_hal.h` for MIPI DSI hardware
abstraction layer.
  - Peripheral connection definitions in `lcd_periph.c` and
`lcd_periph.h`.
  - Added necessary types and utility functions in `lcd_types.h` and
`mipi_dsi_types.h`.

- Updated CMakeLists to include the new HAL components in the build
system.
- Removed legacy references to LCD and MIPI DSI in the HAL and SOC
CMakeLists.
2025-10-22 17:00:18 +08:00
Chen Jichang 5868098168 feat(lcd): re-support i80 lcd and support underrun inerrupt on p4 rev 3.0 2025-10-11 14:32:09 +08:00
Chen Jichang ddef1d3d52 refactor(gdma): move buffer aligment to buffer mount config 2025-09-26 16:42:33 +08:00
morris 90a3b66370 fix(lcd): uninitialized va_list 2025-08-20 21:44:47 +08:00
morris b137fe0227 doc(lcd): explain the DPHY power supply 2025-08-12 16:15:59 +08:00
morris 414dba5009 refactor(lcd)!: remove deprecated types 2025-08-05 15:09:40 +08:00
morris 8b41a42372 refactor(lcd)!: use gpio_num_t to define gpio numbers used by LCD driver 2025-08-05 11:51:09 +08:00
morris e0ddcb8013 fix(lcd): reserve the GPIOs used by RGB LCD
and disconnect the LCD signals when the dirver is uninstalled.
2025-07-23 18:15:54 +08:00
gaoxu b7d65d94c3 feat(lcd_cam): add lc_dma_int value atomic protect for lcd and cam 2025-06-23 10:58:38 +08:00
wuzhenghui 65b7e70564 feat(driver): support acquire/release clock source dependency for all drivers 2025-05-27 21:21:38 +08:00
Chen Jichang fe1091c2ff fix(lcd): only call esp_pm APIs when CONFIG_PM_ENABLE is enabled 2025-05-22 17:38: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
Chen Jichang ff1fd80198 fix(drivers): use CPU_MAX lock in dirvers use axi dma to access psram 2025-03-12 17:38:44 +08:00
morris 95fe253065 feat(gdma): allow bypass the alignment check in the link driver
Closes https://github.com/espressif/esp-idf/issues/15228
2025-02-27 15:18:06 +08:00
morris 2c6f22c12b fix(rgb_lcd): drift issue caused by restart
Closes https://github.com/espressif/esp-idf/issues/15013
2025-02-11 16:00:42 +08:00
morris cfca6c606e fix(dma): also consider buffer alignment when calculating the DMA nodes
Closes https://github.com/espressif/esp-idf/issues/15228
2025-02-07 12:34:42 +08:00
morris d39388fe4f feat(lcd): increase the upper limit of pclk frequency for RGB LCD 2024-12-23 22:01:34 +08:00
morris 0ed4c19c5e feat(lcd): support color conversion for mipi dsi driver 2024-11-07 17:02:54 +08:00
morris efcb91b47e feat(lcd): support rgb lcd driver for esp32p4 2024-10-22 17:18:05 +08:00
morris dd82222dd9 feat(rgb_lcd): use gdma_link driver 2024-10-11 18:38:12 +08:00
morris 611fb654ce refactor(lcd): clean up GPIO initialization 2024-10-10 16:01:05 +08:00
wuzhenghui 13e42707a0 feat(esp_hw_support): add clk tree source gate management api 2024-09-11 10:53:01 +08:00
morris 23c41fc772 feat(lcd): support i80 lcd driver on esp32p4 2024-08-20 18:47:22 +08:00
morris 69ef3b6a34 change(rgb_lcd): set DMA transfer burst size 2024-05-24 22:43:55 +08:00
morris 4b67df323d feat(mipi_dsi): round to boundary when draw pixel 2024-05-08 14:08:19 +08:00
morris c0289ee6eb fix(drivers): fix typos found by codespell
codespell components/esp_driver*
2024-03-28 10:01:27 +08:00
Markus Ebner c755a62329 fix(esp_lcd): Flush rgb lcd PSRAM framebuffers after allocation
Flush PSRAM framebuffers after allocation to avoid visual corruption.

Merges https://github.com/espressif/esp-idf/pull/13294
Closes https://github.com/espressif/esp-idf/issues/13293
2024-03-01 18:05:22 +08:00
Hello1024 77029676d1 fix(rgb_lcd): remove validation of pins for LCD output
There are a bunch of cases you might want some pins not exposed.

Eg.

  * Reading say 8 bit data and outputting the top 5 bits, discarding the rest by not mapping those data pins to output pins

 * Not using hsync/vsync because sync data is embedded within the data bits for more timing flexibility (eg. interlacing).

 * Using the LCD module as a high speed parallel data output bus, with no need for sync/control pins.

Removing this validation makes these cases work.

Merges https://github.com/espressif/esp-idf/pull/13103
2024-02-05 10:00:35 +08:00
morris b10dec96c5 fix(rgb_lcd): relax the check for the data line GPIO
so we allow to leave some RGB data line unconnected by set the GPIO to -1
2024-01-30 18:29:13 +08:00
Brian Whitman ff840b645d fix(rgb_lcd): don't assume 16 bit width on panels for restart logic
Merges https://github.com/espressif/esp-idf/pull/13020
2024-01-30 18:29:13 +08:00
morris ad84b61e49 change(esp_lcd): rearrange the esp_lcd folder by types 2024-01-16 17:40:27 +08:00