在 2024/8/15 21:23, Detlev Casanova 写道:
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)
However from both of the IC design POV and the test from my side,
we just need internal phase support patch, and rk3576 could
work.
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.