* [PATCH v2 0/2] drm: bridge: Add TI tmds181 and sn65dp159 driver (RFC) [not found] <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.926dbb5e-6af2-4dff-910b-4ccd35fd5ca1@emailsignatures365.codetwo.com> @ 2025-08-19 5:31 ` Mike Looijmans [not found] ` <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.f1878466-8551-4b5d-bf2e-1706e377d436@emailsignatures365.codetwo.com> 0 siblings, 1 reply; 5+ messages in thread From: Mike Looijmans @ 2025-08-19 5:31 UTC (permalink / raw) To: dri-devel Cc: Mike Looijmans, Andrzej Hajda, Conor Dooley, David Airlie, Jernej Skrabec, Jonas Karlman, Krzysztof Kozlowski, Laurent Pinchart, Maarten Lankhorst, Maxime Ripard, Neil Armstrong, Rob Herring, Robert Foss, Simona Vetter, Thomas Zimmermann, devicetree, linux-kernel In the past I've seen (and contributed to) hacks that model the chips as phy or even (really!) clock drivers. Since the chip usually sits between a signal that is (almost) HDMI and a HDMI connector, I decided to stop lying and write it as a DRM bridge driver. Our experience with these chips is that they work best under manual control enabling them only once the signal is active. At low resolutions (under 4k), the optimal setting is usually to only use redriver mode. Setting the termination to 150-300 Ohms improves EMC performance at lower resolutions, hence the driver enables 75-150 Ohms for HDMI2 modes and defaults to 150-300 Ohm termination for other modes. Changes in v2: Document driver specific bindings like slew-rate and threshold Use atomic_enable/disable Use #defines for bit fields in registers Allow HDMI 2 compliance Filter modes on clock range Use cross-over pixel frequency instead of manual overides Devicetree bindings according to standards Mike Looijmans (2): dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings drm: bridge: Add TI tmds181 and sn65dp159 driver .../bindings/display/bridge/ti,tmds181.yaml | 143 +++++ drivers/gpu/drm/bridge/Kconfig | 11 + drivers/gpu/drm/bridge/Makefile | 1 + drivers/gpu/drm/bridge/ti-tmds181.c | 561 ++++++++++++++++++ 4 files changed, 716 insertions(+) create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml create mode 100644 drivers/gpu/drm/bridge/ti-tmds181.c -- 2.43.0 base-commit: 53e760d8949895390e256e723e7ee46618310361 branch: drm-ti-tmds181 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 ^ permalink raw reply [flat|nested] 5+ messages in thread
[parent not found: <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.f1878466-8551-4b5d-bf2e-1706e377d436@emailsignatures365.codetwo.com>]
* [PATCH v2 1/2] dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings [not found] ` <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.f1878466-8551-4b5d-bf2e-1706e377d436@emailsignatures365.codetwo.com> @ 2025-08-19 5:31 ` Mike Looijmans 2025-08-19 6:44 ` Rob Herring (Arm) 2025-08-19 7:03 ` Krzysztof Kozlowski 0 siblings, 2 replies; 5+ messages in thread From: Mike Looijmans @ 2025-08-19 5:31 UTC (permalink / raw) To: dri-devel Cc: Mike Looijmans, Andrzej Hajda, Conor Dooley, David Airlie, Jernej Skrabec, Jonas Karlman, Krzysztof Kozlowski, Laurent Pinchart, Maarten Lankhorst, Maxime Ripard, Neil Armstrong, Rob Herring, Robert Foss, Simona Vetter, Thomas Zimmermann, devicetree, linux-kernel Add DT binding document for TI TMDS181 and SN65DP159 HDMI retimers. Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> --- Changes in v2: Document driver specific bindings like slew-rate and threshold .../bindings/display/bridge/ti,tmds181.yaml | 143 ++++++++++++++++++ 1 file changed, 143 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..816bea54846f --- /dev/null +++ b/Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml @@ -0,0 +1,143 @@ +# 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/TMDS181 + +properties: + compatible: + enum: + - ti,tmds181 + - ti,sn65dp159 + + reg: + enum: + - 0x5b + - 0x5c + - 0x5d + - 0x5e + + oe-gpios: + maxItems: 1 + description: GPIO specifier for OE pin (active high). + + 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,source-mode: + type: boolean + description: + Force chip to operate in "source" mode. Allows to use + a TMDS181 chip (which defaults to sink) as cable driver. + + ti,sink-mode: + type: boolean + description: + Force chip to operate in "sink" mode. Allows to use + a DP159 chip (defaults to source) for incoming signals. + + 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. + + ti,dvi-mode: + type: boolean + description: Makes the DP159 chip operate in DVI mode. + + ti,slew-rate: + minimum: 0 + maximum: 3 + default: 3 + description: Set slew rate, 0 is slowest, 3 is fastest. + + ti,disable-equalizer: + type: boolean + description: Disable the equalizer (to save power). + + ti,adaptive-equalizer: + type: boolean + description: Set the equalizer to adaptive mode. + +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"; + reg = <0x5b>; + + oe-gpios = <&gpio2 1 GPIO_ACTIVE_HIGH>; + + 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 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings 2025-08-19 5:31 ` [PATCH v2 1/2] dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings Mike Looijmans @ 2025-08-19 6:44 ` Rob Herring (Arm) 2025-08-19 7:03 ` Krzysztof Kozlowski 1 sibling, 0 replies; 5+ messages in thread From: Rob Herring (Arm) @ 2025-08-19 6:44 UTC (permalink / raw) To: Mike Looijmans Cc: Krzysztof Kozlowski, Conor Dooley, Laurent Pinchart, Jonas Karlman, dri-devel, Andrzej Hajda, Neil Armstrong, Robert Foss, Simona Vetter, Jernej Skrabec, linux-kernel, Thomas Zimmermann, Maxime Ripard, David Airlie, devicetree, Maarten Lankhorst On Tue, 19 Aug 2025 07:31:14 +0200, Mike Looijmans wrote: > Add DT binding document for TI TMDS181 and SN65DP159 HDMI retimers. > > Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> > > --- > > Changes in v2: > Document driver specific bindings like slew-rate and threshold > > .../bindings/display/bridge/ti,tmds181.yaml | 143 ++++++++++++++++++ > 1 file changed, 143 insertions(+) > create mode 100644 Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml: ti,slew-rate: missing type definition doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250819053205.9976-2-mike.looijmans@topic.nl The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema. ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings 2025-08-19 5:31 ` [PATCH v2 1/2] dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings Mike Looijmans 2025-08-19 6:44 ` Rob Herring (Arm) @ 2025-08-19 7:03 ` Krzysztof Kozlowski 2025-08-19 7:40 ` Mike Looijmans 1 sibling, 1 reply; 5+ messages in thread From: Krzysztof Kozlowski @ 2025-08-19 7:03 UTC (permalink / raw) To: Mike Looijmans Cc: dri-devel, Andrzej Hajda, Conor Dooley, David Airlie, Jernej Skrabec, Jonas Karlman, Krzysztof Kozlowski, Laurent Pinchart, Maarten Lankhorst, Maxime Ripard, Neil Armstrong, Rob Herring, Robert Foss, Simona Vetter, Thomas Zimmermann, devicetree, linux-kernel On Tue, Aug 19, 2025 at 07:31:14AM +0200, Mike Looijmans wrote: > Add DT binding document for TI TMDS181 and SN65DP159 HDMI retimers. > > Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> > > --- > > Changes in v2: > Document driver specific bindings like slew-rate and threshold > > .../bindings/display/bridge/ti,tmds181.yaml | 143 ++++++++++++++++++ > 1 file changed, 143 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..816bea54846f > --- /dev/null > +++ b/Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml > @@ -0,0 +1,143 @@ > +# 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/TMDS181 > + > +properties: > + compatible: > + enum: > + - ti,tmds181 > + - ti,sn65dp159 Nothing improved, you did not respond to review, you did not say why it is not implemented in changelog. You did not explain that choice in commit msg, either. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH v2 1/2] dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings 2025-08-19 7:03 ` Krzysztof Kozlowski @ 2025-08-19 7:40 ` Mike Looijmans 0 siblings, 0 replies; 5+ messages in thread From: Mike Looijmans @ 2025-08-19 7:40 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: dri-devel, Andrzej Hajda, Conor Dooley, David Airlie, Jernej Skrabec, Jonas Karlman, Krzysztof Kozlowski, Laurent Pinchart, Maarten Lankhorst, Maxime Ripard, Neil Armstrong, Rob Herring, Robert Foss, Simona Vetter, Thomas Zimmermann, devicetree, linux-kernel On 19-08-2025 09:03, Krzysztof Kozlowski wrote: > On Tue, Aug 19, 2025 at 07:31:14AM +0200, Mike Looijmans wrote: >> Add DT binding document for TI TMDS181 and SN65DP159 HDMI retimers. >> >> Signed-off-by: Mike Looijmans <mike.looijmans@topic.nl> >> >> --- >> >> Changes in v2: >> Document driver specific bindings like slew-rate and threshold >> >> .../bindings/display/bridge/ti,tmds181.yaml | 143 ++++++++++++++++++ >> 1 file changed, 143 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..816bea54846f >> --- /dev/null >> +++ b/Documentation/devicetree/bindings/display/bridge/ti,tmds181.yaml >> @@ -0,0 +1,143 @@ >> +# 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/TMDS181 >> + >> +properties: >> + compatible: >> + enum: >> + - ti,tmds181 >> + - ti,sn65dp159 > Nothing improved, you did not respond to review, you did not say why it > is not implemented in changelog. You did not explain that choice in > commit msg, either. Apologies, my bad. I totally forgot. > > Best regards, > Krzysztof -- Mike Looijmans ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2025-08-19 7:40 UTC | newest] Thread overview: 5+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- [not found] <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.926dbb5e-6af2-4dff-910b-4ccd35fd5ca1@emailsignatures365.codetwo.com> 2025-08-19 5:31 ` [PATCH v2 0/2] drm: bridge: Add TI tmds181 and sn65dp159 driver (RFC) Mike Looijmans [not found] ` <1b153bce-a66a-45ee-a5c6-963ea6fb1c82.949ef384-8293-46b8-903f-40a477c056ae.f1878466-8551-4b5d-bf2e-1706e377d436@emailsignatures365.codetwo.com> 2025-08-19 5:31 ` [PATCH v2 1/2] dt-bindings: drm/bridge: ti-tmds181: Add TI TMDS181 and SN65DP159 bindings Mike Looijmans 2025-08-19 6:44 ` Rob Herring (Arm) 2025-08-19 7:03 ` Krzysztof Kozlowski 2025-08-19 7:40 ` Mike Looijmans
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).