The dw-hdmi output_port is set to 1 in order to look for a connector next bridge in order to get DRM_BRIDGE_ATTACH_NO_CONNECTOR working. The output_port set to 1 makes the DW HDMI driver core look up the next bridge in DT, where the next bridge is often the hdmi-connector .
Similar to 0af5e0b41110 ("drm/meson: encoder_hdmi: switch to bridge DRM_BRIDGE_ATTACH_NO_CONNECTOR") Note that looking at the upstream arch/arm64/boot/dts/freescale/imx8mp*dts , the oldest commit which adds HDMI support is commit: 3e67a1ddd56d ("arm64: dts: imx8mp: Enable HDMI on TQMa8MPxL/MBa8MPxL") That already contains the HDMI connector node. Most follow up additions of HDMI support to another devices has been a variation of the same commit, including connector node, which is the proper way of eanbling HDMI on the i.MX8MP. The rest should be covered by output_port_optional which should make systems with DTs without HDMI connector node work, but such DTs should be updated and the HDMI connector node should be added. Signed-off-by: Marek Vasut <ma...@denx.de> --- Cc: Andrzej Hajda <andrzej.ha...@intel.com> Cc: David Airlie <airl...@gmail.com> Cc: Fabio Estevam <feste...@gmail.com> Cc: Jernej Skrabec <jernej.skra...@gmail.com> Cc: Jonas Karlman <jo...@kwiboo.se> Cc: Laurent Pinchart <laurent.pinch...@ideasonboard.com> Cc: Liu Ying <victor....@nxp.com> Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com> Cc: Maxime Ripard <mrip...@kernel.org> Cc: Neil Armstrong <neil.armstr...@linaro.org> Cc: Pengutronix Kernel Team <ker...@pengutronix.de> Cc: Robert Foss <rf...@kernel.org> Cc: Sascha Hauer <s.ha...@pengutronix.de> Cc: Shawn Guo <shawn...@kernel.org> Cc: Simona Vetter <sim...@ffwll.ch> Cc: Stefan Agner <ste...@agner.ch> Cc: Thomas Zimmermann <tzimmerm...@suse.de> Cc: dri-devel@lists.freedesktop.org Cc: i...@lists.linux.dev Cc: linux-arm-ker...@lists.infradead.org --- V2: No change V3: - Update commit message - Move select DRM_DISPLAY_CONNECTOR to DRM_IMX8MP_DW_HDMI_BRIDGE - Enable output_port_optional --- drivers/gpu/drm/bridge/imx/Kconfig | 1 + drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c | 2 ++ 2 files changed, 3 insertions(+) diff --git a/drivers/gpu/drm/bridge/imx/Kconfig b/drivers/gpu/drm/bridge/imx/Kconfig index 9a480c6abb856..db5c8a76193ac 100644 --- a/drivers/gpu/drm/bridge/imx/Kconfig +++ b/drivers/gpu/drm/bridge/imx/Kconfig @@ -17,6 +17,7 @@ config DRM_IMX8MP_DW_HDMI_BRIDGE tristate "Freescale i.MX8MP HDMI-TX bridge support" depends on OF depends on COMMON_CLK + select DRM_DISPLAY_CONNECTOR select DRM_DW_HDMI imply DRM_IMX8MP_HDMI_PVI imply PHY_FSL_SAMSUNG_HDMI_PHY diff --git a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c index 1e7a789ec2890..3d63200e468bf 100644 --- a/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c +++ b/drivers/gpu/drm/bridge/imx/imx8mp-hdmi-tx.c @@ -101,6 +101,8 @@ static int imx8mp_dw_hdmi_probe(struct platform_device *pdev) plat_data->phy_name = "SAMSUNG HDMI TX PHY"; plat_data->priv_data = hdmi; plat_data->phy_force_vendor = true; + plat_data->output_port = 1; + plat_data->output_port_optional = true; hdmi->dw_hdmi = dw_hdmi_probe(pdev, plat_data); if (IS_ERR(hdmi->dw_hdmi)) -- 2.45.2