diff options
author | Tuomas Tynkkynen <ttynkkynen@nvidia.com> | 2013-08-12 09:06:49 -0400 |
---|---|---|
committer | Felipe Balbi <balbi@ti.com> | 2013-08-12 14:29:46 -0400 |
commit | 2cdcec4fedd6a5ee77bd551e6be7505f2230cd43 (patch) | |
tree | aad4d77dbfcfd247ee4f6926904895fdec13e35c /drivers/usb/chipidea/host.c | |
parent | 23381db7cedc26f87a37746ccf7c658d977e467e (diff) |
usb: host: add has_tdi_phy_lpm capability bit
The has_hostpc capability bit indicates that the host controller has the
HOSTPC register extensions, but at the same time enables clock disabling
power saving features with the PHY Low Power Clock Disable (PHCD) bit.
However, some host controllers have the HOSTPC extensions but don't
support the low-power feature, so the PHCD bit must not be set on those
controllers. Add a separate capability bit for the low-power feature
instead, and change all existing users of has_hostpc to use this new
capability bit.
The idea for this commit is taken from an old 2012 commit that never got
merged ("disociate chipidea PHY low power suspend control from hostpc")
Inspired-by: Matthieu CASTET <matthieu.castet@parrot.com>
Signed-off-by: Tuomas Tynkkynen <ttynkkynen@nvidia.com>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Tested-by: Stephen Warren <swarren@nvidia.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
Diffstat (limited to 'drivers/usb/chipidea/host.c')
-rw-r--r-- | drivers/usb/chipidea/host.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/usb/chipidea/host.c b/drivers/usb/chipidea/host.c index 40d0fda4f66c..9b3aaf132bc3 100644 --- a/drivers/usb/chipidea/host.c +++ b/drivers/usb/chipidea/host.c | |||
@@ -63,6 +63,7 @@ static int host_start(struct ci_hdrc *ci) | |||
63 | ehci = hcd_to_ehci(hcd); | 63 | ehci = hcd_to_ehci(hcd); |
64 | ehci->caps = ci->hw_bank.cap; | 64 | ehci->caps = ci->hw_bank.cap; |
65 | ehci->has_hostpc = ci->hw_bank.lpm; | 65 | ehci->has_hostpc = ci->hw_bank.lpm; |
66 | ehci->has_tdi_phy_lpm = ci->hw_bank.lpm; | ||
66 | 67 | ||
67 | ret = usb_add_hcd(hcd, 0, 0); | 68 | ret = usb_add_hcd(hcd, 0, 0); |
68 | if (ret) | 69 | if (ret) |