• Tim Kryger's avatar
    mmc: core: Try other signal levels during power up · ceae98f2
    Tim Kryger authored
    The eMMC signalling voltage is determined by VCCQ which is provided to
    the card by the host.  Signalling is not required to begin at 3.3v and,
    if the host and card both support a particular VCC/VCCQ combination, it
    can be used immediately.
    
    In contrast, SD Cards must begin with 3.3v signalling and may switch to
    a lower voltage signalling if instructed to do so in CMD11.  A message
    is required to coordinate this operation because the card only receives
    a 3.3v VDD and must know when to use the 1.8v produced by its internal
    regulator.
    
    It makes sense for the core to begin with 3.3v signalling but when that
    can't be set, 1.8v and 1.2v signalling also should be attempted.  This
    is especially important when an external regulator with a limited range
    is used to supply VCCQ to an eMMC part.
    Signed-off-by: default avatarTim Kryger <tim.kryger@linaro.org>
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Signed-off-by: default avatarChris Ball <chris@printf.net>
    ceae98f2
core.c 65.7 KB