diff mbox series

panel: simple: Add Ivo M133NWF4 R0

Message ID 20191229060658.746189-1-bjorn.andersson@linaro.org (mailing list archive)
State New, archived
Headers show
Series panel: simple: Add Ivo M133NWF4 R0 | expand

Commit Message

Bjorn Andersson Dec. 29, 2019, 6:06 a.m. UTC
The InfoVision Optoelectronics M133NWF4 R0 panel is a 13.3" 1920x1080
eDP panel, add support for it in panel-simple.

Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
---
 drivers/gpu/drm/panel/panel-simple.c | 31 ++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

Comments

Sam Ravnborg Jan. 2, 2020, 8:55 a.m. UTC | #1
Hi Bjorn.

On Sat, Dec 28, 2019 at 10:06:58PM -0800, Bjorn Andersson wrote:
> The InfoVision Optoelectronics M133NWF4 R0 panel is a 13.3" 1920x1080
> eDP panel, add support for it in panel-simple.
> 
> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 31 ++++++++++++++++++++++++++++
>  1 file changed, 31 insertions(+)
> 
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index ba3f85f36c2f..d7ae0ede2b6e 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -1806,6 +1806,34 @@ static const struct panel_desc innolux_zj070na_01p = {
>  	},
>  };
>  
> +static const struct drm_display_mode ivo_m133nwf4_r0_mode = {
> +	.clock = 138778,
> +	.hdisplay = 1920,
> +	.hsync_start = 1920 + 24,
> +	.hsync_end = 1920 + 24 + 48,
> +	.htotal = 1920 + 24 + 48 + 88,
> +	.vdisplay = 1080,
> +	.vsync_start = 1080 + 3,
> +	.vsync_end = 1080 + 3 + 12,
> +	.vtotal = 1080 + 3 + 12 + 17,
> +	.vrefresh = 60,
> +	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> +};
> +
> +static const struct panel_desc ivo_m133nwf4_r0 = {
> +	.modes = &ivo_m133nwf4_r0_mode,
> +	.num_modes = 1,
> +	.bpc = 8,
> +	.size = {
> +		.width = 294,
> +		.height = 165,
> +	},
> +	.delay = {
> +		.hpd_absent_delay = 200,
> +		.unprepare = 500,
> +	},
> +};

For new bindings - at least add connector_type.
And consider bus_format and bus_flags too.


> +
>  static const struct display_timing koe_tx14d24vm1bpa_timing = {
>  	.pixelclock = { 5580000, 5850000, 6200000 },
>  	.hactive = { 320, 320, 320 },
> @@ -3266,6 +3294,9 @@ static const struct of_device_id platform_of_match[] = {
>  	}, {
>  		.compatible = "innolux,zj070na-01p",
>  		.data = &innolux_zj070na_01p,
> +	}, {
> +		.compatible = "ivo,m133nwf4-r0",
Compatible must be documented in a binding file.
We are discussing a new binding format where it is simple to add
a new panel. But no final conclusion yet.

The comments above (in panel_desc and here) also apply for the
other patch you sent.

	Sam
Bjorn Andersson Jan. 3, 2020, 5:34 a.m. UTC | #2
On Thu 02 Jan 00:55 PST 2020, Sam Ravnborg wrote:

> Hi Bjorn.
> 
> On Sat, Dec 28, 2019 at 10:06:58PM -0800, Bjorn Andersson wrote:
> > The InfoVision Optoelectronics M133NWF4 R0 panel is a 13.3" 1920x1080
> > eDP panel, add support for it in panel-simple.
> > 
> > Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
> > ---
> >  drivers/gpu/drm/panel/panel-simple.c | 31 ++++++++++++++++++++++++++++
> >  1 file changed, 31 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > index ba3f85f36c2f..d7ae0ede2b6e 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -1806,6 +1806,34 @@ static const struct panel_desc innolux_zj070na_01p = {
> >  	},
> >  };
> >  
> > +static const struct drm_display_mode ivo_m133nwf4_r0_mode = {
> > +	.clock = 138778,
> > +	.hdisplay = 1920,
> > +	.hsync_start = 1920 + 24,
> > +	.hsync_end = 1920 + 24 + 48,
> > +	.htotal = 1920 + 24 + 48 + 88,
> > +	.vdisplay = 1080,
> > +	.vsync_start = 1080 + 3,
> > +	.vsync_end = 1080 + 3 + 12,
> > +	.vtotal = 1080 + 3 + 12 + 17,
> > +	.vrefresh = 60,
> > +	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
> > +};
> > +
> > +static const struct panel_desc ivo_m133nwf4_r0 = {
> > +	.modes = &ivo_m133nwf4_r0_mode,
> > +	.num_modes = 1,
> > +	.bpc = 8,
> > +	.size = {
> > +		.width = 294,
> > +		.height = 165,
> > +	},
> > +	.delay = {
> > +		.hpd_absent_delay = 200,
> > +		.unprepare = 500,
> > +	},
> > +};
> 
> For new bindings - at least add connector_type.
> And consider bus_format and bus_flags too.
> 

Sure thing, will update the two patches.

> 
> > +
> >  static const struct display_timing koe_tx14d24vm1bpa_timing = {
> >  	.pixelclock = { 5580000, 5850000, 6200000 },
> >  	.hactive = { 320, 320, 320 },
> > @@ -3266,6 +3294,9 @@ static const struct of_device_id platform_of_match[] = {
> >  	}, {
> >  		.compatible = "innolux,zj070na-01p",
> >  		.data = &innolux_zj070na_01p,
> > +	}, {
> > +		.compatible = "ivo,m133nwf4-r0",
> Compatible must be documented in a binding file.
> We are discussing a new binding format where it is simple to add
> a new panel. But no final conclusion yet.
> 

Okay, will spin some DT bindings for these as well.

Thanks,
Bjorn

> The comments above (in panel_desc and here) also apply for the
> other patch you sent.
> 
> 	Sam
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index ba3f85f36c2f..d7ae0ede2b6e 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -1806,6 +1806,34 @@  static const struct panel_desc innolux_zj070na_01p = {
 	},
 };
 
+static const struct drm_display_mode ivo_m133nwf4_r0_mode = {
+	.clock = 138778,
+	.hdisplay = 1920,
+	.hsync_start = 1920 + 24,
+	.hsync_end = 1920 + 24 + 48,
+	.htotal = 1920 + 24 + 48 + 88,
+	.vdisplay = 1080,
+	.vsync_start = 1080 + 3,
+	.vsync_end = 1080 + 3 + 12,
+	.vtotal = 1080 + 3 + 12 + 17,
+	.vrefresh = 60,
+	.flags = DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC,
+};
+
+static const struct panel_desc ivo_m133nwf4_r0 = {
+	.modes = &ivo_m133nwf4_r0_mode,
+	.num_modes = 1,
+	.bpc = 8,
+	.size = {
+		.width = 294,
+		.height = 165,
+	},
+	.delay = {
+		.hpd_absent_delay = 200,
+		.unprepare = 500,
+	},
+};
+
 static const struct display_timing koe_tx14d24vm1bpa_timing = {
 	.pixelclock = { 5580000, 5850000, 6200000 },
 	.hactive = { 320, 320, 320 },
@@ -3266,6 +3294,9 @@  static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "innolux,zj070na-01p",
 		.data = &innolux_zj070na_01p,
+	}, {
+		.compatible = "ivo,m133nwf4-r0",
+		.data = &ivo_m133nwf4_r0,
 	}, {
 		.compatible = "koe,tx14d24vm1bpa",
 		.data = &koe_tx14d24vm1bpa,