Thread (3 messages) 3 messages, 3 authors, 2026-04-04

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.c
b/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
  
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help