|
|
Log in / Subscribe / Register

drm/bridge: Implement generic USB Type-C DP HPD bridge

From:  Chaoyi Chen <kernel-AT-airkyi.com>
To:  Andrzej Hajda <andrzej.hajda-AT-intel.com>, Neil Armstrong <neil.armstrong-AT-linaro.org>, Robert Foss <rfoss-AT-kernel.org>, Laurent Pinchart <Laurent.pinchart-AT-ideasonboard.com>, Jonas Karlman <jonas-AT-kwiboo.se>, Jernej Skrabec <jernej.skrabec-AT-gmail.com>, Maarten Lankhorst <maarten.lankhorst-AT-linux.intel.com>, Maxime Ripard <mripard-AT-kernel.org>, Thomas Zimmermann <tzimmermann-AT-suse.de>, David Airlie <airlied-AT-gmail.com>, Simona Vetter <simona-AT-ffwll.ch>, Sandy Huang <hjc-AT-rock-chips.com>, Heiko Stübner <heiko-AT-sntech.de>, Andy Yan <andy.yan-AT-rock-chips.com>, Vinod Koul <vkoul-AT-kernel.org>
Subject:  [PATCH 0/5] drm/bridge: Implement generic USB Type-C DP HPD bridge
Date:  Thu, 21 May 2026 11:28:49 +0800
Message-ID:  <20260521032854.103-1-kernel@airkyi.com>
Cc:  Heikki Krogerus <heikki.krogerus-AT-linux.intel.com>, Dmitry Baryshkov <dmitry.baryshkov-AT-oss.qualcomm.com>, Luca Ceresoli <luca.ceresoli-AT-bootlin.com>, linux-kernel-AT-vger.kernel.org, dri-devel-AT-lists.freedesktop.org, linux-arm-kernel-AT-lists.infradead.org, linux-rockchip-AT-lists.infradead.org, linux-phy-AT-lists.infradead.org, Chaoyi Chen <chaoyi.chen-AT-rock-chips.com>
Archive-link:  Article

From: Chaoyi Chen <chaoyi.chen@rock-chips.com>

This series is split from the v15 "Add Type-C DP support for RK3399 EVB
IND board" series [1]. It focuses on the DRM bridge and Rockchip
platform CDN-DP controller changes.

[1] https://lore.kernel.org/all/20260304094152.92-1-kernel@ai...

====
1. Generic Type-C DP HPD bridge

Currently, several USB-C controller drivers register their own DP HPD
bridge via aux-hpd-bridge.c, each duplicating the same logic. For
devicetree based platforms, the USB-C controller may vary across boards,
and not every USB-C controller driver implements this feature. Patch 1
implements a generic DP HPD bridge that monitors Type-C bus events and
automatically creates an HPD bridge when a Type-C port device with DP
SVID is registered.

2. Multiple bridge model for CDN-DP

The RK3399 has two USB/DP combo PHY and one CDN-DP controller. Patch 5
introduces a multi-bridge model where each PHY port gets a separate
encoder and bridge, allowing flexible selection of the output PHY port.
This is based on the DRM AUX HPD bridge rather than extcon.

====
Patch 1 adds generic USB Type-C DP HPD bridge (Dmitry, Heikki).
Patch 2 adds new API drm_aux_bridge_register_from_node() (Neil).
Patch 3 adds DRM AUX bridge support for RK3399 USBDP PHY (Neil).
Patch 4 drops CDN-DP's extcon dependency when Type-C is present (Dmitry).
Patch 5 adds multiple bridges to support PHY port selection (Dmitry, Luca).

Chaoyi Chen (5):
  drm/bridge: Implement generic USB Type-C DP HPD bridge
  drm/bridge: aux: Add drm_aux_bridge_register_from_node()
  phy: rockchip: phy-rockchip-typec: Add DRM AUX bridge
  drm/rockchip: cdn-dp: Support handle lane info without extcon
  drm/rockchip: cdn-dp: Add multiple bridges to support PHY port
    selection

 drivers/gpu/drm/bridge/Kconfig                |  10 +
 drivers/gpu/drm/bridge/Makefile               |   1 +
 drivers/gpu/drm/bridge/aux-bridge.c           |  24 +-
 .../gpu/drm/bridge/aux-hpd-typec-dp-bridge.c  |  49 +++
 drivers/gpu/drm/rockchip/Kconfig              |   1 +
 drivers/gpu/drm/rockchip/cdn-dp-core.c        | 349 ++++++++++++++----
 drivers/gpu/drm/rockchip/cdn-dp-core.h        |  18 +-
 drivers/phy/rockchip/Kconfig                  |   2 +
 drivers/phy/rockchip/phy-rockchip-typec.c     |  13 +-
 include/drm/bridge/aux-bridge.h               |   6 +
 10 files changed, 404 insertions(+), 69 deletions(-)
 create mode 100644 drivers/gpu/drm/bridge/aux-hpd-typec-dp-bridge.c

-- 
2.53.0




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds