summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRakesh Babu Bodla <rbodla@nvidia.com>2015-04-27 14:07:05 +0530
committerMatthew Pedro <mapedro@nvidia.com>2015-05-14 09:53:15 -0700
commita3d4881945e79212bc5f337c819e1ae1b4fd5dbd (patch)
treee8f4a9a576305d937ae4c4b6acebd3ccba549058
parentd6f5cb65f3c74c95667404a9dc3ffa380d60cc6d (diff)
usb: phy: tegra: set UTMIP_PCOUNT_UPDN_DIV to zero
Set UTMIP_PCOUNT_UPDN_DIV to zero to address hosts having jitter issues. Bug 200085253 Bug 200100469 Change-Id: I3f0202b74dbbbd697d52c386626112714f26834f Signed-off-by: Rakesh Babu Bodla <rbodla@nvidia.com> Reviewed-on: http://git-master/r/736178 (cherry picked from commit 6d1f2be772751ebb0fb07dce2fc6992467c19eab) Reviewed-on: http://git-master/r/740972 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Bibek Basu <bbasu@nvidia.com> Tested-by: Bibek Basu <bbasu@nvidia.com> Reviewed-by: Matthew Pedro <mapedro@nvidia.com> Reviewed-by: Venkat Moganty <vmoganty@nvidia.com>
-rw-r--r--drivers/usb/phy/tegra11x_usb_phy.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/usb/phy/tegra11x_usb_phy.c b/drivers/usb/phy/tegra11x_usb_phy.c
index c56d6ca8c5f7..b177a5a87041 100644
--- a/drivers/usb/phy/tegra11x_usb_phy.c
+++ b/drivers/usb/phy/tegra11x_usb_phy.c
@@ -1,7 +1,7 @@
/*
* drivers/usb/phy/tegra11x_usb_phy.c
*
- * Copyright (c) 2012-2014 NVIDIA Corporation. All rights reserved.
+ * Copyright (c) 2012-2015 NVIDIA Corporation. All rights reserved.
*
*
* This software is licensed under the terms of the GNU General Public
@@ -120,6 +120,7 @@
#define UTMIP_HSRX_CFG0 0x810
#define UTMIP_ELASTIC_LIMIT(x) (((x) & 0x1f) << 10)
#define UTMIP_IDLE_WAIT(x) (((x) & 0x1f) << 15)
+#define UTMIP_PCOUNT_UPDN_DIV(x) (((x) & 0xf) << 24)
#define UTMIP_HSRX_CFG1 0x814
#define UTMIP_HS_SYNC_START_DLY(x) (((x) & 0x1f) << 1)
@@ -1048,6 +1049,9 @@ static int utmi_phy_power_on(struct tegra_usb_phy *phy)
val = readl(base + UTMIP_HSRX_CFG0);
val &= ~(UTMIP_IDLE_WAIT(~0) | UTMIP_ELASTIC_LIMIT(~0));
+#ifndef CONFIG_ARCH_TEGRA_21x_SOC
+ val &= ~UTMIP_PCOUNT_UPDN_DIV(~0);
+#endif
val |= UTMIP_IDLE_WAIT(config->idle_wait_delay);
val |= UTMIP_ELASTIC_LIMIT(config->elastic_limit);
writel(val, base + UTMIP_HSRX_CFG0);