9 #include <linux/module.h>
42 writel_relaxed(reg, addr);
54 writel_relaxed(reg, addr);
57 writel_relaxed(tmp, data);
68 writel_relaxed(reg, addr);
71 writel_relaxed(tmp, data);
81 writel_relaxed(reg, addr);
82 writel_relaxed(value, data);
92 base = mv_u3d_phy->
base;
108 static int mv_u3d_phy_init(
struct usb_phy *
phy)
120 base = mv_u3d_phy->
base;
236 dev_dbg(mv_u3d_phy->
dev,
"start calibration\n");
250 else if (count > 50) {
251 dev_dbg(mv_u3d_phy->
dev,
"calibration failure, retry...\n");
267 struct mv_u3d_phy *mv_u3d_phy;
274 pdata = pdev->
dev.platform_data;
276 dev_err(&pdev->
dev,
"%s: no platform data defined\n", __func__);
282 dev_err(dev,
"missing mem resource\n");
288 dev_err(dev,
"%s: register mapping failed\n", __func__);
296 mv_u3d_phy->
dev = &pdev->
dev;
298 mv_u3d_phy->
base = phy_base;
299 mv_u3d_phy->
phy.dev = mv_u3d_phy->
dev;
300 mv_u3d_phy->
phy.label =
"mv-u3d-phy";
301 mv_u3d_phy->
phy.init = mv_u3d_phy_init;
308 if (!mv_u3d_phy->
clk)
311 platform_set_drvdata(pdev, mv_u3d_phy);
313 dev_info(&pdev->
dev,
"Initialized Marvell USB 3.0 PHY\n");
320 struct mv_u3d_phy *mv_u3d_phy = platform_get_drvdata(pdev);
324 if (mv_u3d_phy->
clk) {
333 .probe = mv_u3d_phy_probe,
336 .name =
"mv-u3d-phy",