usb: host: xhci-tegra: Tegra186/Tegra194 LPM
Tegra186 and Tegra194 xHC supports USB 3.0 LPM. This commit enables XHCI_LPM_SUPPORT quirk for Tegra186 and Tegra194. Signed-off-by: JC Kuo <jckuo@nvidia.com> Acked-by: Thierry Reding <treding@nvidia.com> Signed-off-by: Mathias Nyman <mathias.nyman@linux.intel.com> Link: https://lore.kernel.org/r/20200312144517.1593-6-mathias.nyman@linux.intel.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2170a98d56
commit
cbb23d5572
|
@ -203,6 +203,7 @@ struct tegra_xusb_soc {
|
||||||
|
|
||||||
bool scale_ss_clock;
|
bool scale_ss_clock;
|
||||||
bool has_ipfs;
|
bool has_ipfs;
|
||||||
|
bool lpm_support;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct tegra_xusb_context {
|
struct tegra_xusb_context {
|
||||||
|
@ -1779,6 +1780,7 @@ static const struct tegra_xusb_soc tegra186_soc = {
|
||||||
.data_out = 0xec,
|
.data_out = 0xec,
|
||||||
.owner = 0xf0,
|
.owner = 0xf0,
|
||||||
},
|
},
|
||||||
|
.lpm_support = true,
|
||||||
};
|
};
|
||||||
|
|
||||||
static const char * const tegra194_supply_names[] = {
|
static const char * const tegra194_supply_names[] = {
|
||||||
|
@ -1808,6 +1810,7 @@ static const struct tegra_xusb_soc tegra194_soc = {
|
||||||
.data_out = 0x70,
|
.data_out = 0x70,
|
||||||
.owner = 0x74,
|
.owner = 0x74,
|
||||||
},
|
},
|
||||||
|
.lpm_support = true,
|
||||||
};
|
};
|
||||||
MODULE_FIRMWARE("nvidia/tegra194/xusb.bin");
|
MODULE_FIRMWARE("nvidia/tegra194/xusb.bin");
|
||||||
|
|
||||||
|
@ -1832,7 +1835,11 @@ static struct platform_driver tegra_xusb_driver = {
|
||||||
|
|
||||||
static void tegra_xhci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
static void tegra_xhci_quirks(struct device *dev, struct xhci_hcd *xhci)
|
||||||
{
|
{
|
||||||
|
struct tegra_xusb *tegra = dev_get_drvdata(dev);
|
||||||
|
|
||||||
xhci->quirks |= XHCI_PLAT;
|
xhci->quirks |= XHCI_PLAT;
|
||||||
|
if (tegra && tegra->soc->lpm_support)
|
||||||
|
xhci->quirks |= XHCI_LPM_SUPPORT;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int tegra_xhci_setup(struct usb_hcd *hcd)
|
static int tegra_xhci_setup(struct usb_hcd *hcd)
|
||||||
|
|
Loading…
Reference in New Issue