diff options
Diffstat (limited to 'include/linux/mtd/nand.h')
-rw-r--r-- | include/linux/mtd/nand.h | 50 |
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 */ |
43 | extern void nand_wait_ready(struct mtd_info *mtd); | 43 | extern 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 */ |
46 | extern int nand_lock(struct mtd_info *mtd, loff_t ofs, uint64_t len); | 46 | extern 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 */ |
49 | extern int nand_unlock(struct mtd_info *mtd, loff_t ofs, uint64_t len); | 49 | extern 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 |