feat(isp): support Crop driver on p4 rev3

Add support for crop driver on p4eco5 and update example in
`isp/multi_pipelines`
This commit is contained in:
Chen Chen
2025-09-08 17:24:25 +08:00
parent b66a0691aa
commit c9c25684ca
27 changed files with 806 additions and 54 deletions
@@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@@ -14,14 +14,37 @@ extern "C" {
#endif
/**
* @brief DSI init function
*
* @param[out] mipi_dsi_bus MIPI DSI bus handle
* @param[out] mipi_dbi_io MIPI DBI io handle
* @param[out] mipi_dpi_panel MIPI DPI panel handle
* @param[out] frame_buffer frame buffer
* @brief DSI allocation configuration
*/
void example_dsi_resource_alloc(esp_lcd_dsi_bus_handle_t *mipi_dsi_bus, esp_lcd_panel_io_handle_t *mipi_dbi_io, esp_lcd_panel_handle_t *mipi_dpi_panel, void **frame_buffer);
typedef struct {
uint8_t num_fbs; /*!< Number of frame buffers (1-2). */
} example_dsi_alloc_config_t;
/**
* @brief Default DSI allocation configuration
*/
#define EXAMPLE_DSI_ALLOC_CONFIG_DEFAULT() { \
.num_fbs = 1, \
}
/**
* @brief DSI init function with configurable frame buffers
*
* @param[in] config DSI allocation configuration. If NULL, uses default (single buffer)
* @param[out] mipi_dsi_bus MIPI DSI bus handle
* @param[out] mipi_dbi_io MIPI DBI io handle
* @param[out] mipi_dpi_panel MIPI DPI panel handle
* @param[out] fb0 Pointer to receive the address of frame buffer 0 (first frame buffer)
* @param[out] fb1 Pointer to receive the address of frame buffer 1 (second frame buffer). If NULL, single buffer mode is used.
*
* @note The number of frame buffers allocated is determined by config->num_fbs. If config is NULL, single buffer mode is used.
*/
void example_dsi_resource_alloc(const example_dsi_alloc_config_t *config,
esp_lcd_dsi_bus_handle_t *mipi_dsi_bus,
esp_lcd_panel_io_handle_t *mipi_dbi_io,
esp_lcd_panel_handle_t *mipi_dpi_panel,
void **fb0,
void **fb1);
/**
* @brief DPI panel reset function