RE: [PATCH v1] PCI: imx6: Fix reference clock source selection
From: Hongxing Zhu <hongxing.zhu@nxp.com>
Date: 2026-03-26 01:20:26
Also in:
imx, linux-pci, lkml, stable
-----Original Message-----
From: Franz Schnyder <redacted>
Sent: 2026年3月25日 17:31
To: Hongxing Zhu <hongxing.zhu@nxp.com>; Lucas Stach
[off-list ref]; Lorenzo Pieralisi [off-list ref];
Krzysztof Wilczy��ski [off-list ref]; Manivannan Sadhasivam
[off-list ref]; Rob Herring [off-list ref]; Bjorn Helgaas
[off-list ref]; Frank Li [off-list ref]; Sascha Hauer
[off-list ref]; Pengutronix Kernel Team
[off-list ref]; Fabio Estevam [off-list ref]
Cc: Franz Schnyder <redacted>;
linux-pci@vger.kernel.org; linux-arm-kernel@lists.infradead.org;
imx@lists.linux.dev; linux-kernel@vger.kernel.org; Francesco Dolcini
[off-list ref]; stable@vger.kernel.org
Subject: [PATCH v1] PCI: imx6: Fix reference clock source selection
From: Franz Schnyder <redacted>
In the PCIe PHY init for the iMX95, the reference clock source selection uses
a conditional instead of always passing the mask. This currently breaks
functionality if the internal refclk is used.
Pass always IMX95_PCIE_REF_USE_PAD as the mask and clear the bit if
external refclk is not used.
Fixes: d8574ce57d76 ("PCI: imx6: Add external reference clock input mode
support")
Cc: stable@vger.kernel.org
Signed-off-by: Franz Schnyder <redacted>Apologies, I made an error when organizing the code. This bug was not caught during local testing because the external OSC clock input is permanently enabled on the EVK board. Acked-by: Richard Zhu <hongxing.zhu@nxp.com> Best Regards Richard Zhu
quoted hunk ↗ jump to hunk
--- drivers/pci/controller/dwc/pci-imx6.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-)diff --git a/drivers/pci/controller/dwc/pci-imx6.cb/drivers/pci/controller/dwc/pci-imx6.c index 81a7093494c8..e0580d6efa57 100644--- a/drivers/pci/controller/dwc/pci-imx6.c +++ b/drivers/pci/controller/dwc/pci-imx6.c@@ -268,8 +268,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); -- 2.43.0