diff options
author | Wayne Chang <waynec@nvidia.com> | 2023-01-11 11:04:48 +0000 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-01-17 17:27:41 +0100 |
commit | 71d9e899584e11bbd7eaf9934a619c69a15060d8 (patch) | |
tree | 2c89d30bd14db2daec41eff013340b0d7fd214d9 /drivers/phy/tegra/xusb-tegra186.c | |
parent | 1b17df99730ab63b49848e61ef19d8ee583684c5 (diff) | |
download | lwn-71d9e899584e11bbd7eaf9934a619c69a15060d8.tar.gz lwn-71d9e899584e11bbd7eaf9934a619c69a15060d8.zip |
phy: tegra: xusb: Disable trk clk when not in use
Pad tracking is a one-time calibration for Tegra186 and Tegra194.
Clk should be disabled after calibration.
Disable clk after calibration.
While at it add 100us delay for HW recording the calibration value.
Signed-off-by: Wayne Chang <waynec@nvidia.com>
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Link: https://lore.kernel.org/r/20230111110450.24617-5-jonathanh@nvidia.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/phy/tegra/xusb-tegra186.c')
-rw-r--r-- | drivers/phy/tegra/xusb-tegra186.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/phy/tegra/xusb-tegra186.c b/drivers/phy/tegra/xusb-tegra186.c index 6a8bd87cfdbd..c00d14f27ab4 100644 --- a/drivers/phy/tegra/xusb-tegra186.c +++ b/drivers/phy/tegra/xusb-tegra186.c @@ -609,6 +609,10 @@ static void tegra186_utmi_bias_pad_power_on(struct tegra_xusb_padctl *padctl) value &= ~USB2_PD_TRK; padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL1); + udelay(100); + + clk_disable_unprepare(priv->usb2_trk_clk); + mutex_unlock(&padctl->lock); } @@ -633,8 +637,6 @@ static void tegra186_utmi_bias_pad_power_off(struct tegra_xusb_padctl *padctl) value |= USB2_PD_TRK; padctl_writel(padctl, value, XUSB_PADCTL_USB2_BIAS_PAD_CTL1); - clk_disable_unprepare(priv->usb2_trk_clk); - mutex_unlock(&padctl->lock); } |