summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKishon Vijay Abraham I <kishon@ti.com>2022-01-28 11:11:29 +0300
committerTom Rini <trini@konsulko.com>2022-02-08 19:00:03 +0300
commit67703eed11fecc425857078e35779b9db6c62066 (patch)
treea8d39fff038329f0a51b920711ecd4f51021e691
parent8686669bd9bfccf4d89949433d3ea5b606e01b81 (diff)
downloadu-boot-67703eed11fecc425857078e35779b9db6c62066.tar.xz
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>
-rw-r--r--drivers/phy/cadence/phy-cadence-sierra.c7
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 6b26b30dcf..bd42145fca 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;