aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mtd/nand.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mtd/nand.h')
-rw-r--r--include/linux/mtd/nand.h50
1 files changed, 25 insertions, 25 deletions
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h
index 0f239e714219..877fbbda02cd 100644
--- a/include/linux/mtd/nand.h
+++ b/include/linux/mtd/nand.h
@@ -42,10 +42,10 @@ extern void nand_release(struct mtd_info *mtd);
42/* Internal helper for board drivers which need to override command function */ 42/* Internal helper for board drivers which need to override command function */
43extern void nand_wait_ready(struct mtd_info *mtd); 43extern void nand_wait_ready(struct mtd_info *mtd);
44 44
45/* locks all blockes present in the device */ 45/* locks all blocks present in the device */
46extern int nand_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 46extern int nand_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len);
47 47
48/* unlocks specified locked blockes */ 48/* unlocks specified locked blocks */
49extern int nand_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); 49extern int nand_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len);
50 50
51/* The maximum number of NAND chips in an array */ 51/* The maximum number of NAND chips in an array */
@@ -150,7 +150,7 @@ typedef enum {
150#define NAND_ECC_READ 0 150#define NAND_ECC_READ 0
151/* Reset Hardware ECC for write */ 151/* Reset Hardware ECC for write */
152#define NAND_ECC_WRITE 1 152#define NAND_ECC_WRITE 1
153/* Enable Hardware ECC before syndrom is read back from flash */ 153/* Enable Hardware ECC before syndrome is read back from flash */
154#define NAND_ECC_READSYN 2 154#define NAND_ECC_READSYN 2
155 155
156/* Bit mask for flags passed to do_nand_read_ecc */ 156/* Bit mask for flags passed to do_nand_read_ecc */
@@ -163,7 +163,7 @@ typedef enum {
163 */ 163 */
164/* Chip can not auto increment pages */ 164/* Chip can not auto increment pages */
165#define NAND_NO_AUTOINCR 0x00000001 165#define NAND_NO_AUTOINCR 0x00000001
166/* Buswitdh is 16 bit */ 166/* Buswidth is 16 bit */
167#define NAND_BUSWIDTH_16 0x00000002 167#define NAND_BUSWIDTH_16 0x00000002
168/* Device supports partial programming without padding */ 168/* Device supports partial programming without padding */
169#define NAND_NO_PADDING 0x00000004 169#define NAND_NO_PADDING 0x00000004
@@ -319,26 +319,26 @@ struct nand_hw_control {
319}; 319};
320 320
321/** 321/**
322 * struct nand_ecc_ctrl - Control structure for ecc 322 * struct nand_ecc_ctrl - Control structure for ECC
323 * @mode: ecc mode 323 * @mode: ECC mode
324 * @steps: number of ecc steps per page 324 * @steps: number of ECC steps per page
325 * @size: data bytes per ecc step 325 * @size: data bytes per ECC step
326 * @bytes: ecc bytes per step 326 * @bytes: ECC bytes per step
327 * @total: total number of ecc bytes per page 327 * @total: total number of ECC bytes per page
328 * @prepad: padding information for syndrome based ecc generators 328 * @prepad: padding information for syndrome based ECC generators
329 * @postpad: padding information for syndrome based ecc generators 329 * @postpad: padding information for syndrome based ECC generators
330 * @layout: ECC layout control struct pointer 330 * @layout: ECC layout control struct pointer
331 * @priv: pointer to private ecc control data 331 * @priv: pointer to private ECC control data
332 * @hwctl: function to control hardware ecc generator. Must only 332 * @hwctl: function to control hardware ECC generator. Must only
333 * be provided if an hardware ECC is available 333 * be provided if an hardware ECC is available
334 * @calculate: function for ecc calculation or readback from ecc hardware 334 * @calculate: function for ECC calculation or readback from ECC hardware
335 * @correct: function for ecc correction, matching to ecc generator (sw/hw) 335 * @correct: function for ECC correction, matching to ECC generator (sw/hw)
336 * @read_page_raw: function to read a raw page without ECC 336 * @read_page_raw: function to read a raw page without ECC
337 * @write_page_raw: function to write a raw page without ECC 337 * @write_page_raw: function to write a raw page without ECC
338 * @read_page: function to read a page according to the ecc generator 338 * @read_page: function to read a page according to the ECC generator
339 * requirements. 339 * requirements.
340 * @read_subpage: function to read parts of the page covered by ECC. 340 * @read_subpage: function to read parts of the page covered by ECC.
341 * @write_page: function to write a page according to the ecc generator 341 * @write_page: function to write a page according to the ECC generator
342 * requirements. 342 * requirements.
343 * @read_oob: function to read chip OOB data 343 * @read_oob: function to read chip OOB data
344 * @write_oob: function to write chip OOB data 344 * @write_oob: function to write chip OOB data
@@ -376,8 +376,8 @@ struct nand_ecc_ctrl {
376 376
377/** 377/**
378 * struct nand_buffers - buffer structure for read/write 378 * struct nand_buffers - buffer structure for read/write
379 * @ecccalc: buffer for calculated ecc 379 * @ecccalc: buffer for calculated ECC
380 * @ecccode: buffer for ecc read from flash 380 * @ecccode: buffer for ECC read from flash
381 * @databuf: buffer for data - dynamically sized 381 * @databuf: buffer for data - dynamically sized
382 * 382 *
383 * Do not change the order of buffers. databuf and oobrbuf must be in 383 * Do not change the order of buffers. databuf and oobrbuf must be in
@@ -410,7 +410,7 @@ struct nand_buffers {
410 * mtd->oobsize, mtd->writesize and so on. 410 * mtd->oobsize, mtd->writesize and so on.
411 * @id_data contains the 8 bytes values of NAND_CMD_READID. 411 * @id_data contains the 8 bytes values of NAND_CMD_READID.
412 * Return with the bus width. 412 * Return with the bus width.
413 * @dev_ready: [BOARDSPECIFIC] hardwarespecific function for accesing 413 * @dev_ready: [BOARDSPECIFIC] hardwarespecific function for accessing
414 * device ready/busy line. If set to NULL no access to 414 * device ready/busy line. If set to NULL no access to
415 * ready/busy is available and the ready/busy information 415 * ready/busy is available and the ready/busy information
416 * is read from the chip status register. 416 * is read from the chip status register.
@@ -418,7 +418,7 @@ struct nand_buffers {
418 * commands to the chip. 418 * commands to the chip.
419 * @waitfunc: [REPLACEABLE] hardwarespecific function for wait on 419 * @waitfunc: [REPLACEABLE] hardwarespecific function for wait on
420 * ready. 420 * ready.
421 * @ecc: [BOARDSPECIFIC] ecc control ctructure 421 * @ecc: [BOARDSPECIFIC] ECC control structure
422 * @buffers: buffer structure for read/write 422 * @buffers: buffer structure for read/write
423 * @hwcontrol: platform-specific hardware control structure 423 * @hwcontrol: platform-specific hardware control structure
424 * @ops: oob operation operands 424 * @ops: oob operation operands
@@ -455,7 +455,7 @@ struct nand_buffers {
455 * non 0 if ONFI supported. 455 * non 0 if ONFI supported.
456 * @onfi_params: [INTERN] holds the ONFI page parameter when ONFI is 456 * @onfi_params: [INTERN] holds the ONFI page parameter when ONFI is
457 * supported, 0 otherwise. 457 * supported, 0 otherwise.
458 * @ecclayout: [REPLACEABLE] the default ecc placement scheme 458 * @ecclayout: [REPLACEABLE] the default ECC placement scheme
459 * @bbt: [INTERN] bad block table pointer 459 * @bbt: [INTERN] bad block table pointer
460 * @bbt_td: [REPLACEABLE] bad block table descriptor for flash 460 * @bbt_td: [REPLACEABLE] bad block table descriptor for flash
461 * lookup. 461 * lookup.
@@ -463,7 +463,7 @@ struct nand_buffers {
463 * @badblock_pattern: [REPLACEABLE] bad block scan pattern used for initial 463 * @badblock_pattern: [REPLACEABLE] bad block scan pattern used for initial
464 * bad block scan. 464 * bad block scan.
465 * @controller: [REPLACEABLE] a pointer to a hardware controller 465 * @controller: [REPLACEABLE] a pointer to a hardware controller
466 * structure which is shared among multiple independend 466 * structure which is shared among multiple independent
467 * devices. 467 * devices.
468 * @priv: [OPTIONAL] pointer to private chip date 468 * @priv: [OPTIONAL] pointer to private chip date
469 * @errstat: [OPTIONAL] hardware specific function to perform 469 * @errstat: [OPTIONAL] hardware specific function to perform
@@ -604,7 +604,7 @@ extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len,
604 * @chip_delay: R/B delay value in us 604 * @chip_delay: R/B delay value in us
605 * @options: Option flags, e.g. 16bit buswidth 605 * @options: Option flags, e.g. 16bit buswidth
606 * @bbt_options: BBT option flags, e.g. NAND_BBT_USE_FLASH 606 * @bbt_options: BBT option flags, e.g. NAND_BBT_USE_FLASH
607 * @ecclayout: ecc layout info structure 607 * @ecclayout: ECC layout info structure
608 * @part_probe_types: NULL-terminated array of probe types 608 * @part_probe_types: NULL-terminated array of probe types
609 * @set_parts: platform specific function to set partitions 609 * @set_parts: platform specific function to set partitions
610 * @priv: hardware controller specific settings 610 * @priv: hardware controller specific settings