| rjw | 1f88458 | 2022-01-06 17:20:42 +0800 | [diff] [blame^] | 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 | 
 | 17 | 		device, or concatenated flash devices. | 
 | 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 | 
 | 25 | 		nodes for /sys/class/mtd/mtdX/ . | 
 | 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 |  | 
 | 107 | 		absent, ram, rom, nor, nand, mlc-nand, dataflash, ubi, unknown | 
 | 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. | 
 | 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 | 
 | 131 | 		correcting within each region covering an ECC step (see | 
 | 132 | 		ecc_step_size).  This will always be a non-negative integer. | 
 | 133 |  | 
 | 134 | 		In the case of devices lacking any ECC capability, it is 0. | 
 | 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 | 
 | 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. | 
 | 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 | 
 | 168 | 		ecc_strength, -EUCLEAN is never returned by the read operations. | 
 | 169 | 		Conversely, if bitflip_threshold is zero, -EUCLEAN is always | 
 | 170 | 		returned, absent a hard error. | 
 | 171 |  | 
 | 172 | 		This is generally applicable only to NAND flash devices with ECC | 
 | 173 | 		capability.  It is ignored on devices lacking ECC capability; | 
 | 174 | 		i.e., devices for which ecc_strength is zero. | 
 | 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. | 
 | 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). | 
 | 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 parent (another partition or a flash device) in bytes. | 
 | 233 | 		This attribute is absent on flash devices, so it can be used | 
 | 234 | 		to distinguish them from partitions. |