Skip to content
  • BOUGH CHEN's avatar
    mmc: correct the HS400 initialization process · 5cf12031
    BOUGH CHEN authored and Tom Rini's avatar Tom Rini committed
    After the commit b9a2a0e2
    
     ("mmc: Add support for downgrading
    HS200/HS400 to HS mode"), it add a parameter in mmc_set_card_speed()
    which indicates that the HS200/HS400 to HS downgrade is happening.
    
    During the HS400 initialization, first select to HS200, and config
    the related clock rate, then downgrade to HS mode. So here also need
    to config the downgrade value to be true for two reasons. First,
    make sure in the function mmc_set_card_speed(), after switch to HS
    mode, first config the clock rate, then read the EXT_CSD, avoid
    receiving data of EXT_CSD in HS mode at 200MHz. Second, after issue
    the MMC_CMD_SWITCH command, it need to wait a bit then switch bus
    properties.
    
    Test on i.MX8QM MEK board, some Micron eMMC will stuck in transfer
    mode in this case, and USDHC will never get data transfer complete
    status, cause the uboot hang.
    
    Signed-off-by: default avatarHaibo Chen <haibo.chen@nxp.com>
    Acked-by: default avatarMarek Vasut <marek.vasut@gmail.com>
    5cf12031