Lines Matching +full:partitions +full:- +full:table +full:- +full:offset
10 The generic NAND driver supports almost all NAND and AG-AND based chips
31 --------------------------
37 - [MTD Interface]
43 - [NAND Interface]
48 - [GENERIC]
53 - [DEFAULT]
65 -------------------------------
71 - [INTERN]
77 - [REPLACEABLE]
86 - [BOARDSPECIFIC]
92 - [OPTIONAL]
105 -------------
131 -----------------
133 If you want to divide your device into partitions, then define a
141 .offset = 0,
144 .offset = MTDPART_OFS_NEXT,
150 -------------------------
183 case NAND_CTL_SETCLE: this->legacy.IO_ADDR_W |= CLE_ADRR_BIT; break;
184 case NAND_CTL_CLRCLE: this->legacy.IO_ADDR_W &= ~CLE_ADRR_BIT; break;
185 case NAND_CTL_SETALE: this->legacy.IO_ADDR_W |= ALE_ADRR_BIT; break;
186 case NAND_CTL_CLRALE: this->legacy.IO_ADDR_W &= ~ALE_ADRR_BIT; break;
192 ---------------------
200 and the function pointer this->legacy.dev_ready is set to NULL.
203 -------------
223 err = -ENOMEM;
233 err = -EIO;
238 this->legacy.IO_ADDR_R = baseaddr;
239 this->legacy.IO_ADDR_W = baseaddr;
241 this->hwcontrol = board_hwcontrol;
243 this->legacy.chip_delay = CHIP_DEPENDEND_COMMAND_DELAY;
245 this->legacy.dev_ready = board_dev_ready;
246 this->eccmode = NAND_ECC_SOFT;
250 err = -ENXIO;
268 -------------
272 unregisters the partitions in the MTD layer.
302 ---------------------
341 this->legacy.IO_ADDR_R &= ~BOARD_NAND_ADDR_MASK;
342 this->legacy.IO_ADDR_W &= ~BOARD_NAND_ADDR_MASK;
345 this->legacy.IO_ADDR_R |= BOARD_NAND_ADDR_CHIP0;
346 this->legacy.IO_ADDR_W |= BOARD_NAND_ADDR_CHIP0;
350 this->legacy.IO_ADDR_R |= BOARD_NAND_ADDR_CHIPn;
351 this->legacy.IO_ADDR_W |= BOARD_NAND_ADDR_CHIPn;
358 --------------------
365 - NAND_ECC_HW3_256
369 - NAND_ECC_HW3_512
373 - NAND_ECC_HW6_512
377 - NAND_ECC_HW8_512
386 - enable_hwecc
393 - calculate_ecc
400 - correct_data
404 corrected. If the error is not correctable return -1. If your
412 Many hardware ECC implementations provide Reed-Solomon codes and
414 standard Reed-Solomon syndrome before calling the error correction code
415 in the generic Reed-Solomon library.
422 code. Provide a matching oob-layout in this case. See rts_from4.c and
425 with the bad block marker positions. See bad block table support for
428 Bad block table support
429 -----------------------
435 the first page in the block. This is time consuming so a bad block table
440 - Per device
442 The bad block table contains all bad block information of the device
445 - Per chip
447 A bad block table is used per chip and contains the bad block
450 - Fixed offset
452 The bad block table is located at a fixed offset in the chip
455 - Automatic placed
457 The bad block table is automatically placed and detected either at
460 - Mirrored tables
462 The bad block table is mirrored on the chip (device) to allow updates
463 of the bad block table without data loss.
466 nand_default_bbt() selects appropriate default bad block table
471 ram based bad block table which allows faster access than always
477 It may be desired or necessary to keep a bad block table in FLASH. For
478 AG-AND chips this is mandatory, as they have no factory marked bad
484 block table before erasing any of the blocks.
487 accidental access by marking them bad in the memory bad block table. The
488 bad block table management functions are allowed to circumvent this
491 The simplest way to activate the FLASH based bad block table support is
493 nand chip structure before calling nand_scan(). For AG-AND chips is
495 table functionality of the NAND driver. The default bad block table
498 - Store bad block table per chip
500 - Use 2 bits per block
502 - Automatic placement at the end of the chip
504 - Use mirrored tables with version numbers
506 - Reserve 4 blocks at the end of the chip
513 bbt_td before calling nand_scan(). If a mirror table is necessary a
516 is set to NULL then only the main table is used and no scan for the
517 mirrored table is performed.
520 options field. The options define most of the table properties. Use the
523 - Number of bits per block
527 - Table per chip
530 table is managed for each chip in a chip array. If this option is not
531 set then a per device bad block table is used.
533 - Table location is absolute
536 page number where the bad block table starts in the field pages. If
539 array. Note: there is no scan for a table ident pattern performed, so
542 - Table location is automatically detected
544 The table can either be located in the first or the last good blocks
546 table at the end of the chip (device). The bad block tables are
548 of the first page in the block which holds the bad block table. Store
550 the pattern has to be stored in len and the offset in the spare area
554 - Table creation
556 Set the option NAND_BBT_CREATE to enable the table creation if no
557 table can be found during the scan. Usually this is done only once if
560 - Table write support
562 Set the option NAND_BBT_WRITE to enable the table write support.
563 This allows the update of the bad block table(s) in case a block has
565 block_markbad is calling the update function of the bad block table.
566 If the write support is enabled then the table is updated on FLASH.
571 - Table version control
573 Set the option NAND_BBT_VERSION to enable the table version
576 block table information is reduced to the loss of the information
580 the bad block table descriptor.
582 - Save block contents on write
584 In case that the block which holds the bad block table does contain
586 the bad block table is written then the whole block is read the bad
587 block table is updated and the block is erased and everything is
588 written back. If this option is not set only the bad block table is
591 - Number of reserved blocks
594 table storage. The number of reserved blocks is defined in the
595 maxblocks member of the bad block table description structure.
598 block table ident pattern.
601 --------------------------
606 - Placement defined by fs driver
608 - Automatic placement
630 - useecc
633 file include/mtd/mtd-abi.h contains constants to select ecc and
639 - eccbytes
643 - eccpos
648 - oobfree
652 {offset, size}. offset defines the start of the usable area, size the
691 ----------------------------------------
697 Offset Content Comment
717 Offset Content Comment
736 0x08 - 0x0F Autoplace 0 - 7
743 Offset Content Comment
750 0x02-0x27 Autoplace 0 - 37
810 it again, are restricted to 1-3 writes, depending on the manufacturers
826 - flasherase, flasheraseall: Erase and format FLASH partitions
828 - nandwrite: write filesystem images to NAND FLASH
830 - nanddump: dump the contents of a NAND FLASH partitions
843 ---------------------
845 Constants for chip id table
848 These constants are defined in rawnand.h. They are OR-ed together to
870 These constants are defined in rawnand.h. They are OR-ed together to
875 * data bytes. Applies for DOC and AG-AND Renesas HW Reed Solomon generators */
880 -----------------------
899 ----------------------------------
922 Bad block table related constants
923 ---------------------------------
925 These constants describe the options used for bad block table
928 /* Options for the bad block table descriptors */
936 /* The bad block table is in the last good block of the device */
942 /* bbt has a version counter at offset veroffs */
961 .. kernel-doc:: include/linux/mtd/rawnand.h
972 .. kernel-doc:: drivers/mtd/nand/raw/nand_base.c
984 .. kernel-doc:: drivers/mtd/nand/raw/nand_base.c
987 .. kernel-doc:: drivers/mtd/nand/raw/nand_bbt.c