]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/panel: simple: Add Waveshare 13.3" panel support
authorMarek Vasut <marek.vasut+renesas@mailbox.org>
Sat, 17 Jan 2026 00:49:48 +0000 (01:49 +0100)
committerNeil Armstrong <neil.armstrong@linaro.org>
Tue, 10 Mar 2026 13:26:01 +0000 (14:26 +0100)
Add WaveShare 13.3inch 1920x1080 DSI Capacitive Touch Display support.

While the panel is described as DPI panel, it is part of a larger unit
in non-removable metal casing, so the actual internal configuration is
not known. The panel is attached to "waveshare,dsi2dpi" bridge via DT.
It is likely that internally, this panel is an LVDS panel, connected to
ICN6211 DSI-to-DPI bridge and then another unknown DPI-to-LVDS bridge.

Current device link is at https://www.waveshare.com/13.3inch-dsi-lcd.htm

Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patch.msgid.link/20260117005028.126361-1-marek.vasut+renesas@mailbox.org
drivers/gpu/drm/panel/panel-simple.c

index f79796387c58872c4e606e66f18e6b43b935f4e7..e1d15434ea54d57499480d0cedd2f45d61936ab3 100644 (file)
@@ -5032,6 +5032,33 @@ static const struct panel_desc vl050_8048nt_c01 = {
        .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_SAMPLE_NEGEDGE,
 };
 
+static const struct drm_display_mode waveshare_133inch_mode = {
+       .clock = 148500,
+       .hdisplay = 1920,
+       .hsync_start = 1920 + 88,
+       .hsync_end = 1920 + 88 + 44,
+       .htotal = 1920 + 88 + 44 + 148,
+       .vdisplay = 1080,
+       .vsync_start = 1080 + 4,
+       .vsync_end = 1080 + 4 + 5,
+       .vtotal = 1080 + 4 + 5 + 36,
+       .flags = DRM_MODE_FLAG_PVSYNC | DRM_MODE_FLAG_PHSYNC,
+};
+
+static const struct panel_desc waveshare_133inch = {
+       .modes = &waveshare_133inch_mode,
+       .num_modes = 1,
+       .bpc = 8,
+       .size = {
+               .width = 293,
+               .height = 163,
+       },
+       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+       .connector_type = DRM_MODE_CONNECTOR_DPI,
+       .bus_flags = DRM_BUS_FLAG_PIXDATA_SAMPLE_POSEDGE |
+                    DRM_BUS_FLAG_SYNC_SAMPLE_POSEDGE,
+};
+
 static const struct drm_display_mode winstar_wf35ltiacd_mode = {
        .clock = 6410,
        .hdisplay = 320,
@@ -5635,6 +5662,9 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "vxt,vl050-8048nt-c01",
                .data = &vl050_8048nt_c01,
+       }, {
+               .compatible = "waveshare,13.3inch-panel",
+               .data = &waveshare_133inch,
        }, {
                .compatible = "winstar,wf35ltiacd",
                .data = &winstar_wf35ltiacd,