From: Ritesh Kumar <[email protected]> Add qcom_edp_phy_ops_nord wiring all eight Nord-specific callbacks and nord_edp_phy_cfg collecting the Nord AUX, VCO divider, swing/pre-emphasis tables and ver_ops, with phy_status_reg overridden to DP_PHY_STATUS_NORD (0x0110) and bias1_en_2lane set to 0x03 for correct 2-lane operation.
Signed-off-by: Ritesh Kumar <[email protected]> Signed-off-by: Nabige Aala <[email protected]> --- drivers/phy/qualcomm/phy-qcom-edp.c | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/drivers/phy/qualcomm/phy-qcom-edp.c b/drivers/phy/qualcomm/phy-qcom-edp.c index 361f4e467351..338f28cb404f 100644 --- a/drivers/phy/qualcomm/phy-qcom-edp.c +++ b/drivers/phy/qualcomm/phy-qcom-edp.c @@ -1847,6 +1847,29 @@ static int qcom_edp_phy_tx_res_cfg_nord(const struct qcom_edp *edp) } +static const struct phy_ver_ops qcom_edp_phy_ops_nord = { + .com_power_on = qcom_edp_phy_power_on_nord, + .com_resetsm_cntrl = qcom_edp_phy_com_resetsm_cntrl_nord, + .com_bias_en_clkbuflr = qcom_edp_com_bias_en_clkbuflr_nord, + .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, + .phy_tx_lane_cfg = qcom_edp_phy_tx_lane_cfg_nord, + .phy_tx_res_cfg = qcom_edp_phy_tx_res_cfg_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, +}; + + 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, }, -- 2.34.1
