summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Krummenacher <max.krummenacher@toradex.com>2015-02-04 13:09:49 +0100
committerMarcel Ziswiler <marcel.ziswiler@toradex.com>2017-12-21 14:29:10 +0100
commit0bfa192241b661f8791a3ecfdacd0c73311bdd48 (patch)
tree4992ead40230a823bbba66675ef7f74843f0ffa5
parente123320ed759113dec3a23df195a4d6c005d90ee (diff)
pcie-imx6: improve reset function for reseting EP
If the reset gpio for a PCIe switch is invalid, but a gpio for reseting downstream EP devices is valid no reset pulse for the EP devices is generated. (i.e. in the device tree reset-gpio is not defined but reset-ep-gpio is defined) The patch fixes this. Original patch from Juha Kokkonen, Huoltamoeletroniikka Ky Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com> Acked-by: Marcel Ziswiler <marcel.ziswiler@toradex.com> (cherry picked from commit f593ebc9921013a992c1d096bf4cbad17c1af01b) (cherry picked from commit 8437c2f0e4fafb9a31dd260704cc6b7a22bf33f8) Conflicts: drivers/pci/host/pci-imx6.c (cherry picked from commit fc0d0a29ab0e6fc0de72b63fba80845cc554d543)
-rw-r--r--drivers/pci/host/pci-imx6.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c
index bdd5685a91f8..ce282f065506 100644
--- a/drivers/pci/host/pci-imx6.c
+++ b/drivers/pci/host/pci-imx6.c
@@ -544,6 +544,11 @@ static void imx6_pcie_deassert_core_reset(struct imx6_pcie *imx6_pcie)
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);
}
return;