Lines Matching +full:per +full:- +full:board
10 The generic NAND driver supports almost all NAND and AG-AND based chips
15 board drivers or filesystem drivers suitable for NAND devices.
31 --------------------------
37 - [MTD Interface]
43 - [NAND Interface]
48 - [GENERIC]
53 - [DEFAULT]
57 replaced by the board driver if necessary. Those functions are called
58 via pointers in the NAND chip description structure. The board driver
59 can set the functions which should be replaced by board dependent
65 -------------------------------
71 - [INTERN]
77 - [REPLACEABLE]
80 provided by the board driver. The board driver can set the functions
81 which should be replaced by board dependent functions before calling
86 - [BOARDSPECIFIC]
88 Board specific members hold hardware related information which must
89 be provided by the board driver. The board driver must set the
92 - [OPTIONAL]
94 Optional members can hold information relevant for the board driver.
97 Basic board driver
101 functions and fill out some really board dependent members in the nand
105 -------------
131 -----------------
134 partitioning scheme suitable to your board.
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 -------------
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;
250 err = -ENXIO;
268 -------------
294 Advanced board driver functions
298 For a list of functions which can be overridden by the board driver see
302 ---------------------
304 The nand driver can control chip arrays. Therefore the board driver must
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
367 Hardware ECC generator providing 3 bytes ECC per 256 byte.
369 - NAND_ECC_HW3_512
371 Hardware ECC generator providing 3 bytes ECC per 512 byte.
373 - NAND_ECC_HW6_512
375 Hardware ECC generator providing 6 bytes ECC per 512 byte.
377 - NAND_ECC_HW8_512
379 Hardware ECC generator providing 8 bytes ECC per 512 byte.
384 The board driver must provide following functions:
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 -----------------------
440 - Per device
445 - Per chip
447 A bad block table is used per chip and contains the bad block
450 - Fixed offset
455 - Automatic placed
460 - Mirrored tables
478 AG-AND chips this is mandatory, as they have no factory marked bad
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
523 - Number of bits per block
527 - Table per chip
531 set then a per device bad block table is used.
533 - Table location is absolute
537 you have selected bad block tables per chip and you have a multi chip
542 - Table location is automatically detected
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
613 the board driver can provide a own placement scheme.
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
663 is (number of pages) \* ((size of spare area) + (number of ecc steps per
684 size per page is determined by the oobfree array in the nand_oobinfo
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
875 * data bytes. Applies for DOC and AG-AND Renesas HW Reed Solomon generators */
880 -----------------------
886 /* Software ECC 3 byte ECC per 256 Byte data */
888 /* Hardware ECC 3 byte ECC per 256 Byte data */
890 /* Hardware ECC 3 byte ECC per 512 Byte data */
892 /* Hardware ECC 6 byte ECC per 512 Byte data */
894 /* Hardware ECC 8 byte ECC per 512 Byte data */
899 ----------------------------------
923 ---------------------------------
930 /* The number of bits used per block in the bbt on the device */
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
975 .. kernel-doc:: drivers/mtd/nand/raw/nand_ecc.c
985 relevant for a board driver developer.
987 .. kernel-doc:: drivers/mtd/nand/raw/nand_base.c
990 .. kernel-doc:: drivers/mtd/nand/raw/nand_bbt.c