diff mbox series

[v1,2/6] drm: panel-simple: add Seiko 70WVW2T 7" simple panel

Message ID 20200601083309.712606-3-sam@ravnborg.org (mailing list archive)
State New, archived
Headers show
Series drm: add a few simple panels | expand

Commit Message

Sam Ravnborg June 1, 2020, 8:33 a.m. UTC
The Seiko 70WVW2T is a discontinued product, but may be used somewhere.
Tested on a proprietary product.

Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Cc: Søren Andersen <san@skov.dk>
Cc: Thierry Reding <thierry.reding@gmail.com>
Cc: Sam Ravnborg <sam@ravnborg.org>
---
 drivers/gpu/drm/panel/panel-simple.c | 28 ++++++++++++++++++++++++++++
 1 file changed, 28 insertions(+)

Comments

Doug Anderson June 2, 2020, 12:31 a.m. UTC | #1
Hi,

On Mon, Jun 1, 2020 at 1:33 AM Sam Ravnborg <sam@ravnborg.org> wrote:
>
> The Seiko 70WVW2T is a discontinued product, but may be used somewhere.
> Tested on a proprietary product.
>
> Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> Cc: Søren Andersen <san@skov.dk>
> Cc: Thierry Reding <thierry.reding@gmail.com>
> Cc: Sam Ravnborg <sam@ravnborg.org>
> ---
>  drivers/gpu/drm/panel/panel-simple.c | 28 ++++++++++++++++++++++++++++
>  1 file changed, 28 insertions(+)
>
> diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> index b067f66cea0e..8624bb80108c 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -3194,6 +3194,31 @@ static const struct panel_desc shelly_sca07010_bfn_lnn = {
>         .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
>  };
>
> +static const struct drm_display_mode sii_70wvw2t_mode = {
> +       .clock = 33000,
> +       .hdisplay = 800,
> +       .hsync_start = 800 + 256,
> +       .hsync_end = 800 + 256 + 0,
> +       .htotal = 800 + 256 + 0 + 0,
> +       .vdisplay = 480,
> +       .vsync_start = 480 + 0,
> +       .vsync_end = 480 + 0 + 0,
> +       .vtotal = 480 + 0 + 0 + 45,

Important to have a "vrefresh"?


> +       .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> +};
> +
> +static const struct panel_desc sii_70wvw2t = {
> +       .modes = &sii_70wvw2t_mode,
> +       .num_modes = 1,

Do we want "bpc = 6"?


> +       .size = {
> +               .width = 152,
> +               .height = 91,
> +       },
> +       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,

Should this be a 666 format?  Random internet-found data sheet says
262K colors...
Emil Velikov June 2, 2020, 2:55 p.m. UTC | #2
On Tue, 2 Jun 2020 at 01:31, Doug Anderson <dianders@chromium.org> wrote:
>
> Hi,
>
> On Mon, Jun 1, 2020 at 1:33 AM Sam Ravnborg <sam@ravnborg.org> wrote:
> >
> > The Seiko 70WVW2T is a discontinued product, but may be used somewhere.
> > Tested on a proprietary product.
> >
> > Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> > Cc: Søren Andersen <san@skov.dk>
> > Cc: Thierry Reding <thierry.reding@gmail.com>
> > Cc: Sam Ravnborg <sam@ravnborg.org>
> > ---
> >  drivers/gpu/drm/panel/panel-simple.c | 28 ++++++++++++++++++++++++++++
> >  1 file changed, 28 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > index b067f66cea0e..8624bb80108c 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -3194,6 +3194,31 @@ static const struct panel_desc shelly_sca07010_bfn_lnn = {
> >         .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
> >  };
> >
> > +static const struct drm_display_mode sii_70wvw2t_mode = {
> > +       .clock = 33000,
> > +       .hdisplay = 800,
> > +       .hsync_start = 800 + 256,
> > +       .hsync_end = 800 + 256 + 0,
> > +       .htotal = 800 + 256 + 0 + 0,
> > +       .vdisplay = 480,
> > +       .vsync_start = 480 + 0,
> > +       .vsync_end = 480 + 0 + 0,
> > +       .vtotal = 480 + 0 + 0 + 45,
>
> Important to have a "vrefresh"?
>
Ville posted a series (most of which already landed) getting removing
vrefresh all together. The overall idea is to compute it, in the rare
case it's needed.


>
> > +       .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> > +};
> > +
> > +static const struct panel_desc sii_70wvw2t = {
> > +       .modes = &sii_70wvw2t_mode,
> > +       .num_modes = 1,
>
> Do we want "bpc = 6"?
>
The largest user of bpc is userspace - the data gets copied via the ioctls.

A secondary, and quite limited, user are drivers exposing the "max
bpc" connector property. From a quick look: amdgpu, the synopsys
dw-hdmi bridge and i915 do so. In case the data missing, atomics
assume a max 8 bpc.

>
> > +       .size = {
> > +               .width = 152,
> > +               .height = 91,
> > +       },
> > +       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
>
> Should this be a 666 format?  Random internet-found data sheet says
> 262K colors...

Good catch. Would be nice to have a spec sheet link (even if random)
in the commit message.

HTH
-Emil
Sam Ravnborg June 5, 2020, 5 p.m. UTC | #3
Hi Doug.

On Mon, Jun 01, 2020 at 05:31:06PM -0700, Doug Anderson wrote:
> Hi,
> 
> On Mon, Jun 1, 2020 at 1:33 AM Sam Ravnborg <sam@ravnborg.org> wrote:
> >
> > The Seiko 70WVW2T is a discontinued product, but may be used somewhere.
> > Tested on a proprietary product.
> >
> > Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
> > Cc: Søren Andersen <san@skov.dk>
> > Cc: Thierry Reding <thierry.reding@gmail.com>
> > Cc: Sam Ravnborg <sam@ravnborg.org>
> > ---
> >  drivers/gpu/drm/panel/panel-simple.c | 28 ++++++++++++++++++++++++++++
> >  1 file changed, 28 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
> > index b067f66cea0e..8624bb80108c 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -3194,6 +3194,31 @@ static const struct panel_desc shelly_sca07010_bfn_lnn = {
> >         .bus_format = MEDIA_BUS_FMT_RGB666_1X18,
> >  };
> >
> > +static const struct drm_display_mode sii_70wvw2t_mode = {
> > +       .clock = 33000,
> > +       .hdisplay = 800,
> > +       .hsync_start = 800 + 256,
> > +       .hsync_end = 800 + 256 + 0,
> > +       .htotal = 800 + 256 + 0 + 0,
> > +       .vdisplay = 480,
> > +       .vsync_start = 480 + 0,
> > +       .vsync_end = 480 + 0 + 0,
> > +       .vtotal = 480 + 0 + 0 + 45,
> 
> Important to have a "vrefresh"?
> 
> 
> > +       .flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
> > +};
> > +
> > +static const struct panel_desc sii_70wvw2t = {
> > +       .modes = &sii_70wvw2t_mode,
> > +       .num_modes = 1,
> 
> Do we want "bpc = 6"?
> 
> 
> > +       .size = {
> > +               .width = 152,
> > +               .height = 91,
> > +       },
> > +       .bus_format = MEDIA_BUS_FMT_RGB888_1X24,
> 
> Should this be a 666 format?  Random internet-found data sheet says
> 262K colors...

Thanks for catching this!
You are indeed right, this is MEDIA_BUS_FMT_RGB666_1X18 and only bpc = 6.
My bad excuse is that other displays for the same HW is RGB888 and bpc = 8.

Will fix and repost.

	Sam
diff mbox series

Patch

diff --git a/drivers/gpu/drm/panel/panel-simple.c b/drivers/gpu/drm/panel/panel-simple.c
index b067f66cea0e..8624bb80108c 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -3194,6 +3194,31 @@  static const struct panel_desc shelly_sca07010_bfn_lnn = {
 	.bus_format = MEDIA_BUS_FMT_RGB666_1X18,
 };
 
+static const struct drm_display_mode sii_70wvw2t_mode = {
+	.clock = 33000,
+	.hdisplay = 800,
+	.hsync_start = 800 + 256,
+	.hsync_end = 800 + 256 + 0,
+	.htotal = 800 + 256 + 0 + 0,
+	.vdisplay = 480,
+	.vsync_start = 480 + 0,
+	.vsync_end = 480 + 0 + 0,
+	.vtotal = 480 + 0 + 0 + 45,
+	.flags = DRM_MODE_FLAG_NVSYNC | DRM_MODE_FLAG_NHSYNC,
+};
+
+static const struct panel_desc sii_70wvw2t = {
+	.modes = &sii_70wvw2t_mode,
+	.num_modes = 1,
+	.size = {
+		.width = 152,
+		.height = 91,
+	},
+	.bus_format = MEDIA_BUS_FMT_RGB888_1X24,
+	.bus_flags = DRM_BUS_FLAG_PIXDATA_POSEDGE,
+	.connector_type = DRM_MODE_CONNECTOR_DPI,
+};
+
 static const struct drm_display_mode starry_kr070pe2t_mode = {
 	.clock = 33000,
 	.hdisplay = 800,
@@ -3877,6 +3902,9 @@  static const struct of_device_id platform_of_match[] = {
 	}, {
 		.compatible = "shelly,sca07010-bfn-lnn",
 		.data = &shelly_sca07010_bfn_lnn,
+	}, {
+		.compatible = "sii,70wvw2t",
+		.data = &sii_70wvw2t,
 	}, {
 		.compatible = "starry,kr070pe2t",
 		.data = &starry_kr070pe2t,