linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v6 0/11] PCI: imx6: Add a method to handle CLKREQ# override
@ 2025-10-15  3:04 Richard Zhu
  2025-10-15  3:04 ` [PATCH v6 01/11] arm64: dts: imx95-15x15-evk: Add supports-clkreq property to PCIe M.2 port Richard Zhu
                   ` (11 more replies)
  0 siblings, 12 replies; 29+ messages in thread
From: Richard Zhu @ 2025-10-15  3:04 UTC (permalink / raw)
  To: frank.li, l.stach, lpieralisi, kwilczynski, mani, robh, krzk+dt,
	conor+dt, bhelgaas, shawnguo, s.hauer, kernel, festevam
  Cc: linux-pci, linux-arm-kernel, devicetree, imx, linux-kernel

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

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



^ permalink raw reply	[flat|nested] 29+ messages in thread

end of thread, other threads:[~2025-11-12 17:27 UTC | newest]

Thread overview: 29+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-10-15  3:04 [PATCH v6 0/11] PCI: imx6: Add a method to handle CLKREQ# override Richard Zhu
2025-10-15  3:04 ` [PATCH v6 01/11] arm64: dts: imx95-15x15-evk: Add supports-clkreq property to PCIe M.2 port Richard Zhu
2025-10-31 19:37   ` Frank Li
2025-11-11  7:11   ` Shawn Guo
2025-11-11  8:02     ` Hongxing Zhu
2025-11-11 16:10       ` Frank Li
2025-11-12  1:50         ` Shawn Guo
2025-11-12 17:27           ` Frank Li
2025-10-15  3:04 ` [PATCH v6 02/11] arm64: dts: imx95-19x19-evk: " Richard Zhu
2025-10-31 19:37   ` Frank Li
2025-10-15  3:04 ` [PATCH v6 03/11] arm64: dts: imx8mm-evk: " Richard Zhu
2025-10-31 19:37   ` Frank Li
2025-10-15  3:04 ` [PATCH v6 04/11] arm64: dts: imx8mp-evk: " Richard Zhu
2025-10-31 19:38   ` Frank Li
2025-10-15  3:04 ` [PATCH v6 05/11] arm64: dts: imx8mq-evk: " Richard Zhu
2025-10-31 19:38   ` Frank Li
2025-10-15  3:04 ` [PATCH v6 06/11] arm64: dts: imx8qm-mek: " Richard Zhu
2025-10-31 19:39   ` Frank Li
2025-10-15  3:04 ` [PATCH v6 07/11] arm64: dts: imx8qxp-mek: " Richard Zhu
2025-10-31 19:40   ` Frank Li
2025-10-15  3:04 ` [PATCH v6 08/11] PCI: dwc: Invoke post_init in dw_pcie_resume_noirq() Richard Zhu
2025-10-15  3:04 ` [PATCH v6 09/11] PCI: imx6: Add a new imx8mm_pcie_clkreq_override() for i.MX8M PCIes Richard Zhu
2025-10-31 19:40   ` Frank Li
2025-10-15  3:04 ` [PATCH v6 10/11] PCI: imx6: Add CLKREQ# override to enable REFCLK for i.MX95 PCIe Richard Zhu
2025-10-30 10:54   ` Alexander Stein
2025-10-31 19:48   ` Frank Li
2025-10-15  3:04 ` [PATCH v6 11/11] PCI: imx6: Add a callback to clear CLKREQ# override Richard Zhu
2025-10-31 19:46   ` Frank Li
2025-11-12  1:52 ` [PATCH v6 0/11] PCI: imx6: Add a method to handle " Shawn Guo

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).