Skip to content

Commit 87a401c

Browse files
committed
mmc: sd: Transcend cards need a CMD49 quirk
These cards have the same broken CMD49 behaviour across 465T/460T/240I product lines. Add the Manufacturer ID and match on CID fields that remain consistent across these types. Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
1 parent 397d0e6 commit 87a401c

2 files changed

Lines changed: 6 additions & 0 deletions

File tree

drivers/mmc/core/card.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,7 @@ struct mmc_fixup {
9292
#define CID_MANFID_APACER 0x27
9393
#define CID_MANFID_SWISSBIT 0x5D
9494
#define CID_MANFID_KINGSTON 0x70
95+
#define CID_MANFID_TRANSCEND_SD 0x74
9596
#define CID_MANFID_HYNIX 0x90
9697
#define CID_MANFID_KINGSTON_SD 0x9F
9798
#define CID_MANFID_LONGSYS_SD 0xAD

drivers/mmc/core/quirks.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,11 @@ static const struct mmc_fixup __maybe_unused mmc_sd_fixups[] = {
7676
0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
7777
MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
7878

79+
/* Transcend cards need a CMD49 workaround */
80+
_FIXUP_EXT("USDU1", CID_MANFID_TRANSCEND_SD, 0x4a60, CID_YEAR_ANY, CID_MONTH_ANY,
81+
cid_rev(2, 0, 0, 0), -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
82+
MMC_QUIRK_NONSTD_SD_CMD49, EXT_CSD_REV_ANY),
83+
7984
/* SD A2 allow-list - only trust CQ on these cards */
8085
/* Raspberry Pi A2 cards */
8186
_FIXUP_EXT(CID_NAME_ANY, CID_MANFID_LONGSYS_SD, 0x4c53, CID_YEAR_ANY, CID_MONTH_ANY,

0 commit comments

Comments
 (0)