drm/panel-simple: Add a timing for the Raspberry Pi 7" panel
authorDave Stevenson <dave.stevenson@raspberrypi.com>
Fri, 26 Mar 2021 17:06:36 +0000 (17:06 +0000)
committerPhil Elwell <8911409+pelwell@users.noreply.github.com>
Tue, 14 Sep 2021 12:04:20 +0000 (13:04 +0100)
The Raspberry Pi 7" 800x480 panel uses a Toshiba TC358762 DSI
to DPI bridge chip, so there is a requirement for the timings
to be specified for the end panel. Add such a definition.

Signed-off-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
drivers/gpu/drm/panel/panel-simple.c

index b7be056..8becb0e 100644 (file)
@@ -3219,6 +3219,31 @@ static const struct panel_desc qd43003c0_40 = {
        .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
 };
 
+static const struct drm_display_mode raspberrypi_7inch_mode = {
+       .clock = 25979400 / 1000,
+       .hdisplay = 800,
+       .hsync_start = 800 + 2,
+       .hsync_end = 800 + 2 + 2,
+       .htotal = 800 + 2 + 2 + 46,
+       .vdisplay = 480,
+       .vsync_start = 480 + 7,
+       .vsync_end = 480 + 7 + 2,
+       .vtotal = 480 + 7 + 2 + 21,
+       .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+};
+
+static const struct panel_desc raspberrypi_7inch = {
+       .modes = &raspberrypi_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 display_timing rocktech_rk070er9427_timing = {
        .pixelclock = { 26400000, 33300000, 46800000 },
        .hactive = { 800, 800, 800 },
@@ -4240,6 +4265,9 @@ static const struct of_device_id platform_of_match[] = {
                .compatible = "qiaodian,qd43003c0-40",
                .data = &qd43003c0_40,
        }, {
+               .compatible = "raspberrypi,7inch-dsi",
+               .data = &raspberrypi_7inch,
+       }, {
                .compatible = "rocktech,rk070er9427",
                .data = &rocktech_rk070er9427,
        }, {