diff options
author | Max Krummenacher <max.krummenacher@toradex.com> | 2015-02-04 13:09:49 +0100 |
---|---|---|
committer | Max Krummenacher <max.krummenacher@toradex.com> | 2015-02-04 13:09:49 +0100 |
commit | f593ebc9921013a992c1d096bf4cbad17c1af01b (patch) | |
tree | 70c30a343d874000e5596d8affea01b3376ba203 /drivers | |
parent | 23b22e549ed6ede5b44a948824463daafb6745c3 (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
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/pci/host/pci-imx6.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/pci/host/pci-imx6.c b/drivers/pci/host/pci-imx6.c index e153932ea677..44213e110c5b 100644 --- a/drivers/pci/host/pci-imx6.c +++ b/drivers/pci/host/pci-imx6.c @@ -290,6 +290,10 @@ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp) msleep(1); if (gpio_is_valid(imx6_pcie->reset_ep_gpio)) gpio_set_value(imx6_pcie->reset_ep_gpio, 0); + } else if (gpio_is_valid(imx6_pcie->reset_ep_gpio)) { + gpio_set_value(imx6_pcie->reset_ep_gpio, 1); + msleep(100); + gpio_set_value(imx6_pcie->reset_ep_gpio, 0); } return 0; |