Lines Matching refs:priv_data
53 static void dwc3_xlnx_mask_phy_rst(struct dwc3_xlnx *priv_data, bool mask)
62 reg = readl(priv_data->regs + XLNX_USB_PHY_RST_EN);
69 writel(reg, priv_data->regs + XLNX_USB_PHY_RST_EN);
72 static int dwc3_xlnx_init_versal(struct dwc3_xlnx *priv_data)
74 struct device *dev = priv_data->dev;
77 dwc3_xlnx_mask_phy_rst(priv_data, false);
94 dwc3_xlnx_mask_phy_rst(priv_data, true);
99 static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *priv_data)
101 struct device *dev = priv_data->dev;
107 priv_data->usb3_phy = devm_phy_optional_get(dev, "usb3-phy");
108 if (IS_ERR(priv_data->usb3_phy)) {
109 ret = PTR_ERR(priv_data->usb3_phy);
124 if (!priv_data->usb3_phy)
169 ret = phy_init(priv_data->usb3_phy);
171 phy_exit(priv_data->usb3_phy);
182 writel(FPD_POWER_PRSNT_OPTION, priv_data->regs + XLNX_USB_FPD_POWER_PRSNT);
185 writel(PIPE_CLK_SELECT, priv_data->regs + XLNX_USB_FPD_PIPE_CLK);
199 ret = phy_power_on(priv_data->usb3_phy);
201 phy_exit(priv_data->usb3_phy);
227 reg = readl(priv_data->regs + XLNX_USB_TRAFFIC_ROUTE_CONFIG);
229 writel(reg, priv_data->regs + XLNX_USB_TRAFFIC_ROUTE_CONFIG);
251 struct dwc3_xlnx *priv_data;
258 priv_data = devm_kzalloc(dev, sizeof(*priv_data), GFP_KERNEL);
259 if (!priv_data)
271 priv_data->pltfm_init = match->data;
272 priv_data->regs = regs;
273 priv_data->dev = dev;
275 platform_set_drvdata(pdev, priv_data);
277 ret = devm_clk_bulk_get_all(priv_data->dev, &priv_data->clks);
281 priv_data->num_clocks = ret;
283 ret = clk_bulk_prepare_enable(priv_data->num_clocks, priv_data->clks);
287 ret = priv_data->pltfm_init(priv_data);
303 clk_bulk_disable_unprepare(priv_data->num_clocks, priv_data->clks);
310 struct dwc3_xlnx *priv_data = platform_get_drvdata(pdev);
315 clk_bulk_disable_unprepare(priv_data->num_clocks, priv_data->clks);
316 priv_data->num_clocks = 0;
325 struct dwc3_xlnx *priv_data = dev_get_drvdata(dev);
327 clk_bulk_disable(priv_data->num_clocks, priv_data->clks);
334 struct dwc3_xlnx *priv_data = dev_get_drvdata(dev);
336 return clk_bulk_enable(priv_data->num_clocks, priv_data->clks);
349 struct dwc3_xlnx *priv_data = dev_get_drvdata(dev);
351 phy_exit(priv_data->usb3_phy);
354 clk_bulk_disable(priv_data->num_clocks, priv_data->clks);
361 struct dwc3_xlnx *priv_data = dev_get_drvdata(dev);
364 ret = clk_bulk_enable(priv_data->num_clocks, priv_data->clks);
368 ret = phy_init(priv_data->usb3_phy);
372 ret = phy_power_on(priv_data->usb3_phy);
374 phy_exit(priv_data->usb3_phy);