Hi Oliver. On Sun, Jul 11, 2021 at 05:49:29PM +0200, 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 <oliver.graute@xxxxxxxxx> > Reviewed-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > Reviewed-by: Fabio Estevam <festevam@xxxxxxxxx> > --- > > v4: > > - added the datasheet labels > - added Reviewed-by > > v3: > > - added flags > - added delay > > v2: > > - changed bpc to 6 > - set max value of pixelclock > - increased hfront_porch and hback_porch > - dropped connector-type connector_type is mandatory. It will cause a warnign if it is missing. Please re-add. > > adding of bus_format = MEDIA_BUS_FMT_RGB666_1X18 results in wrong colors. > omitting bus_format and using some default is better (Tux Pinguin is colored > fine) Likewise bus_format is mandatory. If default is better than MEDIA_BUS_FMT_RGB666_1X18, then specify whatever is default. > > 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..c63f6a8 100644 > --- a/drivers/gpu/drm/panel/panel-simple.c > +++ b/drivers/gpu/drm/panel/panel-simple.c > @@ -3336,6 +3336,36 @@ 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}, > + .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, > + }, > + .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 */ > + }, > +}; > + > static const struct drm_display_mode sharp_ld_d5116z01b_mode = { > .clock = 168480, > .hdisplay = 1920, > @@ -4222,6 +4252,9 @@ static const struct of_device_id platform_of_match[] = { > .compatible = "satoz,sat050at40h12r2", > .data = &satoz_sat050at40h12r2, > }, { > + .compatible = "sgd,gktw70sdad1sd", compatible needs to be documented - please add to the appropiate .yaml file, or add a new bindings file. Sorry for the push back, but if we do not get this fixed now we will have to revisit it later. Sam