• Al Cooper's avatar
    phy: usb: Add "wake on" functionality · f1c0db40
    Al Cooper authored
    Add the ability to handle USB wake events from USB devices when
    in S2 mode. Typically there is some additional configuration
    needed to tell the USB device to generate the wake event when
    suspended but this varies with the different USB device classes.
    For example, on USB Ethernet dongles, ethtool should be used to
    enable the magic packet wake functionality in the dongle.
    NOTE:  This requires that the "power/wakeup" sysfs entry for
    the USB device generating the wakeup be set to "enabled".
    
    This functionality requires a special hardware sideband path that
    will trigger the AON_PM_L2 interrupt needed to wake the system from
    S2 even though the USB host controllers are in IDDQ (low power state)
    and most USB related clocks are shut off. For the sideband signaling
    to work we need to leave the usbx_freerun clock running, but this
    clock consumes very little power by design. There's a bug in the
    XHCI wake hardware so only EHCI/OHCI wake is currently supported.
    Signed-off-by: default avatarAl Cooper <alcooperx@gmail.com>
    Reviewed-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
    Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
    f1c0db40
phy-brcm-usb-init.c 33.1 KB