| /OK3568_Linux_fs/kernel/drivers/mtd/nand/ |
| H A D | ecc.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Generic Error-Correcting Code (ECC) engine 10 * This file describes the abstraction of any NAND ECC engine. It has been 11 * designed to fit most cases, including parallel NANDs and SPI-NANDs. 13 * There are three main situations where instantiating this ECC engine makes 15 * - external: The ECC engine is outside the NAND pipeline, typically this 16 * is a software ECC engine, or an hardware engine that is 17 * outside the NAND controller pipeline. 18 * - pipelined: The ECC engine is inside the NAND pipeline, ie. on the 19 * controller's side. This is the case of most of the raw NAND [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mtd/ |
| H A D | nand-controller.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mtd/nand-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: NAND Chip and NAND Controller Generic Binding 10 - Miquel Raynal <miquel.raynal@bootlin.com> 11 - Richard Weinberger <richard@nod.at> 14 The NAND controller should be represented with its own DT node, and 15 all NAND chips attached to this controller should be defined as 16 children nodes of the NAND controller. This representation should be [all …]
|
| H A D | mtk-nand.txt | 1 MTK SoCs NAND FLASH controller (NFC) DT binding 3 This file documents the device tree bindings for MTK SoCs NAND controllers. 5 the nand controller interface driver and the ECC engine driver. 10 1) NFC NAND Controller Interface (NFI): 13 The first part of NFC is NAND Controller Interface (NFI) HW. 15 - compatible: Should be one of 16 "mediatek,mt2701-nfc", 17 "mediatek,mt2712-nfc", 18 "mediatek,mt7622-nfc". 19 - reg: Base physical address and size of NFI. [all …]
|
| H A D | atmel-nand.txt | 1 Atmel NAND flash controller bindings 3 The NAND flash controller node should be defined under the EBI bus (see 4 Documentation/devicetree/bindings/memory-controllers/atmel,ebi.txt). 5 One or several NAND devices can be defined under this NAND controller. 6 The NAND controller might be connected to an ECC engine. 8 * NAND controller bindings: 11 - compatible: should be one of the following 12 "atmel,at91rm9200-nand-controller" 13 "atmel,at91sam9260-nand-controller" 14 "atmel,at91sam9261-nand-controller" [all …]
|
| H A D | gpmc-nand.txt | 3 GPMC connected NAND (found on OMAP boards) are represented as child nodes of 4 the GPMC controller with a name of "nand". 7 explained in a separate documents - please refer to 8 Documentation/devicetree/bindings/memory-controllers/omap-gpmc.txt 10 For NAND specific properties such as ECC modes or bus width, please refer to 11 Documentation/devicetree/bindings/mtd/nand-controller.yaml 16 - compatible: "ti,omap2-nand" 17 - reg: range id (CS number), base offset and length of the 18 NAND I/O space 19 - interrupts: Two interrupt specifiers, one for fifoevent, one for termcount. [all …]
|
| H A D | ingenic,nand.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mtd/ingenic,nand.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Ingenic SoCs NAND controller devicetree bindings 10 - Paul Cercueil <paul@crapouillou.net> 13 - $ref: nand-controller.yaml# 18 - ingenic,jz4740-nand 19 - ingenic,jz4725b-nand 20 - ingenic,jz4780-nand [all …]
|
| H A D | brcm,brcmnand.txt | 1 * Broadcom STB NAND Controller 3 The Broadcom Set-Top Box NAND controller supports low-level access to raw NAND 4 flash chips. It has a memory-mapped register interface for both control 6 paired with a custom DMA engine (inventively named "Flash DMA") which supports 15 - compatible : May contain an SoC-specific compatibility string (see below) 16 to account for any SoC-specific hardware bits that may be 19 the core NAND controller, of the following form: 21 string, like "brcm,brcmnand-v7.0" 23 brcm,brcmnand-v2.1 24 brcm,brcmnand-v2.2 [all …]
|
| /OK3568_Linux_fs/u-boot/doc/ |
| H A D | README.nand | 1 NAND FLASH commands and notes 8 # SPDX-License-Identifier: GPL-2.0+ 12 nand bad 15 nand device 16 Print information about the current NAND device. 18 nand device num 21 nand erase off|partition size 22 nand erase clean [off|partition size] 32 If `clean' is specified, a JFFS2-style clean marker is written to 40 nand info [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/mtd/ |
| H A D | nand.h | 1 /* SPDX-License-Identifier: GPL-2.0 */ 3 * Copyright 2017 - Free Electrons 6 * Boris Brezillon <boris.brezillon@free-electrons.com> 18 * struct nand_memory_organization - Memory organization structure 19 * @bits_per_cell: number of bits per NAND cell 27 * @ntargets: total number of targets exposed by the NAND device 55 * struct nand_row_converter - Information needed to convert an absolute offset 67 * struct nand_pos - NAND position object 68 * @target: the NAND target/die 74 * These information are usually used by specific sub-layers to select the [all …]
|
| /OK3568_Linux_fs/kernel/drivers/mtd/nand/raw/ |
| H A D | omap2.c | 1 // SPDX-License-Identifier: GPL-2.0-only 10 #include <linux/dma-mapping.h> 20 #include <linux/omap-dma.h> 29 #include <linux/omap-gpmc.h> 30 #include <linux/platform_data/mtd-nand-omap2.h> 32 #define DRIVER_NAME "omap2-nand" 122 /* GPMC ecc engine settings for read */ 129 /* GPMC ecc engine settings for write */ 145 struct nand_chip nand; member 170 /* fields specific for BCHx_HW ECC scheme */ [all …]
|
| H A D | Kconfig | 1 # SPDX-License-Identifier: GPL-2.0-only 6 bool "NAND ECC Smart Media byte order" 10 Software ECC according to the Smart Media Specification. 14 tristate "Raw/Parallel NAND Device Support" 20 NAND flash devices. For further information see 21 <http://www.linux-mtd.infradead.org/doc/nand.html>. 26 bool "Support software BCH ECC" 32 ECC codes. They are used with NAND devices requiring more than 1 bit 35 comment "Raw/parallel NAND flash controllers" 41 tristate "Denali NAND controller on Intel Moorestown" [all …]
|
| H A D | arasan-nand-controller.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Arasan NAND Flash Controller Driver 5 * Copyright (C) 2014 - 2020 Xilinx, Inc. 17 #include <linux/dma-mapping.h> 103 #define ANFC_MAX_PKT_SIZE (SZ_2K - 1) 111 * struct anfc_op - Defines how to execute an operation 136 * struct anand - Defines the NAND chip related information 137 * @node: Used to store NAND chips into a list 138 * @chip: NAND chip information structure 140 * @rb: Ready-busy line [all …]
|
| H A D | marvell_nand.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Marvell NAND flash controller driver 6 * Author: Miquel RAYNAL <miquel.raynal@free-electrons.com> 9 * This NAND controller driver handles two versions of the hardware, 13 * The main visible difference is that NFCv1 only has Hamming ECC 14 * capabilities, while NFCv2 also embeds a BCH ECC engine. Also, DMA 17 * The ECC layouts are depicted in details in Marvell AN-379, but here 21 * or 4) and each chunk will have its own ECC "digest" of 6B at the 23 * bytes (also called "spare" bytes in the driver). This engine 28 * +-------------------------------------------------------------+ [all …]
|
| H A D | cadence-nand-controller.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Cadence NAND flash controller driver 12 #include <linux/dma-mapping.h> 24 * - PIO - can work in master or slave DMA 25 * - CDMA - needs Master DMA for accessing command descriptors. 26 * - Generic mode - can use only slave DMA. 29 * on NAND flash memory. Driver uses CDMA mode for 88 /* Command Engine threads state. */ 91 /* Command Engine interrupt thread error status. */ 93 /* Command Engine interrupt thread error enable. */ [all …]
|
| H A D | nand_base.c | 1 // SPDX-License-Identifier: GPL-2.0-only 4 * This is the generic MTD driver for NAND flash devices. It should be 5 * capable of working with almost all NAND chips currently available. 8 * http://www.linux-mtd.infradead.org/doc/nand.html 11 * 2002-2006 Thomas Gleixner (tglx@linutronix.de) 21 * Check, if mtd->ecctype should be set to MTD_ECC_HW 22 * if we have HW ECC support. 37 #include <linux/mtd/nand.h> 52 int lastpage = (mtd->erasesize / mtd->writesize) - 1; in nand_pairing_dist3_get_info() 59 info->group = 0; in nand_pairing_dist3_get_info() [all …]
|
| H A D | plat_nand.c | 1 // SPDX-License-Identifier: GPL-2.0-only 3 * Generic NAND driver 24 if (chip->ecc.engine_type == NAND_ECC_ENGINE_TYPE_SOFT && in plat_nand_attach_chip() 25 chip->ecc.algo == NAND_ECC_ALGO_UNKNOWN) in plat_nand_attach_chip() 26 chip->ecc.algo = NAND_ECC_ALGO_HAMMING; in plat_nand_attach_chip() 36 * Probe for the NAND device. 40 struct platform_nand_data *pdata = dev_get_platdata(&pdev->dev); in plat_nand_probe() 48 dev_err(&pdev->dev, "platform_nand_data is missing\n"); in plat_nand_probe() 49 return -EINVAL; in plat_nand_probe() 52 if (pdata->chip.nr_chips < 1) { in plat_nand_probe() [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/mtd/nand/raw/ |
| H A D | Kconfig | 2 menuconfig NAND config 3 bool "Raw NAND Device Support" 4 if NAND 9 This option, if enabled, provides more flexible and linux-like 10 NAND initialization process. 15 Omit standard ECC layouts to safe space. Select this if your driver 16 is known to provide its own ECC layout. 19 bool "Support Atmel NAND controller" 22 Enable this driver for NAND flash platforms using an Atmel NAND 28 bool "Atmel Hardware ECC" [all …]
|
| H A D | omap_gpmc.c | 2 * (C) Copyright 2004-2008 Texas Instruments, <www.ti.com> 5 * SPDX-License-Identifier: GPL-2.0+ 16 #include <nand.h> 55 * omap_nand_hwcontrol - Set the address pointers corretly for the 63 int cs = info->cs; in omap_nand_hwcontrol() 71 this->IO_ADDR_W = (void __iomem *)&gpmc_cfg->cs[cs].nand_cmd; in omap_nand_hwcontrol() 74 this->IO_ADDR_W = (void __iomem *)&gpmc_cfg->cs[cs].nand_adr; in omap_nand_hwcontrol() 77 this->IO_ADDR_W = (void __iomem *)&gpmc_cfg->cs[cs].nand_dat; in omap_nand_hwcontrol() 82 writeb(cmd, this->IO_ADDR_W); in omap_nand_hwcontrol() 90 return gpmc_cfg->status & (1 << (8 + info->ws)); in omap_dev_ready() [all …]
|
| H A D | tegra_nand.c | 7 * SPDX-License-Identifier: GPL-2.0+ 13 #include <nand.h> 16 #include <asm/arch-tegra/clk_rst.h> 30 /* ECC bytes to be generated for tag data */ 35 .compatible = "nvidia,tegra20-nand", 42 * OOB flash layout for Tegra with Reed-Solomon 4 symbol correct ECC: 44 * Main area Ecc(36) 46 * Tag data Ecc(4) 88 /* Information about an attached NAND chip */ 92 struct gpio_desc wp_gpio; /* write-protect GPIO */ [all …]
|
| H A D | sunxi_nand_spl.c | 2 * Copyright (c) 2014-2015, Antmicro Ltd <www.antmicro.com> 3 * Copyright (c) 2015, AW-SOM Technologies <www.aw-som.com> 5 * SPDX-License-Identifier: GPL-2.0+ 12 #include <nand.h> 47 #define NFC_CTL_PAGE_SIZE(a) ((fls(a) - 11) << 8) 96 /* minimal "boot0" style NAND support for Allwinner A20 */ 128 } while (--timeout_us); in check_value_inner() 149 printf("nand: timeout waiting for empty cmd FIFO\n"); in nand_wait_cmd_fifo_empty() 150 return -ETIMEDOUT; in nand_wait_cmd_fifo_empty() 160 printf("nand: timeout waiting for interruption\n"); in nand_wait_int() [all …]
|
| H A D | sunxi_nand.c | 6 * https://github.com/yuq/sunxi-nfc-mtd 9 * https://github.com/hno/Allwinner-Info 25 * SPDX-License-Identifier: GPL-2.0+ 31 #include <nand.h> 79 #define NFC_PAGE_SHIFT(x) (((x) < 10 ? 0 : (x) - 10) << 8) 115 #define NFC_ADR_NUM(x) (((x) - 1) << 16) 172 * @RB_NATIVE: use sunxi NAND controller Ready/Busy support. The Ready/Busy 173 * pin of the NAND flash chip must be connected to one of the 174 * native NAND R/B pins (those which can be muxed to the NAND 177 * pin of the NAND flash chip must be connected to a GPIO capable [all …]
|
| /OK3568_Linux_fs/u-boot/board/freescale/ls1021aqds/ |
| H A D | README | 2 -------- 6 ------------------ 8 is built on Layerscape architecture, the industry's first software-aware, 9 core-agnostic networking architecture to offer unprecedented efficiency 12 A member of the value-performance tier, the QorIQ LS1021A processor provides 14 enterprise networking applications. Incorporating dual ARM Cortex-A7 cores 15 running up to 1.0 GHz, the LS1021A processor delivers pre-silicon CoreMark 17 security features and the broadest array of high-speed interconnects and 18 optimized peripheral features ever offered in a sub-3 W processor. 22 up to 1600 MHz, integrated security engine and QUICC Engine, and ECC [all …]
|
| /OK3568_Linux_fs/u-boot/arch/arm/cpu/armv8/fsl-layerscape/doc/ |
| H A D | README.soc | 11 --------- 12 The LS1043A integrated multicore processor combines four ARM Cortex-A53 18 - Four 64-bit ARM Cortex-A53 CPUs 19 - 1 MB unified L2 Cache 20 - One 32-bit DDR3L/DDR4 SDRAM memory controllers with ECC and interleaving 22 - Data Path Acceleration Architecture (DPAA) incorporating acceleration the 24 - Packet parsing, classification, and distribution (FMan) 25 - Queue management for scheduling, packet sequencing, and congestion 27 - Hardware buffer management for buffer allocation and de-allocation (BMan) 28 - Cryptography acceleration (SEC) [all …]
|
| /OK3568_Linux_fs/kernel/drivers/mtd/nand/raw/ingenic/ |
| H A D | ingenic_ecc.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * JZ47xx ECC common code 18 * ingenic_ecc_calculate() - calculate ECC for a data buffer 19 * @ecc: ECC device. 20 * @params: ECC parameters. 22 * @ecc_code: output buffer with ECC. 24 * Return: 0 on success, -ETIMEDOUT if timed out while waiting for ECC 27 int ingenic_ecc_calculate(struct ingenic_ecc *ecc, in ingenic_ecc_calculate() argument 31 return ecc->ops->calculate(ecc, params, buf, ecc_code); in ingenic_ecc_calculate() 35 * ingenic_ecc_correct() - detect and correct bit errors [all …]
|
| /OK3568_Linux_fs/u-boot/board/freescale/bsc9131rdb/ |
| H A D | README | 2 -------- 3 - BSC9131 is integrated device that targets Femto base station market. 5 technologies with MAPLE-B2F baseband acceleration processing elements. 6 - It's MAPLE disabled personality is called 9231. 9 . Power Architecture subsystem including a e500 processor with 256-Kbyte shared 11 . StarCore SC3850 DSP subsystem with a 512-Kbyte private L2 cache 12 . The Multi Accelerator Platform Engine for Femto BaseStation Baseband 13 Processing (MAPLE-B2F) 14 . A multi-standard baseband algorithm accelerator for Channel Decoding/Encoding, 20 . DDR3/3L memory interface with 32-bit data width without ECC and 16-bit with [all …]
|