u-boot/drivers/mtd/nand/raw
Álvaro Fernández Rojas d346971559 mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC
Hamming ECC doesn't cover the OOB data, so reading or writing OOB shall
always be done without ECC enabled.
This is a problem when adding JFFS2 cleanmarkers to erased blocks. If JFFS2
clenmarkers are added to the OOB with ECC enabled, OOB bytes will be changed
from ff ff ff to 00 00 00, reporting incorrect ECC errors.

Fixes: 27c5b17cd1b1 ("mtd: nand: add NAND driver "library" for Broadcom STB NAND controller")
Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
Acked-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20210224080210.23686-1-noltari@gmail.com
[Ported to U-Boot from the Linux kernel]
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Acked-by: William Zhang <william.zhang@broadcom.com>
Signed-off-by: Dario Binacchi <dario.binacchi@amarulasolutions.com>
2023-02-27 16:30:05 +01:00
..
atmel nand: atmel: Add pmecc driver 2022-12-08 18:06:27 +02:00
brcmnand mtd: rawnand: brcmnand: fix OOB R/W with Hamming ECC 2023-02-27 16:30:05 +01:00
am335x_spl_bch.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
arasan_nfc.c dm: Rename DM_GET_DRIVER() to DM_DRIVER_GET() 2021-01-05 12:26:35 -07:00
atmel_nand.c atmel_nand: Remove undef during SPL_BUILD 2022-12-23 10:07:03 -05:00
atmel_nand_ecc.h mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
cortina_nand.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
cortina_nand.h mtd: rawnand: cortina_nand: Add Cortina CAxxxx SoC support 2021-01-18 15:14:34 -05:00
davinci_nand.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
denali.c mtd: nand: raw: convert nand_dt_init() to ofnode_xx() interface 2021-09-28 06:34:45 +02:00
denali.h mtd: nand: raw: denali: Wait for reset completion status 2020-07-11 21:30:21 +09:00
denali_dt.c dm: Rename DM_GET_DRIVER() to DM_DRIVER_GET() 2021-01-05 12:26:35 -07:00
denali_spl.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
fsl_elbc_nand.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
fsl_elbc_spl.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
fsl_ifc_nand.c nxp: Finish migration of SYS_FSL_IFC_BANK_COUNT to Kconfig 2023-01-20 12:27:06 -05:00
fsl_ifc_spl.c nxp: Rename CONFIG_U_BOOT_HDR_SIZE to FSL_U_BOOT_HDR_SIZE 2022-12-22 10:31:49 -05:00
kb9202_nand.c nand.h: Cleanup linux/mtd/rawnand.h usage 2021-10-06 09:16:23 -04:00
Kconfig Pull request for u-boot-nand-20230108 2023-01-08 13:12:42 -05:00
kirkwood_nand.c nand.h: Cleanup linux/mtd/rawnand.h usage 2021-10-06 09:16:23 -04:00
kmeter1_nand.c global: Finish CONFIG -> CFG migration 2023-01-20 12:27:24 -05:00
lpc32xx_nand_mlc.c global: Migrate CONFIG_LPC32XX_NAND_MLC_WR_LOW to CFG 2022-12-23 10:14:50 -05:00
lpc32xx_nand_slc.c global: Migrate CONFIG_LPC32XX_NAND_SLC_WWIDTH to CFG 2022-12-23 10:14:51 -05:00
Makefile mtd: Drop unused nand_plat driver 2023-02-07 14:33:49 -05:00
mt7621_nand.c mtd: nand: Rename nand_get_flash_type() into nand_detect() 2022-08-22 11:15:15 +02:00
mt7621_nand.h nand: raw: add support for MediaTek MT7621 SoC 2022-07-13 23:03:37 +02:00
mt7621_nand_spl.c nand: raw: add support for MediaTek MT7621 SoC 2022-07-13 23:03:37 +02:00
mxc_nand.c global: Migrate CONFIG_MXC_NAND_REGS_BASE to CFG 2022-12-23 10:14:51 -05:00
mxc_nand.h arm: Remove unused mx27 code 2022-12-05 16:07:13 -05:00
mxc_nand_spl.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
mxic_nand.c mtd: rawnand: Add Macronix raw NAND controller driver 2021-10-12 16:48:38 -04:00
mxs_nand.c mtd: mxs_nand: Support EDO mode for imx8mn architecture 2022-10-09 10:42:26 +02:00
mxs_nand_dt.c mtd: mxs_nand: Support EDO mode for imx8mn architecture 2022-10-09 10:42:26 +02:00
mxs_nand_spl.c mtd: nand: mxs_nand_spl: don't read useless pages 2022-12-10 14:35:55 +01:00
nand.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
nand_amd.c mtd: nand: Move AMD/Spansion specific init/detection logic in nand_amd.c 2022-07-22 13:29:06 +02:00
nand_base.c mtd: rawnand: nand_base: Allow base driver to be used in SPL without nand_bbt 2023-01-08 10:38:30 +01:00
nand_bbt.c mtd: nand: Mark reserved blocks 2023-02-27 16:28:30 +01:00
nand_bch.c common: Drop log.h from common header 2020-05-18 21:19:18 -04:00
nand_ecc.c mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
nand_hynix.c mtd: nand: Move Hynix specific init/detection logic in nand_hynix.c 2022-07-22 13:29:06 +02:00
nand_ids.c mtd: nand: Rename the nand_manufacturers struct 2022-08-22 11:14:37 +02:00
nand_macronix.c mtd: nand: Move Macronix specific initialization in nand_macronix.c 2022-07-22 13:29:06 +02:00
nand_micron.c mtd: nand: Move Micron specific init logic in nand_micron.c 2022-07-22 13:29:06 +02:00
nand_samsung.c mtd: nand: samsung: Retrieve ECC requirements from extended 2022-08-22 11:15:24 +02:00
nand_spl_load.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
nand_spl_loaders.c mtd: rawnand: nand_spl_loaders: Fix cast type build warning 2022-12-10 14:35:54 +01:00
nand_spl_simple.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
nand_timings.c dm: core: Require users of devres to include the header 2020-02-05 19:33:46 -07:00
nand_toshiba.c mtd: nand: toshiba: Retrieve ECC requirements from extended ID 2022-07-22 13:29:06 +02:00
nand_util.c cyclic: Use schedule() instead of WATCHDOG_RESET() 2022-09-18 10:26:33 +02:00
octeontx_bch.c log: Remove some places where we redefine LOGLEVEL 2022-12-23 10:07:03 -05:00
octeontx_bch.h doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
octeontx_bch_regs.h mtd: nand: Add NAND controller driver for OcteonTX 2020-10-14 07:55:56 +02:00
octeontx_nand.c log: Remove some places where we redefine LOGLEVEL 2022-12-23 10:07:03 -05:00
omap_elm.c mtd: rawnand: omap_elm: u-boot driver model support 2023-01-08 10:38:50 +01:00
omap_elm.h mtd: rawnand: omap_elm: u-boot driver model support 2023-01-08 10:38:50 +01:00
omap_gpmc.c mtd: rawnand: omap_elm: u-boot driver model support 2023-01-08 10:38:50 +01:00
pxa3xx_nand.c mtd: nand: pxa3xx: simplify ECC hardware parameters 2022-10-06 10:15:34 +02:00
pxa3xx_nand.h mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
rockchip_nfc.c nand.h: Cleanup linux/mtd/rawnand.h usage 2021-10-06 09:16:23 -04:00
stm32_fmc2_nand.c mtd: rawnand: stm32_fmc2: add NAND Write Protect support 2022-03-15 09:10:52 +01:00
sunxi_nand.c mtd: nand: raw: convert nand_dt_init() to ofnode_xx() interface 2021-09-28 06:34:45 +02:00
sunxi_nand_spl.c sunxi-nand: fix the PIO instead of DMA implementation 2022-07-18 11:34:26 +01:00
tegra_nand.c doc: replace @return by Return: 2022-01-19 18:11:34 +01:00
tegra_nand.h mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
vf610_nfc.c global: Move remaining CONFIG_SYS_NAND_* to CFG_SYS_NAND_* 2022-12-05 16:05:38 -05:00
zynq_nand.c dm: core: Drop ofnode_is_available() 2022-09-29 16:11:31 -04:00