Symbol: dwc3_imx
drivers/usb/dwc3/dwc3-imx.c
118
static void dwc3_imx_wakeup_enable(struct dwc3_imx *dwc_imx, pm_message_t msg)
drivers/usb/dwc3/dwc3-imx.c
137
static void dwc3_imx_wakeup_disable(struct dwc3_imx *dwc_imx)
drivers/usb/dwc3/dwc3-imx.c
148
struct dwc3_imx *dwc_imx = data;
drivers/usb/dwc3/dwc3-imx.c
197
struct dwc3_imx *dwc_imx;
drivers/usb/dwc3/dwc3-imx.c
289
static void dwc3_imx_suspend(struct dwc3_imx *dwc_imx, pm_message_t msg)
drivers/usb/dwc3/dwc3-imx.c
301
static void dwc3_imx_resume(struct dwc3_imx *dwc_imx, pm_message_t msg)
drivers/usb/dwc3/dwc3-imx.c
333
struct dwc3_imx *dwc_imx = to_dwc3_imx(dwc);
drivers/usb/dwc3/dwc3-imx.c
347
struct dwc3_imx *dwc_imx = to_dwc3_imx(dwc);
drivers/usb/dwc3/dwc3-imx.c
361
struct dwc3_imx *dwc_imx = to_dwc3_imx(dwc);
drivers/usb/dwc3/dwc3-imx.c
385
struct dwc3_imx *dwc_imx = to_dwc3_imx(dwc);
drivers/usb/dwc3/dwc3-imx.c
67
#define to_dwc3_imx(d) container_of((d), struct dwc3_imx, dwc)
drivers/usb/dwc3/dwc3-imx.c
69
static void dwc3_imx_get_property(struct dwc3_imx *dwc_imx)
drivers/usb/dwc3/dwc3-imx.c
83
static void dwc3_imx_configure_glue(struct dwc3_imx *dwc_imx)
drivers/usb/dwc3/dwc3-imx8mp.c
100
static void dwc3_imx8mp_wakeup_enable(struct dwc3_imx8mp *dwc3_imx,
drivers/usb/dwc3/dwc3-imx8mp.c
103
struct dwc3 *dwc3 = platform_get_drvdata(dwc3_imx->dwc3_pdev);
drivers/usb/dwc3/dwc3-imx8mp.c
109
val = readl(dwc3_imx->hsio_blk_base + USB_WAKEUP_CTRL);
drivers/usb/dwc3/dwc3-imx8mp.c
120
writel(val, dwc3_imx->hsio_blk_base + USB_WAKEUP_CTRL);
drivers/usb/dwc3/dwc3-imx8mp.c
123
static void dwc3_imx8mp_wakeup_disable(struct dwc3_imx8mp *dwc3_imx)
drivers/usb/dwc3/dwc3-imx8mp.c
127
val = readl(dwc3_imx->hsio_blk_base + USB_WAKEUP_CTRL);
drivers/usb/dwc3/dwc3-imx8mp.c
129
writel(val, dwc3_imx->hsio_blk_base + USB_WAKEUP_CTRL);
drivers/usb/dwc3/dwc3-imx8mp.c
144
struct dwc3_imx8mp *dwc3_imx = _dwc3_imx;
drivers/usb/dwc3/dwc3-imx8mp.c
145
struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3_pdev);
drivers/usb/dwc3/dwc3-imx8mp.c
147
if (!dwc3_imx->pm_suspended)
drivers/usb/dwc3/dwc3-imx8mp.c
150
disable_irq_nosync(dwc3_imx->irq);
drivers/usb/dwc3/dwc3-imx8mp.c
151
dwc3_imx->wakeup_pending = true;
drivers/usb/dwc3/dwc3-imx8mp.c
184
struct dwc3_imx8mp *dwc3_imx;
drivers/usb/dwc3/dwc3-imx8mp.c
194
dwc3_imx = devm_kzalloc(dev, sizeof(*dwc3_imx), GFP_KERNEL);
drivers/usb/dwc3/dwc3-imx8mp.c
195
if (!dwc3_imx)
drivers/usb/dwc3/dwc3-imx8mp.c
198
platform_set_drvdata(pdev, dwc3_imx);
drivers/usb/dwc3/dwc3-imx8mp.c
200
dwc3_imx->dev = dev;
drivers/usb/dwc3/dwc3-imx8mp.c
202
dwc3_imx->hsio_blk_base = devm_platform_ioremap_resource(pdev, 0);
drivers/usb/dwc3/dwc3-imx8mp.c
203
if (IS_ERR(dwc3_imx->hsio_blk_base))
drivers/usb/dwc3/dwc3-imx8mp.c
204
return PTR_ERR(dwc3_imx->hsio_blk_base);
drivers/usb/dwc3/dwc3-imx8mp.c
210
dwc3_imx->glue_base = devm_ioremap_resource(dev, res);
drivers/usb/dwc3/dwc3-imx8mp.c
211
if (IS_ERR(dwc3_imx->glue_base))
drivers/usb/dwc3/dwc3-imx8mp.c
212
return PTR_ERR(dwc3_imx->glue_base);
drivers/usb/dwc3/dwc3-imx8mp.c
215
dwc3_imx->hsio_clk = devm_clk_get_enabled(dev, "hsio");
drivers/usb/dwc3/dwc3-imx8mp.c
216
if (IS_ERR(dwc3_imx->hsio_clk))
drivers/usb/dwc3/dwc3-imx8mp.c
217
return dev_err_probe(dev, PTR_ERR(dwc3_imx->hsio_clk),
drivers/usb/dwc3/dwc3-imx8mp.c
220
dwc3_imx->suspend_clk = devm_clk_get_enabled(dev, "suspend");
drivers/usb/dwc3/dwc3-imx8mp.c
221
if (IS_ERR(dwc3_imx->suspend_clk))
drivers/usb/dwc3/dwc3-imx8mp.c
222
return dev_err_probe(dev, PTR_ERR(dwc3_imx->suspend_clk),
drivers/usb/dwc3/dwc3-imx8mp.c
228
dwc3_imx->irq = irq;
drivers/usb/dwc3/dwc3-imx8mp.c
235
imx8mp_configure_glue(dwc3_imx);
drivers/usb/dwc3/dwc3-imx8mp.c
256
dwc3_imx->dwc3_pdev = of_find_device_by_node(dwc3_np);
drivers/usb/dwc3/dwc3-imx8mp.c
257
if (!dwc3_imx->dwc3_pdev) {
drivers/usb/dwc3/dwc3-imx8mp.c
263
dwc3 = platform_get_drvdata(dwc3_imx->dwc3_pdev);
drivers/usb/dwc3/dwc3-imx8mp.c
275
IRQF_ONESHOT, dev_name(dev), dwc3_imx);
drivers/usb/dwc3/dwc3-imx8mp.c
287
put_device(&dwc3_imx->dwc3_pdev->dev);
drivers/usb/dwc3/dwc3-imx8mp.c
301
struct dwc3_imx8mp *dwc3_imx = platform_get_drvdata(pdev);
drivers/usb/dwc3/dwc3-imx8mp.c
304
put_device(&dwc3_imx->dwc3_pdev->dev);
drivers/usb/dwc3/dwc3-imx8mp.c
314
static int dwc3_imx8mp_suspend(struct dwc3_imx8mp *dwc3_imx, pm_message_t msg)
drivers/usb/dwc3/dwc3-imx8mp.c
316
if (dwc3_imx->pm_suspended)
drivers/usb/dwc3/dwc3-imx8mp.c
320
if (PMSG_IS_AUTO(msg) || device_may_wakeup(dwc3_imx->dev))
drivers/usb/dwc3/dwc3-imx8mp.c
321
dwc3_imx8mp_wakeup_enable(dwc3_imx, msg);
drivers/usb/dwc3/dwc3-imx8mp.c
323
dwc3_imx->pm_suspended = true;
drivers/usb/dwc3/dwc3-imx8mp.c
328
static int dwc3_imx8mp_resume(struct dwc3_imx8mp *dwc3_imx, pm_message_t msg)
drivers/usb/dwc3/dwc3-imx8mp.c
330
struct dwc3 *dwc = platform_get_drvdata(dwc3_imx->dwc3_pdev);
drivers/usb/dwc3/dwc3-imx8mp.c
333
if (!dwc3_imx->pm_suspended)
drivers/usb/dwc3/dwc3-imx8mp.c
337
dwc3_imx8mp_wakeup_disable(dwc3_imx);
drivers/usb/dwc3/dwc3-imx8mp.c
338
dwc3_imx->pm_suspended = false;
drivers/usb/dwc3/dwc3-imx8mp.c
341
imx8mp_configure_glue(dwc3_imx);
drivers/usb/dwc3/dwc3-imx8mp.c
343
if (dwc3_imx->wakeup_pending) {
drivers/usb/dwc3/dwc3-imx8mp.c
344
dwc3_imx->wakeup_pending = false;
drivers/usb/dwc3/dwc3-imx8mp.c
354
enable_irq(dwc3_imx->irq);
drivers/usb/dwc3/dwc3-imx8mp.c
362
struct dwc3_imx8mp *dwc3_imx = dev_get_drvdata(dev);
drivers/usb/dwc3/dwc3-imx8mp.c
365
ret = dwc3_imx8mp_suspend(dwc3_imx, PMSG_SUSPEND);
drivers/usb/dwc3/dwc3-imx8mp.c
367
if (device_may_wakeup(dwc3_imx->dev)) {
drivers/usb/dwc3/dwc3-imx8mp.c
368
enable_irq_wake(dwc3_imx->irq);
drivers/usb/dwc3/dwc3-imx8mp.c
374
clk_disable_unprepare(dwc3_imx->suspend_clk);
drivers/usb/dwc3/dwc3-imx8mp.c
377
clk_disable_unprepare(dwc3_imx->hsio_clk);
drivers/usb/dwc3/dwc3-imx8mp.c
385
struct dwc3_imx8mp *dwc3_imx = dev_get_drvdata(dev);
drivers/usb/dwc3/dwc3-imx8mp.c
388
if (device_may_wakeup(dwc3_imx->dev)) {
drivers/usb/dwc3/dwc3-imx8mp.c
389
disable_irq_wake(dwc3_imx->irq);
drivers/usb/dwc3/dwc3-imx8mp.c
391
ret = clk_prepare_enable(dwc3_imx->suspend_clk);
drivers/usb/dwc3/dwc3-imx8mp.c
396
ret = clk_prepare_enable(dwc3_imx->hsio_clk);
drivers/usb/dwc3/dwc3-imx8mp.c
398
clk_disable_unprepare(dwc3_imx->suspend_clk);
drivers/usb/dwc3/dwc3-imx8mp.c
402
ret = dwc3_imx8mp_resume(dwc3_imx, PMSG_RESUME);
drivers/usb/dwc3/dwc3-imx8mp.c
415
struct dwc3_imx8mp *dwc3_imx = dev_get_drvdata(dev);
drivers/usb/dwc3/dwc3-imx8mp.c
419
return dwc3_imx8mp_suspend(dwc3_imx, PMSG_AUTO_SUSPEND);
drivers/usb/dwc3/dwc3-imx8mp.c
424
struct dwc3_imx8mp *dwc3_imx = dev_get_drvdata(dev);
drivers/usb/dwc3/dwc3-imx8mp.c
428
return dwc3_imx8mp_resume(dwc3_imx, PMSG_AUTO_RESUME);
drivers/usb/dwc3/dwc3-imx8mp.c
64
static void imx8mp_configure_glue(struct dwc3_imx8mp *dwc3_imx)
drivers/usb/dwc3/dwc3-imx8mp.c
66
struct device *dev = dwc3_imx->dev;
drivers/usb/dwc3/dwc3-imx8mp.c
69
if (!dwc3_imx->glue_base)
drivers/usb/dwc3/dwc3-imx8mp.c
72
value = readl(dwc3_imx->glue_base + USB_CTRL0);
drivers/usb/dwc3/dwc3-imx8mp.c
84
writel(value, dwc3_imx->glue_base + USB_CTRL0);
drivers/usb/dwc3/dwc3-imx8mp.c
86
value = readl(dwc3_imx->glue_base + USB_CTRL1);
drivers/usb/dwc3/dwc3-imx8mp.c
97
writel(value, dwc3_imx->glue_base + USB_CTRL1);