Lines Matching refs:priv_data
51 static void dwc3_xlnx_mask_phy_rst(struct dwc3_xlnx *priv_data, bool mask) in dwc3_xlnx_mask_phy_rst() argument
60 reg = readl(priv_data->regs + XLNX_USB_PHY_RST_EN); in dwc3_xlnx_mask_phy_rst()
67 writel(reg, priv_data->regs + XLNX_USB_PHY_RST_EN); in dwc3_xlnx_mask_phy_rst()
70 static int dwc3_xlnx_init_versal(struct dwc3_xlnx *priv_data) in dwc3_xlnx_init_versal() argument
72 struct device *dev = priv_data->dev; in dwc3_xlnx_init_versal()
75 dwc3_xlnx_mask_phy_rst(priv_data, false); in dwc3_xlnx_init_versal()
92 dwc3_xlnx_mask_phy_rst(priv_data, true); in dwc3_xlnx_init_versal()
97 static int dwc3_xlnx_init_zynqmp(struct dwc3_xlnx *priv_data) in dwc3_xlnx_init_zynqmp() argument
99 struct device *dev = priv_data->dev; in dwc3_xlnx_init_zynqmp()
168 writel(FPD_POWER_PRSNT_OPTION, priv_data->regs + XLNX_USB_FPD_POWER_PRSNT); in dwc3_xlnx_init_zynqmp()
171 writel(PIPE_CLK_SELECT, priv_data->regs + XLNX_USB_FPD_PIPE_CLK); in dwc3_xlnx_init_zynqmp()
197 reg = readl(priv_data->regs + XLNX_USB_TRAFFIC_ROUTE_CONFIG); in dwc3_xlnx_init_zynqmp()
199 writel(reg, priv_data->regs + XLNX_USB_TRAFFIC_ROUTE_CONFIG); in dwc3_xlnx_init_zynqmp()
221 struct dwc3_xlnx *priv_data; in dwc3_xlnx_probe() local
228 priv_data = devm_kzalloc(dev, sizeof(*priv_data), GFP_KERNEL); in dwc3_xlnx_probe()
229 if (!priv_data) in dwc3_xlnx_probe()
241 priv_data->pltfm_init = match->data; in dwc3_xlnx_probe()
242 priv_data->regs = regs; in dwc3_xlnx_probe()
243 priv_data->dev = dev; in dwc3_xlnx_probe()
245 platform_set_drvdata(pdev, priv_data); in dwc3_xlnx_probe()
247 ret = devm_clk_bulk_get_all(priv_data->dev, &priv_data->clks); in dwc3_xlnx_probe()
251 priv_data->num_clocks = ret; in dwc3_xlnx_probe()
253 ret = clk_bulk_prepare_enable(priv_data->num_clocks, priv_data->clks); in dwc3_xlnx_probe()
257 ret = priv_data->pltfm_init(priv_data); in dwc3_xlnx_probe()
273 clk_bulk_disable_unprepare(priv_data->num_clocks, priv_data->clks); in dwc3_xlnx_probe()
280 struct dwc3_xlnx *priv_data = platform_get_drvdata(pdev); in dwc3_xlnx_remove() local
285 clk_bulk_disable_unprepare(priv_data->num_clocks, priv_data->clks); in dwc3_xlnx_remove()
286 priv_data->num_clocks = 0; in dwc3_xlnx_remove()
297 struct dwc3_xlnx *priv_data = dev_get_drvdata(dev); in dwc3_xlnx_suspend_common() local
299 clk_bulk_disable(priv_data->num_clocks, priv_data->clks); in dwc3_xlnx_suspend_common()
306 struct dwc3_xlnx *priv_data = dev_get_drvdata(dev); in dwc3_xlnx_resume_common() local
308 return clk_bulk_enable(priv_data->num_clocks, priv_data->clks); in dwc3_xlnx_resume_common()