Skip to content
This repository was archived by the owner on Oct 19, 2026. It is now read-only.
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

Closed as not planned

Description

@bdbarnett

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.

Activity

  1. bdbarnett commented on Oct 8, 2026

    @bdbarnett
    ContributorAuthor

    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.

  2. bdbarnett commented on Oct 9, 2026

    @bdbarnett
    ContributorAuthor

    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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions