From: "Kory Maincent (TI.com)" <kory.maincent@bootlin.com>
To: Jyri Sarha <jyri.sarha@iki.fi>,
Tomi Valkeinen <tomi.valkeinen@ideasonboard.com>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>,
Simona Vetter <simona@ffwll.ch>, Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Russell King <linux@armlinux.org.uk>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Tony Lindgren <tony@atomide.com>,
Andrzej Hajda <andrzej.hajda@intel.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Robert Foss <rfoss@kernel.org>,
Laurent Pinchart <Laurent.pinchart@ideasonboard.com>,
Jonas Karlman <jonas@kwiboo.se>,
Jernej Skrabec <jernej.skrabec@gmail.com>
Cc: Markus Schneider-Pargmann <msp@baylibre.com>,
Bajjuri Praneeth <praneeth@ti.com>,
Luca Ceresoli <luca.ceresoli@bootlin.com>,
Louis Chauvet <louis.chauvet@bootlin.com>,
Thomas Petazzoni <thomas.petazzoni@bootlin.com>,
Miguel Gazquez <miguel.gazquez@bootlin.com>,
Herve Codina <herve.codina@bootlin.com>,
dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org,
linux-omap@vger.kernel.org,
"Kory Maincent (TI.com)" <kory.maincent@bootlin.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com>
Subject: [PATCH v4 00/25] Clean and update tilcdc driver to support DRM_BRIDGE_ATTACH_NO_CONNECTOR
Date: Fri, 16 Jan 2026 18:02:00 +0100 [thread overview]
Message-ID: <20260116-feature_tilcdc-v4-0-2c1c22143087@bootlin.com> (raw)
The starting point for this work was adding support for the HDMI cape:
https://www.seeedstudio.com/Seeed-Studio-BeagleBone-Green-HDMI-Cape.html
This will be sent in a later series.
Initially, Miguel proposed modifying the ite-it66121 bridge to support
the legacy behavior without the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag:
https://lore.kernel.org/lkml/20250909-it66121-fix-v1-1-bc79ca83df17@bootlin.com/
This patch was NAK'd as we don't want to add more legacy code. Maxime
requested that the tilcdc driver be updated to use
DRM_BRIDGE_ATTACH_NO_CONNECTOR instead.
While working on this update, I discovered that the tilcdc driver
contained significant amounts of legacy code that needed cleaning.
Since this driver was developed alongside the tda998x driver for
several AM335x boards, the tda998x driver also required cleanup and
support for the DRM_BRIDGE_ATTACH_NO_CONNECTOR flag.
A new tilcdc_panel_legacy driver replaces the old tilcdc_panel driver.
It modifies the devicetree at boot time to properly bind the tilcdc driver
with the standard panel-simple driver.
This series is based on the tilcdc fix sent to mainline:
https://lore.kernel.org/lkml/20251125090546.137193-1-kory.maincent@bootlin.com/
This series has been tested on:
- BeagleBone Black (tilcdc + tda998x bridge)
- BeagleBone Black with LCD cape (tilcdc + ti,tilcdc,panel binding)
- BeagleBone Green Eco with HDMI cape (tilcdc + it66121 bridge)
The following mainline devicetrees still use ti,tilcdc,panel binding.
I believe this series maintains compatibility, but I cannot test without
hardware:
- da850-evm.dts
- am335x-guardian.dts
- am335x-pdu001.dts
- am335x-pepper.dts
- am335x-sbc-t335.dts
- am335x-sl50.dts
Patches 1-2: Convert tilcdc binding to YAML and set the ti,tilcdc,panel
sub-binding as legacy.
Patches 3-6: Replace tilcdc_panel driver to the new tilcdc_panel_legacy
driver which is tweaking the devicetree at boot time.
Patches 7-20: Clean up tilcdc driver.
Patches 21-23: Clean up tda998x driver.
Patch 24: Add DRM_BRIDGE_ATTACH_NO_CONNECTOR support for tda998x driver.
Patch 25: Add DRM_BRIDGE_ATTACH_NO_CONNECTOR support for tilcdc driver.
Changes in v4:
- Use device_get_match_data instead of of_match_node.
- Convert the driver to use DRM managed resources to avoid lifetime
resources issue.
- Add a patch to convert to drm_device-based logging helpers.
- Replace drm_of_find_panel_or_bridge() with the newer
devm_drm_of_get_bridge() helper.
- Link to v3: https://lore.kernel.org/r/20260106-feature_tilcdc-v3-0-9bad0f742164@bootlin.com
Changes in v3:
- Split patch 13 and patch 14 into two for better readability and git
history clarity.
- Update patch 5 to use OF changeset and __free() macro. Made also few
small improvements as requested by Luca.
- Rename binding file to ti,am33xx-tilcdc.yaml, use generic node name and
drop unused label.
- Link to v2: https://lore.kernel.org/r/20251211-feature_tilcdc-v2-0-f48bac3cd33e@bootlin.com
Changes in v2:
- Remove patch 2 that add fifo-threshold property. Use FIFO threshold
value from SoC id instead.
- Remove the part that breaks DTB compatibility.
- Add tilcdc_panel_legacy to modify the devicetree at boot time to properly
bind the tilcdc driver with the standard panel-simple driver.
- Link to v1: https://lore.kernel.org/r/20251126-feature_tilcdc-v1-0-49b9ef2e3aa0@bootlin.com
Signed-off-by: Kory Maincent (TI.com) <kory.maincent@bootlin.com>
---
Kory Maincent (TI.com) (25):
dt-bindings: display: tilcdc: Convert to DT schema
dt-bindings: display: tilcdc: Mark panel binding as deprecated
drm/tilcdc: Remove simulate_vesa_sync flag
drm/tilcdc: Add support for DRM bus flags and simplify panel config
drm/tilcdc: Convert legacy panel binding via DT overlay at boot time
drm/tilcdc: Remove tilcdc panel driver
drm/tilcdc: Remove component framework support
drm/tilcdc: Remove tilcdc_panel_info structure
drm/tilcdc: Remove redundant #endif/#ifdef in debugfs code
drm/tilcdc: Remove unused encoder and connector tracking arrays
drm/tilcdc: Rename external_encoder and external_connector to encoder and connector
drm/tilcdc: Rename tilcdc_external to tilcdc_encoder
drm/tilcdc: Remove the useless module list support
drm/tilcdc: Use drm_module_platform_driver() helper
drm/tilcdc: Move tilcdc_init/fini closer to probe/remove
drm/tilcdc: Modernize driver initialization and cleanup paths
drm/tilcdc: Remove the use of drm_device private_data
drm/tilcdc: Convert to DRM managed resources
drm/tilcdc: Convert to drm_device-based logging helpers
drm/tilcdc: Use devm_drm_of_get_bridge() helper
drm/bridge: tda998x: Remove component support
drm/bridge: tda998x: Move tda998x_create/destroy into probe and remove
drm/bridge: tda998x: Remove useless tda998x_connector_destroy wrapper
drm/bridge: tda998x: Add support for DRM_BRIDGE_ATTACH_NO_CONNECTOR
rm/tilcdc: Add support for DRM_BRIDGE_ATTACH_NO_CONNECTOR
.../devicetree/bindings/display/tilcdc/panel.txt | 1 +
.../bindings/display/tilcdc/ti,am33xx-tilcdc.yaml | 100 +++++
.../devicetree/bindings/display/tilcdc/tilcdc.txt | 82 ----
drivers/gpu/drm/bridge/tda998x_drv.c | 251 +++++------
drivers/gpu/drm/tilcdc/Kconfig | 18 +
drivers/gpu/drm/tilcdc/Makefile | 5 +-
drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 189 +++-----
drivers/gpu/drm/tilcdc/tilcdc_drv.c | 486 ++++++++-------------
drivers/gpu/drm/tilcdc/tilcdc_drv.h | 99 +----
drivers/gpu/drm/tilcdc/tilcdc_encoder.c | 69 +++
.../tilcdc/{tilcdc_external.h => tilcdc_encoder.h} | 5 +-
drivers/gpu/drm/tilcdc/tilcdc_external.c | 179 --------
drivers/gpu/drm/tilcdc/tilcdc_panel.c | 408 -----------------
drivers/gpu/drm/tilcdc/tilcdc_panel.h | 15 -
drivers/gpu/drm/tilcdc/tilcdc_panel_legacy.c | 185 ++++++++
drivers/gpu/drm/tilcdc/tilcdc_panel_legacy.dtso | 29 ++
drivers/gpu/drm/tilcdc/tilcdc_plane.c | 37 +-
drivers/gpu/drm/tilcdc/tilcdc_regs.h | 8 +-
18 files changed, 811 insertions(+), 1355 deletions(-)
---
base-commit: e10a789098f56fe8e1c1c320fe25d739f836eeaf
change-id: 20251014-feature_tilcdc-79cd49e67bf9
Best regards,
--
Köry Maincent, Bootlin
Embedded Linux and kernel engineering
https://bootlin.com
next reply other threads:[~2026-01-16 17:02 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-16 17:02 Kory Maincent (TI.com) [this message]
2026-01-16 17:02 ` [PATCH v4 01/25] dt-bindings: display: tilcdc: Convert to DT schema Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 02/25] dt-bindings: display: tilcdc: Mark panel binding as deprecated Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 03/25] drm/tilcdc: Remove simulate_vesa_sync flag Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 04/25] drm/tilcdc: Add support for DRM bus flags and simplify panel config Kory Maincent (TI.com)
2026-01-19 16:18 ` Luca Ceresoli
2026-01-16 17:02 ` [PATCH v4 05/25] drm/tilcdc: Convert legacy panel binding via DT overlay at boot time Kory Maincent (TI.com)
2026-01-19 16:18 ` Luca Ceresoli
2026-01-21 14:13 ` Herve Codina
2026-01-16 17:02 ` [PATCH v4 06/25] drm/tilcdc: Remove tilcdc panel driver Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 07/25] drm/tilcdc: Remove component framework support Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 08/25] drm/tilcdc: Remove tilcdc_panel_info structure Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 09/25] drm/tilcdc: Remove redundant #endif/#ifdef in debugfs code Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 10/25] drm/tilcdc: Remove unused encoder and connector tracking arrays Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 11/25] drm/tilcdc: Rename external_encoder and external_connector to encoder and connector Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 12/25] drm/tilcdc: Rename tilcdc_external to tilcdc_encoder Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 13/25] drm/tilcdc: Remove the useless module list support Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 14/25] drm/tilcdc: Use drm_module_platform_driver() helper Kory Maincent (TI.com)
2026-01-19 16:18 ` Luca Ceresoli
2026-01-16 17:02 ` [PATCH v4 15/25] drm/tilcdc: Move tilcdc_init/fini closer to probe/remove Kory Maincent (TI.com)
2026-01-19 16:18 ` Luca Ceresoli
2026-01-16 17:02 ` [PATCH v4 16/25] drm/tilcdc: Modernize driver initialization and cleanup paths Kory Maincent (TI.com)
2026-01-19 16:18 ` Luca Ceresoli
2026-01-16 17:02 ` [PATCH v4 17/25] drm/tilcdc: Remove the use of drm_device private_data Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 18/25] drm/tilcdc: Convert to DRM managed resources Kory Maincent (TI.com)
2026-01-19 21:19 ` Luca Ceresoli
2026-01-22 14:48 ` Kory Maincent
2026-01-23 16:06 ` Luca Ceresoli
2026-01-16 17:02 ` [PATCH v4 19/25] drm/tilcdc: Convert to drm_device-based logging helpers Kory Maincent (TI.com)
2026-01-19 18:00 ` Luca Ceresoli
2026-01-22 14:59 ` Kory Maincent
2026-01-16 17:02 ` [PATCH v4 20/25] drm/tilcdc: Use devm_drm_of_get_bridge() helper Kory Maincent (TI.com)
2026-01-19 21:18 ` Luca Ceresoli
2026-01-22 14:03 ` Maxime Ripard
2026-01-22 15:03 ` Kory Maincent
2026-01-16 17:02 ` [PATCH v4 21/25] drm/bridge: tda998x: Remove component support Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 22/25] drm/bridge: tda998x: Move tda998x_create/destroy into probe and remove Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 23/25] drm/bridge: tda998x: Remove useless tda998x_connector_destroy wrapper Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 24/25] drm/bridge: tda998x: Add support for DRM_BRIDGE_ATTACH_NO_CONNECTOR Kory Maincent (TI.com)
2026-01-16 17:02 ` [PATCH v4 25/25] rm/tilcdc: " Kory Maincent (TI.com)
2026-01-19 17:58 ` Luca Ceresoli
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=20260116-feature_tilcdc-v4-0-2c1c22143087@bootlin.com \
--to=kory.maincent@bootlin.com \
--cc=Laurent.pinchart@ideasonboard.com \
--cc=airlied@gmail.com \
--cc=andrzej.hajda@intel.com \
--cc=brgl@bgdev.pl \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=herve.codina@bootlin.com \
--cc=jernej.skrabec@gmail.com \
--cc=jonas@kwiboo.se \
--cc=jyri.sarha@iki.fi \
--cc=krzk+dt@kernel.org \
--cc=krzysztof.kozlowski@oss.qualcomm.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=louis.chauvet@bootlin.com \
--cc=luca.ceresoli@bootlin.com \
--cc=maarten.lankhorst@linux.intel.com \
--cc=miguel.gazquez@bootlin.com \
--cc=mripard@kernel.org \
--cc=msp@baylibre.com \
--cc=neil.armstrong@linaro.org \
--cc=praneeth@ti.com \
--cc=rfoss@kernel.org \
--cc=robh@kernel.org \
--cc=simona@ffwll.ch \
--cc=thomas.petazzoni@bootlin.com \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=tony@atomide.com \
--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
all inboxes | Powered by JetHome®