119024c09SMauro Carvalho Chehab================================== 219024c09SMauro Carvalho ChehabSD and MMC Block Device Attributes 319024c09SMauro Carvalho Chehab================================== 419024c09SMauro Carvalho Chehab 519024c09SMauro Carvalho ChehabThese attributes are defined for the block devices associated with the 619024c09SMauro Carvalho ChehabSD or MMC device. 719024c09SMauro Carvalho Chehab 819024c09SMauro Carvalho ChehabThe following attributes are read/write. 919024c09SMauro Carvalho Chehab 1019024c09SMauro Carvalho Chehab ======== =============================================== 1119024c09SMauro Carvalho Chehab force_ro Enforce read-only access even if write protect switch is off. 1219024c09SMauro Carvalho Chehab ======== =============================================== 1319024c09SMauro Carvalho Chehab 1419024c09SMauro Carvalho ChehabSD and MMC Device Attributes 1519024c09SMauro Carvalho Chehab============================ 1619024c09SMauro Carvalho Chehab 1719024c09SMauro Carvalho ChehabAll attributes are read-only. 1819024c09SMauro Carvalho Chehab 1919024c09SMauro Carvalho Chehab ====================== =============================================== 2019024c09SMauro Carvalho Chehab cid Card Identification Register 2119024c09SMauro Carvalho Chehab csd Card Specific Data Register 2219024c09SMauro Carvalho Chehab scr SD Card Configuration Register (SD only) 2319024c09SMauro Carvalho Chehab date Manufacturing Date (from CID Register) 2419024c09SMauro Carvalho Chehab fwrev Firmware/Product Revision (from CID Register) 2519024c09SMauro Carvalho Chehab (SD and MMCv1 only) 2619024c09SMauro Carvalho Chehab hwrev Hardware/Product Revision (from CID Register) 2719024c09SMauro Carvalho Chehab (SD and MMCv1 only) 2819024c09SMauro Carvalho Chehab manfid Manufacturer ID (from CID Register) 2919024c09SMauro Carvalho Chehab name Product Name (from CID Register) 3019024c09SMauro Carvalho Chehab oemid OEM/Application ID (from CID Register) 3119024c09SMauro Carvalho Chehab prv Product Revision (from CID Register) 3219024c09SMauro Carvalho Chehab (SD and MMCv4 only) 3319024c09SMauro Carvalho Chehab serial Product Serial Number (from CID Register) 3419024c09SMauro Carvalho Chehab erase_size Erase group size 3519024c09SMauro Carvalho Chehab preferred_erase_size Preferred erase size 3619024c09SMauro Carvalho Chehab raw_rpmb_size_mult RPMB partition size 3719024c09SMauro Carvalho Chehab rel_sectors Reliable write sector count 3819024c09SMauro Carvalho Chehab ocr Operation Conditions Register 3919024c09SMauro Carvalho Chehab dsr Driver Stage Register 4019024c09SMauro Carvalho Chehab cmdq_en Command Queue enabled: 4119024c09SMauro Carvalho Chehab 4219024c09SMauro Carvalho Chehab 1 => enabled, 0 => not enabled 4319024c09SMauro Carvalho Chehab ====================== =============================================== 4419024c09SMauro Carvalho Chehab 4519024c09SMauro Carvalho ChehabNote on Erase Size and Preferred Erase Size: 4619024c09SMauro Carvalho Chehab 4719024c09SMauro Carvalho Chehab "erase_size" is the minimum size, in bytes, of an erase 4819024c09SMauro Carvalho Chehab operation. For MMC, "erase_size" is the erase group size 4919024c09SMauro Carvalho Chehab reported by the card. Note that "erase_size" does not apply 5019024c09SMauro Carvalho Chehab to trim or secure trim operations where the minimum size is 5119024c09SMauro Carvalho Chehab always one 512 byte sector. For SD, "erase_size" is 512 5219024c09SMauro Carvalho Chehab if the card is block-addressed, 0 otherwise. 5319024c09SMauro Carvalho Chehab 5419024c09SMauro Carvalho Chehab SD/MMC cards can erase an arbitrarily large area up to and 5519024c09SMauro Carvalho Chehab including the whole card. When erasing a large area it may 5619024c09SMauro Carvalho Chehab be desirable to do it in smaller chunks for three reasons: 5719024c09SMauro Carvalho Chehab 5819024c09SMauro Carvalho Chehab 1. A single erase command will make all other I/O on 5919024c09SMauro Carvalho Chehab the card wait. This is not a problem if the whole card 6019024c09SMauro Carvalho Chehab is being erased, but erasing one partition will make 6119024c09SMauro Carvalho Chehab I/O for another partition on the same card wait for the 6219024c09SMauro Carvalho Chehab duration of the erase - which could be a several 6319024c09SMauro Carvalho Chehab minutes. 6419024c09SMauro Carvalho Chehab 2. To be able to inform the user of erase progress. 6519024c09SMauro Carvalho Chehab 3. The erase timeout becomes too large to be very 6619024c09SMauro Carvalho Chehab useful. Because the erase timeout contains a margin 6719024c09SMauro Carvalho Chehab which is multiplied by the size of the erase area, 6819024c09SMauro Carvalho Chehab the value can end up being several minutes for large 6919024c09SMauro Carvalho Chehab areas. 7019024c09SMauro Carvalho Chehab 7119024c09SMauro Carvalho Chehab "erase_size" is not the most efficient unit to erase 7219024c09SMauro Carvalho Chehab (especially for SD where it is just one sector), 7319024c09SMauro Carvalho Chehab hence "preferred_erase_size" provides a good chunk 7419024c09SMauro Carvalho Chehab size for erasing large areas. 7519024c09SMauro Carvalho Chehab 7619024c09SMauro Carvalho Chehab For MMC, "preferred_erase_size" is the high-capacity 7719024c09SMauro Carvalho Chehab erase size if a card specifies one, otherwise it is 7819024c09SMauro Carvalho Chehab based on the capacity of the card. 7919024c09SMauro Carvalho Chehab 8019024c09SMauro Carvalho Chehab For SD, "preferred_erase_size" is the allocation unit 8119024c09SMauro Carvalho Chehab size specified by the card. 8219024c09SMauro Carvalho Chehab 8319024c09SMauro Carvalho Chehab "preferred_erase_size" is in bytes. 8419024c09SMauro Carvalho Chehab 8519024c09SMauro Carvalho ChehabNote on raw_rpmb_size_mult: 8619024c09SMauro Carvalho Chehab 8719024c09SMauro Carvalho Chehab "raw_rpmb_size_mult" is a multiple of 128kB block. 8819024c09SMauro Carvalho Chehab 8919024c09SMauro Carvalho Chehab RPMB size in byte is calculated by using the following equation: 9019024c09SMauro Carvalho Chehab 9119024c09SMauro Carvalho Chehab RPMB partition size = 128kB x raw_rpmb_size_mult 92