Lines Matching +full:nand +full:- +full:ecc +full:- +full:placement
1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */
3 * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org> et al.
17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
55 * @MTD_OPS_RAW: data are transferred as-is, with no error correction;
69 * struct mtd_write_req - data structure for requesting a write operation
74 * @usr_data: user-provided data buffer
75 * @usr_oob: user-provided OOB buffer
80 * writes in various modes. To write to OOB-only, set @usr_data == NULL, and to
81 * write data-only, set @usr_oob == NULL. However, setting both @usr_data and
95 * struct mtd_read_req_ecc_stats - ECC statistics for a read operation
101 * @max_bitflips: the maximum number of bitflips detected in any single ECC
114 * struct mtd_read_req - data structure for requesting a read operation
119 * @usr_data: user-provided data buffer
120 * @usr_oob: user-provided OOB buffer
123 * @ecc_stats: ECC statistics for the read operation
126 * reads in various modes. To read from OOB-only, set @usr_data == NULL, and to
127 * read data-only, set @usr_oob == NULL. However, setting both @usr_data and
145 #define MTD_NANDFLASH 4 /* SLC NAND */
148 #define MTD_MLCNANDFLASH 8 /* MLC NAND (including TLC) */
163 /* Obsolete ECC byte placement modes (used with obsolete MEMGETOOBSEL) */
164 #define MTD_NANDECC_OFF 0 /* Switch off ECC (Not recommended) */
165 #define MTD_NANDECC_PLACE 1 /* Use the given placement in the structure (YAFFS1 legacy mode) */
166 #define MTD_NANDECC_AUTOPLACE 2 /* Use the default placement scheme */
167 #define MTD_NANDECC_PLACEONLY 3 /* Use the given placement in the structure (Do not store ecc resul…
209 /* Write out-of-band data from MTD */
211 /* Read out-of-band data from MTD */
221 /* Get info about OOB modes (e.g., RAW, PLACE, AUTO) - legacy interface */
227 /* Set OTP (One-Time Programmable) mode (factory vs. user) */
229 /* Get number of OTP (One-Time Programmable) regions */
231 /* Get all OTP (One-Time Programmable) info about MTD */
235 /* Get ECC layout (deprecated) */
239 /* Set MTD mode on a per-file-descriptor basis (see "MTD file modes") */
241 /* Erase segment of MTD (supports 64-bit address) */
243 /* Write data to OOB (64-bit version) */
245 /* Read data from OOB (64-bit version) */
250 * Most generic write interface; can write in-band and/or out-of-band in various
258 * Most generic read interface; can read in-band and/or out-of-band in various
283 * OBSOLETE: ECC layout control structure. Exported to user-space via ioctl
285 * complete set of ECC information. The ioctl truncates the larger internal
298 * struct mtd_ecc_stats - error correction stats
313 * MTD file modes - for read/write access to MTD
315 * @MTD_FILE_MODE_NORMAL: OTP disabled, ECC enabled
318 * @MTD_FILE_MODE_RAW: OTP disabled, ECC disabled
323 * Note: %MTD_FILE_MODE_RAW provides the same functionality as %MTD_OPS_RAW -
339 return mtd->type == MTD_NANDFLASH || mtd->type == MTD_MLCNANDFLASH; in mtd_type_is_nand_user()