[PATCH v1] drm/bridge: simple-bridge: Add support for TI TDP158

Dmitry Baryshkov dmitry.baryshkov at linaro.org
Tue May 28 15:02:34 UTC 2024


On Tue, 28 May 2024 at 18:00, Maxime Ripard <mripard at kernel.org> wrote:
>
> On Tue, May 28, 2024 at 04:50:10PM GMT, Dmitry Baryshkov wrote:
> > On Tue, May 28, 2024 at 11:17:56AM +0200, Maxime Ripard wrote:
> > > On Tue, May 28, 2024 at 10:05:50AM GMT, Arnaud Vrac wrote:
> > > > On 28/05/2024 09:43, Maxime Ripard wrote:
> > > > > Hi,
> > > > >
> > > > > On Mon, May 27, 2024 at 06:03:56PM GMT, Marc Gonzalez wrote:
> > > > > > From: Arnaud Vrac <avrac at freebox.fr>
> > > > > >
> > > > > > The TI TDP158 is an AC-Coupled HDMI signal to TMDS Redriver supporting
> > > > > > DVI 1.0 and HDMI 1.4b and 2.0b output signals.
> > > > > >
> > > > > > Since it's an I2C-programmable bridge, it could have a proper driver,
> > > > > > but the default settings work fine, thus simple bridge is sufficient.
> > > > >
> > > > > No it doesn't. That bridge supports HDMI 2.0 which means you'll need to
> > > > > change the TMDS clock ratio when programming a TMDS character rate
> > > > > higher than 340MHz. And you'll need hotplug support to deal with it
> > > > > properly too.
> > > > >
> > > > > So sorry, you need a real driver there.
> > > >
> > > > Hello, this is an HDMI redriver, which simply cleans up the HDMI
> > > > signal, so no programming is needed to support HDMI 2.0.
> > >
> > > I mean, if I'm to trust the datasheet, it is more complicated than that.
> > > It snoops the DDC bus so it can update the TMDS clock ratio bit if it's
> > > sent on its input side, but that wouldn't happen with DP for example.
> >
> > If I understand correctly, this chip can work in two modes: dummy and
> > I2C-programmed. In the former case it is fully transparent, including
> > HPD passthrough, it doesn't require any additional programming, just
> > Vcc, Vdd and pin straps, etc.  And the second mode is a 'brainy' one,
> > when the chip is fully controlled over I2C.
>
> Right, and like I said, the situation is more complicated than "it just
> does passthrough" like simple-bridge does.
>
> > From the Linux standpoint these two modes will use single compat string,
> > but two distinct drivers: for the former mode is is enough to use
> > simple-bridge (fixed to support two supplies), while the latter one
> > needs a proper I2C driver.
> >
> > Does that solve your concern?
>
> We need to be careful here: if there's two drivers with the same
> compatible and bus, both will be probed.

I was thinking about i2c_driver and platform_driver, so there should
have been no conflict. But Arnaud wrote on IRC that on this device the
bridge is connected over I2C. This rules out simple-bridge anyway.

> So we need to take it into
> account when designing the binding.
>
> Maxime



-- 
With best wishes
Dmitry


More information about the dri-devel mailing list