u-boot-brain/drivers/mtd/nand
Miquel Raynal 6ddbb1e936
spl: nand: sunxi: use PIO instead of DMA
SPL support was first written to support only the earlier generations of
Allwinner SoCs, and was only really enabled on the A13 / GR8. However,
those old SoCs had a DMA engine that has been replaced since the A31 by
another DMA controller that is no longer compatible.

Since the code directly uses that DMA controller, it cannot operate
properly on the later SoCs, while the NAND controller has not changed.

There's two paths forward, the first one would have been to add support
for that DMA controller too, the second to just remove the DMA usage
entirely and rely on PIO.

The later has been chosen because CPU overload at this stage is not an
issue and it makes the driver more generic, and easier to understand.

Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Acked-by: Boris Brezillon <boris.brezillon@bootlin.com>
Signed-off-by: Maxime Ripard <maxime.ripard@bootlin.com>
2018-04-03 12:11:43 +02:00
..
am335x_spl_bch.c mtd: nand: Consolidate nand spl loaders implementation 2017-05-08 11:57:26 -04:00
arasan_nfc.c nand: arasan_nfc: Use the calculated ecc address for updating ecc register 2018-01-30 14:29:07 +01: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: replace MTDDEBUG() with pr_debug() 2017-10-23 14:07:26 -04:00
davinci_nand.c mtd: nand: Drop the ->errstat() hook 2017-11-29 00:28:58 +09:00
denali_dt.c mtd: nand: denali_dt: replace printf() with pr_err() 2017-12-04 22:00:02 +09:00
denali_spl.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
denali.c mtd: nand: denali: consolidate include directives 2017-12-04 22:00:03 +09:00
denali.h mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
fsl_elbc_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09: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: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
fsl_ifc_spl.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
fsl_upm.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
fsmc_nand.c mtd: nand: drv: use get_nand_dev_by_index() 2017-07-11 22:41:49 -04: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 Convert CONFIG_APBH_DMA et al to Kconfig 2018-02-08 12:48:11 -05: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 treewide: replace with error() with pr_err() 2017-10-04 11:59:44 -04:00
lpc32xx_nand_slc.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
Makefile mtd: nand: denali_dt: add a DT driver 2017-08-30 09:03:11 +09:00
mxc_nand_spl.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
mxc_nand.c mtd: replace MTDDEBUG() with pr_debug() 2017-10-23 14:07:26 -04: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: mxs_nand_spl: Remove nand size print 2018-01-08 17:37:12 +01:00
mxs_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
nand_base.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
nand_bbt.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
nand_bch.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
nand_ecc.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
nand_ids.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09: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_loaders.c mtd: nand: Consolidate nand spl loaders implementation 2017-05-08 11:57:26 -04:00
nand_spl_simple.c mtd: nand: Consolidate nand spl loaders implementation 2017-05-08 11:57:26 -04:00
nand_timings.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
nand_util.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
nand.c mtd: nand: make nand_info array static 2017-07-11 22:41:54 -04:00
ndfc.c mtd: nand: Sync with Linux v4.6 2016-06-03 20:27:48 -05:00
omap_elm.c treewide: replace #include <asm/errno.h> with <linux/errno.h> 2016-09-23 17:55:42 -04:00
omap_gpmc.c cmd: nand: abstract global variable usage for dm conversion 2017-07-11 22:41:44 -04:00
pxa3xx_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
pxa3xx_nand.h mtd: nand: Add mvebu (PXA / AXP / A38x) NAND device driver 2015-08-25 22:53:58 -05:00
sunxi_nand_spl.c spl: nand: sunxi: use PIO instead of DMA 2018-04-03 12:11:43 +02:00
sunxi_nand.c mtd: nand: sunxi: fix ECC strength choice 2018-04-03 12:10:46 +02:00
tegra_nand.c dm: gpio: Add live tree support 2017-06-01 07:03:10 -06: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: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00
zynq_nand.c mtd: nand: Rename nand.h into rawnand.h 2017-12-04 22:00:00 +09:00