Re: [PATCH v3 2/3] mmc: dw_mmc-rockchip: Add v2 tuning support

From: Detlev Casanova
Date: Thu Aug 15 2024 - 09:22:47 EST


On Wednesday, 14 August 2024 20:55:37 EDT Shawn Lin wrote:
> Hi Detlev
>
> 在 2024/8/15 6:34, Detlev Casanova 写道:
> > From: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx>
> >
> > v2 tuning will inherit pre-stage loader's phase settings for the first
> > time, and do re-tune if necessary.
> > Re-tune will still try the rough degrees, for instance, 90, 180, 270,
> > 360 but continue to do the fine tuning if sample window isn't good
> > enough.
> >
> > Signed-off-by: Shawn Lin <shawn.lin@xxxxxxxxxxxxxx>
> > Signed-off-by: Detlev Casanova <detlev.casanova@xxxxxxxxxxxxx>
> > ---
> >
> > drivers/mmc/host/dw_mmc-rockchip.c | 49 ++++++++++++++++++++++++++++++
> > 1 file changed, 49 insertions(+)
> >
> > diff --git a/drivers/mmc/host/dw_mmc-rockchip.c
> > b/drivers/mmc/host/dw_mmc-rockchip.c index b07190ba4b7ac..367633f4e8892
> > 100644
> > --- a/drivers/mmc/host/dw_mmc-rockchip.c
> > +++ b/drivers/mmc/host/dw_mmc-rockchip.c

[...]

> >
> > priv->default_sample_phase = 0;
> >
> > + priv->use_v2_tuning =
> > + of_device_is_compatible(host->dev->of_node,
> > + "rockchip,rk3576-dw-
mshc");
> > +
>
> v2 is a kind of software decision instead of hardware dependency.
> So in theory, any SoC can claim to use it via DT.

Yes but from my tests, only rk3576 won't work without it. So it makes sense to
only use v2 for this SoC (and other future ones not supported yet)

>
> > priv->drv_clk = devm_clk_get(host->dev, "ciu-drive");
> > if (IS_ERR(priv->drv_clk))
> >
> > dev_dbg(host->dev, "ciu-drive not available\n");


Detlev.