mirror of https://gitee.com/openkylin/linux.git
phy: cadence: Sierra: Fix PHY power_on sequence
Commit44d30d6228
("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:44d30d6228
("phy: cadence: Add driver for Sierra PHY") Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com> Cc: <stable@vger.kernel.org> # v5.4+ Reviewed-by: Philipp Zabel <p.zabel@pengutronix.de> Link: https://lore.kernel.org/r/20210319124128.13308-2-kishon@ti.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
parent
3f2ec77c95
commit
5b4f5757f8
|
@ -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:
|
||||
|
|
Loading…
Reference in New Issue