Message ID | 20221114124053.1873316-11-waynec@nvidia.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 71d9e899584e11bbd7eaf9934a619c69a15060d8 |
Headers | show |
Series | Enable USB host and device functions on Jetson | expand |
On 14/11/2022 12:40, Wayne Chang wrote: > 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> > --- > V2 -> V3:nothing has changed > V1 -> V2:update the commit message. > drivers/phy/tegra/xusb-tegra186.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/drivers/phy/tegra/xusb-tegra186.c b/drivers/phy/tegra/xusb-tegra186.c > index 0996ede63387..f121b4ffbbfd 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); > } > Reviewed-by: Jon Hunter <jonathanh@nvidia.com> Thanks Jon
On 14-11-22, 20:40, Wayne Chang wrote: > 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. Applied, thanks
diff --git a/drivers/phy/tegra/xusb-tegra186.c b/drivers/phy/tegra/xusb-tegra186.c index 0996ede63387..f121b4ffbbfd 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); }
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> --- V2 -> V3:nothing has changed V1 -> V2:update the commit message. drivers/phy/tegra/xusb-tegra186.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-)