mmc: mtk: add hardcoded_voltage for MtkMmcHost MmcCtrlr

Some eMMC devices are very fast in transition from busy to ready status.
If hardcoded_voltage is not set, It will send CMD1 twice
in mmc_send_op_cond() function.

Some eMMC devices may be ready after second CMD1, which will
set OCR_BUSY. In this case, mmc_send_op_cond() will  return 0, not MMC_IN_PROGRESS.
This will make mmc_complete_op_cond not executed, then media->version &
media->high_capacity are uninitialized

media->high_capacity will determine byte mode or sector mode.
If access mode is incorrect, host will send wrong argument for
read/write command, so retrieved or sent data may be wrong, even
causing timeout due to having a out-of-range address.

BRANCH=None
BUG=b:129909597
TEST=Boots correctly on Kukui

Change-Id: I27b8ff0843c8519a44434864d7e51131dd088aa3
Signed-off-by: Jimin Wang <jimin.wang@mediatek.com>
Reviewed-on: https://chromium-review.googlesource.com/1565651
Commit-Ready: ChromeOS CL Exonerator Bot <chromiumos-cl-exonerator@appspot.gserviceaccount.com>
Reviewed-by: Hung-Te Lin <hungte@chromium.org>
1 file changed