The waveshare 7" 800x480 panel is a clone of Raspberry Pi 7" 800x480 panel It also uses a Toshiba TC358762 DSI to DPI bridge chip but it needs different timing from Raspberry Pi panel. Add new timing for it. Signed-off-by: Keith Zhao <keith.zhao@xxxxxxxxxxxxxxxx> Signed-off-by: Shengyang Chen <shengyang.chen@xxxxxxxxxxxxxxxx> --- drivers/gpu/drm/panel/panel-simple.c | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c index 9367a4572dcf..e0896873ea33 100644 --- a/drivers/gpu/drm/panel/panel-simple.c +++ b/drivers/gpu/drm/panel/panel-simple.c @@ -4110,6 +4110,31 @@ 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_7inch_mode = { + .clock = 29700000 / 1000, + .hdisplay = 800, + .hsync_start = 800 + 90, + .hsync_end = 800 + 90 + 5, + .htotal = 800 + 90 + 5 + 5, + .vdisplay = 480, + .vsync_start = 480 + 60, + .vsync_end = 480 + 60 + 5, + .vtotal = 480 + 60 + 5 + 5, + .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC, +}; + +static const struct panel_desc waveshare_7inch = { + .modes = &waveshare_7inch_mode, + .num_modes = 1, + .bpc = 8, + .size = { + .width = 154, + .height = 86, + }, + .bus_format = MEDIA_BUS_FMT_RGB888_1X24, + .connector_type = DRM_MODE_CONNECTOR_DSI, +}; + static const struct drm_display_mode winstar_wf35ltiacd_mode = { .clock = 6410, .hdisplay = 320, @@ -4592,6 +4617,9 @@ static const struct of_device_id platform_of_match[] = { }, { .compatible = "vxt,vl050-8048nt-c01", .data = &vl050_8048nt_c01, + }, { + .compatible = "waveshare,7inch-touchscreen", + .data = &waveshare_7inch, }, { .compatible = "winstar,wf35ltiacd", .data = &winstar_wf35ltiacd, -- 2.17.1