]> 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:58:25 +0000 (18:58 +0200)
commitbeec8f807ecc288fe4dbeee4decdf7f4609418dc
tree9473dea72040f9c64f3a571d91ce581ad2deb9fd
parentd0f379279cd8499545bcf721b93c58f0a1b8c05e
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