[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a243c18b-7fae-27b5-83ab-755653f1bf3d@axis.com>
Date: Fri, 15 Nov 2024 10:01:32 +0100
From: Stefan Ekenberg <stefan.ekenberg@...s.com>
To: Dmitry Baryshkov <dmitry.baryshkov@...aro.org>
Cc: Andrzej Hajda <andrzej.hajda@...el.com>,
Neil Armstrong <neil.armstrong@...aro.org>, Robert Foss <rfoss@...nel.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Jonas Karlman <jonas@...boo.se>, Jernej Skrabec <jernej.skrabec@...il.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org,
kernel@...s.com
Subject: Re: [PATCH] drm/bridge: adv7533: Reset DSI receiver logic
On 11/15/24 09:10, Dmitry Baryshkov wrote:
> On Wed, Nov 13, 2024 at 08:40:15AM +0100, Stefan Ekenberg wrote:
>> Reset DSI receiver logic during power on. The need for this change was
>> discovered when investigating issue with ADV7535. The symptom of the
>> problem was that ADV7535 continuously outputs a black image. This
>> happened for about 10% of the times that ADV7535 was powered on. The
>> rest of the times the image was as expected.
>>
>> The solution in this patch (placement of reset and sleep time of 200ms)
>> is implemented as outlined by the Analog Devices support team.
>
> Is this reset sequence specific only to adv7535? Is it applicable to
> adv7533? adv7511?
I know that it is not applicable for ADV7511 (that chip doesn't have any
MIPI DSI receiver). It might be applicable for ADV7533 but unfortunately
I don't know. I have only used AD7535 and therefore never tested
anything on ADV7533.
>
>>
>> Signed-off-by: Stefan Ekenberg <stefan.ekenberg@...s.com>
>> ---
>> drivers/gpu/drm/bridge/adv7511/adv7533.c | 9 +++++++++
>> 1 file changed, 9 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/bridge/adv7511/adv7533.c b/drivers/gpu/drm/bridge/adv7511/adv7533.c
>> index 4481489aaf5ebf164313c86cbf3447d2d7914ab9..93085c2b872ed98f4ee394236dc66c568c0e5ccf 100644
>> --- a/drivers/gpu/drm/bridge/adv7511/adv7533.c
>> +++ b/drivers/gpu/drm/bridge/adv7511/adv7533.c
>> @@ -67,6 +67,15 @@ void adv7533_dsi_power_on(struct adv7511 *adv)
>> {
>> struct mipi_dsi_device *dsi = adv->dsi;
>>
>> + /*
>> + * Reset DSI receiver block logic to avoid ADV7535 startup problem.
>> + * Without this reset it sometimes continuously fails to receive
>> + * incoming DSI packets and outputs black image.
>> + */
>> + regmap_write(adv->regmap_cec, 0x26, 0x18);
>> + msleep(200);
>> + regmap_write(adv->regmap_cec, 0x26, 0x38);
>> +
>> if (adv->use_timing_gen)
>> adv7511_dsi_config_timing_gen(adv);
>>
>>
>> ---
>> base-commit: 59b723cd2adbac2a34fc8e12c74ae26ae45bf230
>> change-id: 20241108-adv7533-dsi-reset-488c6fbb5e42
>>
>> Best regards,
>> --
>> Stefan Ekenberg <stefan.ekenberg@...s.com>
>>
>
Powered by blists - more mailing lists