Commit | Line | Data |
---|---|---|
19fe7f1a KC |
1 | What: /sys/class/mtd/ |
2 | Date: April 2009 | |
3 | KernelVersion: 2.6.29 | |
4 | Contact: linux-mtd@lists.infradead.org | |
5 | Description: | |
6 | The mtd/ class subdirectory belongs to the MTD subsystem | |
7 | (MTD core). | |
8 | ||
9 | What: /sys/class/mtd/mtdX/ | |
10 | Date: April 2009 | |
11 | KernelVersion: 2.6.29 | |
12 | Contact: linux-mtd@lists.infradead.org | |
13 | Description: | |
14 | The /sys/class/mtd/mtd{0,1,2,3,...} directories correspond | |
15 | to each /dev/mtdX character device. These may represent | |
16 | physical/simulated flash devices, partitions on a flash | |
880113ef | 17 | device, or concatenated flash devices. |
19fe7f1a KC |
18 | |
19 | What: /sys/class/mtd/mtdXro/ | |
20 | Date: April 2009 | |
21 | KernelVersion: 2.6.29 | |
22 | Contact: linux-mtd@lists.infradead.org | |
23 | Description: | |
24 | These directories provide the corresponding read-only device | |
880113ef | 25 | nodes for /sys/class/mtd/mtdX/ . |
19fe7f1a KC |
26 | |
27 | What: /sys/class/mtd/mtdX/dev | |
28 | Date: April 2009 | |
29 | KernelVersion: 2.6.29 | |
30 | Contact: linux-mtd@lists.infradead.org | |
31 | Description: | |
32 | Major and minor numbers of the character device corresponding | |
33 | to this MTD device (in <major>:<minor> format). This is the | |
34 | read-write device so <minor> will be even. | |
35 | ||
36 | What: /sys/class/mtd/mtdXro/dev | |
37 | Date: April 2009 | |
38 | KernelVersion: 2.6.29 | |
39 | Contact: linux-mtd@lists.infradead.org | |
40 | Description: | |
41 | Major and minor numbers of the character device corresponding | |
42 | to the read-only variant of thie MTD device (in | |
43 | <major>:<minor> format). In this case <minor> will be odd. | |
44 | ||
45 | What: /sys/class/mtd/mtdX/erasesize | |
46 | Date: April 2009 | |
47 | KernelVersion: 2.6.29 | |
48 | Contact: linux-mtd@lists.infradead.org | |
49 | Description: | |
50 | "Major" erase size for the device. If numeraseregions is | |
51 | zero, this is the eraseblock size for the entire device. | |
52 | Otherwise, the MEMGETREGIONCOUNT/MEMGETREGIONINFO ioctls | |
53 | can be used to determine the actual eraseblock layout. | |
54 | ||
55 | What: /sys/class/mtd/mtdX/flags | |
56 | Date: April 2009 | |
57 | KernelVersion: 2.6.29 | |
58 | Contact: linux-mtd@lists.infradead.org | |
59 | Description: | |
60 | A hexadecimal value representing the device flags, ORed | |
61 | together: | |
62 | ||
63 | 0x0400: MTD_WRITEABLE - device is writable | |
64 | 0x0800: MTD_BIT_WRITEABLE - single bits can be flipped | |
65 | 0x1000: MTD_NO_ERASE - no erase necessary | |
66 | 0x2000: MTD_POWERUP_LOCK - always locked after reset | |
67 | ||
68 | What: /sys/class/mtd/mtdX/name | |
69 | Date: April 2009 | |
70 | KernelVersion: 2.6.29 | |
71 | Contact: linux-mtd@lists.infradead.org | |
72 | Description: | |
73 | A human-readable ASCII name for the device or partition. | |
74 | This will match the name in /proc/mtd . | |
75 | ||
76 | What: /sys/class/mtd/mtdX/numeraseregions | |
77 | Date: April 2009 | |
78 | KernelVersion: 2.6.29 | |
79 | Contact: linux-mtd@lists.infradead.org | |
80 | Description: | |
81 | For devices that have variable eraseblock sizes, this | |
82 | provides the total number of erase regions. Otherwise, | |
83 | it will read back as zero. | |
84 | ||
85 | What: /sys/class/mtd/mtdX/oobsize | |
86 | Date: April 2009 | |
87 | KernelVersion: 2.6.29 | |
88 | Contact: linux-mtd@lists.infradead.org | |
89 | Description: | |
90 | Number of OOB bytes per page. | |
91 | ||
92 | What: /sys/class/mtd/mtdX/size | |
93 | Date: April 2009 | |
94 | KernelVersion: 2.6.29 | |
95 | Contact: linux-mtd@lists.infradead.org | |
96 | Description: | |
97 | Total size of the device/partition, in bytes. | |
98 | ||
99 | What: /sys/class/mtd/mtdX/type | |
100 | Date: April 2009 | |
101 | KernelVersion: 2.6.29 | |
102 | Contact: linux-mtd@lists.infradead.org | |
103 | Description: | |
104 | One of the following ASCII strings, representing the device | |
105 | type: | |
106 | ||
f4837246 | 107 | absent, ram, rom, nor, nand, mlc-nand, dataflash, ubi, unknown |
19fe7f1a KC |
108 | |
109 | What: /sys/class/mtd/mtdX/writesize | |
110 | Date: April 2009 | |
111 | KernelVersion: 2.6.29 | |
112 | Contact: linux-mtd@lists.infradead.org | |
113 | Description: | |
114 | Minimal writable flash unit size. This will always be | |
115 | a positive integer. | |
116 | ||
117 | In the case of NOR flash it is 1 (even though individual | |
118 | bits can be cleared). | |
119 | ||
120 | In the case of NAND flash it is one NAND page (or a | |
121 | half page, or a quarter page). | |
122 | ||
123 | In the case of ECC NOR, it is the ECC block size. | |
a9b672e8 MD |
124 | |
125 | What: /sys/class/mtd/mtdX/ecc_strength | |
126 | Date: April 2012 | |
127 | KernelVersion: 3.4 | |
128 | Contact: linux-mtd@lists.infradead.org | |
129 | Description: | |
130 | Maximum number of bit errors that the device is capable of | |
ed202940 HS |
131 | correcting within each region covering an ECC step (see |
132 | ecc_step_size). This will always be a non-negative integer. | |
a9b672e8 MD |
133 | |
134 | In the case of devices lacking any ECC capability, it is 0. | |
d062d4ed MD |
135 | |
136 | What: /sys/class/mtd/mtdX/bitflip_threshold | |
137 | Date: April 2012 | |
138 | KernelVersion: 3.4 | |
139 | Contact: linux-mtd@lists.infradead.org | |
140 | Description: | |
141 | This allows the user to examine and adjust the criteria by which | |
021796b8 MD |
142 | mtd returns -EUCLEAN from mtd_read() and mtd_read_oob(). If the |
143 | maximum number of bit errors that were corrected on any single | |
144 | region comprising an ecc step (as reported by the driver) equals | |
145 | or exceeds this value, -EUCLEAN is returned. Otherwise, absent | |
146 | an error, 0 is returned. Higher layers (e.g., UBI) use this | |
147 | return code as an indication that an erase block may be | |
148 | degrading and should be scrutinized as a candidate for being | |
149 | marked as bad. | |
d062d4ed MD |
150 | |
151 | The initial value may be specified by the flash device driver. | |
152 | If not, then the default value is ecc_strength. | |
153 | ||
154 | The introduction of this feature brings a subtle change to the | |
155 | meaning of the -EUCLEAN return code. Previously, it was | |
156 | interpreted to mean simply "one or more bit errors were | |
157 | corrected". Its new interpretation can be phrased as "a | |
158 | dangerously high number of bit errors were corrected on one or | |
159 | more regions comprising an ecc step". The precise definition of | |
160 | "dangerously high" can be adjusted by the user with | |
161 | bitflip_threshold. Users are discouraged from doing this, | |
162 | however, unless they know what they are doing and have intimate | |
163 | knowledge of the properties of their device. Broadly speaking, | |
164 | bitflip_threshold should be low enough to detect genuine erase | |
165 | block degradation, but high enough to avoid the consequences of | |
166 | a persistent return value of -EUCLEAN on devices where sticky | |
167 | bitflips occur. Note that if bitflip_threshold exceeds | |
021796b8 | 168 | ecc_strength, -EUCLEAN is never returned by the read operations. |
edbc4540 MD |
169 | Conversely, if bitflip_threshold is zero, -EUCLEAN is always |
170 | returned, absent a hard error. | |
d062d4ed MD |
171 | |
172 | This is generally applicable only to NAND flash devices with ECC | |
edbc4540 MD |
173 | capability. It is ignored on devices lacking ECC capability; |
174 | i.e., devices for which ecc_strength is zero. | |
ed202940 HS |
175 | |
176 | What: /sys/class/mtd/mtdX/ecc_step_size | |
177 | Date: May 2013 | |
178 | KernelVersion: 3.10 | |
179 | Contact: linux-mtd@lists.infradead.org | |
180 | Description: | |
181 | The size of a single region covered by ECC, known as the ECC | |
182 | step. Devices may have several equally sized ECC steps within | |
183 | each writesize region. | |
184 | ||
185 | It will always be a non-negative integer. In the case of | |
186 | devices lacking any ECC capability, it is 0. | |
990a3af0 EG |
187 | |
188 | What: /sys/class/mtd/mtdX/ecc_failures | |
189 | Date: June 2014 | |
190 | KernelVersion: 3.17 | |
191 | Contact: linux-mtd@lists.infradead.org | |
192 | Description: | |
193 | The number of failures reported by this device's ECC. Typically, | |
194 | these failures are associated with failed read operations. | |
195 | ||
196 | It will always be a non-negative integer. In the case of | |
197 | devices lacking any ECC capability, it is 0. | |
198 | ||
199 | What: /sys/class/mtd/mtdX/corrected_bits | |
200 | Date: June 2014 | |
201 | KernelVersion: 3.17 | |
202 | Contact: linux-mtd@lists.infradead.org | |
203 | Description: | |
204 | The number of bits that have been corrected by means of the | |
205 | device's ECC. | |
206 | ||
207 | It will always be a non-negative integer. In the case of | |
208 | devices lacking any ECC capability, it is 0. | |
209 | ||
210 | What: /sys/class/mtd/mtdX/bad_blocks | |
211 | Date: June 2014 | |
212 | KernelVersion: 3.17 | |
213 | Contact: linux-mtd@lists.infradead.org | |
214 | Description: | |
215 | The number of blocks marked as bad, if any, in this partition. | |
216 | ||
217 | What: /sys/class/mtd/mtdX/bbt_blocks | |
218 | Date: June 2014 | |
219 | KernelVersion: 3.17 | |
220 | Contact: linux-mtd@lists.infradead.org | |
221 | Description: | |
222 | The number of blocks that are marked as reserved, if any, in | |
223 | this partition. These are typically used to store the in-flash | |
224 | bad block table (BBT). | |
a62c24d7 DE |
225 | |
226 | What: /sys/class/mtd/mtdX/offset | |
227 | Date: March 2015 | |
228 | KernelVersion: 4.1 | |
229 | Contact: linux-mtd@lists.infradead.org | |
230 | Description: | |
231 | For a partition, the offset of that partition from the start | |
232 | of the master device in bytes. This attribute is absent on | |
233 | main devices, so it can be used to distinguish between | |
234 | partitions and devices that aren't partitions. |