| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/edac/ |
| D | socfpga-eccmgr.txt | 1 Altera SoCFPGA ECC Manager 2 This driver uses the EDAC framework to implement the SOCFPGA ECC Manager. 3 The ECC Manager counts and corrects single bit errors and counts/handles 6 Cyclone5 and Arria5 ECC Manager 8 - compatible : Should be "altr,socfpga-ecc-manager" 9 - #address-cells: must be 1 10 - #size-cells: must be 1 11 - ranges : standard definition, should translate from local addresses 15 L2 Cache ECC 17 - compatible : Should be "altr,socfpga-l2-ecc" [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/edac/ |
| D | socfpga-eccmgr.txt | 1 Altera SoCFPGA ECC Manager 2 This driver uses the EDAC framework to implement the SOCFPGA ECC Manager. 3 The ECC Manager counts and corrects single bit errors and counts/handles 6 Cyclone5 and Arria5 ECC Manager 8 - compatible : Should be "altr,socfpga-ecc-manager" 9 - #address-cells: must be 1 10 - #size-cells: must be 1 11 - ranges : standard definition, should translate from local addresses 15 L2 Cache ECC 17 - compatible : Should be "altr,socfpga-l2-ecc" [all …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/mtd/ |
| D | mtk-nand.txt | 5 the nand controller interface driver and the ECC engine driver. 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. 20 - interrupts: Interrupts of NFI. 21 - clocks: NFI required clocks. 22 - clock-names: NFI clocks internal name. 23 - ecc-engine: Required ECC Engine node. [all …]
|
| D | hisi504-nand.txt | 5 - compatible: Should be "hisilicon,504-nfc". 6 - reg: The first contains base physical address and size of 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. 17 - nand-ecc-strength: Number of bits to correct per ECC step. 18 - nand-ecc-step-size: Number of data bytes covered by a single ECC step. [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# 10 - Miquel Raynal <miquel.raynal@bootlin.com> 11 - Richard Weinberger <richard@nod.at> 19 The ECC strength and ECC step size properties define the user 21 they request the ECC engine to correct {strength} bit errors per 22 {size} bytes. 24 The interpretation of these parameters is implementation-defined, so [all …]
|
| D | gpmc-nand.txt | 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 19 - interrupts: Two interrupt specifiers, one for fifoevent, one for termcount. 23 - nand-bus-width: Set this numeric value to 16 if the hardware 27 - ti,nand-ecc-opt: A string setting the ECC layout to use. One of: 28 "sw" 1-bit Hamming ecc code via software [all …]
|
| D | vf610-nfc.txt | 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 17 there might be restrictions on maximum rates when using hardware ECC. 19 - #address-cells, #size-cells : Must be present if the device has sub-nodes 27 - compatible: Should be set to "fsl,vf610-nfc-cs". [all …]
|
| D | marvell-nand.txt | 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. 15 - #size-cells: shall be set to 0. [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/mtd/ |
| D | hisi504-nand.txt | 5 - compatible: Should be "hisilicon,504-nfc". 6 - reg: The first contains base physical address and size of 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. 17 - nand-ecc-strength: Number of bits to correct per ECC step. 18 - nand-ecc-step-size: Number of data bytes covered by a single ECC step. [all …]
|
| D | mediatek,mtk-nfc.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 3 --- 4 $id: http://devicetree.org/schemas/mtd/mediatek,mtk-nfc.yaml# 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 10 - Xiangsheng Hou <xiangsheng.hou@mediatek.com> 15 - mediatek,mt2701-nfc 16 - mediatek,mt2712-nfc 17 - mediatek,mt7622-nfc 21 - description: Base physical address and size of NFI. 25 - description: NFI interrupt [all …]
|
| D | vf610-nfc.txt | 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 17 there might be restrictions on maximum rates when using hardware ECC. 19 - #address-cells, #size-cells : Must be present if the device has sub-nodes 27 - compatible: Should be set to "fsl,vf610-nfc-cs". [all …]
|
| D | atmel-nand.txt | 4 Documentation/devicetree/bindings/memory-controllers/atmel,ebi.txt). 6 The NAND controller might be connected to an ECC engine. 11 - compatible: should be one of the following 12 "atmel,at91rm9200-nand-controller" 13 "atmel,at91sam9260-nand-controller" 14 "atmel,at91sam9261-nand-controller" 15 "atmel,at91sam9g45-nand-controller" 16 "atmel,sama5d3-nand-controller" 17 "microchip,sam9x60-nand-controller" 18 - ranges: empty ranges property to forward EBI ranges definitions. [all …]
|
| 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# 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 21 - items: [all …]
|
| /kernel/linux/linux-5.10/drivers/mtd/nand/raw/ |
| 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 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 174 * @mode: the sunxi ECC mode field deduced from ECC requirements [all …]
|
| D | nand_base.c | 1 // SPDX-License-Identifier: GPL-2.0-only 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. 52 int lastpage = (mtd->erasesize / mtd->writesize) - 1; in nand_pairing_dist3_get_info() 59 info->group = 0; in nand_pairing_dist3_get_info() 60 info->pair = (page + 1) / 2; in nand_pairing_dist3_get_info() [all …]
|
| D | mtk_nand.c | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 6 * Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> 10 #include <linux/dma-mapping.h> 90 #define MTK_NAME "mtk-nand" 147 struct mtk_ecc *ecc; member 162 * supported spare size of each IP. 163 * order should be the same with the spare size bitfiled defination of 186 return (u8 *)p + i * chip->ecc.size; in data_ptr() 198 if (i < mtk_nand->bad_mark.sec) in oob_ptr() 199 poi = chip->oob_poi + (i + 1) * mtk_nand->fdm.reg_size; in oob_ptr() [all …]
|
| D | nand_bch.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later 3 * This file provides ECC correction for more than 1 bit per block of data, 20 * struct nand_bch_control - private NAND BCH control structure 23 * @eccmask: XOR ecc mask, allows erased pages to be decoded as valid 32 * nand_bch_calculate_ecc - [NAND Interface] Calculate ECC for data block 35 * @code: output buffer with ECC 40 struct nand_bch_control *nbc = chip->ecc.priv; in nand_bch_calculate_ecc() 43 memset(code, 0, chip->ecc.bytes); in nand_bch_calculate_ecc() 44 bch_encode(nbc->bch, buf, chip->ecc.size, code); in nand_bch_calculate_ecc() 47 for (i = 0; i < chip->ecc.bytes; i++) in nand_bch_calculate_ecc() [all …]
|
| /kernel/linux/linux-6.6/drivers/mtd/nand/raw/ |
| 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 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 181 * struct sunxi_nand_chip - stores NAND chip device related information [all …]
|
| D | mtk_nand.c | 1 // SPDX-License-Identifier: GPL-2.0 OR MIT 6 * Jorge Ramirez-Ortiz <jorge.ramirez-ortiz@linaro.org> 10 #include <linux/dma-mapping.h> 19 #include <linux/mtd/nand-ecc-mtk.h> 89 #define MTK_NAME "mtk-nand" 146 struct mtk_ecc *ecc; member 161 * supported spare size of each IP. 162 * order should be the same with the spare size bitfiled defination of 185 return (u8 *)p + i * chip->ecc.size; in data_ptr() 197 if (i < mtk_nand->bad_mark.sec) in oob_ptr() [all …]
|
| D | nand_base.c | 1 // SPDX-License-Identifier: GPL-2.0-only 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. 38 #include <linux/mtd/nand-ecc-sw-hamming.h> 39 #include <linux/mtd/nand-ecc-sw-bch.h> 53 int lastpage = (mtd->erasesize / mtd->writesize) - 1; in nand_pairing_dist3_get_info() [all …]
|
| /kernel/linux/linux-5.10/drivers/edac/ |
| D | ppc4xx_edac.c | 1 // SPDX-License-Identifier: GPL-2.0-only 24 * associated with the IMB DDR2 ECC controller found in the AMCC/IBM 29 * - Support for registered- and non-registered DDR1 and DDR2 memory. 30 * - 32-bit or 16-bit memory interface with optional ECC. 32 * o ECC support includes: 34 * - 4-bit SEC/DED 35 * - Aligned-nibble error detect 36 * - Bypass mode 38 * - Two (2) memory banks/ranks. 39 * - Up to 1 GiB per bank/rank in 32-bit mode and up to 512 MiB per [all …]
|
| /kernel/linux/linux-6.6/drivers/edac/ |
| D | ppc4xx_edac.c | 1 // SPDX-License-Identifier: GPL-2.0-only 25 * associated with the IMB DDR2 ECC controller found in the AMCC/IBM 30 * - Support for registered- and non-registered DDR1 and DDR2 memory. 31 * - 32-bit or 16-bit memory interface with optional ECC. 33 * o ECC support includes: 35 * - 4-bit SEC/DED 36 * - Aligned-nibble error detect 37 * - Bypass mode 39 * - Two (2) memory banks/ranks. 40 * - Up to 1 GiB per bank/rank in 32-bit mode and up to 512 MiB per [all …]
|
| /kernel/linux/linux-6.6/drivers/mtd/nand/raw/ingenic/ |
| D | ingenic_nand_drv.c | 1 // SPDX-License-Identifier: GPL-2.0 23 #include <linux/jz4780-nemc.h> 27 #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() 90 struct nand_ecc_ctrl *ecc = &chip->ecc; in qi_lb60_ooblayout_free() local [all …]
|
| /kernel/linux/linux-5.10/drivers/mtd/nand/raw/ingenic/ |
| D | ingenic_nand_drv.c | 1 // SPDX-License-Identifier: GPL-2.0 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() 90 struct nand_ecc_ctrl *ecc = &chip->ecc; in qi_lb60_ooblayout_free() local [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 18 * - pipelined: The ECC engine is inside the NAND pipeline, ie. on the 20 * controllers. In the pipeline case, the ECC bytes are 23 * - ondie: The ECC engine is inside the NAND pipeline, on the chip's side. [all …]
|