linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1
@ 2021-08-05  4:37 Oleksij Rempel
  2021-08-05  4:37 ` [PATCH v1 2/2] drm/panel: simple: add LOGIC Technologies LTTD800480070-L6WH-RT Oleksij Rempel
  2021-08-05  5:52 ` [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1 Ahmad Fatoum
  0 siblings, 2 replies; 5+ messages in thread
From: Oleksij Rempel @ 2021-08-05  4:37 UTC (permalink / raw)
  To: Thierry Reding, David Airlie, Daniel Vetter
  Cc: Sam Ravnborg, Ulrich Ölmann, Oleksij Rempel,
	Pengutronix Kernel Team, dri-devel, linux-kernel

From: Sam Ravnborg <sam@ravnborg.org>

The Multi Innotechnology is a 10.1" 1280x800 panel.

The datasheet did not specify specific values for sync, back, front porch.
The values are a best guess based on values for similar panels.

Co-Developed-by: Sam Ravnborg <sam@ravnborg.org>
Co-Developed-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
 drivers/gpu/drm/panel/panel-simple.c | 34 ++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 21939d4352cf..fda79a986d12 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -3033,6 +3033,37 @@ static const struct panel_desc mitsubishi_aa070mc01 = {
 	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
 };
 
+static const struct display_timing multi_inno_mi1010ait_1cp_timing = {
+	.pixelclock = { 68900000, 70000000, 73400000 },
+	.hactive = { 1280, 1280, 1280 },
+	.hfront_porch = { 30, 60, 71 },
+	.hback_porch = { 30, 60, 71 },
+	.hsync_len = { 10, 10, 48 },
+	.vactive = { 800, 800, 800 },
+	.vfront_porch = { 5, 10, 10 },
+	.vback_porch = { 5, 10, 10 },
+	.vsync_len = { 5, 6, 13 },
+	.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
+		 DISPLAY_FLAGS_DE_HIGH,
+};
+
+static const struct panel_desc multi_inno_mi1010ait_1cp = {
+	.timings = &multi_inno_mi1010ait_1cp_timing,
+	.num_timings = 1,
+	.bpc = 8,
+	.size = {
+		.width = 217,
+		.height = 136,
+	},
+	.delay = {
+		.enable = 50,
+		.disable = 50,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
+	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
+	.connector_type = DRM_MODE_CONNECTOR_LVDS,
+};
+
 static const struct display_timing nec_nl12880bc20_05_timing = {
 	.pixelclock = { 67000000, 71000000, 75000000 },
 	.hactive = { 1280, 1280, 1280 },
@@ -4464,6 +4495,9 @@ static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "mitsubishi,aa070mc01-ca1",
 		.data = &mitsubishi_aa070mc01,
+	}, {
+		.compatible = "multi-inno,mi1010ait-1cp",
+		.data = &multi_inno_mi1010ait_1cp,
 	}, {
 		.compatible = "nec,nl12880bc20-05",
 		.data = &nec_nl12880bc20_05,
-- 
2.30.2


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

* [PATCH v1 2/2] drm/panel: simple: add LOGIC Technologies LTTD800480070-L6WH-RT
  2021-08-05  4:37 [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1 Oleksij Rempel
@ 2021-08-05  4:37 ` Oleksij Rempel
  2021-08-05  5:44   ` Ahmad Fatoum
  2021-08-05  5:52 ` [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1 Ahmad Fatoum
  1 sibling, 1 reply; 5+ messages in thread
From: Oleksij Rempel @ 2021-08-05  4:37 UTC (permalink / raw)
  To: Thierry Reding, David Airlie, Daniel Vetter
  Cc: Søren Andersen, Sam Ravnborg, Oleksij Rempel,
	Pengutronix Kernel Team, dri-devel, linux-kernel

From: Søren Andersen <san@skov.dk>

Add support for the LOGIC Technologies, Inc LTTD800480070-L6WH-RT

Co-Developed-by: Søren Andersen <san@skov.dk>
Co-Developed-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Søren Andersen <san@skov.dk>
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
---
 drivers/gpu/drm/panel/panel-simple.c | 34 ++++++++++++++++++++++++++++
 1 file changed, 34 insertions(+)

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index fda79a986d12..e5213a610ae9 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -2967,6 +2967,37 @@ static const struct panel_desc logictechno_lt170410_2whc = {
 	.connector_type = DRM_MODE_CONNECTOR_LVDS,
 };
 
+static const struct drm_display_mode logictechno_lttd800480070_l6wh_rt_mode = {
+	.clock = 33000,
+	.hdisplay = 800,
+	.hsync_start = 800 + 154,
+	.hsync_end = 800 + 154 + 3,
+	.htotal = 800 + 154 + 3 + 43,
+	.vdisplay = 480,
+	.vsync_start = 480 + 47,
+	.vsync_end = 480 + 47 + 3,
+	.vtotal = 480 + 47 + 3 + 20,
+	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+};
+
+static const struct panel_desc logictechno_lttd800480070_l6wh_rt = {
+	.modes = &logictechno_lttd800480070_l6wh_rt_mode,
+	.num_modes = 1,
+	.bpc = 8,
+	.size = {
+		.width = 154,
+		.height = 86,
+	},
+	.delay = {
+		.prepare = 45,
+		.enable = 100,
+		.disable = 100,
+		.unprepare = 45
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+	.bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,
+};
+
 static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
 	.clock = 30400,
 	.hdisplay = 800,
@@ -4492,6 +4523,9 @@ static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "logictechno,lt170410-2whc",
 		.data = &logictechno_lt170410_2whc,
+	}, {
+		.compatible = "logictechno,lttd800480070-l6wh-rt",
+		.data = &logictechno_lttd800480070_l6wh_rt,
 	}, {
 		.compatible = "mitsubishi,aa070mc01-ca1",
 		.data = &mitsubishi_aa070mc01,
-- 
2.30.2


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

* Re: [PATCH v1 2/2] drm/panel: simple: add LOGIC Technologies LTTD800480070-L6WH-RT
  2021-08-05  4:37 ` [PATCH v1 2/2] drm/panel: simple: add LOGIC Technologies LTTD800480070-L6WH-RT Oleksij Rempel
@ 2021-08-05  5:44   ` Ahmad Fatoum
  0 siblings, 0 replies; 5+ messages in thread
From: Ahmad Fatoum @ 2021-08-05  5:44 UTC (permalink / raw)
  To: Oleksij Rempel, Thierry Reding, David Airlie, Daniel Vetter
  Cc: linux-kernel, dri-devel, Pengutronix Kernel Team,
	Søren Andersen, Sam Ravnborg

Hello Oleksi,

On 05.08.21 06:37, Oleksij Rempel wrote:
> From: Søren Andersen <san@skov.dk>
> 
> Add support for the LOGIC Technologies, Inc LTTD800480070-L6WH-RT
> 
> Co-Developed-by: Søren Andersen <san@skov.dk>
> Co-Developed-by: Sam Ravnborg <sam@ravnborg.org>
> Signed-off-by: Søren Andersen <san@skov.dk>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 34 ++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index fda79a986d12..e5213a610ae9 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -2967,6 +2967,37 @@ static const struct panel_desc logictechno_lt170410_2whc = {
>  	.connector_type = DRM_MODE_CONNECTOR_LVDS,
>  };
>  
> +static const struct drm_display_mode logictechno_lttd800480070_l6wh_rt_mode = {
> +	.clock = 33000,
> +	.hdisplay = 800,
> +	.hsync_start = 800 + 154,
> +	.hsync_end = 800 + 154 + 3,
> +	.htotal = 800 + 154 + 3 + 43,
> +	.vdisplay = 480,
> +	.vsync_start = 480 + 47,
> +	.vsync_end = 480 + 47 + 3,
> +	.vtotal = 480 + 47 + 3 + 20,
> +	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> +};
> +
> +static const struct panel_desc logictechno_lttd800480070_l6wh_rt = {
> +	.modes = &logictechno_lttd800480070_l6wh_rt_mode,
> +	.num_modes = 1,
> +	.bpc = 8,
> +	.size = {
> +		.width = 154,
> +		.height = 86,
> +	},
> +	.delay = {
> +		.prepare = 45,
> +		.enable = 100,
> +		.disable = 100,
> +		.unprepare = 45
> +	},
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
> +	.bus_flags = DRM_BUS_FLAG_PIXDATA_DRIVE_POSEDGE,

This lacks a .connector_type. I think recent kernels warn about that?

Cheers,
Ahmad

> +};
> +
>  static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
>  	.clock = 30400,
>  	.hdisplay = 800,
> @@ -4492,6 +4523,9 @@ static const struct of_device_id platform_of_match[] = {
>  	}, {
>  		.compatible = "logictechno,lt170410-2whc",
>  		.data = &logictechno_lt170410_2whc,
> +	}, {
> +		.compatible = "logictechno,lttd800480070-l6wh-rt",
> +		.data = &logictechno_lttd800480070_l6wh_rt,
>  	}, {
>  		.compatible = "mitsubishi,aa070mc01-ca1",
>  		.data = &mitsubishi_aa070mc01,
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

* Re: [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1
  2021-08-05  4:37 [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1 Oleksij Rempel
  2021-08-05  4:37 ` [PATCH v1 2/2] drm/panel: simple: add LOGIC Technologies LTTD800480070-L6WH-RT Oleksij Rempel
@ 2021-08-05  5:52 ` Ahmad Fatoum
  2021-08-05 10:08   ` Oleksij Rempel
  1 sibling, 1 reply; 5+ messages in thread
From: Ahmad Fatoum @ 2021-08-05  5:52 UTC (permalink / raw)
  To: Oleksij Rempel, Thierry Reding, David Airlie, Daniel Vetter
  Cc: Ulrich Ölmann, linux-kernel, dri-devel,
	Pengutronix Kernel Team, Sam Ravnborg

Hello Oleksij,

On 05.08.21 06:37, Oleksij Rempel wrote:
> From: Sam Ravnborg <sam@ravnborg.org>
> 
> The Multi Innotechnology is a 10.1" 1280x800 panel.
> 
> The datasheet did not specify specific values for sync, back, front porch.
> The values are a best guess based on values for similar panels.
> 
> Co-Developed-by: Sam Ravnborg <sam@ravnborg.org>
> Co-Developed-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
> Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 34 ++++++++++++++++++++++++++++
>  1 file changed, 34 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 21939d4352cf..fda79a986d12 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -3033,6 +3033,37 @@ static const struct panel_desc mitsubishi_aa070mc01 = {
>  	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
>  };
>  
> +static const struct display_timing multi_inno_mi1010ait_1cp_timing = {
> +	.pixelclock = { 68900000, 70000000, 73400000 },
> +	.hactive = { 1280, 1280, 1280 },
> +	.hfront_porch = { 30, 60, 71 },
> +	.hback_porch = { 30, 60, 71 },
> +	.hsync_len = { 10, 10, 48 },
> +	.vactive = { 800, 800, 800 },
> +	.vfront_porch = { 5, 10, 10 },
> +	.vback_porch = { 5, 10, 10 },
> +	.vsync_len = { 5, 6, 13 },
> +	.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
> +		 DISPLAY_FLAGS_DE_HIGH,
> +};

Here you specify DISPLAY_FLAGS_DE_HIGH.

> +
> +static const struct panel_desc multi_inno_mi1010ait_1cp = {
> +	.timings = &multi_inno_mi1010ait_1cp_timing,
> +	.num_timings = 1,
> +	.bpc = 8,
> +	.size = {
> +		.width = 217,
> +		.height = 136,
> +	},
> +	.delay = {
> +		.enable = 50,
> +		.disable = 50,
> +	},
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH,

And here DRM_BUS_FLAG_DE_HIGH. I see that some other panels do this too
and some only specify one of them. Do you know if they are redundant
or one of them is ignored?

Cheers,
Ahmad

> +	.connector_type = DRM_MODE_CONNECTOR_LVDS,
> +};
> +
>  static const struct display_timing nec_nl12880bc20_05_timing = {
>  	.pixelclock = { 67000000, 71000000, 75000000 },
>  	.hactive = { 1280, 1280, 1280 },
> @@ -4464,6 +4495,9 @@ static const struct of_device_id platform_of_match[] = {
>  	}, {
>  		.compatible = "mitsubishi,aa070mc01-ca1",
>  		.data = &mitsubishi_aa070mc01,
> +	}, {
> +		.compatible = "multi-inno,mi1010ait-1cp",
> +		.data = &multi_inno_mi1010ait_1cp,
>  	}, {
>  		.compatible = "nec,nl12880bc20-05",
>  		.data = &nec_nl12880bc20_05,
> 


-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

* Re: [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1
  2021-08-05  5:52 ` [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1 Ahmad Fatoum
@ 2021-08-05 10:08   ` Oleksij Rempel
  0 siblings, 0 replies; 5+ messages in thread
From: Oleksij Rempel @ 2021-08-05 10:08 UTC (permalink / raw)
  To: Ahmad Fatoum
  Cc: Thierry Reding, David Airlie, Daniel Vetter,
	Pengutronix Kernel Team, Ulrich Ölmann, Sam Ravnborg,
	linux-kernel, dri-devel

On Thu, Aug 05, 2021 at 07:52:24AM +0200, Ahmad Fatoum wrote:
> Hello Oleksij,
> 
> On 05.08.21 06:37, Oleksij Rempel wrote:
> > From: Sam Ravnborg <sam@ravnborg.org>
> > 
> > The Multi Innotechnology is a 10.1" 1280x800 panel.
> > 
> > The datasheet did not specify specific values for sync, back, front porch.
> > The values are a best guess based on values for similar panels.
> > 
> > Co-Developed-by: Sam Ravnborg <sam@ravnborg.org>
> > Co-Developed-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
> > Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> > Signed-off-by: Ulrich Ölmann <u.oelmann@pengutronix.de>
> > Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
> > ---
> >  drivers/gpu/drm/panel/panel-simple.c | 34 ++++++++++++++++++++++++++++
> >  1 file changed, 34 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > index 21939d4352cf..fda79a986d12 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -3033,6 +3033,37 @@ static const struct panel_desc mitsubishi_aa070mc01 = {
> >  	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
> >  };
> >  
> > +static const struct display_timing multi_inno_mi1010ait_1cp_timing = {
> > +	.pixelclock = { 68900000, 70000000, 73400000 },
> > +	.hactive = { 1280, 1280, 1280 },
> > +	.hfront_porch = { 30, 60, 71 },
> > +	.hback_porch = { 30, 60, 71 },
> > +	.hsync_len = { 10, 10, 48 },
> > +	.vactive = { 800, 800, 800 },
> > +	.vfront_porch = { 5, 10, 10 },
> > +	.vback_porch = { 5, 10, 10 },
> > +	.vsync_len = { 5, 6, 13 },
> > +	.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
> > +		 DISPLAY_FLAGS_DE_HIGH,
> > +};
> 
> Here you specify DISPLAY_FLAGS_DE_HIGH.
> 
> > +
> > +static const struct panel_desc multi_inno_mi1010ait_1cp = {
> > +	.timings = &multi_inno_mi1010ait_1cp_timing,
> > +	.num_timings = 1,
> > +	.bpc = 8,
> > +	.size = {
> > +		.width = 217,
> > +		.height = 136,
> > +	},
> > +	.delay = {
> > +		.enable = 50,
> > +		.disable = 50,
> > +	},
> > +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> > +	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
> 
> And here DRM_BUS_FLAG_DE_HIGH. I see that some other panels do this too
> and some only specify one of them. Do you know if they are redundant
> or one of them is ignored?

Hmm... there is a drm_bus_flags_from_videomode():
        if (vm->flags & DISPLAY_FLAGS_DE_HIGH)
                *bus_flags |= DRM_BUS_FLAG_DE_HIGH;


It looks like for DPI panel it would be set automatically. This
function is not execute in case of LVDS panel.

Regards,
Oleksij
-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |

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

end of thread, other threads:[~2021-08-05 10:08 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-05  4:37 [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1 Oleksij Rempel
2021-08-05  4:37 ` [PATCH v1 2/2] drm/panel: simple: add LOGIC Technologies LTTD800480070-L6WH-RT Oleksij Rempel
2021-08-05  5:44   ` Ahmad Fatoum
2021-08-05  5:52 ` [PATCH v1 1/2] drm/panel: simple: add Multi-Innotechnology MI1010AIT-1CP1 Ahmad Fatoum
2021-08-05 10:08   ` Oleksij Rempel

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).