From: Maxime Ripard <mripard@kernel.org>
To: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
Cc: Marc Gonzalez <mgonzalez@freebox.fr>,
Conor Dooley <conor+dt@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Rob Herring <robh@kernel.org>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Robert Foss <rfoss@kernel.org>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Jonas Karlman <jonas@kwiboo.se>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>,
Daniel Vetter <daniel@ffwll.ch>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>,
dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-arm-msm@vger.kernel.org, Arnaud Vrac <avrac@freebox.fr>,
Pierre-Hugues Husson <phhusson@freebox.fr>
Subject: Re: [PATCH v3 1/2] dt-bindings: display: bridge: add TI TDP158
Date: Mon, 15 Jul 2024 16:42:36 +0200 [thread overview]
Message-ID: <20240715-shiny-enigmatic-firefly-2a6dec@houat> (raw)
In-Reply-To: <pp3rc5zob3xeghlatw4vnpzplc4yjpjadkea465zmhft55dyl5@3cpoc2zovftv>
[-- Attachment #1: Type: text/plain, Size: 5140 bytes --]
On Mon, Jul 08, 2024 at 11:29:46PM GMT, Dmitry Baryshkov wrote:
> On Mon, Jul 08, 2024 at 04:59:23PM GMT, Maxime Ripard wrote:
> > On Mon, Jul 01, 2024 at 05:36:18PM GMT, Marc Gonzalez wrote:
> > > On 01/07/2024 15:50, Maxime Ripard wrote:
> > >
> > > > On Thu, Jun 27, 2024 at 01:13:03PM GMT, Marc Gonzalez wrote:
> > > >
> > > >> TDP158 is an AC-coupled DVI / HDMI to TMDS level shifting Redriver.
> > > >> It supports DVI 1.0, HDMI 1.4b and 2.0b.
> > > >> It supports 4 TMDS channels, HPD, and a DDC interface.
> > > >> It supports dual power supply rails (1.1V on VDD, 3.3V on VCC)
> > > >> for power reduction. Several methods of power management are
> > > >> implemented to reduce overall power consumption.
> > > >> It supports fixed receiver EQ gain using I2C or pin strap to
> > > >> compensate for different lengths input cable or board traces.
> > > >>
> > > >> Features
> > > >>
> > > >> - AC-coupled TMDS or DisplayPort dual-mode physical layer input
> > > >> to HDMI 2.0b TMDS physical layer output supporting up to 6Gbps
> > > >> data rate, compatible with HDMI 2.0b electrical parameters
> > > >> - DisplayPort dual-mode standard version 1.1
> > > >> - Programmable fixed receiver equalizer up to 15.5dB
> > > >> - Global or independent high speed lane control, pre-emphasis
> > > >> and transmit swing, and slew rate control
> > > >> - I2C or pin strap programmable
> > > >> - Configurable as a DisplayPort redriver through I2C
> > > >> - Full lane swap on main lanes
> > > >> - Low power consumption (200 mW at 6Gbps, 8 mW in shutdown)
> > > >>
> > > >> https://www.ti.com/lit/ds/symlink/tdp158.pdf
> > > >>
> > > >> Signed-off-by: Marc Gonzalez <mgonzalez@freebox.fr>
> > > >> ---
> > > >> .../bindings/display/bridge/ti,tdp158.yaml | 51 ++++++++++++++++++++++
> > > >> 1 file changed, 51 insertions(+)
> > > >>
> > > >> diff --git a/Documentation/devicetree/bindings/display/bridge/ti,tdp158.yaml b/Documentation/devicetree/bindings/display/bridge/ti,tdp158.yaml
> > > >> new file mode 100644
> > > >> index 0000000000000..21c8585c3bb2d
> > > >> --- /dev/null
> > > >> +++ b/Documentation/devicetree/bindings/display/bridge/ti,tdp158.yaml
> > > >> @@ -0,0 +1,51 @@
> > > >> +# SPDX-License-Identifier: GPL-2.0-only
> > > >> +%YAML 1.2
> > > >> +---
> > > >> +$id: http://devicetree.org/schemas/display/bridge/ti,tdp158.yaml#
> > > >> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> > > >> +
> > > >> +title: TI TDP158 HDMI to TMDS Redriver
> > > >> +
> > > >> +maintainers:
> > > >> + - Arnaud Vrac <avrac@freebox.fr>
> > > >> + - Pierre-Hugues Husson <phhusson@freebox.fr>
> > > >> +
> > > >> +properties:
> > > >> + compatible:
> > > >> + const: ti,tdp158
> > > >> +
> > > >> + reg:
> > > >> + description: I2C address of the device
> > > >> +
> > > >> + enable-gpios:
> > > >> + description: GPIO controlling bridge enable
> > > >> +
> > > >> + vcc-supply:
> > > >> + description: Power supply 3.3V
> > > >> +
> > > >> + vdd-supply:
> > > >> + description: Power supply 1.1V
> > > >> +
> > > >> + ports:
> > > >> + $ref: /schemas/graph.yaml#/properties/ports
> > > >> +
> > > >> + properties:
> > > >> + port@0:
> > > >> + $ref: /schemas/graph.yaml#/properties/port
> > > >> + description: Bridge input
> > > >> +
> > > >> + port@1:
> > > >> + $ref: /schemas/graph.yaml#/properties/port
> > > >> + description: Bridge output
> > > >> +
> > > >> + required:
> > > >> + - port@0
> > > >> + - port@1
> > > >
> > > > The device supports DVI, HDMI or DP input, with various requirements and
> > > > capabilities depending on the input. Your binding doesn't address that.
> > > >
> > > > Similarly, it can do lane-swapping, so we should probably have a
> > > > property to describe what mapping we want to use.
> > > >
> > > > The i2c register access (and the whole behaviour of the device) is
> > > > constrained on the I2C_EN pin status, and you can't read it from the
> > > > device, so it's also something we need to have in the DT.
> > >
> > > We are using the device in its default configuration.
> > > (Power on via OE, then it works as expected)
> >
> > I know, but that doesn't really matter for a binding.
> >
> > > Can we leave any additional properties to be defined by whomever needs
> > > them in the future?
> >
> > If you can guarantee that doing so would be backward compatible, sure.
> > But that means being able to answer those questions with a reasonable
> > plan.
>
> I think proposed bindings are generic enough to cover other possible
> usecases in future.
I don't think it is. The current binding is for a I2C device that
shouldn't be accessed through I2C.
It's working for now because the driver doesn't do any access, so it's
all great, but as soon as we add support for the other case, then we'll
have to add a property that states that while it's an i2c device, it
shouldn't be accessed.
And adding such a property is a compatibility-breaking change.
Maxime
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 273 bytes --]
next prev parent reply other threads:[~2024-07-15 14:42 UTC|newest]
Thread overview: 34+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-27 11:13 [PATCH v3 0/2] Basic support for TI TDP158 Marc Gonzalez
2024-06-27 11:13 ` [PATCH v3 1/2] dt-bindings: display: bridge: add " Marc Gonzalez
2024-06-27 16:25 ` Conor Dooley
2024-06-27 16:45 ` Marc Gonzalez
2024-06-28 7:36 ` Krzysztof Kozlowski
2024-06-28 7:49 ` Dmitry Baryshkov
2024-07-01 14:31 ` Marc Gonzalez
2024-07-23 15:17 ` Marc Gonzalez
2024-07-23 19:57 ` Conor Dooley
2024-07-24 14:03 ` Maxime Ripard
2024-07-01 13:50 ` Maxime Ripard
2024-07-01 15:36 ` Marc Gonzalez
2024-07-08 14:59 ` Maxime Ripard
2024-07-08 20:29 ` Dmitry Baryshkov
2024-07-15 14:42 ` Maxime Ripard [this message]
2024-07-15 16:38 ` Dmitry Baryshkov
2024-07-16 9:24 ` Maxime Ripard
2024-07-16 10:59 ` Dmitry Baryshkov
2024-07-24 17:25 ` Marc Gonzalez
2024-07-24 17:34 ` Marc Gonzalez
2024-07-24 17:18 ` Marc Gonzalez
2024-07-24 17:25 ` Dmitry Baryshkov
2024-07-24 17:28 ` Marc Gonzalez
2024-07-30 8:44 ` Maxime Ripard
2024-07-04 17:04 ` Marc Gonzalez
2024-07-15 14:40 ` Maxime Ripard
2024-07-24 17:59 ` Marc Gonzalez
2024-07-30 8:27 ` Maxime Ripard
2024-07-30 8:46 ` Dmitry Baryshkov
2024-07-30 9:30 ` Maxime Ripard
2024-07-30 9:44 ` Marc Gonzalez
2024-07-30 10:38 ` Dmitry Baryshkov
2024-06-27 11:13 ` [PATCH v3 2/2] drm/bridge: add support for " Marc Gonzalez
2024-07-29 12:54 ` [PATCH v3 0/2] Basic " Marc Gonzalez
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240715-shiny-enigmatic-firefly-2a6dec@houat \
--to=mripard@kernel.org \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=avrac@freebox.fr \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dmitry.baryshkov@linaro.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=krzk+dt@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linux-arm-msm@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mgonzalez@freebox.fr \
--cc=neil.armstrong@linaro.org \
--cc=phhusson@freebox.fr \
--cc=rfoss@kernel.org \
--cc=robh@kernel.org \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).