[PATCH v2 2/2] PCI: imx6: Add a method to handle CLKREQ# override active low

Bjorn Helgaas helgaas at kernel.org
Wed Sep 17 15:23:56 PDT 2025


On Wed, Sep 17, 2025 at 05:37:51PM +0800, Richard Zhu wrote:
> 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.

Can you include a citation to a relevant section in the CEM spec?
Maybe the point is that CLKREQ# is an optional signal added in PCIe
CEM r4.0, sec 2?

If that's accurate, we can add it when applying, no need to repost for
that.

> 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.



More information about the linux-arm-kernel mailing list