From: Philipp Zabel <philipp.za...@gmail.com>

This patch adds support for the GiantPlus GPG48273QS5 4.3" WQVGA TFT LCD panel
to the simple-panel driver.

This panel is connected via a parallel bus and uses both HSYNC and VSYNC,
whose lengths are unfortunately not clearly defined. The datasheet only
specifies the front- and backporch length, but the timing diagram suggests
that both sync signals should be asserted for exactly one clock cycle.

Signed-off-by: Philipp Zabel <philipp.zabel at gmail.com>
Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
---
[lst]: rebased on top of drm/panel/for-next + added commit message
---
 .../bindings/panel/giantplus,gpg482739qs5.txt      |  7 ++++++
 drivers/gpu/drm/panel/panel-simple.c               | 26 ++++++++++++++++++++++
 2 files changed, 33 insertions(+)
 create mode 100644 
Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt

diff --git a/Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt 
b/Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt
new file mode 100644
index 000000000000..24b0b624434b
--- /dev/null
+++ b/Documentation/devicetree/bindings/panel/giantplus,gpg482739qs5.txt
@@ -0,0 +1,7 @@
+GiantPlus GPG48273QS5 4.3" (480x272) WQVGA TFT LCD panel
+
+Required properties:
+- compatible: should be "giantplus,gpg48273qs5"
+
+This binding is compatible with the simple-panel binding, which is specified
+in simple-panel.txt in this directory.
diff --git a/drivers/gpu/drm/panel/panel-simple.c 
b/drivers/gpu/drm/panel/panel-simple.c
index c4b6167a8bf3..1d8ed2062841 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -560,6 +560,29 @@ static const struct panel_desc foxlink_fl500wvr00_a0t = {
        },
 };

+static const struct drm_display_mode giantplus_gpg482739qs5_mode = {
+       .clock = 9000,
+       .hdisplay = 480,
+       .hsync_start = 480 + 5,
+       .hsync_end = 480 + 5 + 1,
+       .htotal = 480 + 5 + 1 + 40,
+       .vdisplay = 272,
+       .vsync_start = 272 + 8,
+       .vsync_end = 272 + 8 + 1,
+       .vtotal = 272 + 8 + 1 + 8,
+       .vrefresh = 60,
+};
+
+static const struct panel_desc giantplus_gpg482739qs5 = {
+       .modes = &giantplus_gpg482739qs5_mode,
+       .num_modes = 1,
+       .bpc = 8,
+       .size = {
+               .width = 95,
+               .height = 54,
+       },
+};
+
 static const struct drm_display_mode hannstar_hsd070pww1_mode = {
        .clock = 71100,
        .hdisplay = 1280,
@@ -757,6 +780,9 @@ static const struct of_device_id platform_of_match[] = {
                .compatible = "foxlink,fl500wvr00-a0t",
                .data = &foxlink_fl500wvr00_a0t,
        }, {
+               .compatible = "giantplus,gpg482739qs5",
+               .data = &giantplus_gpg482739qs5
+       }, {
                .compatible = "hannstar,hsd070pww1",
                .data = &hannstar_hsd070pww1,
        }, {
-- 
2.1.1

Reply via email to