Lines Matching +full:no +full:- +full:scan +full:- +full:on +full:- +full:init
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]
61 NULL on entry to nand_scan() then the pointer is set to the default
65 -------------------------------
71 - [INTERN]
77 - [REPLACEABLE]
82 nand_scan(). If the function pointer is NULL on entry to
86 - [BOARDSPECIFIC]
92 - [OPTIONAL]
105 -------------
131 -----------------
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 ---------------------
196 to read back the state of the pin. The function has no arguments and
200 and the function pointer this->legacy.dev_ready is set to NULL.
202 Init function
203 -------------
205 The init function allocates memory and sets up all the board specific
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;
248 /* Scan to find existence of the device */
250 err = -ENXIO;
268 -------------
302 ---------------------
308 defines the maximum number of chips to scan for. Make sure that the
315 chips. There is no support for parallel arrays which extend the
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
397 NAND_HWECC_SYNDROME is set then the function is only called on
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
413 calculate an error syndrome on read. The syndrome must be converted to a
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
424 use bad block tables on FLASH, because the ECC layout is interfering
429 -----------------------
440 - Per device
445 - Per chip
450 - Fixed offset
455 - Automatic placed
460 - Mirrored tables
462 The bad block table is mirrored on the chip (device) to allow updates
467 descriptors depending on the chip information which was retrieved by
472 checking the bad block information on the flash chip itself.
478 AG-AND chips this is mandatory, as they have no factory marked bad
482 added to the bad blocks. Therefore we scan the chip(s) when we detect
493 nand chip structure before calling nand_scan(). For AG-AND chips is
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
516 is set to NULL then only the main table is used and no scan for the
523 - Number of bits per block
527 - Table per chip
533 - Table location is absolute
539 array. Note: there is no scan for a table ident pattern performed, so
542 - Table location is automatically detected
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
566 If the write support is enabled then the table is updated on FLASH.
571 - Table version control
582 - Save block contents on write
591 - Number of reserved blocks
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
691 ----------------------------------------
736 0x08 - 0x0F Autoplace 0 - 7
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 ---------------------
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
873 /* The hw ecc generator provides a syndrome instead a ecc value on read
875 * data bytes. Applies for DOC and AG-AND Renesas HW Reed Solomon generators */
880 -----------------------
884 /* No ECC. Usage is not recommended ! */
899 ----------------------------------
923 ---------------------------------
930 /* The number of bits used per block in the bbt on the device */
938 /* The bbt is at the given page, else we must scan for the bbt */
940 /* bbt is stored per chip on multichip devices */
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