| /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/mtd/ |
| 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 | hisi504-nand.txt | 1 Hisilicon Hip04 Soc NAND controller DT binding 5 - compatible: Should be "hisilicon,504-nfc". 6 - reg: The first contains base physical address and size of 7 NAND controller's registers. The second contains base 8 physical address and size of NAND controller's buffer. 9 - interrupts: Interrupt number for nfc. 10 - nand-bus-width: See nand-controller.yaml. 11 - nand-ecc-mode: Support none and hw ecc mode. 12 - #address-cells: Partition address, should be set 1. 13 - #size-cells: Partition size, should be set 1. [all …]
|
| 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 | marvell-nand.txt | 1 Marvell NAND Flash Controller (NFC) 4 - compatible: can be one of the following: 5 * "marvell,armada-8k-nand-controller" 6 * "marvell,armada370-nand-controller" 7 * "marvell,pxa3xx-nand-controller" 8 * "marvell,armada-8k-nand" (deprecated) 9 * "marvell,armada370-nand" (deprecated) 10 * "marvell,pxa3xx-nand" (deprecated) 13 - reg: NAND flash controller memory area. 14 - #address-cells: shall be set to 1. Encode the NAND CS. [all …]
|
| H A D | vf610-nfc.txt | 1 Freescale's NAND flash controller (NFC) 3 This variant of the Freescale NAND flash controller (NFC) can be found on 7 - compatible: Should be set to "fsl,vf610-nfc". 8 - reg: address range of the NFC. 9 - interrupts: interrupt of the NFC. 10 - #address-cells: shall be set to 1. Encode the nand CS. 11 - #size-cells : shall be set to 0. 12 - assigned-clocks: main clock from the SoC, for Vybrid <&clks VF610_CLK_NFC>; 13 - assigned-clock-rates: The NAND bus timing is derived from this clock 14 rate and should not exceed maximum timing for any NAND memory chip [all …]
|
| H A D | denali,nand.yaml | 1 # SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause 3 --- 4 $id: http://devicetree.org/schemas/mtd/denali,nand.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Denali NAND controller 10 - Masahiro Yamada <yamada.masahiro@socionext.com> 15 - altr,socfpga-denali-nand 16 - socionext,uniphier-denali-nand-v5a 17 - socionext,uniphier-denali-nand-v5b 19 reg-names: [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 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 25 brcm,brcmnand-v4.0 [all …]
|
| H A D | rockchip,nand-controller.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mtd/rockchip,nand-controller.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Rockchip SoCs NAND FLASH Controller (NFC) 10 - $ref: "nand-controller.yaml#" 13 - Heiko Stuebner <heiko@sntech.de> 18 - const: rockchip,px30-nfc 19 - const: rockchip,rk2928-nfc 20 - const: rockchip,rv1108-nfc [all …]
|
| H A D | tango-nand.txt | 1 Sigma Designs Tango4 NAND Flash Controller (NFC) 5 - compatible: "sigma,smp8758-nand" 6 - reg: address/size of nfc_reg, nfc_mem, and pbus_reg 7 - dmas: reference to the DMA channel used by the controller 8 - dma-names: "rxtx" 9 - clocks: reference to the system clock 10 - #address-cells: <1> 11 - #size-cells: <0> 13 Children nodes represent the available NAND chips. 14 See Documentation/devicetree/bindings/mtd/nand-controller.yaml for generic bindings. [all …]
|
| H A D | nvidia-tegra20-nand.txt | 1 NVIDIA Tegra NAND Flash controller 4 - compatible: Must be one of: 5 - "nvidia,tegra20-nand" 6 - reg: MMIO address range 7 - interrupts: interrupt output of the NFC controller 8 - clocks: Must contain an entry for each entry in clock-names. 9 See ../clocks/clock-bindings.txt for details. 10 - clock-names: Must include the following entries: 11 - nand 12 - resets: Must contain an entry for each entry in reset-names. [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 | allwinner,sun4i-a10-nand.yaml | 1 # SPDX-License-Identifier: GPL-2.0 3 --- 4 $id: http://devicetree.org/schemas/mtd/allwinner,sun4i-a10-nand.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 7 title: Allwinner A10 NAND Controller Device Tree Bindings 10 - $ref: "nand-controller.yaml" 13 - Chen-Yu Tsai <wens@csie.org> 14 - Maxime Ripard <mripard@kernel.org> 17 "#address-cells": true 18 "#size-cells": true [all …]
|
| /OK3568_Linux_fs/u-boot/drivers/mtd/nand/raw/ |
| H A D | rockchip_nand_v9.c | 2 * Copyright (c) 2017 Yifeng Zhao <yifeng.zhao@rock-chips.com> 5 * SPDX-License-Identifier: GPL-2.0+ 12 #include <nand.h> 17 #include <linux/mtd/nand.h> 113 writel(0, rknand->regs + NANDC_REG_V9_RANDMZ); in rockchip_nand_init() 114 writel(0, rknand->regs + NANDC_REG_V9_DMA_CFG); in rockchip_nand_init() 115 writel(0, rknand->regs + NANDC_REG_V9_BCHCTL); in rockchip_nand_init() 116 writel(NANDC_V9_FM_WP, rknand->regs + NANDC_REG_V9_FMCTL); in rockchip_nand_init() 117 writel(0x1081, rknand->regs + NANDC_REG_V9_FMWAIT); in rockchip_nand_init() 123 struct rk_nand *rknand = to_rknand(chip->controller); in rockchip_nand_select_chip() [all …]
|
| H A D | rockchip_nand.c | 2 * Copyright (c) 2017 Yifeng Zhao <yifeng.zhao@rock-chips.com> 5 * SPDX-License-Identifier: GPL-2.0+ 12 #include <nand.h> 107 writel(0, rknand->regs + NANDC_REG_V6_RANDMZ); in rockchip_nand_init() 108 writel(0, rknand->regs + NANDC_REG_V6_DMA_CFG); in rockchip_nand_init() 109 writel(0, rknand->regs + NANDC_REG_V6_BCHCTL); in rockchip_nand_init() 110 writel(NANDC_V6_FM_WP, rknand->regs + NANDC_REG_V6_FMCTL); in rockchip_nand_init() 111 writel(0x1081, rknand->regs + NANDC_REG_V6_FMWAIT); in rockchip_nand_init() 117 struct rk_nand *rknand = to_rknand(chip->controller); in rockchip_nand_select_chip() 122 reg = readl(rknand->regs + NANDC_REG_V6_FMCTL); in rockchip_nand_select_chip() [all …]
|
| H A D | nand_base.c | 3 * This is the generic MTD driver for NAND flash devices. It should be 4 * capable of working with almost all NAND chips currently available. 7 * http://www.linux-mtd.infradead.org/doc/nand.html 10 * 2002-2006 Thomas Gleixner (tglx@linutronix.de) 16 * rework for 2K page size chips 19 * Enable cached programming for 2k page size chips 20 * Check, if mtd->ecctype should be set to MTD_ECC_HW 21 * if we have HW ECC support. 113 if (ofs & ((1ULL << chip->phys_erase_shift) - 1)) { in check_offs_len() 115 ret = -EINVAL; in check_offs_len() [all …]
|
| /OK3568_Linux_fs/u-boot/include/linux/mtd/ |
| H A D | rawnand.h | 2 * Copyright © 2000-2010 David Woodhouse <dwmw2@infradead.org> 6 * SPDX-License-Identifier: GPL-2.0+ 9 * Contains standard defines and IDs for NAND flash devices 35 /* Scan and identify a NAND device */ 39 * and override command or ECC setup according to flash type. 45 /* Free resources held by the NAND device */ 77 * Standard NAND flash commands 104 /* Extended commands for AG-AND device */ 115 /* multi-bank error status (banks 0-3) */ 123 #define NAND_CMD_NONE -1 [all …]
|
| /OK3568_Linux_fs/kernel/include/linux/mtd/ |
| H A D | rawnand.h | 1 /* SPDX-License-Identifier: GPL-2.0-only */ 3 * Copyright © 2000-2010 David Woodhouse <dwmw2@infradead.org> 8 * Contains standard defines and IDs for NAND flash devices 17 #include <linux/mtd/nand.h> 21 #include <linux/mtd/nand.h> 29 /* The maximum number of NAND chips in an array */ 50 * Standard NAND flash commands 73 #define NAND_CMD_NONE -1 82 #define NAND_DATA_IFACE_CHECK_ONLY -1 85 * Constants for Hardware ECC [all …]
|
| /OK3568_Linux_fs/kernel/drivers/mtd/nand/raw/ |
| H A D | sunxi_nand.c | 1 // SPDX-License-Identifier: GPL-2.0+ 6 * https://github.com/yuq/sunxi-nfc-mtd 9 * https://github.com/hno/Allwinner-Info 16 #include <linux/dma-mapping.h> 70 #define NFC_PAGE_SHIFT(x) (((x) < 10 ? 0 : (x) - 10) << 8) 107 #define NFC_ADR_NUM(x) (((x) - 1) << 16) 161 * struct sunxi_nand_chip_sel - stores information related to NAND Chip Select 163 * @cs: the NAND CS id used to communicate with a NAND Chip 164 * @rb: the Ready/Busy pin ID. -1 means no R/B pin connected to the NFC 172 * struct sunxi_nand_hw_ecc - stores information related to HW ECC support [all …]
|
| 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 | 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) 17 * rework for 2K page size chips 20 * Enable cached programming for 2k page size chips 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> [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 …]
|
| /OK3568_Linux_fs/u-boot/tools/ |
| H A D | sunxi-spl-image-builder.c | 2 * Allwinner NAND randomizer and image builder implementation: 7 * Author: Boris Brezillon <boris.brezillon@free-electrons.com> 19 #define DIV_ROUND_UP(n,d) (((n) + (d) - 1) / (d)) 45 buf[j] |= (1 << (7 - i)); in swap_bits() 53 while (count--) in lfsr_step() 88 if (info->boot0) { in scramble() 91 unsigned seedmod = info->eraseblock_size / info->page_size; in scramble() 94 if (!info->scramble) in scramble() 117 int steps = info->usable_page_size / info->ecc_step_size; in write_page() 118 int eccbytes = DIV_ROUND_UP(info->ecc_strength * 14, 8); in write_page() [all …]
|
| /OK3568_Linux_fs/kernel/Documentation/ABI/testing/ |
| H A D | sysfs-class-mtd | 4 Contact: linux-mtd@lists.infradead.org 12 Contact: linux-mtd@lists.infradead.org 22 Contact: linux-mtd@lists.infradead.org 24 These directories provide the corresponding read-only device 30 Contact: linux-mtd@lists.infradead.org 34 read-write device so <minor> will be even. 39 Contact: linux-mtd@lists.infradead.org 42 to the read-only variant of thie MTD device (in 48 Contact: linux-mtd@lists.infradead.org 50 "Major" erase size for the device. If numeraseregions is [all …]
|
| /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/drivers/mtd/nand/raw/gpmi-nand/ |
| H A D | gpmi-nand.c | 1 // SPDX-License-Identifier: GPL-2.0+ 3 * Freescale GPMI NAND Flash Driver 5 * Copyright (C) 2010-2015 Freescale Semiconductor, Inc. 18 #include <linux/dma/mxs-dma.h> 19 #include "gpmi-nand.h" 20 #include "gpmi-regs.h" 21 #include "bch-regs.h" 23 /* Resource names for the GPMI NAND driver. */ 24 #define GPMI_NAND_GPMI_REGS_ADDR_RES_NAME "gpmi-nand" 52 while ((readl(addr) & mask) && --timeout) in clear_poll_bit() [all …]
|