[PATCH v4 0/5] This series is split from the v15 "Add Type-C DP support for RK3399 EVB
Sebastian Reichel
sebastian.reichel at collabora.com
Mon Jul 27 19:08:14 PDT 2026
Hello Chaoyi,
On Mon, Jul 27, 2026 at 02:44:03PM +0800, Chaoyi Chen wrote:
> From: Chaoyi Chen <chaoyi.chen at rock-chips.com>
>
> [1] https://lore.kernel.org/all/20260304094152.92-1-kernel@airkyi.com/
>
> ====
> 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).
>
> Changes in v4:
> - Link to v3: https://lore.kernel.org/all/20260717072323.96-1-kernel@airkyi.com/
> - Scan the entire typec_bus and attempt to register the hpd bridge,
> so as not to miss devices that were already added during initialization.
While that may help with the module being loaded late, it does not
help with triggering the module load in the first place.
The module does not have any MODULE_DEVICE_TABLE() helping with
that. So basically any system relying on the automatic hpd bridge
registration and using a modular kernel (e.g. the arm64 defconfig or
the kernels usually provided by Linux distributions) requires
manually loading that module to get any graphical output.
Greetings,
-- Sebastian
> Changes in v3:
> - Link to v2: https://lore.kernel.org/all/20260608070805.88-1-kernel@airkyi.com/
> (Sorry, I forgot to add the "v2" title, so it looks like v1.)
> - Remove now-redundant call to drm_connector_attach_encoder()
> - Rebase to v7.2-rc2
>
> Changes in v2:
> - Link to v1: https://lore.kernel.org/all/20260521032854.103-1-kernel@airkyi.com/
> - Add copyright text.
> - Remove useless goto.
> - Fix incorrect function names in the documentation comments.
> - Fix the check logic for dp->active_port (0 is valid).
> - Fix the uninitialized prev_port.
> - Remove duplicate logic from cdn_dp_switch_port().
> - Fix the prototype of cdn_dp_bridge_hpd_notify().
> - Properly release connector->fwnode.
> - Properly release next_bridge.
>
> 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 | 26 +-
> .../gpu/drm/bridge/aux-hpd-typec-dp-bridge.c | 64 ++++
> drivers/gpu/drm/rockchip/Kconfig | 1 +
> drivers/gpu/drm/rockchip/cdn-dp-core.c | 358 ++++++++++++++----
> 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, 428 insertions(+), 71 deletions(-)
> create mode 100644 drivers/gpu/drm/bridge/aux-hpd-typec-dp-bridge.c
>
> --
> 2.53.0
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-rockchip/attachments/20260728/2de833a6/attachment.sig>
More information about the Linux-rockchip
mailing list