You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
This repository was archived by the owner on Oct 19, 2026. It is now read-only.
Repository navigation
This repository was archived by the owner on Oct 19, 2026. It is now read-only.
Ask ESP-IDF for public DSI video-mode and clock-lane options (draft to post) #49
mipidsi.Display(non_burst=True, continuous_clock=True) (#48) reaches ESP-IDF's private esp_lcd_dsi_bus_t to set two things the public API doesn't offer, and is checked against v5.5.4 only. Once ESP-IDF has a public switch, that code can go. Below is a draft feature request for espressif/esp-idf, for a maintainer to post or edit; it isn't posted.
Title: esp_lcd DPI panel: option for non-burst video mode and a continuous clock lane
Is your feature request related to a problem? esp_lcd_new_panel_dpi() always selects burst video mode (mipi_dsi_host_ll_dpi_set_video_burst_type(..., MIPI_DSI_LL_VIDEO_BURST_WITH_SYNC_PULSES) in esp_lcd_panel_dpi.c), and panel init sets the clock lane to MIPI_DSI_LL_CLOCK_LANE_STATE_AUTO. DSI-to-RGB bridges such as the Chipone ICN6211, used on many Raspberry Pi-style DSI displays, need non-burst video with sync pulses and a continuous HS clock. With burst mode they output nothing and the panel stays white. Linux drives these panels with MIPI_DSI_MODE_VIDEO | MIPI_DSI_MODE_VIDEO_SYNC_PULSE and no MIPI_DSI_CLOCK_NON_CONTINUOUS.
Describe the solution you'd like
Two fields in esp_lcd_dpi_panel_config_t (or its flags): the video burst type (burst / non-burst with sync pulses / non-burst with sync events), and whether the clock lane stays in HS. Defaults should be today's behaviour.
Describe alternatives you've considered
Setting both through hal/mipi_dsi_host_ll.h after esp_lcd_new_panel_dpi() and esp_lcd_panel_init() works on an ESP32-P4 with ESP-IDF v5.5.4, a Chipone ICN6211-based KeDei 5" panel shows correct images. But it means mirroring the private esp_lcd_dsi_bus_t from mipi_dsi_priv.h to reach the HAL context.
After posting, add the link here. When a release with the options lands, switch mod_mipidsi.c to them and drop the mirrored struct.
Status 2026-10-08: the draft above is unchanged and still waits for a maintainer to post it to espressif/esp-idf. ESP-IDF is still pinned at v5.5.4, so mod_mipidsi.c's mirrored esp_lcd_dsi_bus_t stays.
Closing: the upstream request won't be filed. The DSI video-mode and clock-lane options stay as they are in mod_mipidsi.c, with its mirrored esp_lcd_dsi_bus_t, and are revisited whenever the ESP-IDF pin moves.
Activity
bdbarnett commentedon Oct 8, 2026
Status 2026-10-08: the draft above is unchanged and still waits for a maintainer to post it to espressif/esp-idf. ESP-IDF is still pinned at v5.5.4, so
mod_mipidsi.c's mirroredesp_lcd_dsi_bus_tstays.bdbarnett commentedon Oct 9, 2026
Closing: the upstream request won't be filed. The DSI video-mode and clock-lane options stay as they are in
mod_mipidsi.c, with its mirroredesp_lcd_dsi_bus_t, and are revisited whenever the ESP-IDF pin moves.