OSDN Git Service

drm/panel: simple: Add support for Innolux G121I1-L01
authorLucas Stach <l.stach@pengutronix.de>
Thu, 6 Nov 2014 16:44:33 +0000 (17:44 +0100)
committerThierry Reding <treding@nvidia.com>
Fri, 7 Nov 2014 09:04:19 +0000 (10:04 +0100)
The Innolux G121I1-L01 is a 12.1" TFT LCD panel and can be supported by
the simple-panel driver.

This panel is connected via LVDS and uses the data enable signal for
timing. Since HSYNC/VSYNC are ignored, the split between sync length and
porches is arbitrary, as long as the complete horizontal blanking interval
is 160 clocks, and the vertical blanking interval is 24 lines.

Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
Signed-off-by: Thierry Reding <treding@nvidia.com>
Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt [new file with mode: 0644]
drivers/gpu/drm/panel/panel-simple.c

diff --git a/Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt b/Documentation/devicetree/bindings/panel/innolux,g121i1-l01.txt
new file mode 100644 (file)
index 0000000..2743b07
--- /dev/null
@@ -0,0 +1,7 @@
+Innolux Corporation 12.1" WXGA (1280x800) TFT LCD panel
+
+Required properties:
+- compatible: should be "innolux,g121i1-l01"
+
+This binding is compatible with the simple-panel binding, which is specified
+in simple-panel.txt in this directory.
index bc6a566..be535e7 100644 (file)
@@ -583,6 +583,29 @@ static const struct panel_desc hannstar_hsd070pww1 = {
        },
 };
 
+static const struct drm_display_mode innolux_g121i1_l01_mode = {
+       .clock = 71000,
+       .hdisplay = 1280,
+       .hsync_start = 1280 + 64,
+       .hsync_end = 1280 + 64 + 32,
+       .htotal = 1280 + 64 + 32 + 64,
+       .vdisplay = 800,
+       .vsync_start = 800 + 9,
+       .vsync_end = 800 + 9 + 6,
+       .vtotal = 800 + 9 + 6 + 9,
+       .vrefresh = 60,
+};
+
+static const struct panel_desc innolux_g121i1_l01 = {
+       .modes = &innolux_g121i1_l01_mode,
+       .num_modes = 1,
+       .bpc = 6,
+       .size = {
+               .width = 261,
+               .height = 163,
+       },
+};
+
 static const struct drm_display_mode innolux_n116bge_mode = {
        .clock = 71000,
        .hdisplay = 1366,
@@ -714,6 +737,9 @@ static const struct of_device_id platform_of_match[] = {
                .compatible = "hannstar,hsd070pww1",
                .data = &hannstar_hsd070pww1,
        }, {
+               .compatible ="innolux,g121i1-l01",
+               .data = &innolux_g121i1_l01
+       }, {
                .compatible = "innolux,n116bge",
                .data = &innolux_n116bge,
        }, {