[PATCH v2 13/13] phy: qcom: edp: Add Nord phy_cfg, ops and OF compatible
Nabige Aala
nabige.aala at oss.qualcomm.com
Mon Oct 12 06:32:23 PDT 2026
From: Ritesh Kumar <ritesh.kumar at oss.qualcomm.com>
Wire up Nord-specific callbacks into qcom_edp_phy_ops_nord and
assemble nord_edp_phy_cfg with all Nord-specific values: AUX/VCO
tables, swing/pre-emphasis tables, relocated status register offsets
and TX lane control. Register "qcom,nord-dp-phy" in the OF match
table so the driver binds to Nord DP PHY device-tree nodes.
Signed-off-by: Ritesh Kumar <ritesh.kumar at oss.qualcomm.com>
Signed-off-by: Nabige Aala <nabige.aala at oss.qualcomm.com>
---
drivers/phy/qualcomm/phy-qcom-edp.c | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/drivers/phy/qualcomm/phy-qcom-edp.c b/drivers/phy/qualcomm/phy-qcom-edp.c
index cb5f6e0ae607..87400d61323a 100644
--- a/drivers/phy/qualcomm/phy-qcom-edp.c
+++ b/drivers/phy/qualcomm/phy-qcom-edp.c
@@ -1774,6 +1774,30 @@ static const struct qcom_edp_tx_res_entry tx_res_cfg_nord[] = {
QCOM_EDP_TX_RES_ENTRY_END,
};
+static const struct phy_ver_ops qcom_edp_phy_ops_nord = {
+ .com_power_on = qcom_edp_phy_power_on_v8,
+ .com_resetsm_cntrl = qcom_edp_phy_com_resetsm_cntrl_v8,
+ .com_bias_en_clkbuflr = qcom_edp_com_bias_en_clkbuflr_v8,
+ .com_configure_pll = qcom_edp_com_configure_pll_nord,
+ .com_configure_ssc = qcom_edp_com_configure_ssc_nord,
+ .com_ldo_config = qcom_edp_ldo_config_nord,
+};
+
+static const struct qcom_edp_phy_cfg nord_edp_phy_cfg = {
+ .is_edp = false,
+ .aux_cfg = edp_phy_aux_cfg_nord,
+ .vco_div_cfg = edp_phy_vco_div_cfg_nord,
+ .dp_swing_pre_emph_cfg = &nord_dp_swing_pre_emph_cfg,
+ .edp_swing_pre_emph_cfg = &nord_edp_swing_pre_emph_cfg,
+ .ver_ops = &qcom_edp_phy_ops_nord,
+ .phy_status_reg = DP_PHY_STATUS_NORD,
+ .bias1_en_2lane = 0x03,
+ .tx2_tx3_lane_ctl = DP_PHY_TX2_TX3_LANE_CTL_NORD,
+ .tx_res_cfg = tx_res_cfg_nord,
+ .cmn_status_reg = DP_QSERDES_V8_COM_CMN_STATUS_NORD,
+ .c_ready_status_reg = DP_QSERDES_V8_COM_C_READY_STATUS_NORD,
+};
+
static const struct of_device_id qcom_edp_phy_match_table[] = {
{ .compatible = "qcom,glymur-dp-phy", .data = &glymur_phy_cfg, },
{ .compatible = "qcom,sa8775p-edp-phy", .data = &sa8775p_dp_phy_cfg, },
@@ -1782,6 +1806,7 @@ static const struct of_device_id qcom_edp_phy_match_table[] = {
{ .compatible = "qcom,sc8280xp-dp-phy", .data = &sc8280xp_dp_phy_cfg, },
{ .compatible = "qcom,sc8280xp-edp-phy", .data = &sc8280xp_edp_phy_cfg, },
{ .compatible = "qcom,x1e80100-dp-phy", .data = &x1e80100_phy_cfg, },
+ { .compatible = "qcom,nord-dp-phy", .data = &nord_edp_phy_cfg, },
{ }
};
MODULE_DEVICE_TABLE(of, qcom_edp_phy_match_table);
--
2.34.1
More information about the linux-phy
mailing list