[PATCH v5 3/7] drm/panel: simple: Add Waiken WKS101WX001-WCT panel support
From: Frank . Li
Date: Tue Oct 27 2026 - 11:11:24 EST
From: Frank Li <Frank.Li@xxxxxxx>
Add support for the Waiken WKS101WX001-WCT, an industrial-grade 10.1-inch
IPS TFT LCD panel with a capacitive touchscreen.
Although the module advertises LVDS support, enabling LVDS operation
requires hardware modification, including the removal of several on-board
resistors. As there are currently no known users of the LVDS configuration,
only the default interface mode is supported.
Acked-by: Liu Ying <victor.liu@xxxxxxx>
Signed-off-by: Frank Li <Frank.Li@xxxxxxx>
---
change in v5
- drop "If LVDS..." in commit message (Liu ying).
change in v4
- s/LDB/DPI
- variable use 101wx001_wct
change in v3
- add wct surfix and change to use MEDIA_BUS_FMT_RGB888_1X24
- Add information about lvds support plan.
change in v2
- update height to 135 from 136 (sashiko)
---
drivers/gpu/drm/panel/panel-simple.c | 31 +++++++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index d7dbd7442919b..5ef6a79f0de95 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -5252,6 +5252,34 @@ 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 waiken_101wx001_wct_mode = {
+ .clock = 71100,
+ .hdisplay = 1280,
+ .hsync_start = 1280 + 70,
+ .hsync_end = 1280 + 70 + 10,
+ .htotal = 1280 + 70 + 10 + 80,
+ .vdisplay = 800,
+ .vsync_start = 800 + 10,
+ .vsync_end = 800 + 10 + 3,
+ .vtotal = 800 + 10 + 3 + 10,
+ .width_mm = 217,
+ .height_mm = 135,
+ .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
+};
+
+static const struct panel_desc waiken_101wx001_wct_panel = {
+ .modes = &waiken_101wx001_wct_mode,
+ .num_modes = 1,
+ .bpc = 8,
+ .size = {
+ .width = 217,
+ .height = 135,
+ },
+ .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+ .connector_type = DRM_MODE_CONNECTOR_DPI,
+ .bus_flags = DRM_BUS_FLAG_DE_HIGH | DRM_BUS_FLAG_PIXDATA_DRIVE_NEGEDGE,
+};
+
static const struct drm_display_mode waveshare_28_lcd_mode = {
.clock = 50000,
.hdisplay = 480,
@@ -6248,6 +6276,9 @@ static const struct of_device_id platform_of_match[] = {
}, {
.compatible = "vxt,vl050-8048nt-c01",
.data = &vl050_8048nt_c01,
+ }, {
+ .compatible = "waiken,101wx001-wct",
+ .data = &waiken_101wx001_wct_panel,
}, {
.compatible = "waveshare,2.8inch-panel",
.data = &waveshare_28_lcd_panel
--
2.43.0