From: Frank Li <[email protected]> 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. If LVDS support is needed in the future, a dedicated driver can be introduced to handle switching between LVDS and LDB modes. Signed-off-by: Frank Li <[email protected]> --- 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..f2a1668087de7 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_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_panel = { + .modes = &waiken_101wx001_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_panel, }, { .compatible = "waveshare,2.8inch-panel", .data = &waveshare_28_lcd_panel -- 2.43.0
