Browse Source

pci: tegra: call tegra_pcie_board_init() earlier

The board PCI setup code may control regulators that are required simply
to bring up the PCI controller itself (or PLLs, IOs, ... it uses). Move
the call to this function earlier so that all board-provided resources
are ready early enough for everything to work.

Signed-off-by: Stephen Warren <swarren@nvidia.com>
Signed-off-by: Tom Warren <twarren@nvidia.com>
Stephen Warren 9 years ago
parent
commit
a02e263548
1 changed files with 2 additions and 2 deletions
  1. 2 2
      drivers/pci/pci_tegra.c

+ 2 - 2
drivers/pci/pci_tegra.c

@@ -618,8 +618,6 @@ static int tegra_pcie_power_on(struct tegra_pcie *pcie)
 		return err;
 		return err;
 	}
 	}
 
 
-	tegra_pcie_board_init();
-
 	err = tegra_powergate_sequence_power_up(TEGRA_POWERGATE_PCIE,
 	err = tegra_powergate_sequence_power_up(TEGRA_POWERGATE_PCIE,
 						PERIPH_ID_PCIE);
 						PERIPH_ID_PCIE);
 	if (err < 0) {
 	if (err < 0) {
@@ -1164,6 +1162,8 @@ void pci_init_board(void)
 	const void *fdt = gd->fdt_blob;
 	const void *fdt = gd->fdt_blob;
 	int count, nodes[1];
 	int count, nodes[1];
 
 
+	tegra_pcie_board_init();
+
 	count = fdtdec_find_aliases_for_id(fdt, "pcie-controller",
 	count = fdtdec_find_aliases_for_id(fdt, "pcie-controller",
 					   COMPAT_NVIDIA_TEGRA124_PCIE,
 					   COMPAT_NVIDIA_TEGRA124_PCIE,
 					   nodes, ARRAY_SIZE(nodes));
 					   nodes, ARRAY_SIZE(nodes));