PCI: imx6: Initialize PHY before deasserting core reset
authorSascha Hauer <s.hauer@pengutronix.de>
Tue, 1 Nov 2022 09:57:14 +0000 (10:57 +0100)
committerLorenzo Pieralisi <lpieralisi@kernel.org>
Fri, 11 Nov 2022 15:56:10 +0000 (16:56 +0100)
commitae6b9a65af480144da323436d90e149501ea8937
treec24fb7eec642566e4575e53371a460c105f7b720
parent8405d8f0956d227c3355d9bdbabc23f79f721ce4
PCI: imx6: Initialize PHY before deasserting core reset

When the PHY is the reference clock provider then it must be initialized
and powered on before the reset on the client is deasserted, otherwise
the link will never come up. The order was changed in cf236e0c0d59.
Restore the correct order to make the driver work again on boards where
the PHY provides the reference clock. This also changes the order for
boards where the Soc is the PHY reference clock divider, but this
shouldn't do any harm.

Link: https://lore.kernel.org/r/20221101095714.440001-1-s.hauer@pengutronix.de
Fixes: cf236e0c0d59 ("PCI: imx6: Do not hide PHY driver callbacks and refine the error handling")
Tested-by: Richard Zhu <hongxing.zhu@nxp.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Lorenzo Pieralisi <lpieralisi@kernel.org>
drivers/pci/controller/dwc/pci-imx6.c