]> git.ipfire.org Git - thirdparty/kernel/stable.git/commit
drm/bridge: ti-sn65dsi86: fix REFCLK setting
authorMichael Walle <mwalle@kernel.org>
Thu, 21 Aug 2025 12:23:41 +0000 (14:23 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 9 Sep 2025 16:54:22 +0000 (18:54 +0200)
commit785f72d1f8d800a6adba3402a88b7d7f37c98638
tree8f2e32c0491608aaddb107d586830c9dd1541bd5
parent7b3d508b3340cf9774afe118c87a5c033dc849b9
drm/bridge: ti-sn65dsi86: fix REFCLK setting

[ Upstream commit bdd5a14e660062114bdebaef9ad52adf04970a89 ]

The bridge has three bootstrap pins which are sampled to determine the
frequency of the external reference clock. The driver will also
(over)write that setting. But it seems this is racy after the bridge is
enabled. It was observed that although the driver write the correct
value (by sniffing on the I2C bus), the register has the wrong value.
The datasheet states that the GPIO lines have to be stable for at least
5us after asserting the EN signal. Thus, there seems to be some logic
which samples the GPIO lines and this logic appears to overwrite the
register value which was set by the driver. Waiting 20us after
asserting the EN line resolves this issue.

Fixes: a095f15c00e2 ("drm/bridge: add support for sn65dsi86 bridge driver")
Signed-off-by: Michael Walle <mwalle@kernel.org>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Douglas Anderson <dianders@chromium.org>
Link: https://lore.kernel.org/r/20250821122341.1257286-1-mwalle@kernel.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpu/drm/bridge/ti-sn65dsi86.c