summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorEugen Hristev <[email protected]>2023-04-27 10:35:34 +0300
committerKever Yang <[email protected]>2023-05-17 17:36:18 +0800
commitd49dc884cb8e02b8640a5059a5e54facd80fe679 (patch)
treeed7e4a651f34f2e792fcebb0a38118861aa06b94 /drivers
parent014a31907ad9185510cea645a6b9b49ad177f6ac (diff)
phy: rockchip: naneng-combphy: Add support for multiple resets
Some variants of the PHY have more than just one reset. To cover all cases, request the rests in bulk rather than just the reset at index 0. Co-developed-by: Ren Jianing <[email protected]> Signed-off-by: Ren Jianing <[email protected]> Signed-off-by: Eugen Hristev <[email protected]> Reviewed-by: Kever Yang <[email protected]>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/phy/rockchip/phy-rockchip-naneng-combphy.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
index 78da5fe7970..b673a8da9f8 100644
--- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
+++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c
@@ -76,7 +76,7 @@ struct rockchip_combphy_priv {
struct regmap *pipe_grf;
struct regmap *phy_grf;
struct phy *phy;
- struct reset_ctl phy_rst;
+ struct reset_ctl_bulk phy_rsts;
struct clk ref_clk;
const struct rockchip_combphy_cfg *cfg;
};
@@ -189,7 +189,7 @@ static int rockchip_combphy_init(struct phy *phy)
if (ret)
goto err_clk;
- reset_deassert(&priv->phy_rst);
+ reset_deassert_bulk(&priv->phy_rsts);
return 0;
@@ -204,7 +204,7 @@ static int rockchip_combphy_exit(struct phy *phy)
struct rockchip_combphy_priv *priv = dev_get_priv(phy->dev);
clk_disable(&priv->ref_clk);
- reset_assert(&priv->phy_rst);
+ reset_assert_bulk(&priv->phy_rsts);
return 0;
}
@@ -255,7 +255,7 @@ static int rockchip_combphy_parse_dt(struct udevice *dev,
return PTR_ERR(&priv->ref_clk);
}
- ret = reset_get_by_index(dev, 0, &priv->phy_rst);
+ ret = reset_get_bulk(dev, &priv->phy_rsts);
if (ret) {
dev_err(dev, "no phy reset control specified\n");
return ret;