diff options
author | Vidya Sagar <vidyas@nvidia.com> | 2017-12-01 15:26:10 -0500 |
---|---|---|
committer | Adeel Raza <araza@nvidia.com> | 2017-12-05 12:13:16 -0500 |
commit | 90afc4fd287cca5887e800dfbfb437a002828ee9 (patch) | |
tree | 7c7ff660c28c856941f8b97a9f94dc146bd1fcba /drivers | |
parent | 1ea7762114567942c3f5be800c3ed8cff2fd7866 (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.c | 7 |
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 | ||
27 | struct tegra_p2u { | 29 | struct 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); |