u-boot/drivers/mtd/nand
Boris Brezillon c4adf9db5d spl: nand: sunxi: remove support for so-called 'syndrome' mode
The sunxi SPL NAND controller driver supports use 'BootROM'-like configs,
that is, configs where the ECC bytes and real data are interleaved in the
page instead of putting ECC bytes in the OOB area.

Doing that has several drawbacks:
- since you're interleaving data and ECC bytes you can't use the whole page
  otherwise you might override the bad block marker with non-FF bytes.
- to solve the bad block marker problem, the ROM code supports partially
  using the page, but this introduces a huge penalty both in term of read
  speed and NAND memory usage. While this is fine for rather small
  binaries(like the SPL one which is at maximum 24KB large), it becomes
  non-negligible for the bootloader image (several hundred of KB).
- auto-detection of the page size is not reliable (this is in my opinion
  the biggest problem). If you get the page size wrong, you'll end up
  reading data at a different offset than what was specified by the caller
  and the reading may succeed (if valid data were written at this address).

For all those reasons I think it's wiser to completely remove support for
'syndrome' configs. If we ever need to support it again, then I'd recommend
specifying all the config parameters through Kconfig options.

Signed-off-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Acked-by: Hans de Goede <hdegoede@redhat.com>
2016-06-19 18:52:35 -05:00
..
am335x_spl_bch.c mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
arasan_nfc.c mtd: nand: Add page argument to write_page() etc. 2016-06-03 20:27:48 -05:00
atmel_nand_ecc.h atmel_nand_ecc: update pmecc registers according to sama5d2 chip 2016-02-02 11:49:10 +01:00
atmel_nand.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
bfin_nand.c Move console definitions into a new console.h file 2015-11-19 20:27:50 -07:00
davinci_nand.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
denali_spl.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
denali.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
denali.h mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
fsl_elbc_nand.c mtd: nand: Add page argument to write_page() etc. 2016-06-03 20:27:48 -05:00
fsl_elbc_spl.c Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
fsl_ifc_nand.c mtd: nand: Add page argument to write_page() etc. 2016-06-03 20:27:48 -05:00
fsl_ifc_spl.c Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
fsl_upm.c mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
fsmc_nand.c mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
kb9202_nand.c mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
Kconfig zynqmp: nand: Add Nand driver support for zynqmp 2016-02-12 17:27:28 -06:00
kirkwood_nand.c mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
kmeter1_nand.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
lpc32xx_nand_mlc.c mtd: nand: Add page argument to write_page() etc. 2016-06-03 20:27:48 -05:00
lpc32xx_nand_slc.c mtd: nand: Add page argument to write_page() etc. 2016-06-03 20:27:48 -05:00
Makefile mtd: nand: Remove docg4 driver and palmtreo680 flashing tool 2016-06-03 20:27:48 -05:00
mpc5121_nfc.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
mxc_nand_spl.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
mxc_nand.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
mxc_nand.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
mxs_nand_spl.c mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
mxs_nand.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
nand_base.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
nand_bbt.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
nand_bch.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
nand_ecc.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
nand_ids.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
nand_plat.c mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
nand_spl_load.c Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
nand_spl_simple.c mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
nand_timings.c nand: Sync with Linux v4.1 2015-08-25 22:53:57 -05:00
nand_util.c nand: fix nand torture to use changed mtd api 2016-06-03 20:29:05 -05:00
nand.c mtd: nand: Add+use mtd_to/from_nand and nand_get/set_controller_data 2016-06-03 20:27:48 -05:00
ndfc.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
omap_elm.c mtd: nand: omap: fix error-codes returned from omap-elm driver 2014-06-06 17:46:00 -04:00
omap_gpmc.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
pxa3xx_nand.c mtd: nand: Add page argument to write_page() etc. 2016-06-03 20:27:48 -05:00
pxa3xx_nand.h mtd: nand: Add mvebu (PXA / AXP / A38x) NAND device driver 2015-08-25 22:53:58 -05:00
s3c2410_nand.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
sunxi_nand_spl.c spl: nand: sunxi: remove support for so-called 'syndrome' mode 2016-06-19 18:52:35 -05:00
tegra_nand.c mtd: nand: Add page argument to write_page() etc. 2016-06-03 20:27:48 -05:00
tegra_nand.h Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
vf610_nfc.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00