Commit | Line | Data |
---|---|---|
371a689f AW |
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 | ||
dfe86cba AH |
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) | |
51e7e8b6 | 25 | prv Product Revision (from CID Register) (SD and MMCv4 only) |
dfe86cba AH |
26 | serial Product Serial Number (from CID Register) |
27 | erase_size Erase group size | |
28 | preferred_erase_size Preferred erase size | |
188cc042 LP |
29 | raw_rpmb_size_mult RPMB partition size |
30 | rel_sectors Reliable write sector count | |
5fb06af7 | 31 | ocr Operation Conditions Register |
dfe86cba AH |
32 | |
33 | Note on Erase Size and Preferred Erase Size: | |
34 | ||
35 | "erase_size" is the minimum size, in bytes, of an erase | |
36 | operation. For MMC, "erase_size" is the erase group size | |
37 | reported by the card. Note that "erase_size" does not apply | |
38 | to trim or secure trim operations where the minimum size is | |
39 | always one 512 byte sector. For SD, "erase_size" is 512 | |
40 | if the card is block-addressed, 0 otherwise. | |
41 | ||
42 | SD/MMC cards can erase an arbitrarily large area up to and | |
43 | including the whole card. When erasing a large area it may | |
44 | be desirable to do it in smaller chunks for three reasons: | |
45 | 1. A single erase command will make all other I/O on | |
46 | the card wait. This is not a problem if the whole card | |
47 | is being erased, but erasing one partition will make | |
48 | I/O for another partition on the same card wait for the | |
49 | duration of the erase - which could be a several | |
50 | minutes. | |
51 | 2. To be able to inform the user of erase progress. | |
52 | 3. The erase timeout becomes too large to be very | |
53 | useful. Because the erase timeout contains a margin | |
54 | which is multiplied by the size of the erase area, | |
55 | the value can end up being several minutes for large | |
56 | areas. | |
57 | ||
58 | "erase_size" is not the most efficient unit to erase | |
59 | (especially for SD where it is just one sector), | |
60 | hence "preferred_erase_size" provides a good chunk | |
61 | size for erasing large areas. | |
62 | ||
63 | For MMC, "preferred_erase_size" is the high-capacity | |
64 | erase size if a card specifies one, otherwise it is | |
65 | based on the capacity of the card. | |
66 | ||
67 | For SD, "preferred_erase_size" is the allocation unit | |
68 | size specified by the card. | |
69 | ||
70 | "preferred_erase_size" is in bytes. | |
597dd9d7 | 71 | |
188cc042 LP |
72 | Note on raw_rpmb_size_mult: |
73 | "raw_rpmb_size_mult" is a mutliple of 128kB block. | |
74 | RPMB size in byte is calculated by using the following equation: | |
75 | RPMB partition size = 128kB x raw_rpmb_size_mult |