Lines Matching refs:salvo_phy
112 static u16 cdns_salvo_read(struct cdns_salvo_phy *salvo_phy, u32 reg)
114 return (u16)readl(salvo_phy->base +
115 reg * (1 << salvo_phy->data->reg_offset_shift));
118 static void cdns_salvo_write(struct cdns_salvo_phy *salvo_phy,
121 writel(val, salvo_phy->base +
122 reg * (1 << salvo_phy->data->reg_offset_shift));
210 struct cdns_salvo_phy *salvo_phy = phy_get_drvdata(phy);
211 struct cdns_salvo_data *data = salvo_phy->data;
215 ret = clk_prepare_enable(salvo_phy->clk);
222 cdns_salvo_write(salvo_phy, reg_pair->off, reg_pair->val);
226 value = cdns_salvo_read(salvo_phy, TB_ADDR_TX_RCVDETSC_CTRL);
228 cdns_salvo_write(salvo_phy, TB_ADDR_TX_RCVDETSC_CTRL,
233 clk_disable_unprepare(salvo_phy->clk);
240 struct cdns_salvo_phy *salvo_phy = phy_get_drvdata(phy);
242 return clk_prepare_enable(salvo_phy->clk);
247 struct cdns_salvo_phy *salvo_phy = phy_get_drvdata(phy);
249 clk_disable_unprepare(salvo_phy->clk);
265 struct cdns_salvo_phy *salvo_phy;
275 salvo_phy = devm_kzalloc(dev, sizeof(*salvo_phy), GFP_KERNEL);
276 if (!salvo_phy)
279 salvo_phy->data = data;
280 salvo_phy->clk = devm_clk_get_optional(dev, "salvo_phy_clk");
281 if (IS_ERR(salvo_phy->clk))
282 return PTR_ERR(salvo_phy->clk);
285 salvo_phy->base = devm_ioremap_resource(dev, res);
286 if (IS_ERR(salvo_phy->base))
287 return PTR_ERR(salvo_phy->base);
289 salvo_phy->phy = devm_phy_create(dev, NULL, &cdns_salvo_phy_ops);
290 if (IS_ERR(salvo_phy->phy))
291 return PTR_ERR(salvo_phy->phy);
293 phy_set_drvdata(salvo_phy->phy, salvo_phy);