• Ulf Hansson's avatar
    mmc: core: Invent MMC_CAP_3_3V_DDR · 20f921bb
    Ulf Hansson authored
    According the JEDEC specification an eMMC card supporting 1.8V vccq in DDR
    mode should also be capable of 3.3V. However, it's been reported that some
    mmc hosts supports 3.3V, but not 1.8V.
    
    Currently the mmc core implements an error handling when the host fails to
    set 1.8V for vccq, by falling back to 3.3V. Unfortunate, this seems to be
    insufficient for some mmc hosts. To enable these to use eMMC DDR mode let's
    invent a new mmc cap, MMC_CAP_3_3V_DDR, which tells whether they support
    the eMMC 3.3V DDR mode.
    
    In case MMC_CAP_3_3V_DDR is set, but not MMC_CAP_1_8V_DDR, let's change to
    remain on the 3.3V, as it's the default voltage level for vccq, set by the
    earlier power up sequence.
    
    As this change introduces MMC_CAP_3_3V_DDR, let's take the opportunity to
    do some re-formatting of the related defines in the header file.
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Reviewed-by: default avatarShawn Lin <shawn.lin@rock-chips.com>
    Tested-by: default avatarJan Glauber <jglauber@cavium.com>
    Tested-by: default avatarStefan Wahren <stefan.wahren@i2se.com>
    20f921bb
mmc.c 57.5 KB