diff options
author | Kishon Vijay Abraham I <kishon@ti.com> | 2022-01-28 13:41:29 +0530 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-02-08 11:00:03 -0500 |
commit | 67703eed11fecc425857078e35779b9db6c62066 (patch) | |
tree | a8d39fff038329f0a51b920711ecd4f51021e691 /drivers/phy/cadence | |
parent | 8686669bd9bfccf4d89949433d3ea5b606e01b81 (diff) | |
download | u-boot-67703eed11fecc425857078e35779b9db6c62066.tar.gz |
phy: cadence: Sierra: Fix PHY power_on sequence
Commit 39b823381d9d ("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.
Signed-off-by: Kishon Vijay Abraham I <kishon@ti.com>
Signed-off-by: Aswath Govindraju <a-govindraju@ti.com>
Diffstat (limited to 'drivers/phy/cadence')
-rw-r--r-- | drivers/phy/cadence/phy-cadence-sierra.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/phy/cadence/phy-cadence-sierra.c b/drivers/phy/cadence/phy-cadence-sierra.c index 6b26b30dcf9..bd42145fcac 100644 --- a/drivers/phy/cadence/phy-cadence-sierra.c +++ b/drivers/phy/cadence/phy-cadence-sierra.c @@ -296,6 +296,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_deassert_bulk(ins->lnk_rst); if (ret) { @@ -544,7 +550,6 @@ static int cdns_sierra_phy_probe(struct udevice *dev) if (!sp->autoconf && sp->nsubnodes > 1) regmap_field_write(sp->phy_pll_cfg_1, 0x1); - reset_control_deassert(sp->phy_rst); dev_info(dev, "sierra probed\n"); return 0; |