[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <13cbad78-26bd-4dd2-98f0-34bdd409203f@topic.nl>
Date: Mon, 13 Oct 2025 16:32:35 +0200
From: Mike Looijmans <mike.looijmans@...ic.nl>
To: Dmitry Baryshkov <dmitry.baryshkov@....qualcomm.com>
CC: dri-devel@...ts.freedesktop.org, Andrzej Hajda <andrzej.hajda@...el.com>,
David Airlie <airlied@...il.com>, Jernej Skrabec <jernej.skrabec@...il.com>,
Jonas Karlman <jonas@...boo.se>,
Laurent Pinchart <Laurent.pinchart@...asonboard.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
Maxime Ripard <mripard@...nel.org>,
Neil Armstrong <neil.armstrong@...aro.org>, Robert Foss <rfoss@...nel.org>,
Simona Vetter <simona@...ll.ch>, Thomas Zimmermann <tzimmermann@...e.de>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH v6 2/2] drm: bridge: Add TI tmds181 and sn65dp159 driver
On 9/25/25 05:51, Dmitry Baryshkov wrote:
> On Mon, Sep 22, 2025 at 02:18:45PM +0200, Mike Looijmans wrote:
>> The tmds181 and sn65dp159 are "retimers" and hence can be considered
>> HDMI-to-HDMI bridges. Typical usage is to convert the output of an
>> FPGA into a valid HDMI signal, and it will typically be inserted
>> between an encoder and hdmi-connector.
>>
>> Signed-off-by: Mike Looijmans <mike.looijmans@...ic.nl>
>> ---
>>
>> Changes in v6:
>> Add DRM_DISPLAY_HDMI_HELPER to Kconfig
>> Change "ti,mode" to "ti,retimer-mode"
>>
>> Changes in v5:
>> Really added vcc/vdd regulator support
>> "oe" gpio is now "reset" (reversed logic)
>> devicetree enums ti,equalizer and ti,mode
>> Always disable HDMI_SEL (formerly "dvi-mode")
>>
>> Changes in v4:
>> dev_err_probe, this_module, of_match_ptr
>> Use fallback compatible
>> Add vcc-supply and vdd-supply
>>
>> Changes in v3:
>> Lower-case hex values and use defines for EYESCAN registers
>> Remove equalizer code (unlikely to be used)
>> Remove attributes (no longer useful, undocumented)
>> Fix build for 6.17 kernel
>> Use devm_drm_bridge_alloc
>> Sort includes and add linux/bitfield.h
>> Check chip type and complain on mismatch
>>
>> Changes in v2:
>> 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
>>
>> drivers/gpu/drm/bridge/Kconfig | 12 +
>> drivers/gpu/drm/bridge/Makefile | 1 +
>> drivers/gpu/drm/bridge/ti-tmds181.c | 427 ++++++++++++++++++++++++++++
>> 3 files changed, 440 insertions(+)
>> create mode 100644 drivers/gpu/drm/bridge/ti-tmds181.c
>>
>> diff --git a/drivers/gpu/drm/bridge/Kconfig b/drivers/gpu/drm/bridge/Kconfig
>> index b9e0ca85226a..d679180b05b1 100644
>> --- a/drivers/gpu/drm/bridge/Kconfig
>> +++ b/drivers/gpu/drm/bridge/Kconfig
>> @@ -430,6 +430,18 @@ config DRM_TI_SN65DSI86
>> help
>> Texas Instruments SN65DSI86 DSI to eDP Bridge driver
>>
>> +config DRM_TI_TMDS181
>> + tristate "TI TMDS181 and SN65DP159 HDMI retimer bridge driver"
>> + depends on OF
>> + select DRM_KMS_HELPER
> Do you need it here?
Yes, compiling a kernel without it results in:
ld: drivers/gpu/drm/bridge/ti-tmds181.o:(.rodata+0x2f8): undefined
reference to `drm_atomic_helper_bridge_duplicate_state'
ld: drivers/gpu/drm/bridge/ti-tmds181.o:(.rodata+0x2fc): undefined
reference to `drm_atomic_helper_bridge_destroy_state'
ld: drivers/gpu/drm/bridge/ti-tmds181.o:(.rodata+0x30c): undefined
reference to `drm_atomic_helper_bridge_reset'
>
>> + select DRM_DISPLAY_HDMI_HELPER
> missing select DRM_DISPLAY_HELPER
Will add in v7
>
>> + select REGMAP_I2C
>> + help
>> + Enable this to support the TI TMDS181 and SN65DP159 HDMI retimers.
>> + The SN65DP159 provides output into a cable (source) whereas the
>> + TMDS181 is meant to forward a cable signal into a PCB (sink). Either
>> + can be set up as source or sink though.
>> +
>> config DRM_TI_TPD12S015
>> tristate "TI TPD12S015 HDMI level shifter and ESD protection"
>> depends on OF
--
Mike Looijmans
Powered by blists - more mailing lists