2021-01-29 19:20:26

by Oliver Graute

[permalink] [raw]
Subject: [PATCH v2] drm/panel: simple: add SGD GKTW70SDAD1SD

Add support for the Solomon Goldentek Display Model: GKTW70SDAD1SD
to panel-simple.

The panel spec from Variscite can be found at:
https://www.variscite.com/wp-content/uploads/2017/12/VLCD-CAP-GLD-RGB.pdf

Signed-off-by: Oliver Graute <[email protected]>
Cc: Marco Felsch <[email protected]>
Cc: Fabio Estevam <[email protected]>
---

v2:

- changed bpc to 6
- set max value of pixelclock
- increased hfront_porch and hback_porch
- dropped connector-type

adding of bus_format = MEDIA_BUS_FMT_RGB666_1X18 results in wrong colors.
omitting bus_format and using some default is good (Tux Pinguin is colored
fine)

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 2be358f..c129a8c 100644
--- a/drivers/gpu/drm/panel/panel-simple.c
+++ b/drivers/gpu/drm/panel/panel-simple.c
@@ -3336,6 +3336,28 @@ static const struct panel_desc satoz_sat050at40h12r2 = {
.connector_type = DRM_MODE_CONNECTOR_LVDS,
};

+static const struct display_timing sgd_gktw70sdad1sd_timing = {
+ .pixelclock = {30000000, 30000000, 40000000},
+ .hactive = { 800, 800, 800},
+ .hfront_porch = {40, 40, 40},
+ .hback_porch = {40, 40, 40},
+ .hsync_len = {48, 48, 48},
+ .vactive = {480, 480, 480},
+ .vfront_porch = {13, 13, 13},
+ .vback_porch = {29, 29, 29},
+ .vsync_len = {3, 3, 3},
+};
+
+static const struct panel_desc sgd_gktw70sdad1sd = {
+ .timings = &sgd_gktw70sdad1sd_timing,
+ .num_timings = 1,
+ .bpc = 6,
+ .size = {
+ .width = 153,
+ .height = 86,
+ },
+};
+
static const struct drm_display_mode sharp_ld_d5116z01b_mode = {
.clock = 168480,
.hdisplay = 1920,
@@ -4222,6 +4244,9 @@ static const struct of_device_id platform_of_match[] = {
.compatible = "satoz,sat050at40h12r2",
.data = &satoz_sat050at40h12r2,
}, {
+ .compatible = "sgd,gktw70sdad1sd",
+ .data = &sgd_gktw70sdad1sd,
+ }, {
.compatible = "sharp,ld-d5116z01b",
.data = &sharp_ld_d5116z01b,
}, {
--
2.7.4


2021-02-01 13:31:31

by Marco Felsch

[permalink] [raw]
Subject: Re: [PATCH v2] drm/panel: simple: add SGD GKTW70SDAD1SD

Hi Oliver,

thanks for the patch :)

On 21-01-29 20:09, Oliver Graute wrote:
> Add support for the Solomon Goldentek Display Model: GKTW70SDAD1SD
> to panel-simple.
>
> The panel spec from Variscite can be found at:
> https://www.variscite.com/wp-content/uploads/2017/12/VLCD-CAP-GLD-RGB.pdf
>
> Signed-off-by: Oliver Graute <[email protected]>
> Cc: Marco Felsch <[email protected]>
> Cc: Fabio Estevam <[email protected]>
> ---
>
> v2:
>
> - changed bpc to 6
> - set max value of pixelclock
> - increased hfront_porch and hback_porch
> - dropped connector-type
>
> adding of bus_format = MEDIA_BUS_FMT_RGB666_1X18 results in wrong colors.
> omitting bus_format and using some default is good (Tux Pinguin is colored
> fine)
>
> 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 2be358f..c129a8c 100644
> --- a/drivers/gpu/drm/panel/panel-simple.c
> +++ b/drivers/gpu/drm/panel/panel-simple.c
> @@ -3336,6 +3336,28 @@ static const struct panel_desc satoz_sat050at40h12r2 = {
> .connector_type = DRM_MODE_CONNECTOR_LVDS,
> };
>
> +static const struct display_timing sgd_gktw70sdad1sd_timing = {
> + .pixelclock = {30000000, 30000000, 40000000},
> + .hactive = { 800, 800, 800},
> + .hfront_porch = {40, 40, 40},
> + .hback_porch = {40, 40, 40},
> + .hsync_len = {48, 48, 48},
> + .vactive = {480, 480, 480},
> + .vfront_porch = {13, 13, 13},
> + .vback_porch = {29, 29, 29},
> + .vsync_len = {3, 3, 3},

Please add also:

.flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,

> +};
> +
> +static const struct panel_desc sgd_gktw70sdad1sd = {
> + .timings = &sgd_gktw70sdad1sd_timing,
> + .num_timings = 1,
> + .bpc = 6,
> + .size = {
> + .width = 153,
> + .height = 86,
> + },

and:

.delay = {
.prepare = 20 + 20 + 10 + 10, /* T0 + T2 + T3 + T4 */
.enable = 50, /* T5 */
.disable = 50, /* T5 */
.unprepare = 10 + 10 + 20 + 20, /* T4 + T3 + T2 + T0 */
};

Regards,
Marco


> +};

> +
> static const struct drm_display_mode sharp_ld_d5116z01b_mode = {
> .clock = 168480,
> .hdisplay = 1920,
> @@ -4222,6 +4244,9 @@ static const struct of_device_id platform_of_match[] = {
> .compatible = "satoz,sat050at40h12r2",
> .data = &satoz_sat050at40h12r2,
> }, {
> + .compatible = "sgd,gktw70sdad1sd",
> + .data = &sgd_gktw70sdad1sd,
> + }, {
> .compatible = "sharp,ld-d5116z01b",
> .data = &sharp_ld_d5116z01b,
> }, {
> --
> 2.7.4
>
>

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

2021-02-01 19:15:09

by Oliver Graute

[permalink] [raw]
Subject: Re: [PATCH v2] drm/panel: simple: add SGD GKTW70SDAD1SD

On 01/02/21, Marco Felsch wrote:
> Hi Oliver,
>
> thanks for the patch :)
>
> On 21-01-29 20:09, Oliver Graute wrote:
> > Add support for the Solomon Goldentek Display Model: GKTW70SDAD1SD
> > to panel-simple.
> >
> > The panel spec from Variscite can be found at:
> > https://www.variscite.com/wp-content/uploads/2017/12/VLCD-CAP-GLD-RGB.pdf
> >
> > Signed-off-by: Oliver Graute <[email protected]>
> > Cc: Marco Felsch <[email protected]>
> > Cc: Fabio Estevam <[email protected]>
> > ---
> >
> > v2:
> >
> > - changed bpc to 6
> > - set max value of pixelclock
> > - increased hfront_porch and hback_porch
> > - dropped connector-type
> >
> > adding of bus_format = MEDIA_BUS_FMT_RGB666_1X18 results in wrong colors.
> > omitting bus_format and using some default is good (Tux Pinguin is colored
> > fine)
> >
> > 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 2be358f..c129a8c 100644
> > --- a/drivers/gpu/drm/panel/panel-simple.c
> > +++ b/drivers/gpu/drm/panel/panel-simple.c
> > @@ -3336,6 +3336,28 @@ static const struct panel_desc satoz_sat050at40h12r2 = {
> > .connector_type = DRM_MODE_CONNECTOR_LVDS,
> > };
> >
> > +static const struct display_timing sgd_gktw70sdad1sd_timing = {
> > + .pixelclock = {30000000, 30000000, 40000000},
> > + .hactive = { 800, 800, 800},
> > + .hfront_porch = {40, 40, 40},
> > + .hback_porch = {40, 40, 40},
> > + .hsync_len = {48, 48, 48},
> > + .vactive = {480, 480, 480},
> > + .vfront_porch = {13, 13, 13},
> > + .vback_porch = {29, 29, 29},
> > + .vsync_len = {3, 3, 3},
>
> Please add also:
>
> .flags = DISPLAY_FLAGS_HSYNC_LOW | DISPLAY_FLAGS_VSYNC_LOW |
> DISPLAY_FLAGS_DE_HIGH | DISPLAY_FLAGS_PIXDATA_NEGEDGE,
ok will do

>
> > +};
> > +
> > +static const struct panel_desc sgd_gktw70sdad1sd = {
> > + .timings = &sgd_gktw70sdad1sd_timing,
> > + .num_timings = 1,
> > + .bpc = 6,
> > + .size = {
> > + .width = 153,
> > + .height = 86,
> > + },
>
> and:
>
> .delay = {
> .prepare = 20 + 20 + 10 + 10, /* T0 + T2 + T3 + T4 */
> .enable = 50, /* T5 */
> .disable = 50, /* T5 */
> .unprepare = 10 + 10 + 20 + 20, /* T4 + T3 + T2 + T0 */
> };

ok will do

thx for your review.

Best regards,

Oliver