[PATCH v6 0/11] PCI: imx6: Add a method to handle CLKREQ# override

Manivannan Sadhasivam mani at kernel.org
Tue Jan 6 04:54:19 PST 2026


On Wed, Oct 15, 2025 at 11:04:17AM +0800, Richard Zhu wrote:
> Clock Request is a reference clock request signal as defined by the PCIe
> Mini CEM and M.2 specification; Also used by L1 PM Substates. But it's
> an optional signal added in PCIe CEM r4.0, sec 2. The CLKREQ# support is
> relied on the exact hardware board and device designs.
> 
> Add supports-clkreq property to i.MX PCIe M.2 port since the CLKREQ#
> signal would be driven active low on this M.2 connector by the add-in
> card to requtest reference clock. And, the host bridge driver can enable
> the ASPM L1 PM Substates support if this property present.
> 
> To support L1 PM Substates, add a callback to clear CLKREQ# override on
> the boards that support CLKREQ# in the hardware designs.
> 
> Main changes in v6:
> - Rebase to v6.18-rc1.
> - Add the dts changes into the v6 version patch-set.
> - Fix the i.MX95 refclk enable that was missed in the v5 series.
> - Make i.MX95 refclk enable parallel to the others.
> - Describe the potential CLKREQ# problem on i.MX95 19x19 EVK second
>   slot in the commit, and emphasis the CLKREQ# issue is caused by the
>   board and device hardware designs.
> 
> Main changes in v5:
> - New create imx8mm_pcie_clkreq_override() and keep the original
>   enable_ref_clk callback function.
> 
> Main changes in v4:
> - To align the function name when add the CLKREQ# override clear, rename
> imx8mm_pcie_enable_ref_clk(), clean up codes refer to Mani' suggestions.
> 
> 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 v6 01/11] arm64: dts: imx95-15x15-evk: Add supports-clkreq
> [PATCH v6 02/11] arm64: dts: imx95-19x19-evk: Add supports-clkreq
> [PATCH v6 03/11] arm64: dts: imx8mm-evk: Add supports-clkreq property
> [PATCH v6 04/11] arm64: dts: imx8mp-evk: Add supports-clkreq property
> [PATCH v6 05/11] arm64: dts: imx8mq-evk: Add supports-clkreq property
> [PATCH v6 06/11] arm64: dts: imx8qm-mek: Add supports-clkreq property
> [PATCH v6 07/11] arm64: dts: imx8qxp-mek: Add supports-clkreq
> [PATCH v6 08/11] PCI: dwc: Invoke post_init in dw_pcie_resume_noirq()
> [PATCH v6 09/11] PCI: imx6: Add a new imx8mm_pcie_clkreq_override()
> [PATCH v6 10/11] PCI: imx6: Add CLKREQ# override to enable REFCLK for
> [PATCH v6 11/11] PCI: imx6: Add a callback to clear CLKREQ# override

Squashed patch 9 with 11 and applied to controller/dwc-imx6, thanks!

- Mani

> 
> arch/arm64/boot/dts/freescale/imx8mm-evk.dtsi     |  1 +
> arch/arm64/boot/dts/freescale/imx8mp-evk.dts      |  1 +
> arch/arm64/boot/dts/freescale/imx8mq-evk.dts      |  2 ++
> arch/arm64/boot/dts/freescale/imx8qm-mek.dts      |  1 +
> arch/arm64/boot/dts/freescale/imx8qxp-mek.dts     |  1 +
> arch/arm64/boot/dts/freescale/imx95-15x15-evk.dts |  1 +
> arch/arm64/boot/dts/freescale/imx95-19x19-evk.dts |  1 +
> drivers/pci/controller/dwc/pci-imx6.c             | 50 +++++++++++++++++++++++++++++++++++++++++++++++++-
> drivers/pci/controller/dwc/pcie-designware-host.c |  3 +++
> 9 files changed, 60 insertions(+), 1 deletion(-)
> 

-- 
மணிவண்ணன் சதாசிவம்



More information about the linux-arm-kernel mailing list