patch 1 is gonna fix the longstanding issues which may fail the
mmc_test. Per spec, block size is always 512 bytes for dual rate mode.
Any attempt to change it will be treated as illegal one.So we
need to check hs400(es) and DDR50 as well.
patch 2 and 3 actually fix my previous introduction for hs400es.
That happened to work for the controller and devices I was using
for test at that time. I believe Doug and Jaehoon didn't see failure
when testing it as well. After several numbers of compatibility test
and stability test for mass production, we are sure that patch 3 is
patch 4 also fix a longtanding issue of sdhci which try to switch
voltage without checking the cap. We found this issue as arasan,5.1
doesn't support VDD_330 but we still find sdhci try to switch to
patch 5 will nak my patch. It more or less looks like a hack from
Jaehoon's point. I think I find the root cause after numerous repro and
debug work with my ASIC team guys.
Thanks for Ziyuan Xu and Xiao Yao who help me test my massive hack patch
and finally we found what the problem is.
Shawn Lin (3):
mmc: core: switch to 1V8 or 1V2 for hs400es mode
mmc: core: changes frequency to hs_max_dtr when selecting hs400es
mmc: sdhci-of-arasan: add sdhci_arasan_voltage_switch for arasan,5.1
Ziyuan Xu (2):
mmc: core: don't try to switch block size for dual rate mode
mmc: sdhci: Don't try to switch to unsupported voltage
drivers/mmc/core/core.c | 3 ++-
drivers/mmc/core/mmc.c | 12 ++++++++++++
drivers/mmc/host/sdhci-of-arasan.c | 24 ++++++++++++++++++++++++
drivers/mmc/host/sdhci.c | 6 ++++--
4 files changed, 42 insertions(+), 3 deletions(-)