16#include "soc/soc_caps.h"
17#include "hal/lcd_types.h"
19#if SOC_LCD_RGB_SUPPORTED
21#include "esp_lcd_types.h"
22#include "esp_lcd_panel_ops.h"
62 unsigned int hsync_pulse_width;
63 unsigned int hsync_back_porch;
64 unsigned int hsync_front_porch;
65 unsigned int vsync_pulse_width;
66 unsigned int vsync_back_porch;
67 unsigned int vsync_front_porch;
69 unsigned int hsync_idle_low: 1;
70 unsigned int vsync_idle_low: 1;
71 unsigned int de_idle_high: 1;
72 unsigned int pclk_active_neg: 1;
73 unsigned int pclk_idle_high: 1;
75} esp_lcd_rgb_timing_t;
81} esp_lcd_rgb_panel_event_data_t;
91typedef bool (*esp_lcd_rgb_panel_frame_trans_done_cb_t)(esp_lcd_panel_handle_t panel, esp_lcd_rgb_panel_event_data_t *edata,
void *user_ctx);
97 lcd_clock_source_t clk_src;
98 esp_lcd_rgb_timing_t timings;
100 size_t sram_trans_align;
101 size_t psram_trans_align;
106 int data_gpio_nums[SOC_LCD_RGB_DATA_WIDTH];
108 esp_lcd_rgb_panel_frame_trans_done_cb_t on_frame_trans_done;
111 unsigned int disp_active_low: 1;
112 unsigned int relax_on_idle: 1;
113 unsigned int fb_in_psram: 1;
115} esp_lcd_rgb_panel_config_t;
128esp_err_t esp_lcd_new_rgb_panel(
const esp_lcd_rgb_panel_config_t *rgb_panel_config, esp_lcd_panel_handle_t *ret_panel);
130esp_err_t esp_lcd_rgb_panel_get_frame_buffer(esp_lcd_panel_handle_t panel, uint32_t fb_num,
void **fb0, ...);