• JC Kuo's avatar
    phy: tegra: xusb: Add sleepwalk and suspend/resume · c545a905
    JC Kuo authored
    This commit adds sleepwalk/wake and suspend/resume interfaces
    to Tegra XUSB PHY driver.
    
    Tegra XUSB host controller driver makes use of sleepwalk functions
    to enable/disable sleepwalk circuit which is in always-on partition
    and can respond to USB resume signals when controller is not powered.
    Sleepwalk can be enabled/disabled for any USB UPHY individually.
    
      - tegra_xusb_padctl_enable_phy_sleepwalk()
      - tegra_xusb_padctl_disable_phy_sleepwalk()
    
    Tegra XUSB host controller driver makes use of wake functions to
    enable/disable/query wake circuit which is in always-on partition
    can wake system up when USB resume happens.
    Wake circuit can be enabled/disabled for any USB PHY individually.
    
      - tegra_xusb_padctl_enable_phy_wake()
      - tegra_xusb_padctl_disable_phy_wake()
      - tegra_xusb_padctl_remote_wake_detected()
    
    This commit also adds two system suspend stubs that can be used to
    save and restore XUSB PADCTL context during system suspend and
    resume.
      - tegra_xusb_padctl_suspend_noirq()
      - tegra_xusb_padctl_resume_noirq()
    Signed-off-by: default avatarJC Kuo <jckuo@nvidia.com>
    Acked-By: default avatarVinod Koul <vkoul@kernel.org>
    Signed-off-by: default avatarThierry Reding <treding@nvidia.com>
    c545a905
xusb.c 33.9 KB