summaryrefslogtreecommitdiff
path: root/drivers/pci/controller/dwc/pci-imx6.c
diff options
context:
space:
mode:
authorOleksandr Suvorov <oleksandr.suvorov@toradex.com>2020-10-01 12:50:57 +0300
committerOleksandr Suvorov <oleksandr.suvorov@toradex.com>2021-01-27 20:58:49 +0200
commit9b0f88156e269f3472bf8372d08de43c07d8460d (patch)
tree474b7a19f39ec032979c7908c600878c166af174 /drivers/pci/controller/dwc/pci-imx6.c
parentf405694e9250498204eade42cc3d0b30165e3e01 (diff)
PCI: pci-imx6: disable end point if not needed
In asserted state of core it is safe to disable an end point of pcie host, saving power consumption. Related-to: ELB-3025 Signed-off-by: Oleksandr Suvorov <oleksandr.suvorov@toradex.com>
Diffstat (limited to 'drivers/pci/controller/dwc/pci-imx6.c')
-rw-r--r--drivers/pci/controller/dwc/pci-imx6.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index cd13f2e12adc..9d743c5c3263 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -1132,6 +1132,9 @@ static void imx6_pcie_assert_core_reset(struct imx6_pcie *imx6_pcie)
break;
}
+ if (imx6_pcie->dis_gpiod)
+ gpiod_set_value_cansleep(imx6_pcie->dis_gpiod, 1);
+
if (imx6_pcie->vpcie && regulator_is_enabled(imx6_pcie->vpcie) > 0) {
int ret = regulator_disable(imx6_pcie->vpcie);