This adds support for Innolux LS075AT011 7.5" 1200x900 panel.

The panel is not a regular LCD with RGB pixels. Its pixels are just of
one color, organized like this:

 g b r
 b r g . . .
 r g b
   .
   .
   .

It's controlled by the Himax HX8837, which takes the RGB data, optionally
dithers the colors by swizzling and drives the panel.  I couldn't determine
what the bus_format is. There's six data pins marked FD00, FD01, FD10,
FD11, FD20 and FD21.

There's no public data sheet. The clock is taken from the OLPC's
OpenFirmware, I don't know why precisely that number. It seems to work.

Signed-off-by: Lubomir Rintel <lkund...@v3.sk>
---
 drivers/gpu/drm/panel/panel-simple.c | 26 ++++++++++++++++++++++++++
 1 file changed, 26 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c 
b/drivers/gpu/drm/panel/panel-simple.c
index a04ffb3b2174..d084132c3010 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1326,6 +1326,29 @@ static const struct panel_desc innolux_g121x1_l03 = {
        },
 };
 
+static const struct drm_display_mode innolux_ls075at011_mode = {
+       .clock = 56930,
+       .hdisplay = 1200,
+       .hsync_start = 1200 + 26,
+       .hsync_end = 1200 + 26 + 6,
+       .htotal = 1200 + 26 + 6 + 24,
+       .vdisplay = 900,
+       .vsync_start = 900 + 4,
+       .vsync_end = 900 + 4 + 3,
+       .vtotal = 900 + 4 + 3 + 5,
+       .vrefresh = 50,
+       .flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
+};
+
+static const struct panel_desc innolux_ls075at011 = {
+       .modes = &innolux_ls075at011_mode,
+       .num_modes = 1,
+       .size = {
+               .width = 152,
+               .height = 115,
+       },
+};
+
 static const struct drm_display_mode innolux_n116bge_mode = {
        .clock = 76420,
        .hdisplay = 1366,
@@ -2449,6 +2472,9 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "innolux,g121x1-l03",
                .data = &innolux_g121x1_l03,
+       }, {
+               .compatible = "innolux,ls075at011",
+               .data = &innolux_ls075at011,
        }, {
                .compatible = "innolux,n116bge",
                .data = &innolux_n116bge,
-- 
2.19.1

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to