From: Chaoyi Chen <[email protected]> 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/[email protected]/ ==== 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 v2: - Link to v1: https://lore.kernel.org/all/[email protected]/ - 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 | 54 +++ 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, 418 insertions(+), 71 deletions(-) create mode 100644 drivers/gpu/drm/bridge/aux-hpd-typec-dp-bridge.c -- 2.54.0
