]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
PCI: imx6: Clear CLKREQ# override if 'supports-clkreq' DT property is available
authorRichard Zhu <hongxing.zhu@nxp.com>
Tue, 6 Jan 2026 11:49:19 +0000 (17:19 +0530)
committerManivannan Sadhasivam <mani@kernel.org>
Wed, 21 Jan 2026 07:39:48 +0000 (13:09 +0530)
commita152a90f53909544fe996fb0fa072ae9e355c452
treec1a1db84b13d149dffaa56b9669cb26875d89351
parent27a064aba2da6bc58fc36a6b8e889187ae3bf89d
PCI: imx6: Clear CLKREQ# override if 'supports-clkreq' DT property is available

CLKREQ# is an optional reference clock request signal defined by the PCIe
CEM and M.2 specifications to request REFCLK and exit the L1 Substates. The
imx6 controller driver so far forced the CLKREQ# signal to low by enabling
the CLKREQ# override logic as the slots do not expose this signal.

Now, there are board designs coming up exposing this signal to the endpoint
devices. This is identified using the 'supports-clkreq' DT property in the
controller node.

So when the DT node has this property, clear the CLKREQ# override after
link up in host_post_init() callback to allow the endpoint to drive the
CLKREQ# signal.

Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
[mani: squashed the imx8mm_pcie_clkreq_override helper patch & reworded description]
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
drivers/pci/controller/dwc/pci-imx6.c