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 v5 00/25] Clean and update tilcdc driver to support DRM_BRIDGE_ATTACH_NO_CONNECTOR
Date: Fri, 23 Jan 2026 17:12:18 +0100 [thread overview]
Message-ID: <20260123-feature_tilcdc-v5-0-5a44d2aa3f6f@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 v5:
- Fix a missing cleanup path.
- Link to v4: https://lore.kernel.org/r/20260116-feature_tilcdc-v4-0-2c1c22143087@bootlin.com
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
drm/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 | 192 +++-----
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, 812 insertions(+), 1357 deletions(-)
---
base-commit: a3158f3710111bbd4bfba3bc0883449efde10a0b
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-23 16:12 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-23 16:12 Kory Maincent (TI.com) [this message]
2026-01-23 16:12 ` [PATCH v5 01/25] dt-bindings: display: tilcdc: Convert to DT schema Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 02/25] dt-bindings: display: tilcdc: Mark panel binding as deprecated Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 03/25] drm/tilcdc: Remove simulate_vesa_sync flag Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 04/25] drm/tilcdc: Add support for DRM bus flags and simplify panel config Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 05/25] drm/tilcdc: Convert legacy panel binding via DT overlay at boot time Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 06/25] drm/tilcdc: Remove tilcdc panel driver Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 07/25] drm/tilcdc: Remove component framework support Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 08/25] drm/tilcdc: Remove tilcdc_panel_info structure Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 09/25] drm/tilcdc: Remove redundant #endif/#ifdef in debugfs code Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 10/25] drm/tilcdc: Remove unused encoder and connector tracking arrays Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 11/25] drm/tilcdc: Rename external_encoder and external_connector to encoder and connector Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 12/25] drm/tilcdc: Rename tilcdc_external to tilcdc_encoder Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 13/25] drm/tilcdc: Remove the useless module list support Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 14/25] drm/tilcdc: Use drm_module_platform_driver() helper Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 15/25] drm/tilcdc: Move tilcdc_init/fini closer to probe/remove Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 16/25] drm/tilcdc: Modernize driver initialization and cleanup paths Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 17/25] drm/tilcdc: Remove the use of drm_device private_data Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 18/25] drm/tilcdc: Convert to DRM managed resources Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 19/25] drm/tilcdc: Convert to drm_device-based logging helpers Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 20/25] drm/tilcdc: Use devm_drm_of_get_bridge() helper Kory Maincent (TI.com)
2026-01-30 19:31 ` Luca Ceresoli
2026-02-02 9:57 ` Kory Maincent
2026-02-02 17:07 ` Luca Ceresoli
2026-01-23 16:12 ` [PATCH v5 21/25] drm/bridge: tda998x: Remove component support Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 22/25] drm/bridge: tda998x: Move tda998x_create/destroy into probe and remove Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 23/25] drm/bridge: tda998x: Remove useless tda998x_connector_destroy wrapper Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 24/25] drm/bridge: tda998x: Add support for DRM_BRIDGE_ATTACH_NO_CONNECTOR Kory Maincent (TI.com)
2026-01-23 16:12 ` [PATCH v5 25/25] drm/tilcdc: " Kory Maincent (TI.com)
2026-02-11 8:47 ` [PATCH v5 00/25] Clean and update tilcdc driver to support DRM_BRIDGE_ATTACH_NO_CONNECTOR 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=20260123-feature_tilcdc-v5-0-5a44d2aa3f6f@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