Commit 68539e2b authored by Avri Altman's avatar Avri Altman Committed by Ulf Hansson
Browse files

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: default avatarAvri Altman <avri.altman@wdc.com>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 01904ff7
Loading
Loading
Loading
Loading
+5 −0
Original line number Diff line number Diff line
@@ -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
+2 −0
Original line number Diff line number Diff line
@@ -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)