Skip to content

Add Waveshare 5.0-DSI-TOUCH-A-V2 / 5.0-DSI-TOUCH-B panels and fix DSI1 timing on CM4 - #16

Open
EngineerWill wants to merge 4 commits into
waveshareteam:dsi-touch-261023from
EngineerWill:dsi-touch-261023
Open

EngineerWill wants to merge 4 commits into
waveshareteam:dsi-touch-261023from
EngineerWill:dsi-touch-261023

Conversation

@EngineerWill

Copy link
Copy Markdown

This series adds support for two new Waveshare DSI panels and fixes the
display timing of the existing 5.0" and 8.0" DSI-TOUCH-A panels so that
they also work when driven from DSI1.

New panels

Waveshare 5.0-DSI-TOUCH-A-V2 and 5.0-DSI-TOUCH-B are 720x1280 panels
driven over two MIPI DSI lanes at a 70 MHz pixel clock, RGB888. Both
products use the same display panel and differ only in the touch cover
glass, so they share a single panel description, exposed through the new
compatibles "waveshare,5.0-dsi-touch-a-v2" and "waveshare,5.0-dsi-touch-b".

The panels need no vendor initialization, only the generic sleep-out and
display-on sequence, so the init table is minimal.

The overlay gains the matching 5_0_inch_a_v2 and 5_0_inch_b parameters,
and the overlays README is updated.

Timing fixes

On a Compute Module 4 the Waveshare 5.0-DSI-TOUCH-A and 8.0-DSI-TOUCH-A
panels light up correctly on DSI0 but do not light up on DSI1 with the
current timing.

Widen the horizontal sync pulse from 20 to 30 pixels for both panels and
additionally raise the 8.0" pixel clock from 70 MHz to 71 MHz. The 5.0"
timing already reaches the required refresh rate with the existing 70 MHz
clock, so that clock is left unchanged. This follows the same approach as
the earlier 10.1-DSI-TOUCH-A fix.

Testing

Tested on with vc4-kms-v3d and:
dtoverlay=vc4-kms-dsi-waveshare-panel-v2,5_0_inch_a_v2
dtoverlay=vc4-kms-dsi-waveshare-panel-v2,5_0_inch_b
dtoverlay=vc4-kms-dsi-waveshare-panel-v2,5_0_inch_a
dtoverlay=vc4-kms-dsi-waveshare-panel-v2,8_0_inch_a

  • panel modes are applied correctly (720x1280 / 800x1280)
  • touch works over i2c_csi_dsi
  • both DSI0 and DSI1 work on CM4

On the Compute Module 4, the Waveshare 8-DSI-TOUCH-A panel lights up
correctly on DSI0 but fails to light up on DSI1 with the current
timing.

Update the display timing accordingly so that the panel also works on
DSI1: widen the horizontal sync pulse from 20 to 30 pixels and raise
the pixel clock from 70 MHz to 71 MHz. The new timing totals 890x1326
pixels, which gives a refresh rate of about 60.2 Hz.

Signed-off-by: Yu Dukai <646689853@qq.com>
On the Compute Module 4, the Waveshare 5-DSI-TOUCH-A panel lights up
correctly on DSI0 but fails to light up on DSI1 with the current
timing.

Update the display timing accordingly so that the panel also works on
DSI1: widen the horizontal sync pulse from 20 to 30 pixels. The
resulting 810x1324 pixel timing already reaches the required refresh
rate at the existing 70 MHz pixel clock, so the clock is left
unchanged.

Signed-off-by: Yu Dukai <646689853@qq.com>
Add the display mode and initialization sequence for the Waveshare
5.0-DSI-TOUCH-A-V2 and 5.0-DSI-TOUCH-B panels.

The two products use the same 720x1280 display panel and differ only in
the touch cover glass, so they share a single panel description: two
MIPI DSI lanes, a 70 MHz pixel clock and the minimal
sleep-out/display-on sequence.

Signed-off-by: Yu Dukai <646689853@qq.com>
Add overlay options for the Waveshare 5.0-DSI-TOUCH-A-V2 and
5.0-DSI-TOUCH-B panels.

The 5_0_inch_a_v2 and 5_0_inch_b options select the two-lane 720x1280
panel. The two products use the same display panel and differ only in
the touch cover glass, so both options point at the same panel
description.

Signed-off-by: Yu Dukai <646689853@qq.com>
@EngineerWill
EngineerWill changed the base branch from rpi-6.18.y to dsi-touch-261023 October 23, 2026 13:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant