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/[email protected]/ 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. This series is based on the tilcdc fix sent to mainline: https://lore.kernel.org/lkml/[email protected]/ Patch 1-7: Convert tilcdc binding to YAML and remove the ti,tilcdc,panel sub-binding and driver Patch 8-16: Clean up tilcdc driver Patch 17-19: Clean up tda998x driver Patch 20: Add DRM_BRIDGE_ATTACH_NO_CONNECTOR support to tda998x Patch 21: Add DRM_BRIDGE_ATTACH_NO_CONNECTOR support to tilcdc Signed-off-by: Kory Maincent (TI.com) <[email protected]> --- Kory Maincent (TI.com) (21): dt-bindings: display: tilcdc: Convert to DT schema dt-bindings: display: tilcdc: Add fifo-threshold property drm/tilcdc: Remove simulate_vesa_sync flag drm/tilcdc: Add support for DRM bus flags and simplify panel config ARM: dts: omap: Bind panel to panel-dpi instead of ti,tilcdc,panel driver dt-bindings: display: tilcdc: Remove panel binding 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: Modernize driver initialization and cleanup paths drm/tilcdc: Remove the use of drm_device private_data 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 | 66 --- .../devicetree/bindings/display/tilcdc/tilcdc.txt | 82 ---- .../devicetree/bindings/display/tilcdc/tilcdc.yaml | 103 +++++ arch/arm/boot/dts/ti/davinci/da850-evm.dts | 26 +- arch/arm/boot/dts/ti/omap/am335x-guardian.dts | 25 +- arch/arm/boot/dts/ti/omap/am335x-pdu001.dts | 21 +- arch/arm/boot/dts/ti/omap/am335x-pepper.dts | 22 +- arch/arm/boot/dts/ti/omap/am335x-sbc-t335.dts | 25 +- arch/arm/boot/dts/ti/omap/am335x-sl50.dts | 25 +- drivers/gpu/drm/bridge/tda998x_drv.c | 251 ++++++------ drivers/gpu/drm/tilcdc/Makefile | 3 +- drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 117 ++---- drivers/gpu/drm/tilcdc/tilcdc_drv.c | 456 +++++++-------------- drivers/gpu/drm/tilcdc/tilcdc_drv.h | 88 +--- drivers/gpu/drm/tilcdc/tilcdc_encoder.c | 93 +++++ .../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_plane.c | 2 +- drivers/gpu/drm/tilcdc/tilcdc_regs.h | 8 +- 21 files changed, 589 insertions(+), 1431 deletions(-) --- base-commit: 670bacfc7579bdd79a3069cfb5ab60a6a7923003 change-id: 20251014-feature_tilcdc-79cd49e67bf9 Best regards, -- Köry Maincent, Bootlin Embedded Linux and kernel engineering https://bootlin.com
