diff options
Diffstat (limited to 'include/linux/mtd/nand.h')
| -rw-r--r-- | include/linux/mtd/nand.h | 16 |
1 files changed, 10 insertions, 6 deletions
diff --git a/include/linux/mtd/nand.h b/include/linux/mtd/nand.h index 66559272ebcb..0b4cd2fa64aa 100644 --- a/include/linux/mtd/nand.h +++ b/include/linux/mtd/nand.h | |||
| @@ -202,7 +202,7 @@ typedef enum { | |||
| 202 | struct nand_chip; | 202 | struct nand_chip; |
| 203 | 203 | ||
| 204 | /** | 204 | /** |
| 205 | * struct nand_hw_control - Control structure for hardware controller (e.g ECC generator) shared among independend devices | 205 | * struct nand_hw_control - Control structure for hardware controller (e.g ECC generator) shared among independent devices |
| 206 | * @lock: protection lock | 206 | * @lock: protection lock |
| 207 | * @active: the mtd device which holds the controller currently | 207 | * @active: the mtd device which holds the controller currently |
| 208 | * @wq: wait queue to sleep on if a NAND operation is in progress | 208 | * @wq: wait queue to sleep on if a NAND operation is in progress |
| @@ -223,12 +223,15 @@ struct nand_hw_control { | |||
| 223 | * @total: total number of ecc bytes per page | 223 | * @total: total number of ecc bytes per page |
| 224 | * @prepad: padding information for syndrome based ecc generators | 224 | * @prepad: padding information for syndrome based ecc generators |
| 225 | * @postpad: padding information for syndrome based ecc generators | 225 | * @postpad: padding information for syndrome based ecc generators |
| 226 | * @layout: ECC layout control struct pointer | ||
| 226 | * @hwctl: function to control hardware ecc generator. Must only | 227 | * @hwctl: function to control hardware ecc generator. Must only |
| 227 | * be provided if an hardware ECC is available | 228 | * be provided if an hardware ECC is available |
| 228 | * @calculate: function for ecc calculation or readback from ecc hardware | 229 | * @calculate: function for ecc calculation or readback from ecc hardware |
| 229 | * @correct: function for ecc correction, matching to ecc generator (sw/hw) | 230 | * @correct: function for ecc correction, matching to ecc generator (sw/hw) |
| 230 | * @read_page: function to read a page according to the ecc generator requirements | 231 | * @read_page: function to read a page according to the ecc generator requirements |
| 231 | * @write_page: function to write a page according to the ecc generator requirements | 232 | * @write_page: function to write a page according to the ecc generator requirements |
| 233 | * @read_oob: function to read chip OOB data | ||
| 234 | * @write_oob: function to write chip OOB data | ||
| 232 | */ | 235 | */ |
| 233 | struct nand_ecc_ctrl { | 236 | struct nand_ecc_ctrl { |
| 234 | nand_ecc_modes_t mode; | 237 | nand_ecc_modes_t mode; |
| @@ -300,11 +303,15 @@ struct nand_buffers { | |||
| 300 | * @cmdfunc: [REPLACEABLE] hardwarespecific function for writing commands to the chip | 303 | * @cmdfunc: [REPLACEABLE] hardwarespecific function for writing commands to the chip |
| 301 | * @waitfunc: [REPLACEABLE] hardwarespecific function for wait on ready | 304 | * @waitfunc: [REPLACEABLE] hardwarespecific function for wait on ready |
| 302 | * @ecc: [BOARDSPECIFIC] ecc control ctructure | 305 | * @ecc: [BOARDSPECIFIC] ecc control ctructure |
| 306 | * @buffers: buffer structure for read/write | ||
| 307 | * @hwcontrol: platform-specific hardware control structure | ||
| 308 | * @ops: oob operation operands | ||
| 303 | * @erase_cmd: [INTERN] erase command write function, selectable due to AND support | 309 | * @erase_cmd: [INTERN] erase command write function, selectable due to AND support |
| 304 | * @scan_bbt: [REPLACEABLE] function to scan bad block table | 310 | * @scan_bbt: [REPLACEABLE] function to scan bad block table |
| 305 | * @chip_delay: [BOARDSPECIFIC] chip dependent delay for transfering data from array to read regs (tR) | 311 | * @chip_delay: [BOARDSPECIFIC] chip dependent delay for transfering data from array to read regs (tR) |
| 306 | * @wq: [INTERN] wait queue to sleep on if a NAND operation is in progress | 312 | * @wq: [INTERN] wait queue to sleep on if a NAND operation is in progress |
| 307 | * @state: [INTERN] the current state of the NAND device | 313 | * @state: [INTERN] the current state of the NAND device |
| 314 | * @oob_poi: poison value buffer | ||
| 308 | * @page_shift: [INTERN] number of address bits in a page (column address bits) | 315 | * @page_shift: [INTERN] number of address bits in a page (column address bits) |
| 309 | * @phys_erase_shift: [INTERN] number of address bits in a physical eraseblock | 316 | * @phys_erase_shift: [INTERN] number of address bits in a physical eraseblock |
| 310 | * @bbt_erase_shift: [INTERN] number of address bits in a bbt entry | 317 | * @bbt_erase_shift: [INTERN] number of address bits in a bbt entry |
| @@ -400,7 +407,6 @@ struct nand_chip { | |||
| 400 | 407 | ||
| 401 | /** | 408 | /** |
| 402 | * struct nand_flash_dev - NAND Flash Device ID Structure | 409 | * struct nand_flash_dev - NAND Flash Device ID Structure |
| 403 | * | ||
| 404 | * @name: Identify the device type | 410 | * @name: Identify the device type |
| 405 | * @id: device ID code | 411 | * @id: device ID code |
| 406 | * @pagesize: Pagesize in bytes. Either 256 or 512 or 0 | 412 | * @pagesize: Pagesize in bytes. Either 256 or 512 or 0 |
| @@ -519,9 +525,8 @@ extern int nand_do_read(struct mtd_info *mtd, loff_t from, size_t len, | |||
| 519 | 525 | ||
| 520 | /** | 526 | /** |
| 521 | * struct platform_nand_chip - chip level device structure | 527 | * struct platform_nand_chip - chip level device structure |
| 522 | * | ||
| 523 | * @nr_chips: max. number of chips to scan for | 528 | * @nr_chips: max. number of chips to scan for |
| 524 | * @chip_offs: chip number offset | 529 | * @chip_offset: chip number offset |
| 525 | * @nr_partitions: number of partitions pointed to by partitions (or zero) | 530 | * @nr_partitions: number of partitions pointed to by partitions (or zero) |
| 526 | * @partitions: mtd partition list | 531 | * @partitions: mtd partition list |
| 527 | * @chip_delay: R/B delay value in us | 532 | * @chip_delay: R/B delay value in us |
| @@ -542,11 +547,10 @@ struct platform_nand_chip { | |||
| 542 | 547 | ||
| 543 | /** | 548 | /** |
| 544 | * struct platform_nand_ctrl - controller level device structure | 549 | * struct platform_nand_ctrl - controller level device structure |
| 545 | * | ||
| 546 | * @hwcontrol: platform specific hardware control structure | 550 | * @hwcontrol: platform specific hardware control structure |
| 547 | * @dev_ready: platform specific function to read ready/busy pin | 551 | * @dev_ready: platform specific function to read ready/busy pin |
| 548 | * @select_chip: platform specific chip select function | 552 | * @select_chip: platform specific chip select function |
| 549 | * @priv_data: private data to transport driver specific settings | 553 | * @priv: private data to transport driver specific settings |
| 550 | * | 554 | * |
| 551 | * All fields are optional and depend on the hardware driver requirements | 555 | * All fields are optional and depend on the hardware driver requirements |
| 552 | */ | 556 | */ |
