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>
---
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
© 2016 - 2025 Red Hat, Inc.