|
@@ -793,19 +793,6 @@ static void qcom_qmp_phy_configure(void __iomem *base,
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-static int qcom_qmp_phy_poweron(struct phy *phy)
|
|
|
|
-{
|
|
|
|
- struct qmp_phy *qphy = phy_get_drvdata(phy);
|
|
|
|
- struct qcom_qmp *qmp = qphy->qmp;
|
|
|
|
- int ret;
|
|
|
|
-
|
|
|
|
- ret = clk_prepare_enable(qphy->pipe_clk);
|
|
|
|
- if (ret)
|
|
|
|
- dev_err(qmp->dev, "pipe_clk enable failed, err=%d\n", ret);
|
|
|
|
-
|
|
|
|
- return ret;
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
static int qcom_qmp_phy_com_init(struct qcom_qmp *qmp)
|
|
static int qcom_qmp_phy_com_init(struct qcom_qmp *qmp)
|
|
{
|
|
{
|
|
const struct qmp_phy_cfg *cfg = qmp->cfg;
|
|
const struct qmp_phy_cfg *cfg = qmp->cfg;
|
|
@@ -974,6 +961,12 @@ static int qcom_qmp_phy_init(struct phy *phy)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ ret = clk_prepare_enable(qphy->pipe_clk);
|
|
|
|
+ if (ret) {
|
|
|
|
+ dev_err(qmp->dev, "pipe_clk enable failed err=%d\n", ret);
|
|
|
|
+ goto err_clk_enable;
|
|
|
|
+ }
|
|
|
|
+
|
|
/* Tx, Rx, and PCS configurations */
|
|
/* Tx, Rx, and PCS configurations */
|
|
qcom_qmp_phy_configure(tx, cfg->regs, cfg->tx_tbl, cfg->tx_tbl_num);
|
|
qcom_qmp_phy_configure(tx, cfg->regs, cfg->tx_tbl, cfg->tx_tbl_num);
|
|
/* Configuration for other LANE for USB-DP combo PHY */
|
|
/* Configuration for other LANE for USB-DP combo PHY */
|
|
@@ -1019,6 +1012,8 @@ static int qcom_qmp_phy_init(struct phy *phy)
|
|
return ret;
|
|
return ret;
|
|
|
|
|
|
err_pcs_ready:
|
|
err_pcs_ready:
|
|
|
|
+ clk_disable_unprepare(qphy->pipe_clk);
|
|
|
|
+err_clk_enable:
|
|
if (cfg->has_lane_rst)
|
|
if (cfg->has_lane_rst)
|
|
reset_control_assert(qphy->lane_rst);
|
|
reset_control_assert(qphy->lane_rst);
|
|
err_lane_rst:
|
|
err_lane_rst:
|
|
@@ -1283,7 +1278,6 @@ static int phy_pipe_clk_register(struct qcom_qmp *qmp, struct device_node *np)
|
|
static const struct phy_ops qcom_qmp_phy_gen_ops = {
|
|
static const struct phy_ops qcom_qmp_phy_gen_ops = {
|
|
.init = qcom_qmp_phy_init,
|
|
.init = qcom_qmp_phy_init,
|
|
.exit = qcom_qmp_phy_exit,
|
|
.exit = qcom_qmp_phy_exit,
|
|
- .power_on = qcom_qmp_phy_poweron,
|
|
|
|
.set_mode = qcom_qmp_phy_set_mode,
|
|
.set_mode = qcom_qmp_phy_set_mode,
|
|
.owner = THIS_MODULE,
|
|
.owner = THIS_MODULE,
|
|
};
|
|
};
|