Andrei Warkentin | 371a689 | 2011-04-11 18:10:25 -0500 | [diff] [blame] | 1 | SD and MMC Block Device Attributes |
| 2 | ================================== |
| 3 | |
| 4 | These attributes are defined for the block devices associated with the |
| 5 | SD or MMC device. |
| 6 | |
| 7 | The following attributes are read/write. |
| 8 | |
| 9 | force_ro Enforce read-only access even if write protect switch is off. |
| 10 | |
Adrian Hunter | dfe86cb | 2010-08-11 14:17:46 -0700 | [diff] [blame] | 11 | SD and MMC Device Attributes |
| 12 | ============================ |
| 13 | |
| 14 | All attributes are read-only. |
| 15 | |
| 16 | cid Card Identifaction Register |
| 17 | csd Card Specific Data Register |
| 18 | scr SD Card Configuration Register (SD only) |
| 19 | date Manufacturing Date (from CID Register) |
| 20 | fwrev Firmware/Product Revision (from CID Register) (SD and MMCv1 only) |
| 21 | hwrev Hardware/Product Revision (from CID Register) (SD and MMCv1 only) |
| 22 | manfid Manufacturer ID (from CID Register) |
| 23 | name Product Name (from CID Register) |
| 24 | oemid OEM/Application ID (from CID Register) |
Bernie Thompson | 51e7e8b | 2013-02-27 12:19:17 -0800 | [diff] [blame] | 25 | prv Product Revision (from CID Register) (SD and MMCv4 only) |
Adrian Hunter | dfe86cb | 2010-08-11 14:17:46 -0700 | [diff] [blame] | 26 | serial Product Serial Number (from CID Register) |
| 27 | erase_size Erase group size |
| 28 | preferred_erase_size Preferred erase size |
Loic Pallardy | 188cc04 | 2012-08-06 17:12:29 +0200 | [diff] [blame] | 29 | raw_rpmb_size_mult RPMB partition size |
| 30 | rel_sectors Reliable write sector count |
Adrian Hunter | dfe86cb | 2010-08-11 14:17:46 -0700 | [diff] [blame] | 31 | |
| 32 | Note on Erase Size and Preferred Erase Size: |
| 33 | |
| 34 | "erase_size" is the minimum size, in bytes, of an erase |
| 35 | operation. For MMC, "erase_size" is the erase group size |
| 36 | reported by the card. Note that "erase_size" does not apply |
| 37 | to trim or secure trim operations where the minimum size is |
| 38 | always one 512 byte sector. For SD, "erase_size" is 512 |
| 39 | if the card is block-addressed, 0 otherwise. |
| 40 | |
| 41 | SD/MMC cards can erase an arbitrarily large area up to and |
| 42 | including the whole card. When erasing a large area it may |
| 43 | be desirable to do it in smaller chunks for three reasons: |
| 44 | 1. A single erase command will make all other I/O on |
| 45 | the card wait. This is not a problem if the whole card |
| 46 | is being erased, but erasing one partition will make |
| 47 | I/O for another partition on the same card wait for the |
| 48 | duration of the erase - which could be a several |
| 49 | minutes. |
| 50 | 2. To be able to inform the user of erase progress. |
| 51 | 3. The erase timeout becomes too large to be very |
| 52 | useful. Because the erase timeout contains a margin |
| 53 | which is multiplied by the size of the erase area, |
| 54 | the value can end up being several minutes for large |
| 55 | areas. |
| 56 | |
| 57 | "erase_size" is not the most efficient unit to erase |
| 58 | (especially for SD where it is just one sector), |
| 59 | hence "preferred_erase_size" provides a good chunk |
| 60 | size for erasing large areas. |
| 61 | |
| 62 | For MMC, "preferred_erase_size" is the high-capacity |
| 63 | erase size if a card specifies one, otherwise it is |
| 64 | based on the capacity of the card. |
| 65 | |
| 66 | For SD, "preferred_erase_size" is the allocation unit |
| 67 | size specified by the card. |
| 68 | |
| 69 | "preferred_erase_size" is in bytes. |
Sujit Reddy Thumma | 597dd9d79 | 2011-11-14 13:53:29 +0530 | [diff] [blame] | 70 | |
Loic Pallardy | 188cc04 | 2012-08-06 17:12:29 +0200 | [diff] [blame] | 71 | Note on raw_rpmb_size_mult: |
| 72 | "raw_rpmb_size_mult" is a mutliple of 128kB block. |
| 73 | RPMB size in byte is calculated by using the following equation: |
| 74 | RPMB partition size = 128kB x raw_rpmb_size_mult |