• Ulf Hansson's avatar
    mmc: core: Export a function mmc_sw_reset() to allow soft reset of cards · 1433269c
    Ulf Hansson authored
    It's rather common that a firmware is loaded into an SDIO func device
    memory, by the corresponding SDIO func driver during ->probe() time.
    However, to actually start running the new firmware, sometimes a soft reset
    (no power cycle) and a re-initialization of the card is needed. This is for
    example the case with the Espressif ESP8089 WiFi chips, when connected to
    an SDIO interface.
    To cope with this scenario, let's add a new exported function,
    mmc_sw_reset(), which may be called when a soft reset and re-initialization
    of the card are needed.
    The mmc_sw_reset() is implemented on top of a new bus ops callback, similar
    to how the mmc_hw_reset() has been implemented.
    Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
    Tested-by: default avatarQuentin Schulz <quentin.schulz@bootlin.com>
    Reviewed-by: default avatarShawn Lin <shawn.lin@rock-chips.com>
core.h 6.02 KB