drm/bridge: ti-sn65dsi86: fix REFCLK setting
authorMichael Walle <mwalle@kernel.org>
Thu, 21 Aug 2025 12:23:41 +0000 (14:23 +0200)
committerDouglas Anderson <dianders@chromium.org>
Tue, 2 Sep 2025 16:56:05 +0000 (09:56 -0700)
commitbdd5a14e660062114bdebaef9ad52adf04970a89
treee8248644e0c17457a9b088af9e6b5d7d972801fb
parent304f455b648d68ba47135583b644ee72ac48d544
drm/bridge: ti-sn65dsi86: fix REFCLK setting

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
drivers/gpu/drm/bridge/ti-sn65dsi86.c