Commit 5b4f5757 authored by Kishon Vijay Abraham I's avatar Kishon Vijay Abraham I Committed by Vinod Koul
Browse files

phy: cadence: Sierra: Fix PHY power_on sequence



Commit 44d30d62 ("phy: cadence: Add driver for Sierra PHY")
de-asserts PHY_RESET even before the configurations are loaded in
phy_init(). However PHY_RESET should be de-asserted only after
all the configurations has been initialized, instead of de-asserting
in probe. Fix it here.

Fixes: 44d30d62 ("phy: cadence: Add driver for Sierra PHY")
Signed-off-by: default avatarKishon Vijay Abraham I <kishon@ti.com>
Cc: <stable@vger.kernel.org> # v5.4+
Reviewed-by: default avatarPhilipp Zabel <p.zabel@pengutronix.de>
Link: https://lore.kernel.org/r/20210319124128.13308-2-kishon@ti.com


Signed-off-by: default avatarVinod Koul <vkoul@kernel.org>
parent 3f2ec77c
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -319,6 +319,12 @@ static int cdns_sierra_phy_on(struct phy *gphy)
	u32 val;
	int ret;

	ret = reset_control_deassert(sp->phy_rst);
	if (ret) {
		dev_err(dev, "Failed to take the PHY out of reset\n");
		return ret;
	}

	/* Take the PHY lane group out of reset */
	ret = reset_control_deassert(ins->lnk_rst);
	if (ret) {
@@ -616,7 +622,6 @@ static int cdns_sierra_phy_probe(struct platform_device *pdev)

	pm_runtime_enable(dev);
	phy_provider = devm_of_phy_provider_register(dev, of_phy_simple_xlate);
	reset_control_deassert(sp->phy_rst);
	return PTR_ERR_OR_ZERO(phy_provider);

put_child: