linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 1/3] drm/panel: Add RGB666 variant of Innolux AT070TN92
@ 2018-04-10 21:31 Paul Kocialkowski
  2018-04-10 21:31 ` [PATCH 2/3] ARM: dts: sun7i: Add RGB666 pins definition Paul Kocialkowski
                   ` (2 more replies)
  0 siblings, 3 replies; 14+ messages in thread
From: Paul Kocialkowski @ 2018-04-10 21:31 UTC (permalink / raw)
  To: devicetree, linux-arm-kernel, linux-kernel, dri-devel, linux-sunxi
  Cc: Rob Herring, Mark Rutland, Russell King, Maxime Ripard,
	Chen-Yu Tsai, Thierry Reding, David Airlie, Paul Kocialkowski

This adds timings for the RGB666 variant of the Innolux AT070TN92 panel,
as found on the Ainol AW1 tablet.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
---
 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 5591984a392b..efeb2f2162bc 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1063,6 +1063,29 @@ static const struct panel_desc innolux_at070tn92 = {
 	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
 };
 
+static const struct drm_display_mode innolux_at070tn92_rgb666_mode = {
+	.clock = 40000,
+	.hdisplay = 800,
+	.hsync_start = 800 + 112,
+	.hsync_end = 800 + 112 + 1,
+	.htotal = 800 + 112 + 1 + 87,
+	.vdisplay = 480,
+	.vsync_start = 480 + 141,
+	.vsync_end = 480 + 141 + 1,
+	.vtotal = 480 + 141 + 1 + 38,
+	.vrefresh = 60,
+};
+
+static const struct panel_desc innolux_at070tn92_rgb666 = {
+	.modes = &innolux_at070tn92_rgb666_mode,
+	.num_modes = 1,
+	.size = {
+		.width = 154,
+		.height = 86,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
+};
+
 static const struct display_timing innolux_g101ice_l01_timing = {
 	.pixelclock = { 60400000, 71100000, 74700000 },
 	.hactive = { 1280, 1280, 1280 },
@@ -2105,6 +2128,9 @@ static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "innolux,at070tn92",
 		.data = &innolux_at070tn92,
+	}, {
+		.compatible = "innolux,at070tn92-rgb666",
+		.data = &innolux_at070tn92_rgb666,
 	}, {
 		.compatible ="innolux,g101ice-l01",
 		.data = &innolux_g101ice_l01
-- 
2.16.3

^ permalink raw reply related	[flat|nested] 14+ messages in thread
* [PATCH 1/3] drm/panel: Add RGB666 variant of Innolux AT070TN90
@ 2018-05-06 20:56 Paul Kocialkowski
  2018-05-06 20:56 ` [PATCH 2/3] ARM: dts: sun7i: Add RGB666 pins definition Paul Kocialkowski
  0 siblings, 1 reply; 14+ messages in thread
From: Paul Kocialkowski @ 2018-05-06 20:56 UTC (permalink / raw)
  To: linux-kernel, linux-arm-kernel, dri-devel
  Cc: Rob Herring, Mark Rutland, Maxime Ripard, Chen-Yu Tsai,
	Thierry Reding, devicetree, Paul Kocialkowski

This adds timings for the RGB666 variant of the Innolux AT070TN90 panel,
as found on the Ainol AW1 tablet.

The panel also supports RGB888 output. When RGB666 mode is used instead,
the two extra lanes per component are grounded.

In the future, it might become necessary to introduce a dedicated
device-tree property to specify the bus format and maybe specify it in
the mode description instead of panel description so that the
appropriate mode can be selected for each bus format.

Signed-off-by: Paul Kocialkowski <contact@paulk.fr>
---
 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 cbf1ab404ee7..351742df8ee1 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1086,6 +1086,29 @@ static const struct panel_desc innolux_at070tn92 = {
 	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
 };
 
+static const struct drm_display_mode innolux_at070tn90_mode = {
+	.clock = 40000,
+	.hdisplay = 800,
+	.hsync_start = 800 + 112,
+	.hsync_end = 800 + 112 + 1,
+	.htotal = 800 + 112 + 1 + 87,
+	.vdisplay = 480,
+	.vsync_start = 480 + 141,
+	.vsync_end = 480 + 141 + 1,
+	.vtotal = 480 + 141 + 1 + 38,
+	.vrefresh = 60,
+};
+
+static const struct panel_desc innolux_at070tn90 = {
+	.modes = &innolux_at070tn90_mode,
+	.num_modes = 1,
+	.size = {
+		.width = 154,
+		.height = 86,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
+};
+
 static const struct display_timing innolux_g101ice_l01_timing = {
 	.pixelclock = { 60400000, 71100000, 74700000 },
 	.hactive = { 1280, 1280, 1280 },
@@ -2154,6 +2177,9 @@ static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "innolux,at070tn92",
 		.data = &innolux_at070tn92,
+	}, {
+		.compatible = "innolux,at070tn90",
+		.data = &innolux_at070tn90,
 	}, {
 		.compatible ="innolux,g101ice-l01",
 		.data = &innolux_g101ice_l01
-- 
2.17.0

^ permalink raw reply related	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2018-05-06 20:56 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-04-10 21:31 [PATCH 1/3] drm/panel: Add RGB666 variant of Innolux AT070TN92 Paul Kocialkowski
2018-04-10 21:31 ` [PATCH 2/3] ARM: dts: sun7i: Add RGB666 pins definition Paul Kocialkowski
2018-04-11 22:22   ` Giulio Benetti
2018-04-11 23:09     ` [linux-sunxi] " Paul Kocialkowski
2018-04-11 23:19       ` Giulio Benetti
2018-04-10 21:31 ` [PATCH 3/3] ARM: dts: sun7i: Add support for the Ainol AW1 tablet Paul Kocialkowski
2018-04-10 21:35   ` Paul Kocialkowski
2018-04-11  6:09     ` [linux-sunxi] " Paul Kocialkowski
2018-04-11  7:06   ` Maxime Ripard
2018-04-11 23:08     ` Paul Kocialkowski
2018-04-12 14:51       ` Maxime Ripard
2018-04-11  6:28 ` [PATCH 1/3] drm/panel: Add RGB666 variant of Innolux AT070TN92 Maxime Ripard
2018-04-11 23:12   ` Paul Kocialkowski
2018-05-06 20:56 [PATCH 1/3] drm/panel: Add RGB666 variant of Innolux AT070TN90 Paul Kocialkowski
2018-05-06 20:56 ` [PATCH 2/3] ARM: dts: sun7i: Add RGB666 pins definition Paul Kocialkowski

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).