diff options
author | Adrian Hunter <adrian.hunter@intel.com> | 2011-08-29 16:42:11 +0300 |
---|---|---|
committer | Chris Ball <cjb@laptop.org> | 2011-10-26 16:32:05 -0400 |
commit | b2499518b5ad7e28bb3ed348fd3f370eeb1e36c0 (patch) | |
tree | c4c9597d0631554bffeecbcc6a2a7ec3037ea78c /include/linux/mmc/host.h | |
parent | 8e3336b1e4378f7d205af9b25dcc9e645c8a9609 (diff) | |
download | blackbird-op-linux-b2499518b5ad7e28bb3ed348fd3f370eeb1e36c0.tar.gz blackbird-op-linux-b2499518b5ad7e28bb3ed348fd3f370eeb1e36c0.zip |
mmc: core: add eMMC hardware reset support
eMMC's may have a hardware reset line. This patch provides a
host controller operation to implement hardware reset and
a function to reset and reinitialize the card. Also, for MMC,
the reset is always performed before initialization.
The host must set the new host capability MMC_CAP_HW_RESET
to enable hardware reset.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'include/linux/mmc/host.h')
-rw-r--r-- | include/linux/mmc/host.h | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h index 340cc0c9409f..b2aefea97048 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h @@ -151,6 +151,7 @@ struct mmc_host_ops { int (*execute_tuning)(struct mmc_host *host); void (*enable_preset_value)(struct mmc_host *host, bool enable); int (*select_drive_strength)(unsigned int max_dtr, int host_drv, int card_drv); + void (*hw_reset)(struct mmc_host *host); }; struct mmc_card; @@ -233,6 +234,7 @@ struct mmc_host { #define MMC_CAP_MAX_CURRENT_600 (1 << 28) /* Host max current limit is 600mA */ #define MMC_CAP_MAX_CURRENT_800 (1 << 29) /* Host max current limit is 800mA */ #define MMC_CAP_CMD23 (1 << 30) /* CMD23 supported. */ +#define MMC_CAP_HW_RESET (1 << 31) /* Hardware reset */ mmc_pm_flag_t pm_caps; /* supported pm features */ |