aboutsummaryrefslogtreecommitdiff
path: root/drivers/pci/pci_tegra.c
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2018-05-11 15:22:36 -0400
committerTom Rini <trini@konsulko.com>2018-05-11 15:22:36 -0400
commit9a66328a37e3b31dbe646ef3668b60466e8abd9a (patch)
tree0ece22b0187232017e0930aa88fa4664772edba9 /drivers/pci/pci_tegra.c
parent57a72d0560eb7693a35a891f43587bcd6786dc04 (diff)
parent71cb3d7c7897cd02ca731f4c510fff49705b84b7 (diff)
Merge git://git.denx.de/u-boot-tegra
Diffstat (limited to 'drivers/pci/pci_tegra.c')
-rw-r--r--drivers/pci/pci_tegra.c17
1 files changed, 14 insertions, 3 deletions
diff --git a/drivers/pci/pci_tegra.c b/drivers/pci/pci_tegra.c
index b325914b15..56c08585e6 100644
--- a/drivers/pci/pci_tegra.c
+++ b/drivers/pci/pci_tegra.c
@@ -17,6 +17,7 @@
#include <errno.h>
#include <malloc.h>
#include <pci.h>
+#include <pci_tegra.h>
#include <power-domain.h>
#include <reset.h>
@@ -888,7 +889,7 @@ static unsigned long tegra_pcie_port_get_pex_ctrl(struct tegra_pcie_port *port)
return ret;
}
-static void tegra_pcie_port_reset(struct tegra_pcie_port *port)
+void tegra_pcie_port_reset(struct tegra_pcie_port *port)
{
unsigned long ctrl = tegra_pcie_port_get_pex_ctrl(port);
unsigned long value;
@@ -905,6 +906,16 @@ static void tegra_pcie_port_reset(struct tegra_pcie_port *port)
afi_writel(port->pcie, value, ctrl);
}
+int tegra_pcie_port_index_of_port(struct tegra_pcie_port *port)
+{
+ return port->index;
+}
+
+void __weak tegra_pcie_board_port_reset(struct tegra_pcie_port *port)
+{
+ tegra_pcie_port_reset(port);
+}
+
static void tegra_pcie_port_enable(struct tegra_pcie_port *port)
{
struct tegra_pcie *pcie = port->pcie;
@@ -923,7 +934,7 @@ static void tegra_pcie_port_enable(struct tegra_pcie_port *port)
afi_writel(pcie, value, ctrl);
- tegra_pcie_port_reset(port);
+ tegra_pcie_board_port_reset(port);
if (soc->force_pca_enable) {
value = rp_readl(port, RP_VEND_CTL2);
@@ -974,7 +985,7 @@ static bool tegra_pcie_port_check_link(struct tegra_pcie_port *port)
} while (--timeout);
retry:
- tegra_pcie_port_reset(port);
+ tegra_pcie_board_port_reset(port);
} while (--retries);
return false;