Add DisplayPort support for QCS615 platform
From: | Xiangxu Yin <xiangxu.yin-AT-oss.qualcomm.com> | |
To: | Vinod Koul <vkoul-AT-kernel.org>, Kishon Vijay Abraham I <kishon-AT-kernel.org>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Rob Clark <robin.clark-AT-oss.qualcomm.com>, Dmitry Baryshkov <lumag-AT-kernel.org>, Abhinav Kumar <abhinav.kumar-AT-linux.dev>, Jessica Zhang <jessica.zhang-AT-oss.qualcomm.com>, Sean Paul <sean-AT-poorly.run>, Marijn Suijten <marijn.suijten-AT-somainline.org>, David Airlie <airlied-AT-gmail.com>, Simona Vetter <simona-AT-ffwll.ch> | |
Subject: | [PATCH v6 00/14] Add DisplayPort support for QCS615 platform | |
Date: | Thu, 25 Sep 2025 15:04:46 +0800 | |
Message-ID: | <20250925-add-displayport-support-for-qcs615-platform-v6-0-419fe5963819@oss.qualcomm.com> | |
Cc: | linux-arm-msm-AT-vger.kernel.org, linux-phy-AT-lists.infradead.org, devicetree-AT-vger.kernel.org, linux-kernel-AT-vger.kernel.org, dri-devel-AT-lists.freedesktop.org, freedreno-AT-lists.freedesktop.org, fange.zhang-AT-oss.qualcomm.com, yongxing.mou-AT-oss.qualcomm.com, li.liu-AT-oss.qualcomm.com, Dmitry Baryshkov <dmitry.baryshkov-AT-oss.qualcomm.com>, Bjorn Andersson <andersson-AT-kernel.org>, Konrad Dybcio <konradybcio-AT-kernel.org>, Xiangxu Yin <xiangxu.yin-AT-oss.qualcomm.com> | |
Archive-link: | Article |
This series aims to extend the USB-C PHY to support DP mode and enable DisplayPort on the Qualcomm QCS615 platform. The devicetree modification for DisplayPort on QCS615 will be provided in a future patch. Signed-off-by: Xiangxu Yin <xiangxu.yin@oss.qualcomm.com> --- Changes in v6: - Move usb3dpphy_reset_l definition to the patch adding compatible and related config data. [Dmitry] - Add NOTE about SW_PORTSELECT/orientation handling. [Dmitry] - Use C99-style loop variable declaration in msm_dp_link_lane_map. [Rob] - Update commit msg with issue description for [05/14, 06/14, 07/14,12/14]. - Link to v5: https://lore.kernel.org/r/20250919-add-displayport-suppor... Changes in v5: - Add new patch to introduce QSERDES v2 COM/TXRX register headers. - Restore legacy reset & clock register logic. [Dmitry] - Update phy_xlate() to return ERR_PTR(-ENODEV) when dp_phy is NULL. [Dmitry] - Rename helper from qmp_check_mutex_phy() to qmp_usbc_check_phy_status(). [Dmitry] - Drop storing struct device *dev in dp_link as it is only used once. [Dmitry] - Add robust lane mapping: default 1:1, complete partial configs. [Dmitry] - Reorganize sub-patches v5[07/14, 08/14, 11/14, 12/14] as suggested. - Link to v4: https://lore.kernel.org/all/20250911-add-displayport-supp... Changes in v4: - Drop patch v3[01/14 & 13/14], will sutbmit new patchsets based mst dt binding series. - Update maintainer of qcom,qcs615-qmp-usb3dp-phy.yaml to myself. - Add missing aux and pipe clocks. [Dmitry] - Drop second TCSR phandle; register offsets are described directly. [Dmitry] - Add USBC PHY series related init_load_uA configs. [Dmitry] - Drop v3[04/14] qmp_phy_usbc_type define and use dp_serdes offsets to confirm DP capability [Dmitry] - Reorganize sub-patches as suggested. - Link to v3: https://lore.kernel.org/all/20250820-add-displayport-supp... Changes in v3: - Renamed qcom,qcs615-qmp-dp-phy.yaml in v2 to qcom,qcs615-qmp-dp-phy.yaml in v3 for QCS615 USB3+DP PHY. - Updated patch v3[02/14] to revise binding title, description, and property order. [Krzysztof] - Updated commit messages in patch v3[01/14] and [13/14] to reflect the DTSI rename and clarify compatibility. [Krzysztof] - Added USB3+DP mode implementation in patches v3 [003–012], organized in logical chunks. [Dmitry] - Dropped patch v2[03/13] to maintain full backward compatibility with USBC. - Link to v2: https://lore.kernel.org/all/20250722-add-displayport-supp... Changes in v2: - Add new binding qcom,qcs615-qmp-dp-phy.yaml for QCS615 standalone DP - Split DP PHY driver into patches 4-11 by logical chunks [Dmitry] - Update DP PHY configuration flow to align with QMP Combo PHY implementation [Dmitry] - Update all hex values to lowercase [Dmitry] - Remove redundant comments in DP PHY driver [Krzysztof] - Remove invalid USBC type define [Dmitry] - Move lane_map, max_dp_lanes, max_dp_link_rate parsing logic to dp_link [Dmitry] - Add TCSR-based mutex logic for DP and USB PHY coexistence [Dmitry] - Drop patches 6–8 and remove related binding properties as rejected upstream - Link to v1: https://lore.kernel.org/all/20241129-add-displayport-supp... --- Xiangxu Yin (14): dt-bindings: phy: Add QMP USB3+DP PHY for QCS615 phy: qcom: qmp-usbc: Rename USB-specific ops to prepare for DP support phy: qcom: qmp-usbc: Add DP-related fields for USB/DP switchable PHY phy: qcom: qmp-usbc: Add regulator init_load support phy: qcom: qmp-usbc: Move reset config into PHY cfg phy: qcom: qmp-usbc: add DP link and vco_div clocks for DP PHY phy: qcom: qmp-usbc: Move USB-only init to usb_power_on phy: qcom: qmp-usbc: Add TCSR parsing and PHY mode setting phy: qcom: qmp-usbc: Add DP PHY ops for USB/DP switchable Type-C PHYs phy: qcom: qmp-usbc: Add USB/DP exclude handling phy: qcom: qmp: Add DP v2 PHY register definitions phy: qcom: qmp-usbc: Add QCS615 USB/DP PHY config and DP mode support drm/msm/dp: move link-specific parsing from dp_panel to dp_link drm/msm/dp: Add support for lane mapping configuration .../bindings/phy/qcom,qcs615-qmp-usb3dp-phy.yaml | 111 ++ drivers/gpu/drm/msm/dp/dp_ctrl.c | 10 +- drivers/gpu/drm/msm/dp/dp_link.c | 118 +++ drivers/gpu/drm/msm/dp/dp_link.h | 5 + drivers/gpu/drm/msm/dp/dp_panel.c | 78 +- drivers/gpu/drm/msm/dp/dp_panel.h | 3 - drivers/phy/qualcomm/phy-qcom-qmp-dp-phy-v2.h | 21 + drivers/phy/qualcomm/phy-qcom-qmp-qserdes-com-v2.h | 106 ++ .../phy/qualcomm/phy-qcom-qmp-qserdes-txrx-v2.h | 68 ++ drivers/phy/qualcomm/phy-qcom-qmp-usbc.c | 1066 ++++++++++++++++++-- drivers/phy/qualcomm/phy-qcom-qmp.h | 3 + 11 files changed, 1421 insertions(+), 168 deletions(-) --- base-commit: b5a4da2c459f79a2c87c867398f1c0c315779781 change-id: 20250919-add-displayport-support-for-qcs615-platform-f885597b3573 Best regards, -- Xiangxu Yin <xiangxu.yin@oss.qualcomm.com>