|
@@ -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:
|