Fix Tab5 Display Issues (#579)

And add PPA rotation to lvgl_display
This commit is contained in:
Shadowtrance
2026-07-23 07:58:34 +10:00
committed by GitHub
parent 8b92aa8e5a
commit 08eac48e64
9 changed files with 440 additions and 19 deletions
@@ -113,10 +113,10 @@ void tab5_create_devices_v1(Device* i2c0) {
.vsync_pulse_width = 4,
.vsync_back_porch = 20,
.vsync_front_porch = 20,
.num_fbs = 1,
.use_dma2d = false,
.num_fbs = 2,
.use_dma2d = true,
.disable_lp = false,
.allow_tearing = true, // matches old lvgl_port_display_dsi_cfg_t.avoid_tearing = 0
.allow_tearing = true, // matches old lvgl_port_display_dsi_cfg_t.avoid_tearing = 0 (disabled = don't wait)
.init_sequence = display_init_bytes.data(),
.init_sequence_length = (uint32_t)display_init_bytes.size(),
.backlight = backlight,
@@ -92,10 +92,10 @@ void tab5_create_devices_v2(Device* i2c0) {
.vsync_pulse_width = 2,
.vsync_back_porch = 8,
.vsync_front_porch = 220,
.num_fbs = 1,
.use_dma2d = false,
.num_fbs = 2,
.use_dma2d = true,
.disable_lp = false,
.allow_tearing = true,
.allow_tearing = true, // matches old lvgl_port_display_dsi_cfg_t.avoid_tearing = 0 (disabled = don't wait)
.init_sequence = display_init_bytes.data(),
.init_sequence_length = (uint32_t)display_init_bytes.size(),
.backlight = backlight,
+1 -2
View File
@@ -46,8 +46,7 @@ sdkconfig.CONFIG_ESP_HOSTED_ENABLE_PEER_DATA_TRANSFER=y
sdkconfig.CONFIG_ESP_HOSTED_MAX_CUSTOM_MSG_HANDLERS=8
# Performance: larger L2 cache reduces PSRAM stalls for draw/DPI buffers
sdkconfig.CONFIG_CACHE_L2_CACHE_256KB=y
# Performance: use P4's PPA (pixel processing accelerator for rotation)
sdkconfig.CONFIG_LVGL_PORT_ENABLE_PPA=y
# Performance: cache-line-aligned draw buffers, required for PPA/DMA2D coherency (see lvgl-module's lvgl_display_alloc_buffer())
sdkconfig.CONFIG_LV_DRAW_BUF_ALIGN=64
sdkconfig.CONFIG_LV_DEF_REFR_PERIOD=15
# SC202CS (SC2356) MIPI CSI camera sensor + ISP pipeline (AE/AWB/demosaicing)