
Amlogic MMC on the GX (and later) SoCs has been problematic for years, especially with u-boot.
Linux has been fairly stable for a few years. It is using a fixed phase setting with Core = 180, Tx = 0 and Rx = 0 (the latter cannot be set starting from the v3 MMC IPs)
Still the results were not good with those settings with u-boot, on some sm1 based platforms. U-boot then started using a 270 core phase for sm1 only. This worked for most sm1 platforms but problems persist on others.
The proposal with this patchset is to use 270 for the ID phase, 180 otherwise. This works well on the platforms I have tested (Libretech's boards and VIM3L)
It would be great if others could test this and report whether this work for them or not.
If the results are good, this might be ported to Linux as well (... but the situation is less critical there)
Jerome Brunet (2): mmc: meson-gx: clean up and align on Linux settings mmc: meson-gx: set 270 core phase during the identification
drivers/mmc/meson_gx_mmc.c | 50 ++++++++++++++++++-------------------- drivers/mmc/meson_gx_mmc.h | 9 +++++-- 2 files changed, 31 insertions(+), 28 deletions(-)