Thread (6 messages) 6 messages, 3 authors, 2025-09-20
STALE287d
Revisions (6)
  1. v1 [diff vs current]
  2. v2 current
  3. v3 [diff vs current]
  4. v4 [diff vs current]
  5. v5 [diff vs current]
  6. v6 [diff vs current]

[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

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(+)

Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help