From: Mike Looijmans <mike.looijmans@topic.nl>
To: dri-devel@lists.freedesktop.org
Cc: Mike Looijmans <mike.looijmans@topic.nl>,
Rob Herring <robh@kernel.org>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Conor Dooley <conor+dt@kernel.org>,
David Airlie <airlied@gmail.com>,
Jernej Skrabec <jernej.skrabec@gmail.com>,
Jonas Karlman <jonas@kwiboo.se>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Neil Armstrong <neil.armstrong@linaro.org>,
Robert Foss <rfoss@kernel.org>, Simona Vetter <simona@ffwll.ch>,
Thomas Zimmermann <tzimmermann@suse.de>,
devicetree@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: [PATCH v7 1/2] dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings
Date: Mon, 13 Oct 2025 16:36:49 +0200 [thread overview]
Message-ID: <20251013143658.25243-2-mike.looijmans@topic.nl> (raw)
In-Reply-To: <20251013143658.25243-1-mike.looijmans@topic.nl>
Add DT binding document for TI TMDS181 and SN65DP159 HDMI retimers.
The two chips have similar register maps, but different applications
(source vs. sink).
Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl>
Reviewed-by: Rob Herring (Arm) <robh@kernel.org>
---
(no changes since v6)
Changes in v6:
Rename ti,mode to ti,retimer-mode
Changes in v5:
ti,equalizer and ti,mode changed to enum
Rename ti,slew-rate to slew-rate
Make properties conditional for DP159/TMDS181
Remove ti,dvi-mode (always set to avoid conflict)
Changes in v4:
Use fallback compatible
Changes in v3:
Fix duplicate links
Add vcc-supply and vdd-supply
Fix missing type for ti,slew-rate
Changes in v2:
Document driver specific bindings like slew-rate and threshold
.../bindings/display/bridge/ti,tmds181.yaml | 170 ++++++++++++++++++
1 file changed, 170 insertions(+)
create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml
diff --git a/Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml b/Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml
new file mode 100644
index 000000000000..9b23221634bb
--- /dev/null
+++ b/Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml
@@ -0,0 +1,170 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/display/bridge/ti,tmds181.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: TMDS181 and SN65DP159 HDMI retimer/redriver chips
+
+maintainers:
+ - Mike Looijmans <mike.looijmans@topic.nl>
+
+description: |
+ Texas Instruments TMDS181 and SN65DP159 retimer and redriver chips.
+ https://www.ti.com/product/TMDS181
+ https://www.ti.com/product/SN65DP159
+ When I2C control is enabled, various pin strapping options like equalizer and
+ slew-rate are unavailable. These can be configured through I2C using the
+ properties defined here.
+ A common application for these chips is to convert AC coupled serdes outputs
+ from an FPGA or SoC into HDMI compliant signals.
+
+properties:
+ compatible:
+ oneOf:
+ - const: ti,tmds181
+ - items:
+ - const: ti,sn65dp159
+ - const: ti,tmds181
+
+ reg:
+ enum:
+ - 0x5b
+ - 0x5c
+ - 0x5d
+ - 0x5e
+
+ reset-gpios:
+ maxItems: 1
+ description: GPIO specifier for OE pin which acts as active low reset.
+
+ vdd-supply:
+ description: Core power supply, 1.1V
+
+ vcc-supply:
+ description: IO power supply, 3.3V
+
+ ports:
+ $ref: /schemas/graph.yaml#/properties/ports
+
+ properties:
+ port@0:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: Video port for HDMI (ish) input
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ port@1:
+ $ref: /schemas/graph.yaml#/$defs/port-base
+ unevaluatedProperties: false
+ description: Video port for HDMI output (panel or bridge)
+
+ properties:
+ endpoint:
+ $ref: /schemas/media/video-interfaces.yaml#
+ unevaluatedProperties: false
+
+ required:
+ - port@0
+ - port@1
+
+ ti,retimer-mode:
+ enum:
+ - source
+ - sink
+ description:
+ Force chip to operate in "source" or "sink" mode.
+
+ ti,retimer-threshold-hz:
+ minimum: 25000000
+ maximum: 600000000
+ default: 200000000
+ description:
+ Cross-over point. Up until this pixel clock frequency the chip remains in
+ the low-power redriver mode. Above the threshold the chip should operate
+ in retimer mode.
+
+ slew-rate:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ minimum: 0
+ maximum: 3
+ default: 3
+ description: Set slew rate, 0 is slowest, 3 is fastest.
+
+ ti,equalizer:
+ enum:
+ - adaptive
+ - disabled
+ - fixed
+ default: adaptive
+ description: Configure the equalizer
+
+if:
+ properties:
+ compatible:
+ contains:
+ const: ti,sn65dp159
+
+then:
+ properties:
+ ti,retimer-mode:
+ default: source
+
+else:
+ properties:
+ ti,retimer-mode:
+ default: sink
+ slew-rate: false
+
+required:
+ - compatible
+ - reg
+ - ports
+
+additionalProperties: false
+
+examples:
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+
+ i2c {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ bridge@5b {
+ compatible = "ti,sn65dp159", "ti,tmds181";
+ reg = <0x5b>;
+ vdd-supply = <&vcc_1v1_reg>;
+ vcc-supply = <&vcc_3v3_reg>;
+ reset-gpios = <&gpio2 1 GPIO_ACTIVE_LOW>;
+ slew-rate = <2>;
+ ti,retimer-threshold-hz = <350000000>;
+ ti,retimer-mode = "source";
+ ti,equalizer = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ endpoint {
+ remote-endpoint = <&encoder_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+
+ endpoint {
+ remote-endpoint = <&hdmi_connector_in>;
+ };
+ };
+ };
+ };
+ };
--
2.43.0
Met vriendelijke groet / kind regards,
Mike Looijmans
System Expert
TOPIC Embedded Products B.V.
Materiaalweg 4, 5681 RJ Best
The Netherlands
T: +31 (0) 499 33 69 69
E: mike.looijmans@topic.nl
W: www.topic.nl
Please consider the environment before printing this e-mail
prev parent reply other threads:[~2025-10-13 14:37 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.838056b5-4602-4059-85b7-fe97b8a79b86@emailsignatures365.codetwo.com>
2025-10-13 14:36 ` [PATCH v7 0/2] drm: bridge: Add TI tmds181 and sn65dp159 driver Mike Looijmans
[not found] ` <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.a4ff037a-0de3-4531-a2a7-8d13aa9ee036@emailsignatures365.codetwo.com>
2025-10-13 14:36 ` Mike Looijmans [this message]
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=20251013143658.25243-2-mike.looijmans@topic.nl \
--to=mike.looijmans@topic.nl \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=krzk+dt@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=rfoss@kernel.org \
--cc=robh@kernel.org \
--cc=simona@ffwll.ch \
--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).