aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmc
diff options
context:
space:
mode:
authorArindam Nath <arindam.nath@amd.com>2011-05-05 02:48:58 -0400
committerChris Ball <cjb@laptop.org>2011-05-24 21:04:40 -0400
commit013909c4ffd16ded4895528b856fd8782df04dc6 (patch)
treeb74fe0c34dfd3c2348497b1aa3a34f5132ca4822 /include/linux/mmc
parentf2119df6b764609af4baceb68caf1e848c1c8aa7 (diff)
mmc: sd: query function modes for uhs cards
SD cards which conform to Physical Layer Spec v3.01 can support additional Bus Speed Modes, Driver Strength, and Current Limit other than the default values. We use CMD6 mode 0 to read these additional card functions. The values read here will be used during UHS-I initialization steps. Tested by Zhangfei Gao with a Toshiba uhs card and general hs card, on mmp2 in SDMA mode. Signed-off-by: Arindam Nath <arindam.nath@amd.com> Reviewed-by: Philip Rakity <prakity@marvell.com> Tested-by: Philip Rakity <prakity@marvell.com> Acked-by: Zhangfei Gao <zhangfei.gao@marvell.com> Signed-off-by: Chris Ball <cjb@laptop.org>
Diffstat (limited to 'include/linux/mmc')
-rw-r--r--include/linux/mmc/card.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 72a98681ef47..56f4d9234a66 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -67,6 +67,7 @@ struct mmc_ext_csd {
67 67
68struct sd_scr { 68struct sd_scr {
69 unsigned char sda_vsn; 69 unsigned char sda_vsn;
70 unsigned char sda_spec3;
70 unsigned char bus_widths; 71 unsigned char bus_widths;
71#define SD_SCR_BUS_WIDTH_1 (1<<0) 72#define SD_SCR_BUS_WIDTH_1 (1<<0)
72#define SD_SCR_BUS_WIDTH_4 (1<<2) 73#define SD_SCR_BUS_WIDTH_4 (1<<2)
@@ -80,6 +81,9 @@ struct sd_ssr {
80 81
81struct sd_switch_caps { 82struct sd_switch_caps {
82 unsigned int hs_max_dtr; 83 unsigned int hs_max_dtr;
84 unsigned int sd3_bus_mode;
85 unsigned int sd3_drv_type;
86 unsigned int sd3_curr_limit;
83}; 87};
84 88
85struct sdio_cccr { 89struct sdio_cccr {