[PATCH v2 0/2] PCI: imx6: Add a method to handle CLKREQ# override
From: Richard Zhu <hongxing.zhu@nxp.com>
Date: 2025-09-17 09:38:21
Also in:
imx, linux-pci, lkml
From: Richard Zhu <hongxing.zhu@nxp.com>
Date: 2025-09-17 09:38:21
Also in:
imx, linux-pci, lkml
The CLKREQ# is an open drain, active low signal that is driven low by the card to request reference clock. But the CLKREQ# maybe reserved on some old device, compliant with CEM r3.0 or before. Thus, this signal wouldn't be driven low by these old devices. Since the reference clock controlled by CLKREQ# may be required by i.MX PCIe host too. To make sure this clock is ready even when the CLKREQ# isn't driven low by the card(e.x old cards described above), force CLKREQ# override active low for i.MX PCIe host during initialization. The CLKREQ# override can be cleared safely when supports-clkreq is present and PCIe link is up later. Because the CLKREQ# would be driven low by the card in this case. Main changes in v2: - Update the commit message, and collect the reviewed-by tag. [PATCH v2 1/2] PCI: dwc: Invoke post_init in dw_pcie_resume_noirq() [PATCH v2 2/2] PCI: imx6: Add a method to handle CLKREQ# override drivers/pci/controller/dwc/pci-imx6.c | 35 +++++++++++++++++++++++++++++++++++ drivers/pci/controller/dwc/pcie-designware-host.c | 3 +++ 2 files changed, 38 insertions(+)