[PATCH v3 0/2] PCI: imx6: Add a method to handle CLKREQ# override
From: Richard Zhu <hongxing.zhu@nxp.com>
Date: 2025-09-22 02:38:19
Also in:
imx, linux-pci, lkml
From: Richard Zhu <hongxing.zhu@nxp.com>
Date: 2025-09-22 02:38:19
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. It's an optional signal added in PCIe CEM r4.0, sec 2. Thus, this signal wouldn't be driven low if it's reserved. 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 the scenario 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 at this time. Main changes in v3: - Rebase to v6.17-rc1. - Update the commit message refer to Bjorn's suggestions. Main changes in v2: - Update the commit message, and collect the reviewed-by tag. [PATCH v3 1/2] PCI: dwc: Invoke post_init in dw_pcie_resume_noirq() [PATCH v3 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(+)