diff options
author | Tom Rini <trini@ti.com> | 2014-02-07 19:15:20 (GMT) |
---|---|---|
committer | Pantelis Antoniou <panto@antoniou-consulting.com> | 2014-04-02 10:02:58 (GMT) |
commit | 33ace362fdf80e2e2ea4cdf2829a5179c52de3f4 (patch) | |
tree | f7aaebbd0705f03361cfbb13d0e4441b44384b82 /drivers/mmc | |
parent | 74c32ef58dbcc204af03f5d7188b5cea3959974c (diff) | |
download | u-boot-33ace362fdf80e2e2ea4cdf2829a5179c52de3f4.tar.xz |
mmc: Add 'mmc rst-function' sub-command
Some eMMC chips may need the RST_n_FUNCTION bit set to a non-zero value
in order for warm reset of the system to work. Details on this being
required will be part of the eMMC datasheet. Also add using this
command to the dra7xx README.
* Whitespace fix by panto
Signed-off-by: Tom Rini <trini@ti.com>
Acked-by: Pantelis Antoniou <panto@antoniou-consulting.com>
Diffstat (limited to 'drivers/mmc')
-rw-r--r-- | drivers/mmc/mmc.c | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/mmc/mmc.c b/drivers/mmc/mmc.c index eccdbc4..16051e5 100644 --- a/drivers/mmc/mmc.c +++ b/drivers/mmc/mmc.c @@ -1513,4 +1513,16 @@ int mmc_set_part_conf(struct mmc *mmc, u8 ack, u8 part_num, u8 access) return err; return 0; } + +/* + * Modify EXT_CSD[162] which is RST_n_FUNCTION based on the given value + * for enable. Note that this is a write-once field for non-zero values. + * + * Returns 0 on success. + */ +int mmc_set_rst_n_function(struct mmc *mmc, u8 enable) +{ + return mmc_switch(mmc, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_RST_N_FUNCTION, + enable); +} #endif |