[PATCH v3] drm/panel: Set max rate for Ilitek ILI9881C

Andrzej Hajda a.hajda at samsung.com
Thu Nov 29 09:28:14 UTC 2018


On 27.11.2018 14:40, Linus Walleij wrote:
> After adding the hs_rate and lp_rate fields to the DSI device
> we need to populate these accordingly so display drivers can
> respect them.
>
> This figure for HS rate comes from the ILI9881C manual, the
> calculation is explained in the comment.
>
> Cc: Daniel Vetter <daniel.vetter at ffwll.ch>
> Cc: Andrzej Hajda <a.hajda at samsung.com>
> Acked-by: Maxime Ripard <maxime.ripard at bootlin.com>
> Signed-off-by: Linus Walleij <linus.walleij at linaro.org>
> ---
> ChangeLov v2->v3:
> - Fix up the HS speed to 275 MHz, as the speed is double
>   data rate.
> ChangeLog v1->v2:
> - Add LP speed after Andrzej's observation.
> - Collect Maxime's ACK (hope it's fine also with the LP speed)
> ---
>  drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 15 +++++++++++++++
>  1 file changed, 15 insertions(+)
>
> diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
> index 3ad4a46c4e94..8c00193c2400 100644
> --- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
> +++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
> @@ -465,6 +465,21 @@ static int ili9881c_dsi_probe(struct mipi_dsi_device *dsi)
>  	dsi->mode_flags = MIPI_DSI_MODE_VIDEO_SYNC_PULSE;
>  	dsi->format = MIPI_DSI_FMT_RGB888;
>  	dsi->lanes = 4;
> +	/*
> +	 * The datasheet (table 39) specifies "limited clock channel speed"
> +	 * for 4 lanes as 550 Mbps per lane for RGB888. As this is 4 bits at
> +	 * the time,


I don't understand the part "As this is 4 bits at the time" ? Where it
came from?

I guess the only calculation should be due to double-data-rate:

hs_rate = 550Mbps / 2BitsPerTick


>  at double data rate the maximum HS frequency should
> +	 * be:
> +	 * 550/4 * 2 = 275 MHz.
> +	 */
> +	dsi->hs_rate = 275000000;
> +	/*
> +	 * Table 42 says: "Length of LP-00, LP-01, LP-10 or LP-11 periods":
> +	 * min 50ns, max 75ns. 1/50ns = max LPM rate = 20.000.000Hz.
> +	 * Since LP transmissions are to periods per bit, this should be


Again:

s/to/two/


Regards

Andrzej


> +	 * 10 MHz.
> +	 */
> +	dsi->lp_rate = 10000000;
>  
>  	return mipi_dsi_attach(dsi);
>  }




More information about the dri-devel mailing list