PCI: imx6: Assert i.MX8MM CLKREQ# even if no device present
authorRichard Zhu <hongxing.zhu@nxp.com>
Thu, 24 Feb 2022 03:06:53 +0000 (11:06 +0800)
committerLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Thu, 17 Mar 2022 08:59:59 +0000 (08:59 +0000)
commit45514f78c65cc9a09437f20e180625f94f769863
tree9d08e128bfd12cfafbda5a6d2932b0a45417247d
parentdeaf7a2c2e4b5072a743633bf37c45f34426a093
PCI: imx6: Assert i.MX8MM CLKREQ# even if no device present

The CLKREQ# signal is an open drain, active low signal that is driven
low by the remote Endpoint device. But it might not be driven low if no
Endpoint device is connected.

On i.MX8MM PCIe, phy_init() may fail and system boot may hang if no
Endpoint is connected to assert CLKREQ#.

Handle this as on i.MX8MQ, where we explicitly assert CLKREQ# so the
PHY can be initialized.

Link: https://lore.kernel.org/r/1645672013-8949-1-git-send-email-hongxing.zhu@nxp.com
Fixes: 178e244cb6e2 ("PCI: imx: Add the imx8mm pcie support")
Signed-off-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Reviewed-by: Lucas Stach <l.stach@pengutronix.de>
drivers/pci/controller/dwc/pci-imx6.c