diff mbox

panel: display: Add support for Mitsubishi aa070mc01 TFT panel

Message ID 1504863782-3293-1-git-send-email-lukma@denx.de (mailing list archive)
State New, archived
Headers show

Commit Message

Lukasz Majewski Sept. 8, 2017, 9:43 a.m. UTC
This commit adds support for Mitsubishi aa070mc01 TFT panel working
with 8 bit ISP mode (pin 19 "mode" HIGH for 20 pin TFT connector).

Signed-off-by: Lukasz Majewski <lukma@denx.de>
---
 drivers/gpu/drm/panel/panel-simple.c | 35 +++++++++++++++++++++++++++++++++++
 1 file changed, 35 insertions(+)

Comments

Lukasz Majewski Sept. 24, 2017, 9:18 p.m. UTC | #1
On 09/08/2017 11:43 AM, Lukasz Majewski wrote:
> This commit adds support for Mitsubishi aa070mc01 TFT panel working
> with 8 bit ISP mode (pin 19 "mode" HIGH for 20 pin TFT connector).
> 
> Signed-off-by: Lukasz Majewski <lukma@denx.de>

Gentle ping on this patch.....

Anyone could express their opinion?

Thanks in advance,
Ɓukasz

> ---
>   drivers/gpu/drm/panel/panel-simple.c | 35 +++++++++++++++++++++++++++++++++++
>   1 file changed, 35 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 3d2cb8b..0c64ec6 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1141,6 +1141,38 @@ static const struct panel_desc innolux_g121x1_l03 = {
>   	},
>   };
>   
> +static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
> +	.clock = 30400,
> +	.hdisplay = 800,
> +	.hsync_start = 800 + 0,
> +	.hsync_end = 800 + 1,
> +	.htotal = 800 + 0 + 1 + 160,
> +	.vdisplay = 480,
> +	.vsync_start = 480 + 0,
> +	.vsync_end = 480 + 48 + 1,
> +	.vtotal = 480 + 48 + 1 + 0,
> +	.vrefresh = 60,
> +	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> +};
> +
> +static const struct panel_desc mitsubishi_aa070mc01 = {
> +	.modes = &mitsubishi_aa070mc01_mode,
> +	.num_modes = 1,
> +	.bpc = 8,
> +	.size = {
> +		.width = 152,
> +		.height = 91,
> +	},
> +
> +	.delay = {
> +		.enable = 200,
> +		.unprepare = 200,
> +		.disable = 400,
> +	},
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
> +};
> +
>   static const struct drm_display_mode innolux_n116bge_mode = {
>   	.clock = 76420,
>   	.hdisplay = 1366,
> @@ -2029,6 +2061,9 @@ static const struct of_device_id platform_of_match[] = {
>   		.compatible = "innolux,g121x1-l03",
>   		.data = &innolux_g121x1_l03,
>   	}, {
> +		.compatible = "mitsubishi,aa070mc01-ca1",
> +		.data = &mitsubishi_aa070mc01,
> +	}, {
>   		.compatible = "innolux,n116bge",
>   		.data = &innolux_n116bge,
>   	}, {
>
Thierry Reding Oct. 19, 2017, 8:15 a.m. UTC | #2
On Fri, Sep 08, 2017 at 11:43:02AM +0200, Lukasz Majewski wrote:
> This commit adds support for Mitsubishi aa070mc01 TFT panel working
> with 8 bit ISP mode (pin 19 "mode" HIGH for 20 pin TFT connector).
> 
> Signed-off-by: Lukasz Majewski <lukma@denx.de>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 35 +++++++++++++++++++++++++++++++++++
>  1 file changed, 35 insertions(+)

This is missing a device tree binding.

> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index 3d2cb8b..0c64ec6 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1141,6 +1141,38 @@ static const struct panel_desc innolux_g121x1_l03 = {
>  	},
>  };
>  
> +static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
> +	.clock = 30400,
> +	.hdisplay = 800,
> +	.hsync_start = 800 + 0,
> +	.hsync_end = 800 + 1,
> +	.htotal = 800 + 0 + 1 + 160,
> +	.vdisplay = 480,
> +	.vsync_start = 480 + 0,
> +	.vsync_end = 480 + 48 + 1,
> +	.vtotal = 480 + 48 + 1 + 0,
> +	.vrefresh = 60,
> +	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> +};
> +
> +static const struct panel_desc mitsubishi_aa070mc01 = {
> +	.modes = &mitsubishi_aa070mc01_mode,
> +	.num_modes = 1,
> +	.bpc = 8,
> +	.size = {
> +		.width = 152,
> +		.height = 91,
> +	},
> +
> +	.delay = {
> +		.enable = 200,
> +		.unprepare = 200,
> +		.disable = 400,
> +	},
> +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> +	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
> +};

And this isn't sorted properly.

> +
>  static const struct drm_display_mode innolux_n116bge_mode = {
>  	.clock = 76420,
>  	.hdisplay = 1366,
> @@ -2029,6 +2061,9 @@ static const struct of_device_id platform_of_match[] = {
>  		.compatible = "innolux,g121x1-l03",
>  		.data = &innolux_g121x1_l03,
>  	}, {
> +		.compatible = "mitsubishi,aa070mc01-ca1",
> +		.data = &mitsubishi_aa070mc01,
> +	}, {

Same here.

Thierry
Lukasz Majewski Oct. 19, 2017, 7:25 p.m. UTC | #3
HI Thierry,

> On Fri, Sep 08, 2017 at 11:43:02AM +0200, Lukasz Majewski wrote:
> > This commit adds support for Mitsubishi aa070mc01 TFT panel working
> > with 8 bit ISP mode (pin 19 "mode" HIGH for 20 pin TFT connector).
> > 
> > Signed-off-by: Lukasz Majewski <lukma@denx.de>
> > ---
> >  drivers/gpu/drm/panel/panel-simple.c | 35
> > +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+)
> 
> This is missing a device tree binding.
> 
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c
> > b/drivers/gpu/drm/panel/panel-simple.c index 3d2cb8b..0c64ec6 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -1141,6 +1141,38 @@ static const struct panel_desc
> > innolux_g121x1_l03 = { },
> >  };
> >  
> > +static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
> > +	.clock = 30400,
> > +	.hdisplay = 800,
> > +	.hsync_start = 800 + 0,
> > +	.hsync_end = 800 + 1,
> > +	.htotal = 800 + 0 + 1 + 160,
> > +	.vdisplay = 480,
> > +	.vsync_start = 480 + 0,
> > +	.vsync_end = 480 + 48 + 1,
> > +	.vtotal = 480 + 48 + 1 + 0,
> > +	.vrefresh = 60,
> > +	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
> > +};
> > +
> > +static const struct panel_desc mitsubishi_aa070mc01 = {
> > +	.modes = &mitsubishi_aa070mc01_mode,
> > +	.num_modes = 1,
> > +	.bpc = 8,
> > +	.size = {
> > +		.width = 152,
> > +		.height = 91,
> > +	},
> > +
> > +	.delay = {
> > +		.enable = 200,
> > +		.unprepare = 200,
> > +		.disable = 400,
> > +	},
> > +	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
> > +	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
> > +};
> 
> And this isn't sorted properly.
> 
> > +
> >  static const struct drm_display_mode innolux_n116bge_mode = {
> >  	.clock = 76420,
> >  	.hdisplay = 1366,
> > @@ -2029,6 +2061,9 @@ static const struct of_device_id
> > platform_of_match[] = { .compatible = "innolux,g121x1-l03",
> >  		.data = &innolux_g121x1_l03,
> >  	}, {
> > +		.compatible = "mitsubishi,aa070mc01-ca1",
> > +		.data = &mitsubishi_aa070mc01,
> > +	}, {
> 
> Same here.
> 
> Thierry

I will prepare ./Documentation/device-tree description for this patch
and sort those entries.

Thanks for your comments :-)


Best regards,

Lukasz Majewski

--

DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-10 Fax: (+49)-8142-66989-80 Email: wd@denx.de
diff mbox

Patch

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index 3d2cb8b..0c64ec6 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1141,6 +1141,38 @@  static const struct panel_desc innolux_g121x1_l03 = {
 	},
 };
 
+static const struct drm_display_mode mitsubishi_aa070mc01_mode = {
+	.clock = 30400,
+	.hdisplay = 800,
+	.hsync_start = 800 + 0,
+	.hsync_end = 800 + 1,
+	.htotal = 800 + 0 + 1 + 160,
+	.vdisplay = 480,
+	.vsync_start = 480 + 0,
+	.vsync_end = 480 + 48 + 1,
+	.vtotal = 480 + 48 + 1 + 0,
+	.vrefresh = 60,
+	.flags = DRM_MODE_FLAG_NHSYNC | DRM_MODE_FLAG_NVSYNC,
+};
+
+static const struct panel_desc mitsubishi_aa070mc01 = {
+	.modes = &mitsubishi_aa070mc01_mode,
+	.num_modes = 1,
+	.bpc = 8,
+	.size = {
+		.width = 152,
+		.height = 91,
+	},
+
+	.delay = {
+		.enable = 200,
+		.unprepare = 200,
+		.disable = 400,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X7X4_SPWG,
+	.bus_flags = DRM_BUS_FLAG_DE_HIGH,
+};
+
 static const struct drm_display_mode innolux_n116bge_mode = {
 	.clock = 76420,
 	.hdisplay = 1366,
@@ -2029,6 +2061,9 @@  static const struct of_device_id platform_of_match[] = {
 		.compatible = "innolux,g121x1-l03",
 		.data = &innolux_g121x1_l03,
 	}, {
+		.compatible = "mitsubishi,aa070mc01-ca1",
+		.data = &mitsubishi_aa070mc01,
+	}, {
 		.compatible = "innolux,n116bge",
 		.data = &innolux_n116bge,
 	}, {