diff mbox

[2/2] drm/panel: Add support for Giantplus GPG482739QS5 panel

Message ID 1416389395-15152-2-git-send-email-l.stach@pengutronix.de (mailing list archive)
State Accepted
Headers show

Commit Message

Lucas Stach Nov. 19, 2014, 9:29 a.m. UTC
From: Philipp Zabel <philipp.zabel@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@gmail.com>
Signed-off-by: Lucas Stach <l.stach@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

Comments

Lucas Stach Dec. 1, 2014, 11:07 a.m. UTC | #1
Hi Thierry,

just a gentle ping for those 2 patches. It would be nice if you could
pick them up, so they can go into the next mergewindow.

Regards,
Lucas

Am Mittwoch, den 19.11.2014, 10:29 +0100 schrieb Lucas Stach:
> From: Philipp Zabel <philipp.zabel@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@gmail.com>
> Signed-off-by: Lucas Stach <l.stach@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,
>  	}, {
Thierry Reding Dec. 4, 2014, 1:16 p.m. UTC | #2
On Mon, Dec 01, 2014 at 12:07:38PM +0100, Lucas Stach wrote:
> Hi Thierry,
> 
> just a gentle ping for those 2 patches. It would be nice if you could
> pick them up, so they can go into the next mergewindow.

It's too late to make v3.19, but I've queued these for v3.20, thanks.

Thierry
diff mbox

Patch

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,
 	}, {