[PATCH 0/3] Add phase map support in dw_mmc-rockchip

Shawn Lin shawn.lin at rock-chips.com
Sun Mar 8 20:29:00 PDT 2026


Hi Ulf and Jeahoon,

Currently, in dw_mmc-rockchip, the rockchip,default-sample-phase is only used
for some lower speed sampling, while the output-phase configurations are fixed
based on timing settings for all SoCs and boards.

Subsequent validation shows that this approach fails to achieve optimal timing
performance on many chips and development boards, failing to meet test requirements.
Since different timing profiles demand distinct phase configurations, we introduce
phase map support to dw_mmc-rockchip to address this issue.

Additionally, given that dw_mmc-hi3798mv200 already utilizes phase map functionality,
we avoid reinventing the wheel by moving the phase map parsing logic into the core
dw_mmc framework (similar to how mmc_of_parse() is implemented), rather than duplicating
code in the rockchip driver.

This change maintains backward compatibility: the original default_sample_phase and fixed
drv phase configurations for different modes are preserved, with phase map values taking
precedence when configured.



Shawn Lin (3):
  mmc: dw_mmc: Add parsing mmc_clk_phase_map support
  mmc: dw_mmc-hi3798mv200: Using phase map from dw_mmc core
  mmc: dw_mmc-rockchip: Add phase map support

 drivers/mmc/host/dw_mmc-hi3798mv200.c | 11 ++++-------
 drivers/mmc/host/dw_mmc-rockchip.c    | 27 ++++++++++++++++++---------
 drivers/mmc/host/dw_mmc.c             |  2 ++
 drivers/mmc/host/dw_mmc.h             |  2 ++
 4 files changed, 26 insertions(+), 16 deletions(-)

-- 
2.7.4




More information about the Linux-rockchip mailing list