USB: dwc2: Don't turn off the usbphy in suspend if wakeup is enabled
authorDouglas Anderson <dianders@chromium.org>
Mon, 20 May 2019 17:56:04 +0000 (10:56 -0700)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Tue, 18 Jun 2019 08:58:28 +0000 (11:58 +0300)
commitc846b03ff767149d75d4d8dca6d3d4945a21074a
treeeb0e2dcdb7b697427ee610c252268fe08efd7b01
parent1d390437f605db28596ad4c4bfeca2fed052c025
USB: dwc2: Don't turn off the usbphy in suspend if wakeup is enabled

If the 'snps,need-phy-for-wake' is set in the device tree then:

- We know that we can wakeup, so call device_set_wakeup_capable().
  The USB core will use this knowledge to enable wakeup by default.
- We know that we should keep the PHY on during suspend if something
  on our root hub needs remote wakeup.  This requires the patch (USB:
  Export usb_wakeup_enabled_descendants()).  Note that we don't keep
  the PHY on at suspend time if it's not needed because it would be a
  power draw.

If we later find some users of dwc2 that can support wakeup without
keeping the PHY on we may want to add a way to call
device_set_wakeup_capable() without keeping the PHY on at suspend
time.

Signed-off-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Chris Zhong <zyw@rock-chips.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/dwc2/core.h
drivers/usb/dwc2/hcd.c
drivers/usb/dwc2/platform.c