Skip to content

Commit

Permalink
phy: rockchip: snps-pcie3: Refactor to use a phy_init ops
Browse files Browse the repository at this point in the history
Add a phy_init ops in preparation for upcoming support of a RK3588
variant in the driver.

Signed-off-by: Jonas Karlman <jonas@kwiboo.se>
  • Loading branch information
Kwiboo committed Aug 1, 2023
1 parent e6c561d commit 627648f
Showing 1 changed file with 32 additions and 8 deletions.
40 changes: 32 additions & 8 deletions drivers/phy/rockchip/phy-rockchip-snps-pcie3.c
Original file line number Diff line number Diff line change
Expand Up @@ -35,8 +35,32 @@ struct rockchip_p3phy_priv {
struct clk_bulk clks;
};

struct rockchip_p3phy_ops {
int (*phy_init)(struct phy *phy);
};

static int rockchip_p3phy_rk3568_init(struct phy *phy)
{
struct rockchip_p3phy_priv *priv = dev_get_priv(phy->dev);

/* Deassert PCIe PMA output clamp mode */
regmap_write(priv->phy_grf, GRF_PCIE30PHY_CON9,
(0x1 << 15) | (0x1 << 31));

reset_deassert(&priv->p30phy);
udelay(1);

return 0;
}

static const struct rockchip_p3phy_ops rk3568_ops = {
.phy_init = rockchip_p3phy_rk3568_init,
};

static int rochchip_p3phy_init(struct phy *phy)
{
struct rockchip_p3phy_ops *ops =
(struct rockchip_p3phy_ops *)dev_get_driver_data(phy->dev);
struct rockchip_p3phy_priv *priv = dev_get_priv(phy->dev);
int ret;

Expand All @@ -47,14 +71,11 @@ static int rochchip_p3phy_init(struct phy *phy)
reset_assert(&priv->p30phy);
udelay(1);

/* Deassert PCIe PMA output clamp mode */
regmap_write(priv->phy_grf, GRF_PCIE30PHY_CON9,
(0x1 << 15) | (0x1 << 31));

reset_deassert(&priv->p30phy);
udelay(1);
ret = ops->phy_init(phy);
if (ret)
clk_disable_bulk(&priv->clks);

return 0;
return ret;
}

static int rochchip_p3phy_exit(struct phy *phy)
Expand Down Expand Up @@ -103,7 +124,10 @@ static struct phy_ops rochchip_p3phy_ops = {
};

static const struct udevice_id rockchip_p3phy_of_match[] = {
{ .compatible = "rockchip,rk3568-pcie3-phy" },
{
.compatible = "rockchip,rk3568-pcie3-phy",
.data = (ulong)&rk3568_ops,
},
{ },
};

Expand Down

0 comments on commit 627648f

Please sign in to comment.