Lines Matching +full:cmd +full:- +full:pins
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 -----------------
150 -------------------------
152 The hardware control function provides access to the control pins of the
153 NAND chip(s). The access can be done by GPIO pins or by address lines.
161 static void board_hwcontrol(struct mtd_info *mtd, int cmd)
163 switch(cmd){
179 static void board_hwcontrol(struct mtd_info *mtd, int cmd)
182 switch(cmd){
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 ---------------------
324 /* Deselect all chips, set all nCE pins high */
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 -----------------------
440 - Per device
445 - Per chip
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
533 - Table location is absolute
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
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
875 * data bytes. Applies for DOC and AG-AND Renesas HW Reed Solomon generators */
880 -----------------------
899 ----------------------------------
923 ---------------------------------
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