summaryrefslogtreecommitdiff
path: root/drivers/pci/host
diff options
context:
space:
mode:
authorJay Agarwal <jagarwal@nvidia.com>2014-03-05 14:14:32 +0530
committerJay Agarwal <jagarwal@nvidia.com>2014-03-05 22:05:03 -0800
commit91e4b351b77955b10b525b6b24a736a559e20abd (patch)
tree1f2e71cc5d4ba813b633046638011ed12f0b19c6 /drivers/pci/host
parent3b0028c7d9017bfc5a08f7a38b868f0e9eb566e7 (diff)
pcie: host: tegra: Add pcie xclk assert/de-assert
Bug 1415344 Change-Id: I83b4776dda302a38969dcf8337c883309db622c7 Signed-off-by: Jay Agarwal <jagarwal@nvidia.com> Reviewed-on: http://git-master/r/377634 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Venu Byravarasu <vbyravarasu@nvidia.com>
Diffstat (limited to 'drivers/pci/host')
-rw-r--r--drivers/pci/host/pci-tegra.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/host/pci-tegra.c b/drivers/pci/host/pci-tegra.c
index af8f29face1d..52e7a4c14fe8 100644
--- a/drivers/pci/host/pci-tegra.c
+++ b/drivers/pci/host/pci-tegra.c
@@ -1012,6 +1012,9 @@ static int tegra_pcie_enable_controller(void)
/* Disable all execptions */
afi_writel(0, AFI_FPCI_ERROR_MASKS);
+ /* Take the PCIe interface module out of reset */
+ tegra_periph_reset_deassert(tegra_pcie.pcie_xclk);
+
/* deassert PEX reset signal */
for (i = 0; i < ARRAY_SIZE(pex_controller_registers); i++) {
val = afi_readl(pex_controller_registers[i]);
@@ -1111,6 +1114,8 @@ static int tegra_pcie_power_ungate(void)
pr_err("PCIE: powerup sequence failed: %d\n", err);
return err;
}
+
+ tegra_periph_reset_assert(tegra_pcie.pcie_xclk);
err = clk_prepare_enable(tegra_pcie.pcie_mselect);
if (err) {
pr_err("PCIE: mselect clk enable failed: %d\n", err);