]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: imx6: Fix reference clock source selection for i.MX95
authorFranz Schnyder <franz.schnyder@toradex.com>
Wed, 25 Mar 2026 09:31:16 +0000 (10:31 +0100)
committerBjorn Helgaas <bhelgaas@google.com>
Mon, 6 Apr 2026 16:01:46 +0000 (11:01 -0500)
In the PCIe PHY init for the i.MX95, the reference clock source selection
uses a conditional instead of always passing the mask. This currently
breaks functionality if the internal refclk is used.

To fix this issue, always pass IMX95_PCIE_REF_USE_PAD as the mask and clear
bit if external refclk is not used. This essentially swaps the parameters.

Fixes: d8574ce57d76 ("PCI: imx6: Add external reference clock input mode support")
Signed-off-by: Franz Schnyder <franz.schnyder@toradex.com>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Acked-by: Richard Zhu <hongxing.zhu@nxp.com>
Cc: stable@vger.kernel.org
Link: https://patch.msgid.link/20260325093118.684142-1-fra.schnyder@gmail.com
drivers/pci/controller/dwc/pci-imx6.c

index a1da72dd85b0a21c9385af78516590c4acb26b1a..3b298f8659ea5dc724b3394bc24707fd25fe9ac8 100644 (file)
@@ -270,8 +270,8 @@ static int imx95_pcie_init_phy(struct imx_pcie *imx_pcie)
                        IMX95_PCIE_PHY_CR_PARA_SEL);
 
        regmap_update_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_PHY_GEN_CTRL,
-                          ext ? IMX95_PCIE_REF_USE_PAD : 0,
-                          IMX95_PCIE_REF_USE_PAD);
+                          IMX95_PCIE_REF_USE_PAD,
+                          ext ? IMX95_PCIE_REF_USE_PAD : 0);
        regmap_update_bits(imx_pcie->iomuxc_gpr, IMX95_PCIE_SS_RW_REG_0,
                           IMX95_PCIE_REF_CLKEN,
                           ext ? 0 : IMX95_PCIE_REF_CLKEN);