drm/panel-simple: Add Innolux G156HCE-L01 panel entry
authorMarek Vasut <marex@denx.de>
Mon, 31 Jul 2023 21:02:58 +0000 (23:02 +0200)
committerNeil Armstrong <neil.armstrong@linaro.org>
Thu, 3 Aug 2023 08:25:27 +0000 (10:25 +0200)
Add support for Innolux G156HCE-L01 15.6" 1920x1080 24bpp
dual-link LVDS TFT panel. Documentation is available at [1].
The middle frequency is tuned slightly upward from 70.93 MHz
to 72 MHz, otherwise the panel shows slight flicker.

[1] https://www.distec.de/fileadmin/pdf/produkte/TFT-Displays/Innolux/G156HCE-L01_Rev.C3_Datasheet.pdf

Signed-off-by: Marek Vasut <marex@denx.de>
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Signed-off-by: Neil Armstrong <neil.armstrong@linaro.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20230731210258.256152-2-marex@denx.de
drivers/gpu/drm/panel/panel-simple.c

index 8e2f67c4ab49f21cf8f06108d0f250bac166cb7e..72cef64441a60142d3d6ec4678aa55878a066fd0 100644 (file)
@@ -2376,6 +2376,37 @@ static const struct panel_desc innolux_g121x1_l03 = {
        },
 };
 
+static const struct display_timing innolux_g156hce_l01_timings = {
+       .pixelclock = { 120000000, 144000000, 150000000 },
+       .hactive = { 1920, 1920, 1920 },
+       .hfront_porch = { 80, 90, 100 },
+       .hback_porch = { 80, 90, 100 },
+       .hsync_len = { 20, 30, 30 },
+       .vactive = { 1080, 1080, 1080 },
+       .vfront_porch = { 3, 10, 20 },
+       .vback_porch = { 3, 10, 20 },
+       .vsync_len = { 4, 10, 10 },
+};
+
+static const struct panel_desc innolux_g156hce_l01 = {
+       .timings = &innolux_g156hce_l01_timings,
+       .num_timings = 1,
+       .bpc = 8,
+       .size = {
+               .width = 344,
+               .height = 194,
+       },
+       .delay = {
+               .prepare = 1,           /* T1+T2 */
+               .enable = 450,          /* T5 */
+               .disable = 200,         /* T6 */
+               .unprepare = 10,        /* T3+T7 */
+       },
+       .bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
+       .bus_flags = DRM_BUS_FLAG_DE_HIGH,
+       .connector_type = DRM_MODE_CONNECTOR_LVDS,
+};
+
 static const struct drm_display_mode innolux_n156bge_l21_mode = {
        .clock = 69300,
        .hdisplay = 1366,
@@ -4242,6 +4273,9 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "innolux,g121x1-l03",
                .data = &innolux_g121x1_l03,
+       }, {
+               .compatible = "innolux,g156hce-l01",
+               .data = &innolux_g156hce_l01,
        }, {
                .compatible = "innolux,n156bge-l21",
                .data = &innolux_n156bge_l21,