|
@@ -220,18 +220,9 @@ static int imx6_pcie_assert_core_reset(struct pcie_port *pp)
|
|
|
|
|
|
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
|
|
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
|
|
IMX6Q_GPR1_PCIE_TEST_PD, 1 << 18);
|
|
IMX6Q_GPR1_PCIE_TEST_PD, 1 << 18);
|
|
- regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR12,
|
|
|
|
- IMX6Q_GPR12_PCIE_CTL_2, 1 << 10);
|
|
|
|
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
|
|
regmap_update_bits(imx6_pcie->iomuxc_gpr, IOMUXC_GPR1,
|
|
IMX6Q_GPR1_PCIE_REF_CLK_EN, 0 << 16);
|
|
IMX6Q_GPR1_PCIE_REF_CLK_EN, 0 << 16);
|
|
|
|
|
|
- /* Some boards don't have PCIe reset GPIO. */
|
|
|
|
- if (gpio_is_valid(imx6_pcie->reset_gpio)) {
|
|
|
|
- gpio_set_value(imx6_pcie->reset_gpio, 0);
|
|
|
|
- msleep(100);
|
|
|
|
- gpio_set_value(imx6_pcie->reset_gpio, 1);
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -275,6 +266,12 @@ static int imx6_pcie_deassert_core_reset(struct pcie_port *pp)
|
|
/* allow the clocks to stabilize */
|
|
/* allow the clocks to stabilize */
|
|
usleep_range(200, 500);
|
|
usleep_range(200, 500);
|
|
|
|
|
|
|
|
+ /* Some boards don't have PCIe reset GPIO. */
|
|
|
|
+ if (gpio_is_valid(imx6_pcie->reset_gpio)) {
|
|
|
|
+ gpio_set_value(imx6_pcie->reset_gpio, 0);
|
|
|
|
+ msleep(100);
|
|
|
|
+ gpio_set_value(imx6_pcie->reset_gpio, 1);
|
|
|
|
+ }
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
err_pcie_axi:
|
|
err_pcie_axi:
|