[PATCH 0/9] mci: core: add CID as parameters and fix parsing

Ahmad Fatoum a.fatoum at pengutronix.de
Wed May 29 00:24:50 PDT 2024


On 28.05.24 17:39, Stefan Kerkmann wrote:
> This series adds the fields of the CID register found in MMC and SD
> cards as parameters to the device. The intention is to use these
> parameters in scripting e.g. for safety checks before applying
> potentially destructive changes.
> 
> During the implementation I found several bugs in the implementation of
> the CID parsing that usually stem from not discerning between MMC and
> SD cards.
> 
> For a proof of work I have attached these outputs of both an internal
> eMMC and SD card on an Phyboard Polis imx8mm device. The first output is
> mmc-utils and the second barebox at the state of this patch series:
> 
> eMMC:
> 
> root at phyboard-polis-imx8mm-4:~ mmc cid read /sys/class/block/mmcblk2/device -v
> ======MMC/CID======
>         MID: 0x13 (Micron)
>         CBX: 0x1 (BGA)
>         OID: 0x4e
>         PNM: Q2J55L
>         PRV: 0x10 (1.0)
>         PSN: 0x13723b3f
>         MDT: 0x93 2000 oct <-- This is likely a bug in mmc-utils
>         CRC: 0x00
> 
> barebox at PHYTEC phyBOARD-Polis-i.MX8MM RDK: devinfo mmc2
> Card information:
> <snip>
>   Manufacturer ID: 0x13
>   OEM/Application ID: 0x4E
>   CBX: 1
>   Product name: 'Q2J55L'
>   Product revision: 1.0
>   Serial no: 326253375
>   Manufacturing date: 2022.3
> </snip>
> Parameters:
> <snip>
>   cid_cbx: 1 (type: uint32)
>   cid_mdt: 2022.3 (type: string)
>   cid_mid: 0x13 (type: uint32)
>   cid_oid: 0x4E (type: string)
>   cid_pnm: Q2J55L (type: string)
>   cid_prv: 1.0 (type: string)
>   cid_psn: 326253375 (type: uint32)

Nitpick: We usually use . to denote namespaces in device parameters,
should we change this to be cid.cbx and so on?

> </snip>
> 
> SD card:
> 
> root at phyboard-polis-imx8mm-4:~ mmc cid read /sys/class/block/mmcblk1/device -v
> ======SD/CID======
>         MID: 0x63 (Unlisted)
>         OID: C`
>         PNM: CACTU
>         PRV: 0x02 (0.2)
>         PSN: 0x583010d2
>         MDT: 0x158 2021 sep
>         CRC: 0x00
> 
> barebox at PHYTEC phyBOARD-Polis-i.MX8MM RDK:/ devinfo mmc1
> Card information:
> <snip>
>   Manufacturer ID: 0x63
>   OEM/Application ID: C`
>   Product name: 'CACTU'
>   Product revision: 0.2
>   Serial no: 2139062282
>   Manufacturing date: 2021.8
> </snip>
> Parameters:
> <snip>
>   cid_mdt: 2021.8 (type: string)
>   cid_mid: 0x63 (type: uint32)
>   cid_oid: C` (type: string)
>   cid_pnm: CACTU (type: string)
>   cid_prv: 0.2 (type: string)
>   cid_psn: 2139062282 (type: uint32)
> </snip>
> 
> Signed-off-by: Stefan Kerkmann <s.kerkmann at pengutronix.de>
> ---
> Stefan Kerkmann (9):
>       mci: core: rename mtd to mdt
>       mci: core: add cbx extraction function
>       mci: core: add product name extraction function
>       mci: core: add manufacturing date extraction function
>       mci: core: parse cid into parameters
>       mci: core: fix extract_prv and write to string buffer
>       mci: core: add CBX field as parameter and print it
>       mci: core: fix extract_oid and write to string buffer
>       mci: core: add missing slice range for extract_psn function
> 
>  drivers/mci/mci-core.c | 119 ++++++++++++++++++++++++++++++++++++++++---------
>  1 file changed, 98 insertions(+), 21 deletions(-)
> ---
> base-commit: 80d7c9d3d80e75e2335a123d414fd7fe83508291
> change-id: 20240528-feature-mmc-cid-as-parameters-685158ffc027
> 
> Best regards,

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




More information about the barebox mailing list