]> Gentwo Git Trees - linux/.git/commitdiff
usb: dwc3: imx8mp: Set out of band wakeup for i.MX95
authorPeng Fan <peng.fan@nxp.com>
Mon, 22 Sep 2025 02:21:10 +0000 (10:21 +0800)
committerUlf Hansson <ulf.hansson@linaro.org>
Wed, 19 Nov 2025 17:06:49 +0000 (18:06 +0100)
i.MX95 DWC3 inside HSIOMIX could still wakeup Linux, even if HSIOMIX
power domain(Digital logic) is off. There is still always on logic
have the wakeup capability which is out band wakeup capbility.

So use device_set_out_band_wakeup for i.MX95 to make sure DWC3 could
wakeup system even if HSIOMIX power domain is in off state.

Acked-by: Thinh Nguyen <Thinh.Nguyen@synopsys.com>
Tested-by: Xu Yang <xu.yang_2@nxp.com>
Reviewed-by: Xu Yang <xu.yang_2@nxp.com>
Signed-off-by: Peng Fan <peng.fan@nxp.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/usb/dwc3/dwc3-imx8mp.c

index bce6af82f54c24423c1e1fcc46913c8456b6f035..225d59e9c1901c36be1fc18311dace6cdd45de75 100644 (file)
@@ -334,10 +334,15 @@ static int dwc3_imx8mp_pm_suspend(struct device *dev)
 
        ret = dwc3_imx8mp_suspend(dwc3_imx, PMSG_SUSPEND);
 
-       if (device_may_wakeup(dwc3_imx->dev))
+       if (device_may_wakeup(dwc3_imx->dev)) {
                enable_irq_wake(dwc3_imx->irq);
-       else
+
+               if (device_is_compatible(dev, "fsl,imx95-dwc3"))
+                       device_set_out_band_wakeup(dev);
+
+       } else {
                clk_disable_unprepare(dwc3_imx->suspend_clk);
+       }
 
        clk_disable_unprepare(dwc3_imx->hsio_clk);
        dev_dbg(dev, "dwc3 imx8mp pm suspend.\n");