Searched +full:nand +full:- +full:ecc +full:- +full:placement (Results 1 – 9 of 9) sorted by relevance
| /linux/Documentation/driver-api/ |
| H A D | mtdnand.rst | 2 MTD NAND Driver Programming Interface 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] 45 These functions are exported and provide the interface to the NAND 48 - [GENERIC] 53 - [DEFAULT] 58 via pointers in the NAND chip description structure. The board driver [all …]
|
| /linux/Documentation/devicetree/bindings/mtd/ |
| H A D | raw-nand-chip.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mtd/raw-nand-chip.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Raw NAND Chip Common Properties 10 - Miquel Raynal <miquel.raynal@bootlin.com> 13 - $ref: nand-chip.yaml# 16 The ECC strength and ECC step size properties define the user 18 they request the ECC engine to correct {strength} bit errors per 19 {size} bytes for a particular raw NAND chip. [all …]
|
| /linux/include/uapi/mtd/ |
| H A D | mtd-abi.h | 1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 3 * Copyright © 1999-2010 David Woodhouse <dwmw2@infradead.org> et al. 17 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 55 * @MTD_OPS_RAW: data are transferred as-is, with no error correction; 69 * struct mtd_write_req - data structure for requesting a write operation 74 * @usr_data: user-provided data buffer 75 * @usr_oob: user-provided OOB buffer 80 * writes in various modes. To write to OOB-only, set @usr_data == NULL, and to 81 * write data-only, set @usr_oob == NULL. However, setting both @usr_data and 95 * struct mtd_read_req_ecc_stats - ECC statistics for a read operation [all …]
|
| /linux/drivers/mtd/nand/raw/ |
| H A D | cafe_nand.c | 1 // SPDX-License-Identifier: GPL-2.0-only 23 #include <linux/dma-mapping.h> 61 struct nand_chip nand; member 101 #define cafe_readl(cafe, addr) readl((cafe)->mmio + CAFE_##addr) 102 #define cafe_writel(cafe, datum, addr) writel(datum, (cafe)->mmio + CAFE_##addr) 112 cafe_dev_dbg(&cafe->pdev->dev, "NAND device is%s ready, IRQ %x (%x) (%x,%x)\n", in cafe_device_ready() 124 if (cafe->usedma) in cafe_write_buf() 125 memcpy(cafe->dmabuf + cafe->datalen, buf, len); in cafe_write_buf() 127 memcpy_toio(cafe->mmio + CAFE_NAND_WRITE_DATA + cafe->datalen, buf, len); in cafe_write_buf() 129 cafe->datalen += len; in cafe_write_buf() [all …]
|
| H A D | lpc32xx_slc.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * NXP LPC32XX NAND SLC driver 24 #include <linux/dma-mapping.h> 30 #define LPC32XX_MODNAME "lpc32xx-nand" 33 * SLC NAND controller register offsets 55 #define SLCCTRL_SW_RESET (1 << 2) /* Reset the NAND controller bit */ 56 #define SLCCTRL_ECC_CLEAR (1 << 1) /* Reset ECC bit */ 63 #define SLCCFG_DMA_ECC (1 << 4) /* Enable DMA ECC bit */ 64 #define SLCCFG_ECC_EN (1 << 3) /* ECC enable bit */ 74 #define SLCSTAT_NAND_READY (1 << 0) /* NAND device is ready bit */ [all …]
|
| H A D | r852.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Copyright © 2009 - Maxim Levitsky 31 MODULE_PARM_DESC(debug, "Debug level (0-2)"); 36 uint8_t reg = readb(dev->mmio + address); in r852_read_reg() 44 writeb(value, dev->mmio + address); in r852_write_reg() 51 uint32_t reg = le32_to_cpu(readl(dev->mmio + address)); in r852_read_reg_dword() 59 writel(cpu_to_le32(value), dev->mmio + address); in r852_write_reg_dword() 73 dev->dma_usable = (r852_read_reg(dev, R852_DMA_CAP) & in r852_dma_test() 76 if (!dev->dma_usable) in r852_dma_test() 81 dev->dma_usable = 0; in r852_dma_test() [all …]
|
| H A D | diskonchip.c | 1 // SPDX-License-Identifier: GPL-2.0-only 14 * converted to the generic Reed-Solomon library by Thomas Gleixner <tglx@linutronix.de> 16 * Interface to generic NAND code for M-Systems DiskOnChip devices 79 /* This is the ecc value computed by the HW ecc generator upon writing an empty 85 #define DoC_is_MillenniumPlus(doc) ((doc)->ChipID == DOC_ChipID_DocMilPlus16 || (doc)->ChipID == DO… 86 #define DoC_is_Millennium(doc) ((doc)->ChipID == DOC_ChipID_DocMil) 87 #define DoC_is_2000(doc) ((doc)->ChipID == DOC_ChipID_Doc2k) 115 /* Sector size for HW ECC */ 129 * Reed-Solomon library code. 133 * of the generic Reed-Solomon library. tglx [all …]
|
| H A D | denali.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * NAND Flash Controller Device Driver 4 * Copyright © 2009-2010, Intel Corporation and its suppliers. 6 * Copyright (c) 2017-2019 Socionext Inc. 12 #include <linux/dma-mapping.h> 23 #define DENALI_NAND_NAME "denali-nand" 31 #define DENALI_MAP10 (2 << 26) /* high-level control plane */ 39 #define DENALI_BANK(denali) ((denali)->active_bank << 24) 41 #define DENALI_INVALID_BANK -1 50 return container_of(chip->controller, struct denali_controller, in to_denali_controller() [all …]
|
| H A D | nand_bbt.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * Bad block table support for the NAND driver 26 * For manufacturer created BBTs like the one found on M-SYS DOC devices 32 * number which indicates which of both tables is more up to date. If the NAND 33 * controller needs the complete OOB area for the ECC information then the 52 * - bbts start at a page boundary, if autolocated on a block boundary 53 * - the space necessary for a bbt in FLASH does not exceed a block boundary 78 uint8_t entry = chip->bbt[block >> BBT_ENTRY_SHIFT]; in bbt_get_entry() 87 chip->bbt[block >> BBT_ENTRY_SHIFT] |= msk; in bbt_mark_entry() 92 if (memcmp(buf, td->pattern, td->len)) in check_pattern_no_oob() [all …]
|