diff options
-rw-r--r-- | drivers/pci/pcie_starfive.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/pci/pcie_starfive.c b/drivers/pci/pcie_starfive.c index d5a812d36a..d02cffe9d4 100644 --- a/drivers/pci/pcie_starfive.c +++ b/drivers/pci/pcie_starfive.c @@ -371,15 +371,22 @@ static int starfive_pcie_init_port(struct udevice *dev) goto err_deassert_clk; } +#if CONFIG_IS_ENABLED(TARGET_STARFIVE_EVB) ret = pinctrl_select_state(dev, "power-active"); if (ret) { dev_err(dev, "Set power-acvtive pinctrl failed: %d\n", ret); goto err_deassert_reset; } +#endif + ret = pinctrl_select_state(dev, "perst-active"); if (ret) { dev_err(dev, "Set perst-active pinctrl failed: %d\n", ret); +#if CONFIG_IS_ENABLED(TARGET_STARFIVE_EVB) goto err_release_power_pin; +#else + goto err_deassert_reset; +#endif } /* Disable physical functions except #0 */ @@ -446,8 +453,10 @@ static int starfive_pcie_init_port(struct udevice *dev) return 0; +#if CONFIG_IS_ENABLED(TARGET_STARFIVE_EVB) err_release_power_pin: pinctrl_select_state(dev, "power-default"); +#endif err_deassert_reset: reset_assert_bulk(&priv->rsts); err_deassert_clk: |