[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20250908061605.76787-2-mike.looijmans@topic.nl>
Date: Mon, 8 Sep 2025 08:15:57 +0200
From: Mike Looijmans <mike.looijmans@...ic.nl>
To: dri-devel@...ts.freedesktop.org
CC: Mike Looijmans <mike.looijmans@...ic.nl>,
Andrzej Hajda <andrzej.hajda@...el.com>,
Conor Dooley <conor+dt@...nel.org>,
David Airlie <airlied@...il.com>,
Jernej Skrabec <jernej.skrabec@...il.com>,
Jonas Karlman <jonas@...boo.se>,
Krzysztof Kozlowski <krzk+dt@...nel.org>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Neil Armstrong <neil.armstrong@...aro.org>,
Rob Herring <robh@...nel.org>,
Robert Foss <rfoss@...nel.org>,
Simona Vetter <simona@...ll.ch>,
Thomas Zimmermann <tzimmermann@...e.de>,
devicetree@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: [PATCH v5 1/2] dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings
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@...ic.nl>
binding
---
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..aad4cc57dfef
--- /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@...ic.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,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,mode:
+ default: source
+
+else:
+ properties:
+ ti,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,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@...ic.nl
W: www.topic.nl
Please consider the environment before printing this e-mail
Powered by blists - more mailing lists