Lines Matching defs:phy
16 #include <linux/phy/phy.h>
22 #include "phy-qcom-qmp.h"
199 * struct qmp_phy - per-lane phy descriptor
201 * @phy: generic phy
202 * @cfg: phy specific configuration
203 * @serdes: iomapped memory space for phy's serdes (i.e. PLL)
209 * @qmp: QMP phy to which this lane belongs
213 struct phy *phy;
226 * struct qcom_qmp - structure holding QMP phy block attributes
230 * @clks: array of clocks required by phy
231 * @resets: array of resets required by phy
234 * @phys: array of per-lane phy descriptors
236 * @init_count: phy common block initialization count
275 /* list of clocks required by phy */
282 "phy", "common", "cfg",
287 "vdda-phy", "vdda-pll",
358 "phy common block init timed-out\n");
448 static int qmp_pcie_msm8996_init(struct phy *phy)
450 struct qmp_phy *qphy = phy_get_drvdata(phy);
453 dev_vdbg(qmp->dev, "Initializing QMP phy\n");
462 static int qmp_pcie_msm8996_power_on(struct phy *phy)
464 struct qmp_phy *qphy = phy_get_drvdata(phy);
514 dev_err(qmp->dev, "phy initialization timed-out\n");
528 static int qmp_pcie_msm8996_power_off(struct phy *phy)
530 struct qmp_phy *qphy = phy_get_drvdata(phy);
549 static int qmp_pcie_msm8996_exit(struct phy *phy)
551 struct qmp_phy *qphy = phy_get_drvdata(phy);
560 static int qmp_pcie_msm8996_enable(struct phy *phy)
564 ret = qmp_pcie_msm8996_init(phy);
568 ret = qmp_pcie_msm8996_power_on(phy);
570 qmp_pcie_msm8996_exit(phy);
575 static int qmp_pcie_msm8996_disable(struct phy *phy)
579 ret = qmp_pcie_msm8996_power_off(phy);
582 return qmp_pcie_msm8996_exit(phy);
713 struct phy *generic_phy;
762 qphy->phy = generic_phy;
773 .compatible = "qcom,msm8996-qmp-pcie-phy",
833 /* Create per-lane phy */
836 dev_err(dev, "failed to create lane%d phy, %d\n",
842 * Register the pipe clock provided by phy.
867 .name = "qcom-qmp-msm8996-pcie-phy",