summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorVidya Sagar <vidyas@nvidia.com>2017-12-01 15:26:10 -0500
committerAdeel Raza <araza@nvidia.com>2017-12-05 12:13:16 -0500
commit90afc4fd287cca5887e800dfbfb437a002828ee9 (patch)
tree7c7ff660c28c856941f8b97a9f94dc146bd1fcba /drivers
parent1ea7762114567942c3f5be800c3ed8cff2fd7866 (diff)
phy: tegra: pcie: disable SLCG for P2U
Disables SLCG for P2U module for initial bringup bug 200369845 Change-Id: I53e9488a1c276046770ccb3e0599cae89d02be5d Signed-off-by: Vidya Sagar <vidyas@nvidia.com> Reviewed-on: https://git-master.nvidia.com/r/1609992 Reviewed-by: Automatic_Commit_Validation_User GVS: Gerrit_Virtual_Submit Reviewed-by: Manikanta Maddireddy <mmaddireddy@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/phy/phy-tegra-p2u.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/phy/phy-tegra-p2u.c b/drivers/phy/phy-tegra-p2u.c
index 5a52c255e..0f47622fc 100644
--- a/drivers/phy/phy-tegra-p2u.c
+++ b/drivers/phy/phy-tegra-p2u.c
@@ -23,6 +23,8 @@
23#define P2U_PERIODIC_EQ_CTRL_GEN3_INIT_PRESET_EQ_TRAIN_EN BIT(1) 23#define P2U_PERIODIC_EQ_CTRL_GEN3_INIT_PRESET_EQ_TRAIN_EN BIT(1)
24#define P2U_PERIODIC_EQ_CTRL_GEN4 0xc4 24#define P2U_PERIODIC_EQ_CTRL_GEN4 0xc4
25#define P2U_PERIODIC_EQ_CTRL_GEN4_INIT_PRESET_EQ_TRAIN_EN BIT(1) 25#define P2U_PERIODIC_EQ_CTRL_GEN4_INIT_PRESET_EQ_TRAIN_EN BIT(1)
26#define P2U_SLCG 0xbc
27#define P2U_SLCG_MASTER BIT(0)
26 28
27struct tegra_p2u { 29struct tegra_p2u {
28 void __iomem *base; 30 void __iomem *base;
@@ -39,6 +41,11 @@ static int tegra_p2u_power_on(struct phy *x)
39 u32 val; 41 u32 val;
40 struct tegra_p2u *phy = phy_get_drvdata(x); 42 struct tegra_p2u *phy = phy_get_drvdata(x);
41 43
44 /* Disable SLCG */
45 /* NOTE:- This needs to be removed after initial bringup */
46 val = readl(phy->base + P2U_SLCG);
47 writel(val | P2U_SLCG_MASTER, phy->base + P2U_SLCG);
48
42 val = readl(phy->base + P2U_PERIODIC_EQ_CTRL_GEN3); 49 val = readl(phy->base + P2U_PERIODIC_EQ_CTRL_GEN3);
43 val |= P2U_PERIODIC_EQ_CTRL_GEN3_INIT_PRESET_EQ_TRAIN_EN; 50 val |= P2U_PERIODIC_EQ_CTRL_GEN3_INIT_PRESET_EQ_TRAIN_EN;
44 writel(val, phy->base + P2U_PERIODIC_EQ_CTRL_GEN3); 51 writel(val, phy->base + P2U_PERIODIC_EQ_CTRL_GEN3);