Lines Matching +full:page +full:- +full:based
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 -------------
114 Kmalloc based example
131 -----------------
150 -------------------------
157 *GPIO based example*
174 *Address lines based example.* It's assumed that the nCE pin is driven
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 -------------
302 ---------------------
318 *GPIO based example*
331 *Address lines based example.* Its assumed that the nCE pins are
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
429 -----------------------
435 the first page in the block. This is time consuming so a bad block table
440 - Per device
445 - Per chip
450 - Fixed offset
455 - Automatic placed
460 - Mirrored tables
471 ram based bad block table which allows faster access than always
474 Flash based tables
478 AG-AND chips this is mandatory, as they have no factory marked bad
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
494 this done by default. This activates the default FLASH based bad block
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
523 - Number of bits per block
527 - Table per chip
533 - Table location is absolute
536 page number where the bad block table starts in the field pages. If
538 array then the start page must be given for each chip in the chip
542 - Table location is automatically detected
548 of the first page in the block which holds the bad block table. Store
554 - Table creation
560 - Table write support
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
641 The eccbytes member defines the number of ecc bytes per page.
643 - eccpos
648 - oobfree
664 page) \* sizeof (int)). The driver stores the result of the ecc check
667 <spare data page 0><ecc result 0>...<ecc result n>
671 <spare data page n><ecc result 0>...<ecc result n>
684 size per page is determined by the oobfree array in the nand_oobinfo
691 ----------------------------------------
706 page in a block. In the remaining pages this
720 256 Byte data in this page
722 256 Bytes of data in this page
724 256 Bytes of data in this page
726 256 Bytes of data in this page
730 page in a block. In the remaining pages this
733 256 Bytes of data in this page
735 256 Bytes of data in this page
736 0x08 - 0x0F Autoplace 0 - 7
746 is bad. This applies only to the first page in a
750 0x02-0x27 Autoplace 0 - 37
752 256 Byte data in this page
754 256 Bytes of data in this page
756 256 Bytes data in this page
758 256 Bytes of data in this page
760 256 Bytes of data in this page
762 256 Bytes of data in this page
764 256 Bytes of data in this page
766 256 Bytes of data in this page
768 256 Bytes of data in this page
770 256 Bytes of data in this page
772 256 Bytes of data in this page
774 256 Bytes of data in this page
776 256 Bytes of data in this page
778 256 Bytes of data in this page
780 256 Bytes of data in this page
782 256 Bytes of data in this page
784 256 Bytes of data in this page
786 256 Bytes of data in this page
788 256 Bytes of data in this page
790 256 Bytes of data in this page
792 256 Bytes of data in this page
794 256 Bytes of data in this page
796 256 Bytes of data in this page
798 256 Bytes of data in this page
809 as you want to a page. The consecutive writes to a page, before erasing
810 it again, are restricted to 1-3 writes, depending on the manufacturers
813 Therefore NAND aware filesystems must either write in page size chunks
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
859 /* AND Chip which has 4 banks and a confusing page / block
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 ----------------------------------
923 ---------------------------------
938 /* The bbt is at the given page, else we must scan for the bbt */
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