Lines Matching refs:utmi

88 	struct mvebu_a3700_utmi *utmi = phy_get_drvdata(phy);
90 int usb32 = utmi->caps->usb32;
98 reg = readl(utmi->regs + USB2_PHY_PLL_CTRL_REG0);
102 writel(reg, utmi->regs + USB2_PHY_PLL_CTRL_REG0);
105 regmap_update_bits(utmi->usb_misc, USB2_PHY_CTRL(usb32),
111 reg = readl(utmi->regs + USB2_PHY_OTG_CTRL);
113 writel(reg, utmi->regs + USB2_PHY_OTG_CTRL);
116 reg = readl(utmi->regs + USB2_PHY_CHRGR_DETECT);
119 writel(reg, utmi->regs + USB2_PHY_CHRGR_DETECT);
122 regmap_update_bits(utmi->usb_misc, USB2_PHY_CTRL(usb32),
128 ret = readl_poll_timeout(utmi->regs + USB2_PHY_CAL_CTRL, reg,
137 ret = readl_poll_timeout(utmi->regs + USB2_PHY_CAL_CTRL, reg,
146 ret = readl_poll_timeout(utmi->regs + USB2_RX_CHAN_CTRL1, reg,
155 ret = readl_poll_timeout(utmi->regs + USB2_PHY_PLL_CTRL_REG0, reg,
166 struct mvebu_a3700_utmi *utmi = phy_get_drvdata(phy);
167 int usb32 = utmi->caps->usb32;
171 reg = readl(utmi->regs + USB2_PHY_CTRL(usb32));
173 writel(reg, utmi->regs + USB2_PHY_CTRL(usb32));
177 reg = readl(utmi->regs + USB2_PHY_OTG_CTRL);
179 writel(reg, utmi->regs + USB2_PHY_OTG_CTRL);
203 .compatible = "marvell,a3700-utmi-otg-phy",
207 .compatible = "marvell,a3700-utmi-host-phy",
217 struct mvebu_a3700_utmi *utmi;
220 utmi = devm_kzalloc(dev, sizeof(*utmi), GFP_KERNEL);
221 if (!utmi)
225 utmi->regs = devm_platform_ioremap_resource(pdev, 0);
226 if (IS_ERR(utmi->regs))
227 return PTR_ERR(utmi->regs);
230 utmi->usb_misc = syscon_regmap_lookup_by_phandle(dev->of_node,
232 if (IS_ERR(utmi->usb_misc)) {
235 return PTR_ERR(utmi->usb_misc);
239 utmi->caps = of_device_get_match_data(dev);
242 utmi->phy = devm_phy_create(dev, NULL, utmi->caps->ops);
243 if (IS_ERR(utmi->phy)) {
245 return PTR_ERR(utmi->phy);
248 phy_set_drvdata(utmi->phy, utmi);
251 utmi->caps->ops->power_off(utmi->phy);
261 .name = "mvebu-a3700-utmi-phy",