]> git.ipfire.org Git - thirdparty/openwrt.git/blob
54ad128ea15315e02d937fe0096aa22b07d9bdce
[thirdparty/openwrt.git] /
1 From 0cb8bad9e0932a9c8e254655e328d13cbe6dbcf6 Mon Sep 17 00:00:00 2001
2 From: Jonathan Bell <jonathan@raspberrypi.com>
3 Date: Wed, 8 Jan 2025 15:18:33 +0000
4 Subject: [PATCH] mmc: set MMC_QUIRK_KNOWN_WORKING_SD_CQ on Raspberry Pi class
5 A2 cards
6
7 These cards have a known-good CQ implementation and are based on a
8 Longsys product. Add the MANFID for Longsys SD, and the particular CID
9 details for the Pi card.
10
11 Signed-off-by: Jonathan Bell <jonathan@raspberrypi.com>
12 ---
13 drivers/mmc/core/card.h | 1 +
14 drivers/mmc/core/quirks.h | 6 ++++++
15 2 files changed, 7 insertions(+)
16
17 --- a/drivers/mmc/core/card.h
18 +++ b/drivers/mmc/core/card.h
19 @@ -93,6 +93,7 @@ struct mmc_fixup {
20 #define CID_MANFID_KINGSTON 0x70
21 #define CID_MANFID_HYNIX 0x90
22 #define CID_MANFID_KINGSTON_SD 0x9F
23 +#define CID_MANFID_LONGSYS_SD 0xAD
24 #define CID_MANFID_NUMONYX 0xFE
25
26 #define END_FIXUP { NULL }
27 --- a/drivers/mmc/core/quirks.h
28 +++ b/drivers/mmc/core/quirks.h
29 @@ -66,6 +66,12 @@ static const struct mmc_fixup __maybe_un
30 0, -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
31 MMC_QUIRK_BROKEN_SD_CACHE, EXT_CSD_REV_ANY),
32
33 + /* SD A2 allow-list - only trust CQ on these cards */
34 + /* Raspberry Pi A2 cards */
35 + _FIXUP_EXT(CID_NAME_ANY, CID_MANFID_LONGSYS_SD, 0x4c53, CID_YEAR_ANY, CID_MONTH_ANY,
36 + cid_rev(1, 0, 0, 0), -1ull, SDIO_ANY_ID, SDIO_ANY_ID, add_quirk_sd,
37 + MMC_QUIRK_WORKING_SD_CQ, EXT_CSD_REV_ANY),
38 +
39 END_FIXUP
40 };
41