| /kernel/linux/linux-4.19/Documentation/devicetree/bindings/mtd/ |
| D | nand.txt | 1 * NAND chip and NAND controller generic binding 3 NAND controller/NAND chip representation: 5 The NAND controller should be represented with its own DT node, and all 6 NAND chips attached to this controller should be defined as children nodes 7 of the NAND controller. This representation should be enforced even for 10 Mandatory NAND controller properties: 11 - #address-cells: depends on your controller. Should at least be 1 to 13 - #size-cells: depends on your controller. Put zero unless you need a 16 Optional NAND controller properties 17 - ranges: only needed if you need to define a mapping between CS lines and [all …]
|
| 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 …]
|
| 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.txt. 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 …]
|
| 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 …]
|
| 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 …]
|
| D | gpmi-nand.txt | 1 * Freescale General-Purpose Media Interface (GPMI) 3 The GPMI nand controller provides an interface to control the 4 NAND flash chips. 7 - compatible : should be "fsl,<chip>-gpmi-nand", chip can be: 13 - reg : should contain registers location and length for gpmi and bch. 14 - reg-names: Should contain the reg names "gpmi-nand" and "bch" 15 - interrupts : BCH interrupt number. 16 - interrupt-names : Should be "bch". 17 - dmas: DMA specifier, consisting of a phandle to DMA controller node 19 Refer to dma.txt and fsl-mxs-dma.txt for details. [all …]
|
| D | ingenic,jz4780-nand.txt | 1 * Ingenic JZ4780 NAND/BCH 3 This file documents the device tree bindings for NAND flash devices on the 4 JZ4780. NAND devices are connected to the NEMC controller (described in 5 memory-controllers/ingenic,jz4780-nemc.txt), and thus NAND device nodes must 8 Required NAND controller device properties: 9 - compatible: Should be set to "ingenic,jz4780-nand". 10 - reg: For each bank with a NAND chip attached, should specify a bank number, 13 Optional NAND controller device properties: 14 - ingenic,bch-controller: To make use of the hardware BCH controller, this 20 - Individual NAND chips are children of the NAND controller node. [all …]
|
| 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 …]
|
| 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-v4.0 24 brcm,brcmnand-v5.0 25 brcm,brcmnand-v6.0 [all …]
|
| D | qcom_nandc.txt | 1 * Qualcomm NAND controller 4 - compatible: must be one of the following: 5 * "qcom,ipq806x-nand" - for EBI2 NAND controller being used in IPQ806x 7 * "qcom,ipq4019-nand" - for QPIC NAND controller v1.4.0 being used in 9 * "qcom,ipq8074-nand" - for QPIC NAND controller v1.5.0 being used in 12 - reg: MMIO address range 13 - clocks: must contain core clock and always on clock 14 - clock-names: must contain "core" for the core clock and "aon" for the 18 - dmas: DMA specifier, consisting of a phandle to the ADM DMA 20 NAND. Refer to dma.txt and qcom_adm.txt for more details [all …]
|
| 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.txt for generic bindings. [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/mtd/ |
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| 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 …]
|
| D | qcom_nandc.txt | 1 * Qualcomm NAND controller 4 - compatible: must be one of the following: 5 * "qcom,ipq806x-nand" - for EBI2 NAND controller being used in IPQ806x 7 * "qcom,ipq4019-nand" - for QPIC NAND controller v1.4.0 being used in 9 * "qcom,ipq8074-nand" - for QPIC NAND controller v1.5.0 being used in 12 - reg: MMIO address range 13 - clocks: must contain core clock and always on clock 14 - clock-names: must contain "core" for the core clock and "aon" for the 18 - dmas: DMA specifier, consisting of a phandle to the ADM DMA 20 NAND. Refer to dma.txt and qcom_adm.txt for more details [all …]
|
| /kernel/linux/linux-5.10/drivers/mtd/nand/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/mtd/nand/raw/ |
| D | tegra_nand.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (C) 2014-2015 Lucas Stach <dev@lynxeye.de> 10 #include <linux/dma-mapping.h> 31 #define COMMAND_TRANS_SIZE(size) ((((size) - 1) & 0xf) << 20) 37 #define COMMAND_CLE_SIZE(size) ((((size) - 1) & 0x3) << 4) 38 #define COMMAND_ALE_SIZE(size) ((((size) - 1) & 0xf) << 0) 153 #define OFFSET(val, off) ((val) < (off) ? 0 : (val) - (off)) 182 struct mtd_oob_region ecc; member 204 int bytes_per_step = DIV_ROUND_UP(BITS_PER_STEP_RS * chip->ecc.strength, in tegra_nand_ooblayout_rs_ecc() 208 return -ERANGE; in tegra_nand_ooblayout_rs_ecc() [all …]
|
| 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 …]
|
| /kernel/linux/linux-4.19/drivers/mtd/nand/raw/ |
| D | tegra_nand.c | 1 // SPDX-License-Identifier: GPL-2.0 4 * Copyright (C) 2014-2015 Lucas Stach <dev@lynxeye.de> 10 #include <linux/dma-mapping.h> 31 #define COMMAND_TRANS_SIZE(size) ((((size) - 1) & 0xf) << 20) 37 #define COMMAND_CLE_SIZE(size) ((((size) - 1) & 0x3) << 4) 38 #define COMMAND_ALE_SIZE(size) ((((size) - 1) & 0xf) << 0) 153 #define OFFSET(val, off) ((val) < (off) ? 0 : (val) - (off)) 182 struct mtd_oob_region ecc; member 204 int bytes_per_step = DIV_ROUND_UP(BITS_PER_STEP_RS * chip->ecc.strength, in tegra_nand_ooblayout_rs_ecc() 208 return -ERANGE; in tegra_nand_ooblayout_rs_ecc() [all …]
|
| D | jz4780_nand.c | 2 * JZ4780 NAND driver 26 #include <linux/jz4780-nemc.h> 30 #define DRV_NAME "jz4780-nand" 76 struct jz4780_nand_chip *nand = to_jz4780_nand_chip(mtd); in jz4780_nand_select_chip() local 77 struct jz4780_nand_controller *nfc = to_jz4780_nand_controller(nand->chip.controller); in jz4780_nand_select_chip() 81 if (chipnr == -1 && nfc->selected >= 0) { in jz4780_nand_select_chip() 82 cs = &nfc->cs[nfc->selected]; in jz4780_nand_select_chip() 83 jz4780_nemc_assert(nfc->dev, cs->bank, false); in jz4780_nand_select_chip() 86 nfc->selected = chipnr; in jz4780_nand_select_chip() 92 struct jz4780_nand_chip *nand = to_jz4780_nand_chip(mtd); in jz4780_nand_cmd_ctrl() local [all …]
|
| /kernel/linux/linux-5.10/drivers/mtd/nand/raw/ingenic/ |
| D | ingenic_nand_drv.c | 1 // SPDX-License-Identifier: GPL-2.0 3 * Ingenic JZ47xx NAND driver 24 #include <linux/jz4780-nemc.h> 28 #define DRV_NAME "ingenic-nand" 44 struct ingenic_ecc *ecc; member 75 struct nand_ecc_ctrl *ecc = &chip->ecc; in qi_lb60_ooblayout_ecc() local 77 if (section || !ecc->total) in qi_lb60_ooblayout_ecc() 78 return -ERANGE; in qi_lb60_ooblayout_ecc() 80 oobregion->length = ecc->total; in qi_lb60_ooblayout_ecc() 81 oobregion->offset = 12; in qi_lb60_ooblayout_ecc() [all …]
|