diff options
author | Wayne Chang <waynec@nvidia.com> | 2023-01-11 11:04:48 +0000 |
---|---|---|
committer | Vinod Koul <vkoul@kernel.org> | 2023-01-12 22:57:06 +0530 |
commit | e5f9124404d0c11fd19d1431901bcf76c535e241 (patch) | |
tree | a525b266b8a3d9841a1e2158dc3869d179f54c42 /drivers/phy/tegra | |
parent | eb5793fbea50e7c89fce0bb56ce9948fa67f125b (diff) | |
download | lwn-e5f9124404d0c11fd19d1431901bcf76c535e241.tar.gz lwn-e5f9124404d0c11fd19d1431901bcf76c535e241.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: Vinod Koul <vkoul@kernel.org>
Diffstat (limited to 'drivers/phy/tegra')
-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); } |