Lines Matching +full:ls1028a +full:- +full:dwc3

1 // SPDX-License-Identifier: GPL-2.0-only
3 * dwc3-generic-plat.c - DesignWare USB3 generic platform driver
7 * Inspired by dwc3-qcom.c and dwc3-of-simple.c
25 struct dwc3 dwc;
45 struct device *dev = dwc3g->dev; in dwc3_eic7700_init()
52 regmap = syscon_regmap_lookup_by_phandle_args(dev->of_node, in dwc3_eic7700_init()
53 "eswin,hsp-sp-csr", in dwc3_eic7700_init()
56 dev_err(dev, "No hsp-sp-csr phandle specified\n"); in dwc3_eic7700_init()
76 struct device *dev = &pdev->dev; in dwc3_generic_probe()
83 return -ENOMEM; in dwc3_generic_probe()
85 dwc3g->dev = dev; in dwc3_generic_probe()
89 dev_err(&pdev->dev, "missing memory resource\n"); in dwc3_generic_probe()
90 return -ENODEV; in dwc3_generic_probe()
93 dwc3g->resets = devm_reset_control_array_get_optional_exclusive(dev); in dwc3_generic_probe()
94 if (IS_ERR(dwc3g->resets)) in dwc3_generic_probe()
95 return dev_err_probe(dev, PTR_ERR(dwc3g->resets), "failed to get resets\n"); in dwc3_generic_probe()
97 ret = reset_control_assert(dwc3g->resets); in dwc3_generic_probe()
104 ret = reset_control_deassert(dwc3g->resets); in dwc3_generic_probe()
108 ret = devm_add_action_or_reset(dev, dwc3_generic_reset_control_assert, dwc3g->resets); in dwc3_generic_probe()
112 ret = devm_clk_bulk_get_all_enabled(dwc3g->dev, &dwc3g->clks); in dwc3_generic_probe()
116 dwc3g->num_clocks = ret; in dwc3_generic_probe()
117 dwc3g->dwc.dev = dev; in dwc3_generic_probe()
118 probe_data.dwc = &dwc3g->dwc; in dwc3_generic_probe()
128 probe_data.properties = plat_config->properties; in dwc3_generic_probe()
129 if (plat_config->init) { in dwc3_generic_probe()
130 ret = plat_config->init(dwc3g); in dwc3_generic_probe()
139 return dev_err_probe(dev, ret, "failed to register DWC3 Core\n"); in dwc3_generic_probe()
146 struct dwc3 *dwc = platform_get_drvdata(pdev); in dwc3_generic_remove()
153 struct dwc3 *dwc = dev_get_drvdata(dev); in dwc3_generic_suspend()
161 clk_bulk_disable_unprepare(dwc3g->num_clocks, dwc3g->clks); in dwc3_generic_suspend()
168 struct dwc3 *dwc = dev_get_drvdata(dev); in dwc3_generic_resume()
172 ret = clk_bulk_prepare_enable(dwc3g->num_clocks, dwc3g->clks); in dwc3_generic_resume()
214 { .compatible = "spacemit,k1-dwc3", },
215 { .compatible = "fsl,ls1028a-dwc3", &fsl_ls1028_dwc3},
216 { .compatible = "eswin,eic7700-dwc3", &eic7700_dwc3},
225 .name = "dwc3-generic-plat",