drm/panel: simple: Add support for Hitachi TX23D38VM0CAA
authorLucas Stach <l.stach@pengutronix.de>
Thu, 6 Nov 2014 16:44:35 +0000 (17:44 +0100)
committerThierry Reding <treding@nvidia.com>
Fri, 7 Nov 2014 09:04:23 +0000 (10:04 +0100)
The Hitachi TX23D38VM0CAA is a 9" WVGA 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 256 clocks, and the vertical blanking interval is 45 lines.

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

diff --git a/Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt b/Documentation/devicetree/bindings/panel/hit,tx23d38vm0caa.txt
new file mode 100644 (file)
index 0000000..04caaae
--- /dev/null
@@ -0,0 +1,7 @@
+Hitachi Ltd. Corporation 9" WVGA (800x480) TFT LCD panel
+
+Required properties:
+- compatible: should be "hit,tx23d38vm0caa"
+
+This binding is compatible with the simple-panel binding, which is specified
+in simple-panel.txt in this directory.
index be535e787d5eb9a9118d0d49432bf4b2d02e9027..965114b7d6bf53835ceeda995c4195a3bf18bb1c 100644 (file)
@@ -583,6 +583,29 @@ static const struct panel_desc hannstar_hsd070pww1 = {
        },
 };
 
+static const struct drm_display_mode hitachi_tx23d38vm0caa_mode = {
+       .clock = 33333,
+       .hdisplay = 800,
+       .hsync_start = 800 + 85,
+       .hsync_end = 800 + 85 + 86,
+       .htotal = 800 + 85 + 86 + 85,
+       .vdisplay = 480,
+       .vsync_start = 480 + 16,
+       .vsync_end = 480 + 16 + 13,
+       .vtotal = 480 + 16 + 13 + 16,
+       .vrefresh = 60,
+};
+
+static const struct panel_desc hitachi_tx23d38vm0caa = {
+       .modes = &hitachi_tx23d38vm0caa_mode,
+       .num_modes = 1,
+       .bpc = 6,
+       .size = {
+               .width = 195,
+               .height = 117,
+       },
+};
+
 static const struct drm_display_mode innolux_g121i1_l01_mode = {
        .clock = 71000,
        .hdisplay = 1280,
@@ -736,6 +759,9 @@ static const struct of_device_id platform_of_match[] = {
        }, {
                .compatible = "hannstar,hsd070pww1",
                .data = &hannstar_hsd070pww1,
+       }, {
+               .compatible = "hit,tx23d38vm0caa",
+               .data = &hitachi_tx23d38vm0caa
        }, {
                .compatible ="innolux,g121i1-l01",
                .data = &innolux_g121i1_l01