aboutsummaryrefslogtreecommitdiff
path: root/drivers/pci/controller
diff options
context:
space:
mode:
authorGravatar Richard Zhu <hongxing.zhu@nxp.com> 2022-07-14 15:31:00 +0800
committerGravatar Bjorn Helgaas <bhelgaas@google.com> 2022-08-01 15:33:35 -0500
commitfea446eb9c77209dcd056fbd86c269a390075a29 (patch)
treeea8318728a55226a3b3cd17e6023b7c7428d3748 /drivers/pci/controller
parentPCI: imx6: Propagate .host_init() errors to caller (diff)
downloadlinux-fea446eb9c77209dcd056fbd86c269a390075a29.tar.gz
linux-fea446eb9c77209dcd056fbd86c269a390075a29.tar.bz2
linux-fea446eb9c77209dcd056fbd86c269a390075a29.zip
PCI: imx6: Disable i.MX6QDL clock when disabling ref clocks
When disabling PCIe clocks, disable i.MX6QDL ref clock too. Link: https://lore.kernel.org/r/1657783869-19194-9-git-send-email-hongxing.zhu@nxp.com Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
Diffstat (limited to 'drivers/pci/controller')
-rw-r--r--drivers/pci/controller/dwc/pci-imx6.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/pci/controller/dwc/pci-imx6.c b/drivers/pci/controller/dwc/pci-imx6.c
index 515515145306..f2157533442f 100644
--- a/drivers/pci/controller/dwc/pci-imx6.c
+++ b/drivers/pci/controller/dwc/pci-imx6.c
@@ -586,6 +586,14 @@ static void imx6_pcie_disable_ref_clk(struct imx6_pcie *imx6_pcie)
case IMX6SX:
clk_disable_unprepare(imx6_pcie->pcie_inbound_axi);
break;
+ case IMX6QP:
+ case IMX6Q:
+ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
+ IMX6Q_GPR1_PCIE_REF_CLK_EN, 0);
+ regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
+ IMX6Q_GPR1_PCIE_TEST_PD,
+ IMX6Q_GPR1_PCIE_TEST_PD);
+ break;
case IMX7D:
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
IMX7D_GPR12_PCIE_PHY_REFCLK_SEL,