mmc: core: Indicate SD specs higher than 4.0
SD specs version 4.x and 5.x have a dedicated slices in the SCR register. Higher versions will rely on a combination of the existing fields. Signed-off-by: Avri Altman <avri.altman@wdc.com> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
This commit is contained in:
parent
01904ff776
commit
68539e2bc3
|
@ -209,6 +209,11 @@ static int mmc_decode_scr(struct mmc_card *card)
|
|||
/* Check if Physical Layer Spec v3.0 is supported */
|
||||
scr->sda_spec3 = UNSTUFF_BITS(resp, 47, 1);
|
||||
|
||||
if (scr->sda_spec3) {
|
||||
scr->sda_spec4 = UNSTUFF_BITS(resp, 42, 1);
|
||||
scr->sda_specx = UNSTUFF_BITS(resp, 38, 4);
|
||||
}
|
||||
|
||||
if (UNSTUFF_BITS(resp, 55, 1))
|
||||
card->erased_byte = 0xFF;
|
||||
else
|
||||
|
|
|
@ -133,6 +133,8 @@ struct mmc_ext_csd {
|
|||
struct sd_scr {
|
||||
unsigned char sda_vsn;
|
||||
unsigned char sda_spec3;
|
||||
unsigned char sda_spec4;
|
||||
unsigned char sda_specx;
|
||||
unsigned char bus_widths;
|
||||
#define SD_SCR_BUS_WIDTH_1 (1<<0)
|
||||
#define SD_SCR_BUS_WIDTH_4 (1<<2)
|
||||
|
|
Loading…
Reference in New Issue