On Tue, Jan 19, 2021 at 04:55:38PM +0800, JC Kuo wrote:
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: JC Kuo <jckuo@nvidia.com>
---
v6:
no change
v5:
no change
v4:
move sleepwalk/wake stubs from 'struct tegra_xusb_padctl_ops' to
'struct tegra_xusb_lane_ops'
v3:
commit message improvement, no change in code
drivers/phy/tegra/xusb.c | 82 ++++++++++++++++++++++++++++++++++
drivers/phy/tegra/xusb.h | 8 ++++
include/linux/phy/tegra/xusb.h | 10 ++++-
3 files changed, 99 insertions(+), 1 deletion(-)
Acked-by: Thierry Reding <redacted>