PCI: imx6: Initialize PHY before deasserting core reset
[platform/kernel/linux-starfive.git] / drivers / pci / controller / dwc / pci-imx6.c
index 2616585..1dde5c5 100644 (file)
@@ -952,12 +952,6 @@ static int imx6_pcie_host_init(struct dw_pcie_rp *pp)
                }
        }
 
-       ret = imx6_pcie_deassert_core_reset(imx6_pcie);
-       if (ret < 0) {
-               dev_err(dev, "pcie deassert core reset failed: %d\n", ret);
-               goto err_phy_off;
-       }
-
        if (imx6_pcie->phy) {
                ret = phy_power_on(imx6_pcie->phy);
                if (ret) {
@@ -965,6 +959,13 @@ static int imx6_pcie_host_init(struct dw_pcie_rp *pp)
                        goto err_phy_off;
                }
        }
+
+       ret = imx6_pcie_deassert_core_reset(imx6_pcie);
+       if (ret < 0) {
+               dev_err(dev, "pcie deassert core reset failed: %d\n", ret);
+               goto err_phy_off;
+       }
+
        imx6_setup_phy_mpll(imx6_pcie);
 
        return 0;