[RESEND PATCH v4] drm/panel: simple: add SGD GKTW70SDAD1SD

Sam Ravnborg sam at ravnborg.org
Sun Jul 11 19:40:54 UTC 2021


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 at gmail.com>
> Reviewed-by: Marco Felsch <m.felsch at pengutronix.de>
> Reviewed-by: Fabio Estevam <festevam at gmail.com>
> ---
> 
> 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



More information about the dri-devel mailing list