Commit Graph

38 Commits

Author SHA1 Message Date
suda-morris ecef7cdd61 feat(dsi_lcd): pixel clock frequency can be a float number 2025-12-20 23:35:01 +08:00
Chen Jichang 1e190ccd74 feat(lcd): support draw bitmap hook function
Closes https://github.com/espressif/esp-idf/issues/16201
2025-12-05 15:44:38 +08:00
Chen Chen 61d363fd58 feat(isp): support Crop driver on p4 rev3
Add support for crop driver on p4eco5 and update example in
`isp/multi_pipelines`
2025-11-13 08:47:11 +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
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
morris 415d1aba79 feat(dsi): add vsync interrupt handling 2025-09-27 17:05:29 +08:00
Chen Jichang 40ebbc279f fix(dsi): enable dsi phy cfg clk 2025-09-23 18:12:06 +08:00
morris 8e33c73451 fix(lcd): allow i80 lcd to skip the setting of clk_src as default choice 2025-09-16 14:22:26 +08:00
morris eedbd9f8e3 feat(dsi): split the dphy config clock and pll reference clock
this is a breaking change in the esp32p4 ver3.0 silicon.
2025-09-15 22:52:01 +08:00
morris b7fc7acb23 refactor(dsi): deprecate pixel_format configuration in favor of in_color_format 2025-09-15 22:52:01 +08:00
morris 90a3b66370 fix(lcd): uninitialized va_list 2025-08-20 21:44:47 +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
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
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 c86a301736 feat(mipi_dsi): enable underrun error interrupt 2024-11-14 19:05:43 +08:00
morris 0ed4c19c5e feat(lcd): support color conversion for mipi dsi driver 2024-11-07 17:02:54 +08:00
Vilem Zavodny 93fdbf25b3 feat(lcd): Allow to disable low-power mode in DPI panel 2024-10-24 16:25:50 +02:00
morris 5ddeab65e3 refactor(mipi_dsi): remove unused LL functions
MIPI DSI PHY reference clock is controlled in hp_sys_clkrst register
2024-09-13 12:24:12 +08:00
wuzhenghui 13e42707a0 feat(esp_hw_support): add clk tree source gate management api 2024-09-11 10:53:01 +08:00
wuzhenghui 05e74480f5 feat(esp_system): gate some clock by default to optmize esp32p4 active power 2024-09-11 10:53:00 +08:00
morris ec2a8a9c81 fix(drivers): rename the nested extra_flags structure 2024-08-13 11:57:08 +08:00
morris b2a62ca860 change(dsi): don't send eot packet in lp mode
because some LCD doesn't respond to that
2024-08-01 12:48:22 +08:00
morris 28a3227b2f feat(mipi_dsi): update low level functions to include underrun interrupt 2024-07-19 18:06:21 +08:00
morris 1861dc12a0 change(dsi): use DW_GDMA as the flow controller
previously the DSI_Bridge was set as the flow controller
2024-05-28 22:36:03 +08:00
morris 75b221436c fix(dsi): fixed wrong RGB666 pixel size 2024-05-28 22:36:03 +08:00
morris 4b67df323d feat(mipi_dsi): round to boundary when draw pixel 2024-05-08 14:08:19 +08:00
morris 28073d9991 fix(mipi_dsi): only wait ready for enabled data lane 2024-04-30 14:41:52 +08:00
morris 07a3e5eaa8 feat(mipi_dsi): support isr iram safe 2024-04-23 18:31:16 +08:00
morris ef57e5105d feat(mipi_dsi): add pm lock for clock source 2024-04-23 18:31:16 +08:00
morris 588bbac564 feat(mipi_dsi): add callback to notify refresh done 2024-04-11 18:02:09 +08:00
morris c0289ee6eb fix(drivers): fix typos found by codespell
codespell components/esp_driver*
2024-03-28 10:01:27 +08:00
morris f4ff026e3e change(mipi_dsi): allow cache sync with unaligned size 2024-03-21 18:19:58 +08:00
morris cf20dfee1d feat(mipi_dsi): support multiple frame buffers 2024-02-27 17:49:04 +08:00
Armando f918079e8e feat(csi): added csi driver 2024-02-04 19:06:11 +08:00
morris 872058f086 feat(mipi_dsi): support draw_bitmap by DMA2D engine
This feature can be enabled at runtime, by setting esp_lcd_dpi_panel_config_t::flags::use_dma2d
2024-01-30 18:45:36 +08:00
morris 7013815ea7 feat(dsi): add mipi dsi driver to esp_lcd 2024-01-20 16:50:22 +08:00