Lines Matching refs:dwc3_data

116 static int st_dwc3_drd_init(struct st_dwc3 *dwc3_data)  in st_dwc3_drd_init()  argument
121 err = regmap_read(dwc3_data->regmap, dwc3_data->syscfg_reg_off, &val); in st_dwc3_drd_init()
127 switch (dwc3_data->dr_mode) { in st_dwc3_drd_init()
162 dev_err(dwc3_data->dev, "Unsupported mode of operation %d\n", in st_dwc3_drd_init()
163 dwc3_data->dr_mode); in st_dwc3_drd_init()
167 return regmap_write(dwc3_data->regmap, dwc3_data->syscfg_reg_off, val); in st_dwc3_drd_init()
174 static void st_dwc3_init(struct st_dwc3 *dwc3_data) in st_dwc3_init() argument
176 u32 reg = st_dwc3_readl(dwc3_data->glue_base, CLKRST_CTRL); in st_dwc3_init()
180 st_dwc3_writel(dwc3_data->glue_base, CLKRST_CTRL, reg); in st_dwc3_init()
183 reg = st_dwc3_readl(dwc3_data->glue_base, USB2_VBUS_MNGMNT_SEL1); in st_dwc3_init()
189 st_dwc3_writel(dwc3_data->glue_base, USB2_VBUS_MNGMNT_SEL1, reg); in st_dwc3_init()
191 reg = st_dwc3_readl(dwc3_data->glue_base, CLKRST_CTRL); in st_dwc3_init()
193 st_dwc3_writel(dwc3_data->glue_base, CLKRST_CTRL, reg); in st_dwc3_init()
198 struct st_dwc3 *dwc3_data; in st_dwc3_probe() local
206 dwc3_data = devm_kzalloc(dev, sizeof(*dwc3_data), GFP_KERNEL); in st_dwc3_probe()
207 if (!dwc3_data) in st_dwc3_probe()
210 dwc3_data->glue_base = in st_dwc3_probe()
212 if (IS_ERR(dwc3_data->glue_base)) in st_dwc3_probe()
213 return PTR_ERR(dwc3_data->glue_base); in st_dwc3_probe()
219 dwc3_data->dev = dev; in st_dwc3_probe()
220 dwc3_data->regmap = regmap; in st_dwc3_probe()
226 dwc3_data->syscfg_reg_off = res->start; in st_dwc3_probe()
229 dwc3_data->glue_base, dwc3_data->syscfg_reg_off); in st_dwc3_probe()
238 dwc3_data->rstc_pwrdn = in st_dwc3_probe()
240 if (IS_ERR(dwc3_data->rstc_pwrdn)) in st_dwc3_probe()
241 return dev_err_probe(dev, PTR_ERR(dwc3_data->rstc_pwrdn), in st_dwc3_probe()
245 reset_control_deassert(dwc3_data->rstc_pwrdn); in st_dwc3_probe()
247 dwc3_data->rstc_rst = in st_dwc3_probe()
249 if (IS_ERR(dwc3_data->rstc_rst)) { in st_dwc3_probe()
250 ret = dev_err_probe(dev, PTR_ERR(dwc3_data->rstc_rst), in st_dwc3_probe()
256 reset_control_deassert(dwc3_data->rstc_rst); in st_dwc3_probe()
272 dwc3_data->dr_mode = usb_get_dr_mode(&child_pdev->dev); in st_dwc3_probe()
281 ret = st_dwc3_drd_init(dwc3_data); in st_dwc3_probe()
288 st_dwc3_init(dwc3_data); in st_dwc3_probe()
290 platform_set_drvdata(pdev, dwc3_data); in st_dwc3_probe()
296 reset_control_assert(dwc3_data->rstc_rst); in st_dwc3_probe()
298 reset_control_assert(dwc3_data->rstc_pwrdn); in st_dwc3_probe()
304 struct st_dwc3 *dwc3_data = platform_get_drvdata(pdev); in st_dwc3_remove() local
308 reset_control_assert(dwc3_data->rstc_pwrdn); in st_dwc3_remove()
309 reset_control_assert(dwc3_data->rstc_rst); in st_dwc3_remove()
315 struct st_dwc3 *dwc3_data = dev_get_drvdata(dev); in st_dwc3_suspend() local
317 reset_control_assert(dwc3_data->rstc_pwrdn); in st_dwc3_suspend()
318 reset_control_assert(dwc3_data->rstc_rst); in st_dwc3_suspend()
327 struct st_dwc3 *dwc3_data = dev_get_drvdata(dev); in st_dwc3_resume() local
332 reset_control_deassert(dwc3_data->rstc_pwrdn); in st_dwc3_resume()
333 reset_control_deassert(dwc3_data->rstc_rst); in st_dwc3_resume()
335 ret = st_dwc3_drd_init(dwc3_data); in st_dwc3_resume()
342 st_dwc3_init(dwc3_data); in st_dwc3_resume()