Commit e6f8996213a5e4f5517d06a72f1ae0f77be41631
Committed by
Afzal Mohammed
1 parent
8f027442b8
Exists in
master
ARM:omap:mmc - Setup non-UHS-I SD3.0 cards properly for High Speed
Essential conditions to indicate Version 3.00 Card (from SD3.01 spec) (SD_SPEC=2 and SD_SPEC3=1) : (1) The card shall support CMD6 (2) The card shall support CMD8 (3) The card shall support CMD42 (4) User area capacity shall be up to 2GB (SDSC) or 32GB (SDHC) User area capacity shall be more than or equal to 32GB and up to 2TB (SDXC) (5) Speed Class shall be supported (SDHC or SDXC) So even if SD card doesn't support any of the newly defined UHS-I bus speed mode, it can advertise itself as SD3.0 cards as long as it supports all the essential conditions of SD3.0 cards. Given this, these type of cards should at least run in High Speed mode @50MHZ if it supports HS. This patch is from http://www.mail-archive.com/linux-mmc@vger.kernel.org/msg09358.html Signed-off-by: Subhash Jadavani <subhashj@codeaurora.org> Signed-off-by: Hebbar, Gururaja <gururaja.hebbar@ti.com>
Showing 1 changed file with 3 additions and 3 deletions Side-by-side Diff
drivers/mmc/core/sd.c
... | ... | @@ -306,6 +306,9 @@ |
306 | 306 | goto out; |
307 | 307 | } |
308 | 308 | |
309 | + if (status[13] & 0x02) | |
310 | + card->sw_caps.hs_max_dtr = 50000000; | |
311 | + | |
309 | 312 | if (card->scr.sda_spec3) { |
310 | 313 | card->sw_caps.sd3_bus_mode = status[13]; |
311 | 314 | |
... | ... | @@ -348,9 +351,6 @@ |
348 | 351 | } |
349 | 352 | |
350 | 353 | card->sw_caps.sd3_curr_limit = status[7]; |
351 | - } else { | |
352 | - if (status[13] & 0x02) | |
353 | - card->sw_caps.hs_max_dtr = 50000000; | |
354 | 354 | } |
355 | 355 | |
356 | 356 | out: |