From 4c38761167bdae9b2d2d769be438ff0326ddf1dd Mon Sep 17 00:00:00 2001 From: Sham Muthayyan Date: Tue, 17 Jul 2018 12:36:52 +0530 Subject: [PATCH] ipq807x: Add PCIE reset sequence Some cards are not working due to pcie reset. So doing pcie reset with pcie reset gpio. Change-Id: I0c631b116923b90bf94223d09e5662900a31244e Signed-off-by: Sham Muthayyan --- drivers/pci/pci_ipq.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/pci/pci_ipq.c b/drivers/pci/pci_ipq.c index bc7f4ae1a8..aa965c8628 100644 --- a/drivers/pci/pci_ipq.c +++ b/drivers/pci/pci_ipq.c @@ -483,6 +483,8 @@ void pcie_linkup(struct ipq_pcie *pcie) writel(LTSSM_EN, pcie->parf.start + PCIE_0_PCIE20_PARF_LTSSM); + if (pcie->version == PCIE_V2) + gpio_set_value(pcie->rst_gpio, GPIO_OUT_HIGH); mdelay(200); for (j = 0; j < 400; j++) { @@ -822,6 +824,7 @@ static int pci_ipq_ofdata_to_platdata(int id, struct ipq_pcie *pcie) pcie_linkup(pcie); break; case PCIE_V2: + gpio_set_value(pcie->rst_gpio, GPIO_OUT_LOW); pcie_phy_init(pcie); pcie_linkup(pcie); break;