summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Ziswiler <marcel.ziswiler@toradex.com>2016-01-06 15:44:07 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2017-01-10 23:13:18 +0100
commit826486c65363059986fa12fa1eeb7c0e50c3af48 (patch)
tree52acdc900e702bc0928f331cdf0d3732f396b7de
parent0937b93e6b20397005f0242a54a17b97a128e960 (diff)
PCI: imx6: fix PCIe EP device self-initialisation
This fixes PCIe EP device self-initialisation in case only a regular reset EP GPIO is used as PERST# which is e.g. the case on our Ixora carrier board by always waiting 20 milliseconds after releasing PERST#. Signed-off-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> Acked-by: Max Krummenacher <max.krummenacher@toradex.com> (cherry picked from commit 3eaf56fc694e8b960a29e0205f40380cf59f9fc9)
-rw-r--r--drivers/pci/host/pci-imx6.c3
1 files changed, 1 insertions, 2 deletions
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
index cad18fc37261..143779cd7e98 100644
--- a/drivers/pci/host/pci-imx6.c
+++ b/drivers/pci/host/pci-imx6.c
@@ -431,13 +431,12 @@ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp)
mdelay(1);
if (gpio_is_valid(imx6_pcie->reset_ep_gpio))
gpio_set_value_cansleep(imx6_pcie->reset_ep_gpio, 0);
- mdelay(20);
} else if (gpio_is_valid(imx6_pcie->reset_ep_gpio)) {
gpio_set_value_cansleep(imx6_pcie->reset_ep_gpio, 1);
mdelay(100);
gpio_set_value_cansleep(imx6_pcie->reset_ep_gpio, 0);
- mdelay(20);
}
+ mdelay(20);
/*
* Release the PCIe PHY reset here
*/